




已阅读5页,还剩5页未读, 继续免费阅读
版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
DSP 原 理 与 应 用实 验 指 导 书胡鸿志 编写桂 林 电 子 科 技 大 学2009年9月实验一 CCS及实验箱使用入门【实验目的】熟悉DSP集成开发环境CCS,熟悉CCS中工程管理和程序编辑、汇编和链接的过程。 熟悉SEED-DTK系列DSP实验平台,掌握CCS中源文件管理、编辑和调试的方法。【实验要求】掌握CCS环境下软件工作及编译方法。了解SEED-DTK实验平台的基本组成,熟悉SEED-DEC5416实验环境。【实验内容】1、利用SEED-DTK实验箱来完成工程管理,以及源文件管理、编译、汇编、链接和调试。(1) 安装、配置SEED-XDSUSB2.0仿真器。(2) 建立DSP工程(3) 建立DSP源文件(4) 学习使用CCS的调试工具2、在CCS下开发DSP软件项目需要先建立一个工程文件,扩展名缺省为*.pjt,所有关于项目的信息都会存储在这个工程文件中;若用C语言开发,需要使用Project Add Files to Project命令将C语言的标准支持库rts.lib 或rts_ext.lib添加到工程文件中。此外,还需要将链接器命令文件*.cmd添加到工程文件中。执行Project Rebuild All命令,对工程进行编译、汇编和链接,在Output窗口中将显示相关信息。目标文件*.out生成成功后,执行菜单命令File Load Program,选择*.out文件并打开,将生成的可执行程序加载到DSP中,CCS将自动打开一个“反汇编”窗口,显示加载程序的反汇编指令。执行菜单命令Debug Run运行程序。【实验步骤】1、 将DSP仿真器与计算机连接好;2、 将DSP仿真器的JTAG插头与SEED-DEC54xx单元的J1连接;3、 启动计算机后,打开SEED-DTK实验箱的电源。观察SEED-DTK-101单元的+5V、+3.3V、+15V和-15V的电源指示灯,以及SEED-DEC54xx的D1以及SEED-DSK2812的D2是否均亮;若有不亮,断开电源,检查电源。4、 配置SEED-XDSUSB2.0仿真器。5、 进入CCS环境。6、 创建一个工程,添加附录汇编源文件TestXF.asm和链接器命令文件TestXF.cmd。7、 编译并调试,相关命令如下:l 设置断点将光标放在需要设置断点的程序前,执行Debug Breakpoints设置断点。l 复位Debug Reset CPU,复位DSP目标系统,初始化所有的寄存器,终止程序的执行。Debug Restart,将PC值恢复到程序的入口,该命令不开始程序的执行。Debug Go main,将程序运行到主程序的入口地址处暂停。l 程序的执行Debug Run,从当前程序计数器(PC)执行程序,碰到断点时暂停。Debug Halt,终止程序执行。Debug Animate,动画运行程序。Debug Run free,从当前程序计数器(PC)执行程序,忽略所有的断点。Debug Run to Cursor,程序执行到光标处。l 单步执行操作Debug Step Into,单步执行。如果运行到调用函数处,将跳入到函数中单步执行。Debug Step Over,单步执行。为了保护处理器的流水线操作,该指令后的若干条延迟指令或调用指令将同时被执行。如果运行到函数调用处,将直接执行完整的函数功能,而不跳入函数内部单步执行。Debug Step Out,调处函数或子程序执行。l 内存、寄存器与变量操作View Watch Window,检查和编辑C语言表达式和变量的值。View Registers CPU Registers,显示DSP的CPU寄存器中的值。View Memory,显示指定的存储器中的内容。8、 执行File Workspace Save Workspace,保存调试环境。【附录】附录A TestXF.asm.mmregs;预定义的寄存器.def CodeStart;定义程序入口标记.text;程序区CodeStart:SSBX XF;XF置1;RPT #999;重复执行1000次空指令产生延时;NOPCALL DELAYRSBX XF;XF清0;RPT #999;重复执行1000次空指令产生延时;NOPCALL DELAYB CodeStart;跳转到程序开始循环执行DELAY:STM #99。A.end附录B TestXF.cmd-o TestXF.out-m TestXF.map-e CodeStartMEMORYPAGE 0:PRAM:org=0100h,len=0F00hSECTIONS.text:PRAM PAGE 0实验二定点除法实验【实验目的】熟悉CCS集成开发环境中TMS320C54x汇编程序的编写和调试方法。掌握C54x数据格式,以及定点算术运算的基本方法和指令。【实验要求】掌握C54x系列DSP的定点算术运算方法,掌握定点除法的原理及实现。熟练使用CCS对程序进行调试。【背景知识】TMS320C54x DSP中没有提供专门的除法指令实现16位定点整数除法,通常有两种方法可实现除法运算。一种方法是除以某个数相当于乘以其倒数,所以先求出其倒数,然后相乘;这种方法适用于除以常数。另一种是使用条件减法指令SUBC,重复16次减法完成除法运算。使用SUBC指令进行除法运算,惟一限制是两个操作数都必须为正,所以需要先判断结果的符号,方法是将两个操作数相乘,保存累加器A或B的高16位以便判断乘积符号。然后只做两个正数的除法,最后修正结果的符号。为了实现两个整数相除,先将被除数装入A或B的低16位,接着重复执行SUBC指令,用除数重复减16次后,除法运算的商在累加器的低16位,余数在高16位。如果|被除数|除数|,则先将被除数装入A或B的高16位,重复减的次数为15次。TMS320C54x DSP中实现16位的小数除法与整数除法基本一致,也是使用条件减法指令SUBC来实现,但需要注意C54x中小数的定点表示方法。【设计任务】1、 编写程序,分别计算和的值;2、 编写和调用子程序,计算的值;3、 定义和调用宏,计算的值。【思考题】为什么当|被除数|除数|时,SUBC指令实现定点整数除法重复减的次数为15次,而不是16次?16384512实验三定时器实验【实验目的】通过学习定时器中断的设计方法,熟悉在汇编条件下如何编写中断服务程序,了解串行通信的过程,掌握长时间间隔的定时器的处理,掌握片内外设的设置方法。【实验要求】掌握汇编语言的程序结构,正确进行异步串口通信与定时器的设置,能与系统正确通信。【背景知识】中断指的是当某个事件发生时,暂停当前的操作,转向中断服务程序,执行完后再返回继续原来的操作。这使得DSP能够处理多个任务。最常用的中断有定时器中断和外部中断。本实验采用的是定时器中断。TMS320C5416中有一个可编程的片上定时器,总共包含三个可由用户设置的寄存器,并可以申请主机的中断。这三个寄存器分别为TIM(定时设定寄存器)、PRD(定时周期寄存器)、TCR(定时控制寄存器)。TIM、PRD及TCR均是16位的存储器映射寄存器,TIM的值由PRD来进行装载,并且作减一操作;PRD是用来重装TIM的值的;TCR包含了定时器的控制与状态信息。定时器的所能定时的长度可通过公式来计算,T为机器周期。若需要更长的计时时间,则可以在中断程序中设计一个计数器,直到产生一定次数的定时中断后再执行相应的操作【设计任务】1、 采用中断方法设计程序,实现方波发生器(占空比为50%),方波周期为4ms。2、 修改程序,实现周期为20s的方波发生器。【设计步骤】1、 定时器及中断初始化(1)中断允许寄存器IFR中的定时中断位TINT1,清除未处理完的定时中断。(2)停止定时器运行(TCR中的TSS1)(3)设定时器的定时长度(即加载PRD的值)(4)允许定时器中断(TSS0,TRB1)(5)运行定时器(6)打开中断中断屏蔽寄存器IMR中的定时屏蔽位TINT1,开放定时中断;状态控制寄存器ST1中的中断标志位INTM0,开放全部中断。2、 编写方波发生器源程序注意周期的设定。【思考题】方波发生器也可以用延时的方法实现,与延时的方法相比,定时器法有什么优势?实验四数字I/O实验【实验目的】掌握TMS320C541x DSP扩展数字I/O口的方法,了解SEED-DTK的硬件系统。【实验要求】通过本实验,了解DSP对I/O口的操作,完成对SEED-DTK实验平台中LED的控制。【背景知识】TMS320C541x DSP提供64K字的I/O空间(0000h0FFFFh)。I/O空间都在片外,作用是与片外设备连接。使用PORTR和PORTW两条指令可对I/O空间寻址。TMS320C5416的I/O空间必须通过外加缓冲器或锁存电路,配合外部I/O读写控制时序构成片外外设的控制电路。其实现方法一般有两种:其一为采用锁存器,如75LS273、74LS372之类的集成芯片;另一种是采用CPLD,在其内部做锁存器逻辑。SEED-DTK实验平台采用CPLD实现。本实验程序主要是实现将数据往一个I/O端口送,从而显示一种状态,来验证DSP对I/O口地址0x080002送数,通过观察发光二极管的变化,来验证其正确性。SEED-DTK实验平台中LED控制口地址为0x08002(I/O空间),其说明如表4.1所示。表4.1 LED控制口D7D6D5D4D3D2D1D0OUT7OUT6OUT5OUT4OUT3OUT2OUT1OUT0注:向控制位写入1时,点亮相对应的LED灯。【设计任务】1、 编写程序,循环点亮SEED-DTK实验平台上LED D17D24;2、 编写和调用子程序,实现各状态之间延时1s。【思考题】如何用定时器中断实现延时?实验五串口通信实验【实验目的】了解DSP的MCBSP外设的使用,熟悉MCBSP的设置方法。【实验要求】通过本实验,熟悉对MCBSP的各个寄存器的功用与设置方法,掌握DSP对二次寄存的访问。熟悉串行通信的编程方法,实现主机与DSP之间的串口通信。【背景知识】TMS320C54x提供高速、双向、多通道带缓冲串口(MCBSP)。它是DSP的片上外设资源,它可以与其它的DSP、CODEC和带有SPI接口的器件进行通信。在TMS320C5416上共有3个MCBSP,主要包括数据通路和控制通路两部分,通过7个引脚与外部器件相连。对MCBSP的配置主要是通过3个16位寄存器SPCR1,2和PCR进行的。而接收和发送寄存器RCR1,2,X1,2分别配置接收和发送操作的各种参数。发送和接收的基本步骤为:1、MCBSP串行口复位(两种复位方式)l 通过芯片复位端复位。当时,引发的串行口发送器、接收器、采样率发生器复位。当芯片复位完成后,串行口仍然处于复位状态,。l 利用串口控制寄存器的控制位复位。接收控制寄存器SPCR1中位可对串口接收器进行复位,发送控制寄存器SPCR2中的和位可分别对串口发送器和采样率发生器进行复位。2、复位完成后,串行口初始化。初始化的步骤为:l 对串口控制寄存器中的复位位置0,刚复位完毕,可不进行这一步操作。l 按串口复位要求,对MCBSP的寄存器进行编程配置。l 等待两个时钟周期,以保证适当的内部同步。l 按照写DXR的要求,给出数据。l 使串口使能。l 若要求内部帧同步信号,则设定。l 等待2个时钟周期后,接收器和发送器激活。【设计任务】编写程序,实现PC与DSP之间的串口通信。实验六交通灯实验【实验目的】熟练掌握DSP的指令系统,以及TMS320C5416的硬件结构和应用程序设计。掌握DSP扩展数字I/O口的方法。【实验要求】 通过本实验,熟悉CCS集成开发环境,熟练掌握TMS320C5416数字I/O口的使用。【背景知识】SEED-DTK实验平台中交通灯控制口地址为0x08000(I/O空间),其说明如表6.1所示。表6.1 交通灯控制口D11D10D09D08D07D06D05D04D03D02D0
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 法院司法调解协议书范本
- 汉沽区劳务派遣合同范本
- 火锅店长期员工合同协议
- 职工交通事故死亡协议书
- 用木桩护坡施工合同范本
- 海城农村房屋继承协议书
- 物流服务运输合同协议书
- 锁具维修合同协议书模板
- 爆破工程联营合同协议书
- 私人租地建养殖合同范本
- 线条系列(会变的线条、雄伟的塔、茂密的花) 单元作业设计
- 注安建筑施工实务记忆口诀全套
- 供应商审核计划表
- 亿航智能介绍
- MGGH冲洗水管道接口安装四措二案
- GB/T 36089-2018丙烯腈-丁二烯橡胶(NBR)
- GB/T 26746-2011矿物棉喷涂绝热层
- GA/T 1105-2013信息安全技术终端接入控制产品安全技术要求
- 危险化学品MSDS(氯化铵)
- 中耳疾病(分泌性中耳炎、急慢性中耳炎)
- 《C++语言基础》全套课件(完整版)
评论
0/150
提交评论