EEVblog Electronics Community Forum

Products => Test Equipment => Topic started by: Phunkafizer on March 31, 2017, 11:12:30 am

Title: Rigol DS1054Z I2C decoder trigger on start condition
Post by: Phunkafizer on March 31, 2017, 11:12:30 am
Hey,

I'm trying the I2C decoder. When I'm using the stop-condition as trigger it works perfect, but all the other I2C trigger options (start, restart, MissedAck, ...) don't trigger the scope. But I2C signal is 100 kHz clock 3.3 V. Does anyone have the same problem?

S>>
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: Fungus on March 31, 2017, 03:58:54 pm
There's no reason STOP would work but START wouldn't.

Please upload a screenshot of the actual I2C signal. Maybe it's your pullups or something.


Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: Phunkafizer on April 03, 2017, 06:51:10 pm
>There's no reason STOP would work but START wouldn't.

Exactly, this is why I was asking ;-)

I connected an intronix logicanalyser in parallel to the rigol, the intronix works without problems. Meanwhile I found out: When I activate the I2C noise canceler in the rigol, it never recognizes the start condition, when switching it off it works sometimes. Then I did a firmwareupdate, now it seems to work.
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: Howardlong on April 04, 2017, 08:06:39 pm
At some stage I believe they changed the UI and/or broke something, because this did work reasonably obviously.

First, I assume a simple edge triggers work on both SDA and SCL, the levels are controlled independently.

To get it to work, first I had to select the Address condition and go down to the next menu page to set the direction to R/W, then go back and set the Start condition.

This is with the just-released v00.04.04.03.02 firmware.
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: Howardlong on April 06, 2017, 05:38:50 am
Somewhat bizarre is that I just ran an almost identical test just now and didn't have to go through that earlier R/W address nonsense to make the I2C Start trigger work. The scope was reset to defaults before attempting. The earlier test was just after a firmware upgrade, however the unit was rebooted first.
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: Daque on May 23, 2017, 06:54:53 pm
I'm thinking of ordering a DS1054z in the next couple of days. I saw in a YouTube video Ihat is about a year old it would sometimes decide I2C incorrectly until you scrolled past a previous command. How's the I2C stuff working these days?
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: Howardlong on May 24, 2017, 08:00:25 am
I'm thinking of ordering a DS1054z in the next couple of days. I saw in a YouTube video Ihat is about a year old it would sometimes decide I2C incorrectly until you scrolled past a previous command. How's the I2C stuff working these days?

It's definitely not the best implementation, let's put it that way (that might've been my video BTW).

Firstly it only decodes from the information on screen (not the entire memory), and secondly it undersamples the segment of memory that's displayed on the screen. You need to judiciously adjust the timebase to a sweet spot, but even then realistically you can only decode a very few bytes at a time due to the undersampling of the segment of memory that's displayed. This also pretty much renders the table listing feature useless.

Secondly there appears to be a new bug where sometimes the I2C Start Condition trigger doesn't work sometimes. One I'd figured out a workaround, I then wasn't able to reproduce the original fault in the first place, but there was definitely a problem.

Is the I2C decode worth the effort? While I'd be righteously punked if I'd paid for it as an option, if you liberate the option yourself it still has value, you just need to have to use your eyes to double check it's telling you like it really is.

Is the DS1054Z still worth buying? Yes, definitely, but be aware you need to take care with what you think it's telling you. This caveat is the true for any piece of TE, sometimes it's properly understanding how the tool works and knowing the tool's limitations, and sometimes it's a bug.  Either way, always be prepared to interpret the results yourself, i.e., does what I think it's telling me make sense?
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: Fungus on May 24, 2017, 08:20:00 am
I'm thinking of ordering a DS1054z in the next couple of days. I saw in a YouTube video Ihat is about a year old it would sometimes decide I2C incorrectly until you scrolled past a previous command. How's the I2C stuff working these days?

It's not the right device for decoding long sequences of data. It only decodes whatever's on screen so if you scroll a packet of data so the START condition goes offscreen then the packet won't decode properly.

It's not really the right tool for trying to analyze long streams of data. It's designed more for checking the signals on the bus, making sure your pullups are good, etc., ie. checking he electrical side of things.

If you want long streams of data then get a logic analyzer, attach an Arduino and run an I2C sniffer program on it, or use printf().

nb. This isn't just a DS1054Z thing, you have to pay a lot of money to get a 'scope with full serial decoding capabilities.
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: JPortici on May 24, 2017, 09:46:36 am
from my use of it:
- the most you can decode in a single screen capture is start, address and about 32 bytes. more, which means less pixels, or those or less but with a slower timebase, which agains means less pixels will crap out the decoder and therefore trigger. Giant pain in the ass while having to decode long packets, like a full memory load (cross your fingers and hope for no glitch because it will be painful to hunt down)
- decoder seems to be optimized for standard 100,400,1000khz clocks, on custom speeds will crap out more often (and miss many many triggers)
- if you can set up the trigger do a power cycle and magically can't trigger anymore unless you set it up again (could just be change trigger mode and change back. doesn't happen always though
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: Daque on May 24, 2017, 05:20:12 pm
Thanks for the feedback.  I take it a bus pirate is a better option for I2C. I ordered it anyway from TEquiptment.  The people I talked to there were nice to deal with.   The specific commands I'm interested in watching are only a few bytes long to control an ancient analog memory chip used in the late 80 to hold pager messages. Little more than a set address play or set address record. Maybe  10 bytes.


Sent from my iPhone using Tapatalk
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: Fungus on May 24, 2017, 06:57:36 pm
Thanks for the feedback.  I take it a bus pirate is a better option for I2C.

I think a bus pirate has limited speed for I2C (100kHz?) It's probably fine for something from the 1980s but just be aware.

You could also get one of those $6 logic analyzers (http://www.ebay.com/sch/i.html?_sacat=0&_nkw=logic+analyzer+usb&_sop=15) from eBay, that's even cheaper.  :)

Edit: They work with this software: http://sigrok.org/ (http://sigrok.org/)
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: Daque on May 24, 2017, 08:33:12 pm
Thanks for the logic analyzer link.  From what I read the bus pirate can be set to 400 kHz. How well it works I don't know. I just looked at the data sheet and that's the max speed listed for the ISD5116 chip. I'm glad you mentioned clock speed.  I may have been trying to talk to it too fast with the Teensy 3.2.


Sent from my iPhone using Tapatalk
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: Electro Fan on May 24, 2017, 10:54:48 pm
Thanks for the feedback.  I take it a bus pirate is a better option for I2C.

I think a bus pirate has limited speed for I2C (100kHz?) It's probably fine for something from the 1980s but just be aware.

You could also get one of those $6 logic analyzers (http://www.ebay.com/sch/i.html?_sacat=0&_nkw=logic+analyzer+usb&_sop=15) from eBay, that's even cheaper.  :)

Edit: They work with this software: http://sigrok.org/ (http://sigrok.org/)

nice video of the sigrok pulseview software
https://www.youtube.com/watch?v=KiDDL5xtnG0 (https://www.youtube.com/watch?v=KiDDL5xtnG0)
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: Daque on May 25, 2017, 12:35:11 pm
I now have one coming via a slow boat. Thanks again for the pointer. I thought the bus pirate was a better tool .  Oh well I can still use the bp for other stuff.


Sent from my iPhone using Tapatalk
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: Fungus on May 25, 2017, 12:55:28 pm
I thought the bus pirate was a better tool .  Oh well I can still use the bp for other stuff.

The BP is getting a bit old but it's a very useful device because it does two-way communication, not just sniffing.

eg. You can use it in I2C interactive mode to send test packets to your device and see how it responds.

http://dangerousprototypes.com/docs/I2C (http://dangerousprototypes.com/docs/I2C)

(nb. that page says it does 400kHz...)

The logic analyzer is better for snooping on a long sequence of communication and decoding it.

And, hey, it's only $6.  :popcorn:
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: Howardlong on May 25, 2017, 06:29:01 pm
The Bus Pirate is one of the few devices able to do 1-wire decode. That's the only real reason I have one.

Are there any others?
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: metrologist on May 25, 2017, 06:54:47 pm
Do the cheap LAs work as well as the featured product in the video, LHT00SU1?
Title: Re: Rigol DS1054Z I2C decoder trigger on start condition
Post by: abraxa on May 25, 2017, 07:42:05 pm
Do the cheap LAs work as well as the featured product in the video, LHT00SU1?
If by "cheap" you mean a Cypress FX2-based LA then yes - when in doubt, check the device page (http://sigrok.org/wiki/Supported_hardware#Logic_analyzers) and try to see if the one you intend to buy is listed or one looks the same. Only difference is that the CWAV Usbee AX (and clones such as the LHT00SU1) also offer analog channels, which may or may not be supported by sigrok.