Ttelmah Guest
|
|
Posted: Sun Aug 13, 2006 6:09 am |
|
|
It depends massively on how fast the PWM needs to be. For low speeds, you can generate 'software' PWM, for example, using something like a 50uSec interrupt, and having 'down counters' for the pulse duration for each channel. With this sort of approach, something like 50Hz, with an 8bit PWM, is comfortably achievable.
You can also multiplex the existing PWM output, provided the 'target', only wants a short adjustable 'on' pulse. So, you can generate (say), a single PWM channel, and use an interrupt to update the output period for each pulse, and select the 'target' to send it to.
However, if you need 0-100% PWM outputs,at high speed, then you are going to need to look at adding a lot more hardware. There are I2C PWM chips, or you could adjust a pulse width with I2C/SPI controlled digital potentiometers.
There is no way to get 10 high speed full adjustable PWM outputs directly from the 877.
Best Wishes |
|