首页

TMS320C32扩展异步串口的方法

2009-05-13 20:12:57 来源:作者:胡 安 肖 飞1 张波涛2 1.武汉海军工程大学电力电子研究所(430033);2.武汉科技大学计算机学院(430081) 关键字: DSP TMS320C32 异步串口 TLl6C550 EPM7128SLC184 CPLD

3 使用ACE实现UART 

        微机上最早使用的ACE是8250,16C550是8250的功能升级器件。器件在结构上的最大差别是16C550增加了接收和发送FIFO,因此器件能够处于交替工作模式,减轻CPU额外的软件负担。在这种模式下,无论是接收还是发送,在可访问的缓冲寄存器和不可访问的移位寄存器之间都增加了16字节的FIFO,可以使系统负担最小且系统效率最高,而且所有的逻辑功能都在16C550芯片上完成。TLl6C550A有两个管脚功能已经被改变,使用这两个信号可以答应信号使用DMA的方式来传输。 

        TLl6C550的主要功能为:TLl6C550在接收外部器件或MODEM的数据时?完成串行到并行的转换;在接收CPU的数据时,完成数据的并行到串行的变换,并进行串行发送。在ACE器件工作的任何状态下,CPU可以读和通报ACE器件的状态。通报的状态信息包括:传输操作正在进行过程中、操作状态、碰到了何种错误等,TLl6C550的内部包含一个可编程的波特率发生器,波特率为16x内部输入时钟频率.此内部输入时钟频率由输入的参考基准振荡器分频得到。TLl6C550具有完全的MODEM控制能力。包含一个处理器中断系统,根据用户的专用需要而设计,在处理通讯连接时,计算量是最小的。TLl6C550有两种封装形式:N PACKAGE 和FN PACKAGE。TL16C550的管脚按功能可以分为:外部时钟输入及波特率控制信号;数据和地址总线;片选及读写控制信号;MODEM控制信号;复位及中断控制信号。 

        假如C32要和PC机通讯,可使用TL16C550完成串行协议的转换。TLl6C550的输出接口要和一个电平转换芯片连接,用于和PC机的串行通讯接口互联。完整的接口示意图如图5所示。 

        其中的MAX232可以使用MAXIM公司的MAX3238来实现。 

        接口电路分为两大部分:DSP C32和串行通讯芯片TLl6C550之间的接口;串行通讯芯片TLl6C550和PC机之间的接口。 

        完整的电路原理图如图6所示。 

        接口逻辑可以使用集成的CPLD实现,本系统中使用的是ALTERA公司的EPM7128SLC184-10。它将芯片TLl6C550作为DSP C32的一个外设端口送行寻址。

        相应的接口逻辑使用AHDL语言描述,具体如下: 

        TL16C550A一共使用8个地址对内部寄存器进行访问和控制。相对DSP C32系统而言,假如使用了上面的译码逻辑电路,则占用的8个地址为:0X818000~0X818007。 

        TLl6C550A串行接口寄存器的寻址表如表1所示。

        DLABA2 A1 A0寄 存 器 名 属 性 地址值 00 0 0接收缓冲寄存器RBR 只读 0X818000 00 0 0发送缓冲寄存器TBR 只写 0X818000 00 0 1中断使能寄存器IER 读/写 0X818001 X0 1 0中断标志寄存器IIR 只写 0X818002 X0 1 0FIFO控制寄存器FCR 只写 0X818002 X0 1 1线路控制寄存器LCR 读/写 0X818003 X1 0 0MODEM控制寄存器MCR 读/写 0X818004 X1 0 1线路状态寄存器LSR 读/写 0X818005 X11 0MODEM状态寄存器MSR 读/写 0X818006 X1 1 1便签寄存器SCR 读/写 0X818007 10 0 0除数低字节锁存器DLL 读/写 0X818000 10 0 1除数低字节锁存器DLH 读/写 0X818001DLAB表示线路控制寄存器的第7位的逻辑值。 

        在程序中,使用逻辑地址0X818000~0X818007对TLl6C550A的各个寄存器进行寻址就可以了。 

        本文介绍的三种实现C32异步串行口的方法,前两种方法使用不是非常方便,而且占用了大量的C32系统资源,一般都使用第三种方法来实现C32和PC机之间的通信。 

        使用TL16C550实现DSP和PC机的通信,接口方便、控制简单、编程灵活,试验证实它是非常简便可靠的实现方法。

1 2
相关文章
»
  • 解密Maxim芯片在Galaxy Note N7000中的应用...

    这次拿到的Galaxy Note N7000是一个支持3G功能的版本,下面来看看这款全世界独一无二的智能手机里面的秘密…... [详细]