引言
---随着通信产品的不断小型化,对系统的成本和空间限制也越来越多。扬声器的体积变得越来越小,麦克风与扬声器之间的距离不断缩短,使得回声愈发难以消除。在商业区、汽车内、地铁等复杂的使用环境中,环境噪声严重影响了通话质量。如何在PDA、笔记本电脑、免提手机等小型系统中实现全双工免提功能,并保证足够大的音量,已经成为难题。
---FM1083是美国富迪科技(Fortemedia)公司推出的用于回声消除、噪声抑制、远端拾取声音信号的低功率芯片,本文将介绍小型免提通信产品的设计要点、FM1083主要功能和典型应用。
设计要点
---模具外壳、麦克风和扬声器关系到整个系统的免提性能。回声的产生有声学传播和机械振动两种方式,从频谱的连续性来看,回声又分线性和非线性两种。在模具设计阶段,应考虑要尽量减小麦克风拾取的线性回声,减小扬声器和外壳的非线性振动。麦克风应该设计独立的腔体,注意外壳的前后盖的配合,否则回声会增大。扬声器应充分固定,在扬声器与外壳之间加减振垫圈。
---FM1083支持一个单指向或全指向麦克风和两个阵列麦克风,阵列麦克风由全指向和单指向麦克风组合而成。在使用一个麦克风的应用中,应该使麦克风拾取远端(FE)的声音即回声与近端(NE)讲话的信号差值尽量小。设定麦克风拾取的近端讲话信号(signal of near end)SN为10mVpp时,麦克风拾取的回声信号(signal of echo)SE为40mVpp,回路增益为20dB,线路输出的幅度为100mVpp,在没有回声消除的情况下回声将达400mVpp,根本无法通信。为了消除回声,至少要使回声比有用信号小两个数量级,即要将回声减小40dB以上(回声将小于4mVpp),才能不影响有用信号。采用FM1083和两个阵列麦克风的系统最大可以消除65dB的回声,使通信清晰流畅。对于两个麦克风的应用,应该使主麦克风M1、参考麦克风M2所拾取远端(FE)的声音即回声保持一定差值,M1、M2拾取回声与近端(NE)讲话的信号有一定的差值,M1、M2所拾取的近端(NE)讲话的信号差值应尽量小。M1和M2拾取的回声的频谱在带内不能重合。
FM1083的主要功能及特点
---FM1083专为移动手持设备设计,内置的两个DC/DC转换器分别为CODEC和DSP提供电源,1.8V工作时的功耗小于30mW,数字电路部分支持1.8~3.6V的宽电压,内置D类功放,差分输出可直接驱动扬声器。多媒体编解码接口(CODEC Host Interface)直接与蓝牙1.1和1.2接口连接。具有两个麦克风输入,内置可编程增益输入输出放大器(-6dB~+26dB),适应不同灵敏度的麦克风。远端拾取时,麦克风与使用者的距离是0.6m,最大可以达到5m。模拟信号支持直通模式,以提高保真度。回声消除范围为45~60dB,支持动态范围压缩和非线性回声消除,适合于小型喇叭在大功率输出时的过载。麦克风和扬声器之间最小距离可以达到40mm,噪声抑制为13~18dB,可适用于嘈杂的环境。采样速率为8kHz,支持4.096MHz和13MHz时钟,具有缺省/EEPROM/UART微处理器控制三种工作方式。
FM1083接口
---FM1083支持USB1.1从模式,可通过USB接口与计算机传送音频数据,做为语音通信的USB免提器件。
---EEPROM接口支持256B~1KB的低电压EEPROM,在没有微控制器的情况下,可以存放FM1083的大部分可变参数。
---音频数据编解码接口支持主模式和从模式,可以选择内部和外部时钟源,当选择内部时钟时,帧频为8kHz,数据编码格式为16位线性PCM(Pulse Code Modulation,脉冲编码调制)或13位零位填充PCM,或8位μ律或A律编码。
---URAT接口用于对EEPROM编程或微控制器直接控制FM1083,在4.096MHz时的接口波特率为300~230400b/s,13MHz时为9600~38400b/s。FM1083的系统结构如图1所示。
信号流程
---
主麦克风1和参考麦克风2拾取的信号经可编程增益放大器放大、模数转换和高通滤波后,送语音处理器处理(线性回声消除,非线性回声消除,VAD检测,噪声抑制处理,然后进行麦克风自动增益控制,消侧音和麦克风音量设定),输出的16位语音数据经数模转换后将麦克风信号从线路输出端进行单端输出。
---远端话音信号从线路输入端单端输入,经模数转换和高通滤波后转换成16位语音数据,送语音处理器处理(消侧音,自动增益控制,回声参考信号提取,动态范围控制),输出信号经数模转换后推动内置的D类功放,用差分方式直接驱动扬声器。
---在USB应用时,USB的输入信号作为线路输入的信号,经语音处理器处理后直接驱动扬声器。麦克风输入信号经语音处理器处理后,通过USB送计算机,过程与模拟信号输入/输出相同。
---蓝牙应用时,麦克风的信号经处理后通过音频数据接口以13位或16位线性PCM的格式送给蓝牙芯片,蓝牙芯片将接受到的声音数据以同样的格式送给FM1083,最后经过功放后输出。
小型免提系统
---做为小型一体化免提系统,其特点是线路简单、功能通用、携带方便,整个系统只占80mm×55mm的空间。系统以FM1083和CSR MBT-4107蓝牙模块为核心,内置600mA锂电池和USB 200mA充电电路,典型应用如图2所示。
---整个系统有5种工作模式:关机、省电、模拟免提、USB免提和蓝牙免提。对于不同的语音信号接口,需要三组参数去控制FM1083,使其工作在最佳状态。蓝牙模块通过UART口与FM1083通信,对系统工作模式进行检测和参数控制。系统的缺省工作方式是省电模式,当USB电缆插入时,蓝牙模块检测到USB_IN信号,唤醒并送USB参数给FM1083,FM1083在USB配置完成后输出控制信号,使电池充电电路工作,并且切断电池供电,系统使用USB电源,进入USB免提工作模式。模拟信号插头插入J1,蓝牙模块检测到ANA_IN信号,唤醒并送模拟工作参数给FM1083,系统进入模拟免提工作模式。蓝牙模块工作时,首先要和其他蓝牙设备配对,当蓝牙手机来电或打电话时自动与免提系统连接。
---系统采用内置电池或USB供电,充电电流为200mA,具有充电指示、充满指示、蓝牙低压检测,在电池电压过低时(小于3.3V),系统告警并自动进入省电模式。在蓝牙模式工作时,总电流小于100mA,1个600mAH的锂电池可以通话6小时,省电模式的电流为3~5mA,可以待机120小时。
---参数ft_flag(地址是0x1E46)可以设定FM1083与MBT-4107的音频数据接口的数据编解码格式。例如设定ft_flag为0135时是13位零位填充PCM,ft_flag为0075时是16位线性PCM。其中16位线性PCM或13位零位填充PCM适用于蓝牙接口,13位零位填充PCM是惟一能通过蓝牙免提模式控制音量的格式,低3位用于控制音量。在从模式下,FM1083支持短帧和长帧,在主模式下支持短帧。根据帧信号和数据的时序,可设定零时钟延迟和1个时钟延迟,如图3所示。
---
FM1083通过UART接口与MBT-4107蓝牙模块交换控制命令,通过UART接口,蓝牙模块可以读FM1083寄存器的值,也可以在不同的工作模式时送相应参数给FM1083。其接口协议框图如图4所示,数据包由一个开始状态、8位数据和一个停止状态组成。由于需要USB应用,所以采用13MHz的晶振,支持9600bps、19200bps和38400bps的波特率。其读写命令有5种类型:存储器写、存储器读、短寄存器写、长寄存器写和寄存器读,如表1所示。
---在每个UART接口命令前必须加同步字FCF3,并且注意区分存储器读和寄存器读,存储器读仅是将存储器的内容读到寄存器0X25和0X26,还需要读寄存器,然后才将数据送到UART接口。下面举例说明具体的读写操作。
---(1)存储器读
---FC F3 37 1E 34;37是存储器命令字,1E 34是存储器地址,尽管发出一个读命令给FM1083,但是UART口并没有输出。
---(2) 存储器写传输
---FC F3 3B 1E 34 32 23:FCF3是同步字,3B是存储器写命令字,1E 34是存储器地址,这条指令把值32 23送到地址1E 34
---(3)短寄存器写
---FC F3 68 2C 00:FCF3是同步字,68是短寄存器写命令字,2C是寄存器地址,这条指令把值00送到寄存器2C。
---(4)长寄存器写
---FC F3 6A 2A 00 00:6A是长寄存器写命令字,2A是寄存器地址,这条指令把值0000送到寄存器2A。
---(5)寄存器读
---FC F3 60 25:FCF3是同步字,60是寄存器读命令字,这条指令把寄存器25内的8位数据从UART口输出。
---(6)读出存储器1E34的内容
---FC F3 37 1E 34:此时1E 34内的值被传输到IDMA数据寄存器。
---FC F3 60 26:存储器1E 34内容的高有效位字节从UART口输出。
---FC F3 60 25:存储器1E 34内容的低有效位字节从UART口输出。
---由于采用两个麦克风,而且比较理想的情况下参考麦克风拾取的回声将比信号大20~30dB,而且如果模壳设计不好,回声可能会更大,FM1083麦克风输入信号的最大峰峰值是0.7Vp-p(单端输入)和1.4Vp-p(差分输入),所以麦克风的选择很重要,灵敏度不可以太高或太低。灵敏度太高的话,在大回声时麦克风可能已经饱和,灵敏度太低则信噪比会下降,建议采用灵敏度为-44~47dB的麦克风。而且,整个处理通路不能有饱和现象,必须根据麦克风的信号幅度设置麦克风可编程增益放大器的增益和麦克风的音量等参数,否则回声将很难消除干净。FM1083线路输入的动态范围是0.7Vp-p,所以输入信号太大应该衰减,并且根据输入信号设置线路输入可编程增益放大器的增益,回声消除参考增益,使信号不饱和。线路输出的最大幅度为1.4Vp-p,如果不能满足幅度要求,就要增加放大器。FM1083可以输出300mW的功率,驱动4Ω的扬声器负载,也可以不用内置D类功放,通过外加功放来满足相应的输出功率要求,此时,可以设置参数关掉内置功放,输出阻抗大于600Ω,最大差分输出为2.8Vp-p。
---针对基于FM1083的免提系统,FMTuner1083参数调整软件可以很方便地调整各个参数,并且计算系统各部分的信号大小,提供参数模板和EEPROM编程,系统测试时可以采用富迪科技AMBIN录音分析系统。
结束语
---FM1083可以单独设计特定应用的免提系统,例如电话免提、手机免提、蓝牙手机免提和USB免提(VoIP免提)系统,USB免提系统可以与Skype、MSN等语音聊天和网络电话软件配合使用,也可以将各种免提系统组合成新的应用。