Micro with 4-independent PWM channels

Mike escreveu:

You may add to the other suggestions the TI TMS320LF2401, but yuo'll have a startup cost somewhat high (no free tools).

Ricardo

Reply to
Ricardo
Loading thread data ...

..and another option, at the high end, would be the new TMS470 ARM Flash uC from TI. From the info posted so far, it seems they have a timer-control-engine, somewhat similar to the Motorola TPU, on their timer channels. Has anyone used this ?

Probably a tad overkill for 4 x 1KHz PWMs :)

-jg

Reply to
Jim Granville

Rabbit 3000A has 4 independent 10bit PWM, interrupts, and has C support. You'll need an external A/D (it has hardware SPI) and it's more than $6.00.

formatting link

See ya, -ingo

--
/* Ingo Cyliax, cyliax@ezcomm.com, Tel: 812-391-0895 */
Reply to
Ingo Cyliax

Following up, I see a press release today

formatting link

that claims these are TMS470R1A64 @ $4.95/1K, and are available now, (so that was a faster release ramp than some) ....

-jg

Reply to
Jim Granville

Agreed. Why doesn't someone sell a dedicated chip as a PWM expander? It would be nice to find a SPI or I2C - compatible chip with 6 to 8 PWM outputs, at least 14 bits, for LED lighting applications. Preferably in a 14 or 16 -pin package, 5V compatible outputs.

All the micros are skimpy on hi-resolution PWM outputs.

mw

Reply to
mw

For LED Driving applications Maxim makes a number of ICs which can directly drive numerous LEDs. The current can be set individually for each LED. It does not use PWM, so for EMI it is better. Look at something like the MAX6957AAI, available at Digikey in small quantities.

Anton Erasmus

Reply to
Anton Erasmus

There are zillions of such chips in large scale LED video displays (the USD 1E6 per display kind).

Best regards, Spehro Pefhany

--
"it's the network..."                          "The Journey is the reward"
speff@interlog.com             Info for manufacturers: http://www.trexon.com
 Click to see the full signature
Reply to
Spehro Pefhany

Not so. Any of the Motorola (Freescale) micros with a TPU can have up to 16 high-resolution PWM outputs. They're a bit big and expensive to use as a PWM peripheral, though. ;-)

Mark Borgerson

Reply to
Mark Borgerson

For LED driving it's so so easy to program allmost any micro to perform this function. You dont need dedicated PWM chanells, you can do it in software as long as the frequency is not too high.

Reply to
CBarn24050

They do : try these

formatting link

4-16 PWM drives, and also blink...

-jg

Reply to
Jim Granville

It's not high resolution (only 8 bits), rather slow, and it's really only two PWMs mapped to 4-16 outputs. I can see where it would be useful for LED displays and even as a pre-driver for controlling coil driven devices (such as contactors). I've added it to my interesting devices list.

Robert

Reply to
R Adsett

this

as

I did 48 x 10 bit PWM timers in the FPSLIC once, using about half of 5000 gates, but then I did not need more...

-- Best Regards, Ulf Samuelsson snipped-for-privacy@a-t-m-e-l.com This message is intended to be my own personal view and it may or may not be shared by my employer Atmel Nordic AB

Reply to
Ulf Samuelsson

So I presume, this is now in an appnote ? Can you provide an URL ?

Regards Anton Erasmus

Reply to
Anton Erasmus

It was done, but the Appnote never got finished. So much to do...

-- Best Regards, Ulf Samuelsson snipped-for-privacy@a-t-m-e-l.com This message is intended to be my own personal view and it may or may not be shared by my employer Atmel Nordic AB

Reply to
Ulf Samuelsson

Sounds intriguing. What frequency could you run them at?

Robert

Reply to
R Adsett

The FPGA portion ran at 25 MHz. Design was really simple.

A 64 bit x 16 SRAM was implemented in the internal DPRAMs.

10 bits of each word, allocated to an event time. 6 bits allocated to a "timer number". 64 words means that I support 64 timers.

The timers have to be "sorted" according to PWM length.. The shortest PWM length is in position #0 in the SRAM.

The main blocks of the timer is

  • A state machine controlling which value should be written to a timer output..
  • A 10 bit counter/comparator connected to the SRAM "event"
  • An address register for the SRAM.

In state 1, the address counter counts from 0..47. The event counter is also started. The state machine ensures that outputs selected though the "timer number" in the SRAM are set.

In state 2, the address is reset to zero, addressing word 0. Any timer output selected here, will be cleared. The event counter continues to count and will have reached 48 at this point. When (SRAM.event[adr] == counter), the timer output is cleared and the address register is incremented to point at the next counter.

There are a few limitations with this. It is not rail to rail. A PWM output can only be high from 0..(1024-48) so you lose 5% of the duty cycle. Two timers cannot change value at the same time.

The end customer thought this was nice, since toggling 48 outputs simultaneously caused ground bounce.

--
Best Regards
Ulf at atmel dot com
 Click to see the full signature
Reply to
Ulf Samuelsson

So that would be a 25kHz (or so) PWM?

I can see a few other (non-pwm) potential uses for this type of structure.

If you ever do write up an appnote it sounds like it would be an interesting read.

Robert

Reply to
R Adsett

ElectronDepot website is not affiliated with any of the manufacturers or service providers discussed here. All logos and trade names are the property of their respective owners.