DSP课程设计 同步串口通信在TMS320C643上实现
- 格式:doc
- 大小:1.28 MB
- 文档页数:17
利用DSP实现的步进电机控制器的设计数字信号处理(Digital Signal Processing,简称DSP)是一门涉及许多学科而又广泛应用于许多领域的新兴学科。
20世纪60年代以来,随着计算机和信息技术的飞速发展,数字信号处理技术应运而生并得到迅速的发展。
数字信号处理是一种通过使用数学技巧执行转换或提取信息,来处理现实信号的方法,这些信号由数字序列表示。
在过去的二十多年时间里,数字信号处理已经在通信等领域得到极为广泛的应用。
德州仪器、Freescale等半导体厂商在这一领域拥有很强的实力。
TMS320LF2407是TI公司主推的一种高性能、低价格DSP处理器,其处理速度达到30 MIPS,片内处理集成RAM、Flash及定时器外,还集成了A/D转换器、PWM控制器及CAN总线控制器等模块,特别适合于电机、电源变换等实时要求高的控制系统。
但是通常设计DSP程序的方法是,在DSP的集成开发环境CCS中用C语言设计,需要花费大量的时间用来编写和输入程序代码。
在Matlab中用图形化的方式设计DSP的程序,能够缩短产品的开发时间。
本文所介绍的是一种基于TMS320LF2407实现的步进电机控制系统的设计。
1 系统硬件构成整个系统分为五个部分组成:DSP中央控制器TMS320LF2407,步进电机及驱动,光电编码器,键盘及液晶显示部分,以及整个系统的外围电源电路及看门狗复位电路组成,。
在这个系统设计中,由键盘设定给定转速(位置),通过中央控制器TMS320LF2407来产生PWM脉冲信号来控制步进电机的转速(位置),可以采用光电编码器对步进电机的转速(位置)进行采样检测实现闭环控制,也可以采用开环控制无需转速(位置)信号,以上过程中的多个变量、参数可以在液晶显示屏上得到直观地反映。
整个硬件结构简单直观,中央控制器TMS320LF2407还剩余丰富的I/O及中断资源,在此设计基础上具有一定的扩展空间。
咼速DSP与PC 实现串口通信的万法数字信号处理器(Digital Signal Processor , DSP )在图形图像处理、高精度测量控制、高性能仪器仪表等众多领域得到越来越广泛的应用,实际运用中,通常须将 DSP 采集处理后的数 据传送到PC 机,然后进行存储和处理。
T1公司的TMS320VC33微处理器具有性价比高,同时,该芯片的I/O 电平、字长、运行 速度、串口功能具有大多数 DSP 的共同特点。
本文针对TMS320VC33与PC RS-232的通讯, 分析三种具体的接口电路和软件设计方法,实现高速 DSP 与低速设备的通讯:①通过TMS320VC33的通用I/O 口实现通信;②通过TMS320VC33中可设置为通用I/O 的串行引脚 实现通信;③直接利用TMS320VC33的串口功能实现通信,在硬件和软件设计的基础上,完 成相关试验和调试,并达到预期的效果。
采用通用I/O 口实现PC 的RS-232接口按照设定的固定波特率传送,RS-232串行口进行通信采用三线式 接法,即RX (数据接收)、TX (数据发送)、GND (地)三个引脚,PC 机按帧格式发送、接收数据, 一帧通常包括1位起始位("0"电平)、5-8位数据位、1位(或无)校验位、1位或1位半停止位("1"电平),起始位表示数据传送开始,数据位为低位在 前、高位在后,停止位表示一帧数据结束。
TMS320VC33微处理器的串口帧格式没有起始位和停止位,只有数据位,且数据位 为高位在前、低位在后。
利用 TMS320VC33微处理器的通用I/O 引脚实现串行通信时,须依 据RS232的通信协议并结合DSP 硬件资源编写相应的DSP 程序。
1 •硬件设计TMS320VC33微处理器共有10个引脚可配置为通用I/O 口,其中XFO 、XFl 为专用 的通用I/O 口,通过软件设计可实现 XFO 、XFl 专用I/O 口与RS232的串行通信,电路结构 如图1所示。
第1章绪论1.1 课题研究的意义及背景随着现代信息技术的发展以及网络的广泛应用,串行通信技术已经日臻成熟。
由于其具有线路简单、应用灵活、可靠性高等一系列优点,所以长期以来在数据采集、数据通讯、故障检测、计算机远程监控等方面都有着广泛的应用。
串行通信就是数据在一根传输线上由低位到高位一位一位地顺序传输。
通常计算机之间、计算机与串行外设之间以及实时多处理机分级分部控制系统中,各CPU间都采用串行通信方式交换数据。
串行通信的特点是通信距离远,通信成本低,但通信过程中要求数据有固定的格式,所以通信过程的控制要比并行通信复杂。
串行通信的基本方式可分为同步串行方式和异步串行方式,两者本质上都是保证数据正确发送和接收的同步方式,区别在于异步串行方式是字符同步,而同步串行方式是字符之间、位与位之间都同步。
异步串行通信口它包括了RS232、RS499、RS423、RS422和RS485等接口标准规范和总线标准规范。
1969年,美国电子工业协会(EIA)公布了RS-232C作为串行通信接口的电气标准,该标准定义了数据终端设备(DTE)和数据通信设备(DCE)间按位串行传输的接口信息,合理安排了接口的电气信号和机械要求,在世界范围内得到了广泛的应用。
但它采用单端驱动非差分接收电路,因而存在着传输距离不太远(最大传输距离15m)和传送速率不太高(最大位速率为20Kb/s)的问题。
远距离串行通信必须使用Modem,增加了成本。
在分布式控制系统和工业局部网络中,传输距离常介于近距离(<20m)和远距离(>2km)之间的情况,这时RS-232C(25脚连接器)不能采用,用Modem又不经济,因而需要制定新的串行通信接口标准。
1977年EIA制定了RS-449。
它除了保留与RS-232C兼容的特点外,还在提高传输速率,增加传输距离及改进电气特性等方面作了很大努力,并增加了10个控制信号。
与RS-449同时推出的还有RS-422和RS-423,它们是RS-449的标准子集。
一、单项选择题:(每小题2分,共30分)1、下面对一些常用的伪指令说法正确的是:( D )A、.def所定义的符号,是在当前模块中使用,在别的模块中定义的符号;B、.ref 所定义的符号,是当前模块中定义,并可在别的模块中使用的符号;C、.sect命令定义的段是未初始化的段;D、.usect命令定义的段是未初始化的段。
2、要使DSP能够响应某个可屏蔽中断,下面的说法正确的是( B)A、需要把状态寄存器ST1的INTM位置1,且中断屏蔽寄存器IMR相应位置0B、需要把状态寄存器ST1的INTM位置1,且中断屏蔽寄存器IMR相应位置1C、需要把状态寄存器ST1的INTM位置0,且中断屏蔽寄存器IMR相应位置0D、需要把状态寄存器ST1的INTM位置0,且中断屏蔽寄存器IMR相应位置13、对于TMS320C54x系列DSP芯片,下列说法正确的是………… ( C )A、 8位DSPB、32位DSPC、定点型DSPD、浮点型DSP4、若链接器命令文件的MEMORY部分如下所示:MEMORY{PAGE 0: PROG: origin=C00h, length=1000hPAGE 1: DATA: origin=80h, length=200h}则下面说法不正确的是()A、程序存储器配置为4K字大小B、程序存储器配置为8K字大小C、数据存储器配置为512字大小D、数据存储器取名为DATA5、在串行口工作于移位寄存器方式时,其接收由()来启动。
A、RENB、RIC、REN和RID、TR6、执行指令PSHM AR5之前SP=03FEH,则指令执行后SP=( A )A、03FDHB、03FFHC、03FCHD、0400H7、TMS320C54X DSP采用改进的哈佛结构,围绕____A__组_______位总线建立。
A、8,16B、16,8C、8,8D、16,168、TMS320C54X DSP汇编指令的操作数域中, A 前缀表示的操作数为间接寻址的地址。
TMS320C54XX系列DSP与PC机间串行通信的实现摘要:目前大多数数字信号处理器(DSP)芯片上未提代通用异步串行收发器(UART),只提供2~3个同步串行接口,其与微机及其它设备进行串行通信时,必须在DSP上扩展异步串行接口。
以美国TI公司TMS320C54XX系列DSP为例,采用MAXIM公司的MAX3111异步串行收发器,研究了理想的接口扩展方案。
论述了这种方案的软、硬件实现。
该方案硬件连接简单,软件编程方便,可实现DSP与PC机间的串行通信,具有很高的工程应用价值。
关键词:异步串行收发器多通道缓冲串行接口 DSP McBSP SPI UARTDSP在电子工业领域得到了越来越广泛的应用。
在DSP应用系统设计中,必不可少的是各种通信接口的设计。
与并行接口相比,串行接口的最大特点是减少了器件引脚数目,降低了接口设计复杂性。
串行数据传输可分为同步和异步两种模式。
通用PC机的RS-232接口为通用异步接口UART(Universal Asynchronous Receiver and Transmitter),而MOTOROLA公司的串行外围设备接口SPI、队列SPI(QSPI)、PHILIPS公司的内部IC总线(I2C),National公司的微总线(MICROWIRE)均为同步串行协议。
目前几乎所有的数字信号处理器都提供了一个或多个串行接口,然而,多数DSP芯片提供的是同步串口。
在实际的应用中,也需要DSP能够与外设进行异步串行通信,如与PC机进行串行数据传输就要求DSP系统具UART串行接口。
针对这种情况,本文研究并实现了一种简单、可靠的异步串口扩展方法。
1 扩展方案综合分析DSP应用系统中扩展异步串行接口的方案,其基本方法和优缺点如下:(1)在DSP的并行总线上扩展UART芯片(如TI公司的TL16C552),用硬件实现异步数据传输。
优点是软件实现简单,缺点是在总线上还需扩展其它设备,这样做使目标系统复杂化,增大系统体积。
实验五同步串口实验一. 验目的:1.悉CCS的开发环坏境;2.了解DSP的MCBSP外设的使用;3.熟悉C语言的宏函数在MCBSP设置中的使用情况;二. 实验内容:1. DSP的初始化;2. UART的初始化;3. MCBSP的初始化设置;4. MCBSP的发送;5. MCBSP的接收;三. 实验背景知识:1. McBSPMCBSP是DSP的片上外设资源。
它可以与其它的DSP、CODEC和带有SPI 接口的器件进行连接。
在TMS320VC5416上共有3个MCBSP(Multichannel Buffered Serial Port)。
它共有三组主个管脚,包含了数据通路与控制通路。
其内部原理图如下:注:CLKS在C5000系列的DSP中没有提供,只在C6000中才有支持。
2.串行同步通信的信号:FSR、CLKR、DR和FSX、CLKX、DX帧同步信号:FSR、FSX位-时钟:CLKR、CLKX串行数据流:DR、DX3.串行同步串行通信协议:1) 串行数据流起始时刻称为帧同步事件。
帧同步事件由位-时钟采样帧同步信号给出。
2) 串行数据流长度:串行传输的数据流位数达到设定的长度后,结束本次传输,等下一个帧同步信号达到,再发起另一次串行传输。
3) 串行数据流传输速度:即每一个串行位的持续时间,由位-时钟决定4) FSR(FSX)、CLKR(CLKX)、DR(DX)三者之间的关系即如何取得帧同步事件、何时采样串行数据位流、或何时输出串行数据位流,是可以通过MCBSP的寄存器进行配置的。
其寄存器的列表如下:其中SPCR1x后面的寄存器是二次寻址的,其过程如下:首先向SPSAx寄存器中写入你想要操作的寄存器的子地址,然后再向SPSDx中写入你想要的数据,从而完成对其的操作。
4.同步串口实验中使用MCBSP1作为与SEED-MMI5402通讯的同步串口其连接图如下:5.在同步串口实验中,,并而将MCBSP1设置成为单通道的方式使用。
TMS320C54XX系列DSP与PC机间串行通信的实现1 异步串行收发器多通道缓冲串行接口 DSP McBSP SPI UARTDSP在电子工业领域得到了越来越广泛的应用。
在DSP应用系统设计中,必不可少的是各种通信接口的设计。
与并行接口相比,串行接口的最大特点是减少了器件引脚数目,降低了接口设计复杂性。
串行数据传输可分为同步和异步两种模式。
通用PC机的RS-232接口为通用异步接口UART(Universal Asynchronous Receiver and Transmitter),而MOTOROLA 公司的串行外围设备接口SPI、队列SPI(QSPI)、PHILIPS公司的内部IC总线(I2C),National公司的微总线(MICROWIRE)均为同步串行协议。
目前几乎所有的数字信号处理器都提供了一个或多个串行接口,然而,多数DSP芯片提供的是同步串口。
在实际的应用中,也需要DSP能够与外设进行异步串行通信,如与PC 机进行串行数据传输就要求DSP系统具UART串行接口。
针对这种情况,本文研究并实现了一种简单、可靠的异步串口扩展方法。
2 扩展方案综合分析DSP应用系统中扩展异步串行接口的方案,其基本方法和优缺点如下:(1)在DSP的并行总线上扩展UART芯片(如TI公司的TL16C552),用硬件实现异步数据传输。
优点是软件实现简单,缺点是在总线上还需扩展其它设备,这样做使目标系统复杂化,增大系统体积。
(2)利用DSP的McBSP和DMA,在不扩展其它硬件的情况下,用软件实现异步数据传输格式。
这种方法的优点在于硬件简单,但软件复杂,加大了CPU的负担,所以不适合通信数据量大的场合。
(3)利用DSP的McBSP同步串行接口,在扩展适当硬件的情况下,将同步数据变换为UART异步数据格式进行传输。
这样,就充分利用了DSP的片上资源,使硬件系统尽量简单化。
综合考虑硬件连接和软件编程的方便性,本文采用第三种方案,应用美国MAXIM公司的MAX3111串行异步收发器,与DSP的McBSP口直接连接。
DSP与PC间高速串口通信的实现DSP与PC间高速串口通信的实现类别:通信网络 作者:北京理工大学电子工程系信息系统实验室王卫江陶然徐元军来源:《电子产品世界》摘要:利用UART解决DSP与PC机间通信时速率匹配问题,并给出了具体实现电路。
关键词:DSPUART 串行通信 FIFODSP是一种专门用来实现信号处理算法的微处理器芯片,主要优点有:硬件乘法器,哈佛总线结构,多种寻址方式,零耗循环(zero overhead loop),程序执行时间可预测等。
正是由于DSP的诸多优点能够满足密集的数学计算,而且DSP应用的另一个突出特点是实时性,使其在通信、雷达、数字电视等领域得到了广泛的应用,而且日益渗透到人们的日常生活的各个方面。
在实时信号处理中已经离不开DSP,这些处理系统中包含了各种数据通信,例如DSP与DSP间数据通信,DSP与PC机间数据通信等。
如何能够快速、准确的完成通信是每个硬件工程师所关心的问题。
由于DSP的工作频率较高,如TMS320C6201时钟频率为200MHz,ADSP21060时钟频率为40MHz,故其数据读写周期很短,然而PC机串口读写速度较低,最大数据吞吐量约为115kbps,尽管DSP在与这些慢速外设进行数据交换时可以加入额外的等待周期,但是在实时性要求苛刻,算法复杂的场合,将DSP从这些冗长的等待周期中解放出来,将其时间重点放在处理关键的实时任务中去,有着重要的实际意义。
故DSP与PC机之间串口通信的速度匹配是保证快速、准确通信的关键。
PC机一般带有一个或两个内置串口,每个端口的机箱背后有一个9针或25针的公插口。
串口是以bit来传输数据的,传输速率取决于UART芯片。
该芯片将PC总线上的并行数据(单字节或多字节)分割成以比特为单位的串行数据流,从而实现在串口线缆中的数据传输。
现在几乎所有的PC机都带有16550UART用以实现并行数据和串行数据的格式转换,它的最大数据吞吐量为115kbps,这已经能够满足大多数串行设备的需要了。
摘要:全双工异步串行通信在TMS320C55xDSP上的通常实现方式是利用DSP的McBSP接口加外接芯片实现,这种设计方法增加了实现UART的硬件成本和电路设计复杂度。
提出了一种直接利用DSP的MCBSP接口和DMA通道实现UART的方法,给出了使用C语言和CSL的编程方法。
与传统实现方法相比,具有实现成本低,硬件电路简单,移植性强等特点,稍加修改可应用于C5000和C6000各系列芯片中。
关键词:DSP;全双工异步串行通信;多通道缓冲串口;DMA ;过采样1 引言:MS320C55x数字信号处理器通过多通道缓冲串口(McBSP)提供了与外设的多种同步串行通信方式。
然而,由于DSP 中串行通信由数据信号、帧同步信号和时钟3种信号配合实现,其中帧同步信号和数据信号由不同的数据线传输。
而异步串行通信则在一根传输线上实现数据发送或接收,且不需要专门的时钟信号线。
因此DSP与异步设备的接口,如UART通信实现相对复杂,需要对McBSP的相关寄存器进行正确初始化。
DSP中实现全双工异步通信的通常做法是使用专用的串行接口芯片,如TL16C550,这种设计方法编程相对简单,但增加了设计成本和电路复杂度。
本文介绍了一种TMS320C55x DSP芯片利用McBSP和DMA直接实现UART的方法,基于该方法实现的DSP异步串行通信模块已成功应用于控制偏振图像采集处理的DSP硬件设备中。
2 UART在DSP上的实现异步串行通信要求DSP能够模拟和检测到UART的帧信号。
由于DSP串口是同步串口,而且DSP时钟为高速时钟,经分频或倍频后无法保证与UART的异步串行时钟精确同步。
DSP的帧同步信号无法与UART的帧信号同步,造成串行通信信号中信号位的偏移。
最好的解决方法是减小偏移和对接收的数据流进行过采样,本文采用了对UART信号的16倍过采样。
/2.1 McBSP设置DSP的McBSP通过3种信号实现同步通信:数据、帧同步和时钟。
课程设计报告( 2014 -- 2015年度第二学期)课程名称:DSP课程设计题目:基于DSP实验系统的串口通信院系:电子与通信工程系班级:电子学号:学生姓名:指导教师:设计周数: 2成绩:日期:2015 年7月16日一、课程设计的目的与要求1.设计方案:通过TMS320C5509A的串口与电脑进行通信,利用串口调试助手发送数据,由DSP接收到,DSP读到收到数据进行下一步的让四位LED灯亮,实现数据的通信,并在lcd12864上显示发送的数据,还有显示拨码开关的数值。
2.设计指标:电脑只能发送0~15,因为读出数据的时候比较方便解码,比如发送4就可以直接给LED直接赋值,让第三个灯亮,也就是一般的二进制转换。
二、设计正文1.设计思路(系统组成介绍)串口模块:TL16C550 是一个标准的串口接口芯片,它的控制寄存器基地址为0x400200,寄存器占用TMS320VC5509 的8 个地址单元。
串口中断与TMS320VC5509 的INT0 连接。
用户可以使用TMS320VC5509 的中断0 响应串口中断。
TL16C550 有11 个寄存器,这11 个寄存器是通过TMS320VC5509 的3 个地址线(A3~A1)和线路控制寄存器中的DLAB 位对它们进行寻址的。
板上加上16C550、Max232 和驱动电路。
驱动电路主要完成将输出的0-3.3V 电平转换成异步串口的工作电平,转换电平的工作由MAX232 芯片完成,但由于它是5V 器件,所以它同DSP 间的信号线必须有电平转换,此板采用的是74LVC245。
实验箱上的液晶模块采用的型号是TJDM12864MTJDM12864M 是一款带中文字库的图形点阵模块,由动态驱动方式驱动128×64 点阵显示。
低功耗,供应电电压范围宽。
内含多功能的指令集,操作简易。
采用COB 工艺制作,结构稳固,使用寿命长。
特性:1.提供 8 位,4 位及串行接口可选2.64×16 位字符显示 RAM(DDRAM 最多 16 字符×4 行,LCD 显示范围 16×2 行)3.2M 位中文字型 ROM(CGROM),总共提供 8192 个中文字型(16×16 点阵)4.16K 位半宽字型 ROM(HCGROM),总共提供 126 个西文字型(16×8 点阵)5.64×16 位字符产生 RAM(CGRAM)6.15×16 位总共 240 点的 ICON RAM(ICONRAM)7.自动复位(RESET)功能8.绘图及文字画面混合显示功能9.提供多功能指令:——画面清除(display clear)——游标归位(return home)——显示开/关(display on/off)——游标显示/隐藏(cursor on/off)——字符闪烁(display character blink)——游标移位(cursor shift)——显示移位(display shift)——垂直画面旋转(vertical line scoll)——反白显示(By-line reverse display)——睡眠模式(sleep mode)DSP与LCD的连接:3.软件设计流程:4.在试验箱上模拟实现用随实验箱附带的串口线(两端均为9 孔“D”形插头)连接计算机com1 或com2 插座和ICETEK–VC5509-A 板上标准RS-232 插座,编译、下载、运行。
DSP与单片机串口通信的设计与实现闵晓勇(西安电子科技大学通信工程学院,陕西西安 710071)摘 要结合实际工程应用重点介绍了TMS320VC5416与单片机89C51之间串行通信的实现方法。
通过DSP 的输入接口对89C51的输出串口进行高速采样和判决达到单片机对DSP的数据传输,而通过将DSP所发送的数据进行数据变换达到89C51串口接收的标准来实现DSP对单片机的串行通信。
串行接口与并行接口相比,最大的优点就是减少了使用DSP的引脚数目,降低了接口电路设计的复杂性。
同时,充分利用DSP多功能串行接口和DMA 搬移数据的能力,使DSP在处理串口通信时不会占用太多的处理时间,节约了DSP的资源。
关键词多通道缓存串行口(McBSP);串口通信;DSP中图分类号TN43TI 公司的定点通用数字信号处理器TMS320 VC5416 以其强大的功能及优秀的性能价格比而得到了广泛的应用,为了采用单片机进行控制和信息交流,需要设计一个简单的接口,串行接口与并行接口相比,其最大的优点就是减少了使用DSP的引脚数目,降低了接口设计的复杂性。
同时充分利用DSP多功能串行接口和DMA搬移数据的能力,使DSP在处理串口通信时不会占用太多的处理时间,节约了DSP的资源。
1 TMS320VC5416的多通道缓冲串口(McBSP)简介TMS320VC5416提供了3个高速、全双工、多通道缓存串行口(McBSP),每个串行口可以支持128通道。
McBSP是在标准串行接口的基础之上对功能进行扩展,因此它具有与标准串行接口相同的基本功能:(1)全双工通讯;(2)拥有两级缓冲发送和三级缓冲接收数据寄存器,允许连续数据流传输;(3)为数据发送和接收提供独立的帧同步脉冲和时钟信号;(4)支持外部移位时钟或者内部移位时钟。
此外,McBSP还具有以下特殊功能:(1)串行字长度可选,包括8、12、16、20、24 和32位;(2)支持U-Law 和A-Law数据压缩扩展;(3)帧同步脉冲和时钟信号的极性可编程;(4)内部时钟和帧同步脉冲的产生可编程。
1 TMS320C64X的特点采用VelociTI.2体系结构的C64X系列定点DSP芯片,在结构上有许多特点:1) C64X片内有2个数据通道、8个功能单元(.L1,.L2,.S1,.S2,.D1,. D2,.M1和.M2,其中.M1和.M2为两个乘法器)和2个一般目的寄存器文件(A和B)。
而8个功能单元和2个寄存器文件又分成了相同的两组,每组占用一个数据通道。
两个数据通道之间包含有两个数据交叉通路。
2) C64X DSP采用超长指令字(VLIW),即在每个时钟周期最高可提供8条32位指令,总字长为256位的指令包同时分配到8个并行处理单元。
在600MHz的时钟频率下,当片内8个处理单元同时运行时,其最大处理能力可以达到4800MIPS。
3) C64X DSP具有双16bit扩充功能,芯片能在一个周期内完成双16bit的乘法、加减法、比较、移位等操作。
2 TMS320C64X的软件开发流程。
TMS320C64X内部有8个独立的功能单元,所以在一个周期内最多可以并行执行8条指令。
然而指令与功能单元之间特殊的映射关系、每一条指令执行时间的不相同、每一条指令的数据通路的不相同和指令间操作数的相关性等因素,致使一个周期内实际能并行执行的指令数达不到8条,从而降低了DSP的性能,因此,必须采用合理的开发和优化流程,尽可能的对代码进行优化,从而提高指令执行的并行度。
如图1所示,工作流程一般分为三个阶段。
阶段一:直接按照需要用C语言实现功能。
在实际的DSP应用中,许多算法都是非常复杂,直接用汇编代码编写,虽然优化效率很高,可是实现的难度却很大,所以一般都采用先用C语言来实现,然后编译运行,利用C64X开发环境的profile clock工具测试程序运行时间,若不能满足要求,则进行第二阶段。
阶段二:C语言级的优化。
选择C64X开发环境提供的优化方式以及充分运用其他技巧,优化C代码,若还不能满足效率要求,则进行第三步。
TMS320c64x+DSPIDMA控制器IDMA控制器的目的是实现任何两个内部内存之间数据块的快速搬移,包括一级程序内存(L1P)、一级数据内存(L1D)以及二级内存(L2),或外部外设配置内存(即向外设配置寄存器写值)。
但IDMA不能向内部MMR搬入数据,也不能从MMR搬出数据。
IDMA 的优势还是在于能够在较慢的L2和较快的L1(包括L1P & L1D)之间快速搬移数据。
相对于cache,它的延时更少,因为IDMA在后台运行。
另外,IDMA还可以通过外部配置空间(CFG)端口迅速对外设配置寄存器编程,但注意,不能源和目的都是CFG,没有CFG到CFG的传输,并且CFG只能用channel 0访问,这点通过后面IDMA的几个控制寄存器可以看出。
IDMA控制器包含两个通道:channel 0 & channel 1。
这两个通道相互正交,允许同时操作。
IDMA的操作通过以下通道和几个寄存器来控制。
1. IDMA channel 0:首先区分external configuration space & internal configuration space。
前者指核之外设备的寄存器,后者指核内部设备的寄存器,我们通常接触的都是后者,如L1D等的配置寄存器,后者只能通过CPU使用load/store指令来访问; IDMA channel 0只能访问前者,并且每次固定访问32-word块,由5个寄存器控制。
IDMA channel 0的源和目的地址必须32-byte对齐,一次可以配置32-word块大小的寄存器,但使用mask register,可以选择性只配置其中某些寄存器,mask为1,表示对应word不传输。
CPU按顺序连续递增的写通道的各寄存器才可以,就自动触发通道传输了。
对channel 0,CPU写寄存器的顺序必须是:MASK-SOURCE-DEST -COUNT,写完COUNT后,就触发传输了。
TMS320C3xDSP原理与应用课程设计背景TMS320C3x是德州仪器(Texas Instruments)公司推出的一款32位固定点数字信号处理器(DSP),其在嵌入式系统中具有重要的应用价值。
本课程设计旨在通过对TMS320C3x系列DSP的原理和应用进行研究,提高学生对嵌入式系统以及数字信号处理的理解和应用能力。
设计目标本课程设计的主要目标是让学生通过对TMS320C3x系列DSP的学习和应用,掌握以下能力:•掌握TMS320C3xDSP的基本原理和结构•学会使用TI提供的开发工具和开发套件•能够利用TMS320C3xDSP实现实际应用,并进行性能优化•对TMS320C3xDSP的应用有一定的熟悉度和实践经验教学内容1.DSP原理基础–固定点定点运算和浮点运算的区别和优缺点–DSP的指令集和指令执行流程–DSP中的存储器和存储器架构2.TMS320C3x系列DSP的结构和体系结构–TMS320C3x系列DSP的处理能力和特性–TMS320C3x系列DSP的内存结构和体系结构–TMS320C3x系列DSP的DMA控制器和中断控制器3.DSP应用案例分析–音频处理:基于TMS320C3xDSP的音频采集和分析系统设计–视频处理:基于TMS320C3xDSP的视频压缩和编码系统设计–图像处理:基于TMS320C3xDSP的图像处理算法实现4.DSP编程和调试–DSP开发环境的搭建和调试–DSP程序的编写和调试–DSP程序的性能分析和优化实验内容1.TMS320C3x系列DSP的环境搭建和开发工具的使用–安装CCS开发环境–界面操作和工具面板介绍–编译器介绍和调试设置2.固定点算法的实现及应用分析–固定点算法和浮点算法的比较–固定点算法的编写和实现–常用算法的性能实验和应用案例分析3.DMA控制器的使用–DMA控制器的原理和特性–数据传输速度的测试与性能优化–加速数据传输的应用案例分析4.DSP应用实践–音频处理实验:基于TMS320C3xDSP的音频采集与合成–视频处理实验:基于TMS320C3xDSP的视频压缩和解码系统一体化实验–图像处理实验:基于TMS320C3xDSP的边缘检测和图像增强实验结论通过本课程的学习和实践,学生可以掌握TMS320C3x系列DSP的基本原理和结构,了解DSP的应用和优化方法。
1 序言:本次设计题目主要是进一步掌握同步串口McBSP的结构及工作原理,学习DSP实现RS232串口通讯的程序设计,学习MAX3111与DSP 的接口设计。
近年来,DSP在电子、通信和控制领域得到了非常广泛的应用,在DSP应用系统设计中与上位机和下位机的通信必不可少。
串口通信作为重要的通信方式之一,优点就是接口需要的引脚少,结构简单易于实现。
本文介绍了TMS320C5416多通道缓冲口,并通过具体的实例介绍说明利用串口进行DSP通信的具体实现。
2 McBSP的接口信号及工作过程McBSP由一个数据通道和一个控制通道组成,如图1所示。
不同的接受和发送引脚实现和外部器件之间的通信。
McBSP的接收操作采用三级缓冲方式,发送操作采用两级缓冲方式。
数据发送引脚(DX)负责数据的发送,数据接受引脚负责数据的接受,另外五个引脚(CLKS, CLKX, CLKR, FSX和FSR)提供了控制信号(时钟和帧同步)接口。
C5416CPU通过片内的外设总线访问串口的32位控制寄存器,从而实现与McBSP间的通信与控制。
接受的数据到达DR引脚后移位到RSR,一旦整个数据单元接受完毕,如果RBR寄存器未满,则RSR被复制到RBR中。
如果DRR中的数据已经被CPU/DMA控制器读取,则RSR被将被复制到DRR中。
发送数据首先由CPU或DMA控制器写入DXR中。
如果XSR寄存器为空,则DXR中的值被复制到XSR并准备移位输出,否则,DXR会等待XSR中旧数据的最后一位被移位输出到DX引脚后,才将数据复制到XSR中。
3 McBSP与 SPI设备的接口SPI(Series Protocol Interface)是一个利用4根信号线的串行接口协议,包括主从两种模式。
4个接口信号分别是:串行数据输入(MISO,设备输入,从设备输出)、串行数据输出(MOSI,主设备输出,从设备输出),移位时钟(SCK)、低电平有效的从设备使能信号(SS)。
摘要进入21世纪之后,数字化浪潮正在席卷全球,数字信号处理器DSP(Digital Signal Processor)正是这场数字化革命的核心,无论在其应用的广度还是深度方面,都在以前所未有的速度向前发展。
数字信号处理是利用计算机或专用处理设备,以数字的形式对信号进行分析、采集、合成、变换、滤波、估算、压缩、识别等加工处理,以便提取有用的信息并进行有效的传输与应用。
DSP可以代表数字信号处理技术(Digital Signal Processing),也可以代表数字信号处理器(Digital Signal Processor)。
前者是理论和计算方法上的技术,后者是指实现这些技术的通用或专用可编程微处理器芯片。
本文就是就是基于DSP原理及应用编写设计的同步串口通信在TMS320C643上实现。
其集成开发环境为CCS,工作平台是SEED-DTK 。
CCS 是TI公司推出的用于开发DSP芯片的集成开发环境,它采用Windows风格界面,集编辑、编译、链接、软件仿真、硬件调试以及实时跟踪等功能于一体,极大地方便了DSP芯片的开发与设计,是目前使用最为广泛的DSP开发软件之一。
SEED-DTK(DSP Teaching Kit)是一套可以满足大学本科、研究生和教师科研工作的综合实验设备。
SEED-DTK 是我公司在总结以往产品的基础上,以独特的多DSP 结构、强大的DSP 主板功能、丰富的外围实验电路、精心设计的实验程序、精湛的产品工艺形成的高性能产品。
关键字:同步串口通信 DSP CCS SEED-DTK目录一.功能描述 ---------------------------------------------------------- 3二.概要设计 ---------------------------------------------------------- 32.1 McBSP 介绍------------------------------------------------- 32.2 设计目的------------------------------------------------------ 42.3 设计概要------------------------------------------------------ 4三.详细设计 ---------------------------------------------------------- 43.1 实验程序功能与结构说明 -------------------------------- 43.2 程序流程图 ---------------------------------------------------- 5四.调试过程及效果 ------------------------------------------------- 54.1 实验准备------------------------------------------------------ 54.2 调试过程及效果 -------------------------------------------- 64.2.1 创建源文件 -------------------------------------------- 64.2.2 创建工程文件 ----------------------------------------- 74.2.2 设置编译与连接选项 -------------------------------- 84.2.3 工程编译与调试 ------------------------------------ 10 五.存在问题 -------------------------------------------------------- 12 六. 心得-------------------------------------------------------------- 12 七.参考文献 -------------------------------------------------------- 12 附录(源程序) ----------------------------------------------------- 13一.功能描述数字信号处理器由于具有高性能和灵活可编程的优点而得到广泛的应用 ,在许多应用系统中,实现DSP与 PC机之间有效可靠的通信是系统设计的重要部分。
一般来说 ,通信可以分为串行和并行两种方式。
相对于并行方式而言 ,串行通信具有电路结构简单、通信距离远和成本较低等优点 ,因而在许多数据交换量不大的系统中得到了广泛的应用。
串行数据传输又可分为同步和异步两种模式 ,通用 PC机的RS-232接口为通用异步接口UART(UniversalAsynchr onous Receiver and Transmitter) ,而MOT OROLA公司的串行外围设备接口 SPI为同步串行协议。
本课程设计在集成开发环境CCS下设计同步串口通信在TMS320C643上的实现,熟悉对MCBSP 的各个寄存器的功用与设置方法,掌握DSP 对寄存器的访问,熟悉同步串行通讯的编程方法,实现两个DSP 同步通讯。
二.概要设计2.1 McBSP 介绍TMS320DM643上集成了1个McBSP 片上外设,McBSP是Multichannel Buffered Serial Port 的缩写,即多通道缓冲型串行接口,是一种多功能的同步串行接口,它具有很强的可编程能力,可以配置为多种同步串口标准,直接与各种器件高速接口,其特点如下:全双工通讯;双缓冲数据寄存器,允许连续的数据流;独立的收发帧同步和时钟信号;可以直接与工业标准的Codec、AIC 或串行接口的A/D、D/A 接口;直接与T1/E1 帧、ST-BUS 兼容芯片、IOM-2 兼容芯片、AC97 兼容芯片、IIS 兼容芯片、SPI 芯片接口;最多可实现128 个通道的发送与接收;支持8/12/16/20/24/32-位的数据宽度;内置μ-律和A-律压缩/解压缩硬件;对于8-位数据的传输,可选择LSB 或MSB 方式;帧同步和时钟信号的极性可设定;内部时钟和帧信号发生的灵活编程。
每个McBSP 均由发送器和接收器构成,各有3 个信号:位-时钟、帧同步和串行数据,所以一个McBSP 有下列信号:FSR、CLKR、DR 和FSX、CLKX、DX,另外还有一个外部时钟源(CLKS);帧同步信号(FSR、FSX);位-时钟(CLKR、CLKX);串行数据流(DR、DX);外部时钟源(CLKS)。
McBSP 为一同步串行通信接口,同步串行通信协议包含:串行数据流起始时刻称为帧同步事件。
帧同步事件由位-时钟采样帧同步信号给出。
串行数据流长度:串行传输的数据流位数达到设定的长度后,结束本次传输,等下一个帧同步信号达到,再发起另一次串行传输。
串行数据流传输速度:即每一个串行位的持续时间,由位-时钟决定。
FSR(FSX)、CLKR(CLKX)、DR(DX)三者之间的关系即如何取得帧同步事件、何时采样串行数据位流、或何时输出串行数据位流,是可以通过McBSP 的寄存器进行配置的。
同步串口实验中使用MCBSP0 作为与SEED-DTK_MBoard 通讯的同步串口其连接图如下:图1. SEED-DTK_MBoard 通讯的同步串口其连接图2.2 设计目的1. 了解DSP 的MCBSP 外设的使用;2. 熟悉C 语言的宏函数在MCBSP 设置中的使用情况;3. 实现通过MCBSP 发送数字和文字。
2.3 设计概要1. DSP 的初始化;2. MCBSP 的初始化设置;3. MCBSP 的发送MCBSP 的接收。
三.详细设计3.1 实验程序功能与结构说明同步串口实验,包含文件1. Mcbsp_main.c :实验的主程序,包含了系统初始化,MCBSP0 初始化,SEED-DEC643 通过MCBSP0 与SEED-DTK_MBoard 同步串口通讯等程序。
2. DEC643.c:对SEED-DEC643 各项资源操作的函数集,主要包含系统初始化函数,对CPLD 的各个控制函数。
3. vecs.asm:包含DM643 的中断向量表。
4. Mcbsp.c:包括了数据的接收和发送、接收中断、通讯初始化函数。
5. Mcbsp_inti.c:包括了MCBSP 初始化。
6. SEED_DEC643.cmd:声明了系统的存储器配置与程序各段的连接关系。
7. *.h:各子函数的头文件。
8. gui_string.asm:定义了要发送的文字信息。
3.2 程序流程图图2. 同步串口通信流程图四.调试过程及效果4.1 实验准备1.将SEED-XDS510PLUS 仿真器的USB 插头插入PC 机的USB 插槽中,启动计算机后识别SEED-XDS510PLUS 硬件,识别后安装其驱动程序。
双击\Setup\SEED-XDS510 Emulator Driver for CCS3.3.exe 文件。
(此文件是仿真器所配的光盘的内容)2.按照提示依次执行,同时默认路径为CCS 的安装路径。
3.安装完毕后打开控制面板查看系统中的设备管理器,出现如下结果,证明硬件连接成功,否则需检查硬件是否连接正确和USB 驱动安装是否安装正确:图3. USB 驱动安装4.2 调试过程及效果4.2.1 创建源文件1.双击 CCStudio v3.3. 图标进入CCS 环境。
2. 打开CCS 选择File →New →Source File 命令。
图4. 新建源文件3. 编写源代码并保存。
图5. 编写源代码并保存4. 保存源程序,选择File →Save。
并重复创建其他源程序。
4.2.2 创建工程文件1. 打开CCS,点击Project-->New,创建一个新工程,其中工程名及路径可任意指定,弹出如下对话框:图6. 创建一个新工程图7. 创建一个新工程2. 在Project 中填入工程名,Location 中输入工程路径;其余按照默认选项,点击完成即可完成工程创建。
3. 点击Project 选择add files to project,(如图8)添加工程所需文件。
4. 在弹出的对话框中的下拉菜单中分别选择.c 点击打开,即可添加源程序添加到工程中:5. 同样的方法可以添加其他源文件文件到工程中。
图8. 添加工程所需文件图9. 添加源程序4.2.2 设置编译与连接选项1. 点击Project 选择Build Opitions;2. 在弹出的对话框中设置相应的编译参数,一般情况下,按默认值就可以。