EmbeddedRelated.com
Forums
The 2024 Embedded Online Conference

PWM ICs

Started by Steve_Clevenger May 21, 2006
Hello Everyone,

I've lurked for a time, but this is my first post. I'm using an LPC2294 in
an automotive application. The on-board PWM module has a total of 6
channels, and only 3 of which can be used to program double edged. The
loading is such, the LPC's PWM module cannot handle the bandwidth. I need
a programmable 6 - 12 (independent) channel IC for pulse generation. SPI
or I2C slaves preferred. The resolution requirements are not great. The
(negative going) pulse widths I'll need are in the range .5 ms to 25 ms.
I've done quite a bit of searching on the internet, but nothing really
seems to match my requirements. Unless I come up with an appropriate
component I'll consider a PIC or other MCU as a dedicated SPI or I2C slave
to the Philips part. Can I get anyone's and everyone's $.02 on potential
alternatives. The component price is not a huge factor, but I'd like to
keep it $15 or below.

Regards,

Steve Clevenger


Steve_Clevenger wrote:

> seems to match my requirements. Unless I come up with an appropriate > component I'll consider a PIC or other MCU as a dedicated SPI or I2C slave > to the Philips part. Can I get anyone's and everyone's $.02 on potential
With all that you've described, I would be leaping for a small micro. I happen to dislike the PIC family, so I would probably be headed for an AVR, but whatever tickles your pickle...
"Steve_Clevenger" <steve.clevenger@arm.com> skrev i meddelandet 
news:66-dnRgnVJQP_u3ZRVn-rg@giganews.com...
> Hello Everyone, > > I've lurked for a time, but this is my first post. I'm using an LPC2294 in > an automotive application. The on-board PWM module has a total of 6 > channels, and only 3 of which can be used to program double edged. The > loading is such, the LPC's PWM module cannot handle the bandwidth. I need > a programmable 6 - 12 (independent) channel IC for pulse generation. SPI > or I2C slaves preferred. The resolution requirements are not great. The > (negative going) pulse widths I'll need are in the range .5 ms to 25 ms. > I've done quite a bit of searching on the internet, but nothing really > seems to match my requirements. Unless I come up with an appropriate > component I'll consider a PIC or other MCU as a dedicated SPI or I2C slave > to the Philips part. Can I get anyone's and everyone's $.02 on potential > alternatives. The component price is not a huge factor, but I'd like to > keep it $15 or below. > > Regards, > > Steve Clevenger >
No need to search further... The ARM7TDMI based AT91SAM7A3 has 9 independent general purpose counters with dual PWM. On top of that is has a PWM unit with 4 counters each with dual PWM for a total of 26 PWM outputs. Just get rid of the nasssty LPC and you are in business for much less than $15. -- Best Regards, Ulf Samuelsson This is intended to be my personal opinion which may, or may not be shared by my employer Atmel Nordic AB
I looked at the chip out of curiousity and I must say I am impressed.
All that at much less than $15... really good. Are the programming
sequences obtainable? (I mean so I can adapt my JTAG tools, not
having to buy anyone elses).

Dimiter

------------------------------------------------------
Dimiter Popoff               Transgalactic Instruments

http://www.tgi-sci.com
------------------------------------------------------

Ulf Samuelsson wrote:
> "Steve_Clevenger" <steve.clevenger@arm.com> skrev i meddelandet > news:66-dnRgnVJQP_u3ZRVn-rg@giganews.com... > > Hello Everyone, > > > > I've lurked for a time, but this is my first post. I'm using an LPC2294 in > > an automotive application. The on-board PWM module has a total of 6 > > channels, and only 3 of which can be used to program double edged. The > > loading is such, the LPC's PWM module cannot handle the bandwidth. I need > > a programmable 6 - 12 (independent) channel IC for pulse generation. SPI > > or I2C slaves preferred. The resolution requirements are not great. The > > (negative going) pulse widths I'll need are in the range .5 ms to 25 ms. > > I've done quite a bit of searching on the internet, but nothing really > > seems to match my requirements. Unless I come up with an appropriate > > component I'll consider a PIC or other MCU as a dedicated SPI or I2C slave > > to the Philips part. Can I get anyone's and everyone's $.02 on potential > > alternatives. The component price is not a huge factor, but I'd like to > > keep it $15 or below. > > > > Regards, > > > > Steve Clevenger > > > > No need to search further... > The ARM7TDMI based AT91SAM7A3 has 9 independent general purpose counters > with dual PWM. > On top of that is has a PWM unit with 4 counters each with dual PWM for a > total of 26 PWM outputs. > Just get rid of the nasssty LPC and you are in business for much less than > $15. > > -- > Best Regards, > Ulf Samuelsson > This is intended to be my personal opinion which may, > or may not be shared by my employer Atmel Nordic AB
"Didi" <dp@tgi-sci.com> skrev i meddelandet 
news:1148225363.483971.50800@g10g2000cwb.googlegroups.com...
>I looked at the chip out of curiousity and I must say I am impressed. > All that at much less than $15... really good. Are the programming > sequences obtainable? (I mean so I can adapt my JTAG tools, not > having to buy anyone elses). > > Dimiter >
You need to program the Samba Bootloader into the flash. There is a free version on www.at91.com somewhere in the SAM7 forum. Check if your tools support AT91SAM7 or get the SAM-ICE for $129. You can download the Atmel Samba PC S/W for free. Best Regards, Ulf Samuelsson This is intended to be my personal opinion which may, or may not be shared by my employer Atmel Nordic AB
> ------------------------------------------------------ > Dimiter Popoff Transgalactic Instruments > > http://www.tgi-sci.com > ------------------------------------------------------ > > Ulf Samuelsson wrote: >> "Steve_Clevenger" <steve.clevenger@arm.com> skrev i meddelandet >> news:66-dnRgnVJQP_u3ZRVn-rg@giganews.com... >> > Hello Everyone, >> > >> > I've lurked for a time, but this is my first post. I'm using an LPC2294 >> > in >> > an automotive application. The on-board PWM module has a total of 6 >> > channels, and only 3 of which can be used to program double edged. The >> > loading is such, the LPC's PWM module cannot handle the bandwidth. I >> > need >> > a programmable 6 - 12 (independent) channel IC for pulse generation. >> > SPI >> > or I2C slaves preferred. The resolution requirements are not great. The >> > (negative going) pulse widths I'll need are in the range .5 ms to 25 >> > ms. >> > I've done quite a bit of searching on the internet, but nothing really >> > seems to match my requirements. Unless I come up with an appropriate >> > component I'll consider a PIC or other MCU as a dedicated SPI or I2C >> > slave >> > to the Philips part. Can I get anyone's and everyone's $.02 on >> > potential >> > alternatives. The component price is not a huge factor, but I'd like to >> > keep it $15 or below. >> > >> > Regards, >> > >> > Steve Clevenger >> > >> >> No need to search further... >> The ARM7TDMI based AT91SAM7A3 has 9 independent general purpose counters >> with dual PWM. >> On top of that is has a PWM unit with 4 counters each with dual PWM for a >> total of 26 PWM outputs. >> Just get rid of the nasssty LPC and you are in business for much less >> than >> $15. >> >> -- >> Best Regards, >> Ulf Samuelsson >> This is intended to be my personal opinion which may, >> or may not be shared by my employer Atmel Nordic AB >
>news:66-dnRgnVJQP_u3ZRVn-rg@giganews.com... > >No need to search further... >The ARM7TDMI based AT91SAM7A3 has 9 independent general purpose counters
>with dual PWM. >On top of that is has a PWM unit with 4 counters each with dual PWM for a
>total of 26 PWM outputs. >Just get rid of the nasssty LPC and you are in business for much less
than
>$15. > >-- >Best Regards, >Ulf Samuelsson >This is intended to be my personal opinion which may, >or may not be shared by my employer Atmel Nordic AB >
The LPC probably has to stay. The working plan is to source the primary CPU module (CPU card) from Phytec or elsewhere. I'm ultimately trying to maintain 3U x 160mm dimensions. I considered one or two Atmel parts, but I wanted more clock than what I saw available off-the-shelf, and I had no information how high these parts had successfully been clocked. With it's feature set, the Atmel may otherwise make for a nice slave. Steve C.
Steve_Clevenger wrote:
> Hello Everyone, > > I've lurked for a time, but this is my first post. I'm using an LPC2294 in > an automotive application. The on-board PWM module has a total of 6 > channels, and only 3 of which can be used to program double edged. The > loading is such, the LPC's PWM module cannot handle the bandwidth. I need > a programmable 6 - 12 (independent) channel IC for pulse generation. SPI > or I2C slaves preferred. The resolution requirements are not great. The > (negative going) pulse widths I'll need are in the range .5 ms to 25 ms. > I've done quite a bit of searching on the internet, but nothing really > seems to match my requirements. Unless I come up with an appropriate > component I'll consider a PIC or other MCU as a dedicated SPI or I2C slave > to the Philips part. Can I get anyone's and everyone's $.02 on potential > alternatives. The component price is not a huge factor, but I'd like to > keep it $15 or below. > > Regards, > > Steve Clevenger > >
Have you considered a CPLD or one of the really cheap FPGAs (like the Spartan)? You may approach $15 from above rather than below, but I think there's ones out there that are close. -- Tim Wescott Wescott Design Services http://www.wescottdesign.com Posting from Google? See http://cfaj.freeshell.org/google/ "Applied Control Theory for Embedded Systems" came out in April. See details at http://www.wescottdesign.com/actfes/actfes.html
> Steve_Clevenger wrote: > >> Hello Everyone, >> >> I've lurked for a time, but this is my first post. I'm using an >> LPC2294 in >> an automotive application. The on-board PWM module has a total of 6 >> channels, and only 3 of which can be used to program double edged. The >> loading is such, the LPC's PWM module cannot handle the bandwidth.
You should clarify that: - do you mean the SW loading is too slow, or the PWM frequency is somehow wrong, or ?
>> I need >> a programmable 6 - 12 (independent) channel IC for pulse generation. SPI >> or I2C slaves preferred. The resolution requirements are not great. The >> (negative going) pulse widths I'll need are in the range .5 ms to 25 ms. >> I've done quite a bit of searching on the internet, but nothing really >> seems to match my requirements. Unless I come up with an appropriate >> component I'll consider a PIC or other MCU as a dedicated SPI or I2C >> slave >> to the Philips part. Can I get anyone's and everyone's $.02 on potential >> alternatives. The component price is not a huge factor, but I'd like to >> keep it $15 or below.
There are LED drivers that do mulichannel PWM dimming, but they are likely to be too LED focused. That leaves CPLD and uC. A good tiny uC that will do Slave PWM, is ATmel (new) AT89LP213. That has two 8 bit HW PWM, and buffered SPI, in TSSOP14, so sprinkle 3-6 of those about. The core is fast enough, to handle fault protection If SW PWM is also OK, the larger LP2052 has more pins, so could manage SW PWM. CPLD can also do this, but tend to have less than ideal resource/pin count ratios - they are a good fall-back, if no uC solution can be found. -jg
This application uses HW PWM. The basic problem with the LPC is the PWM
channels are not completely independent, and there's not enough of them.
The PWM MR0 match register establishes the cycle rate (period) for PWM
channels 1 - 6. Within a particular cyle, you can use channels as single
edge (6 channels), or double edge (3 channel limit due to the overlap of
match register assignments). Consider this a PWM bank. Suppose it's
possible to muliplex (reuse) these channels using a CD4053 or some such.
If you need an available channel for a 10 ms pulse every 5 ms everything
looks good until pulse #4 where an overrun of 5 ms is suffered before the
first channel is available to reuse/reprogram. I'll have significantly
more traffic than that. I think the primary requirement is channel
independence. If I can find such a usage model, I won't need as many
channels.

Steve C.

>> Steve_Clevenger wrote: >> >>> Hello Everyone, >>> >>> I've lurked for a time, but this is my first post. I'm using an >>> LPC2294 in >>> an automotive application. The on-board PWM module has a total of 6 >>> channels, and only 3 of which can be used to program double edged.
The
>>> loading is such, the LPC's PWM module cannot handle the bandwidth. > >You should clarify that: - do you mean the SW loading is too slow, or >the PWM frequency is somehow wrong, or ? > > >>> I need >>> a programmable 6 - 12 (independent) channel IC for pulse generation.
SPI
>>> or I2C slaves preferred. The resolution requirements are not great.
The
>>> (negative going) pulse widths I'll need are in the range .5 ms to 25
ms.
>>> I've done quite a bit of searching on the internet, but nothing
really
>>> seems to match my requirements. Unless I come up with an appropriate >>> component I'll consider a PIC or other MCU as a dedicated SPI or I2C >>> slave >>> to the Philips part. Can I get anyone's and everyone's $.02 on
potential
>>> alternatives. The component price is not a huge factor, but I'd like
to
>>> keep it $15 or below. > >There are LED drivers that do mulichannel PWM dimming, but they are >likely to be too LED focused. > That leaves CPLD and uC. > > A good tiny uC that will do Slave PWM, is ATmel (new) AT89LP213. That >has two 8 bit HW PWM, and buffered SPI, in TSSOP14, so sprinkle 3-6 of >those about. The core is fast enough, to handle fault protection > > If SW PWM is also OK, the larger LP2052 has more pins, so could manage >SW PWM. > > CPLD can also do this, but tend to have less than ideal resource/pin >count ratios - they are a good fall-back, if no uC solution can be
found.
> >-jg > >
>news:66-dnRgnVJQP_u3ZRVn-rg@giganews.com... > >No need to search further... >The ARM7TDMI based AT91SAM7A3 has 9 independent general purpose counters
>with dual PWM. >On top of that is has a PWM unit with 4 counters each with dual PWM for a
>total of 26 PWM outputs. >Just get rid of the nasssty LPC and you are in business for much less
than
>$15. > >-- >Best Regards, >Ulf Samuelsson >This is intended to be my personal opinion which may, >or may not be shared by my employer Atmel Nordic AB >
The LPC probably has to stay. The working plan is to source the primary CPU module (CPU card) from Phytec or elsewhere. I'm ultimately trying to maintain 3U x 160mm dimensions. I considered one or two Atmel parts, but I wanted more clock than what I saw available off-the-shelf, and I had no information how high these parts had successfully been clocked. With it's feature set, the Atmel may otherwise make for a nice slave. Steve C.

The 2024 Embedded Online Conference