基于DSP的串行通信的解剖.doc_第1页
基于DSP的串行通信的解剖.doc_第2页
基于DSP的串行通信的解剖.doc_第3页
基于DSP的串行通信的解剖.doc_第4页
基于DSP的串行通信的解剖.doc_第5页
已阅读5页,还剩2页未读 继续免费阅读

下载本文档

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

文档简介

电科1011 2012511006 刘玉泉基于DSP的串行通信系统的解剖一 基于DSP串行通信系统的原理分析DSP通过连接一个ADC0809就可实现数据的采集,但是它占有较多的IO口线,同时还有速度匹配的问题不容易实现,占用板子的空间也比较大。而DSP内部含有A/D模块,其硬件由模拟输入管脚、模拟输入多路开关、排序器、ADC转换器、数字多路开关和寄存器组成,它们的工作由相应的配置寄存器控制。A/D转换最小时间可达到500ns时间,16个模拟输入通道通过一个模拟开关共用一个10bit的A/D转换器,各通道的选通由ADC的控制寄存器控制,通过时分复用方式完成所有的转换,转换结果也可由控制寄存器决定结果放到任意一个结果寄存器中,在测量点较少时就外部可以不用接入模拟开关,所以系统选择DSP芯片内部的AD模块。通过加上一些少量的外围电路,应用DSP内部含有A/D模块通过相应的寄存器控制完全可以实现少量点的数据采集。选用液晶显示模块作为系统的显示器。二 基于DSP串行通信系统的原理图图1串行通信系统的原理图三 基于DSP串行通信系统的控制框图图2串行通信系统的控制框图四 基于DSP串行通信系统的模块分析4.1 DSP模块4.1.1 SCI模块 TMS320LF2407A DSP内部集成有串行通信接口SCI模块。SCI模块支持DSP与其它使用标准格式外设之间的数字通信。SCI接收器和发送器是双缓冲的,每一个都有自己单独的使能和中断标志位。两者可以独立工作,也可以在全双工的方式下同时工作。为确保数据的完整性,SCI还可以对接受到的数据进行间断检测、奇偶性校验、超时和帧出错的检查。通过一个16位的波特率选择寄存器,数据传输的速度可以被编程为65000多种不同的方式。SCI模块的特征有:(1) 两个外部引脚:SCITXD:SCI发送数据引脚,SCIRXD:SCI接收数据引脚。(2) 通过一个16位的波特率选择寄存器,可编程为64K种不同速率的波特率;在40MHz的CPU时钟方式下,波特率范围从76bps到1875Kbps。(3) 数据格式:一个启始位;18位的可编程数据字长度;可选择的奇/偶/无校验位;一个或两个停止位。(4) 四种错误检测标志位:奇偶错、超时、帧出错或间断检测。(5) 两种唤醒多处理器方式:空闲线或地址位唤醒。(6) 半双工或全双工操作。(7) 双缓冲的接收和发送功能。(8) 发送和接收的操作可以利用状态标志位通过中断驱动或查询算法来完成。发送器:TXRDY标志(发送缓冲寄存器准备接受另一个字符)和TXEMPTY标志(发送移位寄存器空);接收器:RXRDY标志(接收缓冲寄存器准备接收另一个字符)、BRKDT标(间断条件发生)和RX EERR标志(监视4个中断条件)。(9) 发送器和接收器的中断位可独立使能(除BRKDT外)。(10) 不返回零(NRZ)格式。 SCI模块的10个控制寄存器地址位于7050h705Fh之间。SCI的相关寄存器: TMS320LF2407A DSP中与串行通信有关的寄存器在完成SCI模块串行通信功能中起着至关重要的作用,对SCI模块串行通信的控制、操作方式和通信协议的选择、波特率和字符格式的选择、中断优先级的选择和使能等都是通过寄存器来完成的,SCI模块的编程主要也是对这些寄存器进行操作。因此熟练掌握这些寄存器的使用对进行DSP串行通信编程是非常重要的。下面是2407A DSP中与串行通信有关的寄存器: 通信控制寄存器:SCICCR。定义了用于SCI的字符格式、协议和通信模式,地址为7050h。 SCI控制寄存器1:SCICTL1。控制着接收器和发送器使能位、TXWAKE和SLEEP功能、内部时钟使能以及串行通信接口的软件复位。其地址为7051h。 波特率选择寄存器:SCIHBAUD和SCILBAUD。 SCIHBAUD(高字节)和SCILBAUD(低字节)连接在一起形成16位波特率值。其地址分别为7052h和7053h。 SCI控制寄存器2:SCICTL2。用来反映发送准备好和发送缓冲器空及使能间断检测和SCITXBUF中断。其地址为7054h。 接口状态寄存器:SCIRXST。包括7个接收状态标志位,其中2个可产生中断请求。每次将一个完整的数据传送到接收缓冲器(SCIRXEMU和SCIRXBUF)时,这些状态标志位都被更新。每次读接收缓冲器时,标志位被清除。其地址为7055h。 接收数据缓冲寄存器:SCIRXBUF和SCIRXEMU。接收数据从RXSHF传送到接收数据缓冲寄存器中。当传送操作完成时,RXRDY标志位置位,这表明接收到的数据已经准备好。两个寄存器中存放着相同的数据;它们有分开的地址但在物理上并不是分开的缓冲器。它们的区别是:SCIRXEMU寄存器主要是由仿真器(EMU)使用,读SCIRXEMU操作并不清除RXRDY标志位,而读SCIRXBUF操作会清除该标志位。其地址分别为7056h和7057h。 发送数据缓冲寄存器:SCITXBUF。发送的数据被写入到发送数据缓冲寄存器中。数据从该寄存器传送到发送移位寄存器(TXSHF)的操作将置位TXRDY标志位,这表明可向SCITXBUF寄存器写入新数据 还有优先级仿真控制寄存器:SCIPRI;中断屏蔽寄存器:IMR;外设中断向量寄存器:PIVR。系统控制与状态寄存器1:SCSR1;IO多路控制寄存器A:MCRA等等。波特率计算: TMS320LF2407A中的串行通信接口模块的通信速率是由芯片时钟(CLKOUT)和波特率选择寄存器(SCIHBAUD和SCILBAUD)共同决定的。其波特率共有64K种可供选择。采用30MHz时钟输出时,其波特率最小为57.2bps,最大可达1875Kbps。可通过设置波特率选择寄存器SCIHBAUD(高位)和SCILBAUD(低位)来组成一个16位的字并将该字转换为十进制即可得到一个065535的值,而这个被定义为BRR的十进制值则可用来设置串行通信接口模块的波特率。具体波特率的设置方法如下: (1) 当BRR0时,波特率芯片时钟频率16;(2) 当1BRR65535时,波特率芯片时钟频率(BRR1)8。4.1.2 DSP的A/D模块带内置采样和保持的10位模数转换模块ADC,最小转换时间为500ns;具有多达16个的模拟输入通道(ADCIN0ADCIN15);具有自动排序的能力,一次可执行最多16个通道的“自动转换”,而每次要转换的通道都可通过编程来选择;两个独立的最多可选择8个转换通道的排序器可以独立工作,也可以级连后工作,排序控制器可决定模拟通道转换的顺序;可单独访问的16个转换结果寄存器;多个触发源启动转换: 软件设置启动标志、 事件管理器(共两个)提供多个事件源、外部ADCSOC引脚;灵活的中断控制,采样和保持获取时间窗口有单独的预定标控制,并且内置校验模式和自测试模式。 A/D转换过程 :A/D转换模块接到启动转换信号后,按照排序器的设置,开始转换第一个通道的数据;经过一个采样时间的延迟后,将采样结果放入转换结果寄存器保存;按顺序进行下一个通道的转换;转换结束,设置标志,也可发出中断;如果为连续转换方式则重新开始转换过程;否则等待下一个启动信号。 A/D转换相对于计算机来说是一个较为缓慢的过程,一般采用中断方式启动转换或保存结果,这样在CPU忙于其它工作时可以少占用处理时间。设计转换程序应首先考虑处理过程如何与A/D转换的时间相匹配,根据实际需要选择适当的触发转换的手段,也要能及时地保存结果。A/D转换的相关寄存器:掌握2407A DSP的A/D转换模块相关的寄存器是非常重要的,正是这些寄存器的相互作用实现了简单的数据采样功能,下面介绍一下主要的寄存器的功能。ADCTRL1主要负责A/D模块的复位,采样/保持窗口时间的预定标系数,转换时间的预定标,转换模式的选择,中断的优先级,校准等。ADCTRL2主要负责事件触发使能,触发的形式,中断的模式的选择,排序器的忙闲标志位,排序器的复位。其它寄存器MAXCONV负责转换的次数,AUTUSEQSR负责排序器当前的状态,CHSELSEQn负责通道的选择,RESULTn负责采样结果的存放等。4.2 电源电路 图3 电源电路LF2407A使用的是5V电源输入,输入后在板上要对其进行降压,使其降为3.3V的内部电源。电路如图3所示。 此电路可同时产生+5V和+3.3V的直流电源。这种设计主要是为了一些系统板芯片工作电压的需要例如MAX232E需要+5V电源而LF2407A需要+3.3V电源。VDD是经过变压整流滤波后的直流电源输入,范围为8V到12V。三端集成稳压器7805和电容C1,C2共同构成产生+5电源的电路,其中C1、C2为滤波电容,用来消除低频和高频干扰。7805输出的+5V电源经IPS7133稳压到3.3V,C3、C4也是起滤除干扰作用的。4.3 时钟电路图4 时钟电路TMS320LF2407A上集成有 PLL(锁相环)时钟模块,可以为 DSP芯片及外设提供所需的时钟信号。PLL可提供4种时钟信号:供CPU内核、片内寄存器、片内设备使用的CPUCLK;系统时钟SYSCLK,一般为CPUCLK的1/2或1/4;供模拟模块使用的ACLK,一般为1MHz;供WATCHDOG计数/实时中断模块使用的WDCLK,一般为16KHz。PLL模块可以按照4、2、1.33、1、0.8、0.66、0.57、0.5的倍率进行倍频或分频。此系统的时钟信号由外部提供,由于TMS320LF2407A的速度可达30MIPS,所以选择10MHZ的晶振,从XTALI/CLXIN和XTAL2输入,经PLLF和PLLF2倍频成20MHZ信号,供DSP使用。电路图如图4所示:2407A器件的PLL模块需要外部的RC元件进行回路滤波。保持回路滤波的元件(R13,C18,C19)要接到PLLF和PLLF2引脚。PLL电路的所有走线应尽可能短。在PLLVCCA需要接一个旁路电容C20,以减少高频干扰。4.4复位电路图5 复位电路LF2407A可以进行多重复位,第一次复位产生与对U10 的调整,这个设置将等待LF2407的RESET管脚上的电压到内部电压到达指定范围为止。 系统也可以进行输入输出的复位,内部复位是利用看门狗在RS-管脚拉底的情况下产生的,外部复位时只要选择SW1。 SW1是用户复位开关,按下这个开关,LF2407-A即刻就会复位。电路图如图5所示。上电后,由于电容C1充电时,使RST产生一段时间低电平后又变成高电平,按下复位键K后松开,也能使RST为一段时间的低电平,从而实现上电或开关复位的操作。R1和C2起延时作用,确保复位的可靠性。4.5串行通信模块图6 MAX232C与处理器的接口电路2407A芯片内部集成了一个串行通信接口(SCI)模块,该模块是一个标准的通用异步接收/发送(UART)通信接口,有SCITXD(SCI发送输出引脚)和SCIRXD(SCI接收输入引脚)两个外部引脚,引脚的信号电平为TTL类型。而PC机串口的异步串行通信基于RS232C标准,两者的信号逻辑电平不一致,必须进行信号电平转换。本设计选用内部含有电压倍增电路的电平变换芯片MAX232,MAX232有两对收/发单元,而实现DSP与PC之间的串口通信只需一对收/发单元即可,所以不但满足课题所需,并且为以后多机通讯提供了扩展的可能。实际应用中,MAX232器件对电源噪声很敏感,因此MAX232的Vdd引脚必须要对地加1uF去耦电容。另外,为提高抗干扰能力,添加了四个1uF电容,连接在内部电源引脚输出端。芯片第7、8引脚分别接到串行插槽的第3、2引脚;9、10引脚接DSP的RXD、TXD引脚。 需要注意的是,MAX232是5V器件,而DSP是3.3V供电,因此需要考虑电平转换,否则将无法正常收发数据。由于Maxim公司已经注意到这点并推出了专用3.3V供电的器件MAX232E,利用它就可以无需考虑3V到5V的电平转换问题。MAX232E与处理器的接口电路如图6所示。4.6 数据采集模块 图 7 A/D模块外围电路图2407A芯片内部有16个模拟输入通道,分别为ADCIN00到ADCIN15。本系统选用ADCIN00作为模拟输入端口,并在输入端口上加一个1K的电阻R1来解决和DSP芯片内阻抗匹配的问题。AD模块选用的参考电压为3.3V,由于模拟输入信号未经任何转换就进入DSP,所以必须保证输入的模拟信号的幅度在0到3.3V之间。外接信号源,则必须用示波器检测信号范围,保证最小值0V最大值3.3V,否则容易损坏DSP芯片的模数采集模块。本系统模拟源用一个接有3.3电源的10K电位器来代替。具体电路图如图7所示。当按键被按下的时候会产生一个低电平,从而触发LF2407A产生ADC中断,并进行相应的处理。4.7 显示模块图8 液晶显示模块与DSP的接口电路图本系统选用液晶显示模块SMC1602作为系统的显示器,它具有简单而功能较强的指令集,可实现字符移动、闪烁等功能。液晶显示屏上排列着32个57点阵的字符显示位,每个显示位可显示1个字符,共分两行,每行16个字符。一般地,主控CPU与SMC1602B液晶模块的硬件接口有总线方式和模拟口线方式两种,这里,我们以2407A作为主控CPU,使用总线接

温馨提示

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

评论

0/150

提交评论