dsp与计算机的异步串行通信课程设计论文_第1页
dsp与计算机的异步串行通信课程设计论文_第2页
dsp与计算机的异步串行通信课程设计论文_第3页
已阅读5页,还剩9页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、DSP与电脑的异步串行通信摘要进入21世纪之后,数字化浪潮正在席卷全球,数字信号处理器DSPDigitalSignalProcessor正是这场数字化革命的核心,无论在其应用的广度还是深度方面,都在以前所未有的速度向前发展。数字信号处理是利用电脑或专用处理设备,以数字的形式对信号进行分析、采集、合成、变换、滤波、估算、压缩、识别等加工处理,以便提取有用的信息并进行有效的传输与应用。本文提供了解决DS叫电脑异步申行通信的软硬件解决方案。采用TI公司的通用异步接收发送设备UART芯片完成数字信号处理器DSP与PC机之间的申行通信,可以防止常规的对DSP的多通道缓冲申口MCBSFM杂的软件编程模拟,

2、不仅编程简单,传输能力强,而且实时性好,可靠性高。文中介绍了一种UART芯片TL16C550,并给出了它与TMS320VC540254接的硬件电路以及软件编程方法。关键词:异步申口通信;DSPTL16C550TMS320VC5402SERIALCOMMUNICATIONBETWEENDSPANDCOMPUTERABSTRACTAfterenteringthe21stcentury,thedigitalizationtideissweepingtheglobe,DigitalSignalProcessor(DSPisthecoreoftheDigitalrevolution,nomatterin

3、theapplicationofbreadthordepthisstillatanunprecedentedrateofforwarddevelopment.Digitalsignalprocessingistousecomputerorspecialtreatmentequipment,indigitalformonsignalisanalyzed,collection,synthesis,transform,filteringandestimation,compression,identificationprocessing,inordertoextractusefulinformatio

4、nandeffectivetransmissionandapplications.ThispaperprovidesUARTforasolutiontocommunicationbetweenDSPandPC.TheserialcommunicationbetweenDSPandpersonalcomputercanberealizedbyusingUARTCMOSchipofTexasInstrumentsInc.,whichcanavoidwritingthecomplicatedsoftwareroutinefortheMcBSPofDSP,andhastheadvantagesofsi

5、mpleprogramminghightransmissioncapability,goodreliabilityandrealtimecapability.Inthispaper,weintroducebrieflyakindofUARTCOMSchipTL16C550andprovidethehardwarecircuitbetweenTL16C550andTMS320VC5402andthewayhowtoprogramit.Keywords:SerialCommunication;DSP;TL16C550;TMS320VC5402目录1概述12设计总体方案.23设计详细原理33.1TL

6、16C550简3.1.1 TL16C550的特点33.1.2 TL16C55。的引脚功能3TL16C550的内部寄存器4TMS320VC5402简介.5TMS320VC5402与PC异步串行通信硬件电路原理.5TMS320VC5402与PC异步串行通信软件设计原理.64设计步骤和过程.74.1硬件电路设计74.2软件设计85调试与运行结果.106心得体会-.11参考文.12献附录131概述数字信号处理器由于具有高性能和灵活可编程的优点而得到广泛的应用,在许多应用系统中,实现DSP与PC机之间有效可靠的通信是系统设计的重要部分。一般来说,通信可以分为申行和并行两种方式。相对于并行方式而言,申行通

7、信具有电路结构简单、通信距离远和成本较低等优点,因而在许多数据交换量不大的系统中得到了广泛的应用,行数据传输乂可分为同步和异步两种模式,本次课程设计,综合运用数字信号处理、DSFK术课程以及其他有关先修课程的理论和生产实际知识去分析和解决DSP与电脑的异步申行通信。数字信号处理器(DSP近年来广泛应用于通信、图像处理、仪器仪表等方面。DSP在数值处理方面运算能力强、处理速度快。在通信方面,不同型号的DSP有不同的处理方式。以TMS320VC5402(以下简称5402为例,它没有专门的UART接口,但有2个多通道缓冲串口。为了实现串行通信,很多情况下都用软件对5402的MCBSP口编程来模拟异步

8、串口。许多学者曾对应用MCBSP口实现串口进行过研究,其硬件上依靠三个独立的信号数据、帧同步、时钟来收发数据。软件上则是通过编程模拟时钟的时序。这种方法软件编程比较复杂.设计者对通讯协议非常了解才行,且占用很大的系统资源。本文提出采用专门的异步通信芯片TL16C550来扩展5402的串口,可以避开上述方法的缺点,使DSP器件实现稳定、准确的串行通信。并将介绍5402和PC机之间通过16C550进行串行通信的具体实现方法。该方案其有很强的灵活性和实用性,适用于很多需要进行串口通信的场合。2课程设计总体方案数字信号处理器(DSP以其强大的数据处理能力广泛应用于高速数字信号处理。但其通信接口的控制能

9、力较弱。例如TMS320VC5系列DSP只有同步串口,通常仅与具有同步通信接口的外设通信。当DSP勾成一个独立的处理单元时,往往需要与一些具有异步通信接口的外设如PC机交换数据。通常解决DSP与PC机之间通信的方式有两种:一种是利用DSP的通用I/O口XF和BIO构成串口,由软件设定通信波特率和握手方式。这种方式编程复杂,并且占用大量CPU时间,通信速率慢;另一种是通过专用的异步通信器件实现DSP与PC机的高速数据通信。本课程设计采用TI公司的异步通信器件TL16C550实现TMS320VC5402串口通信,该设计系统编程简单,具有较强的灵活性和实用性,适用于实时通信应用。TMS320VC54

10、02与PC机通过TL16C550扩展RS232串口实现串行通信,其总体方案如图所示。图2.1TMS320VC5402与PC机串行通信方案3课程设计详细原理3.1TL16C550简介3.1.1 TL16C550的特点TL16C550是TI公司的异步通信器件,具有以下特点:(1供电电压为5V或3.3V;(2时钟频率高达16MHz,通信时波特率最高可达1M,可编程设定波特率发生器;(3具有标准的异步通信位,可选择5、6、7、8位申行数据位,可设置奇偶校验或无校验模式,停止位长度为1、1.5、2;(4独立控制发送、接收、线状态以及中断设置;(5软件设定的FIFO,减少CPU中断。3.1.2 TL16C

11、550的引脚功能3.1所示。R1F1F1同网日回目目Ml囹inmhclk狒sour颂<51掠buWiTIBCTT时rsTL16C550采用44引脚PLCC封装,其引脚排列如图W【PTW>T图3.1TL16C550引脚排列TL16C550的主要引脚功能如下:A0A2:片内寄存器的选择信号;DOD7:双向8位数据线;:地址选通信号,该引脚有效时,可将CS0、CS1、及A0、A1、A2锁存在TL16C550内部;XIN、XOUT:外部时钟,可接晶体振荡器或外部时钟信号;CS0、CS1、:输入片选信号,当CS0=CS1=1且=0时,选中TL6C550;WR1、WR2、RD2:读、写信号;:

12、波特率输出;MR:主机复位;INTRPT:中断,共有4种情况可以触发中断:接收错误、接收寄存器有数据到达、发送寄存器空、切换工作模式。3.1.3 TL16C550的内部寄存器TLl6C550内部共有l1个寄存器。这些寄存器分别用于设置通信参数、访问线路及MODEN的状态、发送和接收数据以及中断管理等。这些寄存器的访问是通过3个地址线控制,LCR控制寄存器D7位DLA参与辅助定义。当DLAB=0时,RBR/THR和IER才能正常工作;而DLAB=1时,则控制DIL和DLM写入。表3-1列出了如何通过DLAB和A0、A1、A2选择片内寄存器,并给出了这些寄存器的中文名称及英文缩写。表3-1TL16

13、C550片内寄存器.壮AtAn爵存as41.0L1L胃X'"LH,nro持制寄存Hr写nrts9CL,HrrX111mi寄裨Akwen)XIIH1、蚤顽t9LLJ痕档章国子霸存薄柢位11上fE眩待率附f节存#於位fOLM)DSP通过地址线对TL16C550进行控制,数据直接通过数据线传输。DSP与TL16C550之间的数据传输简单,RBR/THR分别是接收和发送缓冲寄存器,它们之间的数据传输是通过DSP读写缓冲寄存器实现的。3.2TMS320VC5402简介TMS320VC5402是C5000系列中性价比较高的一颗芯片。独特的6总线哈佛结构,使其能够6条流水线同时工作,工作频

14、率到达100MHz。VC5402除了使用VC54x系歹0中常用的通用I/。口CGeneralPurposeI/O,简称GPIO夕卜,还为用户提供了多个可选的GPIO:HPI-8和McBSP。TMS320VC5402的主要特性有:(1操作速率达100MIPS;(2具有先进的多总线结构(1条程序总线、3条数据总线和4条地址总线;(340位算术逻辑运算单元(ALU,包括1个40位桶形移位寄存器和2个独立的40位累加器;(417位并行乘法器与40位专用加法器相连,用丁非流水式单周期乘法/累加(MAC运算;(5双地址生成器,包括8个辅助寄存器和2个辅助寄存器算术运算单元(ARAU;(6数据/程序寻址空间

15、1M16bit,内存4K16bitROM和16K16bit双存取RAM;(7内置可编程等待状态发生器、锁相环(PLL时钟发生器、2个多通道缓冲申行口、1个8位并行与外部处理器通信的HPI口、2个16位定时器以及6通道DMA控制器;(8(8低功耗,工作电源3.3V和1.8V(内核。3.3 由前面的分析可知,响应分析在数学上是一个具有38个自由度的二阶线性微分方程的数值积分问题3,6-9。TMS320VC5402与PC异步申行通信硬件电路原理TMS320VC5402PC机申行通信的硬件电路如图所示。图中,TL16C550的CS0和CS1都接高电平,CS2接C5402的外部I/O空间,选择线IS。当

16、XIN、XOUT端外接晶振时,C5402以28400的波特率与PC机通信,所以,波特率因子寄存器的低位设为02H,高位设为00H。TLC16C550的数据线D0D7直接与C5402的D0D7数据线相连,TL16C550的片内寄存器选择线接C5402的A0A2。由于RS232-C电路电平与CMOS电平不同,因此,RS232驱动器与CMOS电平连接时必须经过电平转换。这里,我们采用MAX232完成这一功能,MAX232具有一个专有的低压降发送器输出级,在其以双电荷棒供电时,可以获得真正的RS一232性能。该器件只需4个1LF小型外接电容,可在维持RS一232输出电平的情况下确保运行于120kb/s

17、数据率,因此十分适合高速串行通信场合。利用RXRDY和TXRDY引入外部中断,从而系统工作在中断方式,RXRDY产生外部0中断INT0,而TXRDY将产生外部1中断INT1。3.4 图3.2TMS320VC5402与PC异步申行通信硬件接口电路TMS320VC540豹PC异步申行通信软件设计原理系统软件设计包括PC机、TMS320VC5402以及TL16C550的初始化和通信协议等。初始化的主要任务是设置操作所需要的参数。这些参数包括申行通信时数据申的数据位数、停止位数、奇偶校验等。另外,还需要设置发送和接收的波特率及中断方式。其中需要注意的是由于系统工作在中断方式,应允许接收就绪中断和发送缓

18、冲区空中断,相应地,中断允许寄存器的值应该设置为03H。4课程设计步骤和过程4.1硬件电路设计TMS320VC5402过TL16C550®现与PC机申行通信,电路图如图3.2所示。TMS320VC54盛用双电源供电,内核电源是1.8V,接口电源是3.3V,所以与TMS320VC5402接的器件最好选用供电电源为3.3V的器件。TL16C550就是一款5V和3.3V均可以供电的器件,因而大大简化了硬件接口电路连接。TL16C550的数据线DbD7直接与TMS320VC540的DbD7数据线相连,实现数据的传输。TL16C550的片内寄存器选择线与TMS320VC540的地址线A0A2相

19、连。当TL16C550的片选信号CS8CS1为高电平,为低电平时,兀16。550选中。CS。CS1直接与高电平相连,则与TMS320VC540的相连,从而防止与外部其他I/O口发生冲突。TL16C550的读信号为、RD2当为低电平或RD2高电平,且TL16C55破选中时,可进行读操作。写信号为、WR2当为低电甲或WR的高电平,且TL16C550被选中时,可进行写操作。TL16C550的RD2、WR甫接与地连接(无效状态;TMS320VC5402勺、R/通过或门与TL16C550的连接;TMS320VC5402勺R/与同或后,连接至。当TL16C55。的XIN引脚和XOUTjI脚间外接晶体振荡器

20、时,TMS320VC540以9600波特率与PC机通信,根据波特率=基准时钟频率/(16x波特率因子,所以波特因子寄存器的低位设置为20H,高位设置为00H。TL16C550的中断请求信号INTRPT直接连接至TMS320VC540的夕卜部中断。TL16C550的SIN引脚为串行数据输入引脚,SOU伪串行数据输出引脚。这两条信号线连接到MAX2321,从而实现数据串行TTL/COM匏平与RS232电平的转换。由于MAX23可以直接接收的电压信号,所以可接收TL16C550的的电压信号,但是MAX232的输出电压为5V,所以其输出信号必须经过电阻分压才能送至TL16C55Q4.2软件设计本系统软

21、件设计包括PC机、TMS320VC5402以及TL16C550的初始化和通信协议。初始化过程主要是设置所需参数。这些参数包括串口通信时数据位数、停止位数、奇偶校验等。另外,还需设置发送和接收的波特率以及中断方式。串行通信主程序流程图如图所示。JItfi)止林数中新允许图4.1串行通信流程图在对TMS320VC5402的初始化过程中,首先定义寄存器,例如对软件等待状态寄存器SWWSR和软件等待状态挖制寄存器SWSR的定义如下:volatileint*SWWSR=Ox28:volatileint*SWWSR=Ox2b;然后对寄存器进行读写操作,如设置I/0、ROM和RAM的等待周期:SWSR=O;

22、/等待状态基数不变SWWSR=Oxfffff;/设置I/。等待周期为7,RAM等待周期为7,ROM等待周期为7。同理,用C语言对TL16C550初始化,首先宏定义,IER宏定义为:#defineIERportOI。同理定义RBR、THR、FCR等寄存器。采用3.072MHz的晶体振荡器,波特率为9600、字长为8bit、无校验位、1位停止位的数据流。TL16C550寄存器的初始化C语言程序如下:FCR=Ox03;/允许FIFO的发送和接收,同时清除已接收到的FIFOLCR=LCR&0xFF7F;/设置DLAB=0IER=0x00;不设置中断请求LCR=0x03;/字长为8bit、无校验

23、位、1位停止位MCR=0x00;/设置CTS控制输入输出LCR=LCR&0x80;/设置DLAB=IDLL=0x20;波特翠为9600DLM=0x00;LCR=LCR&0xFF7F;/谨新设置DLAB=0初始化完成后,TMS320VC5402与PC机通过9600的速率传输数据。如果要想得到不同的波特率,则只需向波特率因子寄存器中写入相应的值即可。5调试与运行结果图5.1调试运行结果图如上图5.1所示,按下复位键后,申口调试助手窗口依次出现两行事先编辑的“helloeveryone!”成功实现PC机与DSP之间的数据交换。首先PC机将数据发送给DSP,然后DSP乂将数据发给PC机

24、。在发送字符/数据窗口键入字符“s,”假设采用手动发送,则窗口出现“ss;'假设采用自动发送,则窗口连续出现“sssssssss;.按下复位键后,数据停止发送。丁是通过编写的DSP程序和对程序的运行调试,成功实现DSP和PC机之间的数据通信。6心得体会时间过得真快,转眼间已经有两个星期过去了,现在回想起来,往事还历历在Bo课程设计是培养学生综合运用所学知识,发现、提出、分析和解决实际问题,锻炼实践能力的重要环节,是对学生实际工作能力的具体训练和考察过程。回忆起此次DSP原理及应用的课程设计,至今我仍感慨颇多。从选题到定稿,从理论到实践,在整整两星期的日子里,可以说得是苦多于甜,但是可以

25、学到很多很多的东西,同时不仅可以稳固了以前所学过的知识,而且学到了很多在书本上所没有学到过的知识。通过这次课程设计使我懂得了理论与实际相结合是很重要的,只有理论知识是远远不够的,只有把所学的理论知识与实践相结合起来,从理论中得出结论,才能真正为社会服务,从而提高自己的实际动手能力和独立思考的能力。在设计的过程中遇到问题,可以说得是困难重重,这毕竟第一次做的,难免会遇到过各种各样的问题,同时在设计的过程中发现了自己的不足之处,对以前所学过的知识理解得不够深刻,掌握得不够牢固通过这次课程设计之后,一定把以前所学过的知识重新温故。这次课程设计终于顺利完成了,在设计中遇到了很多问题,最后在老师的辛勤指

26、导下,同学的帮助下终于迎刃而解。在此我表示感谢!在这次课程设计过程中,我们结合了课程中所学的理论知识,依据书上提供的DSP与文献中的TL16C55卵原理的基础上来进行编程,这次课程设计我们学到了很多东西,虽然做出来的东西很基础,但是我们加深了对知识的理解和掌握,作为一名大四学生,我觉得做课程设计十分的有意义,这不仅是锻炼培养独立分析与解决问题的能力,也是一次团队合作开发过程。参考文献1 邹彦.DSP原理及应用M.北京:电子工业出版社,2005,1.2 戴明桢.TMS320C54xDSP结构、原理及应用M.北京航空航天大学出版社,2001,8.3 胡圣尧.DSP原理及应用M.东南大学出版社,20

27、08.7.4 活源科技.TMS320C54xDSP应用程序设计教程M.机械工业出版社,2004,1.5 活源科技.TMS320C54X硬件开发教程M.机械工业出版社,2003,1.6 蔡琳洁.DSP与PC机申口的高速数据通信的实现J.电讯技术,2001,4.附录*FileName:ex3.asm*Description:异步串行口实验*CMD文件:MEMORY(PAGE0:VECS:origin=0xff80,length=0x80PROG:origin=0x1000,length=0x1000PAGE1:DATA:origin=0x2000,length=0x1000STACK:origin

28、=0x3000,length=0x1000SECTIONS(.vectors:(>VECSPAGE0.text:(>PROGPAGE0.data:(>DATAPAGE1.stack:(>STACKPAGE15000系列DSP汇编语言:.title"ex3".global_c_int00.mmregs.def_c_int00UART_BASE.set0x0000THR.setUART_BASE+0x00RBR.setUART_BASE+0x00IIR.setUART_BASE+0x20IER.setUART_BASE+0x10FCR.setUART_B

29、ASE+0x20LCR.setUART_BASE+0x30MCR.setUART_BASE+0x40LSR.setUART_BASE+0x50MSR.setUART_BASE+0x60SCR.setUART_BASE+0x70DLL.setUART_BASE+0x00DLM.setUART_BASE+0x10BAUDLOW.set60hBAUDHIGH.set61hBAUDCTL.set62hRDDLM.set63hRDDLL.set64hRDTEMP.set65hIER_ADDR.set66hFCR_ADDR.set67hUART_STATUS.set68hSENDADDR.set6ahTHRE.set0x0020DR.set0x0001LEN.set48.dataSENDBUF:.string"WelcometouseSanZhiDSPExperimentInstruments!.sect".vectors"rst:B_c_int00NOPNOP.sp

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论