DSP原理与应用实验指导书(20210109013422)_第1页
DSP原理与应用实验指导书(20210109013422)_第2页
DSP原理与应用实验指导书(20210109013422)_第3页
DSP原理与应用实验指导书(20210109013422)_第4页
DSP原理与应用实验指导书(20210109013422)_第5页
已阅读5页,还剩7页未读 继续免费阅读

下载本文档

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

文档简介

1、DSP原理与应用 实验指导书 胡鸿志 编写 桂林电子科技大学 2009年9月 实验一 CCS及实验箱使用入门 【实验目的】 熟悉DSP集成开发环境CCS,熟悉CCS中工程管理和程序编辑、汇编和链 接的过程。 熟悉SEED-DTK系列DSP实验平台,掌握CCS中源文件管理、编辑和调试 的方法。 【实验要求】 掌握CCS环境下软件工作及编译方法。 了解SEED-DTK实验平台的基本组成,熟悉 SEED-DEC5416实验环境。 【实验内容】 1、利用SEED-DTK实验箱来完成工程管理,以及源文件管理、编译、汇编、 链接和调试。 (1)安装、配置SEED-XDSUSB2.0仿真器。 (2)建立DS

2、P工程 (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 Progr

3、am,选择*.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 仿真器

4、。 5、进入CCS环境。 6、创建一个工程,添加附录汇编源文件TestXF.asm和链接器命令文件 TestXF.cmd。 7、编译并调试,相关命令如下: 设置断点 将光标放在需要设置断点的程序前,执行Debug f Breakpoints设置断点。 复位 Debug f Reset CPU,复位DSP目标系统,初始化所有的寄存器,终止 程序的执行。 Debug f Restart,将PC值恢复到程序的入口,该命令不开始程序的执行。 Debug f Go main,将程序运行到主程序的入口地址处暂停。 程序的执行 Debug f Run,从当前程序计数器(PC)执行程序,碰到断点时暂停。 De

5、bug f Halt,终止程序执行。 Debug f Animate,动画运行程序。 Debug f Run free,从当前程序计数器(PC)执行程序,忽略所有的断点。 Debug f Run to Cursor,程序执行到光标处。 单步执行操作 Debug f Step In to,单步执行。如果运行到调用函数处,将跳入到函数中 单步执行。 Debug f Step Over,单步执行。为了保护处理器的流水线操作,该指令 后的若干条延迟指令或调用指令将同时被执行。如果运行到函数调用处,将直 接执行完整的函数功能,而不跳入函数内部单步执行。 Debug f Step Out,调处函数或子程序

6、执行。 内存、寄存器与变量操作 View f Watch Window,检查和编辑C语言表达式和变量的值。 View f Registersf CPU Registers,显示 DSP 的 CPU 寄存器中的值。 View f Memory,显示指定的存储器中的内容。 预定义的寄存器 .def CodeStart ;定义程序入口标记 .text;程序区 CodeStart: SSBX XF RPT #999 NOP RSBX XF RPT #999 NOP ;XF 置 1 ;重复执行1000次空指令产生延时 ;XF 清 0 ;重复执行1000次空指令产生延时 B CodeStart;跳转到程序

7、开始循环执行 .end 附录 B TestXF.cmd -o TestXF.out -m TestXF.map -e CodeStart MEMORY PAGE 0: PRAM:org=0100h,le n=0F00h SECTIONS .text:PRAM PAGE 0 实验二定点除法实验 【实验目的】 熟悉CCS集成开发环境中TMS320C54X汇编程序的编写和调试方法。掌 握54x数据格式,以及定点算术运算的基本方法和指令。 【实验要求】 掌握54x系列DSP的定点算术运算方法,掌握定点除法的原理及实现。熟 练使用CCS对程序进行调试。 【背景知识】 TMS320C54X DSP中没有提

8、供专门的除法指令实现16位定点整数除法,通 常有两种方法可实现除法运算。一种方法是除以某个数相当于乘以其倒数,所以 先求出其倒数,然后相乘;这种方法适用于除以常数。另一种是使用条件减法指 令SUBC,重复16次减法完成除法运算。 使用SUBC指令进行除法运算,惟一限制是两个操作数都必须为正,所以 需要先判断结果的符号,方法是将两个操作数相乘,保存累加器 A或B的高16 位以便判断乘积符号。然后只做两个正数的除法,最后修正结果的符号。为了实 现两个整数相除,先将被除数装入A或B的低16位,接着重复执行SUBC指令, 用除数重复减16次后,除法运算的商在累加器的低 16位,余数在高16位。如 果|

9、被除数|除数|,则先将被除数装入A或B的高16位,重复减的次数为15 次。 TMS320C54X DSP中实现16位的小数除法与整数除法基本一致,也是使用 条件减法指令SUBC来实现,但需要注意54x中小数的定点表示方法。 【设计任务】 1、编写程序,分别计算0.4 -0.8和16384512的值; 2、编写和调用子程序,计算0.4 - 0.8的值; 3、定义和调用宏,计算16384512的值。 【思考题】 为什么当|被除数|除数|时,SUBC指令实现定点整数除法重复减的次数 为15次,而不是16次? 实验三定时器实验 【实验目的】 通过学习定时器中断的设计方法,熟悉在汇编条件下如何编写中断服

10、务程 序,了解串行通信的过程,掌握长时间间隔的定时器的处理, 掌握片内外设的设 置方法。 【实验要求】 掌握汇编语言的程序结构,正确进行异步串口通信与定时器的设置, 能与系 统正确通信。 【背景知识】 中断指的是当某个事件发生时,暂停当前的操作,转向中断服务程序,执行 完后再返回继续原来的操作。这使得 DSP能够处理多个任务。最常用的中断有 定时器中断和外部中断。本实验采用的是定时器中断。 TMS320C5416中有一个可编程的片上定时器,总共包含三个可由用户设置 的寄存器,并可以申请主机的中断。这三个寄存器分别为TIM(定时设定寄存器)、 PRD (定时周期寄存器)、TCR (定时控制寄存器

11、)。 TIM、PRD及TCR均是16位的存储器映射寄存器,TIM的值由PRD来进 行装载,并且作减一操作;PRD是用来重装TIM的值的;TCR包含了定时器的 控制与状态信息。 定时器的所能定时的长度可通过公式 T (TDDR 1) (PRD 1)来计算,T为 机器周期。若需要更长的计时时间,则可以在中断程序中设计一个计数器,直到 产生一定次数的定时中断后再执行相应的操作 【设计任务】 1、 采用中断方法设计程序,实现方波发生器(占空比为50%),方波周期为 4ms。 2、修改程序,实现周期为20s的方波发生器。 【设计步骤】 1、定时器及中断初始化 (1) 中断允许寄存器IFR中的定时中断位T

12、INT = 1,清除未处理完的定时 中断。 (2) 停止定时器运行(TCR中的TSS= 1) (3) 设定时器的定时长度(即加载 PRD的值) (4) 允许定时器中断(TSS= 0, TRB = 1) (5) 运行定时器 (6) 打开中断 中断屏蔽寄存器IMR中的定时屏蔽位TINT = 1,开放定时中断;状态 控制寄存器ST1中的中断标志位INTM = 0,开放全部中断。 2、编写方波发生器源程序注意周期的设定。 【思考题】 方波发生器也可以用延时的方法实现,与延时的方法相比,定时器法有什么 优势? 实验四数字I/O实验 【实验目的】 掌握TMS320C541X DSP扩展数字I/O 口的方法

13、,了解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,在其内部

14、做锁存器逻辑。SEED-DTK实验平台采用CPLD实现。 本实验程序主要是实现将数据往一个I/O端口送,从而显示一种状态,来验 证DSP对I/O 口地址0 x080002送数,通过观察发光二极管的变化,来验证其正 确性。 SEED-DTK实验平台中LED控制口地址为0 x08002( I/O空间),其说明如 表4.1所示。 表4.1 LED控制口 D7 D6 D5 D4 D3 D2 D1 D0 OUT7 OUT6 OUT5 OUT4 OUT3 OUT2 OUT1 OUT0 注:向控制位写入 时,点亮相对应的 LED灯。 【设计任务】 1、编写程序,循环点亮 SEED-DTK实验平台上LED D

15、17D24 ; 2、 编写和调用子程序,实现各状态之间延时1s。 【思考题】 如何用定时器中断实现延时? 实验五串口通信实验 【实验目的】 了解DSP的MCBSP外设的使用,熟悉 MCBSP的设置方法。 【实验要求】 通过本实验,熟悉对 MCBSP的各个寄存器的功用与设置方法,掌握 DSP 对二次寄存的访问。熟悉串行通信的编程方法,实现主机与 DSP之间的串口通 信。 【背景知识】 TMS320C54X提供高速、双向、多通道带缓冲串口( MCBSP)。它是 DSP 的片上外设资源,它可以与其它的 DSP、CODEC和带有SPI接口的器件进行通 信。在TMS320C5416上共有3个MCBSP,

16、主要包括数据通路和控制通路两部 分,通过7个引脚与外部器件相连。 对MCBSP的配置主要是通过 3个16位寄存器SPCR1,2和PCR进行的。 而接收和发送寄存器 RCR1,2,X1,2分别配置接收和发送操作的各种参数。 发送和接收的基本步骤为: 1、MCBSP串行口复位(两种复位方式) 通过芯片复位端RS复位。当RS=0时,引发的串行口发送器、接收器、米 样率发生器复位。当RS=1芯片复位完成后,串行口仍然处于复位状态, GRST= FRST= RRST=XRST=0。 利用串口控制寄存器的控制位复位。接收控制寄存器 SPCR1中RRST位可 对串口接收器进行复位,发送控制寄存器 SPCR2

17、中的XRST和GRST位可 分别对串口发送器和采样率发生器进行复位。 2、复位完成后,串行口初始化。初始化的步骤为: 对串口控制寄存器中的复位位置 0,刚复位完毕,可不进行这一步操作。 按串口复位要求,对 MCBSP的寄存器进行编程配置。 等待两个时钟周期,以保证适当的内部同步。 按照写DXR的要求,给出数据。 使串口使能。 若要求内部帧同步信号,则设定 FRST = 1。 等待2个时钟周期后,接收器和发送器激活。 【设计任务】 编写程序,实现PC与DSP之间的串口通信 实验六交通灯实验 【实验目的】 熟练掌握DSP的指令系统,以及TMS320C5416的硬件结构和应用程序设计。 掌握DSP扩

18、展数字I/O 口的方法。 【实验要求】 通过本实验,熟悉CCS集成开发环境,熟练掌握TMS320C5416数字I/O 口 的使用。 【背景知识】 SEED-DTK实验平台中交通灯控制口地址为 0 x08000( I/O空间),其说明如 表6.1所示。 表6.1交通灯控制口 WG :方向为西的绿灯控制位; WR :方向为西的红灯控制位; SY :方向为南的黄灯控制位; EG :方向为东的绿灯控制位; WY :方向为西的黄灯控制位; SG :方向为南的绿灯控制位; SR :方向为南的红灯控制位; EY :方向为东的黄灯控制位; ER :方向为动的红灯控制位; NY :方向为北的黄灯控制位; NG

19、:方向为北的绿灯控制位; NR :方向为北的红灯控制位; D11 D10 D09 D08 D07 D06 D05 D04 D03 D02 D01 DOO NR NY NG ER EY EG SR SY SG WR WY WG 注:当以上各位置 时,点亮各位所控制、代表交通灯状态的LED。 【设计任务】 编写程序,在SEED-DTK实验平台上模拟实现交通灯控制 出师表 两汉:诸葛亮 先帝创业未半而中道崩殂,今天下三分,益州疲弊,此诚危急存亡之秋也。然侍卫之臣 不懈于内,忠志之士忘身于外者,盖追先帝之殊遇,欲报之于陛下也。诚宜开张圣听,以光 先帝遗德,恢弘志士之气,不宜妄自菲薄,引喻失义,以塞忠谏之路也。 宫中府中,俱为一体;陟罚臧否,不宜异同。若有作奸犯

温馨提示

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

评论

0/150

提交评论