Maker Pro
Maker Pro

current mirrors and LED matrix driving

J

Jon Kirwan

Okay. So I've been considering current mirror design and, in
particular, the idea of applying resistors on either or both
of the emitters. (I'm ignoring the Wilson mirror, for now. So
just the basic 2-bjt current mirror.) For now, I'm just
trying to see if I can simulate in mathematics form what a
spice program would achieve given a model and a situation. I
think I've got it nailed down but I'd like to expose some of
my thinking for a reality check.

One of the first things that showed it's ugly head is the
ohmic Re' of a bjt. The ohmic Rb' was something I'd already
thought about before (seemed more obvious to me at the time.)
But what I hadn't recognized right away was that Re' is
multipled by (beta+1) when reflected to the base and even
small values of Re' then look a lot bigger than Rb' and will
dominate the calcs. (This is BEFORE adding in an actual Re as
a separate circuit element.)

This didn't become an issue when using a simple mirror,
because both bjts had about the same currents in them. So the
reflected values created the same voltage drops. But it IS an
issue when I decide to use an external Re in one emitter.
Then, there are significantly different currents and I have
to take this into account to gain any useful prediction.

One interesting note is that some of the bjt models I have
don't even specify Re' and LTspice defaults it to 0 if it
isn't given. For example, the 2N4403 in the builtin LTspice
models doesn't supply Re'. But it does supply Rb'. However,
the 2N2907 model does supply both. Hmm. Can't trust anything.

So for example, with Rb'=10 (commonly slapped onto models)
and Re'=.2 (say, the 2N2907 just mentioned), and beta=250 for
that device, I get a reflected value of about 50 ohms, which
is 5 times larger than Rb'. So it can't be ignored in some
situations (as where I may use one emitter resistor.)

The other thing is that when operating a mirror with
different currents, heating will be very different in the
two. Even on a common substrate, let alone with discrete
devices. Most especially if the output bjt is supplying a lot
more current and with a collector that may be causing a large
Vce drop, besides. And at -2mv/C for Vbe, and 10X Ic for
every 60mV change, this makes it almost impossible to
consider if there isn't a closed loop where the actual Ic is
monitored and used to control the current via feedback. Which
reduces its attractiveness.

I find I'm able to manually (with a calculator) replicate
LTspice results to about 3-5 parts per thousand over a very
wide range of circuits and bjt devices. It's iterative, in
the sense that I have to repeatedly do an estimate and plug
that back in. (I couldn't develop a closed equation.) So I at
least think I've got that part nailed down.

But is the above thinking about right? Or is there something
else I've missed about this topology that I failed to mention
above? Seems that a Wilson mirror helps a little bit with the
different heating issue (by returning the Vce on the output
side bjt to something much smaller) but at the expense of
more headroom required and another device.

Anyway, interested in thoughts, points, etc. I can see why
these are much more useful in ICs than discrete. Most
especially if there is any differential currents involved.

My thoughts here are about driving an LED matrix. I an
considering the idea of using an external mirror (but with
gain) so that the 5916 can drive it with smaller controlled
currents. The problem seems to be that I get nothing from the
exercise, as different heating will unravel the whole idea
and force me to figure out a feedback scheme, which then adds
further discrete device complexity and adds still more
headroom I don't want to waste.

Jon
 
J

Jon Kirwan

You're perhaps trying to make the problem too difficult. Take a look
at this old posting that compared current mirror styles...

http://www.analog-innovations.com/SED/EnhancedCurrentMirrors.pdf

Thanks. Looking at it now.
As for applying emitter resistors, that is for offset mismatch
correction (IS mismatch). A good rule of thumb is to drop...

10*kT/q or about 250mV in the emitter resistors.

I'm looking at them because I want to use the 5916 and set it
for perhaps 10mA and use the mirror to multiply that to
100mA. I do NOT want to pull 100mA to get 100mA -- terrible
waste, besides not solving the problem.
Retract from thinking re and rb and think a logarithmic device.

I did both. The Vbe = kT/q * ln( I / Is ) part is what I use
when considering both Vbe's. The Re' and Rb' are just for the
additional drops I have to account for, in addition. It
actually gets me to below half a % error over a wide range vs
spice, using both terribly bad and somewhat okay bjt models.
So I've got the math down right.

The problem is.. discrete mirrors don't seem to help with my
problem. I think temperature is going to kill me and make me
do feedback I don't want to add. I don't see a temperature
run in your pdf. And none of them include current gain. But I
enjoy seeing the plots vs beta.

I'd like to set things up so that I can control maximum LED
current (I will PWM down from that reference) on an
individual column or row basis and dissipate power, doing it.
I will try and target the rails closely, so that power loss
in the control circuit is as low as reasonable. But I want
the flexibility to waste power in some circumstances (don't
want to bother with a switcher, for example, and decide in
some events that some single available rail for R, G, and B
is more important than the loss of power at the current
sink/source. The 5916, even if I'm wrong about having only
750mV at 100mA (times 8), and it can handle a little more
than that, still won't be enough. I want to have a design
that can go to 160mA (20mA times 8) and still have at least
2.8V of dissipative margin at the sink/source. (That comes
from considering a +5V rail and 2V RED LEDs with only 200mV
for the other side switch.) That's near half a watt, each. 4
watts total for x8. Not hard with discrete parts, power wise.
Just that temperature will murder me, I think.

This is bugging me.

Jon
 
J

Jon Kirwan

Those are all 1:1 mirrors, but still some temperature effects if lots
of dissipation.

There is very a slight difference in Ic, but mostly I think
your comment comes from the Early effect for the standard
mirror. In the case of the Wilson, though, Vce between the
two should be much closer, right? So not too bad. Or am I
missing something here?
Multiplicative mirrors are nasty when done with discrete devices.

Yeah. It's all bad, it seems.
For accuracy you're probably stuck with feedback.

Okay. So maybe a tenth ohm on the switch side against a
convenient reference (like ground) so that I can amplify and
measure it. Darn.
How many are on at once?

As many as 8, as little as zero.
I'd give you some video chips I designed, but the company went
belly-up before it got to foundry :-(

When I worked on the optical intensity and color calibration
setup for OSRAM (mostly coding, some optical bench work), I
got to see just a little bit into the design issues they
contended with. Those 16x16 modules were HEAVY -- massive
heat sink on the back side and steel plate that the LEDs were
set into. They also used 6 ICs with lots of pins to handle
the RGB module. And they used custom ICs for this. 100W per
module capacity. Three separate rails for each color with the
rails custom designed externally to power them. They were
used in 20kW panels by an OEM customer.

I'm not trying to get to that point. :) For starters, it's
not yet RGB (and may not be for some time.) And its 1/4th as
many LEDs right now and actually 1/12th because I'm not using
RGB. And less peak current besides. And for the first one,
it's still less because its 5x7, not 8x8 (though I want room
to grow quickly into 8x8.)

But say potentially 5W dissipated in control circuitry in
some cases (with fixed 5V supplies without a switcher) and
another 4-5W in the LEDs? This is looking really ugly (with
BJTs, anyway.) And I don't know, offhand, of any ICs to use
that can support that on a x8 basis, either. I doubt I can
bond enough heavy iron to the 5916 for still air at that
power. Even with the new datasheet numbers where it specifies
about 40 C/W to the topside package surface, and assuming a
perfect heatsink with 0 C/W, 5W will push the junctions +200C
over ambient.

And I darned well don't want to use 1:1 current gain in a
discrete mirror to get back some thermal stability and lose
the feedback requirement! What a waste of power that would
be. So it's back to feedback, I think. Much as I hate the
idea.

Jon
 
J

Jon Kirwan

My video chip was 25:1 mirror-ratio, but PWM'd, 48 outputs, ALL CMOS
;-)

Well, darn it. With all these FAB brokers around, you should
be able to easily get a single wafer slipped in there for me.
I'll supply the hack saw. ;)

Thanks for the time, Jim. Appreciated.

Jon
 
W

whit3rd

On Wed, 13 Mar 2013 12:46:11 -0700, Jim Thompson

... I want to use the 5916 and set it
for perhaps 10mA and use the mirror to multiply that to
100mA. I do NOT want to pull 100mA to get 100mA -- terrible
waste, besides not solving the problem.

[and apparently this is for LED drive}

There's two clean solutions: one, is to use a mismatched pair
of sense resistors, and an op amp to balance the mirror; a single
transistor (bipolar if you care about low voltage biasing, MOS if
there's enough drive swing) passes the high current.

The other, is to use multiple power supplies (low voltage one
to drive the input side of the current mirror, high voltage on output side)
and (for instance) series-connecting the LEDs so the ratio can
be near 1:1 and still get most of the power to the load.

Thermal effects, as you know, make 100mA mirrors somewhat
inaccurate; that might not matter, if you can tolerate 20% errors.
If 100% errors are OK, it doesn't matter at all. :)
 
J

Jon Kirwan

On Wed, 13 Mar 2013 12:46:11 -0700, Jim Thompson

... I want to use the 5916 and set it
for perhaps 10mA and use the mirror to multiply that to
100mA. I do NOT want to pull 100mA to get 100mA -- terrible
waste, besides not solving the problem.

[and apparently this is for LED drive}

There's two clean solutions: one, is to use a mismatched pair
of sense resistors, and an op amp to balance the mirror; a single
transistor (bipolar if you care about low voltage biasing, MOS if
there's enough drive swing) passes the high current.

An opamp per mirror is... more than I want to do if I can
find any other approach. But I'll look at that, too.
The other, is to use multiple power supplies (low voltage one
to drive the input side of the current mirror, high voltage on output side)
and (for instance) series-connecting the LEDs so the ratio can
be near 1:1 and still get most of the power to the load.

I'm not yet sure I follow that. I can't series connect the
LEDs, since that would force those in the series to be either
ON or OFF together. I need individual control of each one.
But I'll digest this more and see if I can make sense of the
words, later.
Thermal effects, as you know, make 100mA mirrors somewhat
inaccurate; that might not matter, if you can tolerate 20% errors.
If 100% errors are OK, it doesn't matter at all. :)

Somewhat?? If I'm driving a 1:10, and if Vce on the output
side can be 2.8V, thermal will kill me. We're talking -2mV
per C here. 30C difference puts me at a thermal driven
delta=60mV and that is a factor of 10 in Ic by itself, let
alone the programmed 1:10 assuming they are at the same temp.
And since I can't, a priori, say which LEDs are on or for how
long they will be needed in active displays, my thermal
design is ... essentially undesignable. So I can't factor
that into my 1:10.

If I could get to within 20%, I'd probably call that good.
But I can't, so far as I can see.

Jon
 
J

Jon Kirwan

46:11 -0700, Jim Thompson

... I want to use the 5916 and set it
for perhaps 10mA and use the mirror to multiply that to
100mA. I do NOT want to pull 100mA to get 100mA -- terrible
waste, besides not solving the problem.

[and apparently this is for LED drive}

There's two clean solutions: one, is to use a mismatched pair
of sense resistors, and an op amp to balance the mirror; a single
transistor (bipolar if you care about low voltage biasing, MOS if
there's enough drive swing) passes the high current.

An opamp per mirror is... more than I want to do if I can
find any other approach. But I'll look at that, too.

Sounds like only 8 OpAmps, then a switch matrix, if, as you said, a
maximum of 8 on at once?
<snip>

I'm not excluding it. It may be the best way to go. I'm just
letting my mind rove a little longer before I settle down.

Jon
 
Top