Jump to content
  • 0

Incorrect I2C decoding in AD2


miv2k

Question

Hi,

For some reason I'm seeing a pretty consistent I2C decoding error when trying to e.g. read 7 bytes from slave. Consider the attached screenshot for instance...

The byte sequence that's being sent (read by master and confirmed by another decoder in DSO) is 0x56, 0x35, 0x21, 0x06, 0x11, etc. Waveforms Logic Analyzer gets out of sync after reading 0x21, and I can't quite understand why.

The waveform seems correct, all SDA changes happen when SLC is low, and if Waveforms was just interpreting SDA when SLC was high, it would indeed get 0x06 followed by an ACK. Yet it shows an error right where the first 0 bit of 0x06 is.

There seems to be a small SDA glitch before sending the last bit of 0x06, but it happens when SLC is low, and should've been ignored.

Interestingly, Protocol Analyzer in Waveforms works just fine and decodes this:

Start, hD0 [ h68 | WR ], h00, Stop
Start, hD1 [ h68 | RD ], h56, h35, h21, h06, h11, h10, h24 NACK, Stop

Any idea what may be going on here? It's Waveforms 3.23.4.

Thanks!

 

 

Screenshot_20241011_213801.png

Edited by miv2k
Added Waveforms version
Link to comment
Share on other sites

3 answers to this question

Recommended Posts

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
×
×
  • Create New...