📅  最后修改于: 2021-01-08 05:56:03             🧑  作者: Mango
我们知道一个触发器可以存储一位信息。为了存储多个信息位,我们需要多个触发器。用于保持(存储)二进制数据的一组触发器称为register 。
如果该寄存器能够将位向右或向左移位,则称为移位寄存器。 “ N”个移位寄存器包含“ N”个触发器。以下是基于应用输入和输出访问的四种移位寄存器。
允许串行输入并产生串行输出的移位寄存器称为串行输入–串行输出(SISO)移位寄存器。下图显示了3位SISO移位寄存器的框图。
该框图包括三个级联的D触发器。这意味着,一个D触发器的输出被连接为下一个D触发器的输入。所有这些触发器彼此同步,因为相同的时钟信号被施加到每个触发器。
在该移位寄存器中,我们可以从最左边的D触发器的输入串行发送位。因此,该输入也称为串行输入。对于时钟信号的每个上升沿触发,数据都从一个阶段转移到下一个阶段。因此,我们可以从最右边的D触发器的输出中串行接收比特。因此,此输出也称为串行输出。
让我们通过在输入端从LSB到MSB串行发送二进制信息“ 011”来查看3位SISO移位寄存器的工作原理。
假设D触发器从最左边到最右边的初始状态是$ Q_ {2} Q_ {1} Q_ {0} = 000 $。我们可以从下表了解3位SISO移位寄存器的工作原理。
No of positive edge of Clock | Serial Input | Q2 | Q1 | Q0 |
---|---|---|---|---|
0 | – | 0 | 0 | 0 |
1 | 1(LSB) | 1 | 0 | 0 |
2 | 1 | 1 | 1 | 0 |
3 | 0(MSB) | 0 | 1 | 1(LSB) |
4 | – | – | 0 | 1 |
5 | – | – | – | 0(MSB) |
在没有时钟信号的情况下,D触发器的初始状态为$ Q_ {2} Q_ {1} Q_ {0} = 000 $。在这里,串行输出来自$ Q_ {0} $。因此,LSB(1)在时钟的第三个正沿接收,而MSB(0)在时钟的第5个正沿接收。
因此,3位SISO移位寄存器需要五个时钟脉冲才能产生有效输出。同样, N位SISO移位寄存器需要2N-1个时钟脉冲才能移位“ N”位信息。
允许串行输入并产生并行输出的移位寄存器称为串行输入-并行输出(SIPO)移位寄存器。下图显示了3位SIPO移位寄存器的框图。
该电路由三个级联的D触发器组成。这意味着,一个D触发器的输出被连接为下一个D触发器的输入。所有这些触发器彼此同步,因为相同的时钟信号被施加到每个触发器。
在该移位寄存器中,我们可以从最左边的D触发器的输入串行发送位。因此,该输入也称为串行输入。对于时钟信号的每个上升沿触发,数据都从一个阶段转移到下一个阶段。在这种情况下,我们可以并行访问每个D触发器的输出。因此,我们将从该移位寄存器获取并行输出。
让我们通过在输入端从LSB到MSB串行发送二进制信息“ 011”来查看3位SIPO移位寄存器的工作。
假设D触发器从最左边到最右边的初始状态是$ Q_ {2} Q_ {1} Q_ {0} = 000 $。这里,$ Q_ {2} $和$ Q_ {0} $分别是MSB和LSB。我们可以从下表了解3位SIPO移位寄存器的工作原理。
No of positive edge of Clock | Serial Input | Q2(MSB) | Q1 | Q0(LSB) |
---|---|---|---|---|
0 | – | 0 | 0 | 0 |
1 | 1(LSB) | 1 | 0 | 0 |
2 | 1 | 1 | 1 | 0 |
3 | 0(MSB) | 0 | 1 | 1 |
在没有时钟信号的情况下,D触发器的初始状态为$ Q_ {2} Q_ {1} Q_ {0} = 000 $。在时钟的第三上升沿,在D触发器的输出处并行获得二进制信息“ 011” 。
因此,3位SIPO移位寄存器需要三个时钟脉冲才能产生有效输出。同样, N位SIPO移位寄存器需要N个时钟脉冲才能移位“ N”位信息。
允许并行输入并产生串行输出的移位寄存器称为并行输入-串行输出(PISO)移位寄存器。下图显示了3位PISO移位寄存器的框图。
该电路由三个级联的D触发器组成。这意味着,一个D触发器的输出被连接为下一个D触发器的输入。所有这些触发器彼此同步,因为相同的时钟信号被施加到每个触发器。
在此移位寄存器中,我们可以通过将Preset Enable(预置使能)设为1,将并行输入应用于每个D触发器。对于时钟信号的每个正沿触发,数据都会从一个阶段转移到下一个阶段。因此,我们将从最右边的D触发器获取串行输出。
让我们看看通过预置输入并行应用二进制信息“ 011”来了解3位PISO移位寄存器的工作情况。
由于预设输入是在时钟的上升沿之前施加的,因此D触发器从最左边到最右边的初始状态将为$ Q_ {2} Q_ {1} Q_ {0} = 011 $。我们可以从下表了解3位PISO移位寄存器的工作原理。
No of positive edge of Clock | Q2 | Q1 | Q0 |
---|---|---|---|
0 | 0 | 1 | 1(LSB) |
1 | – | 0 | 1 |
2 | – | – | 0(LSB) |
在这里,串行输出来自$ Q_ {0} $。因此,在应用时钟的上升沿之前先接收LSB(1),在时钟的第二上升沿时接收MSB(0)。
因此,3位PISO移位寄存器需要两个时钟脉冲才能产生有效输出。同样, N位PISO移位寄存器需要N-1个时钟脉冲才能移位’N’位信息。
允许并行输入并产生并行输出的移位寄存器称为并行输入-并行输出(PIPO)移位寄存器。下图显示了3位PIPO移位寄存器的框图。
该电路由三个级联的D触发器组成。这意味着,一个D触发器的输出被连接为下一个D触发器的输入。所有这些触发器彼此同步,因为相同的时钟信号被施加到每个触发器。
在该移位寄存器中,我们可以通过将Preset Enable设置为1,将并行输入应用于每个D触发器。我们可以通过预置或清除来应用并行输入。这两个是异步输入。这意味着,触发器基于异步输入的值来产生相应的输出。在这种情况下,输出的效果与时钟转换无关。因此,我们将从每个D触发器获取并行输出。
让我们看看通过预置输入并行应用二进制信息“ 011”来了解3位PIPO移位寄存器的工作情况。
由于预设输入是在时钟的上升沿之前施加的,因此D触发器从最左边到最右边的初始状态将为$ Q_ {2} Q_ {1} Q_ {0} = 011 $。因此,在施加时钟的上升沿之前,在D触发器的输出处并行获得二进制信息“ 011” 。
因此,3位PIPO移位寄存器需要零时钟脉冲才能产生有效输出。同样, N位PIPO移位寄存器不需要任何时钟脉冲即可移位’N’位信息。