This thread has been locked.

If you have a related question, please click the "Ask a related question" button in the top right corner. The newly created question will be automatically linked to this question.

[参考译文] PCM1864EVM、在 Linux 上更改模式

Guru**** 2381870 points
Other Parts Discussed in Thread: PCM1864, PCM1864EVM, PCM1865
请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

https://e2e.ti.com/support/audio-group/audio/f/audio-forum/998199/pcm1864evm-changing-mode-on-linux

主题中讨论的其他器件:PCM1864PCM1864EVMPCM1865

您好!

 这是否可以使用 Linux 更改模式?

主要目标是使用 BeagleBone Black 记录所有四个通道、并将记录的文件保存在 SD 卡上。 我知道 、USB 到 I2S 和 I2C 只能通过单个 I2S 到 USB 流传输2个音频通道、因此我想通过该通道发送2个音频通道、而通过 I2C 发送其他2个音频通道则使用 J8引脚直接发送到 BBB。 为此、我需要更改模式0、在引导至模式2后 EVM 在该模式下运行。 我还知道、GUI 会在切换模式时更改寄存器、因此是否可以选择发送命令来响应切换模式、而无需使用 GUI?

这是可行的、还是可能有更好的解决方案?

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    您好!

    最好不要尝试使用 GUI、我不建议将 GUI 和 BBB 结合使用

    您应该能够使用 GUI 将 PCM1864置于所需的2x2通道 I2S 或4xTDM 工作模式、然后将 BBB 的 McASP/BSP 端口连接到 PCM1864EVM 上的音频串行接口。  在此配置中、EVM 将使用 I2C 接口配置 PCM1864、然后 BBB 将控制 TDM 音频串行接口以记录四个数据通道。

    请注意、有针对 PCM1864的公开更新的 Linux 驱动程序、因此另一个选项是通过 BBB 执行所有操作。

    https://e2e.ti.com/support/audio/f/audio-forum/773056/faq-linux-drivers-device-drivers-for-aic31xx-dac31xx-aic325x-aic320x-aic326x-aic321x

  • 请注意,本文内容源自机器翻译,可能存在语法或其它翻译错误,仅供参考。如需获取准确内容,请参阅链接中的英语原文或自行翻译。

    Daniel:

    让我补充 Collin 的回复。 所有这些配置都可以直接在 BragleBone 上完成。 用于 BeagleBone 的 PCM1864 Linux 驱动程序支持 TDM 模式配置、允许 Sitara 的 McASP (采用 DSP_A 总线格式)接收两个以上的通道。 然后可以使用具有4通道的 arecord 命令:

    arecord -c 4 -f S16_LE -r 48000 -d 5 --device="HW:0、1" test.wav

    您需要将 DTS 设置为类似于以下内容的内容、其中 DTS 的更改取决于您的配置和连接:

    i2c0 {
          #address-cells = <1>;
          #size-cells = <0>;
          pcm1865: pcm1865@4a {
            compatible = "ti,pcm1865";
            #sound-dai-cells = <0>;
                reg = <0x4a>;
                avdd-supply = <&reg_3v3_analog>;
                dvdd-supply = <&reg_3v3>;
                iovdd-supply = <&reg_1v8>; };
        };
    };
    
    
    
    sound {
        compatible = "simple-audio-card";
        simple-audio-card,name = "TI BeagleBone Black";
        /*
         * you might need to add:
         * simple-audio-card,widgets
         * simple-audio-card,routing
         */
     
         simple-audio-card,dai-link@0{
            format = "dsp_a";
            bitclock-master = <&sound0_0_master>;
            frame-master = <&sound0_0_master>;
            sound0_0_master: cpu {
                sound-dai = <&mcasp0>;
                clocks = <&clk_mcasp0>;
                dai-tdm-slot-num = <8>;
                dai-tdm-slot-width = <32>;
                dai-tdm-slot-tx-mask = <1111>;
                dai-tdm-slot-rx-mask = <1111>;
            };
     
            codec {
                sound-dai = <&ti,pcm1865 0>;
                dai-tdm-slot-num = <8>;
                dai-tdm-slot-width = <32>;
                dai-tdm-slot-tx-mask = <1111>;
                dai-tdm-slot-rx-mask = <1111>;
            };
        };
    };
    以下应用手册将指导您设置这些参数并提供更详细的信息: