5 、常用集成时序逻辑器件
一、集成计数器🧀
- 谈到同步/异步计数器,指的是清零方式的不同,置数方式都是同步的。比如,常见的同步计数器(74162,74163)、异步计数器(74160,74161)
- 比如十二进制,异步清零就是接到清零端CLR \(12(1100)\) ,如果是接到置数端LOAD就是 \(11(1011)\) (要减一) ,因为置数永远是同步的
1、74160/1/2/3🧀
- 注意区别:74160是10进制,74161是16进制,后续计算超过 \(16\) 进制时需要注意
- 设计 \(M\) 进制计数器时如果 \(M>N\) 一般有串行和并行进位两种方法(并行进位法较容易)
| 串行进位法 | 并行进位法 |
|---|---|
| 钟只连低位片 | 钟同时连两片 |
| 低位片进位输出 → 高位片的时钟输入信号 | 低位片进位输出 → 高位片的工作状态控制信号 |
(1)构成任意进制计数器🧀
Ⅰ 🌟并行进位法🧀
两种方法
清零法
将 \(\overline{Q_DQ_CQ_BQ_A}\) 视作二进制数,要几进制将其通过与非门连接回CLR清零
如果要输出进位信号就是 \(\overline{Q_DQ_CQ_BQ_A}-1\) 时输出
置数法
核心:\(\overline{Q_DQ_CQ_BQ_A}-\overline{DCBA}+1=进制数\) ,然后将 \(\overline{Q_DQ_CQ_BQ_A}\) 中为1的通过与非门连回LOAD置数 (一般取 \(\overline{DCBA}=0\) ,所以 \(\overline{Q_DQ_CQ_BQ_A}=进制数-1\))
进制大于16怎么办?(并行进位)
Ⅰ 清零法
拆成高位和低位,\(60=6\times10+0\) ,因此高位置 \(6\) ,低位置 \(0\) ,低位的 RCO 进位接到高位的使能端
注:如果使用74161,则拆成 \(60=16\times3+12\) ,因为是16进制计数器,高位置 \(3(0011)\) ,低位置 \(12(1100)\)
Ⅱ 置数法
拆成 \(60-1=59=5\times10+9\),即 \(高位=5(0101)\) , \(低位=9(1001)\)
Ⅱ 串行进位法🧀
- 并行进位是拆成两位然后分别置零,串行进位是用低位的清零信号触发高位的进位(当作高位的钟)
进制大于16怎么办?(串行进位)
这里举例 \(47\) 进制计数器
- 因为十进制所以先用两位的与非门连接低位的 \(10(1010)\) ,并且连接到高位 CLK 端当作时钟信号
- 把高位 \(4(0100)\) ,低位 \(7(0111)\) ,用四位与非门连接作为清零信号
- 清零信号直接连接高位清零端 CLR
- 清零信号和低位的十进制清零信号用与门连接再接回低位清零端 CLR
(2)序列信号发生器🧀
序列信号发生器由一个计数器和一个数据选择器构成。计数器负责发生时序的信号(000 - 111),数据选择器负责产生序列。接线十分简单,需要产生什么信号就把 \(\overline{D_0D_1D_2D_3D_4D_5D_6D_7}=所需序列\) 。比如这里要产生信号序列 \(00011011\) ,就把 \(D_0\sim D_7\) 接成所要信号即可。
(3)脉冲信号发生器🧀
脉冲信号发生器不同于序列信号发生器,具有多个输出端口,而非单一输出。各输出端可在不同计数状态或不同时间间隔下产生脉冲信号,因此可将其理解为一种实现多分频功能的电路结构。
脉冲信号发生器由一个计数器和一个译码器构成,但是需要注意竞争冒险现象的出现,这里使用一个选通脉冲消除竞争冒险现象(📌📌📌但是会延后一个时钟周期);也可以直接由一个环形计数器构成。
2、7490🧀
- 自带二、五、十进制计数器
- R01、R02角高电平且R91、R92角有一个低电平置零
- R91、R92角高电平置九
- 左侧图示把 QA(÷2 的输出)接给 CLKB(÷5 的时钟输入),就得到:\(整体分频 = 2 \times 5 = 10\)
- 右侧图示在作图基础上增加两条蓝线实现模 \(6\) 计数器:本质和74161置零法一样, \(\overline{Q_DQ_CQ_BQ_A}=6=0110\) 时置零
二、集成寄存器🧀
1、74194🧀
- 74LS194 可以把 4 位数据向左移、向右移、保持不变,或一次性并行装载
| S1 | S0 | 功能 |
|---|---|---|
| 0 | 0 | 保持(不变) |
| 0 | 1 | 右移(SR → Q3 → Q2 → Q1 → Q0) |
| 1 | 0 | 左移(SL → Q0 → Q1 → Q2 → Q3) |
| 1 | 1 | 并行装载(加载 D0~D3) |
(1)环形计数器🧀
环形计数器反馈信号就是原变量
- 环形计数器就是把 1 在一圈里不停地跑(可以作为顺序脉冲发生器)
- ❌电路状态利用率低: \(n\) 位有 \(2^n\) 个状态,但是环形计数器只能利用 \(n\) 个状态
- ❌存在竞争-冒险现象:每次两位二进制发生变化
Bug
这里把 \(Q_0Q_1Q_2\) 三项取或非来实现自启动
(2)扭环计数器🧀
-
扭环计数器反馈信号就是原变量的反变量
-
它不是一个 1 在跑,而是 \(0\) 和 \(1\) 的长度在变化,能产生 \(2n\) 个状态。
-
❌电路状态利用率低: \(n\) 位有 \(2^n\) 个状态,但是环形计数器只能利用 \(2n\) 个状态
Bug
这里把 \(Q_0^* = D_0 = Q_1 Q_2' + Q_3'\) 来实现自启动