cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 
badegoke_f1
Adventurer
Adventurer
279 Views
Registered: ‎06-18-2019

zcu106 TRD based I2S and Audio formatter not capturing audio data

Hi,

I have based my Vivado 2020.1 design on an SDI-Rx VCU TRD and zcu106 BSP. I then added a 2 channel I2S Receiver and Audio formatter IP similar to the Audio TRD. I also used the audio DTB in the TRD as reference to configure my pipeline. I use a Cirrus Logic CS5368 Eight Channel  A/D Converter IC. However I can only get Petalinux to register a xlnx-i2s sound card only if I add an I2S Transmitter IP(Which I do not need). I have had to add an I2S Tx to get the sound card registered in Petalinux. Please see this link :I2S Soundcard Issue . I would hope Xilinx can document or fix this.

Now my xlnx-I2S sound card is registered in petalinux but:

  1. "arecord" command does not capture any audio data.
  2. Only Gstreamer seems to capture audio when I convert ".raw" to ".wav" but the audio 50Hz test sine wave is truncated. Only S24_LE seems to be the allowed option of capture. Please see Petalinux userspace response and waveform capture attached. The audio ADC device generates 32 bit per channel with 24 bit being the data left justified.
  3. I2S Rx IP as master generates LRCK of 36.06kHz instead of 48kHz. I have used MCLK clock of 18.43MHz as suggested here.

Is there any other DTB or Kernel configuration I need to make to get audio capture working with "arecord" and "gst" properly as well as generate 48kHz LRCK sample clock?. I have followed this Xilinx Confluence recommendation, yet no luck. 

Please see boot logs attached for errors and capture commands.

Thanks 
Bade

Tags (2)
gst_2ch_48k_50hz.JPG
arecord_2ch_48khz.JPG
0 Kudos
0 Replies