Skip to content

5 、常用集成时序逻辑器件


一、集成计数器🧀

\[ f(\Delta)= \begin{cases} \text{置数}, & \text{同步}\rightarrow S_{n-1}\\[6pt] \text{清零}, & \begin{cases}\text{同步}\rightarrow S_{n-1}\\[6pt] \text{异步}\rightarrow S_{n} \end{cases} \end{cases} \]
  • 谈到同步/异步计数器,指的是清零方式的不同,置数方式都是同步的。比如,常见的同步计数器(74162,74163)、异步计数器(74160,74161)
  • 比如十二进制,异步清零就是接到清零端CLR \(12(1100)\) ,如果是接到置数端LOAD就是 \(11(1011)\) (要减一) ,因为置数永远是同步的

74LS16X.svg

1、74160/1/2/3🧀

  • 注意区别:74160是10进制,74161是16进制,后续计算超过 \(16\) 进制时需要注意
  • 设计 \(M\) 进制计数器时如果 \(M>N\) 一般有串行并行进位两种方法(并行进位法较容易)
串行进位法 并行进位法
钟只连低位片 钟同时连两片
低位片进位输出 → 高位片的时钟输入信号 低位片进位输出 → 高位片的工作状态控制信号

(1)构成任意进制计数器🧀

Ⅰ 🌟并行进位法🧀

两种方法

清零法

mod7_1.png

\(\overline{Q_DQ_CQ_BQ_A}\) 视作二进制数,要几进制将其通过与非门连接回CLR清零

如果要输出进位信号就是 \(\overline{Q_DQ_CQ_BQ_A}-1\) 时输出


置数法

mod7_2.svg

核心:\(\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\)

同步计数器呢?

mod7_3.svg

这里会发现同步计数器无论是清零法还是置数法的与非门接法是一模一样的,都是需要减一的

进制大于16怎么办?(并行进位

Ⅰ 清零法

拆成高位和低位,\(60=6\times10+0\) ,因此高位置 \(6\) ,低位置 \(0\) ,低位的 RCO 进位接到高位的使能端

注:如果使用74161,则拆成 \(60=16\times3+12\) ,因为是16进制计数器,高位置 \(3(0011)\) ,低位置 \(12(1100)\)

mod60_1.svg

Ⅱ 置数法

拆成 \(60-1=59=5\times10+9\),即 \(高位=5(0101)\)\(低位=9(1001)\)

mod60_2.svg

Ⅱ 串行进位法🧀
  • 并行进位是拆成两位然后分别置零,串行进位是用低位的清零信号触发高位的进位(当作高位的钟

进制大于16怎么办?(串行进位

这里举例 \(47\) 进制计数器

  • 因为十进制所以先用两位的与非门连接低位的 \(10(1010)\) ,并且连接到高位 CLK 端当作时钟信号
  • 把高位 \(4(0100)\) ,低位 \(7(0111)\) ,用四位与非门连接作为清零信号
  • 清零信号直接连接高位清零端 CLR
  • 清零信号和低位的十进制清零信号用与门连接再接回低位清零端 CLR

mod47.svg

(2)序列信号发生器🧀

序列信号发生器由一个计数器和一个数据选择器构成。计数器负责发生时序的信号(000 - 111),数据选择器负责产生序列。接线十分简单,需要产生什么信号就把 \(\overline{D_0D_1D_2D_3D_4D_5D_6D_7}=所需序列\) 。比如这里要产生信号序列 \(00011011\) ,就把 \(D_0\sim D_7\) 接成所要信号即可。

Sequence Signal Generator.svg

(3)脉冲信号发生器🧀

脉冲信号发生器不同于序列信号发生器,具有多个输出端口,而非单一输出。各输出端可在不同计数状态或不同时间间隔下产生脉冲信号,因此可将其理解为一种实现多分频功能的电路结构。

脉冲信号发生器由一个计数器和一个译码器构成,但是需要注意竞争冒险现象的出现,这里使用一个选通脉冲消除竞争冒险现象(📌📌📌但是会延后一个时钟周期);也可以直接由一个环形计数器构成。

Sequential Pulse Generator.svg


2、7490🧀

7490.svg

  • 自带二、五、十进制计数器
  • R01、R02角高电平且R91、R92角有一个低电平置零
  • R91、R92角高电平置九

7490_1.svg

  • 左侧图示把 QA(÷2 的输出)接给 CLKB(÷5 的时钟输入),就得到:\(整体分频 = 2 \times 5 = 10\)
  • 右侧图示在作图基础上增加两条蓝线实现模 \(6\) 计数器:本质和74161置零法一样, \(\overline{Q_DQ_CQ_BQ_A}=6=0110\) 时置零

二、集成寄存器🧀

1、74194🧀

74194.svg

  • 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\) 三项取或非来实现自启动

\[ \begin{aligned} Q_0^* &= D_0 = (Q_0 + Q_1 + Q_2)'\\[6pt] Q_1^* &= D_1 = Q_0\\[6pt] Q_2^* &= D_2 = Q_1\\[6pt] Q_3^* &= D_3 = Q_2 \end{aligned} \]

ringcounter.svg

ringcounter_state_diagram.svg

74194_ring.svg

(2)扭环计数器🧀

  • 扭环计数器反馈信号就是原变量的反变量

  • 它不是一个 1 在跑,而是 \(0\)\(1\) 的长度在变化,能产生 \(2n\) 个状态。

  • ❌电路状态利用率低: \(n\) 位有 \(2^n\) 个状态,但是环形计数器只能利用 \(2n\) 个状态

Bug

这里把 \(Q_0^* = D_0 = Q_1 Q_2' + Q_3'\) 来实现自启动

\[ \begin{align} Q_0^* &= D_0 = Q_1 Q_2' + Q_3' \\ Q_1^* &= D_1 = Q_0 \\ Q_2^* &= D_2 = Q_1 \\ Q_3^* &= D_3 = Q_2 \end{align} \]

johnsoncounter.svg

Johnson_state_diagram.svg

74194_johnson.svg