《北邮DSP硬件实验报告》由会员分享,可在线阅读,更多相关《北邮DSP硬件实验报告(25页珍藏版)》请在金锄头文库上搜索。
1、. . . 实验成绩:DSP硬件实验报告学号: 10210993 : 罗润文 班序号:报告提交日期: 2012 年 12 月 日 邮电大学实验一:常用指令实验一、 实验目的1.熟悉DSP开发系统的连接2.了解DSP开发系统的组成和结构和应用系统构成3.熟悉常用C54X系列指令的用法(程序寻址,寄存器,I/O口,定时器,中断控制)。二、 实验设备计算机,CCS 2.0版软件,DSP仿真器,实验箱。三、 实验操作方法1、 系统连接进行DSP实验之前,先必须连接好仿真器、实验箱及计算机,连接方法如下所示:在硬件安装完成后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯”应点亮,否则DSP开发
2、系统与计算机连接有问题。2、 运行CCS程序先实验箱上电,然后启动CCS,此时仿真器上的“绿色小灯”应点亮,并且CCS正常启动,表明系统连接正常;否则仿真器的连接、JTAG接口或CCS相关设置存在问题,掉电,检查仿真器的连接、JTAG接口连接,或检查CCS相关设置是否正确。四、 实验步骤与容(一) 简单指令程序运行实验1、 实验使用资源实验通过实验箱上的XF指示灯观察程序运行结果2、 实验过程启动CCS 2.0,并加载“exp01.out”;加载完毕后,单击“Run”运行程序;实验结果:可见XF灯以一定频率闪烁;单击“Halt”暂停程序运行,则XF灯停止闪烁,如再单击“Run”,则“XF”灯又
3、开始闪烁;关闭所有窗口,本实验完毕。源程序查看:用下拉菜单中Project/Open,打开“Exp01.pjt”,双击“Source”,双击“exp01.asm”可查看源程序。源程序注释如下:源程序:注释:;File Name:exp01.asm;the program is compiled at no autoinitialization mode.mmregs.global _main_main: stm#3000h,sp ssbx xf call delay rsbx xf call delay b _main nop nop ;delay .5 seconddelay: stm 27
4、0fh,ar3 loop1: stm 0f9h,ar4 loop2:banz loop2,*ar4-banz loop1,*ar3-ret nop nop ;stm2 cycles;banzwhen TRUE 4 cycles; FALSE 2 cycles;0f9h=249d;270fh=9999d.end定义存储器映像寄存器全局符号,可在外部定义;设置堆栈指针寄存器的值为3000h;置位状态寄存器xf;调用delay函数;复位状态寄存器xf;调用delay函数;无条件转移至_main;空指令;空指令;设置辅助寄存器ar3值为9999;设置辅助寄存器ar4值为249;寄存器ar4值减一,当其
5、值不为0时跳转到loop2;寄存器ar3值减一,当其值不为0时跳转到loop1;返回;空指令;空指令(二)资料存储实验1、 实验使用资源本实验指导书是以TMS32OVC5410为例,介绍相关的部和外部存资源。对于其它类型的CPU请参考查阅相关的资料手册。下面给出TMS32OVC5410的存分配表:对于存储空间而言,映像表相对固定。值得注意的是部寄存器与存储空间的映像关系。因此在编程应用时这些特定的空间不能作其它用途。对于程序存储空间而言,其映像表和CPU的工作模式有关。当MP/MC引脚为高电平时,CPU工作在微处理器模式;当MP/MC引脚低电平时,CPU工作在为计算机模式。具体的存映像关系如上
6、如所示。存实验主要了解存的操作和DSP的部双总线结构。并熟悉相关的指令代码和执行过程等。2、 实验过程连接好DSP开发系统,运行CCS软件;a) 在CCS的Memory窗口中查找C5410各个区段的数据存储器地址,在可以改变的存储器容的地方,选定地址随意改变其中容并观察结果;b) 在CCS中装载实验示程序,单步执行程序,程序中写入和读出的数据存储地址的变化;c) 改变其它寻址方式,进行观察数据存储器地址与写入和读出数据的的变化。本实验说明:本实验程序将对0x1000开始的8个地址空间,填写入0xAAAA的数值,然后读出,并存储到0X1008开始的8个地址空间。在CCS中可以观察DATA存空间地
7、址0X10000X100F值的变化。样例程序实验操作说明:启动CCS 2.0,并加载“exp02.out”,用“View”下拉菜单中的“Memory”查看存单元,输入要查看的存单元地址,本实验要查看0x1000H0x100FH单元的数值变化,输入地址0x1000H,查看0x1000H0x100FH单元的初始值,单击“Run”运行程序,也可以“单步”运行程序,单击“Halt”暂停程序运行,查看0x1000H0x100FH单元数值的变化关闭各窗口,本实验完毕。源程序注释:源程序:注释:*File Name:exp02.asm;get some knowledge of the cmd file;t
8、he program is compiled at no autoinitialization mode.mmregs.global _main _main: ;store datastm 1000h,ar1 rpt#07h st0aaaah,*ar1+ ;read data then re-store stm 7h,ar3 stm1000h,ar1 stm 1008h,ar2 loop:ld*ar1+,t stt,*ar2+ banz loop,*ar3- here:b here .end;将外部存地址1000h赋给ar1;循环执行下一条指令8次;将0aaaah的值存储在ar1所对应存中,且
9、ar1值加1 ;将7h赋给辅助寄存器ar3;将地址1000h赋给辅助寄存器ar1;将地址1008h赋给辅助寄存器ar2;将辅助寄存器ar1的值赋给t,且ar1存地址加1;将t的值存储在ar2所对应存中,且ar2存地址加1;寄存器ar3值减1,当其值不为0时跳转到loop;无条件转移至here(三)I/O实验1、 实验使用资源数字量输入信号全部拓展出来,数字量输入接口主要由两个,D_Exp与扳东开关连接,PX4和PX5与电平转换芯片(74LVC245)连接,其功能分别为:D_Exp数字量输入扩展接口I0I1I2I3I4I5I6I7VCC电平转换扩展接口PX45VIN0IN1IN2IN3PX53.
10、3VOUT3OUT2OUT1OUT0通过PORTR,PORTW指令可以实现I/O口的输入输出功能,如数字量采集实验。实验说明:实验中采用简单的一一映像关系来对I/O口进行验证,目的是使实验者能够对I/O 有一目了然的认识。在本实验系统中,提供的IO空间分配如下:CPU1:0x0000 switch input (X) 80x0001 LED output(X) 8CPU2:0x0001DAC0x0004Read_Key0x0006Write_Key0x000FWrite_LCD0x8000 HPIC00x8001HPIC10x8002HPID0(AUTO)0x8003HPID1(AUTO)0x
11、8004HPIA00x8005HPIA10x8006HPID0(NO AUTO)0x8007HPID1(NO AUTO)实验程序框图注意: 电平转换接口主要考虑应用3.3V的中央处理器时,系统的电平兼容问题,用来保护CPU不受损坏。系统采用74LVC245电平兼容转换器件。2、 实验过程运行CCS程序,装载示程序,调整K0K7的开关,观察LP1LP7 LED亮灭的变化,以及输入和输出状态是否一致。(注意:输出为0时点亮灯)例程序实验操作说明启动CCS 2.0,并加载“exp03.out”,单击“Run”运行程序,任意调整K0K7开关,可以观察到对应LP0LP7灯“亮”或“灭”;单击“Halt”
12、,暂停持续运行,开关将对灯失去控制。关闭所有窗口,本实验完毕。源程序查看:用下拉菜单中Project/Open,打开“Exp03.pjt”,双击“Source”,双击“exp03.asm”可查看源程序。代码如下:源程序:注释:;File Name :exp03.asm;learn how to operate the I/O ports;get some knowledge of the rts.lib file;in the I/O space 0x0000=8 switches; 0x0001=8 LEDs.mmregs.global_main.text_main:stm3100h,sp stm1000h,ar1portr 00h,*ar1 nop nop portw*ar1,01h nop nop b_main nop nop .end;设置堆栈指针寄存器的值为3000h;设置辅助寄存器ar1值为1000h;从00h端口读数据传入ar1所指向的存空间,读按键;空指令;空指令;将ar1所指向的存空间的值赋给01h端口,控制led灯;空指令;空