EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
什么是时序电路?
- j% E0 Y" ` y' _) o" e) {$ [/ C0 c$ q: i7 v: h7 U, i% w% U
. M; j! T8 C! a3 x6 x7 o组合电路是根据当前输入信号的组合来决定输出电平的电路,换言之,就是现在的输出不会被过去的输入所左右,也可以说成是,过去的输入状态对现在的输出状态没有影响的电路。' e, y2 Q- E7 n7 D" c5 k: u
, V! X& U6 \+ p" H
c3 Y, M0 A8 _3 E- L/ `
时序电路和组合电路不同,时序电路的输出不仅受现在输入状态的影响,还要受过去输入状态的影响。: C. P# r+ p5 U$ s
& d# A* w. M( y1 g- H/ w: k- V
+ ^" f$ f: u& F' d" H( L那么,如何才能将过去的输入状态反映到现在的输出上呢?时序电路到底需要些什么呢?人类总是根据过去的经验,决定现在的行动,这时我们需要的就是—记忆,同样时序电路也需要这样的功能,这种能够实现人类记忆功能的元器件就是触发器。按结构和功能,触发器可以分为RS型、JK型、D型和T型,在这里,我们只讲解比较有代表性的类型,RS型和D型。9 ?* u T+ {) R. m6 U( \8 _
* V f1 p. G) L7 n6 x. ]
, n# ^8 \3 i1 |4 u: s0 b% I2触发器就像一个跷跷板
) Y* J* S+ V' E
$ \+ J( g9 r' G
7 w6 i, t# n( t+ A0 x触发器的工作方式与日本的“起坐亲子游戏”很象,日本的“起坐亲子游戏”,指的就是公园里的跷跷板,想起跷跷板,就能想象出RS触发器的工作原理。$ P! D9 v. b5 e' t* u& {7 w; r
* g" e: g# o$ v3 l9 |( m; l3 c2 A# H' m0 }3 t) ^, A$ R) d# U2 M2 m
5 u1 a' {; |0 z8 }' R1 l; t( h
, |0 Q$ q. F1 w6 v+ V8 W图1:RS触发器的电路图 ! j2 A; `+ D" G$ {2 \8 l# f
5 c0 r1 w+ |4 s- J% X- m
图2就是一个跷跷板,这个跷跷板有些生锈,即使没有人坐,也不能恢复水平状态,请记住它保持倾斜的样子,假设:& ]$ z8 s* E+ v
3 i( B$ L( M+ Z s; B; `
- 跷跷板的两端是输出Q和Q#。5 Z( T0 O3 R3 c8 h
. ?: _/ `8 `8 J7 f0 B$ W
- 左右的2个人是R君和S君,表示输入,坐上跷跷板表示逻辑高H状态,没有在跷跷板上表示逻辑低L状态。; G' X2 V& o; X$ U) K4 x0 Q; h0 ]
% ]! j6 ?0 g s+ f3 W) y L
) }7 u* X2 f* m; C) E3 q
8 r3 Y1 s/ t% r! ?- W( t3 O8 R- 每次只允许一个人坐,两人不能同时坐。
1 z% S7 F2 y+ D1 D0 [9 s" k# x 8 P# f d" g( J* P$ Z/ q
& _, ^* z& R8 k* a1 c) D, e5 q: I1 s7 x) a
1 V- m0 }' T# d! K
" E H; q. q! P, v6 @5 {
1 e/ W Z0 T* E9 s7 N6 W% d
图2:跷跷板的初始状态 : j3 I5 ~ E2 X( g: P3 [
Q=L、Q#=H、R=L、S=L
1 F2 g/ U6 q- g+ m, b
+ ?8 s6 P7 t" w8 M3 j7 f当S君坐上跷跷板(S=H)时,输出Q就变为H(Q#变成L)(图3 )。
. b. @" g4 P/ B( G; m
+ \! ~4 }/ U: H
( f$ S# _1 i& f3 V
S( A* ~* Y2 U
+ I" d( k9 N" }/ k
: {' a: k+ {5 p; b. `图3:S君坐在跷跷板上的状态
" G6 Q N/ m3 z! R0 h8 @
Q=H、Q#=L、R=L、S=H 8 y3 G5 v4 @& C% W( h' O
即使S君下来了,跷跷板也不会改变动作(S=L),Q#还是L,不改变(图4)。
2 ]; x0 `: l- {" R V- s0 M1 a: T* Y5 K
) w3 A+ u' W2 }) U0 m
图4:S君从跷跷板上下来的状态
3 d& G) l' f8 n* ]' M- T; p8 N8 P
" q. G+ c, R3 h- Y" K0 |1 h& t
Q=H、Q#=L、R=L、S=L
! v+ b4 B- x7 r% G当R君坐上跷跷板时,Q变成L(Q#变成H),当R君从跷跷板上下来时,也会保持L状态,从这个过程来看,我们是不是可以说跷跷板记住了以前坐过它的人呢。用真值表表示RS触发器的工作过程,就像图5所示一样,表中Q0和Q0#表示的是输入变化以前的输出。 / c# S$ L. j9 o6 o5 x9 b& f# U+ V
2 `# i5 [ i% @: T1 k0 N1 ^
- X$ S2 D( m$ _) f
& `+ b6 K& R' M$ [3 \& R. P
" Q6 }2 z3 I! I
x2 Q& a6 r* Q- a" I" p2 B, V
4 ?( V* l/ ?3 n: Z! Z
图5:RS触发器的真值表 0 _% G. h) o8 k; e; l1 [
! g2 A) @6 U3 i! W. @" g
RS触发器是最简单的触发器,主要用于防止机械式开关的误操作。
8 d. N5 B% k" P
; v& Y: }. q$ V& y
/ C+ H# v' ~$ l( ^
D触发器是在时钟信号(CK)的上升沿(信号从L→H的变化)或下降沿(信号从H→L的变化)时,保持输入信号状态,改变输出信号的触发器。
2 i0 k+ ]3 U" k3 V5 Q
5 Z0 _' x& b0 ^. W; ]7 `0 \
图6:D触发器
1 `- p8 l; n0 n2 g: |) ~, F3 G
; l# ^0 U6 s1 F
( h) C# K& X7 F3 n) `. l/ V6 N$ K
Q0:输入变化前的输出! S; U) M# i" D1 [5 f) o% I
x:H或L都可以 ↑:L向H的转移图 . Q# f' Q0 x' S& C O
7:D触发器的真值表 ( _8 V& x; w/ K6 E9 U
8 {( }# K. c0 J3 t8 D, s/ C a
现在,我们用跷跷板来说明D触发器的工作原理,跷跷板的初始状态如图8所示,D君坐上跷跷板表示输入为H,从跷跷板上下来表示输入为L,跷跷板的另一边,放一个比D君轻的重物。另外这个跷跷板与一般的跷跷板不同,只有在时钟CK上升沿时,才改变跷起的方向。
" g" {$ a6 p- k! t( [1 B- d
; }. e- q7 L9 p2 r( ~! |5 [7 |9 d! e
/ [+ U4 t$ v1 e# W- Y f }
9 V7 w7 W! I( q/ [; F7 C# t5 W
图8:D触发器的初始状态
* a4 m4 {' y4 j* I- p+ z
CK=L、D=H、Q=L、Q#=H 6 G/ ?/ u- ? {2 o3 M/ D% K* q' U
看着图8,你不觉得有些奇怪吗?D君坐在跷跷板上,却没有变化,按理说,由于D君比重物重,D君(Q#)应该降下来,才对。 3 J' Y, {2 i* U- U# X+ T6 H
9 y7 [* h+ p" G+ K/ G8 ?
为什么跷跷板没有发生变化呢,这是因为CK还保持L状态,当CK变为H(CK上升)时,跷跷板就跷起来了,D君就下降了(图9)。
, g* n; o1 G9 G. g4 O- P! f0 i
W( L& x2 R( I- J; o
+ F0 v8 w2 d+ Q4 C
图9:D触发器的CK处于上升状态
8 @) a/ l: u1 g( M
D=H、Q=H、Q#=L
5 \8 ~" U- U( i& ~+ u4 x. k
2 S8 U+ r" c6 t$ G+ Q5 E然后,CK就稳定在H状态,这时,不管D君是从跷跷板上下来,还是再坐上去,跷跷板都不动,只要不在CK的上升状态,跷跷板就一直保持以前的状态。
" v# U! {5 ~ q% ]- `$ o$ y 这种动作的触发器被称为D触发器,具有在时钟上升瞬间,保持(记忆)输入状态的功能,是一种时钟同步时序电路。 : M% h3 W) j$ v9 s* O8 I7 E
' i Y, |4 m2 G: e% Q! D( f3 v
1 o$ l# v& ~* YD触发器是时序电路的基本元件,用途广泛,D触发器的多级组合,可以做成移位寄存器、分频电路等,也可用于CPU内部的寄存器等。 8 N# V2 e% R, k$ i P. ^: G$ D6 `2 \
$ B# v6 k% {8 T# H) s4SRAM是触发器构成的吗?
& [$ q2 ^7 b, m0 e0 j" @! H$ B% Q: D) E# | N5 F+ G
, q7 X2 e- a+ O/ m6 l& B0 a p) f8 a* j6 G& W* E' v4 q5 V' W
% V0 u, g8 X5 D触发器可以记忆H或L,1位的信息,大量排列触发器,并使之具有可选择性后,就可以构成SRAM。
% _2 m. n; w( ]4 f+ C4 s N+ |" r6 h" a4 W' y' U
2 [% H1 k7 L$ N4 F6 x. ?9 w1 n
由于SRAM的输入输出速度比DRAM和闪存的访问速度高得多,所以,常用作CPU的缓存和寄存器。
# t7 S- U, `, v3 }. [5 d* B7 b: a( `; x/ W5 Z3 u+ r" I( x: P/ y
* Y+ j5 I8 c& c
尽管我们这样说,实际上CPU中内置的存储器或寄存器并非使用的是RS触发器这样的逻辑门。
8 [' Z4 K( g9 o3 v3 c( _+ b; l8 i
! p' j; b0 X6 E# f7 }! V/ v7 r 0 |* H/ ?& N( @/ W9 k# ]
* |$ s0 ?" G# o# s8 e( [ . w! ~' F. `7 R' n, [! p
由于使用逻辑门,会使电路规模变大,所以,一般使用4到6个FET,再经过优化构成存储器的1位(图A)。
( b# b4 D* o+ ^: B/ X5 `( L
& K8 h* Q" u# L! Q, u/ c) A( [
图A:SRAM的基本电路 ) p- z4 H! q5 t3 a* T2 }, J
. t q2 g; J: ?" F' D2 t0 [" q
我们分两次,组合电路和时序电路,对逻辑电路的基础进行了讲解,实际上,在设计逻辑电路时,有很多应该注意的事项,其中特别重要的就是关于时钟同步电路的注意事项。 : F9 k! X3 v; R+ S' j) `+ ^% {- V3 n( @
在组合电路中,微小的信号传输迟延,都有可能造成输出毛刺,尽管毛刺是一个极其短暂的信号,但也可以引起逻辑电路的误动作,为了回避这个问题,就要使用时钟同步电路。
* X) Z* Q$ W a; `& w. Y3 Y- _9 c% Y
2 D! n2 q7 _6 B- s6 G( m" r+ i
! m( J% j; ^) g 2 {" R: N0 \( a5 V) ` G& R
2 ?9 e3 _( @9 Q3 Z: q
+ j; |! S6 x0 R/ _5 a; T
图10:时钟同步电路的思路 : p0 ^: {: i% q1 E4 Z
# d: Q; H% r/ r9 p
图10给出了时钟同步电路的概要,如图所示,其构造是在FF(触发器)之间夹着组合电路,毛刺是组合电路在输出稳定之前,输出的短暂信号。因此,在组合电路输出稳定以后,再改变时钟,用触发器保持这个输出,就可以回避这种误动作了。
9 d6 x! x; l; T$ u, M% W
3 Y9 t; H5 \2 p" b0 L/ F3 q |