全新论坛MCU智学网上线,欢迎访问新论坛!稀缺资源、技术干货、参考设计、原厂资料尽在MCU智学网
更新自动建库工具PCB Footprint Expert 2023.13 Pro / Library Expert 破解版

基于AMBE-2000编解码芯片的语音系统

[复制链接]
1782 0

本文包含原理图、PCB、源代码、封装库、中英文PDF等资源

您需要 登录 才可以下载或查看,没有帐号?注册会员

x
0 引言
    语音通信是数字通信系统中最常用的通信方式之一,优良的语音编解码算法能够更加有效地节省带宽资源,提高频率利用率。现在语音编码技术可以广泛的应用在话音多路传输、卫星通信、保密通讯等许多军事领域。数字语音系统公司(Digital Voice System Inc)所推出的AMBE-2000是一种基于高级多带激励(advanced multi-band excitation)语音编码算法的高性能,低功耗的实时编解码芯片,其压缩率在2 000~9 600 b/s可调,具有前向纠错(FEC)、语音激活检测(VAD)、双音多频(DTMF)信号检测等多种功能。
    1 系统介绍
    本语音系统的主要作用是实现数字话音与模拟话音的相互转换并处理话音数据的编解码,降低话音数据的传输速率,提高系统的频率资源利用率,此外须满足信息系统的接口要求。模拟话音部分连接耳机话筒组,数字部分压缩数据流连接外部处理器,解压数据流用于远距离传输语音量化信息。整个语音系统的原理框图见图1。
    发送话音时 话音处理板将送入的模拟话音进行A/D采样量化后,经语音编解码芯片压缩打包通过CPCI总线或LVDS串行总线送入到信息处理器进行后续处理;或者通过高速RS 422串口将远距离传输来的语音量化信息经压缩后分别通过CPCI总线或者LVDS串行总线送往信息处理器进行后续处理。欢迎转载,本文来自电子发烧友网(http://www.elecfans.com)  
    接收话音时 通过CPCI总线或者LVDS串行总线收到压缩数据,经语音编解码芯片解码后通过D/A转换将话音转换为模拟信号;或者将收到的压缩数据,经解压后通过高速RS 422串口远距离传出去。
    2 AMBE-2000的功能与特点
    AMBE-2000芯片是AMBE-1000的改进产品。与AMBE-1000相比,其语音压缩算法更优化,语音质量更高,最低编码速率也由原来的2 400 b/s降低到2 000 b/s。在硬件和接口方面,也做了若干改进,并提高了其压缩编码和前向纠错编码(FEC)的效率和可靠性。内部计算量小,功耗低。其算法复杂度为13 MIPS(每秒百万条指令),从而可以达到较低的功耗:3.3 V时仅为65 mW,深度睡眠时仅为O.11 mW。
    在简易模型中,AMBE-2000被看作两个分离原件,编码器和解码器。编码器接收语音量化信息(16-bit线性、8-bit A律或8-bitμ律)并以所期望的速率将压缩数据流输出信道。相反地,解码器接收信道压缩数据流,合成语音量化信息。对AMBE-2000编/解码器接口的时间控制是完全异步的。通常语音接口所接的是A/D、D/A芯片。输入输出语音数据流必须是相同的。格式(16-bit线性、8-bit A律,或8-bitμ律)。本系统采用AMBE-2000并且A/D-D/A芯片采用16-bit线性采样的AD73311就是为了与原先设计的一套基于AMBE-1000的话音系统保持兼容性。基于AMBE-1000旧式语音系统使用了体积过大,功耗较高的16-bit线性的A/D、D/A芯片TI32044,并且采用了一系列同样缺点的外围芯片,不适用于低功耗,小体积的发展趋势。
    3 AMBE-2000与A/D-D/A芯片的接口设计
    A/D-D/A芯片与AMBE-2000之间的语音数据流格式应当是匹配的,即要有统一的格式(16-bit线性、8-bit A律,或8-bμ律),一般情况下,建议选用16位线性元件。在本设计中,选用的是AD公司的AD73311。可以通过配置硬件管脚84,85(CODEC_SEL[1-0]=01b),将AMBE-2000的语音接口设置成专门与AD73311通信。所以AMBE-2000和AD73311配合使用会使得电路设计比较简单。
    AD73311主要特点:
    (1)低功耗的16位A/D-D/A转换器,输入/输出采样率和增益皆可通过软件控制,在话带范围内可提供70 dB的信噪比。通过串口传递语音数据,接收控制命令,简单高效。
    (2)输入的模拟音频信号经过可变增益放大器,A/D转换器后转换为数字信号,通过串口输出;反之来自串口的数字流被转换为模拟信号后,经过可变增益放大器后输出。
    (3)AD73311的主要工作模式有两种:编程模式和数据模式。芯片复位之后处于默认的编程模式,这时可以通过串口往控制寄存器写控制字,来设定工作状态。这里需要注意的是AD73311在3 V低功耗状态下(如图2所示)配置字应置为相应格式。
    (4)上电复位后,AMBE-2000的CODEC_TX_DATA信号应与AD73311的串行输入隔离开,并保持365 ms左右,这时,利用FPGA配置AD73311,配置字如下:
    设置完后,寄存器A写入Q1,表示进入“数据模式”,AMBE-2000的CODEC_TX_DATA信号应与AD73311的串行输入接通,可以进行正常的数据传输。
    4 AMBE-2000与信道的接口设计
    AMBE-2000要求每20 ms编码器被控制器读取1次。复位后,初始帧准备好则EPR由高变低,之后每隔20 ms准备好1帧数据,相应地外部控制器也需要每隔20 ms读取1个数据帧。
    EPR脉冲每20 ms出现1次,这也是判断AMBE-2000是否正常工作的重要依据。整个读取数据的过程为:
    (1)等待小于20 ms的时间;
    (2)发送帧同步信号,读取AMBE-2000一帧串行输出数据;
    (3)如果接收到的数据不是0x13EC,说明不是数据帧头,丢弃这一帧并重新执行步骤、(2)。
    (4)如栗接收蓟的数据是0x13EC,则读取本包的剩余23个字。
    在该设计中,使用FPGA作外部控制器。FPGA产生输入/输出帧同步信号、输入/输出时钟信号以及AMBE-2000的串行输入数据,并按照AMBE-2000要求的时序关系与AMBE-2000进行数据交换。
    表1列举了AMBE-2000的信道接口信号的特性,其与外部控制器的数据传输方式如图3,图4所示。

举报

回复
*滑块验证:
您需要登录后才可以回帖 登录 | 注册会员

本版积分规则

打开支付宝扫一扫,最高立得1212元红包
搜索

图文热点

更多

社区学堂

更多

客服中心

QQ:187196467 服务时间:周一至周日 8:30-20:30

关注我们

关于我们
关于我们
友情链接
联系我们
帮助中心
网友中心
购买须知
支付方式
服务支持
资源下载
售后服务
定制流程
关注我们
官方微博
官方空间
官方微信
快速回复 返回顶部 返回列表