1
\$\begingroup\$

I'm trying to get a good understanding of the I2S protocol for a project I'll be working on. My current goal is to take a 24bit, 2 channel .wav file with known, repeating bytes (ex: x00/x00) and view those bytes being sent over the I2S data bus with my scope. For this project I'm using a TI PUREPATH-CMEVM evaluation board paired with a TI TAS5733LEVM evaluation board (This is a stereo open loop digital input audio power amp with EQ). I'm using some TI provided software to send data over the I2S bus. The wave file I'm playing contains only 0's in the data chunk, but when I probe my I2S line I see (seemingly) random 1's and 0's being clocked in. I was hoping to ask the community if I'm interpreting the I2S protocol incorrectly, as I thought the data from the wave file would be send MSB first in the signed 2's complement form it's stored (so all zeros in my case). Here's a screenshot of my wave file and wave file header, just to show my wave file is setup correctly. Wave File Header Wave File Data

Here's a few screen caps of the 5733L's documentation and which pins I'm probing, just to show I'm looking in the right place.

5733L Pinout

All the supporting hardware is supplied by TI on the eval board, so I believe my setup is correct. If anyone has any suggestions/ questions about my setup please let me know what I can clarify. I believe my confusion is in the protocol, not necessarily how the audio circuit is set up. The next few pictures are what I'm actually seeing on my scope. Green is the left/right clock, blue is the bit clock, yellow is the actual data (SDIN pin on the 5733L).

Close up of I2S far shot of I2S

You can see from the zoomed out view of a few audio samples the bits being clocked in don't seem to follow any sort of pattern even though every byte being sent is the exact same. My question is for those with knowledge of I2S, if my audio file is populated with only zero's, do I expect to see only zeros? I could take pictures of zoomed in audio frames but every frame is different so I didn't know if it was of value to my question.

\$\endgroup\$
  • \$\begingroup\$ Surely there is a reference on I2S out there somewhere. What does the protocol document say is supposed to happen? \$\endgroup\$ – Olin Lathrop Jun 21 '18 at 21:41
  • \$\begingroup\$ sparkfun.com/datasheets/BreakoutBoards/I2SBUS.pdf provides most of what you could need. \$\endgroup\$ – Jack Creasey Jun 21 '18 at 22:03
  • \$\begingroup\$ It looks like OP actually did a research before asking the question. And the actual observed data does not look like the one expected per those documents. \$\endgroup\$ – Maple Jun 22 '18 at 1:07
  • \$\begingroup\$ @ OP: so, what DO you get on the data line? Could that be some noise or bad wiring? And what is exactly "my chip"? How do you convert that .wav into I2S? Your setup is not clear from the description. \$\endgroup\$ – Maple Jun 22 '18 at 1:21
  • \$\begingroup\$ If you could add a visual representation of your waveforms, pointing out the discrepancies from what you expect, it would be helpful. \$\endgroup\$ – Cristobol Polychronopolis Jun 22 '18 at 12:15

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Browse other questions tagged or ask your own question.