On Mon, 14 Jul 1997 16:28:54 -0400 Andy Kunz writes: >At 02:23 PM 7/14/97 EDT, you wrote: >>bunch (maybe a dozen) of these in it with serial control (ideally with a >>serial out so the data can be looped into more PWM controllers). I'd >>like to be able to send a number into each of these PWM circuits and get >>a pulse whose width is proportional to the number. Most PWM stuff I've >>seen has been single channel and pretty much an analog circuit (PWM out >>proportional to analog input). Any digital PWM peripherals out there? > >Harold, > >My generic robotic controller does this, sort of. It accepts commands via >RS-232 or 485 (or R/C PWM, depending upon software configuration). It >outputs R/C PWM to up to 16 channels, each channel gets a 2mS slot with >data up to 2mS wide, on a rotating basis. If you use a serial input, the >two PWMs through the 16 channels at the same time (one PWM module runs 8 >channels, the other runs the other 8) for a complete refresh to each >channel every 16mS. If you go with a R/C PWM input, the signal cycles >every 32mS. > I did something like this to decode DMX512 (a lighting control protocol) out to analog. Set up a single PWM channel in a 16c74a to output 20 pulses of appropriate width (proportional to the analog out for that channel) through a resistor through a 4051 demux to a capacitor to ground. The single series resistor and all the capacitors to ground on the 4051 outputs formed a conbination low pass filter and sample/hold. When the demux was on another channel, the capacitor holds the last voltage it was at due to the LPF of the PWM. This is followed by a non-inverting amp to provide gain and a low output resistance. So... did something like your controller already (it's been in production for a few months now). The PWM controller I'm looking for would ideally give me 12 to 16 channels of continuous PWM at 20 to 50 KHz. I want to do 12 to 16 channels of digitally controlled buck (as opposed to boost) voltage control. Any digital peripheral chips like that out there? Thanks! Harold