The selected SN74HCS594PWR shift register can only source
I found in Maximum Output Constant-Current that the maximum current that may be supplied to each channel is
where there are 35 anodes connected to each output of the shift register, as per the final Layout Design. This corresponds to
such that each shift register output must be capable of sourcing
when all pixels in a row are fully on simultaneously.
I will therefore need to design a current gain stage that can amplify
I will evaluate both a BJT-based topology and a FET-based topology, but I suspect a FET solution would be desirable due to:
As my shift registers are being used to supply the common-anode supply of my RS-1515MBAM LEDs, I am effectively designing a high-side switch between
This produces a basic high-side PNP topology like the following:
where I have a base resistor of
I also have two active low control signals
0 | 0 | 1 |
0 | 1 | 0 |
1 | 0 | 0 |
1 | 1 | 0 |
First, I will try a simple PNP common-emitter topology, as in the basic high-side topology sketched above. I will simulate this circuit in LTspice.
As expected, we see a constant base current being sunk into the shift register when the signal is active, with a magnitude of
We see that this topology is behaving as expected; sinking current through the LED when both the shift register and driver are LOW
, and cutting off current when the shift register signal goes HIGH
.
I am simulating with the 2SB1706
PNP transistor due to its
Switching to the 2SB1708
with a gain
Looking at the power dissipated by the transistor, we see that it is dissipating over
Although I could look at power transistors for better power dissipation, these will have much smaller DC gains.
Replacing the PNP BJT transistor with a P-channel MOSFET in a common-source configuration, I have the below circuit:
As expected, we see a maximum current of
Once again, we see correct behaviour of this switch, with current passing when the shift register is pulled LOW
and the driver load sinking current—and current ceasing to flow once the shift register is pulled HIGH
. We do observe a slower off-transition in this case however, as the gate voltage takes a few microseconds to charge back up—but this effect is negligible.
I am simulating with the IRF7205
fast switching MOSFET due to its low on resistance of
The low on resistance of this FET gives a power dissipation of
which should be no issue at all.
This is also verified by the simulation.
I will move forward with this design, and do a parts selection for a suitable P-Channel MOSFET, before verifying the final circuit in LTspice.
Simulating the selected SIL2301-TP device with an added gate-source pull-up resistor, I see exactly what I would expect to see.
I will now need to select the part numbers for my gate in-rush limiting and gate pull-up resistors. As these resistors are used in a low-power, low-precision application, their values/characteristics are not critical.
I will also move the gate pull-up resistor to be on the shift register side, to reduce the pull-up effect when the signal is being driven LOW
. I see that, without the pull-up resistor, the gate is pulled down to the LOW
-level output of the shift register of LOW
-level input voltage of
For BOM consolidation reasons, I will reuse the
If the SN74HCS594PWR cannot output the
I did know that this was the problem with using a P-channel FET in this manner, I just hoped it would be fine...
Design a more robust circuit (ie bootstrapping/gate drive) that eliminates this possibility.
Why can't I just drive the GPIO as open-drain with a pull-up resistor?
Also, could I run VLED on 3.3V? This is just risking the max Vf—it would be fine for the typical, but not the max VF.
The SIL2301-TP has a max threshold voltage of 1V, so 3.3 will be more than sufficient, just that the Rdson will be slightly larger.
Oh, the problem is only if I draw too much current from the shift register! If current is 0 (ie once the gate is charged), it is effectively VCC!