打印
[DSP]

基于TL16C552的DSP串并行通信扩展技术研究

[复制链接]
641|1
手机看帖
扫描二维码
随时随地手机跟帖
跳转到指定楼层
楼主
Clovee|  楼主 | 2019-5-15 10:43 | 只看该作者 回帖奖励 |倒序浏览 |阅读模式
本帖最后由 Clovee 于 2019-5-15 10:44 编辑

基于TL16C552的DSP串并行通信扩展技术研究



摘  要:TL16C552是TI公司生产的异步通信芯片,该芯片可在通信系统的实时性要求较高时,用来实现系统的高速串行通信和打印口扩展,从而增强系统的通信接口控制能力。文中介绍了TL16C552的性能及与通信有关的寄存器,给出了TL16C552在DSP器件TMS320VC33与PC机通信系统中的硬件应用电路及通过TMS320VC33初始化TL16C552的软件编程。
关键词:DSP;通信接口;异步通信;TL16C552;TMS320VC33



1 引言
  数字信号处理器(DSP)是数字信号处理理论与超大规模集成电路(VLSI)技术融合的结晶。目前DSP技术正广泛地应用于通信、语音、图像、航天航空、仪器仪表等领域,在推动当代信息处理数字化方面正发挥着越来越大的作用。TI公司的最新一代浮点型DSP芯片TMS320VC33是性价比较高的浮点DSP芯片之一,但是它的通信接口控制能力比较弱。由于TMS320VC33只有一个同步串口,因此,当TMS320VC33独立构成一个处理单元来与外设交换数据时,其较弱的通信能力就会影响DSP的应用。在笔者所从事的DSP系统开发设计中,需要DSP芯片处理大量的数据,并将处理的结果通过串口传送到PC机显示或作进一步处理。由于系统的实时性要求较高,因此,如何实现TMS320VC33与PC机之间的高速可靠通信就显得十分重要。




2 异步通信芯片TL16C552介绍
    对于TI(德州仪器)的TMS320系列数字信号处理器来说,设计串口的方法一般是利用通用的I/O口线来构成串口,并由软件来设定波特率。这在DSP不繁忙的情况下比较有用;但是当通信的实时性要求较高时,就应该通过扩展异步通信芯片来实现高速串行通信。对于设计并口来说,因为DSP输入/输出资源有限,因此,只能利用扩展异步通信芯片或者总线接口来扩展打印口。TI公司的异步通信芯片TL16C552正是可以同时实现扩展串行口和并行口通信的理想芯片,它的主要特点如下:
    ●内含两个TL16C550异步通讯单元;
    ●带有增强的双向打印口;
  ●16字节FIFOs(先进先出存储器)可减少CPU中断;
  ●每个通道可独立控制发送、接收、线态和数据装置中断;
    ●每个通道有独立的Modem控制信号;
  ●具有可编程的串行数据发送格式,其数据位长度为5、6、7、8;
  ●具有偶校验、奇校验或无校验模式,停止位长度为1、1.5、2;
  ●每个通道的数据和控制总线均可采用3态TTL驱动;
    ●硬件和软件与TL16C452兼容;
    ●带有两个串行口和一个并行口;
    ●波特率发生器可编程;
  ●采用68引脚PLCC(Plastic Leaded Chip Carri-er)封装。



2.1 TL16C552的引脚功能
  TL16C552的引脚排列如图1所示,各主要引脚的功能说明如下:
    A0~A2:片内寄存器的选择信号;
  DB0~DB7:双向8位数据线;
   

输入片选信号,可分别用于使串行口1,串行口2和并行打印口;
    CLK:外部时钟输入端;
    接收准备好信号,当TL16C552已经从串行输入端接收了一个字符时,该信号失效,在中断方式时可作为中断请求信号;
    发送准备好信号,当TL16C552允许发送且发送缓冲区为空时,该信号有效,在中断方式时可作为中断请求信号;
  INT0、INT1、INT2:分别为两个串行口和并行口中断输出;
    SIN0、SIN1:串行数据输入引脚;  
    SOUT0、SOUT1:串行数据输出引脚;

2.2 TL16C552的片内寄存器
  TL16C552内部共有12个寄存器,可分别用于实现通信参数的设置、对线路及MODEM的状态访问、数据的发送和接收以及中断管理等功能。编程人员可由A0、A1、A2三条片内寄存器选择线和线路控制寄存器的除法锁存器访问位DLAB一起,通过多路复用进行访问或控制TL16C552的任何一个寄存器。表1给出了访问这些寄存器时DLAB和A0、A1、A2的具体操作方法。表中的“X”表示无关。




3 与PC机串并行通信的硬件电路
    TMS320VC33与PC机通信的硬件电路如图2所示。
  由于DSP输入输出接口资源有限,因而在设计中采用PLD来扩展DSP的输入/输出接口,本文的PLD采用Altera公司的ACEX1K30芯片。另外,图中将PLD的配置方式及DSP的仿真调试接口和电源、外部存储器等外围器件一并省去,有兴趣的读者可以自己查询有关资料。图2中,串并行通道的片选线

由PLD直接控制,可根据需要选择串行通信方式还是并行通信方式。当CLK端外接1.8432MHz晶振时,TMS320VC33以9600的波特率与PC机通信。TL16C552的数据线DB0~DB7与PLD的I/O线相连;TL16C552的片内寄存器选择线接TMS320VC33的A0~A2,并由DSP直接控制。




    为了避免与其它I/O端口发生冲突,可将TL16C552的IOR和IOW连到PLD的两个I/O端口,并由PLD来控制TL16C552的读写。在硬件电路设计中,由于RS-232电平与CMOS电平不同,因此RS232驱动器与CMOS电平连接时必须经过电平转换。本系统采用MAX232完成这一功能,另外,用MAX1490来实现与RS-485的连接,同时完成电平转换和电隔离,通过MAX232或MAX1490可根据需要与232或485串行总线进行通信,TL16C552的并口可直接连接到PC机的并口上,而无须电平转换。
    MAX232只需5个1μF小型外接电容即可在维持RS-232输出电平的情况下确保120kb/s的数据率。MAX1490的全双工通信特点可使其回转率不受限制,同时使电磁干扰和因不合格电缆产生的偏移减到最小,从而使数据传输率达到2.5 Mbps,上述两种方式都十分适合高速串行数据通信场合。MAX232和MAX1490与RS-232和RS-485的连接应采用双绞线,以便在高传输距离情况下屏蔽掉外界的电磁干扰,提高通信质量。串行输入线(SIN0)和串行输出线(SOUT0)分别接MAX1490的RO和DI,并在电平转换后由MAX1490连接到PC机的串口。SIN1和SOUT1分别接MAX232的R1OUT和T1IN,以便在电平转换后由MAX232连接到PC机的串口。
  TL16C552虽然可以采用查询方式工作,但这样会降低系统性能。本系统利用INT0、INT1和INT2使系统工作在中断方式,从而保证了TMS320VC33和PC机的高速通信。



4 软件设计
  该系统的软件设计包括PC机、TMS320VC33、PLD及TL16C552的初始化和通信协议等。下面将结合本系统的硬件给出TMS320VC33初始化TL16C552的程序。初始化的主要任务是设置操作所需要的参数,这些参数包括串行通信时数据串的数据位数、停止位数、奇偶校验等。另外,还需要设置发送和接收的波特率及中断方式。
  在本系统中,TL16C552的两个串行口波特率设置为9600,其频率为1.8432MHz,通信格式为8位数据位,1位停止位,无奇偶校验。系统工作在中断方式,并允许接收就绪中断和发送缓冲区空中断,TL16C552初始化的具体程序如下:






5结束语


  通过TL16C552扩展串并口完成TMS320VC33与PC机的通信时,其硬件接口较简单,数据传送距离远、使用经济。该电路及其软件与微机的通信实践证明,波特率为9600时可实现与PC机的可靠通信。



使用特权

评论回复

相关帖子

沙发
Clovee|  楼主 | 2019-5-15 10:45 | 只看该作者
基于TL16C552的DSP串并行通信扩展技术研究

文档1.pdf

218.05 KB

使用特权

评论回复
发新帖 我要提问
您需要登录后才可以回帖 登录 | 注册

本版积分规则

708

主题

1032

帖子

2

粉丝