现在的pinmux配置如下,计划是想am3352 做master,wm8974 slave,3352的晶振是25MHZ。 这样的配置如果i2s采样位深为16bit,采样率要在(8, 11.025, 16, 22.05, 24, 32, 44.1, 48kHz,wm8974只支持这些 )范围内。感觉怎么分频都不行啊,是不是硬件设计有问题啊。。。
能否在不更改现有硬件基础上,更改采样位深啥的满足声音播放需求吗?
XuQing:
我好像懂了,貌似ahclkx可以输出mclk, aclkx 和 fsx 可以配置成输入,这样让wm8974来输出sclk和 ws 就行了。
Shine:
回复 XuQing:
如果ACLKX的时钟不能满足要求的话,可以用ahclkx分频来产生发送时钟。
XuQing:
回复 Shine:
ahclkx的来源只能是主晶振吧,我这里是25M,这样分频来获取aclkx的不一定满足要求啊。i2s对时钟的要求应该很精确吧
Tony Tang:
回复 XuQing:
AHCLKR/X可以来自内部,也可以从外部给。当内部时钟分频得不到需要的频率时(尤其是在音频应用场景,需要根据音频源来动态配置调整帧频与位时钟频率)则采用外部时钟源。
上面图中时钟源框图是从别的手册拷过来的,红框部分在AM335x的TRM里没有放进来。为了帮助理解,所以借了别的手册的图。