3G Module Audio Debug
Audio:Max 98090
Connect:
三者的关系:
- 3G通过Uart与CPU连接,应用一般通过Uart将AT Command输送给3G,从而实现驱动
- 3G通过PCM与98090连接,传输音频数据
- CPU通过I2C和98090连接,将配置参数设置进去
这里主要记录PCM,I2C。 - PCM:
https://zh.wikipedia.org/wiki/%E8%84%88%E8%A1%9D%E7%B7%A8%E7%A2%BC%E8%AA%BF%E8%AE%8A
(可能是我个人比较懒吧,也可能是时间比较赶。所以只是粗劣地了解一下PCM大概是什么东西。对于PCM并没有深入地了解,只要能用就OK了。)
保证PCM正常通信的条件就是保证时钟一致。
一般而言,PCM数据有几种不同的传输方式,具体要看3G module和audio编解码芯片支持哪种(其实在Debug的时候就是因为没有仔细阅读规格书才导致白做了几天工,兄弟们不要像我一样。)。
保证PCM_CLK的一致性。PCM_CLK是PCM主机输送出来的时钟脉搏,这里最好就是先确保主机能输送出正确的时钟,比如3G模组做主机,最好是先断开Audio芯片,验证3G出来的是时钟是不是正确的(因为有时候硬件平台原因可能会导致出来的时钟是有偏差的,比如噪音和上下拉)。在确认主机出来的时钟是正确的,从机只要配置好相同的频率就大概OK了)
保证PCM_SYNC的模式正确。不同的工作模式适用于不同的场合,需要根据产品的性质选用,或者因为一些特定的模式下,支持的时钟频率是有限,反正能匹配起来就OK了。 - I2C
https://zh.wikipedia.org/wiki/I%C2%B2C
(I2C的通信方式和原理就不多说了,这个随便都能找出一大堆,呵呵。好吧,我就是懒!=,=)
这里的I2C主要是配置Audio芯片的工作参数。工作参数怎么配置呢?这是一个很讲究的问题。其实非常具体的我也实在是写不全了。就挑一些特别需要注意的记录一下。
噪音控制:几乎所有发声的器件基本都要注意的,光靠配置增益系数和改动BOM是无法解决问题的,结构的音腔设计也非常关键,我当时debug所做的几乎都是也大家一起连调的,一点增加系数然后一点点试。
回音控制:增益系数,麦克风的安放位置。
因为每个产品用的Audio芯片可能都不一样的,使用的场景也可能不一样。所以这里能解释就这些了。讲实在的,我也是半桶水,真心希望起到抛砖引玉的效果。请大家多多指教~
- 友情提示
调试的时候最好给两个号码开通组网,一般通话都是很久的。很费钱。哈哈哈~
- 基本上是这些了。其他的就好好琢磨了,说到底还是要好好规格书,然后慢慢联调。