




已阅读5页,还剩17页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DSP与计算机的异步串行通信摘要进入21世纪之后,数字化浪潮正在席卷全球,数字信号处理器DSP(Digital Signal Processor)正是这场数字化革命的核心,无论在其应用的广度还是深度方面,都在以前所未有的速度向前发展。数字信号处理是利用计算机或专用处理设备,以数字的形式对信号进行分析、采集、合成、变换、滤波、估算、压缩、识别等加工处理,以便提取有用的信息并进行有效的传输与应用。 本文提供了解决DSP与计算机异步串行通信的软硬件解决方案。采用 TI 公司的通用异步接收发送设备 UART芯片完成数字信号处理器 DSP与 PC 机之间的串行通信,可以避免常规的对DSP 的多通道缓冲串口 MCBSP复杂的软件编程模拟,不仅编程简单,传输能力强,而且实时性好,可靠性高。文中介绍了一种 UART 芯片 TL16C550, 并给出了它与 TMS320VC5402 连接的硬件电路以及软件编程方法。关键词:异步串口通信;DSP;TL16C550;TMS320VC5402SERIAL COMMUNICATION BETWEEN DSP AND COMPUTERABSTRACTAfter entering the 21st century, the digitalization tide is sweeping the globe, Digital Signal Processor (DSP is the core of the Digital revolution, no matter in the application of breadth or depth is still at an unprecedented rate of forward development. Digital signal processing is to use computer or special treatment equipment, in digital form on signal is analyzed, collection, synthesis, transform, filtering and estimation, compression, identification processing, in order to extract useful information and effective transmission and applications. This paper provides UART for a solution to communication between DSP and PC. The serial communication between DSP and personal computer can be realized by using UART CMOS chip of Texas Instruments Inc., which can avoid writing the complicated software routine for the McBSP of DSP, and has the advantages of simple programming high transmission capability, good reliability and real time capability. In this paper, we introduce briefly a kind of UART COMS chip TL16C550 and provide the hardware circuit between TL16C550 and TMS320VC5402 and the way how to program it.Key words: Serial Communication;DSP;TL16C550;TMS320VC5402目 录1 概述.12 设计总体方案.23 设计详细原理 .33.1 TL16C550简介.33.1.1 TL16C550的特点33.1.2 TL16C550的引脚功能33.1.3 TL16C550的内部寄存器43.2 TMS320VC5402简介.53.3 TMS320VC5402与PC异步串行通信硬件电路原理.53.4 TMS320VC5402与PC异步串行通信软件设计原理.64 设计步骤和过程.74.1 硬件电路设计74.2 软件设计85 调试与运行结果.106 心得体会 .11参考文献.12附录.131 概述数字信号处理器由于具有高性能和灵活可编程的优点而得到广泛的应用,在许多应用系统中,实现DSP与 PC机之间有效可靠的通信是系统设计的重要部分。一般来说,通信可以分为串行和并行两种方式。相对于并行方式而言,串行通信具有电路结构简单、通信距离远和成本较低等优点,因而在许多数据交换量不大的系统中得到了广泛的应用,行数据传输又可分为同步和异步两种模式,本次课程设计,综合运用数字信号处理、DSP技术课程以及其他有关先修课程的理论和生产实际知识去分析和解决DSP与计算机的异步串行通信。数字信号处理器(DSP近年来广泛应用于通信、图像处理、仪器仪表等方面。DSP在数值处理方面运算能力强、处理速度快。在通信方面,不同型号的DSP有不同的处理方式。以TMS320VC5402(以下简称5402为例,它没有专门的UART接口,但有2个多通道缓冲串口。为了实现串行通信,很多情况下都用软件对5402的MCBSP口编程来模拟异步串口。许多学者曾对应用MCBSP口实现串口进行过研究,萁硬件上依靠三个独立的信号数据、帧同步、时钟来收发数据。软件上则是通过编程模拟时钟的时序。这种方法软件编程比较复杂设计者对通讯协议非常了解才行,且占用很大的系统资源。本文提出采用专门的异步通信芯片TLl6C550来扩展5402的串口,可以避开上述方法的缺点,使DSP器件实现稳定、准确的串行通信。并将介绍5402和PC机之间通过16C550进行串行通信的具体实现方法。该方案其有很强的灵活性和实用性,适用于很多需要进行串口通信的场合。2 课程设计总体方案数字信号处理器(DSP以其强大的数据处理能力广泛应用于高速数字信号处理。但其通信接口的控制能力较弱。例如TMS320VC54系列DSP只有同步串口,通常仅与具有同步通信接口的外设通信。当DSP构成一个独立的处理单元时,往往需要与一些具有异步通信接口的外设如PC机交换数据。通常解决DSP与PC机之间通信的方式有两种:一种是利用 DSP的通用IO口X F和BIO构成串口,由软件设定通信波特率和握手方式。这种方式编程复杂,并且占用大量CPU时间,通信速率慢;另一种是通过专用的异步通信器件实现DSP与 PC机的高速数据通信。本课程设计采用TI公司的异步通信器件TL16C550 实现TMS320VC5402串口通信,该设计系统编程简单,具有较强的灵活性和实用性,适用于实时通信应用。TMS320VC5402与PC机通过TL16C550扩展RS232串口实现串行通信,其总体方案如图1.1所示。图2.1 TMS320VC5402与PC机串行通信方案3 课程设计详细原理3.1 TL16C550简介3.1.1 TL16C550的特点TL16C550是TI公司的异步通信器件,具有以下特点: (1 供电电压为5V或3.3V;(2 时钟频率高达16MH z,通信时波特率最高可达1M,可编程设定波特率发生器;(3 具有标准的异步通信位,可选择5、6、7、8位串行数据位,可设置奇偶校验或无校验模式, 停止位长度为1、1.5、2;(4 独立控制发送、接收、线状态以及中断设置; (5 软件设定的FIFO,减少CPU中断。3.1.2 TL16C550的引脚功能TL16C550采用44引脚PLCC封装,其引脚排列如图3.1所示。图3.1 TL16C550引脚排列TL16C550的主要引脚功能如下: A0A2:片内寄存器的选择信号; DOD7:双向8位数据线; :地址选通信号,该引脚有效时,可将CS0、CS1、及A0、A1、A2锁存在TL16C550内部 ; XIN、XOUT:外部时钟,可接晶体振荡器或外部时钟信号; CS0、CS1、:输入片选信号,当CS0=CS1=1且= 0时,选中TL6C550; WR1、WR2、RD2:读、写信号; :波特率输出; MR:主机复位; INTRPT:中断,共有4种情况可以触发中断:接收错误、接收寄存器有数据到达、发送寄存器空、切换工作模式。 3.1.3 TL16C550的内部寄存器TLl6C550内部共有l1个寄存器。这些寄存器分别用于设置通信参数、访问线路及MODEN的状态、发送和接收数据以及中断管理等。这些寄存器的访问是通过3个地址线控制,LCR控制寄存器D7位DLA参与辅助定义。当DLAB=0时,RBRTHR和IER才能正常工作;而DLAB=1时,则控制DIL和DLM写入。表3-1列出了如何通过DLAB和A0、A1、A2选择片内寄存器,并给出了这些寄存器的中文名称及英文缩写。表3-1 TL16C550片内寄存器DSP通过地址线对TL16C550进行控制,数据直接通过数据线传输。DSP与TL16C550之间的数据传输简单,RBRTHR分别是接收和发送缓冲寄存器,它们之间的数据传输是通过DSP读写缓冲寄存器实现的。3.2 TMS320VC5402简介TMS320VC5402是C5000系列中性价比较高的一颗芯片。独特的6总线哈佛结构,使其能够6条流水线同时工作,工作频率达到100MHz。VC5402除了使用VC54x系列中常用的通用IO口(General Purpose IO,简称GPIO)外,还为用户提供了多个可选的GPIO:HPI8和McBSP。TMS320VC5402的主要特性有:(1 操作速率达100MIPS;(2 具有先进的多总线结构(1条程序总线、3条数据总线和4条地址总线;(3 40位算术逻辑运算单元(ALU,包括1个40位桶形移位寄存器和2个独立的40位累加器;(4 17位并行乘法器与40位专用加法器相连,用于非流水式单周期乘法/累加(MAC运算;(5 双地址生成器,包括8个辅助寄存器和2个辅助寄存器算术运算单元(ARAU;(6 数据/程序寻址空间1M16bit,内存4K16bitROM和16K16bit双存取RAM;(7 内置可编程等待状态发生器、锁相环(PLL时钟发生器、2个多通道缓冲串行口、1个8位并行与外部处理器通信的HPI口、2个16位定时器以及6通道DMA控制器;(8 (8低功耗,工作电源3.3V和1.8V(内核。由前面的分析可知,响应分析在数学上是一个具有38个自由度的二阶线性微分方程的数值积分问题3, 6-9。3.3 TMS320VC5402与PC异步串行通信硬件电路原理TMS320VC5402与PC机串行通信的硬件电路如图3.2所示。图3.2中,TL16C550的CS0和CS1都接高电平,CS2接C5402的外部IO空间,选择线IS。当XIN、XOUT端外接1.8342MHz晶振时,C5402以28400的波特率与PC机通信,所以,波特率因子寄存器的低位设为02H,高位设为00H。TLC16C550的数据线D0D7直接与C5402的D0D7数据线相连,TL16C550的片内寄存器选择线接C5402的A0A2。由于RS232C电路电平与CMOS电平不同,因此,RS232驱动器与CMOS电平连接时必须经过电平转换。这里,我们采用MAX232完成这一功能,MAX232具有一个专有的低压降发送器输出级,在其以双电荷棒3.0V5.5V供电时,可以获得真正的RS232性能。该器件只需4个1F小型外接电容,可在维持RS232输出电平的情况下确保运行于120kbs数据率,因此十分适合高速串行通信场合。利用RXRDY和TXRDY引入外部中断,从而系统工作在中断方式,RXRDY产生外部0中断(INT0),而TXRDY将产生外部1中断(INT1)。图3.2 TMS320VC5402与PC异步串行通信硬件接口电路3.4 TMS320VC5402与PC异步串行通信软件设计原理系统软件设计包括PC机、TMS320VC5402以及TL16C550的初始化和通信协议等。初始化的主要任务是设置操作所需要的参数。这些参数包括串行通信时数据串的数据位数、停止位数、奇偶校验等。另外,还需要设置发送和接收的波特率及中断方式。其中需要注意的是由于系统工作在中断方式,应允许接收就绪中断和发送缓冲区空中断,相应地,中断允许寄存器的值应该设置为03H。4 课程设计步骤和过程4.1 硬件电路设计TMS320VC5402通过TL16C550实现与PC机串行通信,电路图如图3.2所示。TMS320VC5402采用双电源供电,内核电源是1.8V,接口电源是3.3V,所以与TMS320VC5402连接的器件最好选用供电电源为3.3V的器件。TL16C550就是一款 5V和 3.3V均可以供电的器件,因而大大简化了硬件接口电路连接。 TL16C550的数据线DOD7直接与TMS320VC5402的DOD7数据线相连,实现数据的传输。TL16C550的片内寄存器选择线与TMS320VC5402的地址线A0A2相连。当TL16C550的片选信号CS0、CS1为高电平,为低电平时,TL16C550被选中。CS0、CS1直接与高电平相连,则与TMS320VC5402的相连,从而避免与外部其他IO口发生冲突。 TL16C550的读信号为、RD2。当为低电平或RD2高电平,且TL16C550被选 中时,可进行读操作。写信号为、WR2, 当为低电甲或WR2为高电平,且 TL16C550被选中时,可进行写操作。TL16C550的 RD2、WR2直接与地连接(无效状态; TMS320VC5402的、R/通过或门与TL16C550的连接;TMS320VC5402的R/与同或后,连接至。当TL16C550的XI N引脚和XOUT引脚间外接3.072MHZ晶体振荡器时, TMS320VC5402以9600波特率与PC机通信,根据波特率=基准时钟频率 (16 x波特率因子,所以波特因子寄存器的低位设置为20H,高位设置为00H。TL16C550的中断请求信号INTRPT直接连 接至TMS320VC5402的外部中断。 TL16C550的SIN引脚为串行数据输入引脚,SOUT为串行数据输出引脚。这两条信号线连接到MAX232上,从而实现数据串行TTLCOMS电平与RS232电平的转换。由于MAX232可以直接接收3.0V5.5V的电压信号,所以可接收TL16C550的3.3V的电压信号,但是MAX232的输出电压为5V,所以其输出信号必须经过电阻分压才能送至TL16C550。4.2 软件设计本系统软件设计包括PC机、TMS320VC5402以及TL16C550的初始化和通信协议。初始化过程主要是设置所需参数。这些参数包括串口通信时数据位数、停止位数、奇偶校验等。另外,还需设置发送和接收的波特率以及中断方式。串行通信主程序流程图如图4.1所示。 图4.1 串行通信流程图在对TMS320VC5402的初始化过程中,首先定义寄存器,例如对软件等待状态寄存器(SWWSR 和软件等待状态挖制寄存器(SWSR的定义如下: volatile int * SWWSR=Ox28: volatile int * SWWSR=Ox2b; 然后对寄存器进行读写操作,如设置IO、ROM和RAM的等待周期: SWSR=0; / 等待状态基数不变 SWWSR= 0xfffff; / 设置IO等待周期为7, RAM等待周期为7,ROM 等待周期为 7。同理,用 C语言对 TL16C550初始化, 首先宏定义,IER宏定义为:#define IER portO1。同理定义RBR、THR、FCR等寄存器。采用3.072MH z的晶体振荡器,波特率为9600、字长为8 bit、无校验位、1位停止位的数据流。 TL16C550寄存器的初始化C语言程序如下: FCR=Ox03; /允许FIFO的发送和接收,同时清除已接收到的FIFO LCR=LCR&0xFF7F; /设置DLAB=0 IER=0x00; /不设置中断请求 LCR=0x03; /字长为8 bit、无校验位、1位停止位 MCR=0x00; /设置CTS控制输入输出 LCR=LCR&0x80; / 设置DLAB=I DLL=0x20; /波特翠为9600 DLM=0x00; LCR=LCR&0xFF7F; /重新设置DLAB=0 初始化完成后,TMS320VC5402与PC机通过9600的速率传输数据。如果要想得到不同的波特率,则只需向波特率因子寄存器中写入相应的值即可。 5 调试与运行结果图5.1 调试运行结果图如上图5.1所示,按下复位键后,串口调试助手窗口依次出现两行事先编辑的“hello,everyone!”成功实现PC机与DSP之间的数据交换。首先PC机将数据发送给DSP,然后DSP又将数据发给PC机。在发送字符/数据窗口键入字符“s”,若采用手动发送,则窗口出现“ss” ;若采用自动发送,则窗口连续出现“sssssssss.” ,按下复位键后,数据停止发送。于是通过编写的DSP程序和对程序的运行调试,成功实现DSP和PC机之间的数据通信。6 心得体会时间过得真快,转眼间已经有两个星期过去了,现在回想起来,往事还历历在目。课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。回顾起此次DSP原理及应用的课程设计,至今我仍感慨颇多。从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以学到很多很多的东西,同时不仅可以巩固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的辛勤指导下,同学的帮助下终于迎刃而解。在此我表示感谢!在这次课程设计过程中,我们结合了课程中所学的理论知识,依据书上提供的DSP与文献中的TL16C550的原理的基础上来进行编程,这次课程设计我们学到了很多东西,虽然做出来的东西很基础,但是我们加深了对知识的理解和掌握,作为一名大四学生,我觉得做课程设计十分的有意义,这不仅是锻炼培养独立分析与解决问题的能力,也是一次团队合作开发过程。参考文献1 邹彦. DSP原理及应用M. 北京:电子工业出版社,2005,1.2 戴明桢.TMS320C54xDSP结构、原理及应用M.北京航空航天大学出版社,2001,8.3 胡圣尧. DSP原理及应用M.东南大学出版社,2008.7.4 清源科技.TMS320C54xDSP应用程序设计教程M.机械工业出版社,2004,1.5 清源科技.TMS320C54x硬件开发教程M.机械工业出版社,2003,1.6 蔡琳洁.DSP与PC机串口的高速数据通信的实现J.电讯技术,2001,4.附录* FileName: ex3.asm * Descriptiion: 异步串行口实验 *CMD文件:MEMORYPAGE 0: VECS: origin = 0xff80, length = 0x80PROG: origin = 0x1000, length = 0x1000PAGE 1: DATA: origin = 0x2000, length = 0x1000STACK: origin = 0x3000, length = 0x1000SECTIONS.vectors: VECS PAGE 0.text: PROG PAGE 0.data: DATA PAGE 1.stack: STACK PAGE 15000系列DSP汇编语言:.title ex3.global _c_int00.mmregs.def _c_int00UART_BASE .set 0x0000THR .set UART_BASE+0x00RBR .set UART_BASE+0x00IIR .set UART_BASE+0x20IER .set UART_BASE+0x10FCR .set UART_BASE+0x20LCR .set UART_BASE+0x30MCR .set UART_BASE+0x40LSR .set UART_BASE+0x50MSR .set UART_BASE+0x60SCR .set UART_BASE+0x70DLL .set UART_BASE+0x00DLM .set UART_BASE+0x10BAUDLOW .set 60hBAUDHIGH .set 61hBAUDCTL .set 62hRDDLM .set 63hRDDLL .set 64hRDTEMP .set 65hIER_ADDR .set 66hFCR_ADDR .set 67hUART_STATUS .set 68hREV_ADDR .set 69hSEND_ADDR .set 6ahTHRE .set 0x0020DR .set 0x0001 LEN .set 48.dataSENDBUF:.string Welcome to use SanZhi DSP Experiment Instruments! .sect .vectorsrst: B _c_int00NOPNOP.space 15*4*16int0: B _comm ;ST16550C中断信号连到外部中断0NOPNOPint1: B _commNOP
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 德州十中住宿班考试题及答案
- 天然药物学实操考试题及答案
- 期末数量关系专项测试卷(含答案) 五年级数学上册(人教版)
- 2025年公需科目人工智能与健康考试题(附答案)
- 2025年高校教师岗前培训高等教育心理学知识竞赛考试题库及参考答案
- 2025年高速监测员面试题及答案
- 2025年高级钳工试题题库及答案
- 读章程及运行管理办法
- 计量标签化管理办法
- 苏州青青菜管理办法
- 农贸市场消防整改报告
- (高清版)DZT 0337-2020 矿产地质勘查规范 油砂
- 【培训课件】5S培训课程讲义
- 2000-2015年考研英语一真题及详细解析
- 2021年10月自考健康教育与健康促进试题及答案
- 假性软骨发育不全综合征介绍演示培训课件
- 保险行业纳税筹划案例分析
- 私立民办高中学校项目建议书
- 比亚迪汽车发展史
- 他们创造了数学:50位著名数学家的故事
- 财务管理-企业筹资方式
评论
0/150
提交评论