DSP串口通信DSP串口通信DSP串口通信摘要本次课程设计的主要工作就是基于在TMS320F2812DSP芯片的SCI口上的串口通信的设计与实现。由于TMS320F2812包含了两个串行通信接口(SCI)模块,SCI模块提供了DSP与其他标准NRZ格式的异步外围之间的数字通讯。TMS320F2812是美国TI公司推出的TMS320F281x系列中的性能最优的32位定点信号处理器,它具有高度集成、高速、低功耗、易于开发等优点。本文主要介绍了TMS320F2812硬件结构、功能特点及其在串行通信中的简单应用。串行通信接口是采用双线通信的异步串行通信接口,即通常所说的UART口。为减小串口通信时CPU的开销,F2812的串口支持16级接收和发送FIFO。SCI模块采用标准非归0(NRZ)数据格式,可以同CPU或其他通信数据格式兼容的异步外设进行数字通信。当不使用FIFO时,SCI接收器和发送器采用双级缓冲传送数据,SCI接收器和发送器有自己的独立使能和中断位,可以独立的操作,在全双工模式下也可以同操作。为保证数据完整,SCI模块对接收到的数据进行间断、极性、超限和帧错误检测。通过对16位的波特率控制寄存器进行编程,配置不同的SCI通信速率。关键字:TMS320F2812;SCI;串口通信;DSP串口通信目录1绪论………………………………………………………………………………11.1课程设计内容及要求………………………………………………………11.2TMS320F281x系列芯片功能概述…………………………………………12课程设计环境……………………………………………………………………52.1DSP集成开发实验箱…………………………………………………52.2CCS2000开发环境的安装………………………………………………63电路组成和工作原理……………………………………………………………93.1SCI模块结构与原理……………………………………………………93.2SCI模块发送接收原理…………………………………………………113.3PIE中断原理概述………………………………………………………123.4SCI通信波特率………………………………………………………134串口通信硬件与软件设计……………………………………………………144.1串口通信硬件设计………………………………………………………144.2串口通信软件设计………………………………………………………165心得体会………………………………………………………………………216参考文献………………………………………………………………………22附录DSP串口通信程序…………………………………………………………23DSP串口通信第1页共25页1绪论1.1课程设计内容及要求DSP课程设计是对《数字信号处理》、《DSP原理及应用》等课程的较全面练习和训练,是实践教学中的一个重要环节。通过本次课程设计,综合运用数字信号处理、DSP技术课程以及其他有关先修课程的理论和生产实际知识去分析和解决具体问题,并使所学知识得到进一步巩固、深化和发展。初步培养学生对工程设计的独立工作能力、电子系统设计的一般方法。通过课程设计树立正确的设计思想,提高学生分析问题、解决问题的能力。进行设计基本技能的训练,如查阅设计资料和手册、程序的设计、调试等。本题目要求实现DSP与计算机的异步串行通信,设计目的在于了解DSP与PC机串行通信的实现软硬件方案,了解DSP的中断系统,掌握DSP的I/O工作方式。(1)设计DSP与PC的异步通讯接口电路,实现串行数据的发送与接收(2)通过编写DSP程序,实现DSP与PC机之间的数据交换。(3)要求详细叙述DSP与PC异步通讯接口设计方案以及控制的编程。(4)按要求编写课程设计报告书,正确、完整的阐述设计和实验结果。(5)在报告中绘制程序的流程图,并文字说明。1.2TMS320F281x系列芯片功能概述C28x系列的主要片种为TMS320F2810和TMS320F2812。两种芯片的差别是:F2812内含128K×16位的片内Flash存储器,有外部存储器接口,而F2810仅有64K×16位的片内Flash存储器,且无外部存储器接口。其硬件特征如表1所示。DSP串口通信第2页共25页表1硬件特征特征F2810F2812指令周期(150MHz)6.67ns6.67nsSRAM(16位/字)18K18K3.3V片内Flash(16位/字)64K128K片内Flash/SRAM的密钥有有BootROM有有掩膜ROM有有外部存储器接口无有事件管理器EVA和EVBEVA、EVBEVA、EVB*通用定时器44*比较寄存器/脉宽调制1616*捕获/正交解码脉冲电路6/26/2看门狗定时器有有12位的ADC有有*通道数1616特征F2810F281232位的CPU定时器33串行外围接口有有串行通信接口(SCI)A和BSCIA、SCIBSCIA、SCIB控制器局域网络有有多通道缓冲串行接口有有数字输入/输出引脚(共享)有有外部中断源33供电电压核心电压1.8VI/O电压3.3V核心电压1.8VI/O电压3.3V封装128针PBK179针GHH,176针PGF温度选择‡A:-40℃~+85℃S:-40℃~+125℃PBK仅适用于TMSPGF和GHH仅适用于TMS产品状况‡‡产品预览(PP)高级信息(AI)产品数据(PD)AI(TMP)‡‡‡AI(TMP)‡‡‡DSP串口通信第3页共25页TMS320F281x系列DSP(数字信号处理器)是TI公司最新推出的数字信号处理器,该系列处理器是基于TMS320C2xx内核的定点数字信号处理器。器件上集成了多种先进的外设如图2所示,为电机及其它运动控制领域应用的实现提供了良好的平台。同时代码和指令同F24x系列数字信号处理器完全兼容,保障了项目或产品设计的可延续性。同F24x系列数字信号处理器相比,F281x系列数字信号处理器提高了运算的精度(32位)和系统的处理能力(达到150MIPS)。该系列数字信号处理器还集成了128K的Flash存储器,4K的引导ROM,数学运算表及2K的OTPROM,从而大大改善了应用的灵活性。128位的密码保护机制有效的保护了产品的知识产权。两个事件管理器模块为电机及功率变换控制提供了良好的控制功能。16通道高性能12位ADC单元提供两个采样保持电路,可以实现双通道信号同步采样。引脚LQFP封装图如图1所示,芯片功能框图如图2所示。图1176引脚LQFP封装顶视图DSP串口通信第4页共25页图2TMS320F281x系列DSP功能框图DSP串口通信第5页共25页2课程设计环境2.1DSP集成开发实验箱(1)适用范围:专家IV+型(EL-DSP-EXPIV+)教学实验系统如下图3所示是我公司在总结多年开发经验的基础上推出的一款全新DSP教学实验系统。适合信号处理、电子信息、计算机、自动化、测控等相关专业的教学实验及科研研发。同时本产品也是大学生电子设计竞赛的理想开发平台。(2)结构简介:系统采用模块化分离式结构,便于用户使用、扩展和二次开发。该系统采用双CPU设计,实现了DSP多处理器的协调工作,支持54X系列和2X系列的CPU板。客户可根据自己的需求选用不同类型的CPU板,目前以可选CPU板有:TMS320VC5402、TMS320VCVC5416、LF2407、F2812、VC5509。用户在不需要改变任何配置情况下,更换CPU板即可做不同类型的DSP实验。通过“E-lab”和“Techv”扩展总线,可以扩展机、电、声、光等不同领域的扩展模块,完成数据采集、图象处理、通讯、网络、控制等扩展实验。除此之外,在实验箱上有丰富的外围扩展资源,可以完成DSP基础实验、算法实验、编解码试验、双CPU综合实验、扩展实验。图3EL-DSP-EXPIV+型实验系统原理框图DSP串口通信第6页共25页2.2CCS2000开发环境的安装选择安装界面中“CodeCmposterStudio”选项。如下所示完成上述步骤后只需点“Next”继续。在出现提示确认没有运行病毒检测软件的提示窗口时点“确定”。如下所示选择“Yes”同意CCS的安装协议。如下所示DSP串口通信第7页共25页选择默认安装组件,点“Next”。如下所示选择默认安装路径“C:\ti”点“Next”。如下所示出现下所示时取消勾选项,并点击“Finish”。DSP串口通信第8页共25页完成上述步骤,再出现的对话框中点击“确定”。如下所示安装完成后,计算机桌面出现如下所示的快捷方式图标。DSP串口通信第9页共25页3电路组成和工作原理3.1SCI模块结构与原理SCI接口采用双线通信的异步串行通信接口,通常所说的UART口。为减小串口通信时CPU开销,F2812的串口支持16级接收和发送FIFO。SCI模块采用标准非归0(NRZ)数据格式,同CPU或其他通信数据格式兼容的异步外设进行数字通信。当不使用FIFO时,SCI接收器和发送器采用双级缓冲传送数据,SCI接收器和发送器有自己的独立使能和中断位,可以独立的操作,在全双工模式下也可以同时操作。为保证数据完整,SCI模块对接收到的数据进行间断、极性、超限和帧错误检测。通过对16位的波特率控制寄存器进行编程,配置不同的SCI通信速率。外部晶振通过PLL模块产生了CPU的系统时钟SYSCLKOUT,然后SYSCLKOUT经过低速预定标器之后输出低速时钟LSPCLK供给SCI。要保证SCI的正常运行,系统控制模块下必须使能SCI的时钟,也就是在系统初始化函数中需要将外设时钟控制寄存器PCLKCR的SCIAENCLK位置1。从下图4,我们可以清楚的看到SCIA可以产生两个中断,RXINT和STXINT,即发送中断和接收中断。图4SCI同CPU之间的接口DSP串口通信第10页共25页下图5给出了串行通信接口(SCI)模块方框图:图5串行通信接口(SCI)模块方框图DSP串口通信第11页共25页3.2SCI模块发送接收原理图6串行通信接口发送接收原理图SCI模块的工作原理如图6所示,之所以SCI能工作于全双工模式,是因为它有独立的数据发送器和数据接收器,这样能够保证SCI既能够同时进行,也能够独立进行发送和接收的操作。SCI发送数据的过程如下:如图6右半部分所示,在FIFO功能使能的情况下,首先,发送数据缓冲寄存器SCITXBUF从TXFIFO中获取由CPU加载的需要发送的数据,然后SCITXBUF将数据传输给发送移位寄存器TXSHF,如果SCI的发送功能使能,TXSHF则将接收到的数据逐位逐位的移到SCITXD引脚上。SCI接收数据的过程如下:如图3的左半部分所示,首先,接收移位寄存器RXSHF逐位逐位的接收来自于SCIRXD引脚的数据,如果SCI的接收功能使能,RXSHF将这些数据传输给接收缓冲寄存器SCIRXBUF,CPU就能从SCIRXBUF读取外部发送来的数据。当然,如果FIFO功能使能的话,SCIRXBUF会将数据加载到RXFIFO的队列中,CPU再从FIFO的队列读取数据。DSP串口通信第12页共25页3.3PIE中断原理概述C281xCPU支持17个CPU级的中断,其中包括一个不可屏蔽中断(NMI)和16个可屏蔽中断(INT1到INT14,RTOSINT和DLOGINT)。C281x器件还有很多外设,每个外设都会产生一个或者多个外设级中断。由于CPU没有能力处理所有CPU级的中断请求,因此需要一个中断扩展控制器来仲裁这些中断。系统中PIE向量表是存放每个中断服务程序的地址,每个中断都有自己的中断向量,在系统初始化时,需要定位中断向量表,在操作的过程中也可对中断向量表的位置进行调整。如下图7所示中断扩展模块图。图7中断扩展模块图DSP串口通信第13页共25页3.4SCI通信波特率TMS320F2812的每个SCI都具有两个8位的波特率寄存器,SCIHBAUD和SCILBAUD,通过编程,可以实现达64K不同的速率。波特率的计算公式