Over many years there have been numerous attempts, with varying levels of success, to build programmable analogue parts. Some of the problems they have encountered have included limited (parametric) performance, functional blocks restricted to basic components (tiled arrays of op-amps and passive components) and lack of support in programming. Maxim says it has addressed all of these to make a fully-programmable, mixed-signal I/O chip.
You get 20 configurable, high-voltage, bipolar ports, each of which can be an ADC analogue input, a DAC analogue output, a general-purpose input port, a general-purpose output port, or an analogue switch terminal. The part combines a 12-bit, multichannel ADC and a 12-bit, multichannel, buffered DAC—all in a single, programmable IC.
As with any programmable part, the key to success is in the tools. Maxim has built a drag-and-drop programming environment (picture, above) in which you drag the function you require on to the workspace (in the configuration file, this action switches on that block) and wire them up with point-and-click connections. Windows open to set parameters for all the available functions.
Internal connections are switched lines controlled by register settings, so the programming is non-volatile, and has to be initialised by a configuration file at power-up – from for example, a small serial ROM. Maxim reports that in all of the typical applications it sees for the device, there is always a microcontroller nearby that also has a power-up routine, and the analogue programmable part needs only a minimal few lines of code added to that. You can also change the configuration on-the-fly if you require to do so.
The company reports that engineers are using the part to create customised I/O circuitry where no catalogue part exists that exactly matches the requirement; this can replace multiple discrete devices and passives, and save board area. Where a product line has a variety of input and output options, a single part and a single PCB layout can cover a range of product part numbers (say, the option of a 0 – 10V or a 4 – 20 mA output on a controller). A further option is to have that level of configurability in a single product, under software control.
You can download a detailed White Paper; or view an explanatory video; or download the programming software, from this page on Maxim’s website. The text that follows is edited from our mid-2014 report. (next page)