前言
之前学数电时,对大多数内容没有深入理解,在接触单片机和微机原理后,欲重温数字电路并加深理解,挑选部分内容或者有意思的小知识点结合博主的理解做记录和总结,若有错误,欢迎读者交流,勘误
主要参考图片来自图书:数字技术基础第六版-阎石
一、门电路
1.CMOS反相器⭐
CMOS大概是现在数字电路中最重要的单元电路。
集成电路中大多采用增强型MOS管,且NMOS的电子迁移率更高,因此驱动能力更高。
重要的门电路,实现逻辑非操作,PMOS(T1)和NMOS(T2)总是一通一断(理想情况),功耗低。
阈值电压,转折区中点的输入电压,变化很快,接近理想。
不过,实际情况,极短时间可以视作两个管子同时导通。这会带来动态功耗,下文会提到。
V
t
h
≈
1
2
V
d
d
V_{th}\approx \frac{1}{2} V_{dd}
Vth≈21Vdd
噪声容限
噪声容限是和VDD有关的。
2.CMOS动态特性
传输延迟时间:输出电压变化滞后输入电压变化的时间,CMOS电路中使用电压变化幅值的50%的两点的时间间隔。
动态功耗⭐
两部分组成:
- 对负载电容CL进行充、放电消耗的功率:
P c = C L f V D D 2 P_{c}=C_{L}fV^{2}_{DD} Pc=CLfVDD2
f是输入信号频率。 - 之前提到的两个管子瞬时导通的功耗:
P T = C P D f V D D 2 P_{T}=C_{PD}fV^{2}_{DD} PT=CPDfVDD2
CPD是器件的功耗电容。
3.CMOS其他逻辑门电路
与非门:增强型PMOS并联,增强型NMOS串联。
或非门:增强型PMOS串联,增强型NMOS并联。
不过上述电路有严重缺点:不同逻辑输出电阻相差太大,解决办法:引入缓冲级。例如下图中引入反相器:
这种处理还使缓冲级还使转折区更陡峭了。
4.CMOS开漏输出(OD门)
为满足输出电平转换且吸收大负载电流,以及线与逻辑连线,改变结构:漏极开路的NMOS:
工作时需要接上拉电阻
实现线与逻辑:
上拉电阻RL需要被限制:
- 开漏门全部截止的漏电流和负载门高电平输入电流在RL产生压降后的电位需要大于输出高电平最小值(噪声容限)。
- OD门只有一个低电平时(极端情况),负载电流不能超过MOS管的容许最大电流。
CMOS传输门电路⭐
这是一个重要的电路单元,巧妙且在逻辑电路中十分有用。
C和C‘互补控制信号,输入/输出是复用的。
图中:C=1时,两MOS管导通,左右两端相通。
一个重要用途:配合一个反相器(用来产生C的C’)用来传递模拟信号。
5.三态输出CMOS门电路⭐
与单片机中学习GPIO的工作原理相通,这种电路通常被接在集成电路的输出端,因此也被叫做输出缓冲器。
不管输出多少,EN‘=1时,T1和T2截止,一定输出高阻态。
三态门的两个重要功能:
- 能够实现总线结构:轮流使EN=1,将输出信号轮流送到总线。
- 实现数据的双向传输:EN=1:给总线送信号,EN=0,总线信号传入内部。
6.TTL电路
TTL反相器
开启电压为0.7V。
T4,T5总是一个导通一个截止,降低了静态功耗并提高驱动能力。
ECL集成电路(Emitter Coupled Logic)
发射级耦合电路,传输延迟时间低至1ns,用于超高速数字系统,但是功耗大,噪声容限小,输出电压不稳定。
CMOS优势是功耗低,TTL优势是驱动能力强,速度快,两者结合的电路成为Bi-CMOS,主要用在需要驱动大电流的场合:总线接口,输出缓冲器、锁存器或驱动器。。。
二、组合逻辑电路
1.优先编码器⭐
只对优先级最高的一位进行编码:
S’为选通输入端,Ys’是选通输出端,可用于拓展。
在这里I7’优先级最高
2.译码器⭐
二极管与门的译码器结构输出电阻较高,且高低电平信号易偏移。
采用CMOS门电路组成的译码器:
地址输入端A1A2A3选择一根输出线送出S1的非信号。
片选输入端S1S2S3可用于拓展。
3.数据选择器
SEL决定输出A还是输出B。
4.加法器
半加器
半加器不处理进位,全加器只需引入CI端口进行三个数相加(A,B,CI)
串行进位加法器
上一级CO连至下一级CI,缺点:速度慢
超前进位加法器
原理:
展开:
又因为
变换得到:
因此,该结构电炉速度快,代价是电路结构更复杂。本质是用电路来实现进位的逻辑关系进行超前的运算。
5.数值比较器
I是来自低位的比较结果,可用于拓展。
6.组合电路中的竞争-冒险⭐
竞争:门电路的两个输入信号同时向相反的逻辑跳变的现象。
冒险:结果可能出现违背稳态的逻辑关系脉冲。
消除竞争冒险的方法⭐
- 接入滤波电容:电压波形变化时间延长。
- 引入选通脉冲。
- 改写逻辑:效果有限。
三、半导体存储电路
存储器分为随机存储器RAM和只读存储器ROM。
其中RAM分为静态随机存储器SRAM和动态随机存储器DRAM。
存储单元分为静态存储单元和动态存储单元。
静态存储单元使用锁存器和触发器,只要不断电,存储逻辑就能保持。
动态存储单元使用电容存储逻辑,由于漏电需要定时刷新,且电容充放电需要时间,速度较慢,优势在于电路结构简单。
寄存器就是一组触发器构成的。
1.SR锁存器
由两个或非门或者与非门组成。
Q*代表最新的Q逻辑值。
或非门构成:
对于或非门结构,Sd,Rd高电平进行置1或者置0,两者均为低电平时,那么保持输出端状态:Q*=Q,Sd,Rd均为高电平时,则将输出Q,Q’均置0(直接从电路来看),注意两者高电平同时消失,状态不定。因此,输入信号应该满足Sd·Rd=0的约束条件。
同理,与非门可做相同分析:
2.触发器
与锁存器区别:要求触发信号产生时,进行逻辑的改写并保持,于是增加触发信号线,一般为CLK,即时钟信号。
3.按触发方式分类触发器
电平触发触发器(SR触发器)
在与非门锁存器基础上,加入两个与非门以及CLK。
CLK高电平有效时,1S和1R才能进行逻辑改写,CLK低电平就保持。
为了在CLK有效电平到达前,预先设置触发器状态,还可引入异步置1端Sd‘和异步置0端Rd’。
Sd‘=D,Rd’=D‘接法,构成电平触发D触发器:
边沿触发触发器⭐
目前电路里通常使用边沿触发触发器更多,目前CMOS集成电路采用最多的形式是两个电平触发器构成的D触发器。
C1左边的>符号表示上升沿触发。
从实际的电路可以看到,使用了CMOS传输门。
CLK=0时,Q1=D,EF2保持;CLK上升沿时,Q*=Q1=D,完成上升沿触发。
同样,可以引入异步置1和置0端,若要引入高电平有效的异步置位端,那么锁存器需要使用或非门结构,如下:
脉冲触发触发器
这里的例子将两个SR触发器串起来用,初看结构跟边沿触发器差不多,但这里使用的是电平触发的SR触发器,以这里的高电平置位为例,当CLK=1时,对于FF1,Q1随S,R的状态而改变,在CLK下降沿,Q1被传入输出端状态。
注意
CLK高电平期间,Q1跟随S,R不断翻转,下降沿时,传入Q*,输出端状态不可能始终与输入状体相同。
也就是说对于边沿触发的D触发器,以上升沿触发为例,上升沿之前D=0,触发之后Q=D=0,若D=1,则Q=D=1,是能够通过输入状态直接确定触发后的输出状态的。
但是,对于脉冲触发就不同了,举个例子,当CLK=1时,S=1,R=0,那么Q1=1,之后S=R=0,Q1=1保持,这时CLK下降沿到来,Q*=Q1=1这是对应输入S=R=0。容易想到,S=R=0,同样也能触发Q*=0的输出状态。
这就是差别,博主的理解:带来这样差别的原因是D触发器中S,R的关系变成了确定的非逻辑,即D与D’,不存在同时为0或为1的情况。
4.逻辑功能分类
SR寄存器
注意:SR触发器,输入端S,R到Q,Q‘有两层门电路。
以上图为例,S=R=1,CLK=1时,Q=Q’=1。
符合逻辑即可,前面介绍电平触发时的触发器就是这一类中的。
特性方程:
{
Q
∗
=
S
+
R
′
Q
S
R
=
0
(
约束条件
)
\begin{cases} Q^{*}=S+R'Q \\SR=0(约束条件) \end{cases}
{Q∗=S+R′QSR=0(约束条件)
JK触发器⭐
在正脉冲触发器的基础上:
JK触发器的产生背景
之前提到,S=R=1同时回到低电平或者CLK回到低电平时,触发器状态不确定。规定S=R=1时,Q*=Q’。实现方法:S=R=1时,将Q‘代替S的输入,Q代替R的输入,于是产生了JK触发器,使用J,K两字母区分S,R触发器。
成功实现无论Q=0还是Q=1,当S=R=1时,CLK下降沿到达后触发器将翻转为与初态相反的状态Q*=Q’。
注意,引入反馈线,带来了一个重要特性:
在CLK=1期间,主触发器只能翻转一次。
因此,总结出判断Q电压波形图的方法:Q=0时,只需关注CLK高电平期间是否出现过J=1;Q=1时,CLK高电平期间是否出现过K=1。一旦出现过,就会在下降沿翻转。
SR触发器可以通过JK触发器将J,K当成S,R就可以得到(实际JK就是在SR触发器上解决了不定状态的问题)
特性方程
Q
∗
=
J
Q
′
+
K
′
Q
Q^{*}=JQ'+K'Q
Q∗=JQ′+K′Q
T触发器
产生背景:控制信号T=1时来一个信号就翻转一次,T=0时保持不变。
符号:
特性方程
Q
∗
=
T
Q
′
+
T
′
Q
Q*=TQ'+T'Q
Q∗=TQ′+T′Q
JK触发器的两个输入端相连,就得到了T触发器
当T接固定高电平时,特性方程变为
Q
=
Q
′
Q=Q'
Q=Q′
即每次CLK信号,触发器就翻转。
D触发器⭐
特性方程
Q
∗
=
D
Q*=D
Q∗=D
边沿触发器中提到过,符号:
综上,JK触发器逻辑性最强可以改装成SR触发器和T触发器,而D触发器不行,因此,市面这两种触发器居多
触发器动态特性
以D触发器为例,若反相器,传输门的延迟时间是td
- 建立时间:输入信号应当先于时钟信号CLK动作到达的时间。tsu=2td。
- 保持时间:CLK上升沿到达后,输入信号需要保持th=2td。
- 传输延迟时间:约5td。
- 最高时钟频率:若CLK占空比为50%,那么fmax=1/(6td)。
5.寄存器
N个触发器连接形成
6.存储器
静态随机存储器SRAM⭐
组成:
- 存储矩阵
- 地址译码器:行译码器,列译码器,其中,行译码器选几位译码,列译码器选剩下位译码。
- 读/写控制电路
并行输出的一组数据成为“字”,每个(行)地址存放一个字。
静态存储单元是SR锁存器附加控制门电路构成。
六管CMOS静态存储单元如下:
T1-T4组成一个输入/输出双向复用的锁存器,才能出一位二进制的逻辑值。行地址译码选择Xi,列地址译码选择Yj,位线Bj,Bj’进行由CS’和R/W‘控制的读写。
DROM 动态随机存储器
存储单元是MOS电容,以最简单的单管动态存储单元MOS单元为例。
原理不解释了,特点是需要刷新状态(电容漏电),读出是破坏性读出,信号需要被放大并设置灵敏度。
目前使用的DRAM采用的结构是,一位输入,一位输出,地址分时复用的结构。
ROM只读存储器
这里就只介绍应用比较多的闪存(E2PROM)
闪存的存储单元是浮栅MOS管结构:
逻辑值等同于浮栅状态,浮栅通过雪崩注入进行充电,通过隧道效应进行擦除,用控制栅配合位线、字线的电平进行读写。
浮栅下面氧化层很薄,寿民有限,所以闪存擦写次数是有限的
RAM和ROM的区别
闪存的读出周期在几十到几百纳秒,而随机存储器的周期在十几纳秒。