This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

AM3352+wm8974 mcasp配置问题

Other Parts Discussed in Thread: AM3352

现在的pinmux配置如下,计划是想am3352 做master,wm8974 slave,3352的晶振是25MHZ。  这样的配置如果i2s采样位深为16bit,采样率要在(8, 11.025, 16, 22.05, 24, 32, 44.1, 48kHz,wm8974只支持这些 )范围内。感觉怎么分频都不行啊,是不是硬件设计有问题啊。。。

能否在不更改现有硬件基础上,更改采样位深啥的满足声音播放需求吗?

  • 我好像懂了,貌似ahclkx可以输出mclk, aclkx 和 fsx 可以配置成输入,这样让wm8974来输出sclk和 ws 就行了。
  • 如果ACLKX的时钟不能满足要求的话,可以用ahclkx分频来产生发送时钟。
  • ahclkx的来源只能是主晶振吧,我这里是25M,这样分频来获取aclkx的不一定满足要求啊。i2s对时钟的要求应该很精确吧

  • AHCLKR/X可以来自内部,也可以从外部给。当内部时钟分频得不到需要的频率时(尤其是在音频应用场景,需要根据音频源来动态配置调整帧频与位时钟频率)则采用外部时钟源。

    上面图中时钟源框图是从别的手册拷过来的,红框部分在AM335x的TRM里没有放进来。为了帮助理解,所以借了别的手册的图。

  • 谢谢,现在已经ok了。  用逻辑分析仪看了几个时钟信号,调了下帧频约为44.1khz。其实主要是解码芯片设置成了静音。。。

    备注:我现在ahclk是内部输出25Mhz给解码芯片,为其PLL提供时钟。aclkx和fsx由解码芯片经过一些列倍频分频后输入给am3352(解码芯片是master模式)。