Digitool Helps Debugging

Logic analyzers used to be large boxes full of high-speed logic and a display monitor. Today, they are more likely to be a small box with a USB port that feeds data to a PC application. [Juan Antonio Rubia Mena] wanted something more self-contained, so he built Digitool. Built around a PIC18F2525, the device can measure frequency up to 10 MHz and inject square waves up to 1 MHz into the circuit under test. Oh yeah. It also has a simple four-channel logic analyzer that displays on a tiny LCD.

The 500,000 sample per second rate and the 1024 sample buffer isn’t going to put any logic analyzer vendors out of business, but it is still enough to help you figure out why that SPI or I2C logic is messed up. It looks like a fun project that could have some usefulness.

Continue reading “Digitool Helps Debugging”

Logic Analyzer on Chips

The Internet is full of low-speed logic analyzer designs that use a CPU. There are also quite a few FPGA-based designs. Both have advantages and disadvantages. FPGAs are fast and can handle lots of data at once. But CPUs often have more memory and it is simpler to perform I/O back to, say, a host computer. [Mohammad] sidestepped the choice. He built a logic analyzer that resides partly on an FPGA and partly on an ARM processor.

In fact, his rationale was to replace built-in FPGA logic analyzers like Chipscope and SignalTap. These are made to coexist with your FPGA design, but [Mohammad] found they had limitations. They also eat up die space you might want for your own design, so by necessity, they probably don’t have much memory.

The system can capture and display 32-bit signals on a 640×480 VGA monitor in real-time. The system also has a USB mouse interface which is used to zoom and scroll the display. You can see a video of the thing in operation, below.

Continue reading “Logic Analyzer on Chips”

Vintage IBM Daisywheel Prints Again after Reverse Engineering

Just before the dawn of the PC era, IBM typewriters reached their technical zenith with the Wheelwriter line. A daisy-wheel printer with interchangeable print heads, memory features, and the beginnings of word processing capabilities, the Wheelwriters never got much time to shine before they were eclipsed by PCs. Wheelwriters are available dirt cheap now, and like many IBM products are very hackable, as shown by this simple Arduino interface to make a Wheelwriter into a printer.

[Chris Gregg] likes playing with typewriters – he even got an old Smith Corona to play [Leroy Anderson]’s The Typewriter – and he’s gotten pretty good with these largely obsolete but lovable electromechanical relics. Interfacing a PC to the Wheelwriter could have been as simple as scrounging up an original interface card for the machine, but those are like hen’s teeth, and besides, where’s the sport in that? So [Chris] hooked a logic analyzer to the well-labeled port that would have connected to the interface card and reverse engineered the somewhat odd serial protocol by banging on keys. The interface he came up with for the Wheelwriter is pretty simple – just a Light Blue Bean Plus and a MOSFET to drive the bus high and low for the correct amount of time. The result is what amounts to an alphanumeric printer, but with a little extra code some dot-matrix graphics are possible too.

Having spent a lot of time reverse engineering serial comms, we can appreciate the amount of work this took to accomplish. Looking to do something similar but don’t have the dough for a logic analyzer? Maybe you can free up $22 and get cracking on a similarly impressive hack.

Continue reading “Vintage IBM Daisywheel Prints Again after Reverse Engineering”

Review: Digilent Analog Discovery 2

I recently opened the mailbox to find a little device about the size of White Castle burger. It was an “Analog Discovery 2” from Digilent. It is hard to categorize exactly what it is. On the face of it, it is a USB scope and logic analyzer. But it is also a waveform generator, a DC power supply, a pattern generator, and a network analyzer.

I’ve looked at devices like this before. Some are better than others, but usually all the pieces don’t work well at the same time. That is, you can use the scope or you can use the signal generator. The ones based on microcontrollers often get worse as you add channels even. The Analog Discovery 2 is built around an FPGA which, if done right, should get around many of the problems associated with other small instrumentation devices.

I’d read good things about the Discovery 2, so I was anxious to put it through its paces. I will say it is an impressive piece of gear. There are a few things that I was less happy with, though, and I’ll try to give you a fair read on what I found both good and bad.

Continue reading “Review: Digilent Analog Discovery 2”

An Open Source 96 MSPS Logic Analyzer For $22

If you are in the market for an inexpensive USB logic analyser you have a several choices, but few of them deliver much in the way of performance. There are kits from China for a few dollars using microcontrollers at their heart, but they fail to deliver significant sample rates. If you require more, you will have to pay for it.

It is therefore rather interesting to see [kevinhub88]’s SUMP2 project, an open source logic analyser with a claimed 96 MSPS sample rate using an off-the-shelf Lattice iCEstick FPGA evaluation board that only costs about $20. It talks to a host computer via USB using the established SUMP protocol, so its software front-end comes from the sump.org logic analyser project. Edit: Since this post was published [Kevin] has contacted us to inform us that the project’s capabilities have now moved beyond SUMP’s capabilities and in fact it now uses his own software.

This project has the promise to add a very useful piece of test equipment to the armoury of the engineer on a budget, and to aid the cost-conscious reader he’s provided extensive documentation and installation instructions, as well as the code for the FPGA. Thanks to one of the more awesome hacks of 2015, there is an entirely open toolchain for this Lattice part, and our own [Al Williams] has written up a multi-part getting-started guide if you want to get your feet wet. You probably want one of these anyway, and now it’s a logic analyzer to boot.

We’ve covered quite a few inexpensive home-produced digital instruments here over the years, including this logic analyser with a slightly higher price tag, this inexpensive VNA, and this oscilloscope board. Maybe one day the bench of our dreams will all come on one open-source PCB for $100, who knows!

Repairing 14 Tektronix TLA5202 Logic Analyzers

[Matthew D’Asaro] was recently entrusted with an entire classroom fleet of fourteen broken Tektronix TLA5202 logic analyzers — a pile of equipment that once was worth hundreds of thousands of dollars. His task: Fixing them. He fixed them all, and on the way documented a number of common failure points in these old but still great devices.

Continue reading “Repairing 14 Tektronix TLA5202 Logic Analyzers”

When You Need a Scope, You Need a Scope

Sometimes there’s just no substitute for the right diagnostic tool. [Ankit] was trying to port some I2C code from an Arduino platform to an ARM chip. When the latter code wasn’t working, he got clever and wrote a small sketch for the Arduino which would echo each byte that came across I2C out to the serial line. The bytes all looked right, yet the OLED still wasn’t working.

Time to bring out the right tool for the job: a logic analyzer or oscilloscope. Once he did that, the problem was obvious (see banner image — Arduino on top, ARM on bottom): he misunderstood what the ARM code was doing and was accidentally sending an I2C stop/start signal between two bytes. With that figured, he was on the right track in no time.

We just ran an epic post on troubleshooting I2C, and we’ll absolutely attest to the utility of having a scope or logic analyzer on hand when debugging communications. If you suspect that the bits aren’t going where they’re supposed to, there’s one way to find out. It’s conceivable that [Ankit] could have dug his way through the AVR’s hardware I2C peripheral documentation and managed to find the status codes that would have also given him the same insight, but it’s often the case that putting a scope on it is the quick and easy way out.