这些小活动你都参加了吗?快来围观一下吧!>>
电子产品世界 » 论坛首页 » 综合技术 » 电源与模拟 » 回声调试

共1条 1/1 1 跳转至

回声调试

工程师
2014-08-25 20:54:29     打赏

回声消除芯片FM1182调试


FM1182是被大量应用的回声消除芯片,效果明显,不过内部参数众多,想调试好不容易.


内部框图:




FM1182有两个通话信道,从而实现双工通信


MIC0/MIC1->LINE_OUT


LINE_IN->SPK_OUT




推荐工作参数:




十大注意点:


1.FM1182的回声消除模块是通过AGC起作用的,回声消除和AGC一起控制软件放大


2.FM1182两个通路分别有AGC:MIC_AGC,LINE_IN_AGC


3.这两个AGC是处于音量放大之前,分别为:MIC_VOLUME,SPK_VOLUME


4.AGC模块处于DSP内核中,是软件式而不是硬件式的.所以要起作用的反应时间并不是很快.


5.调节MIC_AGC的寄存器:Micagc_ref_low(1EA3),读取MIC_AGC的增益寄存器:mic-in_AGC_gain(1BC3)


6.调节LINE_IN_AGC的寄存器:lineinagc_ref(1EA8),读取LINE_IN_AGC的增益寄存器:line-in_AGC_gain(B41)


7.MIC_AGC为默认参数的阈值为150mV,LINE_IN_AGC为默认参数的阈值为100mV


8.回声消除优先控制AGC增益,回声消除不起作用AGC才真正起作用.AGC会从MIC输入检测声音输入,如果检测到声音输入,则AGC的增益保持在当前值,直到再度检测到MIC输入声音信号.LINE_IN通路同样如此,如果检测不到MIC的声音输入,LINE_IN通路的AGC保持当前增益.


9.测量AGC阈值的时候,注意不能用函数波发生器,它输出的正弦波会被认为是回音.测试方法是PC编辑一段固定幅值的语音(比如铃声),重复播放.


10.测量MIC输入的AGC阈值,可以不用管LINE_IN输入,但测LINE_IN通路的AGC阈值时,要注意此路的AGC需要收到MIC的通路中的回声消除模块的控制,所以必须要给MIC信号.最好是给满足MIC通路AGC阈值的信号,然后再测量阈值.




两个通话信道


1.MIC0/MIC1->LINE_OUT


在此采用MIC0作为音源.


据测试,AGC是在DSP核中工作,与软件放大的顺序是SW_GAIN->AGC.


所以这个信道的各个工作模块顺序如下:


MIC0P和MIC0N分别输入->MIC_PGAGAIN(0X1E34)->MIC0P + MIC0N ->ADC->|||||AGC->MIC_VOLUME(0X1E3D)|||||->DAC->LINEOUT_PGAGAIN(0X1E35)->LINE_OUT


竖线|||||里面的部分就是DSP核,这个里面还有一个回声消除模块.


注意:


1.差分信号叠加位置如图所示在ADC前.


2.MIC0支持差分输入,实际使用中我是采用单端输入,所以进入的信号赋值给MIC_PGA放大时得除以2.




2.LINE_IN->SPK_OUT


信道各个工作模块顺序如下:


LINE_INP和LINE_INN分别输入->LINEIN_PGAGAIN(0X1E35)->LINE_INP + LINE_INN->ADC->|||||AGC->SPK_VOLUME(0X1E3E)|||||->DAC->SPKEAR_PGAGAIN(0X1E37)->SPK_OUTP和SPK_OUTN分别输出



竖线|||||里面的部分就是DSP核,这个里面还有一个回声消除模块.


注意:


1.差分信号叠加位置如图所示在ADC前,差分输出在DAC后.


2.MIC0支持差分输入,实际使用中我是采用单端输入,所以进入的信号赋值给LINE_IN_PGA放大时得除以2.


3.SPK_OUT虽是差分输出,实际上采用的是单端输出,但输出信号不必除以2输出,正常输出.


4.实际测这个通路时,发现最后输出得乘以一个系数才与预想值想符合.



总结:调试FM1182最重要的是找到AGC的阈值即最佳工作点,然后以此为基础,输入最佳工作参数,就能获得很好的回声消除效果.参数不对,则会遇到声音卡,顿,忽大忽小,听不到等诸多问题.最后祝愿看此文的工程师调试顺利.



共1条 1/1 1 跳转至

回复

匿名不能发帖!请先 [ 登陆 注册 ]