8

I want to drive lots of LEDs in a spinning persistence-of-vision (POV) device. I need one output pin per LED, because matrix techniques don't work right in spinning POV devices. A serial-input, parallel-output (SIPO) chip is the best way to independently control lots of output pins using only a few pins on my microcontroller, right? Which SIPO chip should I choose?

  • 74HC4094 used in Doboz
  • 74HC595 used in bicycleledpov aka spokepov
  • TPIC6595 used in ... (a POV device I can't find the link to right now)
  • ... or perhaps something I'm overlooking?

Does one SIPO chip clearly have more capabilities or easier to use than another, or are they all more-or-less equivalent functionality? They all can be connected in the "daisy-chain SPI" configuration, right? If I only have room for one kind of SIPO chip in my box of "electronics components I always have on hand", which one should it be?

davidcary
  • 17,426
  • 11
  • 66
  • 115

3 Answers3

7

I hadn't looked at the 74HC4094, having always used the 74HC595, but the 74HC4094 looks like it has a couple of interesting differences:

  1. The load signal is level-sensitive, rather than edge sensitive, allowing the device to be used in a "transparent" mode, where bits from the input are immediately shown on the output.

  2. It has a cascading output which triggers on the same clock edge as the input, as well as a cascading output which is delayed by half a clock. Use of this latter output will greatly improve sample and hold margins when feeding the output of the device into another one; the former may be useful in some situations when feeding a device which is known to receive the clock before the data.

  3. The 74HC4094 does not have the asynchronous clear function of the 74HC595. There have been times I would have used the 74HC595's asynchronous clear if the load signal was level-sensitive (so that asserting clear and load simultaneously would clear the outputs), and times I would have used a synchronous clear (wire the cascade output to synchronous clear and synchronous load signals, and reduce communications requirement to two wires), but I don't think the signal will be missed on the 74HC4094.

tyblu
  • 8,167
  • 6
  • 40
  • 70
supercat
  • 45,939
  • 2
  • 84
  • 143
  • Good points, but I wanted to add that you can use the format to define better formatted lists. See the "Simple Lists" and "Advanced Lists - Nesting" sections of the [Markdown editing help](http://electronics.stackexchange.com/editing-help) page. – Kevin Vermeer Mar 04 '11 at 16:11
5

I'm working on a LED POV project, and I'm using TI's TLC5925. It's pretty much a latched shift register with constant current sinking outputs. They have more advanced chips as well; some with digital brightness control and even PWM settings for each channel. It also has 16 output channels. Non-SMT versions are also available.

W5VO
  • 18,303
  • 7
  • 63
  • 94
  • that family of parts looks pretty useful. Thank you for telling me about it. – davidcary Nov 18 '10 at 12:23
  • Might even use that might self in a different project; would work for 8*8 LED matrix's and not have to worry bout wether there common cathode or anode if I'm not mistaken. Will have to read more about them – Ashley Hughes Jan 02 '11 at 09:58
  • @AshleyHughes These chips only SINK current, so you can only hook them up to the cathodes of LEDs. You would need a common-anode LED array, or have the anodes driven by transistors. – W5VO Jan 03 '11 at 05:11
  • I order a heap of common anode displays by mistake and can't use them the MAX7219's that I have due to the max being common cathode. So should work for what I want I will have to look at how I am going to do it another time. – Ashley Hughes Jan 15 '11 at 23:57
2

Read the datasheets. TPIC6595 is for when you need more output current. HC595 is very cheap & widely available, and would be the 'default' choice - I think the HC4094 similar but may be some small differences - I've only used the old CMOS 4094 ages ago.

mikeselectricstuff
  • 10,655
  • 33
  • 34
  • 1
    "Read the datasheets" is always good advice. However, how is it possible to deduce from the datasheet of a part whether it is a "super-useful part that I should always keep a few on hand" vs a "specialized part to only buy as needed" vs a "completely obsolete part that there's no point buying -- instead part YYY is cheaper and better in every way"? – davidcary Dec 30 '10 at 16:08