移位寄存器IC之间有什么区别?


11

我正在学习Arduino,引起我注意的一件事是使用移位寄存器来扩展数字引脚的数量。

我看过许多使用74HC595移位寄存器的教程,但是我的本地商店没有出售此确切的移位寄存器,但确实出售了许多其他寄存器,例如:

74HC166
CD4015
74HC165
74HC164
CD4014
74HC595贴片

它们似乎都是8位移位寄存器。

我想使用它们通过Arduino点亮一些LED。我以为它们有非常特定的目的,但总的来说,我可以在项目中使用其中的任何一个吗?

这些移位寄存器之间的主要区别是什么?


14
您是否尝试阅读数据表?通常,它们是找出两个组件之间差异的很好的来源。
Jules

Answers:


29

回答此类问题的最简单方法是查看组件的数据表:

  • CD4015是较旧的4000系列芯片系列的一部分。早在推出时,它们是CMOS,而7400芯片是TTL,尽管如今74HC型芯片也是CMOS。他们仍然看到一些用处,因为它们的工作电压范围比74HC芯片宽(高达15V,而74HC最高为7V,74LS最高为5.5V)。它们也稍慢一些(5V时最大3MHz,而74HC595则为25MHz)。

  • CD4014具有与4015相似的规格,但是它没有让您立即取出所有已移入值的引脚,而是让您一次输入多个值然后一次移出一个值。因此,CD4015就像是一个串行到并行转换器,但是这是一个并行到串行转换器。

  • 74HC166CD4014一样,是并行输入串行输出,但在74HC范围内,因此具有较小的电压范围和较快的响应速度。

  • 74HC165允许并行和串行输入,也可以串行输出。它还提供反相和同相输出。

  • 74HC164与CD4015一样,是串行输入和并行输出的,但是74HC164系列的速度更快,电压更低。

  • 74HC595(或更确切地说是SN74HC595J)和74HC595-SMD(可能是许多不同的细微变化)在不同的包装中是相同的组件。第一个是传统的“ DIP”程序包,如果您在面包板,剥离板或穿孔的原型板上工作,可能会需要它。后者是一种表面贴装封装(可能是SOIC),它更小且更容易焊接到PCB,但对原型制造可能会有些痛苦。这些是串行输入并行输出,但它们还有一组单独的寄存器,可以将输入的数据复制到其中。这意味着您可以并行更改并行输出,而不是在移入新数据时在其中包含无效数据。

您可能还需要看一下其他一些芯片:

  • 正如@supercat在评论中提到的那样,当您需要控制8条以上的输出线时,CD4094很有用,因为它使从一个芯片到下一个芯片的输出级联变得更加容易。该74HC4094是相同的行为和引脚布局,但使用74HC电压和更快的速度的芯片。
  • TLC6C5912是一款12通道串行并行输出芯片,专门设计用于驱动LED,并且可以处理电压和电流远大于上述任何一种的LED。
  • TLC5911是芯片的怪兽,但它控制16个LED,并且每个LED都有一个恒定电流驱动器,可以将其分别控制为128个电平之一,即,您可以通过移入7位LED来分别使每个LED变暗。每个像素的亮度信息,而不仅仅是一个单独的开/关位。对于显示图像/视频的标志很有用。

2
CD4094 / 74HC4094也可能是一个不错的选择。级联大多数移位寄存器芯片时,必须确保时钟精确同步或下游时钟首先发生。'4094芯片通过包括一个级联输出来消除该问题,该级联输出在与输入相反的边缘上切换。
超级猫

7

添加到schadjo的答案:

Arduino中最常用的两种(但不仅限于)是74HC16574HC595

74HC165可用于将最多8个输入(例如,开关)连接到仅几个GPIO。

74HC595可用于将多达8个输出(例如LED)连接到仅几个GPIO。


74HC595 SMD是否与74HC595完全相同?SMD有什么重要的区别吗?
user3347814

2
@ user3347814数据表怎么说?我们带你去喝水。喝吧
哈里·斯文森

3
正如HarrySvensson所说,您可以阅读数据表中的所有详细信息。通常,功能上没有区别,引脚布局也没有区别,但是当然尺寸较小,并且大多数情况下功耗较小(由于内部组件较小)。
Michel Keijzers

模式控制引脚可能会让您感到惊讶。清除,左移,右移,ParallelLoad(更新),NotClock的能力(即使Clock更改了级别等),使用它们也可能很有价值。
Analogsystemsrf

7

对于新手来说,移位寄存器的主要区别可能是并行输入/串行输出(PISO)和串行输入/并行输出(SIPO)。

顾名思义,PISO接收一个8位宽的信号,并允许您使用单个时钟脉冲一次(串行)将这些位逐个移出。

SIPO允许您按顺序移位每个位,然后让所有这些位中的8个同时(即,并行)出现在8个输出引脚上。


4

74HC595(通孔或SMD)的Vcc和Gnd引脚限制为70mA,因此,您应选择允许8-9 mA的限流电阻。(8个输出x 9mA = 72mA)。

要选择一个电阻器:(5V-Vf)/。008 =电阻器,其中Vf为LED的正向电压(例如,对于典型的红色LED约为2.5V,一些绿色和黄色,对于其他颜色(例如蓝色)通常更高一些,白色)。

(5V-2.5V)/。008A = 312.5欧姆,所以300或330欧姆会更好。对于9.25mA,270也可以。1K会降低一些亮度,但仍然足够明亮。使用现代高效LED可以达到8mA的亮度。

如果需要更多的电流,则TPIC6B595和TPIC6C595的控制方式与74HC595相同(带有时钟,数据和锁存器),但是每个输出引脚可以灌入150ma和100mA电流(移入1,打开输出,它将变为低电平)。通过LED及其电阻从5V吸收电流(VS通过LED /电阻至Gnd的源电流)。

不要害怕在线订购零件。Digikey.com和Mouser.com都包含各种部件,廉价的USPS邮件将在2-3天内将它们送给您。

如果要存货,请花费20-30美元,然后从taydaelectronics.com上购买一袋零件。您可以从中得到很多东西。我认为零件来自泰国(从收到的美国中途经过美国科罗拉多州),订购一些零件,这些零件将持续多个项目。


3

除了所有其他好的答案之外,不同IC之间的IC引脚图当然可以不同。您不能只是将电线插入与用于另一个移位寄存器的相同引脚,并期望它能正常工作。如果您匹配引脚功能,那么虽然不同芯片上的引脚功能可能也不相同,但是机会更大。

By using our site, you acknowledge that you have read and understand our Cookie Policy and Privacy Policy.
Licensed under cc by-sa 3.0 with attribution required.