网站首页 | 技术文章 | 解决方案 | 电子书籍 | 下载中心 | 电子商城 | 技术论坛 | 电子博客 | 商务信息  
联系站长
加入收藏
会员登陆
交易首页 最新信息 - 推荐信息 - 热门信息 - 免费发布 - 行业新闻 - 行业资讯 - 行业知识 - 积分说明 - 信息分类 - 企业展示 - 帮助
 您的位置: 中国电子设计 >> 技术文章 >> 微控制器 >> 正文 商务信息栏目开通公告  [2008-05-19 11:47:00]
   □  TMS320C54XX系列DSP与PC机间串行通信的实现    3星级
TMS320C54XX系列DSP与PC机间串行通信的实现
[作者:薛志宏 刘建业    转贴自:电子技术应用    点击数:    更新时间:2006-10-24
【字体:
DSP在电子工业领域得到了越来越广泛的应用。在DSP应用系统设计中,必不可少的是各种通信接口的设计。与并行接口相比,串行接口的最大特点是减少了器件引脚数目,降低了接口设计复杂性。串行数据传输可分为同步和异步两种模式。通用PC机的RS-232接口为通用异步接口UARTUniversal Asynchronous Receiver and Transmitter,而MOTOROLA公司的串行外围设备接口SPI、队列SPI(QSPI)、PHILIPS公司的内部IC总线(I2C),National公司的微总线(MICROWIRE)均为同步串行协议。 

 

目前几乎所有的数字信号处理器都提供了一个或多个串行接口,然而,多数DSP芯片提供的是同步串口。在实际的应用中,也需要DSP能够与外设进行异步串行通信,如与PC机进行串行数据传输就要求DSP系统具有UART串行接口。针对这种情况,本文研究并实现了一种简单、可*的异步串口扩展方法。

1 扩展方案

综合分析DSP应用系统中扩展异步串行接口的方案,其基本方法和优缺点如下:

(1)在DSP的并行总线上扩展UART芯片(如TI公司的TL16C552),用硬件实现异步数据传输。优点是软件实现简单,缺点是在总线上还需扩展其它设备,这样做使目标系统复杂化,增大系统体
积。

(2)利用DSP的McBSP和DMA,在不扩展其它硬件的情况下,用软件实现异步数据传输格式。这种方法的优点在于硬件简单,但软件复杂,加大了CPU的负担,所以不适合通信数据量大的场合。

(3)利用DSP的McBSP同步串行接口,在扩展适当硬件的情况下,将同步数据变换为UART异步数据格式进行传输。这样,就充分利用了DSP的片上资源,使硬件系统尽量简单化。
综合考虑硬件连接和软件编程的方便性,本文采用第三种方案,应用美国MAXIM 公司的MAX3111串行异步收发器,与DSP的McBSP口直接连接。硬件上无需任何其它外围器件,同时由于异步数据的发送和接收由MAX3111以硬件方式实现,所以软件编程需要考虑的也只是DSP与MAX3111之间的同步数据通信。这样,用最简单的硬件连接和软件编程就能实现同步到异步的串行数据格式转换。

2 SPI接口协议及DSP的多通道缓冲串行接口

2.1 SPI接口协议

串行外围设备接口(SPI)是MOTOROLA公司提出的一个同步串行外设接口允许CPU与各种外围接口器件以串行方式进行通信、交换信息。它使用4条线:串行时钟线SCK、主机输入/从机输出线(MISO)、主机输出/从机输入线(MOSI)、低电平有效的使能信号线(CS)。这样仅需3~4根数据线和控制线即可扩展具有SPI接口的各种I/O器件。其典型的接口示意图如图1所示。 

2.2 McBSP的功能与特点

TMS320C54XX系列DSP芯片都具有2~3个高速、全双工、多通道缓冲串行接口(McBSP)其方便的数据流控制可使其与大多数同步串行外围设备接口。McBSP是在标准串行接口的基础上对功能进行扩展的,除具有标准串口的功能特点外,其灵活性体现在如下几个方面: 

(1)双缓冲区发送,三缓冲区接收,允许连续数据流传输;
(2)可与SPI、IOM-2、AC97等兼容设备直接接口;
(3)可编程帧同步、数据时钟极性,支持外部移位时钟或内部频率可编程移位时钟;
(4)拥有相互独立的数据发送和接收帧同步脉冲和时钟信号;
(5)多通道发送和接收,最多可达128个通道,速度可为100Mbit/s。

2.3 McBSP的SPI方式

TMS320C54XX系列DSP芯片的McBSP串口工作于时钟停止模式时与SPI协议兼容。当将McBSP配置为时钟停止模式时,发送器和接收器在内部得到同步,这时McBSP可作为SPI的主设备或从设备。发送时钟信号(BCLKX)对应于SPI协议中的串行时钟信号(SCK),发送帧同步信号对应于从设备使能信号(CS)。在这种方式下对接收时钟信号(BCLKR)和接收帧同步信号(BFSR)将不进行连接,因为它们在内部与BCLKX和BFSX相连接。McBSP工作于SPI模式的主机时,与其它SPI器件接口如图2所示。

3 MAX3111通用异步收发器 

3.1 MAX3111功能特点

MAX3111通用异步收发器是MAXIM公司专门为小型微处理系统进行最优化设计的UART它包括一个振荡器和一个可编程波特率发生器;具有一个可屏蔽的中断源;另具有一个8字节的接收FIFO(先入先出)缓冲器。它应用SPI/MICROWIRE接口技术直接与主控制器进行通信,线路简单、体积小,通信速率可达230kbit/s。另外其内部除具有UART之外,还包括两个RS-232电平转换器,这样无需再接入普通的MAX232进行电平转换,即可应用一个芯片实现微控器(具有SPI/MICROWIRE接口)与PC机或其它设备之间的异步数据传输。

3.2 对MAX3111的操作

MAX3111通过SPI接口与主设备进行16位数据的全双工同步通信,即主设备传送16位数据给MAX3111的同时,也可接收到MAX3111发送的16位数据。主设备在MOSI线上向MAX3111发送的16位串行数据序列中包括传输格式控制字,如波特率设置、中断屏蔽、奇偶校验位等,同时还有发送的数据字。MAX3111在MISO线上向主设备发送的16位数据序列中除了接收到的数据外,还包括中断标志等状态位。所以通过16位的实时数据传输,主设备可获得MAX3111工作状态信息,同时对其具有完全控制权利。这样,两个设备的控制、状态、数据信息的实时通信就保证了数据传输的可*性和稳定性。 

4 DSP与MAX3111的接口设计

DSP的McBSP串行接口工作于SPI模式时可直接与MAX3111进行连接,从而实现与RS-232设备进行异步数据传输。此时DSP作为SPI协议中的主设备,其接口电路如图3所示。

DSP的发送时钟信号(BCLKX)作为MAX3111的串行时钟输入,发送帧同步脉冲信号(BFSX)作为MAX3111的片选信号(CS)。BDX与DIN连接作为发送数据线,BDR与DOUT连接作为接收数据线。MAX3111的TX与T1IN连接,RX与R1OUT连接,以便利用其片内的转换器实现UART到RS-232电平的转换。MAX3111的中断信号(IRQ)与DSP的外部中断相连。

在SPI串行协议中,主设备提供时钟信号并控制数据传输过程。由MAX3111接口电路时序图(图4)可知,必须设置DSP的McBSP于适当的方式才能保证与MAX3111的时序相配合。

MAX3111要求在数据传输过程中CS信号必须为低电平,在传输完毕后必须为高电平。此信号由McBSP的BFSX引脚提供,因此必须正确设置DSP的帧脉冲发生器,使之在每个数据包传输期间产生帧同步脉冲,即在数据包传输的第一位变为有效状态,然后保持此状态直到数据包传输结束。

McBSP的采样率发生器产生适当频率的时钟信号,由BCLKX引脚输出,保证主从设备间的同步数据传输。因此必须正确设置DSP的采样率发生器时钟源CLKSM和时钟降频因子CLKGDV。根据SPI传输协议,必须正确设置数据发送延迟时间(XDATDLY)。由图4可知MAX3111要求在SCLK变高之前的半个周期开始传输数据。

所以必须为McBSP选择合适的时钟方案,即设置McBSP的时钟停止模式。在本应用中采用McBSP的时钟停止模式2CLKSTP=11b,CLKXP=0这样即可保证与MAX3111的时序相配合。

5 DSP的异步通信软件的设计

考虑到应用系统软件的可移植性和可读性,数据传输软件采用C语言进行编写,这样,可以利用DSP开发软件CCS2.0所提供的DSP/BIOS中的芯片支持库函数(CSL)。CSL提供C语言可调用的DSP外围接口库函数,其中包括DMA模块、McBSP模块、TIMER模块等。应用这些库函数可大大提高程序可读性,缩短软件开发周期。在本文所提到的应用中,主要调用MCBSP模块。数据传输软件主要包括以下几部分。 

(1)McBSP串口初始化

如上所述,在本应用中应将TMS320C
54XX DSP的McBSP串行口配置为SPI模式,以DSP作为主设备。表1给出了应设置的寄存器或寄存器位的值,未涉及的寄存器保持其默认值即可。
根据表1,调用CSL的McBSP配置库函数即可完成McBSP的初始化:

McBSP_Handle hport0 /声明指向
McBSP的句柄/
McBSP_Config PortConfig= /定义寄存
器设置结构/
0x1800 /设置串口控制寄存器1
的值/
0x0000 /设置串口控制寄存器2
的值/
0x0040 /设置接收控制寄存器的
值/
...

hport0 = MCBSP_open0 MCBSP_OPEN_RESET
/打开第一个McBSP串口 /
MCBSP_config hport0 &PortConfig 
/按结构设置McBSP的各寄存器/ 

(2) MAX3111工作模式及波特率设置

在进行通信之前,DSP必须首先根据命令序列格式向MAX3111写入配置命令字,之后才能进行正确的数据传输,如8位数据位、一位停止位、无奇偶校验位、波特率为115200、使能接收和发送中断的异步数据传输。DSP对MAX3111进行配置的简要过程为:
...
McBSP_starthport0 /McBSP开始数据传输/
McBSP_SRGR_START|MCBSP_SRGR_FRAMESYNC 
|McBSP_RCV_START|MCBSP_XMIT_START 0x200

whileMcBSP_xrdyhport0 /等待发送寄存器为空/
McBSP_write16hport00x6E0B /向MA3111写入配
置命令字/
...

(3)中断服务程序

在进行中断方式数据传输时,需要注意的是:虽然DSP的McBSP有自身的发送和接收中断,但由于McBSP与MAX3111之间的同步串行数据传输速率高于MAX3111将数据以一定波特率(最高230kbps)异步发送的速率,因此如果应用McBSP的发送中断,将造成发送数据的丢失。同时,在SPI协议中,数据的传输是由SPI主设备发起的,所以在SPI方式下的McBSP并不能产生接收中断。因此,本方案应用的关键之一是将MAX3111的IRQ中断信号连接至DSP的一外部中断,以实现中断方式下可*、正确的数据传输。 

针对现有的多数数字信号处理器(DSP)芯片上不提供异步串行收发器(UART)接口,而只有同步串行接口的情况。本文通过简单的硬件电路将同步接口转换为异步串行接口,充分利用了DSP的在片硬件资源,很好地解决了DSP的异步串口扩展问题。此方法在工程实践中已经得到应用。实践证明,在各种波特率下(最高可为230.4kbps),其查询和中断方式数据传输正确、可*,各元件工作正常,并且在此硬件连接的基础上,利用DSP的DMA功能进行串行数据接收及发送收到了良好效果,进一步提升了应用系统的性能。 

参考文献

1 TMS320C54 DSP CPU And Peripherals Reference Set.
Texas Instruments Vol1 April2001

2 TMS320C54 DSP Applications Guide Reference Ser.Texas 
Instruments Vol4 October2001

3 TMS320C54X Chip Support Library API User’s Guide
October2001

4 MAXIM 2001 New Releases Data Book Volume Ⅶ.MAXIM
2001

5 胡又农,赵锦红.具有IrDA模式的UART芯片MAX3100
及其应用. 国外电子元器件,1999;8(3)

6 王鲁南.MAX3100在串行红外数据与RS232转换器中的
应用.电子工程师,2000(2)

7 戴明祯,周建江.TMS320C54X DSP 结构、原理及应用. 

  • 上一篇文章:TMS320C5410烧写Flash实现并行自举引导
  • 下一篇文章:高性能数字信号处理器TMS320LF2407A及其应用
  • Google
     
    Web www.cediy.com
    发表评论 □告诉好友 □打印此文 □关闭窗口
     最新热点文章
     基于单片机和串行总线技术的热量表...
     数字温度传感器详解
     用AD8302实现RF/IF幅度和相位测量系...
     一种简单的10MHz频率源兼分配放大器...
     维氏电桥振荡器
     检验液晶显示器的简易测试仪
     
     最新推荐文章
     基于TMS320C6713与PC机的PCI总线高...
     基于TMS320VC5409和Cygnal单片机构...
     基于ARM控制器S3C44B0x的给煤机控制...
     基于USB 2.0的高速数据采集卡在虚拟...
     大功率谐振过渡软开关技术变频器研...
     大功率谐振过渡软开关技术变频器研...
     
     相 关 文 章
      ◇  网友评论:(只显示最新5条。评论内容只代表网友观点,与本站立场无关!)
     设为首页  加入收藏  关于本站  版权申明   联系站长   宣传赚点   友情链接
    如果我在线,不用加为好友,立刻与我交谈。 业务咨询QQ:342488946
    Copyright© 2004-2010 CEDIY.COM .All Rights Reserved
    粤ICP备05119258号