2406887_zh-CN

キャンセル
次の結果を表示 
表示  限定  | 次の代わりに検索 
もしかして: 

2406887_zh-CN

2406887_zh-CN

imx8mp-evk SAI5 外置 I2S 麦克风 (SPH0645) - 时钟推导失败,需要正确的时钟帮助

你好,

主板:i.MX8MPLUSLPD4-EVK(8MPLUS-BB底板)
 
将外部 I2S MEMS 麦克风(Knowles SPH0645LM4H)连接到 SAI5,
使用物理连接到 J21 (EXP_CN) 的 SoC 端引脚
根据底板原理图,通过电平转换器 U57/U58 连接扩展接口。
(SPF-46370)
 
1. 硬件接线(已对照原理图确认,并用示波器验证)
 
SPH0645 BCLK -> J21 引脚 40 ("PDM_CLK", SoC 焊盘 SAI5_RXC)
SPH0645 LRCL -> J21 引脚 32 ("PWM4_3V3",     SoC 焊盘 SAI5_RXFS)
SPH0645 DOUT -> J21 引脚 38 ("PDM_STREAM_0", SoC 焊盘 SAI5_RXD0)
SPH0645 SEL -> GND(左声道)
SPH0645 3V -> J21 引脚 1
SPH0645 GND -> J21 引脚 6
 
我们正在尝试将外部 I2S MEMS 麦克风 (SPH0645) 连接到
SAI5,连接到 J21 扩展接头(BCLK -> SAI5_RXC,LRCL ->
SAI5_RXFS,DOUT > SAI5_RXD0,已根据 8MPLUS-BB 原理图确认
并在示波器上进行了验证)。
 
我们遇到了这个问题,需要帮助解决:
 
声卡识别正常:
 
root@imx8mp-lpddr4-evk:~# arecord -l
卡 2:sph0645audio [sph0645-audio],设备 0:...
 
但录制失败,出现时钟错误:
 
root@imx8mp-lpddr4-evk:~# arecord -D hw:CARD=sph0645audio,DEV=0 \
-f S16_LE -r 48000 -c 1 mic.wav
[ 140.950940]fsl-sai 30c50000.sai:未能得出所需的处方费率:3072000
[ 140.958042]fsl-sai 30c50000.sai:ASoC:30c50000.sai 上的 snd_soc_dai_hw_params 出错:-22
arecord: set_params:1435: 无法安装硬件参数
 
检查 clk_summary 显示 sai5 仍然使用 24MHz 的频率。
振荡器而不是音频锁相环:
 
sai_pll_out_div2      0  0  50000  Y   0  0  0  24576000
sai5 0 0 50000 N 0 0 0 24000000
sai5_root 0 0 50000 N 0 0 0 24000000
 
我们当前的 &sai5 节点:
 
&sai5 {
#sound-dai-cells = <0>
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai5>;
已分配时钟 = <&clk IMX8MP_CLK_SAI5>;
assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>
分配的时钟速率 = <12288000>;
fsl,sai-mclk-direction-output;
fsl,sai-异步;
fsl,dataline = <0 0x1 0x0>;
状态 = "好的"
};
 
pinctrl_sai5:sai5grp {
fsl,pins = <
MX8MP_IOMUXC_SAI5_RXFS__AUDIOMIX_SAI5_RX_SYNC 0xd6
MX8MP_IOMUXC_SAI5_RXC__AUDIOMIX_SAI5_RX_BCLK 0xd6
MX8MP_IOMUXC_SAI5_RXD0__AUDIOMIX_SAI5_RX_DATA00 0xd6
>
};
 
我们还禁用了 &micfil 和 &pwm4,因为它们的 pinctrl 组共享
本主板上与 SAI5_RXC/RXD0/RXFS 具有相同的物理焊盘。
 
我们如何正确地将SAI5的时钟信号通过音频PLL进行路由,使其能够……
导出 3072000 Hz (48kHz) 的频率,而不是使用 24MHz 的振荡器。
小路?
 
另附几张图片供您参考。
 
谢谢。


IMG_8200.jpegIMG_8200.jpegIMG_8200.jpeg IMG_8205.jpegIMG_8205.jpegIMG_8205.jpeg

  

preview.jpgpreview.jpg预览.jpg preview (1).jpgpreview (1).jpg预览 (1).jpg

  

Re: imx8mp-evk SAI5 external I2S mic (SPH0645) - clock derivation fails, need help with correct cloc

你好,

我建议您尝试以下配置:

&sai5 {
#sound-dai-cells = <0>;
pinctrl-names = "default";
pinctrl-0 = <&pinctrl_sai5>;
assigned-clocks = <&clk IMX8MP_CLK_SAI5>;
assigned-clock-parents = <&clk IMX8MP_AUDIO_PLL1_OUT>;
assigned-clock-rates = <12288000>;


clocks = <&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI5_IPG>, <&clk IMX8MP_CLK_DUMMY>,
<&audio_blk_ctrl IMX8MP_CLK_AUDIOMIX_SAI5_MCLK1>, <&clk IMX8MP_CLK_DUMMY>,
<&clk IMX8MP_CLK_DUMMY>, <&clk IMX8MP_AUDIO_PLL1_OUT>,
<&clk IMX8MP_AUDIO_PLL2_OUT>;

clock-names = "bus", "mclk0", "mclk1", "mclk2", "mclk3", "pll8k", "pll11k";

fsl,sai-asynchronous;
fsl,dataline = <0 0x1 0x0>;
status = "okay";
};

如果没有时钟/时钟名称绑定,驱动程序将回退到 24 MHz 振荡器。另外,如果您没有将麦克风连接到它,则不需要fsl,sai-mclk-direction-output属性。

顺祝商祺!

タグ(1)
評価なし
バージョン履歴
最終更新日:
昨日
更新者: