您当前的位置:五五电子网电子知识电工技术电力配电知识TMS32032与P机串行通信的软件实现方法 正文
TMS32032与P机串行通信的软件实现方法

TMS32032与P机串行通信的软件实现方法

点击数:7815 次   录入时间:03-04 11:57:28   整理:http://www.55dianzi.com   电力配电知识
根据TMS320C32以及PC机串行通信的特点,设计了两者进行串行通信的软件实现方法,设计方法原理简单,运行可靠
 关键词:TMS320C32,PC机,串行通信,码位倒置


1 引 言
  TMS320C32(以下简称C32)是一种高性能的数字信号处理器,它片内有1个串行口,可实现全双工串行通信,PC机也有串行通信接口,但两种串行口的通信协议有很大的不同:
  (1)C32是同步方式,PC机是异步方式。C32串行口的帧同步信号线与数据线分开使用,有独立的接收帧同步FSR和发送帧同步FSX,独立的接收数据线DR和发送数据线DX;PC机串行口则没有单独的帧同步,数据与同步在同一根信号线上,接收装置依靠检测起始位实现同步。
  (2)C32串行数据传送时字节的高位在前、低位在后,PC机则是低位在前、高位在后。
  (3)C32数据传送时,没有起始位,而PC机有起始位、可编程停止位和校验位。
  (4)C32支持8位、16位、32位的串行数据传送,而PC机支持5位、6位、7位、8位的数据传送。
  在某些应用场合,当C32需要与PC机进行串行通信时,这些接口协议的不同会带来一些麻烦。增加硬件电路,如TI公司的16C754芯片,可以直接实现协议转换。
  本人在实践中利用两者通信的特点,设计了一种软件实现TMS320C32与PC机串行通信的方法,下面详细介绍其实现原理。
2 串行通信约定
    串行通信约定为:
  通信方式:串行异步。接口方式:RS-232。波特率:38400bit/s。数据字符长度:8位。起始位:1位。停止位:2位。无校验位。
3 电路连接
    C32使用串行口0,PC机使用串行口A。串行通信的电路连接见图1。

  图1中,通信信号线的缩写及名称、定义如下:
  TxD为数据发送Transfer Data,RxD为数据接收Receive Data,RTS为请求发送Request to Send,DX0为数据发送,DR0为数据接收,FSR0为数据接收帧同步脉冲,GND为地。
  图中的Max232E是Maxim公司生产的倒相驱动器,用于实现电平转换。PC机串行口的TxD、RxD经电平转换后,分别连接至C32串行口0的DR0、DX0。这里需要将PC机串行口的RTS(请求发送)经电平转换,连接至C32的帧同步脉冲FSR0,RTS产生C32所需的接收帧同步脉冲信号。
4 通信原理
4.1 TMS320C32向PC机发送数据
  C32向PC机的数据传送在DX1-RxD通信线上进行。C32的操作步骤如下:
  (1)初始化;(2)取数据(见图2a);(3)将8位数据进行码位倒置(见图2b)。进行码位倒置,是因为C32串行数据传送时高位在前、低位在后,而PC机则是低位在前、高位在后;(4)左移4位、16位操作,见图2c;(5)添加起始位和停止位,见图2d。PC机串行口没有单独的帧同步,数据传送与同步在一根信号线上,接收装置靠检测起始位实现同步,因此,要加上起始位和停止位;(6)写数据到发送数据寄存器;(7)重复步骤(2)~(6),发送下一个字节的数据。
  PC机的数据接收程序或过程,与常规的串行异步通信一样,不需要作任何改动,接收到的数据就是C32发送的数据。
    图2显示了C32在数据传送过程中,数据字节的变化情况。


4.2 PC机向TMS320C32发送数据
    PC机在向C32发送数据时,需产生一个帧同步脉冲信号FSR,该信号由串行口的RTS送出(见图1)。在产生FSR信号时,要由软件产生两个时延,时延1和时延2。时延1(见图3a)保证FSR脉冲宽度与波特率相对应,当波特率为38 400bit/s时,时延长度约为26μs;时延2(见图3b)保证FSR下降沿与发送数据起始位之间的时间间隔等于一位,波特率为38 400bit/s时,该时延长度也为26μs。PC机发送数据的操作步骤如下:
  (1)初始化。(2)软件置RTS=‘1’,产生FSR信号的上升沿。(3)软件时延1。(4)软件清RTS=‘0’,产生FSR信号的下降沿。步骤(2)~(4)产生一个完整的FSR脉冲信号(见图3a)。(5)软件时延2(见图3b)。(6)写数据到发送数据寄存器。(7)重复步骤(2)~(6),发送下一个字节的数据。
  C32接收数据时,先读取接收数据寄存器,再进行移位、码位倒置处理。其操作步骤如下:
  (1)初始化。(2)读接收数据寄存器,16位操作(见图3c)。(3)右移6位,有效的8位数据为d13~d6(见图3d)。(4)码位倒置,低8位数据即为PC机发送的数据(见图3e)。(5)重复步骤(2)~(4),读取下一个字节数据。
  PC机向C32发送数据时,帧同步脉冲信号与发送数据的对应关系,以及数据的变化过程见图3。
5 结束语
  文章介绍的软件通信实现方法,只需要增加少量的软件工作量,不需增加硬件电路,设计原理非常简单,实际应用也证明了这种通信方式非常可靠,可供类似的串行通信借鉴。

参考文献

1 张载鸿.微型机接口控制教程.北京:清华大学出版社,1992

本文关键字:通信  软件  电力配电知识电工技术 - 电力配电知识