版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领
文档简介
1、-Dsp硬件实验报告:专业:班级:班序号:第一局部.常规实验指导-第一题.常用指令实验一实验目的1.熟悉DSP开发系统的连接2.了解DSP开发系统的组成和构造和应用系统构成3.熟悉常用C54*系列指令的用法(程序寻址,存放器,I/O口,定时器,中断控制)。二实验设备计算机,CCS 2.0版软件,DSP仿真器,实验箱。三实验步骤与容1、 系统连接进展DSP实验之前,先必须连接好仿真器、实验箱及计算机,连接方法如下所示:PCI/USB/EPP接口JTAG接口计 算 机仿 真 器用户开发板在硬件安装完成后,接通仿真器电源或启动计算机,此时,仿真盒上的“红色小灯应点亮,否则DSP开发系统与计算机连接有
2、问题。2、 运行CCS程序先实验箱上电,然后启动CCS,此时仿真器上的“绿色小灯应点亮,并且CCS正常启动,说明系统连接正常;否则仿真器的连接、JTAG接口或CCS相关设置存在问题,掉电,检查仿真器的连接、JTAG接口连接,或检查CCS相关设置是否正确。四实验结果:试验箱的“CPLD单元的指示灯D3以一定频率闪烁,单击“halt暂停程序运行,则指示灯D3停顿闪烁,如再点击“halt,指示灯D3又开场闪烁五实验流程图:观察现象上点复位运行程序加载程序六实验代码:;*;* 达盛科技;* 研 发 部;*;* .techshine.;*/ ;* ;* 文件名称 : *f.asm ;* 适用平台 : E
3、*PIII+实验系统;* CPU类型 : DSP TMS320VC54*;* 软件环境 : CCS3.1 (5000系列);* 试验接线 : 1、实验箱的拨码开关SW2.4置OFF54*的译码有效;54* CPU板的跳线J2的1、2短接;* HPI 8位模式;SW1的2、6置ON,其余置OFFHPI使能;DSP工作微处理器方式;;* CPU_CS=0;SW2全部置ONFLASH工作在数据空间,LED灯D5的工作状态处于灭状态;;* 试验现象 : 可以观察到实验箱CPLD右上方的D3按一定频率闪烁。;*.mmregs.global _main_main: stm*3000h,sp ;采用立即寻址
4、方式,将立即数3000h存入堆栈指针spssb*f ;*f是由软件控制的外部引脚,用来发送信号给外部设备。将*F置1call delay ;调用延时子程序,延时rsb*f ;将*F置0call delay ;调用延时子程序,b _main ;程序跳转到"_MAIN"nopnop ;延时子程序 delay: stm 270fh,ar3;将地址270fh存入辅助存放器ar3loop1: stm 0f9h,ar4;将地址0f9h存入ar4loop2:banz loop2,*ar4- ;只要ar4中的地址不为0则一直在loop2中循环 banz loop1,*ar3- ;当loop
5、2完毕,只要ar3中的地址不为0则一直在loop1处循环ret ;返回main函数中调用delay函数的地方nopnop.end第二题.数据存储实验一实验使用资源本实验指导书是以TMS32OVC5410为例,介绍相关的部和外部存资源。对于其它类型的CPU请参考察阅相关的资料手册。下面给出TMS32OVC5410的存分配表:对于存储空间而言,映像表相对固定。值得注意的是部存放器与存储空间的映像关系。因此在编程应用时这些特定的空间不能作其它用途。对于程序存储空间而言,其映像表和CPU的工作模式有关。当MP/MC引脚为高电平时,CPU工作在微处理器模式;当MP/MC引脚低电平时,CPU工作在为计算机
6、模式。具体的存映像关系如上如所示。存实验主要了解存的操作和DSP的部双总线构造。并熟悉相关的指令代码和执行过程等。二.实验过程连接好DSP开发系统,运行CCS软件;a) 在CCS的Memory窗口中查找C5410各个区段的数据存储器地址,在可以改变的存储器容的地方,选定地址随意改变其中容并观察结果;b) 在CCS中装载实验示程序,单步执行程序,程序中写入和读出的数据存储地址的变化;c) 改变其它寻址方式,进展观察数据存储器地址与写入和读出数据的的变化。三实验结果:对0*1000开场的8个地址空间,填入0*aaaa的熟知,然后读出并存储到0*1008开场的8个地址空间。四实验代码:.mmregs
7、.global _main _main: ;store datastm 1000h,ar1 ;将地址1000h存入ar1辅助存放器rpt*07h ;循环执行下一条指令,循环次数为立即数*07h,即为8次st0aaaah,*ar1+ ;将0*aaaah中的数据存放到以地址1000H1007H的八个存储单元中.stm 7h,ar3 ;将地址7h放入ar3中stm1000h,ar1 ;将地址1000h放入ar1中stm 1008h,ar2 ;将地址1008h放入ar2中loop: ;循环的将1000H1007H的八个单元中的数据COPY到1008H100F的八个存储单元中.ld*ar1+,t ;取出
8、1000h开场的数据空间中的数据存入t中stt,*ar2+ ;将t中的数据取出存入由1008H开场的数据空间banz loop,*ar3- ;循环8次,直到ar3中的地址为0here: ;死循环. b here.end五实验流程图:观察现象上点复位运行程序加载程序存入1008h开场的8个地址空间取出1000h开场的8个空间的数据将数据存入1000h开场的8个空间六实验截图:第三题.I/0实验一实验使用资源数字量输入信号全部拓展出来,数字量输入接口主要由两个,D_E*p与扳东开关连接,P*4和P*5与电平转换芯片74LVC245连接,其功能分别为:D_E*p数字量输入扩展接口I0I1I2I3I4
9、I5I6I7VCC电平转换扩展接口P*45VIN0IN1IN2IN3P*53.3VOUT3OUT2OUT1OUT0二实验说明:实验中采用简单的一一映像关系来对I/O口进展验证,目的是使实验者能够对I/O 有一目了然的认识。在本实验系统中,提供的IO空间分配如下:. z-CPU1:0*0000 switch input (*) 80*0001 LED output(*) 8CPU2:0*0001DAC0*0004Read_Key0*0006Write_Key0*000FWrite_LCD0*8000 HPIC00*8001HPIC10*8002HPID0(AUTO)0*8003HPID1(AUT
10、O)0*8004HPIA00*8005HPIA10*8006HPID0(NO AUTO)0*8007HPID1(NO AUTO)开场 始初始化读入I/O 00h地址的内容输出到I/O 01h地址三实验流程图四实验结果:任意调整k1k8开关,可以观察到对应led灯“亮或“灭五实验代码:.mmregs.global_main.te*t_main:stm3100h,sp ;将3100h存入sp,sp为堆栈指针stm1000h,ar1 ;将1000h存入ar1portr8000h,*ar1 ;读入I/O 端口8000H数据,将其存储地址为1000H的数据空间中nop ;NOP为空操作,起延时作用.no
11、pportw*ar1,8001h ;将地址为1000H的数据单元的数据,写出到I/O 8001Hnopnop b _main ;程序跳转到"_MAIN"执行. nop nop .end第四题.定时器实验一实验使用资源:定时器实验时要用到C54芯片的定时器控制存放器,定时器时间常数存放器,定时器中断响应,存放器定义详见C54芯片资料。C54的定时器是一个20位的减法计数器,可以被特定的状态位实现停顿、重新启动、重设置或制止,可以使用该定时器产生周期性的CPU中断,控制定时器中断频率的两个存放器是定时周期存放器PRD和定时减法存放器TDDR定时器实验通过 LED= 0*4e1f
12、,这样得到每1/1000秒中断一次,通过累计1000次,就能定时1秒钟。二实验结果:LP1LP7来显示。在本系统中,时钟频率为20MHZ,令PRD LED1LED8每秒交替闪烁一次三实验流程:观察现象上点复位运行程序加载程序每隔1s亮灭一次定时中断计数器计数四实验代码:E*p4.c/*文件预处理*/*include "tms320uc5402.h"/*/*全局变量定义与初始化*/ioport unsigned port8001; /定义io端口为8001hunsigned int show=0*00aa; /show赋初值unsigned int num=0*0000; /
13、num初值为0/*/*函数、子程序声明与定义*/. z-void sys_ini() /系统初始化子程序 asm(" ssb* INTM"); /全局制止所有可屏蔽中断 PMST&=0*00FF; /(DRAM映射到程序空间和数据空间)向量表映射到0*0080空间 SWWSR=0*7000; /io空间7个等待周期,程序与数据空间0个等待周期 CLKMD=0*17FA; /CLKOUT= (1+1)*10M=20M,部时钟频率void timer0_ini() /定时器0初始化子程序 TCR|=0*0010;y / tss=1,停顿定时器0,TCR是定时器状态控制存
14、放器 PRD=0*2710; /PRD=10000(D),0*2710就是十进制10000,所以定时周期为10000 TCR|=0*000A; /TDDR=10(D),定时器计数器模值为10,所以定时器时钟=1/20M*10*10000=5ms IMR=0*0008; /使能定时器0中断,tint=1 IFR=0*FFFF; /去除所有中断标志位 asm(" rsb* INTM"); /全局使能可屏蔽中断 TCR&=0*FFEF; /开场定时器0,TSS=0 TCR|=0*0020; /复位定时器,TRB=1. z-/*/*中断效劳子程序声明与定义*/interru
15、pt void timer0() /定时器0中断子程序 if(num=200) /记200次定时器中断,每次中断间隔5ms,经历时间=200*5ms=1s时show取反 show=show; /取反,现象为每经过1秒led灯交替闪烁一次 num=0; else num+; return; /*/*主程序*/void main(void) sys_ini(); ;系统初始化 timer0_ini(); ;定时器初始化 for(;) port8001=show; ;将show的值输出给端口8001h /*完毕*/Vector.asm. z- .global _c_int00,_timer0 .se
16、ct ".vecs"reset: b _c_int00 ;RESET VECTORS nop nopnmi: rete ;NMI nop nop nop; software interruptssin17: .space 4*16sin18: .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
17、 4*16sin28: .space 4*16sin29: .space 4*16sin30: .space 4*16int0: rete ;E*TERNAL INT0 nop ;直接返回,没有操作 nop nopint1: rete ;E*TERNAL INT1 nop nop nopint2: rete ;E*TERNAL INT2 nop nop noptint0: b _timer0 ;中断程序的入口,每过一个定时器周期,就触发tint中断,并跳转到c文件中的timer0 nop nopbrint0: rete ;BcBSP0 RECEIVE INTERRUPT nop nop nop
18、b*int0: rete ;BcBSP0 TRANSMIT INTERRUPT nop nop nopdmac0: rete ;RESERVED OR DMA CHANNEL0 INTERRUPT nop nop noptint1_dmac1: rete ;TIMER1 INTERRUPT OR DMA CHANNEL1 INTERRUPT nop nop nopint3: rete ;E*TERNAL INT3 nop nop nophpint: rete ;HPI INTERRUPT nop nop nopbrint1_dmac2: rete ;McBSP1 RECEIVE INTERRU
19、PT OR DMA CHANNEL 2 INTERRUPT nop nop nopb*int1_dmac3: rete ;McBSP1 TRANSMIT INTERRUPT OR DMA CHANNEL 3 INTERRUPT nop nop nopdmac4: rete ;DMA CHANNEL 4 INTERRUPT nop nop nopdmac5: rete ;DMA CHANNEL 5 INTERRUPT nop nop nop. z-; *完毕* 第五题.INT2中断实验一实验使用资源本实验是进展C54芯片的INT2中断练习, C54芯片中断INT2是低电平单脉冲触发;实验采用导线
20、一端连接D_E*p数字量输入扩展接口I0,经P*4的IN3,到P*5的OUT0电平转换,再与另一端连接INT2插孔;拨动开关K0一次,就产生一个低电平单脉冲;运行示程序,观察LP1LP7 LED灯的输出变化;可观察到每拨动开关K0一次LP1LP7灯亮灭变化一次;二实验结果:按键s5产生一个脉冲中断,使LED灯亮灭变化一次三实验流程图:观察现象上点复位运行程序加载程序选择不同的存数据写出到端口外部中断LED灯亮灭变化四实验代码:Vector.asm. z- .sect ".vectors" .ref _c_int00 ; C entry point .ref _int2c .
21、align 0*80 ; must be aligned on page boundaryRESET: ; reset vector BD _c_int00 ; 使RESET中断能指向C程序的入口c_int00 STM *200,SP ; 将200存入堆栈指针spnmi: RETE ; nmi是非屏蔽外部中断的输入引脚 NOP NOP NOP ;NMI ; software interruptssint17 .space 4*16sint18 .space 4*16sint19 .space 4*16sint20 .space 4*16sint21 .space 4*16sint22 .spa
22、ce 4*16sint23 .space 4*16sint24 .space 4*16sint25 .space 4*16sint26 .space 4*16sint27 .space 4*16sint28 .space 4*16sint29 .space 4*16sint30 .space 4*16int0: RETE NOP NOP NOPint1: RETE NOP NOP NOPint2: b _int2c ;程序跳转的中断子程序,int2为低电平触发的外部中断 NOP NOPtint: RETE NOP NOP NOPrint0: RETE NOP NOP NOP*int0: RET
23、E NOP NOP NOPrint1: RETE NOP NOP NOP*int1: RETE NOP NOP NOPint3: RETE NOP NOP NOP. z-Int2. z-interrupt void int2c(); /声明中断子程序int2c()e*tern void initial(); /初始化系统initial()e*tern voidporta();/声明闪烁状态1的函数e*tern void portb();/声明闪烁状态1的函数int flag=0,i=0;/给变量赋初值main()initial();/初始化while(1) /死循环; /空语句 interru
24、pt void int2c() /中断子程序 i=i+1; if(i=1) if(flag=0) flag=1;porta(); /执行函数porta()i=0; else flag=0; portb(); /执行函数portb() i=0; else i=0;return;Initial.asm.mmregs.global _initial .te*t _initial:NOPLD *0, DP ; 将9bit数据0装入DPSTM *0, CLKMD ; 将*0放入时钟模式存放器TstStatu1: LDM CLKMD, A ;将存放器clkmd中的值放入累加器A中 AND *01b, A
25、;将立即数01b放入累加器A中 BC TstStatu1, ANEQ ;条件转移,如果ANEQ中的值不为0,则跳转到teststatu1STM *0*F7FF, CLKMD ; set C5402 DSP clock to 10MHzSTM 0*3FA0, PMST ; vectors at 3F80h,PMST是处理器方式状态存放器初始化储存器配置情况ssb* 1,11 ; set m=1 stop all interrupt,置位stm *00h,imr;制止所有中断stm *0ffffh,ifr;去除所有中断stm *04h,imr;允许int2中断rsb* 1,11 ;允
26、许所有可屏蔽中断,状态存放器复位ret .end;处理器的初始化的参量设置。Port.asm.mmregs.global_porta.global_portb_porta: stm304h,ar1 ;将地址304h存入ar1st5555h,*ar1 ;将 5555h里的数存入304h指向的地址空间portw*ar1,8001h ;将5555h里的数据写到端口ret;返回调用入口_portb:stm304h,ar1 ;将地址304h存入ar1st0aaaah,*ar1 ;将 0aaaah里的数存入304h指向的地址空间portw*ar1,8001h ;将5555h里的数据写到端口ret;返回调用
27、入口. z-第六题.A/D转换实验一实验目的1 掌握利用TLV320AD50实现/转换的技术根本原理和常用方法。2 学会DSP的多信道缓冲串口的应用方法。3 掌握并熟练使用DSP和AD50的接口及其操作。4 通过实验加深对DSP系统频谱混叠认识。二实验设备:计算机,CCS 2.0软件,DSP仿真器,实验箱,示波器,连接导线。三实验步骤和容:1.实验连线² 用短接块短接SS1的1,2脚,设置输出低频信号;短接S2 的Sin脚,设置输出正弦波信号,这时模拟信号产生单元SP1输出为低频正弦波。² JD跳线断开,设置语音处理单元输入信号为交流;并用导线连接SP1脚和JAD3的1脚,
28、将模拟低频正弦波信号接入语音处理单元。² 用导线连接JAD1的INP和INPF,以及JAD2的INM和INMF,将语音处理单元输出的差动模拟信号接入AD50输入端。2.运行 CCS 2.0软件, 装入“e*p06.pjt工程文件,双击“e*p06.pjt及“Source3加载“e*p06.out示程序,在“e*p06.c中“READAD50处,设置断点,运行程序,通过用下拉菜单中的View / Graph的“Time/Frequency翻开一个图形观察窗口,调节输入信号的频率或幅值, 观察图形情况幅值和频率,设置该图形观察窗口的参数,观察起始地址为0*1000H,长度为256的存单元
29、的数据,该资料为输入信号经A/D转换之后的数据,数据类型为16位整型,击“Animate运行程序,在图形观察窗口观察A/D转换后的采样波形。四实验结果:通过模拟信号源1产生的正弦波信号通过采样量化变成数字信号,再通过图形工具可以绘制图形五实验流程图:观察现象上点复位运行程序加载程序模拟信号源产生正选波采样数据定时存入data_buff数组中画图六实验代码:E*p06.c/*文件预处理*/*include "tms320uc5402.h"/*/*全局变量定义与初始化*/ad7822的地址ioport unsigned port8008;unsigned int data_bu
30、ff256;unsigned int j=0;/*/*函数、子程序声明与定义*/. z-void sys_ini() /系统初始化子程序 /全局制止所有可屏蔽中断 asm(" ssb* INTM"); /(DRAM映射到程序空间和数据空间)向量表映射到0*0080空间 PMST&=0*00FF; /io空间7个等待周期,程序与数据空间0个等待周期,cpu控制存放器 SWWSR=0*7000; /设置pll为div模式,swwsr软件等待存放器 CLKMD=0*0000; /等待设置完成 while(CLKMD=0*0001); CLKMD=0*37FA; /CLKO
31、UT=(3+1)*CLKIN=40M,自动延时最长时间void int1_ini() IMR=0*0002; /使能外部中断1 IFR=0*FFFF; /去除所有中断标志位,去除先前的状态 asm(" rsb* INTM"); /全局使能可屏蔽中断 interrupt void int1() /int1中断子程序data_buffj=port8008&0*00FF; /读取ad7822转换数据,取后8位写入数组data_buff j+; if(j=255) j=0; return; void main(void) sys_ini(); int1_ini(); for
32、(;) . z-/*完毕*/; *; *Copyright (c) 2005,精仪达盛科技研发部; *All rights reserved; *; *文件名称:vectors.asm; *备 注:详细请参阅TI文档SPRS096B; * Vector.asm. z- .global _main,_int1 .sect ".vecs"reset: b _main ;RESET VECTORS nop nopnmi: rete ;NMI nop nop nop; software interruptssin17: .space 4*16sin18: .space 4*16si
33、n19: .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: .space 4*16sin29: .space 4*16sin30: .space 4*16int0: rete ;E*TERNAL INT0 nop nop nopint1: b _int1 ; int1也是低电平触发的外部中断,由ADINT1控制。中断子程序的
34、入口是int1 nop nopint2: rete ;E*TERNAL INT2 nop nop noptint0: rete ;TIMER0 INTERRUPT nop nop nop brint0: rete ;BcBSP0 RECEIVE INTERRUPT nop nop nopb*int0: rete ;BcBSP0 TRANSMIT INTERRUPT nop nop nopdmac0: rete ;RESERVED OR DMA CHANNEL0 INTERRUPT nop nop noptint1_dmac1: rete ;TIMER1 INTERRUPT OR DMA CHANNEL1 INTER
温馨提示
- 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
- 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
- 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
- 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
- 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
- 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
- 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。
最新文档
- 5《七律·长征》教学实录-2024-2025学年统编版语文六年级上册
- 第六单元习作:《我想对您说》教学实录-2024-2025学年五年级上册语文统编版
- 全国泰山版初中信息技术九年级上册第一章第三节《设计加法器》教学实录
- 2024年度智能家居产品分销经纪聘用合同3篇
- 2024版房产抵押担保债务重组合同3篇
- 14《母鸡》第2课时教学实录-2023-2024学年四年级下册语文统编版
- 房屋租赁居间合同
- 职工宿舍空调安装承揽合同
- 2024版俄语体育赛事解说与翻译合同2篇
- 第9课 猫咪凑趣-魔棒工具和模糊工具 教学实录 -2023--2024学年清华大学版(2012)初中信息技术七年级下册
- 学生劝返复学实施方案
- 收割机购销合同
- 医务人员医德医风诚信 档 案(模板)
- 脓毒症休克中西医详解
- 小兔子乖乖ppt课件.ppt
- 常压矩形容器设计计算软件
- 交流变换为直流的稳定电源设计方案
- PR6C系列数控液压板料折弯机 使用说明书
- 钢结构工程环境保护和文明施工措施
- 物业管理业主意见征询表
- 管道定额价目表
评论
0/150
提交评论