- 相关推荐
基于AMBE-2000的多速率语音通信终端模块
摘要:介绍一种基于AMBE-2000和DSP芯片的语音通信终端模块的原理与实现方案。该终端模块具有设计简便、语音编码速率可变、音质优、性价比高、功耗小等诸多优点,可广泛应用于卫星通信、短波、微波通信和军用保密通信等场合。关键词:声码器AMBE前向纠错编码(FEC)
AMBE-2000是DVSI(DigitalVoiceSystemInc.)公司推出的单片声码器芯片。该芯片采用改进的多带激励(MBE)算法,能实现可变速率低比特率、高语音音质的语音压缩编码。本文基于AMBE-2000,设计并实现了一种语音通信终端模块。该模块具有设计简便、语音编码速率可变、音质优、接口灵活、工作电压低、功耗小等诸多优点,可广泛应用于卫星通信、短波、微波通信和保密通信等场合,具有很高的实用价值。
1AMBE-2000功能概述
1.1MBE算法介绍
MBE(Multi-BandExcitation)语音编码技术是上世纪80年代末提出的一种具有高语音质量和强鲁棒性的低速率语音编解码技术。其改进的IMBE算法成为国际移动卫星组织(INMARSAT)和AUSAT移动卫星通信的语音编码标准。EIA/TIA也选择了MBE作为北美陆地移动通信系统的编码标准。MBE语音编解码算法因其在低速率(<4.8kbps)上的优越性能,在卫星通信、数字话音存储和保密通信等领域得到广泛应用。
MBE编码方式在频域中按基音各谐波频率,将一帧语音的频谱划分为多个频带,对每个频带作清、浊音(U/V)判决。对浊音带,以基音为周期的脉冲序列作为激励信号;对清音带,则以白噪声作为激励信号。总的激励信号由各带激励信号相加构成。用该激励信号激励声道滤波器,最终合成出具有较高自然度的语音。MBE模型使合成语音谱与原语音谱在细致结构上能拟合得很好,因此在低比特率的情况下,其合成语音的音质依然能保持较高的自然度。
1.2AMBE-2000的功能与特点
AMBE-2000芯片是AMBE-1000的改进产品。与AMBE-1000相比,其语音压缩算法更优化,语音质量更高,最低编码速率也由原来的2.4kbps降低到2.0kbps;在硬件和接口方面,也作了若干改进,并提高了其压缩编码和前向纠错编码(FEC)的效率和可靠性。AMBE-2000主要具有以下一些特点:
(1)速率多,语音音质高:具有2.0k、2.4k、3.6k、4.0k、4.8k、6.4k、8.0k和9.6kbps八种压缩速率。当速率在4.0kbps以上时,可得到接近长途电话的话音质量;当速率为2.0kbps时,仍然具有较高的可懂度和自然度。
(2)可变速的FEC功能:可根据信道情况,灵活地选择FEC的速率。语音和FEC的速率选择既可以通过硬件管脚设置,也可通过软件方式设置。
(3)芯片内集成卷积编码器和Viterbi译码器。
(4)低功耗、低复杂度。
(5)能产生和识别双音多频(DTMF)信号。
(6)具有语音激活检测(VoiceActivityDetection)功能、回波抵消(EchoCancelling)功能和舒适噪声(ComfortableNoise)产生功能等。
(7)串行信道接口可设置为主动和被动方式,传输数据可设置成帧结构或非帧结构。
AMBE-2000芯片主要管脚的功能如表1所示。AMBE-2000的工作频率建议使用16.384MHz,它与晶体有两种连接方式,如图1和图2所示,分别是与有源晶体和无源晶体的连接方法。
表1AMBE-2000主要管脚功能
管脚
功能RATE_SEL[4~0]用于选择编码速率和FEC速率CHANN_SEL[1~0]选择信道接口方式(主动、被动、帧结构、非帧结构等)CHAN_RX_DATA,
CHAN_TX_DATA,
CHAN_RX_CLK,
CHAN_TX_CLK,
CHAN_RX_STRB,
CHAN_TX_STRB串行信道接口引脚,分别为信道接收和发送数据、接收时钟和发送时钟、接收和发送帧同步脉冲CODEC_SEL[1~0]A/D接口方式选择(如16its线性量化、A率或μ率量化等)CODEC_RX_DATA,
CODEC_TX_DATA,
CODEC_RX_CLK,
CODEC_TX_CLK,
CODEC_RX_STRB,
CODEC_TX_STRB与A/D芯片的接口引脚,分别是数据接收和数据发送、接收时钟和发送时钟、接收和发送帧同步信号EPR在芯片复位后,该引脚有一个跳沿产生,表示第1个编码帧已准备好,一帧将在20ms后产生ECHOCAN_EN回波抵消使能,高电平有效VAD_ENVAD使能,高电平有效SLEEP_EN标准睡眠方式使能,高电平有效X2/CLKIN时钟输入(16.384MHz)RESETN复位,低电平有效
这两种方式都可以采用,主要看所用的晶体是有源还是无源。
2系统硬件设计与实现
2.1系统框图与原理
图3是基于AMBE-2000的语音通信终端模块的框图。该通信终端模块由微控制电路、AMBE-2000、Flash、时序产生电路、A/D、D/A电路等构成。控制电路采用TI公司的TMS320VC5402?眼2?演,用于控制和读写AMBE-2000,并与外部交换数据;Flash为一片Intel公司生产的TE28F008,构成1M×8bits的存储空间,用于存储程序及初始化数据;时序产生电路由可编程逻辑器件EPM3032S完成,用于产生系统所需的各种时序;A/D、D/A电路则由TLV320AIC10及其外围电路构成。全部器件均工作于3.3V电压。
A/D、D/A芯片与AMBE-2000的CODEC接口相连,进行PCM数据的交换。AMBE-2000的串口则与VC5402的多通道自动缓冲串行口McBSP(MultichannelBufferedSerialPort)相连,进行编码数据的交换;VC5402与外界通过HPI(HostPortInterface)口连接,作为可选方案也可以通过异步串口(XF,BIO)进行数据的交换;VC5402与Flash器件间采用外部并行8位BOOT方式进行程序的装载。
图3基于AMBE-2000的语音通信终端模块框图
2.2硬件设计
作为微控制器的TMS320VC5402是TI公司的低功耗、高性能定点DSP芯片,其主要特点包括:
(1)速度快,功能强。
(2)具有优化的CPU结构,内部有32K字节的片内RAM。VC5402既可用于实现复杂的DSP算法和运算,也可用作微控制器,进行智能化控制。
(3)工作电压低、功耗小。可以在3.3V或2.7V电压下工作,在低功耗方式(IDLE1、IDLE2和IDLE3)下可降低功耗,特别适于无线移动设备。
(4)智能外设。提供多通道自动缓冲串行口McBSP、与外部设备通信的HPI接口等智能外设。McBSP口提供2K字节数据缓冲的读写能力,可以降低处理器的额外开销。指令周期为20ns时,McBSP的最大数据吞吐量为50Mbps,即使在IDLE方式下,McBSP也可以全速工作。
VC5402除作为微控制器外,还可用于完成其他一些功能,例如信道编译码、加密和解密等,根据系统的具体要求可以灵活地添加。AMBE-2000可与多种A/D、D/A芯片接口,选用不同的A/D、D/A芯片,管脚CODEC_SEL需要进行不同的设置,具体如表2所示。
表2A/D、D/A类型设置
A/D、D/A类型CODEC_SEL[1~0]普通16位线性,8kHz00A/D芯片73311,32kHz01普通μ率,8kHz10普通A率,8kHz11
本系统中,A/D、D/A芯片采用TLV320AIC10。TLV320AIC10是TI公司的线性PCM编解码芯片,芯片内部具有ADC模拟抗混迭滤波器和数字FIR滤波器,有良好的抗混迭和抗噪声能力,具有可编程的输入输出增益控制、可编程的ADC和DAC转换速率控制,工作电压为3.3V~5V,还具有低功耗工作模式。
AMBE-2000与TLV320AIC10的连接如图4所示。CODEC_SEL?眼1~0?演在硬件上接地,设置A/D方式为16位线性PCM,其晶体频率采用16.384MHz,帧同步时钟和位同步时钟均由TLV320AIC10产生,并提供给AMBE-2000。
可编程逻辑器件EPM3032S用于产生系统所需的其他各种时序(如AMBE-2000的信道串口时序等)以及片选信号等,EPM3032S是基于E2PROM工艺的PLD器件,器件的规模为2000门左右,具有在系统可编程(ISP,In-SystemProgrammable)能力,使用方便。在设计时,应预留下载接口。
28F008是Intel公司的1M字节的Flash存储器,用于存储VC5402的程序及初始化数据。28F008与VC5402的连接?眼3?演如图5所示。图中,28F008作为VC5402的外部数据存储器,地址总线和数据总线接至VC5402的外部总线,CE接至VC5402的DS引脚,R/W引脚与MSTRB相或后接至WE,OE引脚接至一个跳线,跳线接低时,Flash处于读状态,跳线接高时,Flash可擦或可编程,此时可向Flash中写入程序。
3软件编程
整个系统的工作过程如下:系统加电、TMS320VC5402复位后,由其内部固化的自引导程序(BOOT)将存于Flash(28F008)中的程序和数据搬移至内部RAM;然后VC5402复位AMBE-2000芯片,开始进行语音编解码。AMBE-2000每20ms完成一帧语音数据的编解码运算,并与VC5402交换一次数据。VC5402将编码后的语音输出,同时将从信道或其他设备得到的数据送到AMBE-2000进行解码。
软件编程主要是对TMS320VC5402进行编程,程序分为主程序模块、与AMBE-2000间的通信和控制模块、与外界数据通信模块以及BOOT程序加载模块等。
主程序模块。该模块执行程序的初始化,包括对VC5402的接口和寄存器的初始化;对AMBE-2000的复位和速率设置,对话音激活检测、回波抵消功能的设置;对TLV320AIC10的初始化等,此外还提供对中断服务程序的调度控制。对TLV320AIC10的初始化主要是设置它的4个控制寄存器,其中控制寄存器1的作用是使能运算放大器,使能或旁路ADC模拟抗混迭滤波器,使能或旁路数字FIR滤波器,激活软件复位等;控制寄存器2的作用是低功耗模式控制,分频寄存器控制(决定滤波器的时钟频率和取样周期);控制寄存器3的作用是选择模拟信号自环和数字信号自环,控制连续数据传输模式等;控制寄存器4的作用是控制输入和输出增益(通过控制输入和输出可编程增益放大器来实现)。
VC5402与AMBE-2000间交换数据以标准串行方式进行。VC5402的McBSP接口在结构上可分为一个数据通道和一个控制通道。数据通道完成数据的发送和接收;控制通道完成通道的选择与控制等功能。在编写串行通信子程序时,采用中断方式。每来一次中断,执行一次数据发送和接收。
VC5402与外界通过HPI口连接。HPI为8位并行口,通过它可完成VC5402与外部设备的数据交换,可以采用8位并行方式,也可以采用16位并行方式。HPI接口主要通过三个寄存器,包括控制寄存器、数据寄存器和地址寄存器实现数据的搬移,程序编写比较方便。另外作为一种备选方案,也可以通过异步串口,只通过XF和BIO两根线实现与外部设备的数据交换。
VC5402与Flash器件采用外部并行8位BOOT方式进行程序的装载。VC5402提供了多种BOOT方法,包括:并行I/O口BOOT、串行口BOOT、HPI口BOOT、外部并行BOOT等。这些不同的BOOT方式可以满足用户不同的应用场合。在编写BOOT程序时,需要将VC5402设置为微计算机工作方式(MP/MC\引脚置低)。这样DSP复位后,程序就从内部ROM开始运行BOOT程序,将存储于Flash器件中的程序搬移至内部RAM中执行。
4系统实现
AMBE-2000的速率设置采用软件方式,由VC5402通过串行接口发送命令字设置。按本设计方案实现了系统在将语音速率设置为2.4kbps、FEC设置为1.2kbps时,系统能稳定地工作于信道误码率为4%的环境中,而且系统能根据需要很方便地对语音速率和FEC速率进行改变,实现变速率语音通信。
【基于AMBE-的多速率语音通信终端模块】相关文章:
基于激光天线语音通信系统的研制08-06
基于CAN总线的多ECU通信平台设计08-06
基于OMAPl510双核架构的移动多媒体通信终端的设计与实现08-06
P80C592芯片在基于CAN总线显示通信模块中应用08-06
基于Z85C30的多协议串行通信设计08-06
基于TM1300的可视电话终端研究08-06
基于8051嵌入式系统的GPRS终端实现08-06
基于DSP的扩频电台基带模块的设计与实现08-06