serial-input, parallel-output (SIPO) chip : TPIC6595 , 74HC164 , 74HC4094 or 74HC595
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:
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.
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.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 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的更多相关文章
- [20160704]Addition program that use JOptionPane for input and output
//Addition program that use JOptionPane for input and output. import javax.swing.JOptionPane; public ...
- Python Tutorial 学习(七)--Input and Output
7. Input and Output Python里面有多种方式展示程序的输出.或是用便于人阅读的方式打印出来,或是存储到文件中以便将来使用.... 本章将对这些方法予以讨论. 两种将其他类型的值转 ...
- [Python] Print input and output in table
Print the input and output in a table using prettyTable. from prettytable import PrettyTable import ...
- Input and Output File
Notes from C++ Primer File State Condition state is used to manage stream state, which indicates if ...
- [20171128]rman Input or output Memory Buffers.txt
[20171128]rman Input or output Memory Buffers.txt --//做一个简单测试rman 的Input or output Memory Buffers. 1 ...
- Angular4学习笔记(六)- Input和Output
概述 Angular中的输入输出是通过注解@Input和@Output来标识,它位于组件控制器的属性上方. 输入输出针对的对象是父子组件. 演示 Input 新建项目connInComponents: ...
- Python - 3. Input and Output
from:http://interactivepython.org/courselib/static/pythonds/Introduction/InputandOutput.html Input a ...
- Java中的IO流,Input和Output的用法,字节流和字符流的区别
Java中的IO流:就是内存与设备之间的输入和输出操作就成为IO操作,也就是IO流.内存中的数据持久化到设备上-------->输出(Output).把 硬盘上的数据读取到内存中,这种操作 成为 ...
- Angular2中Input和Output
@Input @Input是用来定义模块的输入的,用来让父模块往子模块传递内容: @Output 子模块自定义一些event传递给父模块用@Output. 对于angular2中的Input和Outp ...
随机推荐
- Java 序列化工具类
import org.slf4j.Logger; import org.slf4j.LoggerFactory; import sun.misc.BASE64Decoder; import sun.m ...
- 使用extjs做的一个简单grid
<%@ page language="java" contentType="text/html; charset=utf-8" pageEncoding= ...
- NIO-4pipe
import java.io.IOException; import java.nio.ByteBuffer; import java.nio.channels.Pipe; import org.ju ...
- linux tar gzip 命令用法
语法:tar [主选项+辅选项] 文件或者目录 使用该命令时,主选项是必须要有的,它告诉tar要做什么事情,辅选项是辅助使用的,可以选用. 主选项: -c: 建立压缩档案-x:解压-t:查看内容-r: ...
- Codeforces Round #292 (Div. 1) C - Drazil and Park
C - Drazil and Park 每个点有两个值Li 和 Bi,求Li + Rj (i < j) 的最大值,这个可以用线段树巧妙的维护.. #include<bits/stdc++. ...
- Java 中如何计算两个字符串时间之间的时间差?(单位为分钟)
Java 中如何计算两个字符串时间之间的时间差?(单位为分钟) import java.text.DateFormat; import java.text.ParseException; import ...
- webpack 入门总结和实践(按需异步加载,css单独打包,生成多个入口文件)
为什么是webpack webpack一下自己就
- 长安大学第四届ACM-ICPC“迎新杯”程序设计竞赛-重现赛 F - 打铁的箱子
题目描述 作为彩虹岛上最擅长打铁的人,
- CodeForces 811B Vladik and Complicated Book
离线,树状数组. 数据范围好像有点小,直接暴力可以过的. 我直接上了$n,Q≤100000$的做法:只需要判断区间上比$x$小的数字有几个即可,可以对询问进行离线操作,从左到右一个一个数字插入到树状数 ...
- GETATTR,DELATTR,SETATTR与GETITEM,SETITEM,DELITEM区别
通过对象.属性的方式触发的是__getattr__,__delattr__,__setattr__ 通过对象['属性']触发__getitem__,__setitem__,__delitem__ cl ...