Tag Archives: Saleae Logic

Debugging with the Saleae Logic

I just got a Saleae Logic analyzer and it’s immediately been useful. The software is pretty sparse but it’s easy to use.

Below is a screen shot of the traffic between an FT220X USB interface IC and an AVR. Here we can see a glitch at the end of the third clock period. The third clock is the bus turn around phase. The bug here is that I’m tristating the AVR’s data lines at the very end of the clock period.

glitch

The fix was simple:

glitchfix

The Saleae device is better than I expected given some of the reviews I’ve read. It doesn’t do much so there isn’t anything to learn. Software installation was easy and didn’t hog a ton of space on the PC. It does have some quirks. I get an error dialog every time I plug the device into the computer, but everything works fine. When it’s capturing it doesn’t update the memory usage counter as it goes along. By default the program uses an Aero theme which has the application window border areas translucent. Since the time line text, options menu and other things have white text, this means you can’t see them if the application window is sitting on top of a white surface. Fortunately you can turn off the Aero theme. You’ll need to float the app window over a dark surface to find the options menu to do that if you don’t know where it is at first… You can reorder the channels but you have to do so through a right click menu for each one, and you can only move them up or down one at a time which is annoying. It would be nice if you could simply drag them around. The T1 and T2 cursors can get stuck outside the graph on the right side and are unaccessable if you click in the wrong area. To get the back you have to zoom into the graph and reselect the T1 and T2 labels on the right side of the app window.

Minor annoyances. Once you position and label your channels, you can save the profile and then recall it later. That’s handy and works well.

Overall I’m fairly impressed with it. I was able to immediately hunt down problems the moment I had it out of the box and setup. It paid for itself the first day I used it. I have some i2c devices to work with after I finish ironing out this FT1248 interface. It will be interesting to see how useful the protocol analysis tools are with this thing.