微波EDA网,见证研发工程师的成长!
首页 > 射频和无线通信 > 射频无线通信文库 > 基于CAN总线的语音节点设计方案

基于CAN总线的语音节点设计方案

时间:09-21 来源:互联网 点击:

在语音处理中,编码芯片是核心部分,本设计采用的是AMBE 编码。AMBE-1000 是美国DVSI 公司研制、Lucent 公司生产的一款成熟的双工声码器芯片,用来实现双工的语音压缩/解压缩功能,能实现低传输速率下高质量的通话。它采用先进的AMBE 压缩算法,压缩速率最低可达2.4Kbps。目前这种算法以其能实现的低传输速率和高通话质量而在世界范围内得到了广泛应用,甚至用在下一代移动通信系统中。AMBE-1000 可看成由两个分开的编码器和解码器组成。编码器接收8kHz 的语音数据采样流(如16 位线性的,8 位A 律的或8 位μ 律的)和输出一个期望的波特率的信道数据流。反之,解码器接收一个信道数据流并合成一个语音数据流。AMBE-1000 的编码器和解码器的接口时序是完全异步的[5]。压缩数据从编码器出来要通过一个接口送到解码器,该接口就是信道接口。基本的信道接口包括串口和并口,管脚CH_SEL[2-0]的配置将决定使用哪种接口。串口和并口都能工作于主动模式和被动模式。主动和被动是指激励信号是由本芯片给出,还是由外部模块送入。

2.3.2 AMBE-1000 与处理器模块接口电路

串行模式下AMBE-1000 通过CHS_DI 和CHS_DO 输入、输出16 位的数据字。声码器AMBE-1000 工作在被动模式,与控制器之间采用串行方式传送数据,两者之间接口如图6 所示。

图6 AMBE-1000 与控制器接口

AMBE-1000 中语音编码率和前向纠错编码率的选择可以是独立的。这些码率可以通过命令帧的方法配置,也可以通过硬件管脚BPS_SEL[3-0](pin 3,4,5,6)来配置。本设计中设定AMBE-1000 的语音编码率为2.4Kbps,故管脚BPS_SEL[3-0]均通过电阻接地。

2.3.3 语音 A/D、D/A 模块设计

对于一个高质量的语音通信系统,A/D-D/A 芯片的选择至关重要。在选择A/D-D/A 芯片时,需要考虑这些芯片的信噪比和滤波性能。一般应优先考虑那些16位线性A/D-D/A芯片,以获得较高的语音质量。对于任何一种与之相连接的A/D-D/A 芯片, AMBE-1000 都采用8kHz 语音数据采样率。这些8 kHz 数据通过串行接口输入(或者输出)到AMBE-1000,可以通过软件(发送命令帧)或者硬件方式,进行A/D-D/A 接口的选择和配置。本系统采用的A/D-D/A 芯片是CSP1027,这是一款带有16 位串行A/D 和D/A 的芯片,符合CCITT G.712语音频带响应和信噪比规范,其采样频率可高达24KHz,它采用低功耗全静态逻辑设计,在数字电源3.3V、模拟电源5V 工作时,典型功耗68mW,待机功耗0.05mW。

CSP1027 与AMBE-1000 之间采用串行工作方式,二者的接口电路如图7所示。经MAX9814 放大后的麦克风语音信号由45 号管脚(MICIN)送入CSP1027 进行A/D 转换,然后经21 号管脚(DO)送入AMBE-1000 进行压缩编码。相反地,AMBE-1000 解码之后的数字语音数据要送入CSP1027 芯片进行D/A转换(TX_DO 与DI相连接),恢复出的模拟语音信号由43 号管脚(AOUTP)输出,并通过此管脚将模拟语音信号送出MAX9736 进行功率放大,最后通过扬声器播放出来。

  

图 7 CSP1027 与AMBE-1000 的接口

2.3.4 语音采集模块设计

本模块的作用是将麦克风微弱语音信号放大给A/D 转换器。本系统采用了具有自动增益控制(AGC)功能的MIC 放大芯片MAX9814,该芯片是Maxim 推出的低成本、高品质麦克风放大器,器件具有低噪声前端放大器、可变增益放大器(VGA)、输出放大器、麦克风偏置电压发生器和AGC控制电路。

MAX9814 的电路设计如图8所示,麦克风语音信号通过管脚8(MICIN)输入MAX9814芯片,进行语音信号放大,之后从管脚6(MICOUT)输出,输出的信号送到模数转换模块即CSP1027 进行A/D 转换。

图8 MAX9814电路设计图

2.3.5 功放模块设计

由于井下语音节点使用环境比较嘈杂,因此需要配备功放来驱动井下的喇叭,本系统采用的功放芯片为Maxim 的MAX9736,可以工作在8V 至28V,并具有高PSRR,无需稳压电源。MAX9736采用12V供电时效率可达88%。

语音数据经过解码、D/A 转换等恢复为模拟信号。输出的模拟信号要在经过语音模块进行功率放大送到扬声器。该模块电路设计如图9所示。

图9 功放模块电路设计图

3 语音节点软件流程设计

语音节点可以与网关节点和组内其他语音节点进行通信。

当与网关通话按键按下后(Button_Gate=0),打开本地MIC,关闭本地功放,让AMBE-1000 工作,修改发送缓冲器标识符,使仅网关节点能接收到该语音数据,等待编码器编码完毕(EPR=1),从AMBE-1000 中读取编码后的数据,然后将压缩编码后的语音数据发送到CAN 总线上。发送完毕后需要关闭本地MIC,使AMBE-1000 休眠。

当与组内其他节点通话按键按下后(Button_Group=0),工作过程和与网关

Copyright © 2017-2020 微波EDA网 版权所有

网站地图

Top