He raised his binoculars and scanned the surface of the water. The wind was gusting – causing irregular dark patches of waves to move mysteriously across the surface. Whitecaps broke here and there. “It was a day just like this when it appeared,” he recalls somberly. “It raised up right over there, and I watched it for a good twenty seconds as it moved left to right – like nuthin’ I ever saw in my life. Then, it dropped back outa’ sight and I ain’t seen it since.”
OK, maybe programmable analog isn’t quite as elusive as legendary lake monsters, but it might be close. We see the occasional press release or hear a buzz at a conference that “programmable analog has finally arrived!” – but then the idea drops back into the darkness and disappears.
It turns out there’s a good reason for this recurring disappearing act. Programmable analog is hard.
One of the reasons that the digital revolution has been so incredibly successful is that digital circuits are actually pretty easy. Once we agree on what voltage should represent zero and what should represent one, we can retire safely to the abstraction of our design, comfortable in the knowledge that no more actual circuit design is required. Analog has no such refuge. Every wiggle in the signal matters – and not just to decide whether it’s closer to zero or one. The range of voltages, drive currents, and frequencies is vastly broader. The impact of noise is exponentially more profound.
You can make a respectable digital circuit with zillions of components and wires that are almost identical. In analog, it seems, every instance of every component needs to be a little different. So, where you can make a programmable digital circuit by plopping down a whole bunch of identical unconnected components (like gates or LUTs), that approach won’t even get you out of the gate with analog.
Maxim Integrated has decided to bravely summon the slithering beast up from the darkest murky depths of technological obscurity. This week, they are announcing what they call PIXI technology, and programmable analog will once again be in the sights of anxious circuit spotters everywhere.
To be fair, Maxim categorizes the MAX11300 PIXI as “configurable analog” rather than “programmable analog” but hey, we needed the catchy headline, and we honestly haven’t completely internalized the difference. With this device, you can mix and match 20 ADCs, 20 DACs, or 20 high-voltage digital IO pins, in any order. See? We’re not sure if that makes it “programmable” or just “configurable.” What we are sure of, however, is that we’d love to have one of these sitting next to our FPGA. The biggest thing most FPGAs don’t do at all is analog, which is unfortunate, because we actually live in a completely analog world. In order for our FPGA to do just about anything interesting, it needs some analog on the front end, the back end, or both. PIXI technology, then, does for FPGAs what FPGAs have always done for the rest of our design – it creates a flexible bridge that lets the analog and the digital stuff communicate.
Inside, the MAX1130 PIXI sports a 12-bit multi-channel analog-to-digital converter (ADC), a 12-bit multi-channel buffered digital-to-analog converter (DAC), and high-voltage analog switches and digital IOs. It has a wide, -10V to +10V range, and it can handle high-voltage bipolar signals, giving it a lot more flexibility than the analog features built into the few FPGAs that actually support analog. The device’s 20 pins can be arbitrarily mapped to fit your application, so you can create a pinout that makes the PCB layout much more efficient.
Maxim provides a GUI-based configuration tool that allows you to create the configuration files, and devices can be re-configured. The device can be set up as 0V to +10V, 0V to 2.5V, +/- 5V, or -10V to 0V. Those options let you hook up to a very useful variety of standard levels on the analog side, and they make the yucky analog part of your system design a whole lot easier. In fact, they make the analog part easy enough that most of us digitally-biased folks could probably handle the analog part just fine by ourselves, thank you. No help needed here, analog dude, just cruise on back to your tie-dyed cubicle.
The device is compact – available in a 40-pin 6mm x 6mm TQFN package or in a 48-pin 9mm x 9mm TQFP package, and it costs less than six bucks. That’s probably not much more than all the discrete analog components that were going to be cluttering up your board, and it’s way smaller and easier to manage. You get bonus points for reducing the number of items in your BOM as well.
Maxim provides a cute little prototyping kit and a peripheral module, as well as a PA Bias reference design. Load up their GUI app, drag and drop the analog units you want to use and hook ‘em up to the pins, and you’re ready to roll. You don’t need to write any code or learn any cryptic languages. It’s simple enough that even a tech-pub editor can do it without special training.
While it may be debatable whether or not Maxim has finally launched the legendary “programmable analog” – what is clear is that this is a very handy little device that could easily become your FPGA’s best friend. For a wide range of applications, one of these guys parked next to your FPGA will be able to easily handle the analog in and out parts with an absolute minimum of drama – both in the circuit design and the PCB layout departments.
If PIXI is successful, there is clearly a lot of room for future expansion and enhancement of the line. Just as the first PLDs were simple, easy to understand, and easy to use, PIXI breaks us into programmable analog gently. Once we get our stripes, we’ll probably want to do more, and Maxim will most likely be standing by to give us those bigger, badder devices as well.
So, if PIXI really is the analog equivalent of the venerable 22V10 PLD, there should be some mind-blowing programmable analog stuff coming in the next few years. Let’s all hope so.
This chip is a far cry from a real programmable analog device. It’s just an A/D converter and D/A converter packaged together with some “stunt logic”. No signal processing going on in this device. And the conversion rate must be slow (I didn’t see it in the bullets, but with a 20 MHz SPI interface it can’t be all that fast). Still probably not a bad fit for a simple I/O controller interface.