>
首页 » 业界动态 » 基于FM2010和WinCE平台的回音消除驱动设计

基于FM2010和WinCE平台的回音消除驱动设计

作者:上海理工大学 郑宇 王波  时间:2008-10-20 20:49  来源:21IC中国电子网
3.2 音频设备机构设计

 

  音频设备是否产生回声,很大程度上取决于机构的设计是否合理。不合理的机构设计会大大增加出现回声的概率,而且出现的回声会比较严重,难于消除。我们改进了音频设备机构上的设计,在设计之初就尽可能避免回音的产生,而且扬声器和麦克风的距离尽可能保持一定远的距离,如图5所示。实践中发现,扬声器和麦克风之间的距离保持在10 cm以上,效果会比较好。

改进的结构设计示意图

点击看原图

 

 

  为了尽可能减少扬声器和麦克风之间的声音传播,可以采用以下2种设计方案:方案一是把麦克风隔离开来,如图5(a)所示;方案二是把扬声器隔离开来,如图5(b)所示。当然,为了达到更好的效果,可以把扬声器和麦克风分别隔离开;但是鉴于成本的考虑,使用其中的一种即可达到比较好的效果。具体的实现方法分别是:

  ①用橡胶套密封扬声器的边缘,尽可能避免声音从机构内部回流到麦克风;同时把麦克风密封在一个腔体之内,以隔离外部噪声的进入。

  ②把扬声器密封在一个腔体之内,以尽可能隔离扬声器的声音向外部传播;同时使用橡胶套密封麦克风的边缘,以避免扬声器发出的声音进入。

  另外,扬声器和麦克风在设置的方向上也有讲究,如图6所示。两者最好是相差180°,90°也可以接受;但是如果两者的方向相同,如图6(c)所示,则出现回声的概率和程度都很大。

扬声器和麦克风配置示意图

点击看原图

 

 

  3.3 软件架构设计与实现

  软件架构示意图如图7所示。

软件架构示意图

  回音消除驱动的开发需要完成以下几步:

  ①给回音消除芯片上电,并初始化其相关的寄存器和GPIO;
 
②初始化I2C总线,并配置I2C速率等的寄存器,使其处于正常运行状态;

  ③检查I2C总线是否已准备好;

  ④通过I2C总线读取回音消除参数;

  ⑤等待回音消除芯片处于可读/写状态,然后把参数写入到芯片里,使配置的参数生效。

  3.3.1 FM2010上电时序

  当对FM2010初始化时,比较重要的一点是要按照其规格说明书定义的上电时序进行,否则可能会导致录音声音时有时无的情况发生。具体的要求如图8所示。在初始化FM2010时,PWD high的状态必须要在RESET high状态之前设定,两者之间相差5 ms。

FM2010上电时序图

点击看原图

 

 

  3.3.2 读/写Echo parameter

  FM2010芯片的初始化比较简单,只要按照上述的时序进行初始化即可。下面重点剖析回音消除驱动的开发要点,即如何读/写回音消除参数(详见代码中的①和④)、设置回音消除芯片的工作模式(详见②处),以及配置I2C总线(详见③处)。

源代码

点击看原图

 

 

源代码

点击看原图

 

 

源代码

点击看原图

 

 

  结 语

  本文在分析语音通话中回声产生的机理的基础上,详细研究了回声消除的原理、基本声学回声产生根源,提出了改进的PDA或者手机等音频设备的机构设计方案;针对FM2010芯片的特点,给出了回声消除驱动开发的软硬件设计方案,并且给出了回音消除驱动程序关键代码的实现。本文设计的软硬件解决方案已经在基于WinCE操作系统平台和FM2010硬件平台上得以实现,在实际项目开发中得到采用,并且获得了良好的应用效果。

相关推荐

全新ZVS 升降压稳压器的工作温度可低至-55°C,适用于恶劣环境的应用

产品与技术 2020-03-13

提高 48V 配电性能

产品与技术 2020-02-27

使用48V分布式电源架构解决汽车电气化难题

产品与技术 2020-02-17

分比式电源架构助力 Phasor 实现卫星宽带信号稳定性的变革

产品与技术 2020-01-09

Phasor 使用分比式电源架构增强移动卫星的连通性

产品与技术 2019-12-19

u-blox最新的公尺级定位技术提供增强的GNSS效能

行业应用 2019-10-18
在线研讨会
焦点