




版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、北京邮电大学DSP硬件课程实验报告姓 名: 学 号: 班 级: 院 系: 报告提交日期: 目录一、 实验环境3二、 实验一:常用指令实验(1) 简单指令程序运行实验3(2) 资料存储实验5(3) I/O实验7(4) 定时器实验9(5) INT2中断实验11三、 实验二 :A/D采样实验13四、 实验三 :D/A转换实验14五、 实验四 :有限冲击响应滤波器(FIR)算法实验15六、 实验总结17七、 参考文献17一、实验环境实验采用的是理工达盛开发的EL-DSP-II实验教学系统。在实验室电脑上首先进行DSP实验环境的设置。环境设置的步骤:1、 在计算机中将驱动方式设为模式;2、 安装开发器e
2、pp驱动;3、 安装CCS软件;具体的环境设置步骤参照实验教材。二、实验一 :常用指令实验(一)实验目的1、熟悉DSP开发系统的连接;2、了解DSP开发系统的组成和结构和应用系统构成;3、熟悉常用C54X系列指令的用法(程序寻址,寄存器,I/O口,定时器,中断控制)。(二)实验设备计算机,CCS 2.0版软件,DSP仿真器,实验箱。(三) 实验操作方法1、系统连接;进行DSP实验之前,先必须连接好仿真器、实验箱及计算机,连接方法如下所示:PCI/USB/EPP接口JTAG接口计算机仿 真 器用户开发板在硬件安装完成后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯”应点亮,否则DSP开
3、发系统与计算机连接有问题。2、运行CCS程序;先实验箱上电,然后启动CCS,此时仿真器上的“绿色小灯”应点亮,并且CCS正常启动,表明系统连接正常;否则仿真器的连接、JTAG接口或CCS相关设置存在问题,掉电,检查仿真器的连接、JTAG接口连接,或检查CCS相关设置是否正确。成功运行程序后,首先应熟悉CCS的用户接口。学会CCS环境下程序编写、调试、编译、装载,学习如何使用观察窗口等。3、修改样例程序,尝试DSP其他的指令;4、填写实验报告;5、样例程序实验操作说明。(四)实验步骤与内容1、简单指令程序运行实验(1)实验使用资源实验通过实验箱上的XF指示灯观察程序运行结果。(2)实验过程启动C
4、CS 2.0,并加载“exp01.out”;加载完毕,单击“Run”运行程序;(3)实验结果:可见XF灯以一定频率闪烁;单击“Halt”暂停程序运行,则XF灯停止闪烁,如再单击“Run”,则“XF”灯又开始闪烁;(4)源程序查看:用下拉菜单中Project/Open,打开“Exp01.pjt”,双击“Source”,双击“exp01.asm”可查看源程序。(5)实验源程序代码注释;File Name:exp01.asm;the program is compiled at no autoinitialization mode.mmregs.global _main_main: stm #300
5、0h,sp /将3000H放到sp中ssbx xf /给状态寄存器置位,令XF=1,此时灯XF亮call delay /调用子程序DELAY,使XF灯亮0.25秒rsbx xf /状态寄存器复位,令XF=0,灯灭call delay /调用子程序DELAY,使XF灯灭0.25秒b _main /循环执行_mainnopnop ;delay .5 seconddelay: stm 270fh,ar3 /270h为16进制的9999,将9999存入AR3中loop1: stm 0f9h,ar4 /将249放到AR4中loop2: banz loop2,*ar4- /AR4执行减1操作,不为0则重复
6、执行LOOP2,直到AR4为0banz loop1,*ar3- /AR3执行减1操作,不为0则重复执行LOOP1,直到AR3为0ret /总共执行了2500000次循环,用时0.25秒nop nop;stm2 cycles;banzwhen TRUE 4 cycles; FALSE 2 cycles;0f9h=>249d;270fh=>9999d.end2、资料存储实验(1)实验使用资源本实验指导书是以TMS32OVC5410为例,介绍相关的内部和外部内存资源。对于其它类型的CPU请参考查阅相关的资料手册。下面给出TMS32OVC5410的内存分配表:对于存储空间而言,映像表相对固
7、定。值得注意的是内部寄存器与存储空间的映像关系。因此在编程应用时这些特定的空间不能作其它用途。对于程序存储空间而言,其映像表和CPU的工作模式有关。当MP/MC引脚为高电平时,CPU工作在微处理器模式;当MP/MC引脚低电平时,CPU工作在为计算机模式。具体的内存映像关系如上图所示。内存实验主要了解内存的操作和DSP的内部双总线结构。并熟悉相关的指令代码和执行过程等。(2)实验过程连接好DSP开发系统,运行CCS软件;a)在CCS的Memory窗口中查找C5410各个区段的数据存储器地址,在可以改变的存储器内容的地方,选定地址随意改变其中内容并观察结果;b)在CCS中装载实验示范程序,单步执行
8、程序,程序中写入和读出的数据存储地址的变化;c)改变其它寻址方式,进行观察数据存储器地址与写入和读出数据的的变化。(3)实验说明:本实验程序将对0x1000开始的8个地址空间,填写入0xAAAA的数值,然后读出,并存储到0X1008开始的8个地址空间。在CCS中可以观察DATA内存空间地址0X10000X100F值的变化。(4)样例程序实验操作说明启动CCS 2.0,并加载“exp02.out”;用“View”下拉菜单中的“Memory”查看内存单元;输入要查看的内存单元地址,本实验要查看0x1000H0x100FH单元的数值变化,输入地址0x1000H;查看0x1000H0x100FH单元的
9、初始值,单击“Run”运行程序,也可以“单步”运行程序;单击“Halt”暂停程序运行; 查看0x1000H0x100FH单元内数值的变化;关闭各窗口,本实验完毕。(5)源程序查看:用下拉菜单中Project/Open,打开“Exp02.pjt”,双击“Source”,双击“exp02.asm”可查看源程序。(6)实验源程序代码注释:*File Name:exp02.asm;get some knowledge of the cmd file;the program is compiled at no autoinitialization mode.mmregs.global _main _ma
10、in: ;store data /存储数据stm 1000h,ar1 ;address of internal memory /将1000H赋给AR1stm 5000h,ar1 /address of exterior memoryrpt#07h /循环执行下一条指令8次,即对从1000H开始到1007H的内存写入0AAAAHst0aaaah,*ar1+ /对1000H写入0AAAAH,然后将AR1加1,使AR1指向1001H,下一次循环将0AAAAH写入1001H,再将AR1加1,依此循环8次;read data then re-store /读出数据再存储stm 7h,ar3 /将7H赋给
11、AR3;stm 5000h,ar1 /address of exterior memory;stm 5008h,ar2 /address of exterior memorystm1000h,ar1 /将1000H赋给AR1stm 1008h,ar2 /将1008H赋给AR2loop:ld*ar1+,t /ld将地址为AR1中的数值给T,即第一次循环将1000H中的0AAAAH给T,然后将AR1加1,下一次循环将1001H中的0AAAAH给T,再将AR1加1,依此循环stt,*ar2+ /将T的值给地址为AR2的内存单元,即第一次将T的值给1008H,然后将AR2加1,下一次循环将T的值给10
12、09H,再将AR2加1,依此循环banzloop,*ar3- /当AR3不为0时循环执行LOOP,直到AR3为0,即循环进行8次赋值操作,循环的结果为从1000H到100FH的内存单元的值0AAAAHhere:b here.end3、I/O实验(1)实验使用资源数字量输入信号全部拓展出来,数字量输入接口主要由两个,D_Exp与扳东开关连接,PX4和PX5与电平转换芯片(74LVC245)连接,其功能分别为:D_Exp数字量输入扩展接口I0I1I2I3I4I5I6I7VCC电平转换扩展接口PX45VIN0IN1IN2IN3PX53.3VOUT3OUT2OUT1OUT0通过PORTR,PORTW指
13、令可以实现I/O口的输入输出功能,如数字量采集实验。(2)实验说明:实验中采用简单的一一映像关系来对I/O口进行验证,目的是使实验者能够对I/O 有一目了然的认识。在本实验系统中,提供的IO空间分配如下:CPU1:0x0000 switch input (X) 80x0001 LED output(X) 8CPU2:0x0001DAC 0x0004Read_Key 0x0006Write_Key 0x000FWrite_LCD0x8000 HPIC00x8001HPIC10x8002HPID0(AUTO)0x8003HPID1(AUTO)0x8004HPIA00x8005HPIA10x8006
14、HPID0(NO AUTO) 0x8007HPID1(NO AUTO)(3)实验程序框图开始 始初始化读入I/O 00h地址的内容输出到I/O 01h地址注意: 电平转换接口主要考虑应用3.3V的中央处理器时,系统的电平兼容问题,用来保护CPU不受损坏。系统采用74LVC245电平兼容转换器件。(4)实验过程运行CCS程序,装载示范程序,调整K0K7的开关,观察LP1LP7 LED亮灭的变化,以及输入和输出状态是否一致。(注意:输出为0时点亮灯)(5)例程序实验操作说明启动CCS 2.0,并加载“exp03.out”;单击“Run”运行程序;任意调整K0K7开关,可以观察到对应LP0LP7灯“
15、亮”或“灭”;单击“Halt”,暂停持续运行,开关将对灯失去控制;关闭所有窗口,本实验完毕。(6)源程序查看:用下拉菜单中Project/Open,打开“Exp03.pjt”,双击“Source”,双击“exp03.asm”可查看源程序。(7)实验源程序代码注释;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_m
16、ain.text_main:stm3100h,sp /将3100H送到SP,即SP指向地址为3100H的内存单元stm1000h,ar1 /将1000H的赋给AR1,即AR1指向地址为1000H的内存单元portr00h,*ar1 /将端口00H的数据读到地址为1000H的内存单元中nop /空操作,即不执行任何操作nopportw*ar1,01h /将1000H中的数据送到端口01Hnop /空操作nop b _main /循环执行_mainnopnop .end4、定时器实验(1)实验使用资源定时器实验时要用到C54芯片的定时器控制寄存器,定时器时间常数寄存器,定时器中断响应,寄存器定义详
17、见C54芯片资料。C54的定时器是一个20位的减法计数器,可以被特定的状态位实现停止、重新启动、重设置或禁止,可以使用该定时器产生周期性的CPU中断,控制定时器中断频率的两个寄存器是定时周期寄存器PRD和定时减法寄存器TDDR定时器实验通过 LED(LP1LP7)来显示。在本系统中,时钟频率为20MHZ,令PRD = 0x4e1f,这样得到每1/1000秒中断一次,通过累计1000次,就能定时1秒钟。(2)实验过程调入样例程序,装载并运行;例程序实验操作说明启动CCS 2.0,并加载“exp04.out”;单击“Run”运行,可观察到LED灯(LP0LP7)以一定的间隔时间不停摆动;单击“Ha
18、lt”,暂停程序运行,LED灯停止闪烁;单击“Run”,运行程序,LED灯又开始闪烁;关闭所有窗口,本实验完毕。(3)源程序查看:用下拉菜单中Project/Open,打开“Exp04.pjt”,双击“Source”,双击“exp04.c”、“initial.asm”、“port.asm”以及“vectors.asm”可查看各源程序。(4)实验源程序代码注释;子程序initial.asm.mmregs.global _initial_initial:stm 300h,ar1 ;initial 300h data addressst #00h,*ar1 /将00H存储到地址为300H的内存中st
19、m 302h,ar1 /initial 302h data addressst #00h,*ar1 /将00H存储到地址为300H的内存中stm200h,ar1st#5555h,*ar1 /将5555H存储到地址为200H的内存中stm201h,ar1st#0aaaah,*ar1 /将0AAAAH存储到地址为201H的内存中stm202h,ar1st#400h,*ar1 /将400H存储到地址为202H的内存中ssbx1,11 ;set ST1.INTM=1,stop all interrruptstm 0ffffh,ifr;clear all interrupt indicatestm 00
20、h,imr ;set imr=0,stop all interrruptstm 410h,tcr;stop timer /停止计时stm 4e1fh,prd;set prd=4e1fh=19999 stm 420h,tcr;start timer /开始计时stm 08h,imr ;allow timer interrupt /将08H写入IMR ,允许中断rsbx 1,11 ;set ST1.INTM=0,start all interrruptret;子程序potr.asm.mmregs.global_porta.global_portb_porta:stm304h,ar1 st5555h
21、,*ar1 /将5555H存储到地址为304H的内存中portw*ar1,01h /将304H中的值写到端口01H,即把5555H送到端口01Hret_portb:stm304h,ar1 st0aaaah,*ar1 /将0AAAAH存储到地址为304H的内存中 portw*ar1,01h /将304H中的值写到端口01H,即把0AAAAH送到端口01H ret 主程序#include <stdio.h>interrupt void timer(); /声明函数extern void initial(); /声明外部函数initialextern void porta(); /声明外
22、部函数portaextern void portb();int flag=0;interrupt void timer() /该函数负责定时,每次中断调用该函数*(int *)0x300=*(int *)0x300+1; /内存为0X300的值自加1if(*(int *)0x300=0x3e8) *(int *)0x300=0; /当加到0X3e8既十进制1000次时,让0x300的值为0*(int *)0x302=*(int *)0x302+1; if(flag=0) flag=1;porta(); /执行函数porta同时将flag=1,下次执行timer时执行portbelseflag=
23、0;portb(); /执行函数portb同时将flag=0,下次执行timer时执行porta return; main()initial();while(1);本实验主函数中因为flag的值0,1,0,1交替变化,所以函数porta和portb交替运行,分别把5555H和0AAAAH中的值送到端口01H中5、INT2中断实验(1)实验使用资源本实验是进行C54芯片的INT2中断练习, C54芯片中断INT2是低电平单脉冲触发;实验采用导线一端连接D_Exp数字量输入扩展接口I0,经PX4的IN3,到PX5的OUT0电平转换,再与另一端连接INT2插孔;拨动开关K0一次,就产生一个低电平单脉
24、冲;运行示范程序,观察LP1LP7 LED灯的输出变化;可观察到每拨动开关K0一次LP1LP7灯亮灭变化一次;(2)实验过程样例程序实验操作说明;启动CCS 2.0,并加载“exp05.out”;单击“Run”运行程序,反复拨动开关K0,观察LP1LP7 LED灯亮灭变化;单击“Halt”暂停程序运行,反复拨动开关K0,LP1LP7 LED灯亮灭不变化;关闭所有窗口,本实验完毕。(3)源程序查看:用下拉菜单中Project/Open,打开“Exp05.pjt”,双击“Source”,双击“int2.c”、“initial.asm”、“port.asm”以及“vectors.asm”可查看各源程
25、序。(4)实验源程序代码注释 主程序int2interrupt void int2c(); extern void initial();extern voidporta();extern void portb();int flag=0;main()initial();while(1); interrupt void int2c() asm("nop"); *(int *)0x300=*(int *)0x300+2; /内存为0X300的值自加2if(flag=0)flag=1;porta(); /执行函数porta同时将flag=1elseflag=0; portb();
26、/执行函数portb同时将flag=0子程序initial().mmregs.global _initial .text _initial:stm 300h,ar3 ;initial data 300h /将地址300h赋给ar3st #00h,*ar3 /将立即数00h赋予ar3stm 302h,ar4 / 将地址302h赋给ar4st #00h,*ar4 /将立即数00h赋予ar4ssbx1,11 ; set m=1 stop all interrupt /置位,设置状态寄存器1为1stm 00h,imr;stop all interrupt /重新赋值,设置中断屏蔽寄存器为
27、0stm 0ffffh,ifr;clear all interrupt sign /将所有的中断的标志位清零stm 04h,imr;allow int2 interrupt /允许int2 中断rsbx 1,11 /allow all interrupt /允许所有的中断ret .end子程序potr.asm.mmregs.global_porta.global_portb_porta:stm304h,ar1 st5555h,*ar1 /将5555H存储到地址为304H的内存中portw*ar1,01h /将304H中的值写到端口01H,即把5555H送到端口01Hret_portb:stm3
28、04h,ar1 st0aaaah,*ar1 /将0AAAAH存储到地址为304H的内存中portw*ar1,01h /将304H中的值写到端口01H,即把0AAAAH送到端口01Hret本实验主函数中函数porta和portb交替运行,分别把5555H和0AAAAH中的值送到端口01H中三、实验二 A/D采样实验(一)实验目的1掌握利用TLV320AD50实现/转换的技术基本原理和常用方法。2学会DSP的多信道缓冲串口的应用方法。3掌握并熟练使用DSP和AD50的接口及其操作。4通过实验加深对DSP系统频谱混叠认识。(二)实验设备计算机,CCS 2.0软件,DSP仿真器,实验箱,示波器,连接导
29、线。(三)实验步骤和内容1、实验连线用短接块短接SS1的1,2脚,设置输出低频信号;短接S2 的Sin脚,设置输出正弦波信号,这时模拟信号产生单元SP1输出为低频正弦波。²JD跳线断开,设置语音处理单元输入信号为交流;并用导线连接SP1脚和JAD3的1脚,将模拟低频正弦波信号接入语音处理单元。²用导线连接JAD1的INP和INPF,以及JAD2的INM和INMF,将语音处理单元输出的差动模拟信号接入AD50输入端。2、运行 CCS 2.0软件, 装入“exp06.pjt”工程文件,双击“exp06.pjt”及“Source”,打开各源程序;并阅读程序,明确多通道串口和AD5
30、0初始化程序,DSP串口采样程序使用。3、加载“exp06.out”示范程序,在“exp06.c”中“READAD50()”处,设置断点,运行程序,通过用下拉菜单中的View / Graph的“Time/Frequency”打开一个图形观察窗口;调节输入信号的频率或幅值, 观察图形情况(幅值和频率)。设置断点的窗口;设单击“Run”运行程序,程序运行到断点处停止;设置该图形观察窗口的参数,观察起始地址为0x1000H,长度为256的内存单元内的数据,该资料为输入信号经A/D转换之后的数据,数据类型为16位整型;单击“Animate”运行程序,在图形观察窗口观察A/D转换后的采样波形;调节输入信
31、号的频率或幅值,做同样的采样实验,观察采样结果。4、调节输入信号的频率或幅值,观察输入频率大于采样频率1/2时波形图形时, 认识频谱混叠现象。5、 Halt”暂停程序运行。6、“View”的下拉菜单中“Memory”打开内存资料观察窗口,设置该内存资料观察窗口的参数,运行“Animate”程序,通过内存观察窗口,观察数据存储器中的采样数值变化。用“View”的下拉菜单中“Memory”打开内存资料观察窗口;设置该内存资料观察窗口的参数,选择地址为0x1000H,资料格式C格式16进制数;单击“Animate”运行程序,调整内存资料观察窗口,并在该窗口中观察资料变化,A/D转换后的资料存储在地址
32、为0x10000x10FFH单元内,变化资料将变为红色;单击“Halt”停止程序运行;7、练习改变存储地址和采样频率, 进行同样的实验。8、通过调试程序,了解多通道串口的使用方法。四、实验三D/A转换实验(一)实验目的1、掌握利用TLV320AD50实现/转换的技术基本原理和常用方法。2、进一步学习DSP的多信道缓冲串口的应用方法。3、掌握并熟练使用DSP和AD50的输出接口及其操作。(二)实验设备计算机,CCS 2.0版软件,DSP仿真器,实验箱,示波器。(三)实验步骤与内容1、不需联机,通过示波器观测输出波形情况;2、运行CCS软件,加载示范源程序,了解实验程序; 3、加载示范程序“exp
33、07.out”,并通过File/Data/Load装载波形数据sin.dat。加载“exp07.out”窗口,由File/Data/Load装载sin.dat窗口;4、按F5运行程序,用示波器检测JAD4的3脚AD50_DAout输出一个正弦波;5、在程序中,改变相应资料来实现改变波形和周期;选择地址为0x3000H;打开一个图形观察窗口,以观察加载实验波形数据波形;设置观察窗口参数,起始地址为0x3000H,长度为40,16位整型;单击“Run”运行程序;用示波器检测JAD4的3脚AD50_DAout可以看到输出一个正弦波;关闭所有窗口,本实验完毕。(四)实验说明采用TLV320AD50进行
34、数字到模拟的转换,通过观察输出的结果来验证通信和转换情况。由于该实验系统采用差动放大输出,因此输出电压值为两个终端的差。五、实验四有限冲击响应滤波器(FIR)算法实验(一)实验目的1掌握用窗函数法设计FIR数字滤波器的原理和方法;2熟悉线性相位FIR数字滤波器特性;3了解各种窗函数对滤波特性的影响。(二)实验设备计算机,CCS 2.0 版软件,实验箱,DSP仿真器,短接块,导线。(三)实验原理1有限冲击响应数字滤波器的基础理论;2模拟滤波器原理(巴特沃斯滤波器、切比雪夫滤波器、贝塞尔滤波器);3数字滤波器系数的确定方法。(四)实验步骤1复习如何设计FIR数字滤波。阅读本实验原理,掌握设计步骤;
35、2阅读本实验所提供的样例子程序;3运行CCS软件,对样例程序进行跟踪,分析结果;4填写实验报告。5样例程序实验操作说明(1)实验前准备在模拟信号产生单元中,一路信号源产生低频正弦波信号(S1 置“L”),另一路信号;源产生高频正弦波信号(S11置“H”),检查模拟信号输出端口“A”与“B”应断开;实验箱上电,用示波器分别观测out1和out2输出的模拟信号,调节电位器SPR1、SPR2(out1输出信号的频率调节和幅值调节)和电位器SPR11、SPR12(out2输出信号的频率调节和幅值调节),直至满意为止;本样例实验程序建议:低频正弦波信号为100Hz/1V;高频正弦波信号为6KHz/1V;实验箱掉电,做以下连接和检查:短接输出端
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 9那一定会很好(教学设计)2024-2025学年统编版语文三年级上册
- 2025年年市政工程合作协议书
- Unit 9 A birthday party(教学设计)-2024-2025学年深港朗文版英语二年级上册
- 三角形的特性( 教学设计)-2023-2024学年四年级下册数学人教版
- nvr收编套用定额
- 电力系统仿真用电源聚合等值和实测建模导则
- 2025年工业物联网项目发展计划
- 多元化教学方法的探索与实践计划
- 行业内数字品牌建设的新路径计划
- 学校国际交流合作计划
- 太阳能热水器原理与应用
- 风电环保风险评估报告
- DL/T 5155-2016 220kV~1000kV变电站站用电设计技术规程
- 腰椎骨折的护理知识讲座ppt
- 海关辅助人员报名登记表
- 《时区和日界线》
- 部编版小学语文五年级下册第4单元基础知识检测卷-(含答案)
- 大类资产配置量化模型研究系列之二:手把手教你实现Black-Litterman模型
- 传染病学 猩红热
- 《汽修公司人员流失问题研究4700字(论文)》
- 狐狸的养殖技术
评论
0/150
提交评论