基于DSP基于DSP的串行通信实现(下位机部分)_第1页
基于DSP基于DSP的串行通信实现(下位机部分)_第2页
基于DSP基于DSP的串行通信实现(下位机部分)_第3页
基于DSP基于DSP的串行通信实现(下位机部分)_第4页
基于DSP基于DSP的串行通信实现(下位机部分)_第5页
已阅读5页,还剩11页未读 继续免费阅读

下载本文档

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

文档简介

1、. .第 1 章 绪论1.1 课题研究的意义及背景随着现代信息技术的发展以及网络的广泛应用,串行通信技术已经日臻成熟。由于其具有线路简单、应用灵活、可靠性高等一系列优点,所以长期以来在数据采集、数据通讯、故障检测、计算机远程监控等方面都有着广泛的应用。串行通信就是数据在一根传输线上由低位到高位一位一位地顺序传输。通常计算机之间、计算机与串行外设之间以及实时多处理机分级分部控制系统中,各CPU间都采用串行通信方式交换数据。串行通信的特点是通信距离远,通信成本低,但通信过程中要求数据有固定的格式,所以通信过程的控制要比并行通信复杂。串行通信的基本方式可分为同步串行方式和异步串行方式,两者本质上都是

2、保证数据正确发送和接收的同步方式,区别在于异步串行方式是字符同步,而同步串行方式是字符之间、位与位之间都同步。异步串行通信口它包括了RS232、RS499、RS423、RS422和RS485等接口标准规和总线标准规。1969年,美国电子工业协会(EIA)公布了RS-232C作为串行通信接口的电气标准,该标准定义了数据终端设备(DTE)和数据通信设备(DCE)间按位串行传输的接口信息,合理安排了接口的电气信号和机械要求,在世界围得到了广泛的应用。但它采用单端驱动非差分接收电路,因而存在着传输距离不太远(最大传输距离15m)和传送速率不太高(最大位速率为20Kb/s)的问题。远距离串行通信必须使用

3、Modem,增加了成本。在分布式控制系统和工业局部网络中,传输距离常介于近距离(20m)和远距离(2km)之间的情况,这时RS-232C(25脚连接器) 不能采用,用Modem又不经济,因而需要制定新的串行通信接口标准。1977年EIA制定了RS-449。它除了保留与RS-232C兼容的特点外,还在提高传输速率,增加传输距离及改进电气特性等方面作了很大努力,并增加了10个控制信号。与RS-449同时推出的还有RS-422和RS-423,它们是RS-449的标准子集。另外,还有RS-485,它是RS-422的变形。RS-422、RS-423是全双工的,而RS-485是半双工的。RS-422标准规

4、定采用平衡驱动差分接收电路,提高了数据传输速率(最大位速率为10Mb/s),增加了传输距离(最大传输距离1200m)。RS-423标准规定采用单端驱动差分接收电路,其电气性能与RS-232C几乎相同, 并设计成可连接RS-232C和RS-422。它一端可与RS-422连接,另一端则可与RS-232C 连接,提供了一种从旧技术到新技术过渡的手段。同时又提高位速率(最大为300Kb/s) 和传输距离(最大为600m)。P C机的串行接口基本上都采用异步通信方式。COM口是PC上异步串行通信口的简写。由于历史原因,IBM的PC外部接口配置为RS232,成为实际上的PC界默认标准。所以现在PC机的CO

5、M口均为RS232,这要求与PC机进行串口通信的设备要满RS232的串行通信协议。随着串行通信的广泛应用,一些芯片也集成了串行通信模块,这使得这些芯片与PC 机通信的应用在工业领域快速地发展起来。DSP 芯片就是其中一种,并且随着它的性能不断的提高,在工业控制和网络通信等方面得到了广泛的应用。1.2 DSP芯片简介DSP 发展历程大致分为三个阶段:70 年代理论先行,80 年代产品普及 ,90 年代突飞猛进。在 DSP 出现之前数字信号处理只能依靠 MPU 来完成。因此,直到 70 年代, 有人才提出了 DSP 的理论和算法基础。随着大规模集成电路技术的发展,1982 年世界上诞生了首枚 DS

6、P 芯片。这种 DSP 器件采用微米工艺 NMOS 技术制作,虽功耗和尺 寸稍大,但运算速度却比 MPU 快了几十倍,尤其在语音合成和编码中得到了广泛应用。DSP 芯片的问世是个里程碑,它标志着 DSP 应用系统由大型系统向小型化迈进了一大步。 至 80 年代中期,随着 CMOS 技术的进步与发展,第二代基于 CMOS 工艺的 DSP 芯片应运而生,其存储容量和运算速度都得到成倍提高,成为语音处理、图像硬件处理技术的基础。 80 年代后期,第三代DSP 芯片问世,运算速度进一步提高,其应用于围逐步扩大到通信、计算机领域。 90 年代 DSP 发展最快,相继出现了第四代和第五代 DSP 器件。现

7、在的DSP 属于第五代产品,它与第四代相比,系统集成度更高,将DSP 芯核及外围元件综合集成在单一芯片上。这种集成度极高的 DSP 芯片不仅在通信、计算机领域大显身手,而且逐渐渗透到人们日常消费领域。 经过 20 多年的发展,DSP. .产品的应用已扩大到人们的学习、工作和生活的各个方面,并逐渐成为电子产品更新换代的决定因素。目前,对 DSP 爆炸性需求的时代已经来临,前景十分可观。DSP 系统是以数字信号处理为基础,因此具有数字处理的全部优点:(1) 接口方便。DSP 系统与其它以现代数字技术为基础的系统或设备都是相互兼容的,与这样的系统接口以实现某种功能要比模拟系统与这些系统接口容易得多;

8、(2) 编程方便。DSP 系统中的可编程 DSP 芯片可使设计人员在开发过程中灵活方便地对软件进行修改和升级;(3) 稳定性好。DSP 系统以数字处理为基础,受环境温度以及噪声的影响较小, 可靠性高;(4) 精度高。16 位数字系统可以达到10 5 的精度;(5) 可重复性好。模拟系统的性能受元器件参数性能变化比较大,而数字系统基本不受影响,因此数字系统便于测试、调试和大规模生产;(6) 集成方便。DSP 系统中的数字部件有高度的规性,便于大规模集成。当然,数字信号处理也存在一定的缺点。比如对于简单的信号处理任务,如与模拟交换线的接口,若采用DSP 则使成本增加。DSP 系统中的高速时钟可能带

9、来高频干扰和电磁泄漏等问题,而且DSP 系统消耗的功率也较大。此外,DSP 技术更新的速度快,数学知识要求多,开发和调试工具还不尽完善。虽然 DSP 系统存在着一些缺点, 但其突出的优点已经使之在通信、语音、图像、雷达、生物医学、工业控制、仪器仪表等许多领域得到越来越广泛的应用。随着 DSP 芯片性能价格比的不断提高,可以预见 DSP 芯片将会在更多的领域得到更为广泛的应用。1.3 课题分析串行通信的基本方式可分为同步串行方式和异步串行方式,两者本质上都是保证数据正确发送和接收的同步方式,区别在于异步串行方式是字符同步,而同步串行方式是字符之间、位与位之间都同步。异步串行通信口包括了RS232

10、、RS499、RS423、RS422和RS485等接口标准规和总线标准规,因为RS232的线路简单、应用灵活而得到广泛的应用。P C的串行接口基本上都采用异步通信方式,COM口是PC上异步串行通信口的简写。由于历史原因,IBM的PC外部接口配置为RS232,成为实际上的PC界默认标准。所以现在PC的COM口均为RS232,这就要求与PC进行串口通信的设备需要满足RS232的串行通信协议。随着串行通信的广泛应用,一些芯片也集成了串行通信模块,这使得这些芯片与PC机通信的应用在工业领域快速地发展起来。DSP芯片就是其中一种, 并且随着它的性能不断的提高,在工业控制和网络通信等方面得到了广泛的应用。

11、本系统包括三部分,分别为串行通信模块、数据采集模块、显示模块。主要功能是利用 DSP 的片上资源实现与 PC 的串行通信、DSP 与上位机串行通讯之间的简单协议设计实现及联合调试、模拟量的采集上传,发送和接收数据的显示。其系统框图如图 1.1 所示。SMC1602BLCD 显示器I/OADC模拟信号采集DSPPCSCI电平转换模块MAX232插槽TMS320LF2407A图 1.1 系统总体结构框图因为 DSP 是 TTL(5V)电平,而 PC 是 RS-232(15V)电平。所以在 DSP 的 SCI 输入端 RXD 和输出端 TXD 与 RS-232 电缆之间应接入电平转换器。常用的有 M

12、C1488 发送器,MC1489 接收器,MC145406 收发器,这些芯片均需要12V 电源。为减少电源数量,现有多种部含有电源变换的电平转换芯片,如 MC145407、MAX232 等。本方案选择 MAX232,它有两对转换器,完全满足课题所需。DSP 通过连接一个 ADC0809 就可实现数据的采集,但是它占有较多的 IO 口线, 同时还有速度匹配的问题不容易实现,占用板子的空间也比较大。而DSP 部含有 A/D 模块,其硬件由模拟输入管脚、模拟输入多路开关、排序器、ADC 转换器、数字多路开关和寄存器组成,它们的工作由相应的配置寄存器控制。A/D 转换最小时间可达到500ns 时间,1

13、6 个模拟输入通道通过一个模拟开关共用一个 10bit 的 A/D 转换器,各通道的选通由 ADC 的控制寄存器控制,通过时分复用方式完成所有的转换,转换结果也可由控制寄存器决定结果放到任意一个结果寄存器中,在测量点较少时就外部可以. .不用接入模拟开关,所以系统选择 DSP 芯片部的 AD 模块。通过加上一些少量的外围电路,应用 DSP 部含有 A/D 模块通过相应的寄存器控制完全可以实现少量点的数据采集。显示可以用数码LED 和液晶LCD 来完成,前者可以用移位寄存器 74LS164 来驱动, 74LS164 是 8 位串入并出移位寄存器,可以实现 LED 的显示,但是显示的位数较多时,

14、需占用较多的 I/O 口线,占用板子的空间也较大。后者它将 LCD 控制器、驱动器、RAM、ROM 和 LCD 显示器集成到了一块 PCB 板上。这种模块与 DSP 芯片借口简单,使用方便。本系统选用液晶显示模块作为系统的显示器。第 2 章 DSP 的 SCI 和 A/D 的原理2.1 DSP的SCI模块原理TMS320LF2407A DSP 部集成有串行通信接口 SCI 模块。SCI 模块支持 DSP 与其它使用标准格式外设之间的数字通信。SCI 接收器和发送器是双缓冲的,每一个都有自己单独的使能和中断标志位。两者可以独立工作,也可以在全双工的方式下同时工作。为确保数据的完整性,SCI 还可

15、以对接受到的数据进行间断检测、奇偶性校验、超时和帧出错的检查。通过一个 16 位的波特率选择寄存器,数据传输的速度可以被编程为 65000 多种不同的方式。SCI 模块的特征有(1) 两个外部引脚:SCITXDSCI 发送数据引脚,SCIRXDSCI 接收数据引脚。(2) 通过一个 16 位的波特率选择寄存器,可编程为 64K 种不同速率的波特率; 在 40MHz 的 CPU 时钟方式下,波特率围从 76bps 到 1875Kbps。(3) 数据格式:一个启始位;18 位的可编程数据字长度;可选择的奇/偶/无校验位;一个或两个停止位。(4) 四种错误检测标志位:奇偶错、超时、帧出错或间断检测。

16、(5) 两种唤醒多处理器方式:空闲线或地址位唤醒。(6) 半双工或全双工操作。(7) 双缓冲的接收和发送功能。(8) 发送和接收的操作可以利用状态标志位通过中断驱动或查询算法来完成。发送器:TXRDY 标志(发送缓冲寄存器准备接受另一个字符)和TXEMPTY 标志(发送移位寄存器空);接收器:RXRDY 标志(接收缓冲寄存器准备接收另一个字符)、BRKDT标(间断条件发生)和 RX EERR 标志(监视 4 个中断条件)。(9) 发送器和接收器的中断位可独立使能(除 BRKDT 外)。(10) 不返回零(NRZ)格式。. .SCI 模块的 10 个控制寄存器地址位于 7050h705Fh 之间

17、。2.1.1 SCI的相关寄存器TMS320LF2407A DSP 中与串行通信有关的寄存器在完成 SCI 模块串行通信功能中起着至关重要的作用,对 SCI 模块串行通信的控制、操作方式和通信协议的选择、波特率和字符格式的选择、中断优先级的选择和使能等都是通过寄存器来完成的, SCI 模块的编程主要也是对这些寄存器进行操作。因此熟练掌握这些寄存器的使用对进行DSP 串行通信编程是非常重要的。下面是 2407A DSP 中与串行通信有关的寄存器:通信控制寄存器:SCICCR。定义了用于SCI 的字符格式、协议和通信模式,地址为 7050h。SCI 控制寄存器 1:SCICTL1。控制着接收器和发

18、送器使能位、TXWAKE 和 SLEEP 功能、部时钟使能以及串行通信接口的软件复位。其地址为 7051h。波特率选择寄存器:SCIHBAUD 和 SCILBAUD。 SCIHBAUD(高字节)和 SCILBAUD(低字节)连接在一起形成 16 位波特率值。其地址分别为 7052h 和 7053h。SCI 控制寄存器 2:SCICTL2。用来反映发送准备好和发送缓冲器空及使能间断检测和 SCITXBUF 中断。其地址为 7054h。接口状态寄存器:SCIRXST。包括 7 个接收状态标志位,其中 2 个可产生中断请求。每次将一个完整的数据传送到接收缓冲器(SCIRXEMU 和 SCIRXBUF

19、)时,这些状态标志位都被更新。每次读接收缓冲器时,标志位被清除。其地址为 7055h。接收数据缓冲寄存器:SCIRXBUF 和 SCIRXEMU。接收数据从 RXSHF 传送到接收数据缓冲寄存器中。当传送操作完成时,RXRDY 标志位置位,这表明接收到的数据已经准备好。两个寄存器中存放着相同的数据;它们有分开的地址但在物理上并不是分开的缓冲器。它们的区别是:SCIRXEMU 寄存器主要是由仿真器(EMU)使用,读 SCIRXEMU 操作并不清除 RXRDY 标志位,而读 SCIRXBUF 操作会清除该标志位。其地址分别为7056h 和 7057h。发送数据缓冲寄存器:SCITXBUF。发送的数

20、据被写入到发送数据缓冲寄存器中。数据从该寄存器传送到发送移位寄存器(TXSHF)的操作将置位 TXRDY 标志位,这表明可向 SCITXBUF 寄存器写入新数据还有优先级仿真控制寄存器:SCIPRI;中断屏蔽寄存器:IMR;外设中断向量寄存器:PIVR。系统控制与状态寄存器 1:SCSR1;IO 多路控制寄存器 AMCRA 等等。2.1.2 波特率计算TMS320LF2407A 中的串行通信接口模块的通信速率是由芯片时钟(CLKOUT)和波特率选择寄存器(SCIHBAUD 和 SCILBAUD)共同决定的。其波特率共有 64K种可供选择。采用 30MHz 时钟输出时,其波特率最小为 57.2b

21、ps,最大可达 1875Kbps。可通过设置波特率选择寄存器 SCIHBAUD(高位)和SCILBAUD(低位)来组成一个 16 位的字并将该字转换为十进制即可得到一个 065535 的值,而这个被定义为 BRR 的十进制值则可用来设置串行通信接口模块的波特率。具体波特率的设置方法如下:(1) 当 BRR0 时,波特率芯片时钟频率16;(2) 当 1BRR65535 时,波特率芯片时钟频率(BRR1)8。2.2 DSP的A/D模块原理带置采样和保持的10位模数转换模块ADC,最小转换时间为500ns;具有多达16 个的模拟输入通道(ADCIN0ADCIN15);具有自动排序的能力,一次可执行最

22、多16 个通道的“自动转换”,而每次要转换的通道都可通过编程来选择;两个独立的最多可选择8个转换通道的排序器可以独立工作,也可以级连后工作,排序控制器可决定模拟通道转换的顺序;可单独访问的16个转换结果寄存器;多个触发源启动转换:软件设置启动标志、 事件管理器(共两个)提供多个事件源、外部ADCSOC引脚;灵活的中断控制,采样和保持获取时间窗口有单独的预定标控制,并且置校验模式和自测试模式。2.2.1 A/D转换过程A/D转换模块接到启动转换信号后,按照排序器的设置,开始转换第一个通道的数据;经过一个采样时间的延迟后,将采样结果放入转换结果寄存器保存;按顺序进. .行下一个通道的转换;转换结束

23、,设置标志,也可发出中断;如果为连续转换方式则重新开始转换过程;否则等待下一个启动信号。A/D 转换相对于计算机来说是一个较为缓慢的过程,一般采用中断方式启动转换或保存结果,这样在 CPU 忙于其它工作时可以少占用处理时间。设计转换程序应首先考虑处理过程如何与 A/D 转换的时间相匹配,根据实际需要选择适当的触发转换的手段,也要能及时地保存结果。2.2.2 A/D转换的相关寄存器掌握 2407A DSP 的 A/D 转换模块相关的寄存器是非常重要的,正是这些寄存器的相互作用实现了简单的数据采样功能,下面介绍一下主要的寄存器的功能。ADCTRL1 主要负责 A/D 模块的复位,采样/保持窗口时间

24、的预定标系数,转换时间的预定标,转换模式的选择,中断的优先级,校准等。ADCTRL2 主要负责事件触发使能,触发的形式,中断的模式的选择,排序器的忙闲标志位,排序器的复位。其它寄存器 MAXCONV 负责转换的次数,AUTUSEQSR 负责排序器当前的状态, CHSELSEQn 负责通道的选择,RESULTn 负责采样结果的存放等。第 3 章 硬件设计本课题采用 DSP 的 240xA 系列单片机 LF2407A 作为核心部件,由片 SCI 模块和外围电路组成串口通信接口和上位机进行通信,并把结果送入液晶显示。再由片 AD 模块和外围电路组成数据采集系统,然后把结果通过串口通信送给上位机,同时

25、送入LCD 显示其十六进制值和实际值。硬件系统主要由LF2407A 最小系统模块、串口通信模块、数据采集模块、显示模块等组成,本章就各部分的具体设计作简单介绍。3.1 DSP最小系统该系统由电源电路、时钟电路、复位电路等组成。电源电路为最小系统板提供必要的电源。时钟电路是为 LF2407A 芯片提供一个系统时钟。复位电路主要提供一个复位信号,它们三部分是 DSP 最小系统板正常工作的前提。3.1.1 电源电路设计LF2407A 使用的是 5V 电源输入,输入后在板上要对其进行降压,使其降为 3.3V 的部电源。电路如图 3.1 所示。图 3.1 电源电路此电路可同时产生+5V 和+3.3V 的

26、直流电源。这种设计主要是为了一些系统板芯片工作电压的需要例如 MAX232E 需要+5V 电源而 LF2407A 需要+3.3V 电源。VDD 是经过变压整流滤波后的直流电源输入,围为 8V 到 12V。三端集成稳压器 7805 和电容 C1,. .C2 共同构成产生+5 电源的电路,其中 C1、C2 为滤波电容,用来消除低频和高频干扰。7805 输出的+5V 电源经 IPS7133 稳压到 3.3V,C3、C4 也是起滤除干扰作用的。3.1.2 时钟电路设计TMS320LF2407A 上集成有 PLL(锁相环)时钟模块,可以为 DSP 芯片及外设提供所需的时钟信号。PLL 可提供 4 种时钟

27、信号:供 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 使用。

28、电路图如图 3.2 所示:图 3.2 时钟电路2407A 器件的 PLL 模块需要外部的 RC 元件进行回路滤波。保持回路滤波的元件(R13,C18,C19)要接到PLLF 和 PLLF2 引脚。PLL 电路的所有走线应尽可能短。在PLLVCCA 需要接一个旁路电容 C20,以减少高频干扰。3.1.3 复位电路设计LF2407A 可以进行多重复位,第一次复位产生与对 U10 的调整,这个设置将等待LF2407 的 RESET 管脚上的电压到部电压到达指定围为止。 系统也可以进行输入输出的复位,部复位是利用看门狗在RS-管脚拉底的情况下产生的,外部复位时只要选择SW1。 SW1 是用户复位开关,

29、按下这个开关,LF2407-A 即刻就会复位。电路图如图3.3 所示。图 3.3 复位电路上电后,由于电容 C1 充电时,使 RST 产生一段时间低电平后又变成高电平,按下复位键 K 后松开,也能使 RST 为一段时间的低电平,从而实现上电或开关复位的操作。R1 和 C2 起延时作用,确保复位的可靠性。3.2 串行通信模块2407A 芯片部集成了一个串行通信接口(SCI)模块,该模块是一个标准的通用异步接收/发送(UART)通信接口,有 SCITXD(SCI 发送输出引脚)和 SCIRXD(SCI 接收输入引脚)两个外部引脚,引脚的信号电平为 TTL 类型。而 PC 机串口的异步串行通信基于R

30、S232C 标准,两者的信号逻辑电平不一致,必须进行信号电平转换。本设计选用部含有电压倍增电路的电平变换芯片 MAX232,MAX232 有两对收/发单元,而实现 DSP 与 PC 之间的串口通信只需一对收/发单元即可,所以不但满足课题所需,并且为以后多机通讯提供了扩展的可能。. .实际应用中,MAX232 器件对电源噪声很敏感,因此MAX232 的 Vdd 引脚必须要对地加 1uF 去耦电容。另外,为提高抗干扰能力,添加了四个1uF 电容,连接在部电源引脚输出端。芯片第 7、8 引脚分别接到串行插槽的第 3、2 引脚;9、10 引脚接 DSP 的 RXDTXD 引脚。 需要注意的是,MAX2

31、32 是 5V 器件,而 DSP 是 3.3V 供电,因此需要考虑电平转换,否则将无常收发数据。由于 Maxim 公司已经注意到这点并推出了专用 3.3V 供电的器件 MAX232E,利用它就可以无需考虑 3V 到 5V 的电平转换问题。MAX232E 与处理器的接口电路如图 3.4 所示。3.3 数据采集模块图 3.4 MAX232C 与处理器的接口电路2407A 芯片部有 16 个模拟输入通道,分别为 ADCIN00 到 ADCIN15。本系统选用ADCIN00 作为模拟输入端口,并在输入端口上加一个 1K 的电阻 R1 来解决和 DSP 芯片阻抗匹配的问题。AD 模块选用的参考电压为 3.3V,由于模拟输入信号未经任何转换就进入 DSP,所以必须保证输入的模拟信号的幅度在 0 到 3.3V 之间。外接信号源, 则必须用示波器检测信号围,保证最小值 0V

温馨提示

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

评论

0/150

提交评论