TMS320VC5402与PC机进行串行通信的两种方案
3.1.2 TL16C550片内寄存器介绍
TL16C550内部共有11个寄存器,这些寄存器分别用于实现通信参数的设置、对线路及MODEN的状态访问、数据的发送和接收及中断管理等功能。表2描述了访问这些寄存器时锁存器访问位DLAB和A0、A1、A2的状态。

3.2 C5402与PC机串行通信的硬件电路
C5402与PC机串行通信的硬件电路如图3所示。
图3中,TL16C550的CS0和CS1都接高电平,CS2接C5402的外部I/O空间,选择线IS。
当XIN、XOUT端外接1.8342MHz晶振时,C5402以28400的波特率与PC机通信,所以,波特率因子寄存器的低位设为02H,高位设为00H。
TLC16C550的数据线D0-D7直接与C5402的D0-D7数据线相连,TL16C550的片内寄存器选择线接C5402的A0-A2。
由于RS-232-C电路电平与CMOS电平不同,因此,RS232驱动器与CMOS电平连接时必须经过电平转换。这里,我们采用MAX232完成这一功能,MAX232具有一个专有的低压降发送器输出级,在其以双电荷棒3.0V~5.5V供电时,可以获得真正的RS-232性能。该器件只需4个1μF小型外接电容,可在维持RS-232输出电平的情况下确保运行于120kb/s数据率,因此十分适合高速串行通信场合。
利用RXRDY和TXRDY引入外部中断,从而系统工作在中断方式,RXRDY产生外部0中断(INT0),而TXRDY将产生外部1中断(INT1)。
3.3 软件设计
系统软件设计包括PC机、TMS320VC5402以

及TL16C550的初始化和通信协议等。初始化的主要任务是设置操作所需要的参数。这些参数包括串行通信时数据串的数据位数、停止位数、奇偶校验等。另外,还需要设置发送和接收的波特率及中断方式。
其中需要注意的是由于系统工作在中断方式,应允许接收就绪中断和发送缓冲区空中断,相应地,中断允许寄存器的值应该设置为03H。
4 结束语
利用通用I/O引脚扩展串口时硬件构成简单,
但软件编制较为复杂,而且由于DSP的中断优先级无法通过软件设置,在有其他外部中断的情况下较难适用。相比之下,运用UART来扩展串口增加了硬件,但降低了软件复杂度,并且免去了对时钟中断的依赖,还可引进另外的外部中断,两个通用引脚也可留出,更适合在较复杂的独立系统中使用。在应用时,可根据实际情况进行选择。
评论