您好!
根据以下方框图、我尝试通过 NXP i.MX 8M 处理器的前四条 SAI1 RX 数据线(SAI1_RXD3..0)读取和记录八个音频数据通道(两个 TLV320ADC6140上的 IN4.0.1):

在 I2S 或 TDM 模式下、我可以通过 SDOUT 和/或 SDOUT2为两个 IC 的数据计时。 但是、我只能在 SAI1_RXD0上记录数据。 我使用了 aRecord 和 PyAudio、两者都适用于一条 Sai RX 数据线。
我创建了器件树覆盖以添加所需的数据行:
碎片@4{
目标=<.pinctrl_saer1>;
_overlay__{
FSL、引脚=<
MX8MQ_IOMUXC_SAI1_RXC_SAI1_RXC_RXC_BCLK 0xd6
MX8MQ_IOMUXC_SAI1_RXFS_SAI1_RX_SYNC 0xd6
MX8MQ_IOMUXC_SAI1_RXD0_SAI1_RX_DATAA0 0xd6
MX8MQ_IOMUXC_SAI1_RXD1_SAI1_RX1_RX_Data1 0xd6
MX8MQ_IOMUXC_SAI1_RXD2_SAI1_RX_DATA2 0xd6
MX8MQ_IOMUXC_SAI1_RXD3_SAI1_RX_DATA1_RX_DATA3 0xd6
>;
};
};
相关的器件树片段如下所示:
dummy_dai:dumme-dai{
兼容="linux、snd-so-dummy;
#sound-di-cells =<0>;
状态="正常";
};
声音标题{
兼容="简单音频卡";
状态="正常";
simple-audio-card、name ="prototype Test";
simple-audio-card、format ="I2S";
简单音频卡、CPU{
??Sound-Dai =<?Sa义1>;
};
简单音频卡、编解码器{
#sound-di-cells =<0>;
Sound-Dai =<&dummy_Dai;
};
};
作为部分权变措施、我可以通过将第一个 TLV320ADC6140设置为在 SDOUT -> SAI1_RXD0上输出四个通道来读取和记录该器件的四个输入通道、 记录2 x 位/通道、并指定两个通道作为 arecord 或 PyAudio 的参数、然后解压缩数据。 但是、我仍然缺少来自第二个 TLV320ADC6140的数据、因为我至少需要两条 SAI1接收数据线、每个 TLV320ADC6140一条。
我不确定要从何处记录我需要的数据。 是否需要进行其他修改(设备树、驱动程序、用户空间)以“告知”arecord/PyAudio 使用多条 Sai 数据线?
非常感谢您提供的任何信息。
谢谢大家、此致。