您好,欢迎访问三七文档
当前位置:首页 > 商业/管理/HR > 咨询培训 > 89DSP课程设计报告
DSP课程设计报告哈尔滨工业大学(威海)课设名称:声音强度显示2(2812平台)课设日期:2013.7.7姓名:*****学号:2012年数字信号处理实验报告第1页共15页目录1、设计题目..............................................21.1实验背景..............................................21.2实验要求....................................................22、设计原理.....................................................22.1整体思路.....................................................22.2TLV320AIC23B................................................32.3MCBSP..............................................52.4LED..............................................63、程序代码..............................................74、硬件实现..................................................135、心得体会..............................................146、参考资料...............................................142012年数字信号处理实验报告第2页共15页一、设计题目1.1实验背景很多音响设备上有显示声音强度的led显示,采集语音信号,并用流水灯的亮多少表示声音的强度。1.2实验要求A、利用开发板上的音频AD采集语音信号;B、利用流水灯亮的多少显示声音强度;C、利用开发板的资源,拓展功能。二、设计原理2.1整体思路实现声音强度显示,首先要AD采集外部语音信号,为防止烧坏DSP芯片,我们用外围芯片TLV320AIC23B来实现,TLV320AIC23B对外部输入语音信号AD处理完成后通过MCBSP送达DSP,我们再对其进行八段量化,即把声音强度分成八段,对应LED亮灯数量,则功能可实现。硬件框图如下:话筒TLV320AIC23BTMS320F2812耳机LED发光二极管2012年数字信号处理实验报告第3页共15页2.2TLV320AIC23BTLV320AIC23(以下简称AIC23)是TI推出的一款高性能的立体声音频Codec芯片,内置耳机输出放大器,支持MIC和LINEIN两种输入方式(我们用MIC输入外部语音信号),且对输入和输出都具有可编程增益调节。AIC23的模数转换(ADCs)和数模转换(DACs)部件高度集成在芯片内部,采用了先进的Sigma-delta过采样技术,可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样(我们采用16bit采样),ADC和DAC的输出信噪比分别可以达到90dB和100dB。与此同时,AIC23还具有很低的能耗,回放模式下功率仅为23mW,省电模式下更是小于15uW。由于具有上述优点,使得AIC23是一款非常理想的音频模拟I/O器件,可以很好的应用在随声听(如CD,MP3……)、录音机等数字音频领域。TLV320AIC23电路原理图如下:2012年数字信号处理实验报告第4页共15页I.我们用MIC输入声音信号,MIC输入接口主要管脚为:MICBIAS-提供麦克风偏压,通常是3/4AVDDMICIN-麦克风输入,放大器默认是5倍增益连接示意图如下:II.为了更好地对比显示效果,程序中保留了声音输出的部分。耳机输出接口主要管脚为:LHPOUT-左声道耳机放大输出RHPOUT-右声道耳机放大输出LOUT-左声道输出ROUT-右声道输出LOUT和ROUT没有经过内部放大器,所以设计中常用LHPOUT和RHPOUT,连接示意图如下:2012年数字信号处理实验报告第5页共15页III.DSPMode模式DSP与AIC23的连接可以采用I2S模式也可以采用DSP模式,区别仅在于DSP的McBSP帧信号的宽度。前者的帧信号宽度必须为一个字(16bit)长,而后者的帧宽度可以为一个bit长,比如在字长16bit(即左右声道的采样各为16bit),帧长为32bit的情况下,如果采用I2S,帧信号宽度应为16bit;而采用DSPMode帧信号宽度1bit即可。为了与AIC23通信,DSP的串口时钟也应该正确的设置。DSP的McBSP时钟为了减少外围电路通常都选择由内部CPU时钟分频得到,比如在AIC23采样速率为8K的情况下,McBSP串口时钟应为8×32=256K,这时,DSP工作时钟/256K=需要设置的分频因子。需要注意的是,DSP的串口分频因子最大为0xff(256),所以如果采用内部时钟分频的办法,DSP工作时钟不能超过64M。(我们采用MCBSP实现无缝连接)。2.3MCBSPMcBSP是TI公司生产的数字信号处理芯片的多通道缓冲串行口,英文MultichannelBufferedSerialPort的缩写。McBSP是在标准串行接口的基础之上对功能进行扩展,因此,具有与标准串行接口相同的基本功能。McBSP包括一个数据通道和一个控制通道,通过7个引脚与外部设备连接。数据发送引脚DX负责数据的发送,数据接收引脚DR负责数据的接收,发送时钟引脚CLKX,接收时钟引脚CLKR,发送帧同步引脚FSX和接收帧同步引脚FSR提供串行时钟和控制信号。2012年数字信号处理实验报告第6页共15页它为DSP和系统其他设备之间提供了一个直接的串行接口,实现与兼容的MCBSP设备(如AIC)之间进行通信,并且能同步的发送、接收8/16/32位串行数据。2.4LED前面交代了数据采集、处理、传输,而要完整实现所需功能就要用LED发光二极管部分来显示了。我们把处理完之后的16位数字信号做8个强度段判断,使之随声音强度大小点亮前一个灯、前两个灯、前三个灯……前七个灯、全八个灯。电路原理图如下(共阳发光二极管):2012年数字信号处理实验报告第7页共15页三、程序代码由于篇幅限制,仅附上主程序如下,各部分的初始化以及调用程序略去:#includeDSP28_Device.h#defineSPI_SEL_REG*(Uint16*)0x3400#defineLED_SPI0X00ConstUnite16LedCode[]={0XFF3F,0XF49F,0XF61F,0XF33F,0XF25F,0XF05F,0XFF1F,0XF01F,0XF21F};unsignedintcount;unsignedint*LEDADDR=(unsignedint*)0x3800;Uint16hh;intADbuf[500];intDA_wptr,DA_rptr,y;intplay_mode;voiddelay(unsignedint);voidldelay(unsignedint);voidWriteLED(unsignedint);voidmain(void){unsignedinttemp,i;InitSysCtrl();//初始化系统控制寄存器、PLL、看门狗和时钟2012年数字信号处理实验报告第8页共15页EALLOW;//AllowaccesstoEALLOWprotectedregistersGpioMuxRegs.GPFMUX.all=0x3fff;//设置相应的引脚为McBSP引脚//设置口FMUX-x111111000000000EDIS;DINT;//关中断InitPieCtrl();//初始化PIE控制寄存器,参考DSP28_PieCtrl.C文件IER=0x0000;IFR=0x0000;InitSpi();//初始化SPItemp=0;count=0;SPI_SEL_REG=LED_SPI;//使能LEDSPIfor(i=0;i9;i++){WriteLED(i);ldelay(50);2012年数字信号处理实验报告第9页共15页}InitSpi1();InitAic23();//初始化AIC23chipldelay(10);InitMcbsp();ldelay(10);InitPieCtrl();//初始化PIE控制寄存器InitPieVectTable();//初始化中断向量表EALLOW;PieVectTable.MXINTA=&ISRMcbspX;PieVectTable.MRINTA=&ISRMcbspR;EDIS;IER|=M_INT6;//使能CPUINT6PieCtrl.PIEACK.all=0xFFFF;//使能PIE驱动一个脉冲进入CPUPieCtrl.PIEIER6.bit.INTx6=1;//使能PIEGroup6,INT6PieCtrl.PIEIER6.bit.INTx5=1;//使能PIEGroup6,INT5//PieCtrl.PIEIFR6.bit.INTx6=0;2012年数字信号处理实验报告第10页共15页EINT;//使能全局中断ERTM;//GpioDataRegs.GPASET.all|=0x8000;//测试置位McbspRegs.DXR1.all=20000;while(1)//判断声音强度大小,用LED灯个数显示出来{if(hh0x1FFF){*LEDADDR=254;delay(10000000);}elseif(hh0x3FFF){*LEDADDR=252;delay(10000000);}elseif(hh0x5FFF){*LEDADDR=248;delay(10000000);}elseif(hh0x7FFF){*LEDADDR=240;delay(10000000);}2012年数字信号处理实验报告第11页共15页elseif(hh0x9FFF){*LEDADDR=224;delay(10000000);}elseif(hh0xBFFF){*LEDADDR=192;delay(10000000);}elseif(hh0xDFFF){*LEDADDR=128;delay(10000000);}elseif(hh0xFFFF){*LEDADDR=0;delay(10000000);}}}voidWriteLED(unsignedintindex){if(Spi_TxReady()==1)SpiaRegs.SPITXBUF=(unsignedint)(LedCode[index]);//检查发送寄存器是否为空delay(50000);GpioDataRegs.GPACLEAR.all|=0x8000;2012年数字信号处理实验报告第12页共15页delay(1000);GpioDataRegs.GPASET.all|=0x8000;}voidldelay(unsignedintk){while(k0){k--;delay(50000);}}voiddelay(unsignedintt){while(t0)t--;}interruptvoidISRMcbspR(void)//数据可以在这采集{PieCtrl.PIEACK.all=0xFFFF;//使能PIE驱动一个脉冲进入CPUPieCtrl.PIEIFR6.bit.INTx5=0;//使能PIEGroup6,INT52012年数字信号处理实验报告第13页共15页ERTM;hh=McbspRegs.DRR1.all;}interruptvoidISRMcbspX(void)//在此处发送{PieCtrl.PIEACK.all=0xFFFF;//使能
本文标题:89DSP课程设计报告
链接地址:https://www.777doc.com/doc-5482630 .html