EC200U-EU can support PCM communicate with external MCU?

Hi support team,

We are using EC200U-EU(EC200UEUAAR03A01M08) to try to connect to external MCU with PCM in/out data transfer. However we tried to use “AT+QAUDSW=0” to switch to external codec but it prompted with “Audio unknown error” and without any PCM data output , so does the module can only support the codec chip NAU8810 and ALC5616 but not for other external MCU PCM connection?

Thanks and Regards,
Patrick

Hi @patrickc
You can follow this to try.

The customer uses external MCU to directly connect to Module PCM, please refer to following instructions.

  1. PCM
    1.1 format
  1. The PCM interface is used to transmit audio data.
  2. The module provides one I2C interface and one pulse code modulation (PCM) interface. The PCM interface of the module only supports slave mode, therefore, the master clock signal of the codec IC needs to be provided externally.
  3. PCM interface supports the short frame mode, where the number of channels supports 1–4 channels, but the module will only take the data on the first channel; PCM_SYNC is equal to the audio sampling rate, which supports 8–44.1 kHz, sampling bit depth is 16bits.
    1.2 Calculation Method
  4. Synchronization clock (PCM_SYNC, FSYNC, LRCK) is equal to the sampling frequency of audio playback and recording
  5. Bit clock (PCM_CLK, BCLK, SCLK)= Number of Channels × PCM_SYNC × Sampling bit depth (16 bits).
    1.3 Matters need attention
  6. The clocks of PCM_SYNC and PCM_CLK are provided by MCU, but the frequency provided must be equal to the clock frequency required by our module
  7. The audio on the 8910 platform is not resampled, so the sampling rate is constantly changing, so the bit clock is constantly changing, for the codec module is not supported, the customer needs to adjust the synchronization clock and the bit clock in time
  1. External MCU connect Module PCM
  1. Set AT+QDAI=0,1,0 to switch to PCM slave mode (the underlying limit that module can only do PCM slave), custom codec mode.
  2. Set AT+QAUDSW=0 to switch to the external codec mode (if not specified codec, this step will report an error of 901, because the default is to find 5616 and 8810, and the error will be reported), and then restart module.
  3. Set AT+QAUDCFG=“urc”,1 to get the real-time sampling rate.
    Since BCLK and FSYNC clock are provided by the MCU, we need to tell MCU the clock frequency required by our module in real time. After this function is enabled, the module reports the sample rate in the form of URC(+QSAMPRATE: value) before playing, recording, or calling. Customers can configure the BCLK and FSYNC clock frequencies based on the sample rate
  4. For the case of fixed sampling rate (the customer fixed non-VOLTE (8k sampling rate call), or only play the audio of the same sampling rate, such as only play TTS(16K sampling rate)), then do not use the URC to report the sample rate, directly fix BCLK and FSYNC.
  1. Volume Set
    AT+CLVL= //Downlink Volume Level Selection