您好!
我在使用 arecord 命令运行不同采样率时遇到困难。
我们使用 连接到 SoM-imx8mm (SAI2)的 TLV320ADC6140音频 ADC (EVB)。
运行 Debian (Linux 5.4.85)的硬件。
CPU 是主器件-->所以只使用 BCLK/FSYNC/RXD0。
我们的计划是级联2个 ADC 以捕获8个 MIC。
经过长时间的调查、我注意到只有在 DTS 中将父级 CLK (PLL)设置为24576000Hz 时、48000Hz 的捕获才起作用
只有在 DTS 中将父 CLK( PLL )设置为22579200Hz 时,44100Hz 才起作用。
我运行的命令: arecord -c 8 -f S32_LE -D HW:0、0 -d 5 -r 48000 test.wav
(我可以更改频道和格式)
我不需要44100和48000的子倍乘...但其中一个的所有速率都可以实现。
运行不同的速率:8000、96000、192000会导致错误:
例如:
3002000.SAI:无法导出所需的 Rx 速率:12288000
[1646.422997] FSL-SAI 3002000.SAI:ASOC:无法设置3002000.SAI 硬件参数:-2
如果需要更多信息,请告诉我(DTS/HW 参数/ dmesg / etc'...)
请提供建议。
BR、
莫兰。