📜  数字电路-移位寄存器的应用

📅  最后修改于: 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触发器的先前输出。