数字电子技术基础(一)

官方工学老师·36 页·深入(追求细节与边界)·0 次浏览·2 天前
组合逻辑编码译码卡诺图电路设计

数字电子技术基础(一)

掌握分析设计全流程,吃透编码器与译码器的工程细节与边界陷阱

按 空格/→ 演示下一步

1 / 36 页

全部页面点击任意一页,跳回舞台从这页播放

组合逻辑编码译码卡诺图电路设计

数字电子技术基础(一)

掌握分析设计全流程,吃透编码器与译码器的工程细节与边界陷阱

1第 1 页 · 数字电子技术基础(一)

组合逻辑电路的定义

你按计算器上的「2+3=」,屏幕立刻显示「5」。再按一次,结果还是「5」——这种「立刻、确定」的反应,就是组合逻辑电路的典型行为。

输出仅由当前输入决定
同一组输入必对应同一组输出,与电路过去状态无关
无存储元件
不含触发器、寄存器等能「记住」电平的元件
无反馈回路
输出端信号不会反向送回输入端,信号单向流动
可用真值表完整描述
每一种输入组合都对应唯一确定的输出值
城市自来水管道对应 →组合逻辑电路

多个阀门(输入)控制水流,经管道节点混合(逻辑门),从龙头(输出)流出。无蓄水池=无记忆

Yi=f(X1,X2,,Xn)Y_i = f(X_1, X_2, \dots, X_n)
2第 2 页 · 组合逻辑电路的定义

组合电路的核心特征

上页我们定义了数字逻辑电路。电路有的是"会记事"的,有的是"只看当下"的。比如计算器:按完"7×8="得56,不受上次影响,只看此刻按键。组合电路,正是这种"只看现在"的电路。

无存储元件
电路只含与/或/非等组合门,不含触发器、锁存器等记忆元件
输出无反馈
输出端口不能接回输入端,信号沿单向、无环路径传播
延迟由门级决定
输出稳定时间 = 关键路径上各级门传播延迟之和,与历史状态无关
餐厅即时结账台对应 →组合电路

菜品列表=输入,账单=输出;换菜即重算,完全不参考上次订单

tpd=maxPiPtg,it_{pd}=\max_{P}\sum_{i\in P}t_{g,i}
3第 3 页 · 组合电路的核心特征

组合 vs 序贯:本质差异

都处理输入输出,但"有没有记忆"让两者行为截然不同

组合逻辑电路
  • 仅含逻辑门,无存储元件
  • 输出仅取决于当前输入
  • 无记忆,输出与时间无关
  • 加法器、编码器、选择器
时序逻辑电路
  • 含触发器等存储元件
  • 输出取决于输入与历史
  • 有记忆,存在状态转移
  • 计数器、寄存器、状态机
只需看当下选组合;要追溯过去必须引入存储,构成时序
4第 4 页 · 组合 vs 序贯:本质差异

分析四步法

拿到一个组合逻辑电路,按这四步走到底,就能彻底看清它的功能。

1
赋值
从输入端开始,逐级给每条线标上逻辑值,确定起点
2
写式
沿信号流向,写出每个门输出的逻辑表达式
3
化简
用布尔代数或卡诺图,把输出表达式化到最简
4
真值表
列出所有输入组合下的输出,判断电路功能
5第 5 页 · 分析四步法

分析实例:全流程图解

以「三人表决电路」为例,沿四步法走一遍:写式→化简→列真值表→判功能。

图解渲染中…
cir三人各投一票,A/B/C 表示同意或反对s1从电路图逐级读出 F 的与或式s3三个变量共 2³=8 种输入组合out至少两人同意时 F=1,少数服从多数
6第 6 页 · 分析实例:全流程图解

电路功能描述方法

前页我们走完了分析四步法,得到电路的逻辑功能。这一页反过来:分析完之后,如何把'电路做了什么'清楚地描述给别人?三种方法各有适用场景。

布尔表达式
代数形式描述逻辑关系,适合推导、化简与门级变换
真值表
穷举所有输入组合及对应输出,最完整、无歧义
时序图(波形图)
以波形呈现输入输出随时间变化,反映延迟与冒险
三者互补
可相互转换,实际工程按分析目的选用最合适的
设计图、使用手册、施工监控对应 →布尔表达式、真值表、时序图

结构、映射、过程三个视角描述同一对象

7第 7 页 · 电路功能描述方法

设计四步法

从题目到电路图,中间走过四步标准化路径。

1
明确需求
从题目中提炼输入、输出变量与隐含约束
2
列真值表
对所有输入组合穷举,写出对应的输出值
3
化简表达式
用卡诺图或公式法求最简逻辑表达式
4
画电路图
按表达式选门电路,画图并回头验证
8第 8 页 · 设计四步法

设计实例:需求到电路

横向看流程四步:从需求描述走到门电路图;每个节点是这一步的关键产出。

图解渲染中…
a2三人ABC共8种输入,≥2个为1时Y=1,对应m3,m5,m6,m7a3卡诺图圈1化简,得到与或式 AB+BC+ACa43个两输入与门(AB,BC,AC)再过1个三输入或门
9第 9 页 · 设计实例:需求到电路

卡诺图化简法

上页推到了逻辑表达式,但直接画电路往往门太多、线太乱——还不够「简」。卡诺图就是专门把化简变成看图找规律的图形化工具。

二维真值表
最小项按格雷码排进方格,相邻格只差一位变量
相邻即化简
两相邻格合并可消去那个变化的变量,圈越大消得越多
圈选三原则
格数必须是 2 的幂;形状必须是矩形;优先圈最大的
必需圈与冗余圈
覆盖「只有这一圈能盖住」的 1 称为必需圈,其余冗余圈可去
无关项当工具用
× 可视为 0 或 1,主动圈入凑成更大圈,最后当作不存在
俄罗斯方块拼大方块对应 →卡诺图圈选 1

都是找最大矩形覆盖目标;圈多大就消多少变量

圈选 2n 格消去 n 个变量\text{圈选 } 2^n \text{ 格} \Rightarrow \text{消去 } n \text{ 个变量}
10第 10 页 · 卡诺图化简法

约束条件与无关项

卡诺图化简时,常会看到 X:它不是未知答案,而是某组输入根本不会出现。先找出系统施加的约束,再按邻近有效项的需要处理这些格。

输入约束
由编码规则、器件状态或工作范围决定,某些输入组合实际不会发生。
函数无关项
仅对被约束的输入组合,输出可任取 0 或 1;其他组合的取值仍须满足原函数。
按需圈 X
需要时把 X 当 1 以扩大 1 圈,也可当 0;不是见到 X 就必须全部圈入。
两项边界
“不可能出现”是输入事实;X 是对应输出写法,二者相关但不是同一概念。
化简后验证
检查所有有效组合及新增项:函数值必须不变,新增 0 或 1 只能落入 X 区域。
电影院的三类座位对应 →约束组合与无关项

00、01、11正常售票;10永不出现,该格记作 X,邻座合并时可按需要当 1 或 0。

11第 11 页 · 约束条件与无关项

编码器的基本原理

上一节我们用卡诺图从真值表反推出了最简电路。这节反过来:给定 N 路输入、每路希望有一个互不重复的 n 位'代号',怎样用组合电路实现?答案就是编码器。

输入输出规模
2ⁿ 路输入对应 n 位二进制输出,输入端规模是输出端的 2ⁿ 倍
一一对应编码
每路有效输入被赋予唯一的 n 位二进制代码,不重不漏
互斥工作前提
任一时刻只允许 1 路输入有效;多路同时为 1 时输出未定义
边界与扩展
若允许多路同时有效则引入优先级,演进为优先编码器
8 路抢答按钮对应 →编码器

任一时刻只能 1 路灯亮(互斥),编码器把'哪路灯亮'翻译成 3 位二进制码

$$2^n \text{ 输入} \to n \text{ 位二进制码}, \quad I_k=1 \Rightarrow (Y_{n-1}\ldots Y_0)_2 = k$$
12第 12 页 · 编码器的基本原理

8线-3线编码器结构

8个输入、3个输出,内部互斥逻辑的硬件实现

8线-3线编码器结构
8个输入、3个输出,内部互斥逻辑的硬件实现
13第 13 页 · 8线-3线编码器结构

普通编码器的问题

上一页的 8-3 编码器结构看似完整,但藏着一个隐含前提:同一时刻只有一个输入为 1。一旦破坏这个前提,输出就不再唯一。

单输入假设
输出表达式只在「仅一个输入为 1」时正确对应输入编号
多输入冲突
两个及以上输入同时为 1 时,输出码无法反推是哪个输入
或门根源
各输出由或门汇总所有相关输入,多路 1 自然累加进结果
现实不可避免
机械按键抖动、多键同按——冲突在真实电路里经常发生
总机同时响两路电话对应 →编码器两路输入同时有效

接线员听不清该接哪一路,编码器也输不出唯一确定的码

Y0=I1+I3+I5+I7,  Y1=I2+I3+I6+I7,  Y2=I4+I5+I6+I7Y_0=I_1+I_3+I_5+I_7,\;Y_1=I_2+I_3+I_6+I_7,\;Y_2=I_4+I_5+I_6+I_7
14第 14 页 · 普通编码器的问题

优先编码器的设计思想

上页讲到普通编码器怕多个输入同时为1——输出会乱。怎么办?给每路输入排个座次,谁级别高谁说了算。

优先级分配
为每个输入编上固定的优先级序号,决定谁压制谁
高位独占
多个输入同时有效时,输出仅由优先级最高的输入决定
低位屏蔽
比最高优先级低的输入全部被忽略,不参与编码
优先级真值表
设计核心是先列出谁压谁的优先级关系,再写表达式
急诊室分诊对应 →优先编码器

多个病人同时到,按病情严重程度(而非到达顺序)决定先处理谁

Y1=I3+I2Y0=I3+I1Y_1 = I_3 + I_2 \\ Y_0 = I_3 + I_1
15第 15 页 · 优先编码器的设计思想

8线-3线优先编码器

顺着箭头读:从EI向下串行判断I7→I0,第一个为1的输入胜出并立即编码。

图解渲染中…
GS组选通信号,任一输入有效时为1EI片使能输入,EI=0时整片不响应
16第 16 页 · 8线-3线优先编码器

使能端与扩展端

上一节解决了'谁优先',但优先编码器还藏着两个问题:所有输入都无效时输出000,与输入0有效无法区分;多片级联时如何避免总线打架。EI、EO、GS 三个引脚正是为这两件事设计的。

EI 使能输入
总开关,低电平有效;拉高则芯片冻结,所有输出置 1,不响应任何输入
EO 使能输出
级联握手信号:本片无有效输入且 EI=0 时拉低,告诉下家'我来接'
GS 选通输出
有效输入标志:拉低表示'此刻正在编码某个输入',用来区分 000 是真零还是无输入
串联服务窗口对应 →多片编码器级联

EI=本窗口营业中;EO=本窗口没人办业务请下一窗口接手;GS=本窗口正在办业务

17第 17 页 · 使能端与扩展端

优先编码器扩展方法

两片8线级联变16线-4线编码器,靠使能端链式控制传递优先级。

1
输入分两组
把16线拆成高8线和低8线,分别送入两片8线-3线编码器
2
高优先级片固定使能
高组对应U1的EI'接0,始终处于使能状态
3
EO'级联到EI'
U1的EO'接到U2的EI',传递空闲信号唤醒低组
4
两组并行编码
各片按原优先级处理自己的8个输入,互不干扰
5
GS'做MSB合成
Z3取U1.GS',Z2-Z0取当前活跃片的A2-A0
18第 18 页 · 优先编码器扩展方法

BCD优先编码器的规格

上一页的 8 线-3 线只能编码 8 个信号。要把 10 个十进制按键全部纳入编码,就得升级到 10 输入、4 输出的 BCD 优先编码器。

10 路输入 I0~I9
对应十进制 0~9 十个数字,编号即物理位置
4 路 BCD 输出
输出 0000~1001,正好覆盖全部合法 BCD 码
3 个功能端
EI 使能入、EO 使能出、GS 组选通,专为多片级联
优先级排序
I9 最高、I0 最低,编号越大优先级越高
低电平有效
输入输出均低有效,按键可直接接地触发
医院 10 个诊室呼叫按钮对应 →BCD 优先编码器

9 号诊室最优先;护士站 4 位数码管显诊号;总开关、忙灯、呼叫灯对应 EI/EO/GS

19第 19 页 · BCD优先编码器的规格

BCD优先编码器逻辑结构

输入优先级分配与编码输出的对应关系

BCD优先编码器逻辑结构
输入优先级分配与编码输出的对应关系
20第 20 页 · BCD优先编码器逻辑结构

键盘编码电路应用

上一页刚学了BCD优先编码器,它真正发力在哪?键盘。看似平平无奇的按键背后,矩阵扫描+优先编码器默默处理每一次敲击。本页拆开看:按键如何定位、多键如何裁决、鬼键陷阱如何产生。

矩阵结构
m行n列网格,每个交叉点是一个按键;N=m+n根线可定位m×n个键
行列扫描
行线依次送低电平扫描信号,读列线响应定位行号与列号
多键优先级
多键同时按下时,优先编码器按最高位优先策略选出胜出者
鬼键现象
三键以上同时按下时,无二极管隔离会产生不存在的虚拟按键
键码合成
行号与列号合并成唯一键码:键码 = 行号×n + 列号
医院急诊分诊台对应 →优先编码器处理多键冲突

多病人=多键;分诊台按病情轻重决定谁先治=编码器按最高位优先裁决

$K = R \cdot n + C$
21第 21 页 · 键盘编码电路应用

译码器的基本原理

编码器把多路信号压缩成一个二进制码——它的'逆过程'是把一个码'展开'回多路输出。译码器承担的就是这个反函数。

n→2ⁿ结构
n 位二进制输入对应 2ⁿ 路输出端口,常见 2-4、3-8、4-16 译码器
唯一选通
每一个输入组合只能选中唯一一路输出,其余保持无效
互斥输出
同一时刻有且仅有一路输出有效,其他路强制为 0
最小项输出
每路输出等于输入变量的一个最小项 Yᵢ = mᵢ
编码的逆
译码是编码的反函数,编码做压缩、译码做展开
酒店前台按房号亮灯对应 →译码器

客人报房号(几位二进制),前台只点亮对应房号指示灯,其余全灭

Yi=mi,i{0,1,,2n1}Y_i = m_i,\quad i \in \{0,1,\dots,2^n-1\}
22第 22 页 · 译码器的基本原理

3线-8线译码器结构

数据从左向右流动:3路输入经反相后与使能信号一起进入8个与门,每个与门输出一个最小项

图解渲染中…
EA使能控制项,与所有8个与门同时相连NAA的反相,由反相器产生G0Y0对应的与门,实现最小项A'B'C'G7Y7对应的与门,实现最小项ABC
23第 23 页 · 3线-8线译码器结构

使能控制的作用

分时复用:使能端如何让多片译码器协同工作

使能控制的作用
分时复用:使能端如何让多片译码器协同工作
24第 24 页 · 使能控制的作用

两片级联扩展方法

两片3-8译码器拼出一片4-16译码器,核心是用最高位做片选。

1
缺口分析
一片3-8译码器只有8个输出,4-16译码器要16个输出,一片不够
2
地址拆分
4位地址拆成高位A3做片选、低位A2A1A0做片内寻址
3
片选互斥
A3=0使能第一片输出Y0~Y7,A3=1使能第二片输出Y8~Y15
4
低位并联
两片的A2A1A0并联接同一组输入,选中片才真正译码
25第 25 页 · 两片级联扩展方法

4-16译码器的完整电路

从输入地址到16路输出,看使能信号如何分配高低两个3-8译码器的工作。

图解渲染中…
EN使能端,低电平有效时才允许译码SEL用最高位A3区分高/低8个输出区段U1/U2两片3-8译码器,工作互斥
26第 26 页 · 4-16译码器的完整电路

编码-译码闭环系统

从左到右读:键盘输入经编码器压成3位码传输、译码器展开回8路输出——完整的信号链路。

图解渲染中…
a2优先编码:多键同时按下时,只编码优先级最高的那一个a3传输信道:实际可能是电缆、PCB走线或无线链路a4低电平有效:译码器输出有效时为0,常需反相器驱动LEDa5接收端:LED、继电器、数码管或下一级电路均可
27第 27 页 · 编码-译码闭环系统

译码器的其他应用

上一页我们用译码器驱动数码管显示字符。但译码器的本质是「输入二进制码→选中唯一输出线」,这个能力远不止于显示——存储器选芯片、CPU 识指令,都靠它。

地址译码
存储器中用地址码选中唯一芯片的片选信号,实现多芯片地址空间划分
指令译码
CPU 中对操作码译码,激活对应功能部件的控制信号
数据分配
译码器加数据线作分路器,将单路数据按地址分发到多路输出
酒店前台分房对应 →地址译码

房号(地址码)→前台(译码器)→唯一房间钥匙(片选信号)

NCS=2k(k 为地址线数)N_{\text{CS}} = 2^k\quad(k\text{ 为地址线数})
28第 28 页 · 译码器的其他应用

七段显示器的结构

走进电梯,你看到楼层显示的「3」——这不是画出来的数字,而是 7 根独立的发光条被选择性点亮的结果。每一根都听从电路的指挥。

七段命名布局
a 顶横、b 右上、c 右下、d 底横、e 左下、f 左上、g 中横,整体呈「8」字形空间排布
小数点 dp
独立第八段,位于右下角外侧,常用于多位显示中的小数定位
公共端结构
共阳极:LED 阳极并联接 VCC,低电平点亮;共阴极反之,决定整体驱动方式
段选独立控制
每段一根引线,可单独置高/低,与公共端配合决定该段亮灭
8 个独立开关排成 8 字对应 →七段显示器结构

每个开关控一段,拼数字就是选不同组合点亮

$\text{"0"}: a=b=c=d=e=f=1,\; g=0$
29第 29 页 · 七段显示器的结构

BCD-七段译码原理

4位BCD输入到7段输出的逻辑映射表

BCD-七段译码原理
4位BCD输入到7段输出的逻辑映射表
30第 30 页 · BCD-七段译码原理

共阴与共阳:电路差异

上节我们讲了 BCD 码经译码器变换为七段信号。但译码器只输出逻辑电平,真正点亮 LED 还得看硬件怎么接:共阴还是共阳?这一接法的差别,直接决定了段选脚上电流的流向。

共阴接法
七个 LED 的阴极并在一起接地,要点亮某段则段选脚输出高电平
共阳接法
七个 LED 的阳极并在一起接 VCC,要点亮某段则段选脚输出低电平
灌电流
共阴时电流方向:VCC → LED → 段选脚 → 流入芯片内部(芯片吸收电流)
拉电流
共阳时电流方向:芯片内部 → 段选脚 → LED → GND(芯片输出电流)
能力不对称
多数芯片拉电流能力 I_OH 小于灌电流能力 I_OL,共阳方案需更保守设计
水池的进水管与出水管对应 →芯片的灌电流与拉电流

灌电流=水从外灌进水池(流入芯片);拉电流=水从水池被抽走(流出芯片)

31第 31 页 · 共阴与共阳:电路差异

常用显示译码器芯片

上页讲完 BCD 到七段显示的译码原理,但原理图到实际电路还差一步——需要专用芯片。业界最常用的就是 74LS47 和 74LS48 这一对搭档。

74LS47 共阳搭档
配共阳极数码管,输出低电平有效,内部开集电极需外接上拉电阻
74LS48 共阴搭档
配共阴极数码管,输出高电平有效,内部自带提升电阻可直接驱动
数据输入端 ABCD
接收 4 位 BCD 码,决定 0~9 的显示数字
控制端 LT/BI/RBI
灯测试(全部点亮)、消隐(全部熄灭)、灭零(消前导零)三辅助功能
选择口诀
阳管配 47 拉低亮,阴管配 48 推高亮
公共电池组的两种接法对应 →共阳与共阴的电平逻辑

共阳像灯全接正极,要点亮某盏就把它拉低(47);共阴像灯全接地,要点亮就给它送高电平(48)

32第 32 页 · 常用显示译码器芯片

驱动电路与限流电阻

上一节我们认识了显示译码器芯片,但芯片输出引脚直接接到数码管会怎样?——可能瞬间烧毁 LED,也可能亮度过高。这中间还差一个关键环节:限流电阻。

芯片输出电流受限
单段典型 20mA,超出会损坏芯片或 LED
限流电阻计算
R = (Vcc − Vf) / If,Vf 取 1.8~2.2V
共阴/共阳接法差异
电阻位置不同:共阴在 Vcc 侧,共阳在 GND 侧
大电流驱动扩展
电流超 20mA 时,需外加三极管或驱动芯片
动态扫描需折算
按占空比求等效电流,再代入公式算 R
水龙头前的减压阀对应 →限流电阻

市政水压高会爆管,LED 电流过大也会烧——电阻把电压/电流降到安全工作区

R=VCCVFIFR = \dfrac{V_{CC} - V_F}{I_F}
33第 33 页 · 驱动电路与限流电阻

核心概念自测

点击作答

在 8 线-3 线优先编码器中(I7 优先级最高),I7、I4 同时有效时,输出编码及 I4 的处理是?

34第 34 页 · 核心概念自测

知识要点回顾

  • 分析与设计是同一条布尔代数链路的两个方向
  • 卡诺图化简(含无关项)是减少门电路数量的核心武器
  • 编码器解决多选一,译码器实现一选多,二者互逆但电路结构不同
  • 使能端与级联让小芯片拼出大系统,是工程思维的体现
  • 组合电路无记忆,输出仅取决于当前输入——这是与时序电路的分界线
延伸主题:时序逻辑电路:引入记忆元件触发器与锁存器:记忆单元的基石数据选择器与分配器
35第 35 页 · 知识要点回顾

课后思考

先独立想再对照提示,三问分别落到核心权衡、工程选型、逻辑边界。

1卡诺图追求'门数最少',但工程更看延迟与扇出。当两者冲突时,你如何权衡?

参考答案卡诺图保证门数最少,但延迟由最长路径决定。可先消除冗余变量,再针对关键路径重构逻辑,把延迟大的门尽量靠近输出端。

2若要设计16键键盘编码器,你会优先级联两片8线-3线编码器,还是重新设计专用芯片?理由是什么?

参考答案级联开发快、风险低,但增加使能协调与传输延迟。批量生产时从头设计16线-4线编码器反而性能更稳、单位成本更优。

3若系统从纯组合逻辑升级为时序逻辑,编码-译码闭环的设计假设需要如何重新审视?

参考答案时序逻辑引入状态与时钟,'输入-输出即时对应'失效。需增加时钟同步、建立/保持约束,并重新设计编码器与译码器之间的握手协议。

36第 36 页 · 课后思考