ImageVerifierCode 换一换
格式:DOCX , 页数:13 ,大小:24.97KB ,
资源ID:12886324      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bdocx.com/down/12886324.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(DSP实验报告 7.docx)为本站会员(b****3)主动上传,冰豆网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰豆网(发送邮件至service@bdocx.com或直接QQ联系客服),我们立即给予删除!

DSP实验报告 7.docx

1、DSP实验报告 7汕 头 大 学 实 验 报 告学院: 工学院 系: 电子系 专业: 电子信息工程 年级: 2008 姓名: 张虎 学号: 08141078 实验时间: 2011-4-20 实验四 (1)实验目的1 熟悉CCS开发环境;2 熟悉DSP 54X EVM板的硬件环境;3 了解步进电机原理;4 掌握DSP 54X I/O寻址方式;5 掌握DSP 54X 中断原理;通过改变I/O总线输出脉冲频率和相位顺序,控制步进电机调速和方向。6了解DSP54X同步串口(McBSP)原理;7了解音频编、解码芯片TLV320AIC23原理;(详见附录)8了解存储芯片NAND FLASH原理;(用于语音

2、数据存储,详见附录)(2)实验原理1、步进电机控制实验 用行扫描法,读取键值;向步进电机I/O口地址循环写数据,控制步进电机的正转和反转;利用外部中断服务程序,控制电机停止转动,并能由LCD显示各任务状态。2、语音录放实验 语音录放原理图Microphone InputLine Input控制总线5Headphone OutputDSP5416McBSP0McBSP1数据总线16数据存储NAND FLASH语音编码、解码AIC23McBSP0设置为I2S模式McBSP1设置为SPI模式 CODEAIC23设置为主模式 DSP5416设置为从模式 采样率设置为8KHZ NAND FLASH为32

3、MB,可存储约半小 时的语音数据(16位)录音播放不存储数据,用查询的方式读取数据;语音录放须存储数据,用2个buffer,大小各为8KB,录满后,再转存到 nand flash(32MB),用中断方式读取数据。(3)实验内容与基本要求 1、步进电机控制实验 (1)实验内容 1 DSP初始化; 2 中断控制寄存器初始化; 3 中断向量表; 4 外部中断1服务程序; 5 键盘扫描程序; 6 LCD显示程序; 7 步进电机控制程序; (2)基本要求 扫描键盘,读取不同的健值,根据不同的健值启动步进电机正转、 反转、加速、减速,能由外部中断使步进电机停止转动。并能由LCD显 示各任务的状态。2、语音

4、录放实验 (1)实验内容 1DSP初始化; 2同步串口0(McBSP0)初始化为I2S模式; 3同步串口1(McBSP1)初始化为SPI模式; 4中断控制寄存器初始化(允许McBSP0发送、接收中断); 5McBSP0发送中断服务程序; 6McBSP0接收中断服务程序; 7中断向量表;(详见附录B) 8NAND FLASH 驱动程序; 9TLV320AIC23初始化为MIC IN; 10. TLV320AIC23初始化为LINE IN; (2)基本要求 通过McBSP1(SPI模式)设置AIC23 工作模式,通过McBSP0 (I2S模式)控制AIC23 编、解码,语音信号可由MIC输入和LI

5、NEIN 输入,采集的语音数据存储在NAND FLASH上,语音的回放方式可为 BYPASS和LOOP_BACK。(4)实验程序框图 1、步进电机控制实验主程序初始化程序 调初始化程序 DSP初始化 外部中断1初始化读键值并延时(100ms)消抖LCD初始化、设置LCD显示是空键 ?YN外部中断1使能结束由不同的键值调不同的子程序 外部中断程序步进电机程序关闭外部中断1 设置步进电机转动的循环次数设置LCD显示 调步进电机驱动库函数 YGPIO.0=1? 延时,调整输出脉冲频率NYNGPIO.0=0? 循环次数=0?NY外部中断1使能结束结束注:GPIO.0与EXINT1管脚相连,用于按键消抖

6、,第一次按键时,进入中断服务程序,再按键时,须查询GPIO.0 状态.可退出中断服务程序.2、语音录放实验读键值并延时(100ms)消抖是空键 ?YN由不同的键值调不同的子程序 调初始化程序主程序 Mcbsp0初始化Mcbsp1初始化CODEC初始化LCD初始化、设置LCD显示初始化程序DSP初始化外部中断1使能结束 Mic In录音程序Line In回放程序Mcbsp0初始化Mcbsp1初始化Mcbsp0初始化Mcbsp1初始化CODEC初始化为Mic InCODEC初始化为Line In 接收中断、外部中断使能调接收数据库函数变量初始化,启动CODEC调发送数据库函数N接收数据=8KB?

7、标志寄存器=0?NY:存储语音数据到NAND FLASFY结束容量=32MB? EXIT1中断程序 清标志寄存器标志寄存器=0? 设置LCD显示NY结 束关闭接收中断结束注:1。语音回放是不存储数据,用查询方式读取数据; 2。语音录放须存储数据,用2个乒乓Buffer,大小各为8KB,录满8KB后,再转存到nand flash(32MB),用中断方式读取数据。放音程序接收中断程序Mcbsp0初始化Mcbsp1初始化从接收Buffer DRR1读数据 读8KB数据到乒乓Buffer写数据到发送Buffer DXR1 变量初始化,启动CODEC存储数据到乒乓Buffer调发送数据库函数结 束N发送

8、数据=8KB? Y读8KB数据到乒乓Buffer容量=32MB? YNN标志寄存器=0? Y结束(5)问题实验七:步进电机控制实验1.简要叙述如何实现用外部中断的按键实现步进电机的停止? 答:当步进电机进入speed up 和 speed down 这两种状态的子程序时,置 flag=1;第一次按键中断时,由于GPIO.0与EXINT1管脚相连,进入中断服务程序,由于中断程序里用if (flag)语句,使得内程序得以执行,再按键时须查询GPIO.0状态可退出中断服务程序,退出前,是flag=0,外部中断使能。实验八:语音录放实验1. 如何利用MCBSP构建I2S协议?答:void Init_M

9、CBSP0(void) MCBSP0_SET( MCBSP_SPCR1_SUBADDR, FIELD_VAL(RINTM, RINTM_SZ, INTM_RDY )| /* spcr1 */ FIELD_VAL(RJUST, RJUST_SZ, RXJUST_RJSE )| /* spcr1 */ FIELD_VAL(CLKSTP, CLKSTP_SZ, 0 )| FIELD_VAL(RRST, 1, 1 ); /0x2001 MCBSP0_SET( MCBSP_SPCR2_SUBADDR, FIELD_VAL(FREE, 1, 1 )| /* spcr2 - free running mod

10、e is enabled */ FIELD_VAL(SOFT, 1, 1 )| /* spcr2 - soft mode is enabled */ FIELD_VAL(XINTM, XINTM_SZ, INTM_RDY )| /* spcr2 */ FIELD_VAL(XRST, 1, 1 )| /* spcr2 - transmittor is enabled */ FIELD_VAL(GRST, 1, 1 )| /* spcr2 */ FIELD_VAL(FRST, 1, 1 ); MCBSP0_SET( MCBSP_RCR1_SUBADDR, FIELD_VAL(RWDLEN1, RW

11、DLEN1_SZ, WORD_LENGTH_16 )| /* rcr1 - N/A */ FIELD_VAL(RFRLEN1, RFRLEN1_SZ, 1 ); MCBSP0_SET( MCBSP_RCR2_SUBADDR, FIELD_VAL(RDATDLY, RDATDLY_SZ, DATA_DELAY0 )| /* rcr2 - N/A */ FIELD_VAL(RFIG, 1, FRAME_IGNORE )| /* rcr2 - N/A */ FIELD_VAL(RCOMPAND, RCOMPAND_SZ, NO_COMPAND_MSB_1ST )| /* rcr2 - N/A */

12、FIELD_VAL(RWDLEN2, RWDLEN2_SZ, WORD_LENGTH_32 )| /* rcr2 - N/A */ FIELD_VAL(RFRLEN2, RFRLEN2_SZ, 0 )| /* rcr2 - N/A */ FIELD_VAL(RPHASE, 1, SINGLE_PHASE ); MCBSP0_SET( MCBSP_XCR1_SUBADDR, FIELD_VAL(XWDLEN1, XWDLEN1_SZ, WORD_LENGTH_16 )| /* xcr1 - 16-bit words in the first phase */ FIELD_VAL(XFRLEN1,

13、 XFRLEN1_SZ, 1 ); MCBSP0_SET( MCBSP_XCR2_SUBADDR, FIELD_VAL(XDATDLY, XDATDLY_SZ, DATA_DELAY0 )| /* xcr2 - delay data clocks from frame sync: 1 for PCM1725, 0 for AKM4516 */ FIELD_VAL(XFIG, 1, FRAME_IGNORE )| /* xcr2 - ignore extraneous frame syncs */ FIELD_VAL(XCOMPAND, XCOMPAND_SZ, NO_COMPAND_MSB_1

14、ST )| /* xcr2 - MSB align data (no companding) */ FIELD_VAL(XWDLEN2, XWDLEN2_SZ, WORD_LENGTH_32 )| /* xcr2 - N/A */ FIELD_VAL(XFRLEN2, XFRLEN2_SZ, 0 )| /* xcr2 - N/A */ FIELD_VAL(XPHASE, 1, SINGLE_PHASE ); /* xcr2 - single phase frame */ MCBSP0_SET( MCBSP_SRGR1_SUBADDR, FIELD_VAL(CLKGDV, CLKGDV_SZ,

15、0xdb/*MMDRV_CLK32F_DIV-1*/ )| /* srgr1 - CLKG frequency is CLKS frequency divided by MMDRV_CLK32F_DIV */ FIELD_VAL(FWID, FWID_SZ, 15 ); /* srgr1 - frame sync pulse is 16 CLKG periods long */ MCBSP0_SET( MCBSP_SRGR2_SUBADDR, FIELD_VAL(FPER, FPER_SZ, 31 )| /* srgr2 - frame period is 32 CLKG periods */

16、 FIELD_VAL(FSGM, 1, FSX_FSG )| /* srgr2 - sample rate generator drives FSX (FSG) */ FIELD_VAL(CLKSM, 1, CLK_MODE_CPU )| /* srgr2 - CLKG derived from CPU clock (not CLKS) */ FIELD_VAL(CLKSP, 1, CLKS_POL_RISING )| /* srgr2 - N/A */ FIELD_VAL(GSYNC, 1, GSYNC_OFF ); /* srgr2 - CLKG is free running (not

17、synchronized) */ MCBSP0_SET( MCBSP_MCR1_SUBADDR, FIELD_VAL(RMCM, 1, 0 ); /* mcr1 - all 128 RX channels are enabled */ MCBSP0_SET( MCBSP_MCR2_SUBADDR, FIELD_VAL(XMCM, XMCM_SZ, 0 ); /* mcr2 - all 128 TX channels are enabled */ MCBSP0_SET( MCBSP_RCERA_SUBADDR, 0); /* rcera - N/A */ MCBSP0_SET( MCBSP_RC

18、ERB_SUBADDR, 0); /* rcerb - N/A */ MCBSP0_SET( MCBSP_XCERA_SUBADDR, 0); /* xcera - N/A */ MCBSP0_SET( MCBSP_XCERB_SUBADDR, 0); /* xcerb - N/A */ MCBSP0_SET( MCBSP_PCR_SUBADDR, FIELD_VAL(CLKRP, 1, CLKR_POL_RISING )| /* pcr - N/A */ FIELD_VAL(CLKXP, 1, CLKX_POL_FALLING )| /* pcr - transmit data sample

19、d on rising edge of CLKX */ FIELD_VAL(FSRP, 1, FSYNC_POL_HIGH )| /* pcr - N/A */ FIELD_VAL(FSXP, 1, FSYNC_POL_HIGH )| /* pcr - frame sync pulse (FSX) is active high */ FIELD_VAL(CLKRM, 1, CLK_MODE_EXT )| /* pcr - CLKR is an input pin */ FIELD_VAL(CLKXM, 1, CLK_MODE_INT )| /* pcr - CLKX is an output

20、pin driven by CLKG */ FIELD_VAL(FSRM, 1, FSYNC_MODE_INT )| /* pcr - FSR is an OUTput pin LFY CODEC_AIC23 */ FIELD_VAL(FSXM, 1, FSYNC_MODE_INT ); /* pcr - FSX is an output pin driven by FSG */ FIELD_VAL(CLKXM, 1, CLK_MODE_EXT )| /* pcr - CLKX is an output pin driven by CLKG */ FIELD_VAL(FSRM, 1, FSYNC_MODE_EXT )| /* pcr - FSR is an OUTput pin LFY CODEC_AIC23 */ FIELD_VAL(FSXM, 1, FSYNC_MODE_EXT ); return;

copyright@ 2008-2022 冰豆网网站版权所有

经营许可证编号:鄂ICP备2022015515号-1