DSP应用实验讲义课件_第1页
DSP应用实验讲义课件_第2页
DSP应用实验讲义课件_第3页
DSP应用实验讲义课件_第4页
DSP应用实验讲义课件_第5页
已阅读5页,还剩30页未读 继续免费阅读

下载本文档

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

文档简介

1、DSP应用实验讲义前 言DSP应用是电子信息类专业的重要专业课程之一,也是一门实验性和实践性较强的课程,它除了课堂理论学习外,还需要实验性环节与之配合,否则学习效果会受到很大的影响。因此,为了提高我校DSP应用课程实验的教学水平,针对我院采用的SZ-DSPII实验平台,编写了本实验讲义。课程实验是训练学生阅读资料,安装、调试和操作仪器、设备,观察和分析实验现象,处理试验数据、分析实验结果和完成实验报告等各方面综合能力,以及培养严谨求实的工作作风和加深对理论知识的理解、拓展知识面的重要手段。通过实验,使学生深化对DSP芯片和器件原理及其应用的理解,增强解决实际问题的能力,为以后走向工作岗位打下扎

2、实的基础。本讲义共编写了五实验,要综合所学的数字信号处理理论、汇编语言编程和C语言编程等课程知识,通过多个单元模块程序的编写与运行,让学生加深了解DSP芯片的工作原理,从整体上掌握DSP系统的设计过程。由于条件限制及编写水平有限,书中难免还存在一些缺点和错误,希望能在实验过程中得到逐步完善。编 著 者二一二年十二月目 录实验一 CCS软件与DSP存储器实验实验二 硬件中断系统及控制综合实验实验三 A/D数据采集及虚拟示波实验(S1)实验三 D/A信号转换及波形发生器实验(S2)实验四 语音录放应用系统设计附录一 SZ-DSPII实验平台介绍附录二 CCS简单程序编写示例实验一 CCS软件与DS

3、P存储器实验一、实验目的(1)熟悉DSP硬件仿真系统的使用与设置(2)熟悉CCS软件开发环境的使用与设置(3)通过简单示例程序,了解DSP器件的内部数据存储器和程序存储器结构二、实验设备PC机(Window98/2000);SZ-DSPII实验平台(仿真器);CCS软件开发环境;三、实验原理硬件仿真器是DSP系统开发的必备工具,它是采用边界扫描技术(JTAG)和DSP芯片通过JTAG口相连接,实现了PC主机对DSP芯片的完全检测和控制,这样就可以利用相应的软件(CCS,code composer studio)进行在线调试开发工作。CCS软件安装完后,需要配置好相应的驱动程序才能使用。如果所使

4、用的应用平台CCS自身不支持,则需要先安装好此应用平台的驱动后,再进行配置。软硬件配置好后,就可以在CCS环境下开发应用程序了。通过CCS5000的DSP仿真器对DSP进行仿真,向DSP外扩DRAM写入数据、读数据、数据块的移动,其操作结果通过CCS5000仿真界面进行观察。四、实验步骤(一)硬件仿真器1、取出SZ-DSPII实验平台,注意实验平台上所有板卡都是左对齐。2、关闭PC机电源,用专用25芯并口电缆将PC机和仿真器连接好。3、开启总电源(外壳右侧),根据附录一设置好相应的跳线、开关,主要有: (1)MCU主板:5V的电源开关往下拨供电;开关J39往上拨选择DSP工作; DSP-JTA

5、G接口用专用电缆与仿真器相连; (2)DSP系统小板:S1四个白色键往上拨供电; (3)CPLD配置小板:S9往下拨供电;S10往下拨选择MCU主板的数码管工作;4、关闭电源,待CCS软件开发环境设置好后再开启。(二)CCS软件开发环境1、CCS软件安装将CCS安装光盘放入到光盘驱动器中,运行setup.exe,将CCS安装在默认的C盘ti目录下。安装完成后,在桌面会有“CCS 2 (C5000)”和“Setup CCS 2 (C5000)”两个快捷方式图标,分别对应CCS应用程序和CCS配置程序。2、CCS目标系统的驱动程序设置打开CCS配置程序,可以看到系统已经默认安装有一些用于软件模拟S

6、imulator和硬件仿真Emulator的驱动程序设置以及系统配置(见图1),用户可根据自己的使用情况进行删除取舍和添加安装。图1 CCS默认的驱动程序配置对于驱动的删除,只要在第二栏“Available Board/Simulator types”下相应项点击鼠标右键,选择“Uninstall”即可。对于系统配置的删除,只要在第一栏“System Configure”下相应项点击鼠标右键,选择“Remove”即可。对于驱动的添加,可以用第三栏的“Install a Device Driver”,选择相应的.dvr或.dll文件即可。对于系统配置的添加,要分两种情况。一种是系统自带的如软件模

7、拟器C5402 Simulator、TI 原装C5402 XDS510 Emulator等,则用第三栏的“Import a configure File”直接装入即可;如果是用户自定义的仿真器和目标板,则要先安装好驱动,再进行系统配置,下面以SZ-DSPII实验平台为例进行说明。假设只要做C54xx软件模拟实验和SZ-DSPII硬件仿真实验,则首先可以将系统中除“C54x Simulator()”外的选项都删除,然后再添加安装SZ-DSPII的驱动和系统配置。第一步:在PC机上安装/拷贝驱动文件。点击SZ-DSPII随机安装光盘下的“EPP EMULATOR”目录下的setup.exe进行安装

8、,默认安装在C盘根目录下,生成一个composer文件夹。第二步:给CCS安装SZ-DSPII驱动。点击第三栏的Install a Device Driver,选择c: composersdgo5xx32.dll。要注意这里的驱动是.dll,而不是默认的.dvr,所以要先改变后缀名才能看到(见图2)。图2 SZ-DSPII驱动的选择第三步:给CCS安装SZ-DSPII配置。第二步安装完成后,在Available Board/Simulator Type 一栏中会出现相应的驱动图标,首先把把该图标拖动到第一栏System Configuration中,这时出现Board Properties对话

9、框。(1)在Board Name &Data File栏中,点击NEXT;(2)进入Board Properties页,会显示板卡的I/O口值,将I/O口值修改为与BIOS中设置值匹配,如0x378(图3),再点击NEXT;图3 Board Properties对话框(3)在Processor Configuration窗中,在Available Processor进行选择然后,点击Add Single,对话框右边出现CPU-1图标(图4),再点击NEXT;图4 Add Single添加CPU(4)安装Startup GEL File(s),选择安装目录下ccgelc5402.gel即可(图5

10、)。图5 安装GEL文件(4)Finish,Code Composer Studio Setup程序,选择保存。再重新启动PC机,按住DEL键进入BIOS,在Integrated Peripherals栏下的Parallel Port Mode(并口模式)由SPP改为EPP方式。至此设置成功!3、CCS软件的运行首先开启硬件实验箱电源,然后点击PC机桌面CCS 2 (C5000)图标,当系统只有一个目标系统的配置时,则会直接进入CCS界面;若有多个,则会先进入图6的界面,让用户自己选择使用哪一个目标系统。这里选择第二项“sdgo5xx32/CPU_1”,然后即可进入CCS硬件仿真环境。图6 C

11、CS目标系统配置选择当成功进入CCS界面,没出现任何错误提示,那么恭喜你!你已经成功完成了软硬件安装。但是要注意,如果硬件目标系统没有开启电源,或者JTAG连接线不正确,没有与PC机正常通信,则会图7的警告信息。所以一定要先开启硬件实验箱电源,再启动CCS。图7 硬件目标系统没有正确连接的警告信息注意,所有实验(包括软件模拟和硬件仿真)都要求,在LOAD装载程序前,先做CPU的复位和初始化工作,这下载后才能正常运行。即点击GEL菜单选择C54x,选择CPU_Reset,然后再在同一菜单里选择C5416_Init(图8)。如果GEL目录下没有这个选项,则说明前面系统配置时GEL文件添加是错误的。

12、图8 CPU的复位和初始化4、CCS存储器实验程序关于CCS软件的使用和程序文件的编译、连接、下载和运行请参考附录二和CCS帮助。(1)启动CCS,编写实验程序代码,进行编译并加载到DSP中。典型的CMD文件MEMORYPAGE 0:VECS:origin = 0xff80,length = 0x80PROG:origin = 0x1000,length = 0x1000PAGE 1:DATA:origin = 0x2000,length = 0x1000STACK:origin = 0x3000,length = 0x1000SECTIONS.vectors:VECS PAGE 0.text

13、:PROG PAGE 0.data:DATA PAGE 1.stack:STACK PAGE 1* 存储器实验 *.title ex2.global reset,_c_int00.mmregs.def _c_int00DAT0.set00HDAT1.set01HDDAT0.set2002HDDAT1.set2003H.sect .vectors;中断向量表reset:B _c_int00;复位向量NOPNOP.space 4*126.textDELAY.macro COUNTSTM COUNT,BRCRPTB delay?NOPNOPNOPNOPdelay?:NOP.endmc_int00:L

14、D #40h,DP;置数据页为2000h207FhSTM #3000h,SP ;置堆栈指针SSBX INTM ;禁止中断STM #07FFFh,SWWSR;置外部等待时间bk1: ST #1111h,DAT0;立即数寻址ST #2222h,*(DDAT1)NOPNOPNOPbk2: MVDK DAT0,DDAT0;绝对地址(dmad)寻址MVKD DDAT1,DAT1NOPNOPNOPbk11:B _c_int00.end(2)采用单步运行程序(F8)或执行到光标处(CTRL+F10),并打开内存观察窗口,观察其运算结果。要特别注意的是,由于510类型仿真器不支持实时仿真以及DSP的流水线操作

15、,使得执行显示的结果比实际的要慢4个周期,即12条指令。从CMD文件中可以看出,DATA数据段是从0x2000地址处开始的,那么打开内存观察窗口(view/memory):在Address一栏中输入0x200,Format一栏中选择“Hex-TI Style”,然后点击“OK”即可看到运算结果在地址为0x2000中的数据,观察前面四个数据的变换。五、实验报告要求1、 CCS软件模拟和硬件仿真的使用2、 存储器实验程序及运行结果3、 思考:如何实现用C语言编写一个对可用数据内存清零程序?如何将程序存储器其中某一起始地址的0x100个字复制到数据存储器的0x4000为起始地址的空间中?实验二 硬件

16、中断系统及控制综合实验一、实验目的1、熟悉DSP器件外部中断和定时器中断的使用以及中断服务程序的设计方法2、掌握DSP器件中断向量表的划分以及空间的保留3、掌握DSP器件I/O口访问原理,模拟交通信号的控制,初步了解DSP应用系统的设计二、实验设备PC机(Window98/2000);SZ-DSPII实验平台(仿真器);CCS软件开发环境;三、实验原理1、 交通灯模块硬件连接原理图此模块既可以由DSP控制,也可以由单片机控制,同时还可以由CPLD直接控制到达运行结果。DSP或单片机对图中JTD1JTD8送数据(数据与JTD1JTD8相对应),通过CPLD做逻辑,从而实现模拟交通灯的功能。2、实

17、验框图 高位数据D15D8的值与交通灯的对应关系是:01北绿02北红04西绿08西红10南绿20南红40东绿80东红3、DSP中断向量表及中断寄存器(1)中断标志寄存器(IFR),中断屏蔽寄存器(IMR): (2)中断向量表4、交通灯控制流程 四、实验步骤1、硬件环境(参考实验一)(1) 先将实验箱右侧的船型开关往“I”方向打开电源,然后将系统主板的开关S33(主板左上角)往下拨接通+/-5V电源;(2) 将CPLD配置小板上的电源开关S9往下(ON)拨,开关S10往下拨来选通主板上双色发光二极管(交通灯)等输出指示设备;(3) 进行MCU自检。将开关J39(位于主板右下角)往下拨选中MCU工

18、作,将“功能键7”拨上去,点击键盘中的RST键,MCU将对所用的发光二极管进行检测,如果所有的双色发光二极管(交通灯)正常;(4) 将开关J39(位于主板右下角)往上拨选中DSP工作,将功能键1到7都拨下来;(5) 然后开始做实验,注意在做DSP实验时开始按了RST硬件复位后,实验中不要再按RST键,以免实验由于DSP复位而失败。2、CCS软件环境(参考实验一)3、参考程序(1) CMD文件(参考实验一)(2) 交通灯控制程序.title jiaotongdeng.global _c_int00.mmregsLED_ADDR.set1001hSTATUS0 .set 60h STATUS1 .

19、set 61hSTATUS2 .set 62hSTATUS3 .set 63hSTATUS4 .set 64hSTA2_PRE_0 .set 65hSTA2_PRE_1 .set 66hSTA4_PRE_0 .set 67hSTA4_PRE_1 .set 68hDELAY.macro sec_tenth;延时 sec_tenth/10 秒STM sec_tenth-1,AR5loop1?STM #09h,AR6loop0?STM #19999,AR7BANZ $,*AR7-BANZ loop0?,*AR6-BANZ loop1?,*AR5-.endm.sect .vectorsreset:B

20、_c_int00NOPNOP.space 4*127.text_c_int00LD #0h,DPSTM #3000h,SPSSBX INTMSSBX SXMSTM #07FFFh,SWWSR;IO总线外部等待时间14个周期STM #0h,CLKMD;20MHz工作tstBITF CLKMD,#1hBC tst,TCSTM #1007h,CLKMDRPT #0FFhNOPST #0FFFFh,IFRORM #000h,IMR ST #0AA00H,STATUS0LOOPBPORTW STATUS0,LED_ADDR;全部红灯DELAY #100;延时1秒circleST #6600H,STATU

21、S1PORTW STATUS1,LED_ADDR;南北红灯、东西绿灯 DELAY #200;延时20秒STM #2h,BRC RPTB flash1 ST #6600H, STA2_PRE_0 PORTW STA2_PRE_0,LED_ADDR DELAY #30ST #2200H,STA2_PRE_1 PORTW STA2_PRE_1,LED_ADDR DELAY #30flash1NOP;南北绿灯闪3次、东西红灯ST #0EE00H, STATUS2PORTW STATUS2,LED_ADDR;南北黄灯、东西红灯DELAY #30;延时3秒 ST #9900H,STATUS3PORTW S

22、TATUS3,LED_ADDR;南北红灯、东西绿灯DELAY #200;延时20秒STM #2h,BRCRPTB flash2ST #09900H, STA4_PRE_0PORTW STA4_PRE_0,LED_ADDRDELAY #30ST #08800H,STA4_PRE_1PORTW STA4_PRE_1,LED_ADDRDELAY #30;南北红灯、东西绿灯闪3次flash2NOPST #0BB00H,STATUS4PORTW STATUS4,LED_ADDR;南北红灯、东西黄灯DELAY #30;延时3秒 B circle .end五、实验报告要求4、 DSP器件中断原理及实现5、

23、交通灯控制程序及运行现象6、 思考:如果在程序运行过程中遇到硬件中断,如何保护保持原有的现场?实验三 A/D数据采集及虚拟示波实验(S1)一、实验目的1、熟悉DSP和外围器件的连接和操作2、了解DSP对数据的处理能力3、掌握A/D转换的程序实现以及数据采集、波形显示的方法二、实验设备PC机(Window98/2000);SZ-DSPII实验平台(仿真器);CCS软件开发环境;信号发生器(内置);示波器(可选)三、实验原理1、硬件连接原理框图通过将信号发生器产生的外接信号采集过来,经过DSP处理后,波形可在CCS中观察,并在液晶屏中显示出来。下面是该实验的硬件连接原理框图。具体点讲是,模拟信号由

24、“IN”端输入,AD芯片TLC5510采用DSP的时钟输出(CLKOUT)为采样时钟,并由DSP给出控制信号来进行AD转换,DSP进行数据采集并处理,然后将处理后的数据送往双口RAM,最后由液晶屏显示其AD采集的波形。2、软件波形观测同时,还可菜单VIEWGRAPHTIME/FREQUENCY中观测AD采集的数据及波形。对于参考程序,其显示的首地址是2000h,即要将“Start Address”由默认的“0x0030E000”改为“0x2000”;“DSP data type”数据类型改为“16 bit signed integer”;Display Data Type改为“200”(540

25、2最多可以存储256个点),即一个周期采用200个点;其它可以默认:按“确定”后将出现黄色的波形窗口。3、程序流程四、实验步骤1、硬件环境(参考实验一)(1) 将实验箱右侧的船型开关往“I”方向打开电源,然后将主板的开关S33、S34(主板左上角)往下拨接通+/-5V和+/-12V电源;(2) 将主板中“功能键1”(右下角)往上去以显示波形,其他功能键和“MCU/DSP选择档”都往下拨,选中MCU工作;(3) 将CPLD配置小板上的电源开关S9往下(ON)拨,开关S10往上拨来选通主板上液晶屏显示设备; (4) 将右边信号发生器模块产生的模拟信号用连接线引到AD板的“IN”端(当然也外接频率发

26、生器信号),要注意GND端要相连接地。假设选择100KHz、1.5V左右的正弦波(可用示波器观察验证)。(5) 将AD小板上的插座J5短接右边两插针,J10短接下方两插针。实验中可适当调节电位器R8来改变截止电压。2、CCS软件环境(参考实验一)3、参考程序(1)CMD文件(参考实验一)(2)数据采集及虚拟示波实验程序 .title ad.global _c_int00.mmregsAD_ADDR .set 9003hAD_DATA .set 61h .sect .vectorsreset:B _c_int00NOPNOP.space 4*128.text_c_int00:LD #0h,DPS

27、TM #3000h,SPRSBX INTMSTM #07FFFh,SWWSR SSBX XF ;XF=1 ST #1007h,CLKMD;工作在20MHzRPT #0FFhNOP STM #0ffffh,IFRORM #000h,IMRRSBX SXMadst #2000h,ar1noprpt #127 PORTR AD_ADDR,*ar1+ st #2000h,ar1 rpt #127 andm #0ffh,*ar1+ st #2000h,ar1 st #127,ar2 PORTW *AR1+,8000H PORTW *AR1+,8001H(略) PORTW *AR1+,807eH PORT

28、W *AR1+,807fH rsbx xf rpt #10 nop ssbx xf b ad .end 将程序编译连接生成ad.out后,下载到DSP中并运行“RUN”后,可以在实验箱的液晶屏上观察到相应的波形。然后,在CCS软件中VIEWGRAPHTIME/FREQUENCY设置好,就可以观测到和液晶屏上一致的波形。五、实验报告要求7、 利用DSP实现A/D转换原理及实现8、 A/D数据采集、虚拟示波程序及其运行结果9、 思考:能否根据外部频率来定采样率?实验三 D/A信号转换及波形发生器实验(S2)一、实验目的1、熟悉DSP和外围器件的连接和操作2、了解DSP对数据的处理能力3、掌握D/A

29、转换的程序实现以及数据采集、波形显示的方法二、实验设备PC机(Window98/2000);SZ-DSPII实验平台(仿真器);CCS软件开发环境;示波器三、实验原理1、硬件连接原理框图由DSP对DA芯片送数据,并且是由DSP对DA进行控制,经过DA转换后输出,可用示波器从DA板上的OUT端观测其输出结果。2、程序流程四、实验步骤1、硬件环境(参考实验一)(1) 将实验箱右侧的船型开关往“I”方向打开电源,然后将主板的开关S33、S34(主板左上角)往下拨接通+/-5V和+/-12V电源;(2) 将主板中开关J39 “MCU/DSP选择档”往上拨,选中DSP工作,其余的都往下拨;(3) 将CP

30、LD配置小板上的电源开关S9往下(ON)拨,开关S10往下拨来选通主板上DA转换等外围设备; 2、CCS软件环境(参考实验一)3、参考程序(1)CMD文件(参考实验一)(2)D/A信号转换及波形发生器实验程序.title da.global _c_int00.mmregs .def cos_generate,end_of_cose .def d_cos_delay1,d_cos_delay2,d_theta,d_cosxd_cos_delay1 .usect cos_vars,1 d_cos_delay2 .usect cos_vars,1 d_theta .usect cos_vars,1d

31、_cosx .usect cos_vars,1k_cos_delay1 .set 06602h ;cos(0.5)*0.8k_cos_delay2 .set 064d8h ;cos(10)*0.8 k_cos_theta .set 07f83h ;cos(5)k_2 .set 2hk_256 .set 256COSDATA .usect cos_data,256 DR_ADDR.set8FFFh;double ram addressAD_ADDR .set 9003hDA_ADDR .set 9100h ;CS,LDAC .WR+IOSTRB-L1. LDAC WRITE;CS CHIP SE

32、LECT; L1JT_ADDR .set 1001hRAMADDR .set 8000hSM_ADDR .set 1003hFG_ADDR .set 1002H DR_DATA.set60h ;double ram dataAD_DATA .set 61hDA_DATA .set 62h ;.data;.word 0000h,01100h,2200h,03300h,4400h,05500h,6600h,07700h,8000h,9100h,0A200h,0B300h,0C400h,0D500h,0E600h,0F700h.sect .vectorsreset:B _c_int00NOPNOP.

33、space 15*4*16 int0:B _dpjNOPNOPint1:B _dpjNOPNOP int2:B _dpjNOPNOP.space 13*4*16.text_c_int00:LD #0h,DPSTM #3000h,SPRSBX INTMSTM #07FFFh,SWWSR SSBX XF ;XF=1 ST #1007h,CLKMD;工作在20MHzRPT #0FFhNOP STM #0ffffh,IFRORM #000h,IMRRSBX SXMSTM #2000H,AR0ST #0,DA_DATARPT #1000 ST #00H,*AR0+bbb ; call coshapp n

34、op nop ; b bbb ;*三 角 波 * LOOPST #0H,DA_DATA LOOP1 NOP PORTW DA_DATA, DA_ADDR ADDM #1,DA_DATA CMPM DA_DATA,#02FFH BC LOOP2,TC B LOOP1LOOP2 PORTW DA_DATA,DA_ADDR LD DA_DATA,A SUB #1,A STL A,DA_DATA CMPM DA_DATA,#0000H BC LOOP,TC B LOOP2 NOP BANZ LOOP1,*AR5- ST #1000h,AR5 B LOOP _dpj: nop nop nop aaa n

35、op b aaadelaySTM #0f0h,AR7;延时子程序BANZ $,*AR7-BANZ delay,*AR6- RET coshapp SSBX FRCT ST COSDATA,AR5 NOP ;STM #600H,SP LD #d_cos_delay1,DP NOP STM #d_cos_delay1,ar3 STM #d_theta,AR4 RPTZ A,#3 STL A,*AR3+ STM #1,AR0 STM #d_cosx,AR2 STM #k_2,BK ;STM #k_256-1,BRC NOP STM #d_cos_delay1,AR3 ST #k_cos_delay1

36、,*AR3+ ST #k_cos_delay2,*AR3 STM #d_cos_delay1,AR3 ST #k_cos_theta,d_cosxcos_generate ; RPTB end_of_cose MPY *AR2,*AR3+0%,A SUB *AR3,15,A SFTA A,1,A STH A,*AR3 sth a,COSDATA rpt #400 nop PORTW COSDATA,DA_ADDR ; MVDD *AR3,*AR5+ NOPend_of_cose B cos_generate cosend ret .end五、实验报告要求1、 利用DSP实现D/A转换原理及实现

37、2、 D/A信号转换及波形发生器实验及其运行结果3、 思考:能否利用泰勒级数展开法展开正弦(余弦)函数,通过DA(0832)得到相应的波形? 实验四 语音录放应用系统设计一、实验目的1、掌握音频信号的采集以及存储方法2、掌握FIR滤波器的设计以及应用3、掌握DSP应用系统的设计方法二、实验设备PC机(Window98/2000);SZ-DSPII实验平台(仿真器);CCS软件开发环境;示波器三、实验原理1、硬件连接原理图音频经M2或M1输入后,由2272滤波,通过AD50采集信号,然后由DSP5416的同步串口0(BDR0、BDX0、BCLKR0、BCLKX0、BFSX0、BFXR0)传输采集

38、过来的数字信号,并由DSP对其进行处理,将处理完成的数据存放在DRAM中,或在被某一条件触发后回放,由LM386对输出信号进行功率放大,最后由M3(耳机)或M4(喇叭)输出。2、FIR滤波器FIR 滤波器算法的函数表达式: short oflag = fir (DATA *x, DATA *h, DATA *r, DATA *dbuffer,ushort nh, ushort nx)参数xnx指向输入向量,长度为 nx hnh指向系数向量,长度为 nx例如:若 nh=3:则:H = b0, b1, b2。l 内存对齐:这是一个环行缓冲区,必须起始于k位边界上(就是说起始地址的k个LSB位必须为

39、0)。其中k为大于log2(nh)的整数,具体解释见TMS320C54X DSP Reference Set 第5-15页5.5.3.4小节。rnx指向输出向量,长度为 nxDbuffernh延迟缓冲区l 在多重缓冲区方法中,该向量在进行第一次块操作时应该初始化为0;在后面的块操作中,延迟缓冲区保存着计算r所必须的输入值。l 内存对齐:与h向量一致。Nx输入向量的长度Nh系数向量的长度Oflag溢出标志 若 oflag = 1, 则运算中产生32位溢出若 oflag = 0, 运算中未产生32位溢出说明使用系数向量h,计算实数的FIR滤波。输入数据存于向量x中。该例程使用一个缓冲内存d,来保存

40、前一次的输入值。可以进行块滤波操作,或者单个数据滤波(nx=1)。算法rj = 0 =j VECS PAGE 0.text:PROG PAGE 0.data:DATA PAGE 1.bss:DATA PAGE 1.stack:STACK PAGE 1coff_fir:DRAM PAGE 1fir_bfr:DRAM PAGE 1(2)FIR的源程序* Description:滤波器实验lowpass 01000Hz *.title firBSP.set0;当前使用McBsp1;McBsp 内存映射寄存器SPSA0.set 038hSPSD0.set 039hDRR10.set 021hDRR20

41、.set020hDXR10.set 023hDXR20.set022hSPSA1.set 048hSPSD1 .set 049hDRR11 .set041hDRR21 .set 040hDXR11 .set 043hDXR21 .set042hSPSA2 .set 034hSPSD2 .set 035hDRR12 .set 031hDRR22 .set030hDXR12 .set 033hDXR22 .set032h;McBsp Subaddressed RegistersSPCR1.set00hSPCR2.set01hRCR1.set02hRCR2.set03hXCR1.set04hXCR2

42、.set05hSRGR1.set06hSRGR2.set07hMCR1.set08hMCR2.set09hRCERA.set0ahRCERB.set0bhXCERA.set0chXCERB.set0dhPCR.set0eh.if BSP = 0SPSA.setSPSA0SPSD.setSPSD0RDRR.setDRR10RDXR.setDXR10IMASK.set0010h.endif.if BSP = 1SPSA.setSPSA1SPSD.setSPSD1RDRR.setDRR11RDXR.setDXR11IMASK.set0400h.endif;fin_flag.set 64h.asg AR0,FIR_INDEX_P.asg AR4,FIR_DATA_P.asg AR5,FIR_COFF_PWR_SUB_REG.macro val,addr;写McBsp控制寄存器stm addr,SPSAnopstm val,SPSDnop.endmRD_SUB_REG.macro addr,acc;读McBsp控制寄存器stm #:addr:,SPSAnopldm SPSD,accnopnopnop.endmWAITTRX .macro;等待串口中断WAITR? RD_SU

温馨提示

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

评论

0/150

提交评论