EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
什么是时序电路?. W% S) m5 E- |& v
+ b- |2 c) h0 s, Q, T, U A. _5 e; u7 \
组合电路是根据当前输入信号的组合来决定输出电平的电路,换言之,就是现在的输出不会被过去的输入所左右,也可以说成是,过去的输入状态对现在的输出状态没有影响的电路。
, Y% m2 \6 J! H% S- F8 o+ A; X' _* [/ `# n/ y/ s0 S8 }/ v- X
5 {; h. r3 k$ q+ O! P' S% I时序电路和组合电路不同,时序电路的输出不仅受现在输入状态的影响,还要受过去输入状态的影响。
9 M+ S* y% O: x- H- O7 S; e: k/ u7 f% _1 @9 z4 C/ k
8 O; N4 h4 w0 k5 J7 V
那么,如何才能将过去的输入状态反映到现在的输出上呢?时序电路到底需要些什么呢?人类总是根据过去的经验,决定现在的行动,这时我们需要的就是—记忆,同样时序电路也需要这样的功能,这种能够实现人类记忆功能的元器件就是触发器。按结构和功能,触发器可以分为RS型、JK型、D型和T型,在这里,我们只讲解比较有代表性的类型,RS型和D型。- q( b4 ]4 s; E
J) A, C' ~. y, T! G
* N) x( n& ?1 X" x& O
2触发器就像一个跷跷板1 f( H% p* D9 K3 B
0 h2 m8 C- ]7 P6 W+ }, m/ a" n. i3 \6 R0 X
触发器的工作方式与日本的“起坐亲子游戏”很象,日本的“起坐亲子游戏”,指的就是公园里的跷跷板,想起跷跷板,就能想象出RS触发器的工作原理。% O- y4 ^. U0 v. [" o
z' j" ?5 }; a, x, b) p T; d
3 H! D, }1 x1 B, ?
( q. n4 Q) `$ T, O& ` [5 v
0 y- w0 J1 o2 Y+ x
图1:RS触发器的电路图 6 C5 `% _0 h9 f2 b
2 H( k2 b2 K5 V4 s& \
图2就是一个跷跷板,这个跷跷板有些生锈,即使没有人坐,也不能恢复水平状态,请记住它保持倾斜的样子,假设:# C, o* f& a: G
( \. D8 I9 f0 `$ ?/ y5 R# F
- 跷跷板的两端是输出Q和Q#。
+ g. u* Z& @* I( t7 c
) [) Y- s' f9 M- 左右的2个人是R君和S君,表示输入,坐上跷跷板表示逻辑高H状态,没有在跷跷板上表示逻辑低L状态。$ ?, K( q, b# j# I* l$ k
9 N( }% ~$ G5 j! M5 R
9 l3 C/ M8 d: l: g1 ^) y& e
# X: }, i% j& p! y" ]; _- 每次只允许一个人坐,两人不能同时坐。, c _: E6 Y0 q6 Y3 b! w8 B) A
" A# p! i( C/ d( n T2 K7 u( T c+ I U) o' e% Z3 \* o8 n) A& g3 s
9 S6 C, @5 N: D5 I7 P) l
, p1 ~# c$ [) E( C8 ]9 ^$ r+ P, d
! {' v- r; E# Y 6 h$ u' Y' b X8 z l
图2:跷跷板的初始状态 6 o) |& l w0 ], d
Q=L、Q#=H、R=L、S=L 4 ]$ T4 e- x) Q" x+ q
% P6 ^% X) d9 E$ A' k. ^3 G% A) I当S君坐上跷跷板(S=H)时,输出Q就变为H(Q#变成L)(图3 )。
) _ e" p: G- N* u$ t4 Y& Z
1 v5 A0 z4 s6 y& K
: N7 g4 A6 Z3 O3 l
+ X; D6 p2 \6 F
7 X& ?9 W6 o& ~% e
4 X/ D9 J9 E- O. B! W
图3:S君坐在跷跷板上的状态
4 e) P; D: ^' z' a# S0 q
Q=H、Q#=L、R=L、S=H
/ h9 B% s0 H& J" U即使S君下来了,跷跷板也不会改变动作(S=L),Q#还是L,不改变(图4)。 9 w$ N; T, q, `) r) X
+ d- Z* E( E( C; l
8 U# g9 x6 q/ L
图4:S君从跷跷板上下来的状态
0 E6 Y3 p8 M) Z _3 Z' F
$ D& F/ t( N: X+ w( P( _8 u7 V/ c
Q=H、Q#=L、R=L、S=L 6 q( b# \. _) ^
当R君坐上跷跷板时,Q变成L(Q#变成H),当R君从跷跷板上下来时,也会保持L状态,从这个过程来看,我们是不是可以说跷跷板记住了以前坐过它的人呢。用真值表表示RS触发器的工作过程,就像图5所示一样,表中Q0和Q0#表示的是输入变化以前的输出。 8 J! G& `+ O: l ? ]( K9 \: D
5 Y: b! g, q! f0 U
4 ?5 n" `8 _/ f, D6 l
' \) Q2 E5 L5 j" m4 N$ h
+ u% o3 ~1 S0 P6 B: Y" h
6 c& u6 a, x: s' I* }. l! s' w$ L
2 P# X0 E3 R3 [0 p
图5:RS触发器的真值表 0 x" d* D- l% Y2 I6 j- E2 D& y
; \* Q2 p4 g1 B8 n+ o" G: M7 {
RS触发器是最简单的触发器,主要用于防止机械式开关的误操作。
]7 g( D$ r. U2 D
4 K+ c% h- p/ z) k8 f1 o
- F) p; n4 z- M% [
D触发器是在时钟信号(CK)的上升沿(信号从L→H的变化)或下降沿(信号从H→L的变化)时,保持输入信号状态,改变输出信号的触发器。 ! ?- e* V5 T) X' ?; c& r
+ q) \% {$ l$ q$ D3 w" L
图6:D触发器 7 A+ D% L! o! N; y- ^. ?6 J6 x
) h0 j, x7 |3 B2 q+ N, V9 K. F
, @. h7 t; q# f% V" K6 B: s
Q0:输入变化前的输出
* C5 @! \0 G# H' u" S! P0 a6 z! j2 Ax:H或L都可以 ↑:L向H的转移图 ! z9 Q# b6 k( L5 M
7:D触发器的真值表 0 Q6 {: T' y$ w& o+ c4 P2 i
: T1 y! B2 d0 d
现在,我们用跷跷板来说明D触发器的工作原理,跷跷板的初始状态如图8所示,D君坐上跷跷板表示输入为H,从跷跷板上下来表示输入为L,跷跷板的另一边,放一个比D君轻的重物。另外这个跷跷板与一般的跷跷板不同,只有在时钟CK上升沿时,才改变跷起的方向。
6 h. w# x9 J; m" l
4 [3 H' @1 B% B+ A5 g
% a, p. C# `7 m2 A7 J
7 Y5 G6 k. b. ?; ^
图8:D触发器的初始状态
{0 Y- U& g! C
CK=L、D=H、Q=L、Q#=H 6 r% u& h6 ]$ a1 i8 z, W3 z
看着图8,你不觉得有些奇怪吗?D君坐在跷跷板上,却没有变化,按理说,由于D君比重物重,D君(Q#)应该降下来,才对。
: f' {1 p, `2 {) F6 `
) E% I+ o8 M+ R2 I) V$ X( }$ K) G$ e
为什么跷跷板没有发生变化呢,这是因为CK还保持L状态,当CK变为H(CK上升)时,跷跷板就跷起来了,D君就下降了(图9)。
@0 ?0 B- |: k; z3 Q2 I4 ^
. N! E+ ~5 n# B" ^4 w
$ o" q: r5 a6 Z8 J; f
图9:D触发器的CK处于上升状态 0 m$ Y" C O* }$ y1 o
D=H、Q=H、Q#=L- s- t7 b# Y% s
- |9 U- D6 n, a7 ?1 L8 x1 o9 w
然后,CK就稳定在H状态,这时,不管D君是从跷跷板上下来,还是再坐上去,跷跷板都不动,只要不在CK的上升状态,跷跷板就一直保持以前的状态。 % p2 F8 A. [% p/ |0 [! s; a
& T6 x- z/ Y1 P- b! y* ^' ^
这种动作的触发器被称为D触发器,具有在时钟上升瞬间,保持(记忆)输入状态的功能,是一种时钟同步时序电路。
7 h l0 y p) M/ T# ]- T* I
# I) f0 Q( @% v7 |" }: V% O6 V6 i
( D1 a1 I& G' Q1 x- e/ RD触发器是时序电路的基本元件,用途广泛,D触发器的多级组合,可以做成移位寄存器、分频电路等,也可用于CPU内部的寄存器等。 % S) L: x4 f; t7 H
7 s5 ?' I/ U: w" y: U( O- D
4SRAM是触发器构成的吗?
% {0 m* ~/ q8 @5 H/ x' @: Q# _/ p7 ?' u- ^2 p
% F. n- h# C8 z* V M+ ]. O! T& H
2 w* i8 L( ?5 I+ Z
* b, `# R- r6 V; G ^触发器可以记忆H或L,1位的信息,大量排列触发器,并使之具有可选择性后,就可以构成SRAM。
0 A, H* w* W$ T4 v+ q! K3 u7 e z; B0 d$ [. n5 _
0 P9 i# ^7 s- |8 B9 g/ \- M由于SRAM的输入输出速度比DRAM和闪存的访问速度高得多,所以,常用作CPU的缓存和寄存器。 # a2 V7 j+ Y2 ^2 i! v+ j* g
0 n5 J* K v7 f& B+ q4 P2 X 9 k5 b |. g, v( f7 p6 z* O: w/ {
尽管我们这样说,实际上CPU中内置的存储器或寄存器并非使用的是RS触发器这样的逻辑门。 & p6 x2 Y, l& j, v: P
1 `5 a( M9 ~1 d. _
; k4 l/ Q/ h: N4 Z- d/ Q0 S" e7 N9 J+ M
4 R7 O3 s7 Q/ F
由于使用逻辑门,会使电路规模变大,所以,一般使用4到6个FET,再经过优化构成存储器的1位(图A)。
_) i3 p4 N4 }! r: K8 o+ \; j
7 Y' n7 ~3 k( l8 P+ p
图A:SRAM的基本电路
u' o" J4 o/ d
) L" \: O+ p# D# P, ^8 I! n
我们分两次,组合电路和时序电路,对逻辑电路的基础进行了讲解,实际上,在设计逻辑电路时,有很多应该注意的事项,其中特别重要的就是关于时钟同步电路的注意事项。 在组合电路中,微小的信号传输迟延,都有可能造成输出毛刺,尽管毛刺是一个极其短暂的信号,但也可以引起逻辑电路的误动作,为了回避这个问题,就要使用时钟同步电路。
* j( {8 r$ e' F% g) H4 t" p1 ~1 o) ~7 f) N: s
# I( w; X" d# r/ p- l- @& H
G' W6 d0 V, I
9 E" _2 t% r3 e4 m% F
% J( V7 }# F9 y& f
' u: s+ g7 {. b2 q$ e+ c
图10:时钟同步电路的思路
9 [9 o# g# I( a( [# ?; H
; T/ D* e: j3 f* d/ H! Z4 |
图10给出了时钟同步电路的概要,如图所示,其构造是在FF(触发器)之间夹着组合电路,毛刺是组合电路在输出稳定之前,输出的短暂信号。因此,在组合电路输出稳定以后,再改变时钟,用触发器保持这个输出,就可以回避这种误动作了。 & r6 }' J! V2 l: n
& E2 E, c+ o e6 x: N6 }) t |