NXP MCU 技术论坛
直播中

王越建

7年用户 1454经验值
私信 关注
[问答]

IMX8MM如何用SAI播放24bit I2S?

请帮助我,我被阻止使用 SAI 进行 I2S 24 位播放。
我可以说 16 位和 32 位没问题,我尝试通过 32 位格式移位 8 位来播放 24 位,然后我有问题。我认为配置应该基于那里。

寄存器可以是“SAI 发送配置 5 寄存器 (TCR5)”
然后我尝试更改 fsl_sai.c,不幸的是不起作用,如果我将插槽宽度更改为 32 并将 word_width 更改为 7 或 31,LRCLK 和数据就会消失 。
    val_cr5 |= FSL_SAI_CR5_WNW (slot_width);
    val_cr5 |= FSL_SAI_CR5_W0W (slot_width);

    如果( sai -> is_lsb_first || sai -> is_dsd )
        val_cr5 |= FSL_SAI_CR5_FBT ( 0 );
    别的
        val_cr5 |= FSL_SAI_CR5_FBT (word_width - 1 );


请帮助我了解如何配置 8 位移位以支持 24 位。

更多回帖

发帖
×
20
完善资料,
赚取积分