首页 » 技术文章 » TMS320VC5402与PC机进行串行通信的两种方案

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

作者:  时间:2011-07-21 19:22  来源:EDN

  1 引言

  通用数字信号处理器(DSP)以其很强的数据处理能力在高速数字信号处理方面得到了广泛的应用。TMS320VC5402(以下简称C5402)是为实现低功耗、高性能而专门设计的定点DSP芯片,其主要应用领域是无线通信系统。在实际应用的过程中,我们发现C5402的通信接口控制能力很弱。当C5402独立作为一个系统的处理单元时,与外设进行数据交换是必不可少的,其通信能力弱的特点就会影响应用的效果。

  对TITMS320系列的DSP来说,设计串口的方法一般有两种:(1)利用通用IO口线XFBIO来构成串口,由软件设计波特率,在CPU不繁忙的情况下往往采用这种方法;(2)利用UART(通用异步收发器)来进行串行通信CPU只需通过UART提供的接口来编程,就可以实现串行通信。接下来将具体介绍这两种方案。

  2 基于C5402的软RS232接口

  21 硬件电路

  RS232为低速率应用提供通信接口。利用C5402XFBIOINT0和定时器可以实现一个最简RS232接口,从而达到C5402PC进行串行通信的目的。原理如图1所示。

  22 软件设计

  这种设计支持从110115200各种波特率。C5402通过XF管脚向RS232接口发送串行数据,通过  BIO管脚接收来自RS232接口的串行数据。BIOINT0相连,可以避免频繁检测接收管脚的电平,当接收端出现第一个低电平,即认为是接收字节的开始位,每次判决电平位置在每个比特的中间位置,可最大限度地防止误判的发生。

  RS232接口的主要逻辑都是用C5402汇编语言编写的,减少了硬件成本和系统体积,发送是先将8位原始数据加上1位起始位和2位停止位,然后根据波特率设定时钟间隔,每次时钟中断发生是,发送1位数据,直到包含这8位原始数据的11位数据全部发送完成。

  接收时由低电平触发INT0中断,表示有新数据到来,进入INT0中断服务子程序。为防止误判,中断子程序首先检查接收到的第一位是否为开始位,如果不是,说明并未有新数据到来。如果确是开始位,则屏蔽INT0中断,根据波特率设置定时器,开始数据接收。每次接收时钟中断发生,检测BIO值并将检测值依次移入接收寄存器。最后去掉开始位和停止位,将8位数据存入接收缓存,完成1个字节的接收。

  3 利用TL16C550实现C5402PC机的高速串行通信

  31 异步通信芯片TL16C550

  311 TL16C550管脚介绍

  TL16C550CTI公司的异步通信芯片,它具有以下主要特点:

  •   管脚与TL16C750兼容;
  •   最高可达1M的波特率,且波特率发生器可编程设定;
  •   由软件设定的FIFO以减少CPU中断;
  •   有可编程的串行数据发送格式:数据位长度为5678
  •   具有奇、偶校验或无校验模式;停止位长度为1152
  •   采用44引脚PLCC封装。

  TL16C550的引脚如图2所示。

  TL16C550各主要引脚的功能说明见表1

  312 TL16C550片内寄存器介绍

  TL16C550内部共有11个寄存器,这些寄存器分别用于实现通信参数的设置、对线路及MODEN的状态访问、数据的发送和接收及中断管理等功能。表2描述了访问这些寄存器时锁存器访问位DLABA0A1A2的状态。

相关推荐

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

串行通信  PC机  2011-07-21

基于MPC860与STl6C654的串行通信设计

MPC860  STl6C654  串行通信  2010-10-08

基于VB的霍尔传感器性能测试系统设计

霍尔  传感器  串行通信  VB  2010-06-02

基于Small RTOS51的多任务串行通信研究

基于PC机的视频点播机顶盒的设计

PC机  视频点播  机顶盒  2009-06-10

基于未知上位机串行通信波特率检测

在线研讨会
焦点