DSP第四次实验报告.doc
《DSP第四次实验报告.doc》由会员分享,可在线阅读,更多相关《DSP第四次实验报告.doc(11页珍藏版)》请在三一文库上搜索。
1、DSP第四次实验报告实验七、CODEC(模数/数模转换)实验八、UART串口通信实验 学 院:信息工程学院 班 级:08级电子信息工程2班 姓 名:肖 秀 学 号:2008550503 指导老师:姚志强 完成日期:2011.11.26实验七、CODEC(模数/数模转换)一、实验目的 1. 熟悉DSK板的结构和设置(DSK板注意事项在第2页);2. 掌握利用CODEC进行AD/DA转换;3. 熟悉McBSP, DMA的使用;4. 掌握C和汇编混合编程封装具体实现。二、实验设备 1集成开发环境CCS 25402DSK实验板 3. 实验代码: a). 混合编程:codec_c.h(.h、.h54均由
2、程序自动加载,可不加,后同), dsp_cnst.h54, codec.s54, codec_c.c, rts.lib和codec_c.cmd,c5402_dsk.gel(同上用来做gel初始设置, c5402_dsk.gel与 c5402.gel稍有区别,注意比较其中的异同)。b). 汇编(时间多的同学做):codec_cnst.h54, dsp_cnst.h54, macro.h54, codec_init.s54, dsp_init.s54, main.s54和codec.cmd,c5402_dsk.gel(说明同前)。三、实验内容及步骤1. 阅读理解McBSP, CODEC和DMA的相
3、关文档 2. 阅读和理解相关实验代码 3. 本实验由于用到DSK板,环境设置与前不同,要特别注意。打开CCS前,用并口电缆将TMS320VC5402DSK与PC机相连,出现发现硬件提示,安装驱动(驱动程序在D:DSPdriver5000。一般会要求装3次,2次装USB,driver5000USBDevice目录,如无则可跳过;1次装driver,即 driver5000中setup.exe,注意driver驱动的安装路径要求与CCS的安装路径一致,故要先找出CCS的安装目录)。4. 接通DSK板电源,配置工作环境: 双击打开Code Composer (Studio)配置程序,如图:点击“Cl
4、ear”按钮,清除原有配置。然后,在列表框“Available Configurations”中加亮“ICETEK-5100 USB Emulator”选项。如图中圆圈所示:,点击对话框中的“Import”按钮,然后点击“Save and Quit”按钮,退出并确认同时打开CCS主程序。5. 建立项目,添加代码,编译并连接,各事项如下: a) 混合编程中改设置:Build option子菜单linker中Basic项Autoinit Model 改为Load-time Initialization或Run-time Initialization。用No Initialization编译不过,有
5、1 Errors, 1 Warnings。为: error: symbol referencing errors undefined first referenced symbol in file pinit D:Program FilesTImyprojects.lab5651_codecCrts.lib cinit D:Program FilesTImyprojects.lab5651_codecCrts.lib warning: codec_c.c, line 63: warning: statement is unreachable 修改后只有1 Warnings,同上,但是可以做出实
6、验结果。 b) 汇编编程中: Build option子菜单linker中Basic项Autoinit Model 则可用No Initialization,用load-time Initialization或Run-time Initialization将有1 Warnings,为:warning: entry point other than _c_int00 specified,都可做出实验结果。6. Build得到.out程序,然后加载程序并调试,7. 输入声音信号或自己的语音并听取DA端输出。四、实验结果和提示 1. DSK实验板上有两块CODEC(编译码器)芯片,一块与DAA口相联
7、,另一块与音频模块相联。5402有两个McBSP口,在DSK板上的缺省设置为McBSP0的信号源为DAA,McBSP1的信号源为音频模块。如果想更改缺省设置必须写相应的CPLD寄存器,具体情况请参考数字信号处理器开发实践4.2.3节。本实验中使用了音频模块作为输入输出端口,因此实验中使用的是相应的CODEC及McBSP1口。 2. 使用CODEC必须设置相应的控制寄存器,实验使用的TLC320AD50C共有7个寄存器,其中4个为控制寄存器,要写这些控制寄存器必须将CODEC切换到第二串行通信方式,切换方式有两种:硬件方式和软件方式。本实验采用了硬件方式,这样必须将FC在FS的上跳沿前拉高,然后
8、CODEC会在128个SCLK后切换到第二串行通信,然后就可以向CODEC发送控制字。具体可参阅数字信号处理器开发实践5.1.2及5.1.3节。 3. 要设置CODEC必须通过McBSP1口发送数据,为使McBSP1口正常工作要设置相应的控制寄存器,McBSP1的15个控制寄存器采用同址访问的方式进行访问,将要访问的寄存器的子地址写入子地址寄存器SPSA1后再访问同一个数据寄存器即可。具体控制寄存器的设置请参阅数字信号处理系统的应用和设计5.4.2节。要注意的是由于板上McBSP1口与CODEC相联时FS, CLK信号均由CODEC驱动,所以相应的管脚必须设置为输入脚并置好对应的标志位,可以参
9、考实验代码中的寄存器参数注释。 4. 音频信号经CODEC采集后通过McBSP再由DMA通道送往数据区缓冲区,这样可以在不影响CPU的情况下完成数据的传输。5402的DMA共有6个通道,每个通道有5个独立的控制寄存器,此外还共享10个全局寄存器。由于全局寄存器中有四个重载寄存器,可以对1个通道实现自动初始化,这样可以很方便的对输入(或输出)信号进行连续传输。由于输入输出必须占用两个DMA通道,这样就必须对另一个通道手动重载,这些在中断中完成。由于5402中断资源有限,DMA中断是与其他外设中断复用的,这个通过DMPREC寄存器中的中断复用位进行设置。对以上这40个寄存器的访问也采用与McBSP
10、相同的同址访问方式。具体设置请参阅数字信号处理系统的应用和设计5.5.2节和实验代码中的寄存器参数注释。 5. 要实现数据连续的数据采集和发送必须在数据缓冲区开辟两块区域交替使用,为了辨别使用哪块区域要设置一个相应标志位,这就是常用的乒乓法。在DMA中断处理程序中要根据此标志位更新缓冲区地址。 6. 数据输入的DMA通道中断后必须对输入数据进行处理,然后送入输出缓冲区,这就要在中断中设置一个中断标志位,然后在主程序中查询此标志位判断是否要进行数据处理。本实验中没有对数据进行任何处理直接送入输出缓冲区,但是可以很方便地加入各种信号处理代码。 7. 将汇编程序分模块封装成C函数后可以使整个流程简洁
11、明了,一目了然。同时留下的接口可以让用户很方便地对CODEC进行设置并加入自己想要采用的信号处理代码。在混合编程中要注意的是函数名和变量在C和汇编中的命名规则;C语言接口的汇编函数可以自由使用的寄存器和使用前必须先保存的寄存器;C语言中的状态标志位缺省值以及C语言和汇编的相互调用通过堆栈来进行参数和返回值的传递,同时通过堆栈可以方便的实现局部数据的使用。具体情况可以参阅数字信号处理系统的应用和设计7.1节。 五、实验思考题:1、整个语言程序是如何实现的?答:整个语言程序由主程序和子程序构成,主函数中由亮灯程序、延时程序、初始化程序、CODEC程序等,子函数中是各函数的定义,还有中断函数。音频信
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- DSP 四次 实验 报告
链接地址:https://www.31doc.com/p-2509180.html