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.

TLV320AIC23: I2S DOUT Signal Always HIGH TLV320AIC23 Codec

Part Number: TLV320AIC23

Tool/software:

Note: Oscilloscope output screenshots are attached.

System and Configuration
Operating System: Ubuntu
Codec hardware:not present
Overlay used: mbed-dac.dtbo

Line added to /boot/firmware/config.txt: dtoverlay=mbed-dac
With this configuration, the device appears in the aplay -l output.

Test Details
During the test, the following audio file was played:
 YouTube: https://youtu.be/YwNs1Z0qRY0 (Stereo Test - Left/Right Audio Test for Headphones/Speakers)


Oscilloscope probes and signals:

Yellow signal: DOUT (Data Out) GPIO 21

Green signal: Clock GPIO 18

Purple signal: Left/Right (LRCK) GPIO 19

Observations
When the audio is playing, the output signal observed on the oscilloscope behaves as follows:

When there is sound, the signal is HIGH; when there is no sound, the signal is LOW.

In other words, the signal goes HIGH when sound is present and LOW when silent.

In some examples on the Internet, the signal is shown as a square wave, but in this case the observed behavior is different — it simply toggles HIGH/LOW based on the presence of sound.

Note
We used the CM5 board and tested with separate device tree files for both I2S0 and I2S1, but the result was the same. On the standard Raspberry Pi 5 board, however, we were able to obtain correct output without issues. Since the codec hardware was not available, only the overlay and software-side behavior were tested.



  • Hi,

    What we see in the last scope shot looks to be a correct I2S signal. Is that the raspberry pi output? Or are all these from the same device? It looks like the sawtooth waves we are seeing on your yellow data line might have too much capacitance so they are not switching fast enough, or something like this. Can you attach a schematic and an i2c config?

    Best,
    Mir

  • The last scope capture is from the Raspberry Pi 5 that works correctly , while the first three are from the CM5 board with the Pi5 processor.
    I used only the I2C parameter in the config file as dtparam=i2c=on.
    Also, there is no connection to GPIO21 (DOUT), which is why I didn’t include it.

    On the Raspberry Pi forum, njh advised me to connect a strong pull-down resistor, and I think it works now.

    On the CM5, GPIO21 (DOUT) is shown in yellow.


  • Hi,

    So, no more problem here with the DOUT? I agree, it looks like the data was not being driven/pulled low.

    Best,
    Mir