EDA365欢迎您登录!
您需要 登录 才可以下载或查看,没有帐号?注册
x
什么是时序电路?4 ^. y! i" y3 s$ h
+ r5 U: A4 w. t5 i, Y/ e5 u- I
# i# z) t$ X# w- V: ^& o L组合电路是根据当前输入信号的组合来决定输出电平的电路,换言之,就是现在的输出不会被过去的输入所左右,也可以说成是,过去的输入状态对现在的输出状态没有影响的电路。5 |2 X$ P; H8 u* V; `" W
7 K8 |7 @7 A+ _3 T6 p: }+ `9 D! g
' J4 @5 z9 n2 C1 p5 y* t: G2 ~时序电路和组合电路不同,时序电路的输出不仅受现在输入状态的影响,还要受过去输入状态的影响。8 _" i( q7 v) w: n
6 k. |. I7 Y' H9 R# ^. v! y7 H3 ~
" x/ u3 r/ z' `% n, t那么,如何才能将过去的输入状态反映到现在的输出上呢?时序电路到底需要些什么呢?人类总是根据过去的经验,决定现在的行动,这时我们需要的就是—记忆,同样时序电路也需要这样的功能,这种能够实现人类记忆功能的元器件就是触发器。按结构和功能,触发器可以分为RS型、JK型、D型和T型,在这里,我们只讲解比较有代表性的类型,RS型和D型。9 T5 o" \7 I; W1 a5 x
: y- d/ p0 k) q: L" f! ~) W
, W- I- B+ H6 O/ m2触发器就像一个跷跷板
6 Z- `4 k( c& n5 K! C7 W( G+ d/ r0 F+ y
( N( u2 E' R5 v! `7 L& g, e触发器的工作方式与日本的“起坐亲子游戏”很象,日本的“起坐亲子游戏”,指的就是公园里的跷跷板,想起跷跷板,就能想象出RS触发器的工作原理。
& t( q) i) S9 B% E5 G$ x$ |% g% y U ^1 Z; r4 B: r
; c; C& J: Y( {- e8 h8 j x
; _: ]; c" k6 R" J- Q: W( O
; ]* U! h4 q. ]图1:RS触发器的电路图 Q4 h5 V1 |3 m1 @5 Z3 W
/ j5 L1 D# N# c, q图2就是一个跷跷板,这个跷跷板有些生锈,即使没有人坐,也不能恢复水平状态,请记住它保持倾斜的样子,假设:
9 _+ i( s% z! y# l2 _" o. ]- q* L: ~+ p W z0 ]3 {
- 跷跷板的两端是输出Q和Q#。
) L3 G( A1 ? S3 { % K) { u6 S$ C) ]
- 左右的2个人是R君和S君,表示输入,坐上跷跷板表示逻辑高H状态,没有在跷跷板上表示逻辑低L状态。3 t0 D4 ]$ g0 C! A" e4 n0 c, z8 c
4 |1 j. _4 z u R' E
. r) u3 }( A2 ~* k: S! `9 H4 V, Q' F$ V m' D
- 每次只允许一个人坐,两人不能同时坐。, z: o( h7 K* d+ H
8 X# }* N) I. q
; \! M5 C0 r% l9 G; ]
! U. _* q8 ~& @* u
( W3 l7 I( S' V6 d& F! j+ r. ~0 q, M7 r0 j" d3 M7 |
B9 o$ m8 \" E5 L5 D% z# a d* A
图2:跷跷板的初始状态
5 p, [- T1 G0 i# }6 h& f! d& W: x3 w
Q=L、Q#=H、R=L、S=L 8 U0 {0 I2 E/ Y2 t |; l& O0 ?
3 n; f; q2 {6 q& ~$ }) U当S君坐上跷跷板(S=H)时,输出Q就变为H(Q#变成L)(图3 )。 . H; |4 P7 I6 J3 I/ ^" b# C# [) V
( b% p0 d9 { {; g0 U( J
2 {, c6 _+ C( J3 T% l6 T6 V1 Z
3 n7 N" c9 U: q. p) C6 V
4 Z% ]8 ~% l8 z5 [+ w9 X2 f: M; |
* p# j! J7 @; V1 _9 m4 ]3 u4 j9 P; f I/ Z
图3:S君坐在跷跷板上的状态 6 ^7 o# @0 T/ _. j
Q=H、Q#=L、R=L、S=H
8 A: D, K- \8 u即使S君下来了,跷跷板也不会改变动作(S=L),Q#还是L,不改变(图4)。
$ @) K$ ^' j. S9 |4 s1 L4 F
! ~! q4 `8 V" E" m0 b9 e
/ B& O' ~3 R: ?
图4:S君从跷跷板上下来的状态
V- C& S9 T( _1 T& ]* Z; E: Y* L
5 g( d- U: _! W) V3 C: [9 u
Q=H、Q#=L、R=L、S=L : ~8 {4 Y& f) w. S+ {# P
当R君坐上跷跷板时,Q变成L(Q#变成H),当R君从跷跷板上下来时,也会保持L状态,从这个过程来看,我们是不是可以说跷跷板记住了以前坐过它的人呢。用真值表表示RS触发器的工作过程,就像图5所示一样,表中Q0和Q0#表示的是输入变化以前的输出。
/ n e. E& z& ~2 Q; F r( b* ]( ?# v$ x9 _* Z. e
' Q* T; p# \. l0 H f- l* c
* Q" r4 |: Z' e$ u4 A: y& ~' }7 {
1 r+ ^( \ ], T" R: e$ G; a; K- {
( C6 Y; P n9 q( A! @& G$ A
# P. t% ^5 ]# ~, O
图5:RS触发器的真值表 $ ~- G: s' F0 P
7 O$ J5 L" U$ c# x% b" C1 b- b3 L: F
RS触发器是最简单的触发器,主要用于防止机械式开关的误操作。
8 Z6 l- O9 A: \6 I: a5 `# z
9 Q; c1 f* [& [; ]% F5 D) X/ C+ U; u/ D
1 o9 g8 o4 ~% V2 s J
D触发器是在时钟信号(CK)的上升沿(信号从L→H的变化)或下降沿(信号从H→L的变化)时,保持输入信号状态,改变输出信号的触发器。
1 v* g9 a; t' v5 }
( F0 r# S# I+ i0 W' @: I! W$ K
图6:D触发器
2 P I0 I8 B, g
; w3 a- z9 E4 e' ]1 r+ K
2 m2 _" c; P( i. Y, a, G5 V
Q0:输入变化前的输出
5 q6 A1 }. s/ S+ d5 Ex:H或L都可以 ↑:L向H的转移图
( C! ], T. @' v% X: r" a
7:D触发器的真值表 7 u9 x" L ]5 Z0 x# h
: l+ j0 ^! Y0 v) `0 V1 {
现在,我们用跷跷板来说明D触发器的工作原理,跷跷板的初始状态如图8所示,D君坐上跷跷板表示输入为H,从跷跷板上下来表示输入为L,跷跷板的另一边,放一个比D君轻的重物。另外这个跷跷板与一般的跷跷板不同,只有在时钟CK上升沿时,才改变跷起的方向。
3 A9 M G: I4 d K+ X
8 M) Z1 W# [1 d+ N5 [: v
" M1 N1 U0 E; Z7 ~8 V8 C, r7 T, B
) D: Q) W* N! b+ y) D
图8:D触发器的初始状态
9 S! }' f% @/ H, a# q2 m [4 P1 y
CK=L、D=H、Q=L、Q#=H % E0 x5 u% A6 _: J" M
看着图8,你不觉得有些奇怪吗?D君坐在跷跷板上,却没有变化,按理说,由于D君比重物重,D君(Q#)应该降下来,才对。
" R. c$ h2 e5 C3 q: k# q6 d ! U+ B% V( r) b
为什么跷跷板没有发生变化呢,这是因为CK还保持L状态,当CK变为H(CK上升)时,跷跷板就跷起来了,D君就下降了(图9)。 . P$ H* l0 {. r4 e$ B
, O2 u& f8 V% L7 e+ x6 ^7 c( |. m# E
& T2 O: p+ j) I: s. y
图9:D触发器的CK处于上升状态 3 N9 Y) b. i0 \2 `* B. T9 @3 C! _
D=H、Q=H、Q#=L
, }$ ?- z/ _" k0 ?/ c( y' _
2 M3 n( @ t* M, R' v' R然后,CK就稳定在H状态,这时,不管D君是从跷跷板上下来,还是再坐上去,跷跷板都不动,只要不在CK的上升状态,跷跷板就一直保持以前的状态。
$ u3 R! s' E8 k- N. T " t J9 ? e0 {) @- z( @6 G
这种动作的触发器被称为D触发器,具有在时钟上升瞬间,保持(记忆)输入状态的功能,是一种时钟同步时序电路。
3 J5 a6 k3 o, l7 h- i. x; W( I) [6 i5 t3 b! ^" h2 A( G4 l. m. X. h
& v m" v! K3 k* ]D触发器是时序电路的基本元件,用途广泛,D触发器的多级组合,可以做成移位寄存器、分频电路等,也可用于CPU内部的寄存器等。 1 A7 q( n& k, w& S8 J$ i& P
- b: k/ ?# U! i' ~+ R4 Y4SRAM是触发器构成的吗? ' W& _/ ?& c5 \; J- D. W
5 S& O" w+ s' S7 Z* o* D 0 M' g3 u& v9 l: { M2 C
8 l" |% R' t& m
. u& \% _' A; S2 l, M: d6 _9 O触发器可以记忆H或L,1位的信息,大量排列触发器,并使之具有可选择性后,就可以构成SRAM。
& ^* a1 j7 \# P, v9 s, N. r
& J: }1 T0 J/ `; G; D: a+ E
+ R7 W0 r5 d7 F* `& r由于SRAM的输入输出速度比DRAM和闪存的访问速度高得多,所以,常用作CPU的缓存和寄存器。
% h3 b8 C7 u; O8 ]4 G) S1 C8 u: k% i) O; O; U Y/ O0 B9 ]! O* k
, U4 c e l2 I7 }2 H% o0 f0 v尽管我们这样说,实际上CPU中内置的存储器或寄存器并非使用的是RS触发器这样的逻辑门。
' ~* o2 U2 D2 T$ _) b
1 N& E! @1 ]9 V% V& p
% G: w( n1 C, F7 M) k' B: \9 q& V1 \/ l/ H8 v. t
& T7 d- y, g# E% k: t
由于使用逻辑门,会使电路规模变大,所以,一般使用4到6个FET,再经过优化构成存储器的1位(图A)。
7 E$ T: j6 l' y, l3 l3 A
8 s6 x y r0 L8 _
图A:SRAM的基本电路
" s. x- \3 E1 R# p* n
h) e9 f; N$ K. q% V# o |
我们分两次,组合电路和时序电路,对逻辑电路的基础进行了讲解,实际上,在设计逻辑电路时,有很多应该注意的事项,其中特别重要的就是关于时钟同步电路的注意事项。
w5 ^, g, F1 U# ?2 P9 v9 Q7 {
在组合电路中,微小的信号传输迟延,都有可能造成输出毛刺,尽管毛刺是一个极其短暂的信号,但也可以引起逻辑电路的误动作,为了回避这个问题,就要使用时钟同步电路。
r2 }# i# Y5 O% r
8 [4 q4 W/ d) w/ |
$ |; n$ R6 d* T
' f+ {3 w' \- ~+ | # _6 v- x1 t6 m; Q4 a) B+ ~
, K8 A G) E) p* C
# E* t6 @4 |2 Q9 M- {. X
图10:时钟同步电路的思路
) j, h, J2 l+ I0 o+ R. G5 m
& X5 K) c5 ~$ ~图10给出了时钟同步电路的概要,如图所示,其构造是在FF(触发器)之间夹着组合电路,毛刺是组合电路在输出稳定之前,输出的短暂信号。因此,在组合电路输出稳定以后,再改变时钟,用触发器保持这个输出,就可以回避这种误动作了。
- I2 J& [; p& t9 S : H" t5 F) O, t D2 w L
|