浅析TMS320VC5402与PC机进行串行通信的两种方案

发布时间:2011-12-22 阅读量:1302 来源: 我爱方案网 作者:

中心议题:
    *  TMS320VC5402与PC机进行串行通信的两种方案
    *  两种方案的比较
解决方案:
    *  利用通用I/O口线XF和BIO来构成串口
    *  利用UART来进行串行通信

1 引言
  
通用数字信号处理器(DSP)以其很强的数据处理能力在高速数字信号处理方面得到了广泛的应用。TMS320VC5402(以下简称C5402)是为实现低功耗、高性能而专门设计的定点DSP芯片,其主要应用领域是无线通信系统。在实际应用的过程中,我们发现C5402的通信接口控制能力很弱。当C5402独立作为一个系统的处理单元时,与外设进行数据交换是必不可少的,其通信能力弱的特点就会影响应用的效果。
  
对TI的TMS320系列的DSP来说,设计串口的方法一般有两种:(1)利用通用I/O口线XF和BIO来构成串口,由软件设计波特率,在CPU不繁忙的情况下往往采用这种方法;(2)利用UART(通用异步收发器)来进行串行通信,CPU只需通过UART提供的接口来编程,就可以实现串行通信。接下来将具体介绍这两种方案。
  
2 基于C5402的软RS232接口
  
2.1 硬件电路
  
RS232为低速率应用提供通信接口。利用C5402的XF、BIO,INT0和定时器可以实现一个最简RS232接口,从而达到C5402与PC机进行串行通信的目的。原理如图1所示。

  
2.2 软件设计
  
这种设计支持从110到115200各种波特率。C5402通过XF管脚向RS232接口发送串行数据,通过BIO管脚接收来自RS232接口的串行数据。BIO和INT0相连,可以避免频繁检测接收管脚的电平,当接收端出现第一个低电平,即认为是接收字节的开始位,每次判决电平位置在每个比特的中间位置,可最大限度地防止误判的发生。
  
RS232接口的主要逻辑都是用C5402汇编语言编写的,减少了硬件成本和系统体积,发送是先将8位原始数据加上1位起始位和2位停止位,然后根据波特率设定时钟间隔,每次时钟中断发生是,发送1位数据,直到包含这8位原始数据的11位数据全部发送完成。
  
接收时由低电平触发INT0中断,表示有新数据到来,进入INT0中断服务子程序。为防止误判,中断子程序首先检查接收到的第一位是否为开始位,如果不是,说明并未有新数据到来。如果确是开始位,则屏蔽INT0中断,根据波特率设置定时器,开始数据接收。每次接收时钟中断发生,检测BIO值并将检测值依次移入接收寄存器。最后去掉开始位和停止位,将8位数据存入接收缓存,完成1个字节的接收。
  
3 利用TL16C550实现C5402与PC机的高速串行通信
  
3.1 异步通信芯片TL16C550
  
3.1.1 TL16C550管脚介绍
  
TL16C550C是TI公司的异步通信芯片,它具有以下主要特点:
 

 

  
管脚与TL16C750兼容;
 
最高可达1M的波特率,且波特率发生器可编程设定;
  
由软件设定的FIFO以减少CPU中断;
  
有可编程的串行数据发送格式:数据位长度为5、6、7、8;
  
具有奇、偶校验或无校验模式;停止位长度为1、1.5、2;
  
采用44引脚PLCC封装。
  
TL16C550的引脚如图2所示。
  
TL16C550各主要引脚的功能说明见表1。

  
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来扩展串口增加了硬件,但降低了软件复杂度,并且免去了对时钟中断的依赖,还可引进另外的外部中断,两个通用引脚也可留出,更适合在较复杂的独立系统中使用。在应用时,可根据实际情况进行选择。

相关资讯
低成本玩转Bode分析!共模扼流圈让普通示波器秒变网络分析仪神器

在电子工程领域,频率响应分析(Bode分析)一直是电路设计和调试的重要工具。然而,专业网络分析仪的高昂价格让许多人望而却步,一个令人惊喜的解决方案——共模扼流圈与示波器的黄金组合,可以极低成本实现专业级Bode分析。通过巧妙利用共模扼流圈的独特特性,配合普通示波器的基本功能,即使是预算有限的爱好者也能获得准确的频率响应曲线。

高速USB接口PCB设计指南:从2.0到3.0的关键技术突破

在现代电子设备中,USB接口已成为数据传输和电力供应的标准配置。一个优秀的USB接口PCB设计不仅能确保信号完整性,还能最大限度地发挥接口的理论传输速度

国产半导体重大突破!攻克28nm以下e-Flash技术填补国内空白

8月21日,中国半导体行业迎来里程碑式进展——领开半导体成功研发并量产28nm以下嵌入式闪存(e-Flash)技术,一举打破国外厂商在该领域的长期垄断。这一突破不仅填补了国内高端存储芯片的技术空白,更为国产MCU、汽车电子及AIoT设备的自主可控提供了关键支撑。

特朗普政府芯片入股计划引争议,全球半导体格局或生变!

近日,有外媒报道称,美国特朗普政府正考虑以“国家安全”为由,强行入股包括英特尔在内的三大芯片巨头,以加强对半导体产业的控制。这一消息迅速引发行业震动,外界担忧此举可能重塑全球芯片产业格局,并对供应链产生深远影响。

第106届中国电子展:构建产业新生态,打造全球创新枢纽

​在全球科技竞争格局深刻重构的背景下,中国电子产业正迎来国产替代与自主创新的历史性机遇。第106届中国电子展紧扣《"十四五"规划》制造强国战略,聚焦基础电子元器件、集成电路等"卡脖子"领域,集中展示从材料、设备到应用的国产化突破成果。