Continue to Site

Welcome to EDAboard.com

Welcome to our site! EDAboard.com is an international Electronics Discussion Forum focused on EDA software, circuits, schematics, books, theory, papers, asic, pld, 8051, DSP, Network, RF, Analog Design, PCB, Service Manuals... and a whole lot more! To participate you need to register. Registration is free. Click here to register now.

Chaining multiple shift registers to a single device.

Status
Not open for further replies.

Jeff701

Newbie level 3
Newbie level 3
Joined
Apr 15, 2010
Messages
4
Helped
0
Reputation
0
Reaction score
0
Trophy points
1,281
Visit site
Activity points
1,364
The question: How many SPI data inputs can I drive from a single shift register's serial data output pin? I figure that they're likely to be high-impedance inputs, so the loading should be minimal. But the data output pin is not meant to source much power either. I didn't see anything in this datasheet concerning this sort of hookup. The only spec I see is that the serial-out pin can source 1mA.

spi_devices.png
(I didn't connect the rest of the control lines on this, partly for clarity.)




The background:

I've got a few different designs of large 7-segment display that need to be updated, and they've got varying numbers of LEDs in each segment.
I'm using ST Micro's STP08CP05 drivers, specifically the thermally-enhanced TSSOP device. It's a serial-in/parallel-out shift register, but it has constant-current devices integrated into the outputs. It works similarly to a standard 74595 shift register: Clock, data, latch, output-enable...it's a nice little device. Easily-set constant current output, and elevated operating temperatures it can dissipate up to 1.25W.



In the past, in order to accommodate larger numbers of LEDs in each segment, we've chained these devices in series to give both the required number of outputs and adequate thermal dissipation. One device's serial output was tied to the next one's serial input to form a chain of devices.

Problem is, the code that had to get loaded onto the PIC chip varied from one design to the next, since the number of bytes it had to send out would vary. (To display the digit "2" for example: The first shift register would have to turn on 4 outputs, the second would turn on 5, and the third would turn on 2 outputs. This had to be loaded up as a character map.)


I want to be able to unify the programming so that all displays, regardless of the number of LEDs in each segment, can use the same code.
This means that I need to mirror the same data across multiple devices.

If I do that, I can use OUT0 in each device to power some of the LEDs in Segment A.
OUT1 in each device will power some of the LEDs in Segment B, and so on. The PIC chip can run the same code, regardless of if I have 4 LEDs in a segment, or 24, and I don't have to worry about blowing past the thermal limits of the device.
 

That's the issue I had though: I couldn't find information concerning how much leakage current there is in the TTL inputs on the device's SPI Data pin. I know it's "high impedance."
I also know that such devices have a leakage current associated with them. I also have a feeling that a simple SPI data output from a shift register isn't going to be designed to do anything but drive another TTL input, so very low current capability. The only thing I see in the STP08CP05 datasheet that mentions any of this is "Output current Serial-Out" - 1mA. The only other information available there is a block diagram that shows a 1k resistor in series with the input FET gates, and a diode between the input and GND.




I did finally run across **broken link removed** that gives some values for the number of TTL inputs that one TTL output could drive, though I'm not quite sure how to interpret the results.

I think I should be looking at the "Fan-out (LS-loads) section in Table 1 on page 4.

10-50 devices, excluding CMOS.
 
Last edited:

There's effectively no static fanout limitation when connection CMOS devices. In extreme cases, the input capacitance might demand a reduction of serial clock frequency to achieve proper setup before the next clock edge.
 

Forgive me, but I'm trying to understand the problem regarding having different numbers of LEDs in each segment.

Are you saying that in a single 7-segment display, segment "A" may have more or less LEDs than segment "B"? If this is the case, why would you not simply be running 1 shift register per 7-segment display, and transistors or switched regulators for the array of LEDs within each segment?

Maybe I'm missing something, but it seems to me that you're making the circuit more complex than it needs to be.

A diagram of exactly what you're doing would help.
 

Status
Not open for further replies.

Part and Inventory Search

Welcome to EDABoard.com

Sponsor

Back
Top