基于DSP完成语音采集存储延时播放概述.docx
- 文档编号:24875901
- 上传时间:2023-06-02
- 格式:DOCX
- 页数:17
- 大小:1.18MB
基于DSP完成语音采集存储延时播放概述.docx
《基于DSP完成语音采集存储延时播放概述.docx》由会员分享,可在线阅读,更多相关《基于DSP完成语音采集存储延时播放概述.docx(17页珍藏版)》请在冰豆网上搜索。
基于DSP完成语音采集存储延时播放概述
XXXXXXXXXXXXXXX学院
基于DSP完成语音采集、存储、延时播放
课程名称:
DSP芯片技术及应用
课程编号:
姓名:
学号:
班级:
日期:
2015年06月18号
摘要:
数字信号处理器(DSP)由于具有接口简单、编程方便、稳定性好、精度高、可重复性好、集成方便等优点,在电子技术和通信领域得到了广泛的应用。
本课题分析了信号处理DSP与音频模拟芯片TMS320AIC23B的结构特点,描述了两者之间的多通道缓冲串口的硬件连接,并给出了相关软件设计,实现了一个完整的语音信号数字化处理系统,可以对模拟语音信号进行采集、处理、播放等功能。
由于DSP的数据处理和传输的并行性,从而极大地提高了系统的运行效率。
具有高速、实时、灵活的特点,可以用有限的存储空间存储较多的数字语音信号,完成多种语音处理功能。
关键字:
语音信号处理;TMS320AIC23;语音采集
目 录
第1章课题主要内容与设计原理总框图3
1.1课题研究的主要内容3
1.2设计原理总框图3
第2章硬件设计3
2.1语音信号的输入4
2.2语音信号的输出4
第3章软件设计4
3.1主程序流程图4
3.2DSP芯片5
3.2.1DSP特点5
3.3McBSP多通道缓冲串口软件设计6
3.3.1McBSP寄存器的配置6
3.3.2McBSP接收与发送中断的软件设计6
3.3TMS320AIC23B接口软件设计7
3.3.1TLV320AIC23的寄存器配置7
3.4TMS320AIC23B音频处理芯片8
第4章调试8
4.1语音采集与实时延时播放功能调试8
4.2语音采集与延时播放系统存储数据调试9
参考文献9
附录10
1.部分程序源代码10
第1章课题主要内容与设计原理总框图
1.1课题研究的主要内容
通过对DSP(5509A)和语音芯片(AIC23)进行配置,可以实现延时播放功能;利用AD转换采集输入的语音信号,每采集完一个信号后,将数据发送到DSP的McBSP接口上,DSP可以读取到语音数据,结合外部存储器对数据进行存储和处理,从而实现录音和延时播放功能。
1.2设计原理总框图
本语音信号采集与处理延时播放系统由而下几部分组成:
电源电路,TLV320CAIC23芯片设计的音频信号采集与延时播放电路,耳机输入与话筒输出电路,外部数据寄存器的扩展电路。
结构框图如下图(1.1)所示,TMS320AIC23B编解码芯片充当ADC与DAC之间的转换。
语音信号采集与处理延时播放硬件结构框图(1.1)
第2章硬件设计
本语音信号采集与处理延时播放系统的硬件设计主要建立在DSP通过I2C总线将配置命令发送到AIC23,配置完成后AIC23开始工作。
2.1语音信号的输入
AIC23通过其中的AD转换采集输入的语音信号,每采集完一个信号后,将数据发送到DSP的McBSP接口上,DSP可以读取到语音数据,每个数据为16位无符号整数,左右通道各有一个数值。
2.2语音信号的输出
DSP可以将语音数据通过McBSP接口发送给AIC23,AIC23的DA器件将他们变成模拟信号输出。
第3章软件设计
系统软件主要分为以下几部分:
5509A的初始化主要完成设定堆栈的大小,CPU工作时钟。
以及各个工作寄存器的初始值。
AIC23的初始化设置包括差值滤波器和抽样滤波器参数、采样频率、A/D和D/A转换等参数。
3.1主程序流程图
如图(图3.1)所示,首先对各端口外围设备进行初始化。
语音信号通过AIC23采集后经过A/D转换,把语音信号转化为数字信号,转送到DSP。
经过一系列的信号处理后,再通过AIC23实行D/A的转换,转换成语音信号后,实现延时播放与播放等功能。
主程序流程图(图3.1)
3.2DSP芯片
数字信号处理芯片(digitalsignalproeessors简称DSP)诞生于20世纪70年代,专门为实时数字信号处理而设计的一种可编程的嵌入式微处理器[2]。
它以数字器件特有的稳定性,可重复性,可编程性和易于实现自适应处理特点,取得了突飞猛进的发展。
近年来,随着DSP性能的日趋完善,功耗的逐步降低,开发环境的不断改进以及价格的不断下调,其应用领域已拓展到国民经济生活的各个方面。
3.2.1DSP特点
在通用的微处理器中,乘法由软件完成的,即通过加法和移位实现,需要多个指令周
期才能完成。
而DSP芯片中有专用的硬件乘法器,使得乘法累加运算速度大大提高。
在
DSP的指令系统中,提供了一些特殊的DSP指令。
例如,TMS320C54x中FIRS和LMS指令专门用于系数对称的FIR波器和LMS算法。
所以在相同的时钟频率和芯片集成度下,DSP完成FFT算法的速度比通用微处理器要快2一3个数量级。
将程序和数据存储在不同的存储空间中,即程序存储器和数据存储器是两个相互独立的存储器,每个存储器独立编址,独立访问,即程序指令和数据的存取空间分开,各有自己的程序总线和数据总线。
这样处理器可以同时处理数据和程序,大大地提高了处理器的处理能力。
3.3McBSP多通道缓冲串口软件设计
McBSP的软件设计主要包括串行口的初始化、McBSP内部寄存器的初始化以及串行口接收中断程序。
3.3.1McBSP寄存器的配置
每个McBSP口包括很多寄存器,在配置上采用通过复接器将一组子地址寄存器复接到寄存器映射寄存器的同一个位置上。
复接器由子地址寄存器SPSAx控制,子块数据寄存器SPSDx用于指定对应子地址寄存器中数据的读写。
这种方法的好处是可以将多个寄存器映射到一个较小的储存空间。
3.3.2McBSP接收与发送中断的软件设计
本设计采用了McBSP0的接收中断,通过查询RRDY(SPCR1.1)和XRDY(SPCR2.1)来确定接收器和发生器的状态,以实现读/写控制。
在McBSP0中断处理的编程设计的流程图如图3.2:
McBSP0中断处理流程图(图3.2)
3.3TMS320AIC23B接口软件设计
AIC23B部分的软件设计主要包括串行口的初始化、AIC23内部寄存器的初始化以及串行口接收中断程序。
3.3.1TLV320AIC23的寄存器配置
由于AIC23通过两个独立的通道进行通信,一路控制AIC23的端口配置寄存器;另一路发送和接收数字音频信号。
本设计采用5402的SPI模块对AIC23内部的配置寄存器进行编程配置,使AIC23工作在要求的状态下。
5402的SPI模式对AIC23的寄存器配置写入流程图如图3.3所示:
SPI模式对AIC23的寄存器配置(图3.3)
AIC23的寄存器初始化配置部分程序如下:
voidAIC_init()
{
//复位AIC23B
write_AIC23(RESET,0);
//打开/使能除线路输入外的所有部件
write_AIC23(POWER_CON,0x001);
//关闭线路输入信号,并同步更新线路输入(右)设置*/
write_AIC23(L_LINE_VOLUME,0x0180);
/*设置话筒输出为最大音量+6DB,同步更新右声道*/
write_AIC23(L_HEADPHONE_VOLUME,0x017f);
/*选择话筒输入,使能DAC,关闭侧音*/
write_AIC23(A_AUDIO_PATH,0x0015);
write_AIC23(D_AUDIO_PATH,0x0006);
/*0x43导致一个声道有噪音,将其设置为0x53后正常(5416*20M/50M)*/
write_AIC23(D_AUDIO_INTERFACE,0x0053);
write_AIC23(SAMPLE_RATE,0x01d);//96k0x01e,USBMODE(12MHZ)
write_AIC23(D_INTERFACE_ACT,0x0001);
}
3.4TMS320AIC23B音频处理芯片
TLV320AIC23B(以下简称AIC23)是TI推出的一款高性能的立体声音频Codec芯片,内置耳机输出放大器,支持MIC和LINEIN两种输入方式(二选一)。
AIC23的模数转换(ADCs)和数模转换(DACs)部件高度集成在芯片内部,采用了先进的Sigma-delta过采样技术,可以在8K到96K的频率范围内提供16bit、20bit、24bit和32bit的采样,ADC和DAC的输出信噪比分别可以达到90dB和100dB。
AIC23主要的外围接口有数字音频接口(LRCIN、LRCOUT、DIN、DOUT)、麦克风输入接口(MICBIAS、MICIN)、LINEIN输入接口、耳机输入接口和配置接口。
其中配置接口由SDIN-配置数据输入和SCLK-配置时钟引脚组成。
DSP通过该部分配置AIC23的内部寄存器,每个word的前7bit为寄存器地址,后9bit为寄存器内容。
第4章调试
4.1语音采集与实时延时播放功能调试
语音采集与实时延时播放功能的调试是在开发板以及结合CCS开发环境下进行的。
显示图如下:
语音输入与输出波形(图4.1)
如图(图4.1)所示:
图中下边的为语音采集输入的波形,上边的为经过压缩解压后的语音输出波形。
两个波形略有不同,说明仿真的过程中出现了失真,延时等现象。
这是语音采集与实时延时播放系统的调试的重点。
在整个调试的过程中,经过多方面的整理和修改,失真现象有所改观。
4.2语音采集与延时播放系统存储数据调试
存储数据作为整个系统的外围扩展的重点,整个系统的存储空间并不大。
首先结合开发板与应用CCS环境调试程序:
录音,存储,暂停,延时播放。
然后对存储的数据进行分析。
由于内存的不足,致使录音的时间仅有几秒时间,由于时间与技术水平等原因,语音数据的存储不理想,要使本系统实用化,完善还需要大量的探索和研究。
本系统的存储可以进一步的改进:
(1)介于存储空间的局限,本系统还可以通过扩展FLASH扩大存储空间。
(2)在VC5509A外围扩展一个USB驱动芯片,可以实现DSP与U盘的实时数据交换与存储。
参考文献
[1].赵力,语音信号处理,北京,机械工业出版社,2003,4
[2].胡宾,嵌入式语音识别技术的研究,[硕士学位论文],湖北,武汉理工大学,2006
[3].戴明桢,周建江.TMS320C54XDSP结构、原理及应用.北京:
北京航空航天大学
出版社,2001
[4].李哲英,骆丽,刘元盛,DSP基础理论与应用技术,北京:
北京航空航天大学出
版社,2002
[5].张雄伟,曹铁勇,DSP芯片的原理与开发应用(第2版).北京:
电子工业出版社,
2002
[6].李利,DSP原理及应用,北京:
中国水利水电出版社,2005(2007重印)
[7].江安民,程昱,徐保根,DSP嵌入式系统开发典型案例,北京:
人民邮电出版社,
2007.1
[8].张延华,姚林泉,郭玮,数字信号处理基础与应用,北京:
机械工业出版社
[9].苏涛,蔺丽华,卢光跃,张林让,DSP实用技术.西安:
西安电子科技大学出版
社,2002
[10].TMS320C54XOptimizingCCompilerUser’sGuide(literaturenumber
SPRU103F).TexasInstrumentsIn.2001
[11].TEXASINSTRUMENTS,TMS320C54XDSPLibraryProgrammer’s
Reference,SPRU422H,October,2004
[12].TMS320C54XCodeComposerStudioHelp(version2).TexasInstruments
In.2001__
附录
1.部分程序源代码
(1)main程序
#include"regs54xx.h"
#include"key.h"
#defineUint16unsignedint
#defineUint32unsignedlong
#definesoundbufferlength61000
#pragmaDATA_SECTION(usound,".sound")
unsignedintusound[soundbufferlength];
unsignedint*exramstar=(unsignedint*)0x2800;
intsoundnumber=0,record=0,k=0,currentsound=0,js=0,longenough,bls=0,
playback=0,stop=0,stopsound=0;
unsignedintul,i;
unsignedintur;
voidkeyfuntion(unsignedintkey);
#defineUint16unsignedint
#defineCLKMD(unsignedint*)0x58
intms,f,test=0,y;
Uint16Temp;
voidmain()
{
asm("stm#4240h,SWWSR");
asm("stm#00E0h,PMST");//MP/MC=0,IPTR=001,ovly=0
asm("stm#0802h,BSCR");
asm("STM#0h,IMR");
OpenAudio();
asm("RSBXINTM");
while
(1)
{
k=ScanKey();
keyfuntion(k);
}
}
interruptvoidcodec_ch0_in()
{
ul=DRR20;
ur=DRR10;
if(playback==0)//放音时不再录入
{
DXR10=ur;
DXR20=ul;
}
if(record==1)
{
*(exramstar+soundnumber)=ul;
soundnumber++;
if(soundnumber>=soundbufferlength)
{
stopsound=soundnumber;
asm("ssbxINTM");
soundnumber=0;
}
DXR10=ur;
DXR20=ul;
}
elseif(playback==1)
{
i=stopsound+soundnumber;i%=stopsound;
DXR10=DXR20=*(exramstar+i);
soundnumber++;
if(soundnumber>=stopsound)//重复播放录音
{
}
}
voidkeyfuntion(unsignedintkey)
{
switch(k)
{
caseK1:
//录音
record=1;
KeyPress();//指示灯
break;
caseK2:
//放音
playback=1;
asm("rsbxINTM");
break;
caseK3:
//stop=1;
stopsound=soundnumber;
soundnumber=0;
record=0;
asm("ssbxINTM");//停止录音
break;
caseK4:
for(y=0;y<=15000;y++)
{
}
case0:
default:
break;
}
}
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 DSP 完成 语音 采集 存储 延时 播放 概述