您现在的位置: 范文先生网 >> 理工论文 >> 电子通信论文 >> 正文

用TL16C752B实现DSP和PC机的串行通信

时间:2007-1-20栏目:电子通信论文

软件流控制模式的使能可通过EFR和MCR这2个寄存器来实现。不同流模式的组合如表2所列(可通过设定EFR的低4位实现)。

表2 软件流控制模式

EFR[3] EFR[2] EFR[1] EFR[0]

TX RX软件流控制组合模式

0 0 X X 无发送流控制 1 0 X X 发送Xon1,Xoff1 0 1 X X 发送Xon2,Xoff2 1 1 X X 发送Xon1,Xoff1;Xon2,Xoff2 X X 0 0 无接收流控制 X X 1 0 接收器比较Xon1,Xoff1 X X 0 1 接收器比较Xon2,Xoff2 1 0 1 1 发送Xon1,Xoff1;接收器比较Xon1,Xoff1;Xon2,Xoff2 0 1 1 1 发送Xon2,X0ff2;接收器比较Xon1,Xoff1;Xon2,Xoff2 1 1 1 1 发送Xon1,Xoff1;Xon2,Xoff2;接收器比较Xon1,Xoff1;Xon2,Xoff2 0 0 1 1 无发送流控制;接收器比较Xon1,Xoff1;Xon2,Xoff2

具体工作流程(从接收的角度)为:接收时,若操作达到接收中断等级,则产生中断,但这时传输还在进行(这里假设中断有一定延时);而当RHR中的数据数目达到接收停止等级规定的数值时,接收端发送Xoff1/2,以通知发送端停止发送数据,这时接收端将读取RHR中的数据。当RHR中的数据数目降到接收启动等级规定的数值时,接收端发送Xon1/2,以通知发送端可以继续发送数据。

3 TL16C752B与PC的通信电路

TL16C752B与PC的串行通信部分的硬件连接电路如图3所示。图中,地址线A0~A2、数据线D0~D7分别和DSP的地址总线A0~A2、外部数据线D0~D7直接相连,而选通信号CSA/CSB、读写信号IOR/IOW、复位信号RESET以及中断信号INTA/B则接入CPLD并由CPLD处理。同时DSP端的PS、DS、IS、IOSTRB、R/ W、MSTRB也同时接入CPLD以用于生成控制信号。电路中使用CPLD一方面可以对UART的地址灵活配置,另一方面也可以灵活生成UART的复位、选通和读写信号,从而增强系统的灵活性,方便系统调试。

由于PC端串口采用RS232电平标准,因此UART之后需要连接MAX3221以完成电平转换。TL16C752B的数据发送引脚和数据接收引脚分别与MAX3221的数据输入引脚和数据输出引脚连接。这里只使用一套UART来完成TL16C752B和PC的通信。数据收、发采用中断方式,UART_INTA通过CPLD和TMS320VC5421的外部中断INT0相连接。而3.072MHz晶振则连接到XIN和XOUT两引脚。波特率设定为38400,故DLL/DLH分别为06和00h。

具体调试时,可先从查询方式开始,若没有问题,再使用中断方式。

图3

4 TL16C752B和PC通信的软件编程

该系统的软件设计部分主要包括PC机程序、DSP初始化、TL16C752B初始化和数据发送/接收以及双方的通信协议等。下面介绍TL16C752B的初始化程序。

TL16C752B初始化程序主要包括以下几部分:

(1)波特率的设定;

(2)增强功能的使能及设置EFR的相关位;

(3)完成有关收、发FIFO的设定,主要是MCR/TCR/TLR 3个寄存器的设置;

(4)软件流控制模式使能以及Xon/Xof

上一页  [1] [2] [3] [4] [5] 下一页

下页更精彩:1 2 3 4 下一页