数字信号处理器间异步串口通信的研究与实现new

数字信号处理器间异步串口通信的研究与实现new

ID:34512151

大小:255.87 KB

页数:6页

时间:2019-03-07

数字信号处理器间异步串口通信的研究与实现new_第1页
数字信号处理器间异步串口通信的研究与实现new_第2页
数字信号处理器间异步串口通信的研究与实现new_第3页
数字信号处理器间异步串口通信的研究与实现new_第4页
数字信号处理器间异步串口通信的研究与实现new_第5页
资源描述:

《数字信号处理器间异步串口通信的研究与实现new》由会员上传分享,免费在线阅读,更多相关内容在教育资源-天天文库

1、http://www.paper.edu.cn数字信号处理器间异步串口通信的研究与实现袁红星,闵子建,李锦萍首都师范大学信息工程学院(100037)E-mail:yuanhx@superpix.com.cn摘要:针对TI公司的TMS320VC5402和TMS320VC5402,利用TL16C752B和MAX3160芯片实现两个数字信号处理器间的异步串口通信,给出了硬件设计框图和软件设计的思路以及主要程序。关键词:数字信号处理器异步串口通信软件设计1.引言数字信号处理对硬件的实时性要求越来越高。在这种情况下,仅由单个数字信号处理器已不能满足要求。一个系统往往需要多个

2、信号处理器协同工作才能完成任务,而这就涉及到信号处理器间的通信问题。文献[1]和[2]给出了数字信号处理器与计算机之间串口通信实现的方法,但没有研究数字信号处理器间的串口通信。本文研究并实现了美国TI公司的数字信号处理芯片TMS320VC5416与TMS320VC5402间异步串口通信的硬件、软件组成及原理。本文以两种通讯方式实现了这两种信号处理器间的通信。即单个字符和字符串的接收与发送。在第一种方式下,5402将键盘按下的键值通过异步串口发送到5416,然后由5416再发回到5402进行LCD显示;第二种方式下,5402将LCD上被选择的字符串通过异步串口发送到

3、5416,然后由5416再发回到5402进行LCD显示。2.硬件电路框图2.1系统框图SRAMFLASHLCDSRAM显异示TMS320VC5416步FLASH驱双串动路RS232口高速逻辑控制UART电源管理及键WatchDogTimer盘TMS320VC5402扫描键盘电源监控5416端系统组成5402端系统组成图1TMS320VC5416与TMS320VC5402间异步串口通信硬件电路框图2.2DSP与UART的接口电路TL16C752B是一个并口型的外设,连接时要占用DSP的I/O空间资源。在本系统的设计中,其A路与B路共同占用DSP外部中断1,且两路地址

4、分别映射到0x0010~0x0017-1-http://www.paper.edu.cn和0x0018~0x001F;时钟采用24MHz的外频输入,最高波特率可达1.5Mbps。TL16C752B与DSP间的接口设计见图2。1.TL16c752BD7-D0A3-A0D7-D0A15A2-A0DSPIOSTRB#RESETIO空间接口IS#IOWR/W#2.CPLDIOREINT1#CSACSBINTAINTB图2TL16C752B与DSP的接口2.3UART与外部的接口连接UART与外部连接的电平转换和输出方式的选择采用可编程多协议收发器件MAX3160来实现。M

5、AX3160可以在RS-232、RS-422和RS-485之间可编程选择。芯片上的引脚RS-422/RS-485#用于选择工作在RS-422/RS-485还是RS-232。引脚HDPLX用于控制是RS-422还是RS-485。引脚FAST用于控制信号转换率。在本设计中,TL16C752B的引脚OPA、OPB分别接两路的HDPLX,而RS-422/RS-485#和FAST则通过跳线手动选择,其接口电路见图3。TL16c752BTxD3.MAX3610RST#DI/T1INRxDDE/T2INFAST跳CTS#R0/R2OUT线OPA/OPBR1OUTRS485/RS

6、232HDPLX图3UART与外部的接口3.软件设计软件设计的第一步是对系统的初始化,包括异步串口的初始化,系统时钟的设置等。然后是主体部分即对异步串口的读与写。在我们的设计中,采用中断的方式实现DSP与异步串口间的通讯和数据交换。因此整个软件主要由三大块组成:初始化模块、主程序模块和异步串口中断模块。主程序和部分模块是用c语言实现的,其他模块用汇编语言完成。3.1初始化模块初始化模块所要完成的功能有:DSP的初始化、异步串口参数设置和中断设置。初始化模块的程序流程图见图4。3.1.1DSP的初始化DSP的初始化完成系统缓冲区的初值设置、系统时钟设置和串口发送与接

7、收缓冲区的初始化,其关键代码如下。…unsignedinti;for(i=0;i<32;i++){-2-http://www.paper.edu.cnsys_statbuff[i]=0;/*初始化系统缓冲区*/}sys_clk(CLK80);/*设置系统的默认时钟*/for(i=0;i<128;i++){uarta_recbuff[i]=0;/*初始化A通道串口发送与接收缓冲区*/uartb_recbuff[i]=0;/*初始化B通道串口发送与接收缓冲区*/}…3.1.2异步串口参数设置通过设置异步串口控制寄存器实现异步串口参数的设定。主要设定波特率分频系数、波特

8、率、数据格

当前文档最多预览五页,下载文档查看全文

此文档下载收益归作者所有

当前文档最多预览五页,下载文档查看全文
温馨提示:
1. 部分包含数学公式或PPT动画的文件,查看预览时可能会显示错乱或异常,文件下载后无此问题,请放心下载。
2. 本文档由用户上传,版权归属用户,天天文库负责整理代发布。如果您对本文档版权有争议请及时联系客服。
3. 下载前请仔细阅读文档内容,确认文档内容符合您的需求后进行下载,若出现内容与标题不符可向本站投诉处理。
4. 下载文档时可能由于网络波动等原因无法下载或下载错误,付费完成后未能成功下载的用户请联系客服处理。