保存桌面快捷方式 - - 设为首页 - 手机版
凹丫丫旗下网站:四字成语大全 - 故事大全 - 范文大全
您现在的位置: 范文大全 >> 理工论文 >> 电子通信论文 >> 正文

适于语音处理的SDA80D51芯片及其数字录放音系统


语音编解码算法一般分为三类:波形编码、参数编码(声码器)和混合编码。波形编码技术是在不建立语音模型的情况下,直接对语音波形用编码方式逼近,可有时域的脉冲编码调制和变换域编码;参数编码是在一定的语音模型基础上,在编码端分析出该模型参数,并选择适当的方式对其进行高效率的编码,而在解码端利用这些参数和语音模型,用合适的激励源(excitation)重新合成语音;混合编码则保留了参数编码的语音模型的假定,又利用了波形编码的准则优化激励信号。

G.723.1算法属于混合编码。语音模型是基于线性预测理论的全极点模型。输入是16bit的PCM码流,然后采用合成分析、矢量量化等方法,以感觉加权后的语音基音残差信号能量最小为准则进行编码。有两种类型编码方式,一种是6.3kb/s多脉冲最大似然量化方法(压缩率20:1),另一种是5.3kb/s代数码本激励线性预测ACELP(压缩率24:1)。后者的压缩率高,编码速率低,这可以降低系统存储语音时所需存储器的容量。而且解码算法简单,回放语音时不会有延迟感,语音清晰。

3 语音录放音系统硬件设计

语音录放音系统硬件电路的系统框图如图2所示。由于芯片内(虚线内)集成了许多功能模块,使得电路的结构变得非常简单。

SDA80D51的RS232串行口通过MAX3222匹配电压后,连接到计算机。

芯片的启动支持SPI、I2C和RS232串口三种方式。本系统采用I2C启动方式,选用ATMEL公司的24C64。上电后,片内固化在ROM上的程序会从选定的I2C芯片拷贝256字节客户启动程序到片内程序区ff00h~ffffh处,最后把程序指针指向ff00h,开始执行。

系统程序存在SST28LF040中,由启动芯片中的用户启动程序把系统程序装载到芯片内部的RAM里,然后处理器会执行RAM中的程序指令。

语音经过编码压缩后存储在三星公司的KM29U128T(16M×8bit)内。它的寻址采用串行方式,即8根数据线既作地址线也作数据线,先输入地址,再传送数据。这样,用很少的SDA80D51地址线就可寻址很大的空间,记录大量的语音数据很方便。

用8根GPIO线实现一个4×4的小键盘,可用来作为控制接口。在录放音时,可以通过对键盘的扫描来决定下一步骤。

4 软件设计

由于要对芯片内的功能模块、系统控制和编解码算法进行编程,这使得软件设计量比较大。考虑到本文的篇幅,这里只介绍总程序结构和录放音的控制部分。

总程序框架采用前后台的工作方式。前台轮寻各个任务引擎,判断是否有任务需要处理。若有,切换状态并执行该任务;若没有,就继续查询。后台主要完成对硬件的接口、中断处理程序以及缓冲硬件数据。前台和后台的通讯是靠共享缓冲区来完成的。这种前后台的工作方式可处理多任务,每个任务只占用一个时间片。

数字录放音程序在整个软件设计中只有一个任务,它提供一个任务引警程序,由前台来调用。具体工作过程是OAK接CODEC模块,负责采集数据、编码和解码算法以及语音的回放;M8051负责配置系统工作寄存器和对FLASH的读写。两个核之间通过FIFO发消息,消息的定义格式(C语言)如下:

typedef union tag_FIFO_MESSAGE

{

struct

{

struct

{

BYTE bIdSource://发送方ID

BYTE bIdDest: //接收方ID

WORD wMsgType; //发送消息类型

《适于语音处理的SDA80D51芯片及其数字录放音系统(第2页)》
本文链接地址:http://www.oyaya.net/fanwen/view/162348.html

★温馨提示:你可以返回到 电子通信论文 也可以利用本站页顶的站内搜索功能查找你想要的文章。