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. sqlserver如何添加全文索引

    在SQL Server 中提供了一种名为全文索引的技术,可以大大提高从长字符串里搜索数 据的速度,不用在用LIKE这样低效率的模糊查询了.   下面简明的介绍如何使用Sql2008 全文索引 一.检查 ...

  2. angular项目中使用jQWidgets

    Angular CLI with jQWidgets In this tutorial, we will show you how to use https://cli.angular.io/ alo ...

  3. Python模块之pxssh

    pxssh模块用于在python中ssh远程连接,执行命令,返回结果,但注意不支持Windows系统 #!/usr/bin/env python #-*- coding:utf-8 -*- from ...

  4. PHP利用rand(1,100)函数产生10个1~100之间的随机数

    //echo rand(1,100); $max=0; $min=100; for($i=0;$i<=9;$i++){ $rand[$i]=rand(1,100); if($rand[$i]&g ...

  5. 百度NLP面试题

    C++ :     1.拷贝构造函数和重载=符分别在什么情况下被调用,实现有什么区别 2.虚函数的目的,虚函数和模板类的区别,如何找到虚函数 常规算法: 1. 如何输出一个集合的所有真子集,递归和非递 ...

  6. 【hdoj_2100】Lovekey(大数+字符处理)

    题目:http://acm.hdu.edu.cn/showproblem.php?pid=2100 根据题目意思,现将字符串转化为10进制,再采用10进制加法相加,再转化为26进制. 另一种直接的思路 ...

  7. 洛谷P1482 Cantor表(升级版) 题解

    题目传送门 此题zha一看非常简单. 再一看特别简单. 最后瞟一眼,还是很简单. 所以在此就唠一下GCD大法吧: int gcd(int x,int y){ if(x<y) return gcd ...

  8. 使用minikube在windows构建kubernetes群集

    只建议在开发环境中使用,不建议在windows下使用docker或者kubernetes. 1. 安装VirtualBox或者Hyper-v(安装步骤略) 2. 下载kubectl和minikube工 ...

  9. Java Switch Statement

    Java Switch Java Switch Statement switch语句的执行规则如下     1.从第一个case开始判断,不匹配则跳到下一个case继续判断:     2.遇到brea ...

  10. JavaScript最全编码规范

    转载: JavaScript最全编码规范 类型 ●基本类型:访问基本类型时,应该直接操作类型值 ●string ●number ●boolean ●null ●undefined var foo = ...