触发器基本应用:计数器(二进制异步/行波、环形、扭环型)、寄存器(并/串行、输入/出、移位、累加、延时单元)

1  简单计数器

一个计数器常由一组触发器(按给定顺序改变状态)构成

同步计数器:触发器的状态在同一时钟脉冲的同一有效边沿上改变

异步计数器:每个触发器时钟部分或全部不同

↓一些特殊的计数器

①二进制计数器(脉冲分频电路/除法计数器)

 

异步计数器中

由 n个T'触发器(上图由D触发器构成,若由JK触发器构成,则JK输入端连1)构成,

第一个T'触发器的C端连接系统时钟,

其后每一级触发器将前级触发器输出作为本级时钟输入的计数器

——二进制异步加法计数器

 

 

 在系统时钟CP作用下,第1个T'触发器不断翻转,其输出是第2个T'触发器时钟,故第2个T'触发器也不断翻转,但周期长了一倍

每个触发器翻转周期均比其前级触发器周期长一倍

该图中,D触发器有效时钟边沿是上升沿,且将前级输出的“非”作为后级时钟,故前级输出下降沿引起后级触发器翻转

n级触发器可构成$2^n$分频电路,$2^n$分频相当于将CP脉冲频率÷$2^n$

eg.CP信号是8MHz

通过3个触发器,Q2输出1MHz(CP信号8分频);

通过4个触发器,Q3输出0.5MHz(CP信号的16分频)……

若将前级输出Q作为后级时钟,引起后级触发器翻转的前级输出变为上升沿;

把此计数器所有触发器输出看成二进制数,其计数规律:每个CP,计数值减1(减法计数器)

 

 【触发器构成的异步计数器总结】

加法计数:前级输出是后级时钟,后级时钟下降沿有效

减法计数:前级输出的“非”是后级时钟,后级时钟下降沿有效

∵该计数器时钟信号前后级串联

∴到每个触发器时钟信号不同时,故又称其“行波计数器

∵每个触发器时钟不同步

∴在CP有效边沿后一段时间内可能产生冒险

eg.计数从7到8

0111→0110→0100→0000→1000

不稳定的暂态过程,需要持续4个触发器传输延时时间才能达到稳定

(触发器越多,该不稳定暂态过程持续时间越长)

由于不稳定现象发生在状态转换过程中,故称之动态冒险

虚假计数值可能造成严重后果!!!

②环形计数器

一个顺序改变的驱动信号(1→2……→7→1→2……→7)

n个驱动信号作为动作的启动信号;

每个动作结束后产生有效的CP脉冲信号;

最后一个动作执行完,系统回到0号状态,等下次循环。【顺序控制方式】

 

 工作过程:

①系统启动时,系统复位信号RST将第1个触发器输出预置为1,其余触发器输出预置位0→计数器复位状态为$Q_4 Q_3 Q_2 Q_1 Q_0=00001$

②系统启动后,RST不再出现

第n个触发器的输出是第n+1个触发器的激励输入,故第n+1个触发器的次态是第n个触发器现态;

最后一个触发器输出循环回,成为第1个触发器激励,第1个触发器次态是最后一个触发器现态

(像是将第1个触发器输出在CP脉冲作用下不断位移,该结构叫移位寄存器结构,该计数器叫移位寄存器计数器

优点:同步计数器采用同一个时钟信号,不存在异步计数器所存在的动态冒险问题

缺点:计数状态利用率低,n个触发器仅有n个有效输出状态<<可能产生的$2^n$个状态数

针对该缺点设计的环形计数器——扭环型计数器/约翰逊计数器

 

 区别:最后一个触发器到第1个触发器的反馈型号不同

环形计数器:最后一个计数器输出Q作为反馈信号

扭环型计数器:最后一个触发器输出的“非”作为反馈信号→是输出状态增加一倍

CP脉冲作用下,扭环型计数器输出每次仅变1位,故其译码时无竞争-冒险现象

2  寄存器

存储数据!由一组触发器构成;1个触发器存1位二进制,n个触发器存n个二进制数

怎样把数据存入触发器?(输入)

怎样从触发器中读取数据?(输出)

两种输入或输出模式:

(1)并行方式:将n位二进制数一次存入寄存器或从寄存器读出;只需1个时钟脉冲,但需要n根输入、输出数据线

(2)串行方式:将n位二进制数以每次1位、分成n次存入寄存器或从寄存器读出;只需1根输入和输出数据线,但需要n个时钟脉冲完成输入或输出操作

两种模式交叉得四种模式寄存器:并行输入/并行输出、串行输入/串行输出、并行输入/串行输出、串行输入/串行输出

寄存器中所有触发器时钟常来自同一时钟输入,故它们都是同步结构的时序电路

①并行输入/并行输出寄存器

$DI_0$到$DI_{n-1}$:寄存器数据输入端,触发器激励输入

$DO_0$到$DO_{n-1}$:寄存器数据输出端,随时可被其他设备读取

∵所有触发器时钟都连在一起

∴时钟输入是寄存器“写数据”信号

【工作过程】

将要存储的数据输入到数据输入端$DI_0$到$DI_{n-1}$,保持稳定后,再产生一个有效的CP脉冲,数据被寄存在寄存器内,寄存器数据输出端$DO_0$到$DO_{n-1}$就呈现寄存器内部数据

 

上图寄存器由边沿触发器构成,用于存储二进制。

任何类型触发器转换成D触发器/锁存器,就可以构成寄存器,但对输入数据和时钟脉冲的配合要求不同

(D锁存器,CP=1期间,输出与输入完全相同,应该保持输入数据稳定)

下面是实际集成电路的典型,带有异步清零信号。

上方:公共控制框,用于统一标注所有逻辑元件阵列中的公共控制信号

下方:4个D触发器组成的逻辑元件阵列

②串行输入/串行输出寄存器(移位寄存器)

 

 每个时钟脉冲只接收1位数据,数据同时在寄存器的各个触发器间移动,方向取决于内部输入输出连接方式

串行输出:从寄存器末端触发器中获得

移位寄存器(Shift Register)名称来源:每个时钟脉冲都从一个触发器移到下一个触发器

下图是实际集成电路中用RS锁存器或主从触发器构成的D触发器(注意时钟信号和数据输入的配合关系)

引出触发器Q端,可构成串行输入/并行输出寄存器(输入数据需经n个时钟脉冲才可完全进入寄存器;

数据完全进入寄存器后,可随时在并行输出端读该数据)

 

 上图可作串行输入/串行输出寄存器,可作串行输入/并行输出寄存器

一个8位数据通过8个Cpap脉冲移入寄存器,$Q_0$到$Q_7$可得并行输出

③累加器

④用寄存器构成延时单元

eg1:典型的数字信号处理过程

$y_{(n)}=x_{(n)}+b·y_{(n-1)}$

$y_{(n)}$:当前输出数据

$x_{(n)}$:当前输入数据

$b$:一个常数

$y_{(n-1)}$:上个节拍输出的数据

运算:算术乘加运算

$z^{-1}$:延时一个时钟节拍,其输出为上一节拍输出$y$,即$y_{(n-1)}$

∵寄存器输入输出间总相差一个时钟节拍

∴用寄存器可构成数据延时单元

乘法和延时可互换位置,即$b·y_{(n-1)}=[b·y_{(n)}]_{(n-1)}$

eg2:“001”数字序列检测电路,满足输出1,否则输出0

法(1)一般结构:由移位寄存器构成数据延时,再用比较器进行序列比较

应用于待检测数据序列可变的情况:需要改变时,再合适时刻改变比较器Q输入,实现动态检测

法(2)检测序列固定不变:蜕化为简单的与门电路

eg3:数据流转换

输入输出数据:1位二进制数字序列

正转换:输入出现“1”,输出由原来的“1”变为“0”,原来的“0”变为“1”;

输入为“0”,输出不变

逆转换:输入数据发生变化输出为“1”,否则输出为“0”

设计一个数字逻辑实现转换,同时有输入选择S确定实现哪种转换

解:定义上述两种数据流分别为A和B,正转换为A→B,逆转换为B→A

定义X(n)当前数据,X(n-1)上一节拍数据

 

 

 化简(如卡诺图)得

正转换$B_{(n)}=A_{(n)}\oplus B_{(n-1)}$

逆转换$A_{(n)}=B_{(n)}\oplus B_{(n-1)}$

 

 利用控制端合并成一个,令S=0是正转换,S=1是逆转换;x数据输入端,y数据输出端

 

 $y_{(n)}=S[x_{(n)} \oplus y_{(n-1)}]+\overline{S}[x_{(n)} \oplus x_{(n-1)}]$

化简:

∵选通信号S和延时信号间逻辑关系“逻辑与”

又∵两信号“逻辑与”相当于信号“算术乘”1或0

∴“逻辑与”和“延时”互换位置不影响运算结果

化简为$y_{(n)}=x_{(n)} \oplus [\overline{S}·y_{(n)}+S·x_{(n)}]_{(n-1)}$

 

 
posted @ 2022-12-04 22:54  asandstar  阅读(3288)  评论(0编辑  收藏  举报