《线程》中讨论的其他部分: BeagleBone, PCM1864, Beagle
大家好,我想将 TIDA-01454 CMB 的8个信道记录到 BeagleBone AI 中。 由于 CMB 使用两个 PCM1864构建,同时也是 Beagle 主板,因此我按照 本指南(https://www.ti.com/lit/an/sprac97/sprac97.pdf) 对 oder 进行了一些更改,以使其与 BeagleBone AI 兼容。 我成功地录制了 CMB 拥有的8个麦克风中的4个(我只需轻触麦克风检查该麦克风是否正常工作)的音频。 工作 中的麦克风是 MIC1,MIC4,MIC5和 MIC8,尽管我要说噪音很大。
CMB 有4个数据输出引脚,因此我假设每个引脚传输2个信道,因此这是我的 DTS 文件:
&mcasp1 { #sound-dai-cells = <0>; pinctrl-names = "default"; pinctrl-0 = <&mcasp1_pins>; status = "okay"; op-mode = <0>; /* MCASP_IIS_MODE */ tdm-slots = <2>; num-serializer = <4>; serial-dir = < /* 1 TX 2 RX 0 unused */ 2 2 0 0 0 0 0 0 0 0 2 2 >; rx-num-evt = <4>; tx-num-evt = <4>; };
串行目录就是这样,因为我使用 McAfee SP1_axr0,McAfee SP1_axr1,McAfee SP1_10和 McAfee SP1_axr11,因为它们是 Beaglbone AI 中提供的。 这是我对 CMB 的配置:
uint8_t U1_PCM1864_CONFIG[][2] = { {0x00, 0x00}, // Change to Page 0 {0x01, 0x40}, // PGA CH1_L to 32dB {0x02, 0x40}, // PGA CH1_R to 32dB {0x03, 0x40}, // PGA CH2_L to 32dB {0x04, 0x40}, // PGA CH2_R to 32dB {0x05, 0x86}, // Enable SMOOTH PGA Change; Independent Link PGA; {0x06, 0x41}, // Polarity: Normal, Channel: VINL1[SE] {0x07, 0x41}, // Polarity: Normal, Channel: VINR1[SE] {0x08, 0x44}, // Polarity: Normal, Channel: VINL3[SE] {0x09, 0x44}, // Polarity: Normal, Channel: VINR3[SE] {0x0A, 0x00}, // Secondary ADC Input: No Selection {0x0B, 0x44}, // RX WLEN: 24bit; TX WLEN: 24 bit; FMT: I2S format {0x10, 0x03}, // GPIO0_FUNC - SCK Out; GPIO0_POL - Normal {0x11, 0x50}, // GPIO3_FUNC - DOUT2; GPIO3_POL - Normal {0x12, 0x04}, // GPIO0_DIR - GPIO0 - Output {0x13, 0x40}, // GPIO3_DIR � GPIO3 - Output {0x20, 0x11} // MST_MODE: Master; CLKDET_EN: Disable }; uint8_t U2_PCM1864_CONFIG[][2] = { {0x00, 0x00}, // Change to Page 0 {0x01, 0x40}, // PGA CH1_L to 32dB {0x02, 0x40}, // PGA CH1_R to 32dB {0x03, 0x40}, // PGA CH2_L to 32dB {0x04, 0x40}, // PGA CH2_R to 32dB {0x05, 0x86}, // Enable SMOOTH PGA Change; Independent Link PGA; {0x06, 0x41}, // Polarity: Normal, Channel: VINL1[SE] {0x07, 0x41}, // Polarity: Normal, Channel: VINR1[SE] {0x08, 0x44}, // Polarity: Normal, Channel: VINL3[SE] {0x09, 0x44}, // Polarity: Normal, Channel: VINR3[SE] {0x0A, 0x00}, // Secondary ADC Input: No Selection {0x0B, 0x44}, // RX WLEN: 24bit; TX WLEN: 24 bit; FMT: I2S format {0x10, 0x00}, // GPIO0_FUNC – GPIO0; GPIO0_POL - Normal {0x11, 0x50}, // GPIO3_FUNC - DOUT2; GPIO3_POL - Normal {0x12, 0x00}, // GPIO0_DIR - GPIO0 - Input {0x13, 0x40}, // GPIO3_DIR � GPIO3 - Output {0x20, 0x01} // MST_MODE: Slave; CLKDET_EN: Enable };
那么,我没有什么可以获得这8个频道?