TMS320VC5402和PC机的UART研究与设计

2006-07-21 15:27:32来源: PLC&FA

   1 引言

  TMS320VC5402以其低成本、低功耗、资源多的特点在通信、控制领域得到了广泛的应用。片上集成了最大192kB存储空间(64kB RAM、64kB ROM、64kB I/O),具有时分多路串口TMD,2个缓冲串口BSP、8位并行主机接口HPI、可编程等待状态发生器等,完全可以满足数据处理及控制要求。基于 5402构建的应用系统中必不可少的是各种数据通信接口的设计。与并口相比,串行接口的特点是减少器件引脚数目,节省了硬件系统的体积,降低了接口设计的复杂性。实际应用中,各系统之间需要实现异步串行数据传输和通信,而DSP5402具有同步串口,与标准的异步串行接口不同,本文针对这种应用,设计实现了DSP5402和PC机的异步串行通信。

  2 串行通信和DSP5402串口

  在工业控制和实际应用中,串行通信的应用已非常普遍,图1示出常见的三种232通信方式,在此笔者选用短距离有线传输方式。目前,大多数PC机的串口采用 RS-232标准,该标准规定采用一个25脚的DB25连接器,实际上RS-232的25条引线有许多是很少用的,所以目前较为常用的串口有9针和25 针,在普通电路设计中最为简单且常用的是三线制接法,即在通信中不需要RS-232的控制联络信号,采用发送数据(TXD)、接收数据(RXD)、地 (GND)三脚相连,便可实现全双工异步串行通信,本文即采用此法实现PC与DSP的串行通信。

 

         图1  三种RS-232通信方式

  由于RS-232中没有时钟信号,所以按照设定的固定波特率传送。在一信号中包括开始位、停止位和数据位,校验位可以选择。其中数据位为5-8bits,奇偶校验位共有5种方式可选:奇校验、偶校验、始终为1、始终为0以及空;停止位也有三种选择:1位、11/2位以及2位。串口传数时低位优先,由开始位表示数据传输。

  DSP5402有2个多缓冲的同步串口,通过幀信号来控制数据流。每一个串口有6个信号:CLKR/X:接收、发送时钟信号,DR/DX:接收、发送串行数据信号,FSR/FSX:接收、发送幀同步信号;串行接口有5个寄存器:数据接收寄存器(DRR)、数据发送寄存器(DXR)、串行接口控制寄存器 (SPC)、数据接收移位寄存器(RSR)、数据发送移位寄存器(XSR),其中3个存储器映射寄存器(SPC、DXR和DRR)和2个程序不能直接访问的寄存器(RSR和XSR)来操作,RSR和XSR在执行双缓冲功能时很有用。发送数据写到DXR中,而接收数据从DRR中读取。其各寄存器配置及控制请参考文献[2]。

  3 DSP和PC机串口通信的软硬件实现

  3.1 DSP和PC机UART硬件连接


  由上所述,PC机的异步串口和DSP5402的同步串口在数据格式以及传送控制上有区别,但是通过必要的硬件控制和软件模拟就可实现DSP5402与标准串口间的通信。DSP5402和PC机的UART实现主要有二种硬件方法和二种软件模拟方法。硬件方法如下:基于MAX3100的同步转异步实现和利用 DSP5402 I/O模拟时序法。

  MAX3110E内部集成了全功能UART和内置电泵电容以及土15kV ESD保护的RS-232收发器。其中,UART部分采用兼容SPITM/QSPITM/MICROWIRETM的串行接口,因而可节省线路板空间和微控制器的I/0引脚。由于RS-232部分使用了特有的低压差输出级,从而使双接收/发送接口能够在高速通信、正常电源下提供真正的RS-232特性,而功耗仅600μA。通过MAX3110E可实现同步串行数据接口到异步串行通信口(RS-232)的转换,它可直接与PC机的串行口(COM)相连。 MAX3110E具有尺寸小,价格低,功耗少,通信速率高等特点,因此有着较好的应用前景。MAX3110E包括UART与RS-232两个独立的部分。其中,UART部分包括兼容于SPI的串行接口、可编程波特率发生器、发送缓冲器及发送移位寄存器、接收缓冲器及接收移位寄存器、8字节接收FIFO以及有四种可屏蔽中断源的中断产生器。而RS-232部分包括自带电容的电泵,以及可由SHDN对其进行硬件关断的。

  MAX3110E通过SPI接口与DSP5402进行16位数据的全双工通信。DSP5402通过BDX线向MAX3110发送的16位串行数据序列中包括传输格式控制字,如波特率设置、中断屏蔽、奇偶校验位等。DSP5402的McBSP串行接口工作于SPI模式时可直接与MAX3110进行连接。 DSP5402的BDX1与MAX3110的DIN连接作为发送数据线,BDR1与DOUT连接作为接收数据线,发送同步脉冲信号BFSX1作为片选信号,发送时钟信号BCLKX1作为MAX3110的串行时钟输入,硬件接口图如图2所示:

  

       图2 DSP5402和MAX3110硬件接口图


  同时必须根据时序设置DSP5402的McBSP寄存器,此种UART方式才得以实现,时序图如图3所示:

       图3 MAX3110和DSP5402配合时序


  利用DSP5402 I/O模拟时序法分析如下:用定时器中断来处理数据,用I/O口来配置作为输入输出,由于DSP5402单独I/O引脚较少,节省资源,这里使用DSP5402的标志位引脚XF和配合软件得到实现,硬件原理图如图4所示:

        图4 硬件原理图


  3.2 DSP和PC机UART软件实现

  对于基于MAX3100的同步转异步实现DSP5402编程如下:

stm SPCR11,SPSA1  ; 配置SPCR11
stm #1800h,MCBSP1
stm SPCR21,SPSA1 ; 配置SPCR21
stm #0000h,MCBSP1
stm PCR1, SPSA1 ; 配置PCR1
stm #0a0ch,MCBSP1
stm RCR11,SPSA1 ; 配置RCR11
stm #0040h,MCBSP1
… …    ; 配置RCR21
stm XCR11,SPSA1 ; 配置XCR11
stm #0040h,MCBSP1
… …  ; 配置XCR21
stm SRGR11,SPSA1 ; 配置SRGR11
stm #0027h,MCBSP1
… …   ; 配置SRGR21
rpt #20 ; 等待2个CLKSRG时钟周期
nop
stm SPCR21,SPSA1 ; 配置SPCR21
stm #0040h,MCBSP1
; 启动MCBSP1采样率发生器
rpt #20 ; 等待2个CLKG时钟周期
nop
stm SPCR11,SPSA1
stm #1801h,MCBSP1 ; 启动接收
stm SPCR21,SPSA1 ; 配置SPCR21
stm #0041h,MCBSP1 ; 启动MCBSP1发送端
stm SPCR21,SPSA1 ; 配置SPCR21
stm #00c1h,MCBSP1 ; 启动帧同步脉冲
rpt #80 ; 等待8个CLKG时钟周期
nop
ld? #0h,A
stm #0c042h,DXR11
; 配置MAX3110,2个停止位

  配置完成即可发送数据,接收程序只需依据模式配置相应的接收寄存器。图5示出测试界面。

            图5  串口调试助手测试界面

  对于I/O模拟方式软件编程可以通过定时器中断来设置通信波特率,对于DSP5402定时需设置TIM0、PRD0、TCR0三个寄存器,

  定时时间=TX(1+TDDR)X(1+PRD)。

  同时还可以通过软件延时来设置通信波特率,方法如下:

DELAY: stm #1004h,AR6   ;通信速率:1200bps
 banz $,*AR6-
 nop
 ret

  其软件模拟程序如图6所示。

  二种软件模拟在PC机上均需运用串口调试助手测试,作者实现测试界面如图6,为了满足实际应用需要,可以运用VC编写自己的软件。

 

           图6  软件模拟程序

  4 结束语

  主要讨论了TMS320VC5402和PC之间实现UART的方法,利用同步串口实现简单、易行、稳定; 利用软件模拟不需专用硬件,灵活、方便、成本低,各自满足自己的需求,二种方法均已测试通过,此思想对研究DSP5402和串口有一定的参考价值。

关键字:寄存器  异步  接口

编辑: 引用地址:http://www.eeworld.com.cn/gykz/qrsxt/200607/4108.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。
论坛活动 E手掌握
微信扫一扫加关注
论坛活动 E手掌握
芯片资讯 锐利解读
微信扫一扫加关注
芯片资讯 锐利解读
推荐阅读
全部
寄存器
异步
接口

小广播

独家专题更多

富士通铁电随机存储器FRAM主题展馆
富士通铁电随机存储器FRAM主题展馆
馆内包含了 纵览FRAM、独立FRAM存储器专区、FRAM内置LSI专区三大部分内容。 
走,跟Molex一起去看《中国电子消费品趋势》!
走,跟Molex一起去看《中国电子消费品趋势》!
 
带你走进LED王国——Microchip LED应用专题
带你走进LED王国——Microchip LED应用专题
 
电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2016 EEWORLD.com.cn, Inc. All rights reserved