编码器 | 如何用两片8线-3线优先编码器扩展成16线-4线——数电第四章学习
编码器
- 普通编码器
- 优先编码器
- 扩展
为了区分不同的事务,将其中的每个事物用一个二值代码表示,编码器的功能就是将输入的每一个高低电平编成一个对应的二进制代码。
普通编码器
意思即是可以通过看
Y
1
Y
2
Y
0
Y_1Y_2Y_0
Y1Y2Y0的输出情况推断出输入的是什么信号。
最后可以化简成
电路图可以化成如下图所示:
优先编码器
特点:允许同时输入两个以上的编码信号,但只对其中优先权最高的一个进行编码。
常见的优先编码器有74H148(低电平有效)
观察此图我们可以发现,除了输入输出信号,图中还有红色标记的额外输出和额外输入。
这其实是为了扩展电路的功能和增加使用的灵活性。
-
S
′
S'
S′:只有在
S
′
S'
S′=0的时候 ,编码器才正常工作 (经过反相器后,S=1,与门中1对其他项无干扰作用)
S ′ S' S′时,所有输出端都被封锁在高电平(分析思路与上面一致)。 -
Y
S
′
Y_S'
YS′:只有当所有的编码都是高电平,且S=1时,
Y
S
′
Y_S'
YS′才为低电平。
其含义为“电路工作,但无编码输入”
-
Y
E
X
′
Y _{EX}'
YEX′:只要任何一个编码输入端有低电平输入,且S=1;则为低电平
含义为“电路工作,且有编码输入”
表中出现的三种
Y
2
′
Y
1
′
Y
0
′
=
111
Y_2'Y_1'Y_0'=111
Y2′Y1′Y0′=111的情况可用
Y
E
X
′
Y_{EX}'
YEX′,
Y
S
′
Y_S'
YS′不同状态加以区分
从真值表中也可看出:当
I
7
′
I_7'
I7′为0时,无论其他输入是多少,输出端只给出
I
7
′
I_7'
I7′的编码,(其余输出状态相同分析)
扩展
如何用两片8线-3线优先编码器扩展成16线-4线优先编码器?
我们希望
A
15
′
A_{15}'
A15′的优先级最高。
- 首先将两片芯片进行级联。
设定其 S ′ S' S′、 Y S ′ Y_S' YS′表示的工作状态。注意中间是 Y S ′ Y_S' YS′与第二个芯片的 S ′ S' S′连接。
( 1 ) 第一个 Y S ′ Y_S' YS′=0时代表第一个芯片处于工作状态但无编码输入,则第二个芯片 S ′ S' S′也为0代表第二个编码器正常工作。
( 2 ) 第一个 Y S ′ Y_S' YS′=1时代表第一个芯片处于工作状态且有编码输入,则第二个芯片 S ′ S' S′也为1代表第二个编码器不能工作。
上述可以优先确保优先权。
下图中的与非门,有0则1可以确保两端输出
这是从网上找来的真值表图,其中GS对应 Y E X ′ Y _{EX}' YEX′,E0对应 Y S ′ Y _{S}' YS′,EI对应 S ′ S' S′。
老吃米线: 真值表和你的扩展图里 输出端的设计正好反了。
zrpiv: Ri2是不是算错了
paida_xing_: 请问博主,matlab2024a中显示找不到graphmaxflow函数怎么解决
RunningBComeOn: 可惜了
LI_SIYuan: 不学了