I often work with embedded, mixed signal systems and while in the past that might have included parallel data with numerous data and address lines, nowadays you are more likely to be working with serial interfaces. To keep chip sizes small, with a reduced numbers of pins and less wiring/tracking involved, there are now quite a lot of popular synchronous serial interfaces such as SPI, I²C and CAN instead of the traditional asynchronous interfaces such as RS232. The traditional tool for debugging parallel buses is a logic analyzer with 32 to 48 logic lines, assuming you couldn’t do the debugging using an in-circuit emulator. Simple checks on the occasional serial RS232 data byte could be done with an oscilloscope but the newer interfaces require a different approach. Firstly, you may be looking at longer data words such as 16 bit or 24 bit rather than 8 bit. Also, you will be faced with multi-word, bi-directional interfaces which are rather tedious to decode manually on an oscilloscope, particularly if you need to decode dozens of data words or more.
You can buy mixed signal oscilloscopes with typically 16 digital lines and optional serial interface decoding combined with two or four analog channels. However, if you already have a good oscilloscope without the mixed signal interface it can be very expensive to replace it with a mixed signal one.
There are alternative mixed signal options around such as the USB PicoScopes from Pico Technology or Bitscope but these are still adding some digital capability to what is really an analog USB oscilloscope rather than simply providing digital capability. One company making USB logic analyzers without analog is TechTools. They make USB logic analyzers with 9 to 36 channels with sample rates from 100Ms/s to 400Ms/s and up to 500Ms/s with half the channels used on the largest unit.
With a modern FPGA it is not that difficult to make something that samples digital signals at a high rate but to make a useful instrument it needs some decent software. With the TechTools DigiView software they seem to have done a very good job. So, when you are faced with your SPI interface with two 16 bit words:
you can simply decode that automatically:
and see the data. You can also collapse the individual lines to save screen space and just look at the data, or look at the data in a tabular form with a timestamp.
You can display the data in decimal or hex etc and the decoding of the SPI lines can be set for the number of bits per field and number of fields per frame. You can use the SS line for framing or not, depending on the exact details of your interface.
Even more useful to me is the ability to plot the data in analog form. In this case the SPI data is from a dual channel 16 bit analog to digital converter (ADC) and the facilities within the Digiview software allow you to decode the alternating data into two analog streams. I am not sure if this is a common feature of bus analyzers but it suggests that the people who wrote the DigiView software have designed it to be used in real applications.
For I²C interfaces the decoding of the data is even more important because you want to know the data direction and address.
Again, this can be displayed in a time coded list.
The TechTools logic analyzers are small, USB units so you are relying on your computer to provide the display. The software seems to work with a range of platforms from Windows XP to Windows 10 although I didn’t see a Linux version.
One particularly interesting feature of the TechTools logic analyzers is the hardware compression used for storage of the data. This may be typical of modern logic analyzers and it minimizes the data storage used when nothing is happening. So, while the 1M words of storage would be full in a few milliseconds without compression on the 400Ms/s unit I have been using, I was able to make captures of several seconds due to the compression.
There appear to be many other features of the DigiView software I have yet to explore such as the “dynamic measurements” window, but I have noticed that you can see a lot of measurement data just by moving the cursor over a waveform rather than having to place markers and drag them around. I am not affiliated with TechTools in any way – I just needed something to supplement my high speed oscilloscope in order to debug serial interfaces and found their product to fill a useful niche. Replacing my oscilloscope with an equivalent mixed signal one would cost around $9000 or more whereas the TechTools DV3409 is $499. Even a low specification oscilloscope with mixed signal ability would cost over $1500. My search for similar devices did not turn up many comparable devices. There are slower ones around, some very cheap from the Far East, with the products from Saleae being the only ones I could find with comparable performance, but with analog channels as well as digital. If you don’t need the analog capability, I would rather all my money went into providing the digital performance without some of the cost being used on unwanted analog channels but the Saleae pricing does look good.
Filed Under: Microcontroller Tips