Digital logic

What Are the Specs and What Do They Mean?

The Saleae logic analyzer plugs into either a PC or Mac computer and has pretty comprehensive software included. It works pretty well, although every hour or so it would lock up and I would have to restart it. After I found a loose ground, it became much more solid. Because it supports protocol analysis (more on this later), if you ever have to debug SPI, I2C, serial, CAN, 1-wire, Manchester, or other digital protocols, this tool will save you lots of time.

This logic analyzer samples each channel at up to 24 million times per second (24MHz). A large fraction of hobbyist applications run at less than 10MHz, so this device is great for these types of circuits. The rule of thumb is that you have to sample four times faster than your highest speed signal to reproduce the digital signal accurately; thus, a 24MHz sampling rate means that your best accurate signal speed will be about 6MHz. Higher sampling speeds requires low USB latency on all of these USB logic analyzers. So, depending on your computer, achieving the maximum rate may require you to remove other USB devices, use a different USB host controller, or increase the logic analyzer software priority on the CPU.

The Saleae logic analyzer that I use has eight inputs – it can monitor eight different digital signals at once. It also can save as many as 10 billion samples, letting you capture even the rare events. This raises a question: How can my computer, which has only 8GB of RAM store 10 billion samples? The answer is compression. The logic analyzer stores the data in a compressed mode, which saves a bunch of space.

The inputs are protected against overvoltage conditions (+/--15V, but not for continuous operation!) via current-limiting resistors and ultra-low-capacitance diode clamps. A resettable fuse also protects the USB ground return line to protect your computer.

The last big thing to care about is how the logic analyzer can be triggered, and I'll explain that later.

Logic Analyzers versus Oscilloscopes

I have both an oscilloscope and a logic analyzer – different tools for different problems. A logic analyzer is designed to look for digital signals and for long patterns of digital signals, whereas an oscilloscope is designed for looking at a constantly varying signal voltage over time (Figure 1). The observed waveform can be analyzed for rise time, amplitude, distortion, and other properties. A storage oscilloscope can be used to detect single events and display them for a long time, allowing events to be observed that are happening far too fast to be directly perceptible.

Figure 1: Oscilloscope example.

SwitchDoc Note: OK, things don't work. You can't see the signals. Remember the first rule of electrical engineering: "It works better if you plug it in." Make sure your devices have power, your test equipment has power, and that you have all the lines wired correctly and securely. If you soldered your board, check closely for cold solder joints. Oh, and make sure the board is not touching a conductive surface. I once spent hours trying to figure out why a board wasn't working, and it was because it was sitting on conductive foam.

As innovative companies consistently push the envelope of progress, antiquated hardware nearly two years old falls by the wayside. We take an old iPad, an Arduino Mega, and various other materials to create an in-dash climate control app.

Putting power in your robot is more than just running wires – you'll need to make sure the power supply doesn't cause interference that will disrupt other components. This article explores the problem of electrical noise and describes the design for a multiplexing solar power system.