亿迅智能制造网
工业4.0先进制造技术信息网站!
首页 | 制造技术 | 制造设备 | 工业物联网 | 工业材料 | 设备保养维修 | 工业编程 |
home  MfgRobots >> 亿迅智能制造网 >  >> Manufacturing Technology >> 工业技术

移位寄存器:并行输入、串行输出 (PISO) 转换

并行输入/串行输出移位寄存器完成了之前串行输入/串行输出移位寄存器所做的所有工作,并同时向所有级输入数据。

并行输入/串行输出移位寄存器存储数据,逐个时钟地移位数据,并按级数乘以时钟周期延迟数据。

此外,并行输入/串行输出实际上意味着我们可以在任何移位开始之前将数据并行加载到所有阶段。

这是一种从并行转换数据的方法 格式为串行 格式。并行格式是指数据位同时出现在单独的电线上,每个数据位一个,如下所示。

串行格式的意思是数据位在单条线路或电路上按时间顺序呈现,如下方框图中的“数据输出”所示。

下面我们来仔细看看三级并行输入串行输出移位寄存器的内部细节。

一个阶段由一个 D 类型组成 用于存储的触发器,以及用于确定数据是并行加载还是将存储的数据向右移动的 AND-OR 选择器。

通常,这些元素将根据所需的阶段数进行复制。限于篇幅,我们展示了三个阶段。

四位、八位或十六位为实部正常。

上图显示了 SHIFT/LD' 为逻辑低时的并行负载路径。服务于 DA DB DC 的上与非门被启用,将数据传递到 D 类型的 D 输入 人字拖 QA QB DC 分别。

在下一个正向时钟边沿,数据将从三个 FF 的 D 到 Q 计时。三位数据同时加载到QA QB DC。

刚刚描述的并行加载类型,在时钟脉冲上加载数据称为同步加载 因为数据的加载与时钟同步。

这需要区别于异步加载 其中加载由不需要时钟的触发器的预设和清除引脚控制。

单个设备中仅使用这些加载方法中的一种,同步加载在较新的设备中更为常见。

当 SHIFT/LD' 为逻辑高时,移位路径如上所示。为 OR 门供电的对的较低 AND 门被启用,为我们提供了 SI 到 DA 、QA 到 DB 、QB 到 DC 、QC 到 SO 的移位寄存器连接。时钟脉冲会导致数据在连续脉冲上右移到 SO。

下面的波形显示了三位数据的并行加载和该数据的串行移位。 DA DB DC的并行数据在SO转换为串行数据。

我们之前用平行加载和平移的词描述的,现在设置为上面的波形。

我们以 101 为例 到并行输入 DAA DBB DCC。接下来,SHIFT/LD' 变低,启用数据加载而不是数据移位。

由于建立和保持要求,它需要在时钟脉冲前后的短时间内变低。它比它必须的要宽得多。

但是,使用同步逻辑可以方便地使其变宽。我们本可以使低电平有效的 SHIFT/LD' 接近两个时钟宽,在 t1 之前几乎一个时钟处于低电平,在 t3 之前返回高电平。

重要的因素是它需要在时钟时间 t1 附近很低才能通过时钟并行加载数据。

请注意,在 t1 数据 101 在 DA DB DC 时钟从触发器的 D 到 Q,如 QA QB QC 在时间 t1 所示。

这是与时钟同步的数据并行加载。

现在数据已加载,我们可以将其移位,前提是 SHIFT/LD' 为高以启用移位,这是在 t2 之前。

在 t2 数据 0 在 QC 移出 SO,这与 QC 波形相同。它要么转移到另一个集成电路中,要么在没有任何连接到 SO 的情况下丢失。

QB 处的数据,a 0 转移到 QC。 1 在 QA 转移到 QB。使用“数据输入”0 , QA 变为 0 .在 t2 之后,QA QB QC =010 .

在 t3 之后,QA QB QC =001 .这个1 ,最初出现在 t1 之后的 QA,现在出现在 SO 和 QC。

如果存在,最后一个数据位被移出到外部集成电路。在 t4 之后,并行加载的所有数据都消失了。

在时钟 t5,我们显示了数据 1 的移入 出现在 SI 上,串行输入。

问:为什么在移位寄存器上提供 SI 和 SO 引脚?
A:这些连接允许我们级联移位寄存器级,以提供比单个 IC(集成电路)封装中可用的更大的移位器。它们还允许与微处理器等其他 IC 进行串行连接。

让我们仔细看看德州仪器 (TI) 提供的可用作集成电路的并行输入/串行输出移位寄存器。

如需完整的器件数据表,请点击这些链接。

并行输入/串行输出设备

上面显示的 SN74ALS166 是实际零件与之前的并行输入/串行输出移位器数字最接近的匹配。

让我们注意上图的细微变化。首先,有8个阶段。我们只展示三个。

所有 8 级都显示在上面链接中提供的数据表中。制造商将数据输入 A、B、C 等标记为 H。

SHIFT/LOAD 控制称为 SH/LD’。它是我们之前术语的缩写,但工作原理相同:低时并行负载,高时移位。

移位输入(串行数据输入)在 ALS166 上是 SER 而不是 SI。时钟 CLK 由禁止信号 CLKINH 控制。

如果 CLKINH 为高电平,则时钟被禁止或禁用。否则,这个“真实部分”与我们详细查看的相同。

以上是数据表中提供的 SN74ALS166 的 ANSI(美国国家标准协会)符号。

一旦我们知道零件的运作方式,就可以方便地将细节隐藏在符号中。符号的一般形式有很多种。

ANSI 符号的优点是标签提供了有关部件如何操作的提示。

‘74ASL166 顶部的大缺口块是 ANSI 符号的控制部分。 R 指示重置 .

共有三个控制信号:M1 (Shift), M2 (加载)和 C3/1(箭头) (禁止时钟)。时钟有两个功能。

首先,C3 用于在出现前缀 3 的任何地方移动并行数据。二、每当M1 被断言,如 1 所示 C3/1(箭头) , 数据按向右箭头所示移动。

斜线 (/) 是这两个函数之间的分隔符。 8 个班次,如标题 SRG8 所示 , 由外部输入标识 A, B, C, H .

内部2、3D 表示数据,D , 由 M2 控制 [加载] 和 C3 钟。在这种情况下,我们可以得出结论,并行数据与时钟同步加载C3 .

A 的上层 是比其他块更宽的块以容纳输入 SER .

图例 1, 3D 意味着 SERM1控制 [Shift] 和 C3 钟。因此,我们希望在 SER 输入数据 当移动而不是平行加载时。

ANSI/IEEE 基本门矩形符号 上面提供了用于与更熟悉的形状符号进行比较 以便我们可以破译与 CLKIN 相关联的符号的含义 H 和 CLK 之前的 ANSI SN74ALS166 符号上的引脚。

时钟 和 CLKINH 提供一个 OR SN74ALS166 ANSI 符号上的门。 => 表示 在矩形插入符号上。

输出端的长三角形表示时钟。如果箭头上有气泡,这将表明负时钟边沿发生偏移(从高到低)。

由于时钟箭头没有气泡,寄存器在正(低到高转换)时钟边沿移位。

长箭头,在图例 C3/1 之后 向右表示右移,即符号向下。

SN74ALS165并行输入/串行输出异步负载移位寄存器的部分内部逻辑转载自上述数据手册。

有关完整图表,请参阅本节开头的链接。到目前为止,我们还没有研究过异步加载数据。

首先,加载是通过向 Set 应用适当的信号来完成的 (预设)和重置 (清除)触发器的输入。

上层NAND 门为 Set 提供食物 FF 的引脚,也级联到较低的 NAND 门喂养 重置 FF 的引脚。

较低的NAND 门反转来自 Set 的信号 固定到重置 针。

首先,SH/LD’ 必须拉 启用上下NAND 门。

如果 SH/LD' 处于逻辑 相反,逆变器馈送逻辑 到所有NAND 门将迫使 退出,释放“低电平有效”设置重置 所有FF的引脚。

没有加载FF的可能性。

带有 SH/LD' 保持 ,例如,我们可以提供数据 1 并行输入A , 在上部 NAND 反转为零 门输出,将 FF QA 设置为 1 .

0 引脚馈送到较低的NAND 门被反转为 1 , 释放重置 QA 引脚 .

因此,一个数据 A=1 设置 QA=1 .由于这些都不需要时钟,加载是与时钟异步的。

如果不能等待时钟并行加载数据,或者不方便产生单个时钟脉冲,我们使用异步加载移位寄存器。

提供数据的唯一区别 0 并行输入A 是它反转为 1 出上门释放Set .

这个1设置 被反转为 0 在下门,拉重置 ,这会重置 QA=0 .

上面 SN74ALS166 的 ANSI 符号有两个内部控件 C1 [加载] 和 C2 来自 OR 的时钟 (CLKINH, CLK 的函数 ).

SRG8 说 8 级移位器。 C2 后面的箭头 表示右移或下移。 服务 输入是时钟的函数,如内部标签 2D 所示 .

并行数据输入A、B、C HC1 的函数 [LOAD],由内部标签 1D 表示 .

C1sh/LD' =0 时断言 由于输入端的半箭头反相器。

将此与之前同步 ANSI SN75ALS166 的时钟对并行数据输入的控制进行比较。请注意 ANSI 数据标签的差异。

在上面的 CD4014B 上,M1LD/SH'=0 时断言 . M2LD/SH'=1 时断言 .

时钟 C3/1 用于在 2, 3D 并行加载数据 当 M22,3 所示处于活动状态 前缀标签。

引脚 P3 P7 被理解为具有 smae 内部 2,3 前缀标签为 P2P8 .在 SER1,3D 前缀意味着 M1 和时钟 C3 需要输入串行数据。

当 M1 激活时发生右移,如 1 所示 在 C3/1 箭头 .

CD4021B 是一个类似的部分,除了数据的异步并行加载,因为缺少任何 2 数据标签中的前缀 1D 用于引脚 P1、P2 至 P8。

当然,前缀2 在标签 2D 中 在输入 SER 说数据被计时到这个引脚。 门内插图显示时钟由 LD/SH' 控制 .

以上SN74LS674内部标签SRG 16 表示16位移位寄存器。

模式 符号顶部的控制部分的输入标记为 1,2 M3 .内部M3 是输入 MODE 的函数 和 G1G21,2 所示 前面的 M3 .

基本标签 G 表示 AND 任何这样的 G 的函数 输入。输入 R/W’ 内部标记为G1/2 EN .

这是一个启用EN (由G1 AND G2控制 ) 用于符号中其他地方使用的三态设备。

我们注意到 CS' (引脚 1)是内部 G2 .片选CS’ 也是 AND 输入CLK 给内部时钟 C4 .

时钟箭头内的气泡表示活动处于负(从高到低转换)时钟边缘。

斜线 (/) 是一个分隔符,表示时钟的两个功能。在斜线之前,C4 表示对前缀为 4 的任何事物的控制 .

斜线后,3'(箭头) 表示转移。 3’ C4/3’ 意味着当 M3 被取消断言时移位 (MODE=0 )。长箭头表示右移(下)。

在控制部分下方向下移动到数据部分,我们有外部输入 P0-P15 , 引脚 (7-11, 13-23).

前缀 3,4 内部标签 3,4D 表示 M3 和时钟 C4 控制并行数据的加载。

D 代表数据。尽管没有明确写出,但假定该标签适用于所有并行输入。

找到标签 3',4DP0 的右侧 (pin7) 阶段。互补的-3 表示M3=MODE=0 输入(班次)SER/Q15 (pin5) 在时钟时间,(4 3',4D) 对应于时钟 C4 .

换句话说,MODE=0 ,我们将数据移入 Q0 来自串行输入(引脚 6)。所有其他阶段在时钟时间右移(下)。

移至符号底部,指向右侧的三角形表示 Q 之间的缓冲区 和输出引脚。

向下的三角形表示三态设备。我们之前说过三态是由 enable EN 控制的 ,实际上是 G1 AND G2 来自控制部分。

如果 R/W=0 ,三态被禁用,我们可以将数据移入Q0 通过SER (引脚 6),我们在上面省略了一个细节。我们实际上需要 MODE=0, R/W'=0, CS'=0

SN74LS674 的内部逻辑和总结控制信号操作的表格可在部分顶部的项目符号列表中的链接中找到。

如果 R/W'=1 , 三态使能, Q15 移出SER/Q15 (引脚 6)并再循环到 Q0 舞台通过右手线到 3',4D .

我们假设 CS' 低,给我们时钟 C4/3' 和 G2 到 EN 可以三态。

实际应用

并入/串出移位寄存器的应用是将数据读入微处理器。

上述警报由远程键盘控制。报警盒提供+5V和地线给遥控键盘供电。

报警器通过向键盘发送移位时钟每隔几十毫秒读取一次远程键盘,键盘通过并行输入/串行输出移位寄存器返回显示按键状态的串行数据。

因此,我们用四根电线读取了九个按键开关。如果我们必须为九个键中的每一个都运行一个电路,需要多少根电线?

并行输入/串行输出移位寄存器的一个实际应用是通过几个引脚将许多开关闭合读入微处理器。

一些低端微处理器在 8 引脚封装上仅提供 6 路 I/O(输入/输出)引脚。

或者,我们可能已经使用了 84 引脚封装上的大部分引脚。我们可能希望减少电路板、机器、车辆或建筑物周围的电线数量。

这将增加我们系统的可靠性。据报道,减少汽车电线数量的制造商生产出更可靠的产品。

无论如何,从上图中的开关读取8位数据只需要三个微处理器引脚。

我们选择了异步加载设备,CD4021B,因为它更容易控制数据加载,而无需生成单个并行加载时钟。

移位寄存器的并行数据输入端通过每个输入端的电阻上拉至+5V。

如果所有开关都打开,则所有 1 当微处理器移动 LD/SH' 时,s 将被加载到移位寄存器中 线从低到高,然后回到低位以期待转变。

任何开关闭合都将应用逻辑 0 s 到相应的并行输入。 P1-P7 的数据模式将由 LD/SH'=1 并行加载 由微处理器软件生成。

微处理器产生移位脉冲,并为每个 8 位读取一个数据位。

这个过程可以完全用软件来完成,或者更大的微处理器可以有一个或多个串行接口,用硬件更快地完成任务。

LD/SH'=0 , 微处理器产生一个 0 1 移位时钟线上的转换 ,然后读取串行数据输入上的一个数据位 线。对所有 8 位重复此操作。

SER 如果需要读取更多的开关触点,移位寄存器的线可以由另一个相同的CD4021B电路驱动。

在这种情况下,微处理器会产生 16 个移位脉冲。更有可能的是,它将由与这种串行数据格式兼容的其他东西驱动,例如,模数转换器、温度传感器、键盘扫描仪、串行只读存储器。

至于开关闭合,它们可能是机器托架上的限位开关、超温传感器、磁簧开关、门窗开关、空气或水压开关或固态光断续器。

相关工作表:


工业技术

  1. 网络协议
  2. 为什么是数字化的?
  3. 微处理器
  4. 运算放大器数据
  5. Python 类型转换和类型转换
  6. 数据驱动制造就在这里
  7. 让您的数据发挥作用
  8. 什么是工业物联网?
  9. 生产设施数字化
  10. 大数据与人工智能
  11. 二维码与二维码
  12. 什么是维护数据?