数字电子学 - 移位寄存器



触发器是一个1位存储单元,可用于存储数字数据。为了增加存储容量(以位数表示),我们必须使用一组触发器。这样一组触发器称为寄存器n位寄存器将包含n个触发器,并且能够存储n位字。

寄存器中的二进制数据可以在寄存器内从一个触发器移动到另一个触发器。允许这种数据传输的寄存器称为移位寄存器。移位寄存器有四种工作模式。

  • 串行输入-串行输出(SISO)移位寄存器
  • 串行输入-并行输出(SIPO)移位寄存器
  • 并行输入-串行输出(PISO)移位寄存器
  • 并行输入-并行输出(PIPO)移位寄存器

串行输入-串行输出(SISO)移位寄存器

假设所有触发器最初都处于复位状态,即Q3 = Q2 = Q1 = Q0 = 0。如果将一个四位二进制数1 1 1 1输入寄存器,则应将此数应用于Din位,最低有效位先应用。FF-3的D输入即D3连接到串行数据输入Din。FF-3的输出即Q3连接到下一个触发器的输入即D2,依此类推。

框图

Block Diagram of SISO Register

操作

在应用时钟信号之前,令Q3 Q2 Q1 Q0 = 0000,并将要输入的数的最低有效位应用于Din。所以Din = D3 = 1。应用时钟。在时钟的第一个下降沿,FF-3被置位,寄存器中存储的字为Q3 Q2 Q1 Q0 = 1000。

SISO Operation step 1

将下一位应用于Din。所以Din = 1。当下一个时钟下降沿到来时,FF-2将被置位,存储的字将变为Q3 Q2 Q1 Q0 = 1100。

SISO Operation step 2

将要存储的下一位即1应用于Din。应用时钟脉冲。当第三个时钟下降沿到来时,FF-1将被置位,输出将修改为Q3 Q2 Q1 Q0 = 1110。

SISO Operation step 3

类似地,当Din = 1且第四个时钟下降沿到来时,寄存器中存储的字为Q3 Q2 Q1 Q0 = 1111。

SISO Operation step 4

真值表

Truth Table of SISO Register

波形

Waveform of SISO Register

串行输入-并行输出(SIPO)移位寄存器

  • 在这种类型的操作中,数据以串行方式输入并以并行方式输出。
  • 数据逐位加载。在数据加载期间,输出被禁用。
  • 一旦数据加载完成,所有触发器都包含它们所需的数据,输出被使能,以便所有加载的数据同时在所有输出线上可用。
  • 加载一个四位字需要4个时钟周期。因此,SIPO模式的操作速度与SISO模式相同。

框图

Block Diagram of SIPO Register

并行输入-串行输出(PISO)移位寄存器

  • 数据位以并行方式输入。
  • 下面所示的电路是一个四位并行输入串行输出寄存器。
  • 前一个触发器的输出通过组合电路连接到下一个触发器的输入。
  • 二进制输入字B0、B1、B2、B3通过相同的组合电路应用。
  • 此电路可以工作在两种模式下,即移位模式或加载模式。

加载模式

当移位/加载禁止线为低电平(0)时,与门2、4和6被使能,它们将B1、B2、B3位传递到相应的触发器。在时钟的下降沿,二进制输入B0、B1、B2、B3将被加载到相应的触发器中。因此,发生并行加载。

移位模式

当移位/加载禁止线为高电平(1)时,与门2、4和6被禁用。因此,数据并行加载变得不可能。但是,与门1、3和5被使能。因此,在应用时钟脉冲时,数据逐位从左到右移动。因此,发生并行输入串行输出操作。

框图

Block Diagram of PISO Register

并行输入-并行输出(PIPO)移位寄存器

在这种模式下,四位二进制输入B0、B1、B2、B3分别应用于四个触发器的D0、D1、D2、D3数据输入。一旦应用时钟下降沿,输入二进制位将同时加载到触发器中。加载的位将同时出现在输出端。加载所有位只需要时钟脉冲。

框图

Block Diagram of PIPO Register

双向移位寄存器

  • 如果一个二进制数左移一位,则相当于将原始数乘以2。类似地,如果一个二进制数右移一位,则相当于将原始数除以2。
  • 因此,如果我们想使用移位寄存器来乘除给定的二进制数,那么我们应该能够向左或向右移动数据。
  • 这样的寄存器称为双向寄存器。一个四位双向移位寄存器如图所示。
  • 有两个串行输入,即串行右移数据输入DR和串行左移数据输入DL,以及一个模式选择输入(M)。

框图

Block Diagram of Bidirectional Shift Register

操作

序号 条件 操作
1 当M = 1 - 右移操作

如果M = 1,则与门1、3、5和7被使能,而其余与门2、4、6和8被禁用。

在应用时钟脉冲时,DR处的数据从FF-3到FF-0逐位右移。因此,当M = 1时,我们得到串行右移操作。

2 当M = 0 - 左移操作

当模式控制M连接到0时,与门2、4、6和8被使能,而1、3、5和7被禁用。

在应用时钟脉冲时,DL处的数据从FF-0到FF-3逐位左移。因此,当M = 0时,我们得到串行右移操作。

通用移位寄存器

只能沿一个方向移位数据的移位寄存器称为单向移位寄存器。可以沿两个方向移位数据的移位寄存器称为双向移位寄存器。应用相同的逻辑,一个既可以沿两个方向移位数据又可以并行加载数据的移位寄存器称为通用移位寄存器。移位寄存器能够执行以下操作:

  • 并行加载
  • 左移

  • 右移

模式控制输入连接到逻辑1用于并行加载操作,而连接到0用于串行移位。当模式控制引脚连接到地时,通用移位寄存器充当双向寄存器。对于串行左移操作,输入应用于串行输入,该输入进入图中所示的与门1。而对于右移操作,串行输入应用于D输入。

框图

Block Diagram of Universal Shift Register
广告