http://electronics.stackexchange.com/questions/6676/which-sipo-chip-is-better-74hc4094-or-74hc595-or-something-else

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?

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.

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.

I need to implement some additional output pins for PIC MCU to switch on and off transistors which in turn ON/OFF MOSFETs via opto-couplers. I need 12 channels, so plans to cascade 2 8 bit shift registers.

I felt by reading data sheets that, I can use either 74HC164 or 74HC4094.

What is the basic difference between those two chips? both are serial in parrellel outs? what is the plus point in each case?
One is 'shift latch register'. How it effects practically in application?

without latch, as you clock the shift register you have outputs change ... so for example if your output is"

00100110

you can only change it to:
10010011
or
00010011

with latch, you can change it to "any" value as you can clock in X new inputs and then latch

Thanks arhi. Got it.
My application can't tolerate change as it clocks!

So 74HC4094 is my choice.
Thanks a lot!

One I/O line drives shift register with strobe

http://www.edn.com/design/systems-design/4410875/One-I-O-line-drives-shift-register-with-strobe

Today there are shift registers that have DATA and CLOCK inputs only, like 74HC164, and shift registers with same inputs plus STROBE control input, like 74HC4094 or74HC595. The shift registers without STROBE control have short-term transient states at outputs during shifting. Transients occur because shift register is directly connected to output lines. This kind of shift register can be used for driving LEDs and similar devices where short-term transient is irrelevant. For example, the human eye can't notice LED flickers shorter than 10 msec. The shift registers with STROBE control have two registers.

The shift registers shown are controlled with three lines: DATA, CLOCK, and STROBE.

One microcontroller port controls DATA and CLOCK inputs of shift registers. The STROBE input is inactive, connected to 5V (logical 1).

The shift register (with STROBE input) is controlled over one I/O line, using RCD network.

The RCD network is formed from discrete resistor Rn=220KΩ, capacitor Cn=47p, and diode Dn.

The RCD network enables that STROBE signal rapidly drops to zero, but slowly rise to one with time constant Rn×Cn=10.34 µsec.

serial-input, parallel-output (SIPO) chip : TPIC6595 , 74HC164 , 74HC4094 or 74HC595的更多相关文章

  1. [20160704]Addition program that use JOptionPane for input and output

    //Addition program that use JOptionPane for input and output. import javax.swing.JOptionPane; public ...

  2. Python Tutorial 学习(七)--Input and Output

    7. Input and Output Python里面有多种方式展示程序的输出.或是用便于人阅读的方式打印出来,或是存储到文件中以便将来使用.... 本章将对这些方法予以讨论. 两种将其他类型的值转 ...

  3. [Python] Print input and output in table

    Print the input and output in a table using prettyTable. from prettytable import PrettyTable import ...

  4. Input and Output File

    Notes from C++ Primer File State Condition state is used to manage stream state, which indicates if ...

  5. [20171128]rman Input or output Memory Buffers.txt

    [20171128]rman Input or output Memory Buffers.txt --//做一个简单测试rman 的Input or output Memory Buffers. 1 ...

  6. Angular4学习笔记(六)- Input和Output

    概述 Angular中的输入输出是通过注解@Input和@Output来标识,它位于组件控制器的属性上方. 输入输出针对的对象是父子组件. 演示 Input 新建项目connInComponents: ...

  7. Python - 3. Input and Output

    from:http://interactivepython.org/courselib/static/pythonds/Introduction/InputandOutput.html Input a ...

  8. Java中的IO流,Input和Output的用法,字节流和字符流的区别

    Java中的IO流:就是内存与设备之间的输入和输出操作就成为IO操作,也就是IO流.内存中的数据持久化到设备上-------->输出(Output).把 硬盘上的数据读取到内存中,这种操作 成为 ...

  9. Angular2中Input和Output

    @Input @Input是用来定义模块的输入的,用来让父模块往子模块传递内容: @Output 子模块自定义一些event传递给父模块用@Output. 对于angular2中的Input和Outp ...

随机推荐

  1. [转载]FFmpeg完美入门[4] - FFmpeg应用实例

    1 用FFserver从文件生成流媒体 一.安装ffmpeg 在ubuntu下,运行sudo apt-get ffmpeg 安装ffmpeg,在其他linux操作系统下,见ffmpeg的编译过程(编译 ...

  2. (My)SQL

    1.SQL语句分类 DDL(Data Definition Languages)语句:用来创建 删除 修改数据库.表.列.索引等数据库对象.常用的语句关键字主要包括create.drop.alter等 ...

  3. s3cmd : Add a config parameter to enable path-style bucket access 当ceph rgw使用域名时,需要支持 path-style bucket特性

    s3cmd 要是1.6.1 之后的版本 增加配置项:  vi .s3cfg use_path_mode = True 源码参考: cat  /usr/local/lib/python2.7/dist- ...

  4. Git分支管理小结

    分支管理命令 每次提交,Git都把它们串成一条时间线,这条时间线就是一个分支.截止到目前,只有一条时间线,在Git里,这个分支叫主分支,即master分支.HEAD严格来说不是指向提交,而是指向mas ...

  5. html学习-css

    1.css初识 css 中文解释:层叠样式表,把html比作骨骼的话,css就是衣服,他的外在都能通过css来修饰,js则是肌肉,能使html动起来.产生用户交互... 1.1css样式表类型 css ...

  6. Eolinker——代码注入插入随机参数值

    因为目前eolinker的API自动化测试不支持“构造参数”,所以用到随机数时,可使用代码注入的方式来实现 分步指南 示例:“重置密码”接口,每次运行重置的密码要求不重复 再此接口的“代码注入”区域写 ...

  7. int类中的方法

    我们知道在python中,一切对象都是类,对象的方法都封装在类中,现在来探讨一下int类中的方法: 我们可以通过help(int)和dir(int)来查看int类中都封装了那些方法:     1.bi ...

  8. Roman to Integer & Integer to Roman

    题目: Given a roman numeral, convert it to an integer. Input is guaranteed to be within the range from ...

  9. pycharm中在andconda环境中配置pyqt环境

    一般在andconda环境中,自带pyqt5 在pip install pyqt5之后,需要安装pyqt5_tools. 对于pycharm需要配置pyqt Designer和pyqt UIC. De ...

  10. Python类总结-字段,方法,属性区别及StaticMethod, Property,私有字段和私有属性

    类包含下列 静态属性 动态属性 静态方法 动态方法 class Province: #静态字段--属于类,调用方法类.字段名 memo = "中国23个省之一" #动态字段--属于 ...