In many systems, a high numbers of inputs and/or outputs are required, where this number far exceeds the available pin-count on a microcomputer.
As far as the industrial world is concerned, electronic control is about inputs and outputs. What goes on between the two is a "black box." These inputs and outputs are never at the supply voltage of the black box electronics -- unless, of course, the system is realized exclusively in relays -- and so the signals have to be translated to the required levels. 24VDC is probably the most dominant industrial voltage, followed by 120VAC in North America and ~230VAC elsewhere.
Oftentimes, a high numbers of inputs and/or outputs are required, where this number far exceeds the available pin-count on a microcomputer. One technique to handle these high numbers is to use shift registers. There used to be a wide selection of these shift registers available from multiple manufacturers. These were made with source or sink drivers and could drive up to 60V. There were serial input drivers with up to 32 outputs, even though -- in some cases -- the output current was not that high. These were especially useful for driving relays, LEDs, and even inputs to PLCs (programmable logic controllers). Board trace density was decreased because of the serial connections, and opto-isolation was easy.
TI and Sprague (later changed to Allegro) -- with companies like Micrel as second sources -- made dozens of devices in categories like "Vacuum Fluorescent Drivers" and "Peripheral Drivers." Part numbers pop out of my memory like TL5810 and UCN5812; I would love to use these again. Unfortunately, the producers -- first Micrel, then TI, and finally Allegro -- appear to have slowly decided that there is an insufficient market. Either that, or there is a conspiracy against me!
It seems to me that I am left with the following options:
- There are few 8-bit options in the TI "Power Logic" range like the TPIC6A259.
- The STP16CP05 16-bit LED driver from ST has an adjustable current limit, but can only handle 15V on the output.
- Freescale has the 16-bit MC33996 that can handle up to 50V on the output (if I understand the data sheet correctly).
- A standard serial to parallel shift register driving the standard Darlington open collector driver like the ULN2803, although the number of manufacturers of these also appears to be diminishing. Using these drivers, it would -- of course -- be possible to use individual microcontroller pins connected to each individual driver.
- Supertex (now part of Microchip) makes some very high-voltage (225V) devices like the HV5222. They also appear to make an 80V HV5812 which is an equivalent to the TL5812.
For the sake of completeness I should mention that there are some devices with input/output options as follows, but these all suffer the same problem in that they cannot handle elevated voltages on the I/O pins.
- The Microchip MCP23017, which is a 16-bit device.
- From Maxim, there are quite a few options with multiple I/O like the MAX7313.
- NXP have a few devices like the PCA9535. In fact, the PCA9505 actually has 40 bits of I/O.
So, that's where things stand at the moment. Are you aware of any other alternatives?