0 卖盘信息
BOM询价
您现在的位置: 首页 > 技术方案 >通信与网络 > 基于DB25+TMS320VC5402+DSP5402+MAX3110E的全双工异步串行通信的软硬件设计方案

基于DB25+TMS320VC5402+DSP5402+MAX3110E的全双工异步串行通信的软硬件设计方案

来源: elecfans
2020-04-29
类别:通信与网络
eye 157
文章创建人 拍明

原标题:基于DB25连接器实现和PC机的全双工异步串行通信的软硬件设计方案

  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的串行通信。

  

基于DB25连接器实现和PC机的全双工异步串行通信的软硬件设计

  图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中读取。

  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和串口有一定的参考价值。


责任编辑:David

【免责声明】

1、本文内容、数据、图表等来源于网络引用或其他公开资料,版权归属原作者、原发表出处。若版权所有方对本文的引用持有异议,请联系拍明芯城(marketing@iczoom.com),本方将及时处理。

2、本文的引用仅供读者交流学习使用,不涉及商业目的。

3、本文内容仅代表作者观点,拍明芯城不对内容的准确性、可靠性或完整性提供明示或暗示的保证。读者阅读本文后做出的决定或行为,是基于自主意愿和独立判断做出的,请读者明确相关结果。

4、如需转载本方拥有版权的文章,请联系拍明芯城(marketing@iczoom.com)注明“转载原因”。未经允许私自转载拍明芯城将保留追究其法律责任的权利。

拍明芯城拥有对此声明的最终解释权。

标签: DB25 DSP5402 MAX3110E

相关资讯

方案推荐
基于MC33771主控芯片的新能源锂电池管理系统解决方案

基于MC33771主控芯片的新能源锂电池管理系统解决方案

AMIC110 32位Sitara ARM MCU开发方案

AMIC110 32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于AMIC110多协议可编程工业通信处理器的32位Sitara ARM MCU开发方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于展讯SC9820超低成本LTE芯片平台的儿童智能手表解决方案

基于TI公司的AM437x双照相机参考设计

基于TI公司的AM437x双照相机参考设计

基于MTK6580芯片的W2智能手表解决方案

基于MTK6580芯片的W2智能手表解决方案