From: Spehro Pefhany on
On Thu, 06 Apr 2006 17:10:12 GMT, the renowned Jonathan Kirwan
<jkirwan(a)easystreet.com> wrote:

>On Thu, 06 Apr 2006 13:05:38 -0400, Spehro Pefhany
><speffSNIP(a)interlogDOTyou.knowwhat> wrote:
>
>>On Thu, 6 Apr 2006 09:44:34 -0700, the renowned Mark Borgerson
>><mborgerson.at.comcast.net> wrote:
>>
>>>You can avoid startup glitches by using a simple NPN transistor
>>>driver instead of an FET. This requires a base current limiting
>>>resistor, but you don't get a glitch if the MCU pin floats, as
>>>the transistor responds to current, not voltage.
>>
>>Unless you are using one of those execrable pseudo-bidirectional
>>ports, such as on some 8051 variants, that too-closely mimic the
>>original. In such a case, two transistors and four resistors per LED
>>might be required to allow the higher voltage positive supply and
>>glitch-free operation.
>
>I remember you saying that the 8051 port uses a strong pullup with a
>weak pullup and that the strong pullup is switched on briefly when the
>pin is driven high.
>
>But can you expand on this a little more?

When powered up the pins are pseudo-inputs (outputs set to "high"),
which means the weak pullups are on. That's enough to drive (or,
perhaps worse, partially drive) a BJT.

>In the case of a higher V+ for the LED, how does the old 8051 port pin
>require two BJTs for glitch free operation, perhaps in the context of
>your earlier point about the pullups?
>
>Jon

Something like this (you drive the pin LOW to turn the LED on).
The weak pullup holds the PNP transistor 'off', at least on modern
CMOS parts, when the part is reset.


Vled
+
|
VCC .-.
+ | |
| | |
Port pin | '-'
___ |< |
o----|___|--| |
|\ V LED
| -
| |
.-. |
| | |
| | |
'-' |
| |/
+-----|
.-. |>
| | |
| | |
'-' |
| |
+--------
|
|
GND





Best regards,
Spehro Pefhany
--
"it's the network..." "The Journey is the reward"
speff(a)interlog.com Info for manufacturers: http://www.trexon.com
Embedded software/hardware/analog Info for designers: http://www.speff.com
From: Joerg on
Hello Richard,

> I'm looking for a driver chip to run several "high-current" (20-30mA)
> LEDs from a single MCU. I've got enough MCU pins for a 1:1 solution,
> but the current exceeds the MCU ratings for direct connection.
>
> There's no shortage of advertisements for LED driver chips like Maxim's
> MAX6966, which could do the job (via SPI). I've got to think there's a
> simple multi-channel transistor package for this purpose, but Digikey
> searches on "buffer" or "driver" turn up too many hits to filter through.
>
> What generic part number should I be searching for (and how does one
> find these generic numbers in the first place)?
>

Check out the Philips PCA9532, around $2 and Digikey has them. But abs
max is 25mA per output and watch the grand total limit. It has a nice
PWM scheme to adjust all the LEDs and you can control it via I2C.

Regards, Joerg

http://www.analogconsultants.com
From: Jonathan Kirwan on
On Thu, 06 Apr 2006 13:38:13 -0400, Spehro Pefhany
<speffSNIP(a)interlogDOTyou.knowwhat> wrote:

>On Thu, 06 Apr 2006 17:10:12 GMT, the renowned Jonathan Kirwan
><jkirwan(a)easystreet.com> wrote:
>
>>On Thu, 06 Apr 2006 13:05:38 -0400, Spehro Pefhany
>><speffSNIP(a)interlogDOTyou.knowwhat> wrote:
>>
>>>On Thu, 6 Apr 2006 09:44:34 -0700, the renowned Mark Borgerson
>>><mborgerson.at.comcast.net> wrote:
>>>
>>>>You can avoid startup glitches by using a simple NPN transistor
>>>>driver instead of an FET. This requires a base current limiting
>>>>resistor, but you don't get a glitch if the MCU pin floats, as
>>>>the transistor responds to current, not voltage.
>>>
>>>Unless you are using one of those execrable pseudo-bidirectional
>>>ports, such as on some 8051 variants, that too-closely mimic the
>>>original. In such a case, two transistors and four resistors per LED
>>>might be required to allow the higher voltage positive supply and
>>>glitch-free operation.
>>
>>I remember you saying that the 8051 port uses a strong pullup with a
>>weak pullup and that the strong pullup is switched on briefly when the
>>pin is driven high.
>>
>>But can you expand on this a little more?
>
>When powered up the pins are pseudo-inputs (outputs set to "high"),
>which means the weak pullups are on. That's enough to drive (or,
>perhaps worse, partially drive) a BJT.

Thanks, that's dead clear.

>>In the case of a higher V+ for the LED, how does the old 8051 port pin
>>require two BJTs for glitch free operation, perhaps in the context of
>>your earlier point about the pullups?
>>
>>Jon
>
>Something like this (you drive the pin LOW to turn the LED on).
>The weak pullup holds the PNP transistor 'off', at least on modern
>CMOS parts, when the part is reset.
>
>
> Vled
> +
> |
> VCC .-.
> + | |
> | | |
> Port pin | '-'
> ___ |< |
> o----|___|--| |
> |\ V LED
> | -
> | |
> .-. |
> | | |
> | | |
> '-' |
> | |/
> +-----|
> .-. |>
> | | |
> | | |
> '-' |
> | |
> +--------
> |
> |
> GND

Or assuming that +V >= Vcc+1V or so, then something like:

> | +V +V +V
> | | | |
> | | | |
> | \ | |
> | / R2 _|_ D1 |
> | \ 22k /_\ 1N4148 |
> | / | |
> | | | |<e Q1
> | ,--+--------+--+-----| 2N3906
> | | | |\c
> | |/c Q2 | |
> | Vcc---| 2N3904 | |
> | |>e | |
> | | | |
> | | --- C1 |
> | | --- 22p ---
> | \ | \ / D2
> | / R1 | --- DD
> | \ 5.6k | |
> | / | |
> | | | |
> | | R3 | \
> | +------/\/\----' / R4
> | | 56k \ set as
> | | / needed
> | CONTROL---------' |
> | |
> | gnd

C1 and R3 just being an oft-useless, but sometimes useful, speed up to
overcome Q1's capacitance. D1 just to provide a path for C1 charge
when 'going the other way' (or pushing instead of pulling.) So it
really can be reduced to a much simpler:

> | +V +V
> | | |
> | | |
> | \ |
> | / R2 |
> | \ 22k |
> | / |
> | | |<e Q1
> | ,--+-----------| 2N3906
> | | |\c
> | |/c Q2 |
> | Vcc---| 2N3904 |
> | |>e |
> | | |
> | | |
> | | ---
> | \ \ / D2
> | / R1 --- DD
> | \ 5.6k |
> | / |
> | | |
> | | \
> | | / R4
> | | \ set as
> | | / needed
> | CONTROL---------' |
> | |
> | gnd

One less resistor. The pin still has to handle enough current for
driving Q1 as needed, though, so your circuit is better that way.

Thanks for the information. I just couldn't remember the details
about the 8051 pins.

Jon
From: M.Randelzhofer on
"Richard H." <rh86(a)no.spam> schrieb im Newsbeitrag
news:IR9Zf.12763$kT4.6195(a)fed1read02...
> I'm looking for a driver chip to run several "high-current" (20-30mA)
> LEDs from a single MCU. I've got enough MCU pins for a 1:1 solution,
> but the current exceeds the MCU ratings for direct connection.
>
> There's no shortage of advertisements for LED driver chips like Maxim's
> MAX6966, which could do the job (via SPI). I've got to think there's a
> simple multi-channel transistor package for this purpose, but Digikey
> searches on "buffer" or "driver" turn up too many hits to filter through.
>
> What generic part number should I be searching for (and how does one
> find these generic numbers in the first place)?
>
> Also, is there any trick to driving blue & white LEDs, or just
> additional current and higher forward voltage?
>
> Thanks,
> Richard

This one is a good one, but not very popular at the moment:
http://www.ebv.com/services/mip/mip200401/english/nlsf595.pdf
and:
http://www.onsemi.com/pub/Collateral/NLSF595-D.PDF

MIKE

--
www.oho-elektronik.de
OHO-Elektronik
Michael Randelzhofer
FPGA und CPLD Mini Module
Klein aber oho !


From: John B on
Richard H. scrobe on the papyrus:

> I'm looking for a driver chip to run several "high-current" (20-30mA)
> LEDs from a single MCU. I've got enough MCU pins for a 1:1 solution,
> but the current exceeds the MCU ratings for direct connection.
>
> There's no shortage of advertisements for LED driver chips like
> Maxim's MAX6966, which could do the job (via SPI). I've got to think
> there's a simple multi-channel transistor package for this purpose,
> but Digikey searches on "buffer" or "driver" turn up too many hits to
> filter through.
>
> What generic part number should I be searching for (and how does one
> find these generic numbers in the first place)?
>
> Also, is there any trick to driving blue & white LEDs, or just
> additional current and higher forward voltage?
>
> Thanks,
> Richard

What about the old faithful MM5450 with an SPI compatible interface. It
will drive 35 LEDs @ 15mA each and as the outputs are constant current,
they can be paralleled up for higher drive currents.

--
John B
First  |  Prev  |  Next  |  Last
Pages: 1 2 3 4 5 6 7
Prev: TI MSP430
Next: Tricore: serial download of source code