摘要:由于TMS320C6416不带异步串行收发接口(UART),无法实现DSP系统常用的通串行通信。为此,本文基于TL16C550C设计了一种通过TMS32C6416实现UART数据通信的方法,同时给出了其硬件设计框图以及通过TMS320C6416初始化TLl6C550C的软件编程方式。
关键词:DSP;异步串行通信;CPLD
0 引言
高速数字信号处理器(DSP)在图像处理中,特别是视频处理中的应用非常广泛。通常DSP都具有很强的运算能力,但是其外设的接口相对有限。在应用系统中,往往需要DSP与下位机通信或者接受上位机的控制信号时,一般都是采用异步串行通信协议,如RS232或RS422来实现。由于TMS320C6416器件自身只带有同步的串口,因此,为了实现正常的通信,一般都需要为其扩展异步串口。
l TLl6C550C芯片介绍
TLl6C550C是TI公司研发的异步通信器件,其主要性能特点如下:
◇供电电压为5 V或3.3 V;
◇时钟频率达到16 MHz。通信时波特率最高可达1 M,并可编程设定波特率发生器;
◇具有标准的异步通信位,可选择5、6、7或8位串行数据位,可设置奇偶校验或无校验模式,停止位长度为1、1.5、2;
◇可独立控制发送、接收、线状态以及中断设置,可软件设定FIFO,减少CPU中断。
TLl6C550C器件内部共有10个寄存器,可分别用于实现通信参数的设置、对线路及MODEM状态的访问、数据的发送和接收以及中断管理等功能。TLl6C550C的地址可分别通过A0-A2地址线和某些寄存器的特定位置来确定,由于有些寄存器的地址是重叠的,所以还需同时通过读/写信号加以区分。
TLl6C550C片内寄存器及其映射地址如表1所列,其中高位和低位寄存器为二次寻址寄存器,因此,在访问这两个寄存器之前,必须将LCR的第7位置为l。
2 TLl6C550C与PC的数据通信电路
2.1 TLl6C550C的选通
TLl6C550C与PC的串行通信部分的硬件连接电路如图l所示。由ISO3088实现电平转换,即通过ISO3088将输出电平配置为RS485信号。
TLl6C550C采用3.3 V供电.将TLl6C550C的数据线DO~D7与TM320C6416T直连,从而实现数据的传输。同时应将TL16C550C的片内寄存器选择线与TM320C6416T的BEAl,BEA2,BEA3引脚相连,当TLl6C550C的片选信号CSO,CSl为高电平,为低电平时,TLl6C550B即被选中。CS0,CSl直接与高电平相连。则与CPLD的I/0相连,如此便实现了以CPLD来实现TLl6C550C的选通。