1. 首先要注意启动时,先复位一下,通过拉低复位引脚再拉高。

2. 先选择寄存器页面0,写R0,数据0x00。

3. 设置软件复位,写R1,数据0x80。

4. 设置编解码器时钟,这里外接了一个24.576MHz晶振,输出给MCLK。设置参考时钟为48000,通过计算,pll_q为4,设置采样率为8000。寄存器配置如下:

        a. R3,数据为(0x04<<3)

        b. R101,数据为1

        c. R7,数据为0x0a

        d. R2, 数据为0xaa

5. 设置各种路径:

        a. 设置MIC3R到LEFT_LOPM及RIGHT_LOPM

              R25,0xC0

              R13,   0x80

              R14,   0x80

              R86,  0x99

              R93,  0x99

              R81,  0x80

              R91,  0x80

              R19,  0x7c

              R15,  0x7f

              R22,  0x7c

              R16,  0x7f

              R17,  0xf0

              R18,  0xf0

      b. 设置LINE1到LEFT_LOPM及RIGHT_LOPM

              R86,  0x99

              R93,  0x99

              R81,  0x80

              R91,  0x80

              R19,  0x04

              R15,  0x7f

              R22,  0x04

              R16,  0x7f

        c. 设置LINE1无源旁路到LEFT_LOPM及RIGHT_LOPM

              R108  0x11 

        d. 设置MIC3录入音频通过I2S输出到主控然后再通过I2S输入到LEFT_LOPM及RIGHT_LOPM播放,即实现边录边播放

              R25,0xC0

              R13,   0x80

              R14,   0x80

              R8,  0x20

              R19,  0x7c

              R15,  0x7f

              R22,  0x7c

              R16,  0x7f

              R17,  0xf0

              R18,  0xf0

              R86,  0x99

              R93,  0x99

              R82,  0x80

              R92,  0x80 

              R41,  0x00

              R37,  0xc0

              R43,  0x00

              R44,  0x00

注意事项:有时候R19上电,但是R15不能设置为非静默,注意排除电路问题,可能是静电导致所有寄存器复位了,遇到过aic3106的i2s输出引脚接上主控板的i2s输入引脚就导致寄存器复位了。

另外麦克风附近的电容太小,也可能导致收集不到人的声音。

             

      

                

        

Logo

魔乐社区(Modelers.cn) 是一个中立、公益的人工智能社区,提供人工智能工具、模型、数据的托管、展示与应用协同服务,为人工智能开发及爱好者搭建开放的学习交流平台。社区通过理事会方式运作,由全产业链共同建设、共同运营、共同享有,推动国产AI生态繁荣发展。

更多推荐