一、触发器时序逻辑电路与组合逻辑电路不同其输出取决于当前的输入也取决于电路的历史状态。时序电路的核心是存储元件触发器。时钟是时序电路的心跳控制电路的状态变化时刻关键参数- 频率Frequency每秒钟的周期数- 周期Period一个完整周期的时间- 占空比Duty Cycle高电平时间占周期的比例- 上升沿Rising Edge从低到高的跳变- 下降沿Falling Edge从高到低的跳变同步电路异步电路所有触发器共用同一个时钟没有统一的时钟状态变化发生在时钟沿状态变化由输入信号直接触发易于设计和分析设计复杂但速度可能更快现代数字系统的主流用于特殊场合按照逻辑功能的不同特点通常将时钟控制的触发器分为SR触发器、JK触发器、T触发器和D触发器等几种类型。1.SR锁存器Set-Reset Latch这是最为基础的存储单元有置位Set和复位Reset两个输入。SR锁存器也是各种触发器电路的基本构成部分。虽然它也有两个能够自行保持的稳定状态并且可以根据输入信号置成1或0状态它的置1或置0操作是由输入的置1或置0信号直接完成的不需要触发信号的触发。真值表SRQ(next)说明00Q(保持)保持当前状态010复位101置位11X禁止状态这个不需要死记硬背最好是可以对照着图片理解即可记忆。以或非门为例S和R分别输入Q‘作为Q的输入Q对于Q也是一样。理解起来应该较为简单。置位的时候是S为1R为0此时的目的是让Q为1复位的时候是让Q为0。S和R都为0时Q就保持了二者都为1时禁止的因为此时Q和Q无法互补了。2.D触发器D Flip-FlopD触发器是最常用的触发器在时钟沿到来时将D输入的值存储到Q输出。特性表CLKDQ(next)↑00↑110/1XQ(保持)应用场景1.数据寄存暂存数据2.移位寄存器串行数据传输3.计数器实现各种计数功能4.状态机存储状态信息Q代表当前状态Q*代表下一个状态3.JK触发器JK Flip-FlopJK触发器是SR触发器的改进版本消除了禁止状态。特性表CLKJKQ(next)说明↑00Q保持↑010复位↑101置位↑11Q翻转4. T触发器T Flip-FlopT触发器在T1时翻转状态T0时保持状态。特性表CLKTQ(next)↑0Q↑1Q应用场景1.分频器将时钟频率除以22.计数器实现二进制计数二、时序电路的应用时序电路在电路结构上有两个显著的特点。第一时序电路通常包含组合电路和存储电路两个组成部分而存储电路是必不可少的。第二存储电路的输出状态必须反馈到组合电路的输入端与输入信号一起共同决定组合逻辑电路的输出。1.寄存器Register寄存器是由多个D触发器组成的用于存储多位数据。2.移位寄存器Shift Register移位寄存器可以将数据左移或右移用于串并转换。应用场景 - 串并转换将串行数据转换为并行数据 - 并串转换将并行数据转换为串行数据 - 延迟线延迟数据若干个时钟周期 - LED驱动级联驱动多个LED3.计数器Counter计数器是时序电路的重要应用可以实现各种计数功能。按计数器中的触发器是否同时翻转分类可分为同步计数器和异步计数器。应用场景1.分频器产生低频时钟2.定时器实现定时功能3.地址生成产生顺序地址4.状态机实现状态计数三、时序分析基础1.时序参数时序参数在设计时序电路时需要考虑关键时序参数1.建立时间Setup Time, tsu数据在时钟沿到来之前必须保持稳定的最小时间2.保持时间Hold Time, th数据在时钟到来之后必须保持稳定的最小时间3.传播延迟Propagation Delaytpd从时钟沿到输出稳定的时间4. 时钟周期约束时钟周期必须满足Tclk ≥ tpd(FF1) tlogic tsu(FF2)其中 tpd(FF1)第一个触发器的传播延迟tlogic组合逻辑延迟tsu(FF2)第二个触发器的建立时间2.亚稳态当输入信号在建立时间或保持时间窗口内变化时触发器可能进入亚稳态。亚稳态特征输出电压处于不确定状态既不是0也不是1输出可能振荡最终会稳定到0或1但时间不确定可能导致系统错误。最佳实践1.异步信号必须经过同步器2.使用两级或三级触发器同步3.关键信号可以使用更多级4.注意同步器引入的延迟四、实际应用和设计技巧1.按键消抖电路机械按键在按下和释放时会产生抖动需要消抖处理。硬件消抖SR锁存器按键按下时通过SR锁存器锁定状态避免抖动影响软件消抖2.分频器设计分频器用于产生低频时钟信号。3.脉冲展宽电路将短脉冲展宽为较长的脉冲。4. 边沿检测电路检测信号的上升沿和下降沿。参考数字电路基础逻辑门与时序电路 - 工程师知识库《数字电子技术基础》第五版闫石著。