📅  最后修改于: 2021-01-08 05:56:40             🧑  作者: Mango
在上一章中,我们讨论了四种类型的移位寄存器。根据要求,我们可以使用这些移位寄存器之一。以下是移位寄存器的应用。
移位寄存器用作并行至串行转换器,它将并行数据转换为串行数据。它在模数转换器(ADC)模块之后的发送器部分使用。
移位寄存器用作串行到并行转换器,它将串行数据转换为并行数据。它在数模转换器(DAC)模块之前的接收器部分使用。
移位寄存器与一些附加的门产生零和一的序列。因此,它用作序列生成器。
移位寄存器也用作计数器。根据最右边D触发器的输出类型,有两种类型的计数器连接到串行输入。这些是Ring计数器和Johnson Ring计数器。
在本章中,让我们一一讨论这两个计数器。
在上一章中,我们讨论了串行输入-并行输出(SIPO)移位寄存器的操作。它以串行形式从外部接收数据,并且需要“ N”个时钟脉冲才能移位“ N”个位数据。
类似地, “ N”位振铃计数器执行类似的操作。但是,唯一的区别是,最右边的D触发器的输出作为最左边的D触发器的输入给出,而不是从外部施加数据。因此,环形计数器会产生一个状态序列(零和一的模式),并且每隔‘N’个时钟周期重复一次。
下图显示了3位环形计数器的框图。
3位环形计数器仅包含3位SIPO移位寄存器。最右边的D触发器的输出连接到最左边的D触发器的串行输入。
假设D触发器从最左边到最右边的初始状态是$ Q_ {2} Q_ {1} Q_ {0} = 001 $。这里,$ Q_ {2} $和$ Q_ {0} $分别是MSB和LSB。我们可以从下表了解Ring计数器的工作原理。
No of positive edge of Clock | Serial Input = Q0 | Q2(MSB) | Q1 | Q0(LSB) |
---|---|---|---|---|
0 | – | 0 | 0 | 1 |
1 | 1 | 1 | 0 | 0 |
2 | 0 | 0 | 1 | 0 |
3 | 0 | 0 | 0 | 1 |
在没有时钟信号的情况下,D触发器的初始状态为$ Q_ {2} Q_ {1} Q_ {0} = 001 $。对于时钟信号的每三个上升沿跳变,此状态都会重复一次。
因此,在时钟信号的每个上升沿都会进行以下操作。
第一个D触发器的串行输入获取第三个触发器的先前输出。因此,第一D触发器的当前输出等于第三触发器的先前输出。
第一和第二D触发器的先前输出右移一位。这意味着,第二和第三D触发器的当前输出等于第一和第二D触发器的先前输出。
Johnson Ring计数器的操作类似于Ring计数器的操作。但是,唯一的区别是,最右边的D触发器的补码输出作为最左边的D触发器的输入给出,而不是正常输出。因此,约翰逊环计数器的’N’位产生一个状态序列(零和一的模式),并且每隔‘2N’个时钟周期重复一次。
Johnson Ring计数器也称为Twisted Ring计数器和Switch尾部Ring计数器。下图显示了3位Johnson Ring计数器的框图。
3位Johnson Ring计数器也仅包含3位SIPO移位寄存器。最右边的D触发器的互补输出连接到最左边的D触发器的串行输入。
假设最初所有的D触发器都被清除了。因此,$ Q_ {2} Q_ {1} Q_ {0} = 000 $。这里,$ Q_ {2} $和$ Q_ {0} $分别是MSB和LSB。我们可以从下表中了解Johnson Ring计数器的工作原理。
No of positive edge of Clock | Serial Input = Q0 | Q2(MSB) | Q1 | Q0(LSB) |
---|---|---|---|---|
0 | – | 0 | 0 | 0 |
1 | 1 | 1 | 0 | 0 |
2 | 1 | 1 | 1 | 0 |
3 | 1 | 1 | 1 | 1 |
4 | 0 | 0 | 1 | 1 |
5 | 0 | 0 | 0 | 1 |
6 | 0 | 0 | 0 | 0 |
在没有时钟信号的情况下,D触发器的初始状态为$ Q_ {2} Q_ {1} Q_ {0} = 000 $。时钟信号的每六个上升沿跳变都会重复此状态。
因此,在时钟信号的每个上升沿都会进行以下操作。
第一个D触发器的串行输入获得第三个触发器的先前补码输出。因此,第一D触发器的当前输出等于第三触发器的先前的补充输出。
第一和第二D触发器的先前输出右移一位。这意味着,第二和第三D触发器的当前输出等于第一和第二D触发器的先前输出。