Bootstrap

时序逻辑-位移寄存器

概述

在数字电路的设计中,移位寄存器是关键的时序逻辑组件。其功能是在在每个时钟脉冲的激发下,将输入数据向输出端逐步移动,这正是它们名称的由来。移位寄存器由一系列单比特的”D型触发器“组成,每个触发器负责存储一个数据位(逻辑0或1)。这些触发器以串联方式连接,实现数据的连续移位。
位移寄存器的结构与功能
移位寄存器的数据输入和输出有串行和并行两种模式。串行模式下,数据位逐个从一端输入或输出;而并行模式下,所有数据位可同时输入或输出。移位寄存器的容量通常取决于所需存储的数据位数,如常见的8位移位寄存器由8个D型触发器组成,能存储一字节信息。

应用场景:

移位寄存器广泛应用于数据存储和数据传输。例如,在计算器或计算机内部,它们用于缓存数据,具体为在执行指令操作(如两个二进制数相加)之前暂时存储数据。此外,移位寄存器还能够实现数据格式的转换,如将数据从串行转换为并行格式,或者从并行转换为串行格式。

同步操作:

所有构成移位寄存器的触发器均受到同一个公共时钟信号的控制,确保操作同步。因此移位寄存器被视为同步器件。这种同步操作保证了数据在寄存器中的准确性和可靠性,使得移位寄存器在数字电路设计中成为一个非常重要的组件。

位移寄存器的四种工作模式:

根据应用需求不同,移位寄存器有四种工作模式和,每种模式都有其独特的数据移动方式,以适应不同的数据处理需求:

  • 串行输入并行输出(SIPO):数据以串行方式逐位输入寄存器,最终以并行方式输出。
  • 串行输入串行输出(SISO):数据以串行方式输入和输出,每次时钟脉冲只移动一位,移动方向可以是左移或右移。
  • 并行输入串行输出(PISO):数据以并行方式一次性输入寄存器,然后以串行方式逐位输出。
  • 并行输入并行输出(PIPO):数据以并行方式同时输入和输出,通常在同一个时钟脉冲下完成。
    这些模式可以通过图形直观展示,移动方向可以是向左、向右、左入右出,或者在同一个寄存器内同时进行双向移动。 在这里插入图片描述
4位串行输入并行输出移位寄存器

4位串行输入并行输出移位寄存器(SIPO)的基本工作原理如下:

image.png

  • 假设所有触发器(从FFA到FFD)刚刚被复位,所有输出(QA到QD)都处于逻辑“0”状态,没有并行数据输出。
  • 将逻辑“1”输入到FFA的数据输入端,第一个时钟脉冲到来时,FFA的输出QA变为逻辑“1”,其他输出保持逻辑“0”。
  • FFA的数据输入端回到逻辑“0”,第二个时钟脉冲使FFA的输出回到逻辑“0”,FFB的输出QB变为逻辑“1”。
  • 依次类推,每个时钟脉冲都会将逻辑“1”向右移动一位,直到第五个时钟脉冲,所有输出再次变为逻辑“0”。

下表展示了数据在移位寄存器中的移动过程:
在第四个时钟脉冲结束后,四位数据0-0-0-1被存储在寄存器中,一旦时钟停止,该数据将保持不变。输入数据可以是任意逻辑“1”和“0”的组合。常见的串行输入并行输出(SIPO)集成IC包括74LS164或74LS594。
image.png
image.png

上述过程实现了串行数据输入信号向并行数据输出的转换,真值表和波形图清晰地展示了逻辑1如何自左向右通过寄存器。该操作模式在数字系统中极具实用性,尤其是在需要将串行数据转换为并行数据的应用场景中。

4位串行输入、输出移位寄存器

串行输入输出(SISO)移位寄存器与串行输入并行输出移位寄存器(SIPO)移位寄存器相似,它的特点在于数据不是并行输出,而是串行输出。这意味着数据从一端串行输入后,会逐位通过寄存器,并从另一端串行输出。因其只有一个输出端,数据以串行方式逐位离开寄存器,因此得名“串行输入串行输出移位寄存器”或“SISO”。

串行输入输出(SISO)移位寄存器是四种基本类型中最简单的一种,它仅需要三个连接:串行输入(SI)、串行输出(SO)和时钟信号(Clk)。以下是一个通用串行输入串行输出移位寄存器的逻辑电路图。image.png
如果输出数据与输入数据完全相同,串行输入输出(SISO)移位寄存器的用途时什么?实际上,这种类型的移位寄存器可以用作临时存储设备,或者作为数据的时间延迟设备,延迟时间由寄存器的级数控制,例如4、8、16等,或者通过改变时钟脉冲的应用来控制。常见的集成IC包括74HC595,这是一个带有三态输出的8位串行输入串行输出移位寄存器。

4位并行输入串行输出移位寄存器

并行输入串行输出(PISO)移位寄存器的工作原理与串行输入输出(SISO)移位寄存器相反。数据以并行格式加载到寄存器中,所有数据位同时通过寄存器的并行输入引脚PinA到PinD输入。然后,数据以右移模式从寄存器的Q端顺序读取,代表PinA到PinD处的数据。

这种数据在每个时钟周期以串行格式逐位输出。需要注意的是,对于这种类型的数据寄存器,不需要时钟脉冲来并行加载寄存器,因为数据已经存在,但是需要四个时钟脉冲来卸载数据。
c149bf1a-66ab-4ce8-95dd-b66f0d0f18c9.png
由于这种类型的移位寄存器可以将并行数据,如8位数据字转换为串行格式,它可以用于将多个不同的输入线复用到单一的串行数据流中,该数据流可以直接发送到计算机或通过通信线路传输。常见的集成电路包括74HC166,这是一个8位并行输入/串行输出移位寄存器。

4位并行输入并行输出移位寄存器

并行输入并行输出移位寄存器(PIPO)移位寄存器是操作模式的最后一种类型。这种类型的移位寄存器也用作临时存储设备或作为时间延迟设备使用,类似于SISO配置。数据以并行格式呈现给寄存器的并行输入引脚PA到PD,然后由同一个时钟脉冲直接传输到它们各自的输出引脚QA到QD。下面展示了这种并行加载和卸载的配置。
在PISO模式下,数据首先以并行方式加载到寄存器中,然后在时钟信号的控制下,逐位从寄存器的一端串行输出。这种模式适合于将来自多个源的并行数据转换为单个串行数据流,便于传输或进一步处理。
image.png

4位通用移位寄存器74LS194

74LS194是一个4位通用位移寄存器,它支持左移、右移、串行到并行以及并行到串行等多种操作模式。通过不同的控制输入,可以灵活地选择所需的操作模式,满足各种不同的数据处理需求。
image.png

;