When working with digital protocols, such as SPI, a logic
analyzer can be indispensible. Unfortunately, they can also be
really expensive. For example, my $399 oscilloscope had a LA
option, but that bumped the scope price up to $1500, outside my
price range and definitely outside the Wife Acceptance Factor
range.
Finally, after much UPS drama (yes, this is the delivery I was
complaining about on Twitter), my Salae USB logic
analyzer arrived today. This is a pretty inexpensive analyzer,
limited to around12 to 24mhz sample rate. I got this on the advice
of Chris Walker from Netduino, when someone had mentioned needing a
logic analyzer.
I hooked it up to my Netduino running my sawtooth DAC program, and
looked at the output. The ability to view the actual binary (or
hex, or decimal or whatever) representation of the SPI message
would have saved me some real aggravation.
Here's what the app looks like sampling data from my Netduino.
The tooltip is showing me the 16 bit binary message. Nice!
The SPI settings are configured via a dialog. You can assign
different functions to the pins, set the bit depth and otherwise
configure how the data should be interpreted as SPI data. For SPI,
messages from 1 to 64 bits are supported.
You can see that it supports a number of protocols in the
analyzer. While I'm using SPI right now, I can definitely see using
I2C and Serial in the future.
You can also see timing information when you hover over a
signal. In this example, the Measurements section is telling me
about section displayed with the arrows (you can't see the cursor,
but that's what I hovered over)
If you're going to be doing chip-to-chip communication, this is
even more useful than an oscilloscope. Oscilloscopes are cool, and
given my interest in sound wave production, are extremely useful,
but this little inexpensive tool gets you down to the bits in
digital communication. Note also that oscilloscopes are real-time
where this analyzer records the signal for a few moments and
displays the results on screen.
There are separate 32 and 64 bit Windows applications available,
as well as Mac and Linux versions. I installed the app and driver
(no reboot required), plugged it in without reading the manual, and
let it run. It was super easy to figure out. You can't beat that.
Read more
about it here.
Recommended.