I2S / PCM Analyzer - User Guide
Last updated
Last updated
The Saleae Logic software includes a software protocol analyzer for the I2S digital audio protocol.
The specification for the I2S audio protocol can be found from Sparkfun's website (document by Philips Semiconductors) below:
The Saleae analyzer is designed to decode two-channel audio in the I2S format. It is possible to decode additional channels by using more than one instance of the I2S analyzer at the same time and by sharing the clock and frame signal between analyzers. Each instance of the analyzers can decode two channels of audio.
The Saleae I2S analyzer does not support any Mono formats.
Even when the I2S settings have signed number selected, unsigned numbers may always be shown.
This issue is solved by changing the display radix from ascii to decimal. Although a decimal number is shown, the single quotes indicate that the ascii display mode is active, but the number is considered a non-displayable character (in this case, outside of the low ascii range completely) so the text string defaults to unsigned decimal. Changing the display radix to decimal will show the signed number.
The analyzer result may also not display the data correctly. An image of the error is provided below.
In the image above, the data bits are transitioning during the clock falling edge, but the I2S/PCM Analyzer is also set to read on the clock falling edge as shown by the "down" arrows on the clock signal.
That means the bits are being decoded at the exact moment the bits are changing, which will cause errors and will be very sensitive to changes in the sample rate. Change the I2S/PCM Analyzer setting for CLOCK State to either Rising edge or Falling edge depending on the correct clock edge that your data requires.
For more information on this, please see the link below.