移位寄存器的应用



在上一章中,我们讨论了四种类型的移位寄存器。根据需求,我们可以使用其中一种移位寄存器。以下是移位寄存器的应用。

移位寄存器用作并串转换器,它将并行数据转换为串行数据。它在模数转换器(ADC)模块后的发送器部分使用。

移位寄存器用作串并转换器,它将串行数据转换为并行数据。它在数模转换器(DAC)模块之前的接收器部分使用。

移位寄存器与一些附加门电路一起生成一系列的零和一。因此,它用作序列发生器

移位寄存器也用作计数器。根据最右边D触发器的输出连接到串行输入的方式,计数器分为两种类型。它们是环形计数器和约翰逊环形计数器。

在本章中,让我们逐一讨论这两种计数器。

环形计数器

在上一章中,我们讨论了串行输入-并行输出(SIPO)移位寄存器的操作。它以串行形式接收来自外部的数据,需要'N'个时钟脉冲才能移动'N'位数据。

类似地,'N'位环形计数器执行类似的操作。但唯一的区别是,最右边D触发器的输出作为最左边D触发器的输入,而不是从外部应用数据。因此,环形计数器产生一系列状态(零和一的模式),并且每'N'个时钟周期重复一次。

下图显示了3位环形计数器的框图

Ring Counter

3位环形计数器仅包含一个3位SIPO移位寄存器。最右边D触发器的输出连接到最左边D触发器的串行输入。

假设,从最左边到最右边的D触发器的初始状态为$\mathrm{Q_{2}Q_{1}Q_{0} \: = \: 001}$。这里,$\mathrm{Q_{2}}$和$\mathrm{Q_{0}}$分别为MSB和LSB。我们可以从下表了解环形计数器的运行情况

时钟正边沿数 串行输入 = 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触发器的初始状态为$\mathrm{Q_{2}Q_{1}Q_{0} \: = \: 001}$。此状态在时钟信号的每个三个正边沿跃迁后重复。

因此,对于时钟信号的每个正边沿,会发生以下操作

第一个D触发器的串行输入获得第三个触发器的先前输出。因此,第一个D触发器的当前输出等于第三个触发器的先前输出。

第一个和第二个D触发器的先前输出向右移动一位。这意味着第二个和第三个D触发器的当前输出等于第一个和第二个D触发器的先前输出。

约翰逊环形计数器

约翰逊环形计数器的操作类似于环形计数器。但唯一的区别是,最右边D触发器的反相输出作为最左边D触发器的输入,而不是正常的输出。因此,'N'位约翰逊环形计数器产生一系列状态(零和一的模式),并且每'2N'个时钟周期重复一次。

约翰逊环形计数器也称为扭曲环形计数器和摆尾环形计数器。下图显示了3位约翰逊环形计数器的框图

Twisted Ring Counter

3位约翰逊环形计数器也仅包含一个3位SIPO移位寄存器。最右边D触发器的反相输出连接到最左边D触发器的串行输入。

假设,最初所有D触发器都被清零。因此,$\mathrm{Q_{2}Q_{1}Q_{0} \: = \: 000}$。这里,$\mathrm{Q_{2}}$和$\mathrm{Q_{0}}$分别为MSB和LSB。我们可以从下表了解约翰逊环形计数器的运行情况

时钟正边沿数 串行输入 = 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触发器的初始状态为$\mathrm{Q_{2}Q_{1}Q_{0} \: = \: 000}$。此状态在时钟信号的每个六个正边沿跃迁后重复。

因此,对于时钟信号的每个正边沿,会发生以下操作

第一个D触发器的串行输入获得第三个触发器的先前反相输出。因此,第一个D触发器的当前输出等于第三个触发器的先前反相输出。

第一个和第二个D触发器的先前输出向右移动一位。这意味着第二个和第三个D触发器的当前输出等于第一个和第二个D触发器的先前输出。

广告