dsp硬件实验报告北邮.docx
《dsp硬件实验报告北邮.docx》由会员分享,可在线阅读,更多相关《dsp硬件实验报告北邮.docx(22页珍藏版)》请在淘文阁 - 分享文档赚钱的网站上搜索。
1、北邮DSP硬件实验报告学院:班级:学号:姓名:班内序号:指导老师: 第三章 5416常规实验实验一:常用指令实验1. 实验目的:了解DSP开发系统的组成和结构,熟悉DSP开发系统的连接和开发界面,熟悉C54X系列的寻址系统, 熟悉常用的C54X系列指令的用法。2. 实验设备计算机,CCS3.3版软件,EXPIII+实验箱3. 程序源代码注释;* 北京达盛科技有限公司;* 研 发 部;* ;* 文件名称 : xf.asm ;* 适用平台 : EXPIII+实验系统;* CPU类型 : DSP TMS320VC54X;* 软件环境 : CCS3.1 (5000系列);* 试验接线 : 1、实验箱的
2、拨码开关SW2.4置OFF(54x的译码有效);54x CPU板的跳线J2的1、2短接;* (HPI 8位模式);SW1的2、6置ON,其余置OFF(HPI使能;DSP工作微处理器方式;;* CPU_CS=0);SW2全部置ON(FLASH工作在数据空间,LED灯D5的工作状态处于灭状态);;* 试验现象 : 可以观察到实验箱CPLD右上方的D3按一定频率闪烁。.mmregs -(entermemory-mappedregistersintothesymboltable)-进入记忆映射注册进入符号表.global _main -(identifyoneormoreglobal(external
3、)symbols)-定义全局变量_main: stm #3000h,sp(堆栈指针寄存器)堆栈指针寄存器的值为3000h (#表示立即数)ssbx xf ;将XF置位,灯亮call delay (存储器延时) 调用延时子程序,延时 rsbx xf ;将XF复位 灯灭 call delay ;调用延时子程序b _main ;转移回main 函数,意为无限循环nop 无操作,延时子程序 nop delay: stm 270fh,ar1 指定ar1寄存器地址,设置为9999loop1: stm 0f9h,ar4 指定ar4寄存器地址,设置为249loop2:banz loop2,*ar4- ;条件转
4、移,每次转移ar4地址减一banz loop1,*ar1-; 条件转移,每次转移ar1地址减一ret ;循环嵌套,总循环次数为270f*0f9nopnop.end4. 实验现象可以看到实验箱上的XF灯以一定的频率闪烁当单击“Halt”时程序暂定,XF灯停止闪烁,当再次单击RUN时,XF灯又开始闪烁。实验二:数据储存实验1. 实验目的掌握TMS320C54的程序空间分配,掌握TMS320C54的数据空间的分配,熟悉操作TMS320C54数据空间的指令。2. 实验设备计算机,CCS3.3版软件,EXPIII+实验箱3. 实验系统相关资料介绍本实验指导书是以TMS32OVC5410为例,介绍相关的内
5、部和外部内存资源。对于其它类型的CPU请参考查阅相关的资料手册。下面给出TMS32OVC5410的内存分配表: 对于存储空间而言,映像表相对固定。值得注意的是内部寄存器与存储空间的映像关系。因此在编程应用时这些特定的空间不能作其它用途。对于程序存储空间而言,其映像表和CPU的工作模式有关。当MP/MC引脚为高电平时,CPU工作在微处理器模式;当MP/MC引脚低电平时,CPU工作在为计算机模式。具体的内存映像关系如上图所示。4. 程序源代码及注释;* 北京达盛科技有限公司;* 研 发 部;* ;* 文件名称 : xf.asm ;* 适用平台 : EXPIII+实验系统;* CPU类型 : DSP
6、 TMS320VC54X;* 软件环境 : CCS3.1 (5000系列);* 试验接线 : 1、实验箱的拨码开关SW2.4置OFF(54x的译码有效);54x CPU板的跳线J2的1、2短接;* (HPI 8位模式);SW1的2、6置ON,其余置OFF(HPI使能;DSP工作微处理器方式;;* CPU_CS=0);SW2全部置ON(FLASH工作在数据空间,LED灯D5的工作状态处于灭状态);;* 试验现象 : 可以观察到实验箱CPLD右上方的D3按一定频率闪烁。.mmregs.global _main _main: ;store datastm 1000h,ar1 ;address of
7、internal memory 指定内部ar1寄存器地址1000h stm 5000h,ar1 ;address of exterior memory 指定外部寄存器ar1的地址为5000hrpt #07h ;循环执行下一条指令,循环次数07h st0aaaah,*ar1+ ;ar1所指的内存赋予0aaaah,然后ar1所指地址加1,此语句过后1000至1007地址空间中存入了0AAAAstm 7h,ar3 指定ar3地址7h,循环次数stm1000h,ar1 设置ar1地址为1000hstm 1008h,ar2 ;设置ar2地址为1008hloop: ld*ar1+,t ;循环读取1000h
8、1007h stt,*ar2+ ;并将值赋予1008h1016hbanz loop,*ar3- ;循环次数为AR3here: ;死循环. b here ;可选择延迟的无条件转移,循环执行,无条件移至here.end5. 实验现象在CCS的“View”下拉菜单中的Memory窗口中查找C5416各个区段的数据存储器地址,在可以改变的存储器内容的地方,选定地址随意改变其中内容并观察结果;本实验要查看0x10000x100F单元的数值变化,输入地址0x1000;查看0x10000x100F单元的初始值,单击“Run”运行程序,也可以“单步”运行程序;单击“Halt”暂停程序运行。实验三:I/O实验1
9、. 实验目的了解I/O口的扩展,掌握I/O口的操作方法,熟悉PORTR,PORTW指令的用途,了解数字量与模拟量的区别和联系。2. 实验设备计算机,CCS3.3版软件,EXPIII+实验箱,DSP仿真器3. 流程框图开始读入I/O数据 读出I/O数据结束 4. 程序源代码及注释;* 北京达盛科技有限公司;* 研 发 部;* ;* 文件名称 : exp03.asm ;* 适用平台 : EXPIII+实验系统;* CPU类型 : DSP TMS320VC54X;* 软件环境 : CCS3.1 (5000系列);* 试验接线 : 1、实验箱的拨码开关SW2.4置OFF(54x的译码有效);54x C
10、PU板的跳线J2的1、2短接;* (HPI 8位模式);SW1的2、6置ON,其余置OFF(HPI使能;DSP工作微处理器方式;;* CPU_CS=0);SW2全部置ON(FLASH工作在数据空间,LED灯D5的工作状态处于灭状态);;* 试验现象 : 分别调整数字输入单元的开关K1K8,观察LED1LED8亮灭的变化,以及输入和输出状态是否一致。.mmregs.global_main.text_main:stm3100h,sp ;定义sp的地址为3100stm1000h,ar1 ;定义ar1的地址为1000portr 8000h,*ar1 ;读入I/O 8000H数据,将其存储到数据空间的1
11、000H,读按键nop ;nopportw*ar1,8001h ;将数据空间的1000H单元的数据,写出到I/O 8001Hnopnop b _main ;程序跳转到main函数 nop nop .end5. 实验现象任意调整K0K7开关,可以观察到对应LP0LP7灯“亮”或“灭”;单击Halt”,暂停持续运行,开关将对灯失去控制。实验四:定时器实验1. 实验目的熟悉C54的定时器,掌握C54定时器的控制方法,学会使用定时器中断方式控制程序流程。2. 实验设备计算机,CCS3.3版软件,EXPIII+实验箱,DSP仿真器3. 实验原理及流程框图1) 实验原理定时器实验时要用到C54芯片的定时器
12、控制寄存器,定时器时间常数寄存器,定时器中断响应,寄存器定义详见C54芯片资料。C54的定时器是一个20位的减法计数器,可以被特定的状态位实现停止、重新启动、重设置或禁止,可以使用该定时器产生周期性的CPU中断,控制定时器中断频率的两个寄存器是定时周期寄存器PRD和定时减法寄存器TDDR。定时器实验通过 LED(LP1LP7)来显示。在本系统中,时钟频率为20MHZ,令PRD = 0x4e1f,这样得到每1/1000秒中断一次,通过累计1000次,就能定时1秒钟。2) 流程框图主程序:开始系统初始化 定时器初始化执行程序,定时中断端口赋值输出结束设置定时器长度关掉中断停止中断器 中断程序: 打
13、开中断运行定时器允许定时器中断4. 源程序代码及注释* 文件名称 : exp04.c#include tms320uc5402.h/*全局变量定义与初始化*/ioport unsigned port8001;unsigned int show=0x00aa;unsigned int num=0x0000;/*函数、子程序声明与定义*/void sys_ini() 系统初始化子程序 asm( ssbx INTM); 全局禁止所有可屏蔽中断 PMST &=0x00FF; 向量表映射到0x0080空间 前八位全部置0 SWWSR=0x7000; io空间7个等待周期,程序与数据空间0个等待周期 CL
14、KMD=0x17FA; 定义最长延长时间void timer0_ini() 定时器初始化子程序 TCR|=0x0010; 停止定时器0 PRD=0x2710; PRD=10000(D) TCR|=0x000A; 定义定时器时钟=1/(20M/10/10000)=5ms IMR=0x0008; 使能定时器0中断 IFR=0xFFFF; 清除所有中断标志位 asm( rsbx INTM); 全局使能可屏蔽中断 TCR&=0xFFEF; 开始定时器0 TCR|=0x0020; 复位定时起0/*中断服务子程序声明与定义*/interrupt void timer0() 定时器0中断子程序 if(num
15、=200) 记200次定时器中断,时间=200*5ms=1s,即灯闪烁频率 show=show; 取反 num=0; else num+; return; /*主程序*/void main(void) sys_ini(); timer0_ini(); for(;) 循环中断子程序 port8001=show; 定义show,灯亮地址*文件名称:vectors.asm 向量程序 .global _c_int00(c程序入口),_timer0(时间间断点) .sect .vecsreset: 复位中断响应 b _c_int00 ;c_int00是c程序的入口,这里即进入main函数中 nop no
16、pnmi: rete 中断屏蔽置为0,响应中断,不可屏蔽中断产生时,使中断屏蔽取消,后返回。 nop nop nop; software interrupts 软件中断sin17: .space 4*16 保留出中断向量的地址空间sin18: .space 4*16sin19: .space 4*16sin20: .space 4*16sin21: .space 4*16sin22: .space 4*16sin23: .space 4*16sin24: .space 4*16sin25: .space 4*16sin26: .space 4*16sin27: .space 4*16sin28
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- dsp 硬件 实验 报告
限制150内