Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Question about 12-bit shift register

Status
Not open for further replies.

GraffZeppelin

New Member
Hello,

I've started a project, where I need to control 5 rows of RGB common cathode LEDs, each row containing 12 LEDs (36 anode pins in a single row, 180 pins in total) ... so I've started to dig around the 12-bit shift registers, instead of a familiar 8-bit (74HC595) shift registers.

If I were to use 12-bit SR, I would need to use 3 SR per row ( each controlling the outputs of each RGB pins), 15 daisy chained shift registers in total for 5 rows. The numbers would double if I used 8-bit SR, which is not what I want, unless I would increase the number of LEDs in a row to 16, but only if there's no other way.

The whole process will be controlled by PIC18F27J13 ( 7 CCP , 3 ECCP), by sending 9 PWM signals ( 3 to each three SR in a LED row) to Shift Register Output Enable (OE) pins from row 1 to row 3, row 4 will use same PWM channels as row 2, row 5 as row 1. This will enable LED dimming up and down, and the shift registers will make it look something like this (but a bit different) :


Now back to the issue:

I was able to find some 12-bit shift registers:

1. BU2092F-E2
http://uk.farnell.com/rohm/bu2092f-e2/ic-driver-s-in-p-out-18sop/dp/1831853?ref=lookahead

This SR does not have Serial output, which means (please correct me if I'm wrong), it can't be daisy chained with other SR to produce more than 12 outputs using only 3 channels from MCU (data, clock and latch). Also, I don't understand why this one does not have a CLR(reset) pin and how is it done then?

2. M66320P
**broken link removed**

This one would be almost a perfect sollution.. almost, because I can't seem to find a retailer where to get it from.

3. TLC6C5912-Q1
http://www.ti.com/lit/ds/symlink/tlc6c5912-q1.pdf
**broken link removed**

This one, again, would be almost perfect, but then.. I only found few places where I could get them, and there's a minimum order quantity of 2000.. not good.

I would be very thankful if anyone could suggest some other 12-bit shift registers and where to get them (Europe preferably) or provide an advice/critique/a hint to other options?
 
BU2092F-E2: interesting part. Needs a data out!
Idea:
Connect the clocks of all your shift registers together.
Connect the data of all your shift registers together.
Leave the LCLK pins separate.
Clock in your first 12 bits of data. (all the SRs get the same data) Now strobe LCLK-1.
Clock in your second 12 bits of data. (all the SRs get the same data) Now strobe LCLK-2.
Clock in your third 12 bits of data. (all the SRs get the same data) Now strobe LCLK-3.

I am using the TPIC6C595. At one point I got 5000 of them.

I don't understand the need for 12 bits. I would connect 5 of the 8 bit SRs (40 bit) and shift out only 36 bits if 12x3 is that important. Just don't use the last 4 bits.
 

Attachments

  • tpic6c595-2.pdf
    965.8 KB · Views: 296
Last edited:
Yes you could daisy chain '595's or 4094's, you'll only need clk and data to the first register then clk and carry out to the rest as a chain.
There would be an amount of handling to do in software but with structured programming wouldnt be insurmountable.
 
Status
Not open for further replies.

Latest threads

New Articles From Microcontroller Tips

Back
Top