深度讲解锁存器、触发器和寄存器

原创 老徐的技术专栏 2024-03-06 22:42
编辑:小黑   版面:梁静
首先在上图中简单帮大家回忆了一下锁存器、触发器和寄存器的作用和区别;
我们知道,在复杂的数字电路中,不仅仅需要对各种数字信号进行算数运算和逻辑运算,而且还需要在运算过程中,不断地将运算数据和运算结果保存起来,因此存储电路就成为了计算机以及所有复杂系统中不可缺少的组成部分。
通常将只能存储一位数据的电路叫做存储单元,将用于存储一组数据的存储电路叫做寄存器(register), 将用于存储大量数据的存储电路叫做存储器(memory),寄存器和半导体存储器中都包含了许多存储单元,本文将重点讲解寄存器中的存储单元。
而存储单元又可以分为静态存储单元和动态存储单元两大类,静态存储单元由门电路连接而成,其中包括了各种结构形式的锁存器触发器,只要不切断供电,静态存储单元的状态会一直保持下去(动态存储单元则是利用电容的电荷存储效应来存储数据的,由于电容的充放电需要一定的时间,因此它的工作速度低于静态存储单元,而且电容上存储的电荷会随着时间的推移而逐渐泄露,必须定期进行刷新,才能保证数据不会丢失,因为其结构非常简单,所以被广泛应用在大容量的存储器中,比如NAND FLASH和DDR等大容量存储器件)。
SR锁存器的工作原理
上面两张图是SR锁存器的电路结构,可以看到图中SR锁存器是通过两个或非门组合(也可以由与非门)而成的,而且或非门的输出又被作为输入,形成交叉耦合的形式。
上面两张图的第2张是SR锁存器的真值表,需要注意Q为锁存器的输出现态,Q*是锁存器的输出次态(输入Rd和Sd后输出状态为Q*,前一个输出是Q),分析真值表可以得到如下结论:
当Sd为1时,不管现态Q如何,次态都是1,所以Sd叫做置1端;
当Rd为0时,不管现态Q如何,次态都是0,所以Rd叫做置0端;
当Sd和Rd都是0时,发现现态和次态是一致的,保持不变;
当Sd和Rd都为1时,Q和Q'都是0,但是我们希望这两个输出是相反的,而且在Sd和Rd同时回到0后,无法判断锁存器是回到1还是0,因此在正常工作时,输入信号需要满足SdRd=0的约束条件。
SR锁存器和组合逻辑电路的差异点在于,组合逻辑电路的输出完全取决于输入,输入变化,输出也会立马发生变化,而锁存器在输入消失后,输出结果仍然保持不变,其主要原因是引入了反馈
比如对于SR锁存器,置0端即Rd=1,Sd=0时,经过或非门,输出Q为0,Q=0被反馈到下面或非门作为输入,下面的或非门输出为1,这个1又作为上面或非门的输入端,可以知道此时上面的或非门两个输入都是1,因为是或非门,所以此时即使Rd输入消失,输出仍然是0,保持不变。(为什么SR锁存器可以锁住输出的原因
触发器的工作原理
触发器和锁存器的不同之处在于,它除了置1、置0输入端之外,又增加了1个触发信号输入端,只有当触发信号到来的时候,触发器才能按照输入的置1、置0设置成相应的状态并保持下去,这个触发信号就是时钟信号CLK,当系统中有多个触发器需要同时动作时,就可以用一个时钟信号作为同步控制信号了。
触发信号的工作方式可以分为电平触发边沿触发脉冲触发三种:
2.1、电平触发的触发器
如上图所示,为电平触发的SR触发器基本电路结构,可以看到该电路有两部分组成:与非门G1、G2组成的SR锁存器和由与非门G3、G4组成的输入控制电路。
当CLK=0的时候,就相当于把输入通路锁住,S、R端的信号无法通过G3、G4而影响输出状态,所以输出保持原来的状态不变,只有当触发信号CLK=1时,S、R信号才能通过,不过其缺点也在于此,只要CLK=1期间,S、R的任何状态变化,触发器都会随之变化,导致抗毛刺能力比较差,这种触发方式就是典型的电平触发。
为了适应单端输入信号的需要,在SR触发器的基础上,发展出了D触发器,原理很简单,就是把单端输入通过反相器进行反相,这样就避免了S=1 R=1的约束条件。
对于电平触发的D触发器(上图所示),当D=1,CLK变成高电平之后,触发器也会设置为1,D=0,触发器也会被设置为0,当CLK变成低电平,触发器保持原状态不变。
2.2、边沿触发的触发器
为了提高触发器的可靠性,增强抗干扰的能力,希望触发器的次态仅仅取决于CLK信号下降沿(或者上升沿)到达时刻的输入信号的状态,而在此之前和之后的输入状态对触发器的次态没有影响,由此发展出了边沿触发的触发器。
如上图所示,是由两个电平触发的D触发器级联组成的边沿触发器的原理框图,图中的FF1、FF2是两个电平触发的D触发器。
(1)当CLK=0时,CLK1=1,FF1此时Q1=D,CLK2=0,FF2的输出Q2保持不变;
(2)当CLK=0→1时,CLK1=1→0,Q1保持为CLK上升沿到来瞬间的输入D的状态,此后不在跟随D的变化而变化,与此同时,CLK2=0→1,Q2的输出FF1的输出Q1相同,于是输出端Q便被设置成了和CLK上升沿到达前瞬间D端相同的状态。
从上面的分析可以知道,边沿触发器在工作时,其次态仅仅取决于时钟的上升沿或者下降沿到达时输入的逻辑状态,在这之前或者之后,输入信号的变化对触发器输出的状态几乎没有影响。
2.3、脉冲触发的触发器
上图是脉冲触发的触发器电路结构,仔细分析区别:将D触发器换成了SR触发器,乍一看这个触发器的行为很像下降沿触发器,但是从SR触发器的真值表可以知道,当CLK=1期间,主触发器的输出Q1不像D触发器那样:Q1=D(即输出Q1可以根据输入D得到),Q1的输出需要取决于整个CLK=1期间的所有行为变化才能得到:
在上面这些触发器的基础上,继续发展出了JK触发器、T触发器等,也比较简单,这里不细讲,有兴趣的可以参考《数字电路设计》。
触发器的动态特性
为了保证触发器在时钟到来时可以可靠的翻转,需要进一步分析触发器的动态翻转过程,从而找到输入信号、输入时钟以及两者之间相互配合关系的需求,通常是建立时间保持时间传输延迟时间以及最高时钟频率这几个参数描述的,其中如果触发器没有遵循建立和保持时间要求,则会进入“亚稳态”的不稳定状态。
这里以最典型的D触发器为例,假设下图中传输门TG从接收到控制信号(C和C')跳变到它的传输状态改变的延迟时间、反相器的延迟时间都是Td。
基于上面的电路分析,可以计算出:
(1)建立时间(setup time)tsu
  • 对FF1,C'的状态改变只需要经过TG1(即CLK信号的延时为Td);

  • 对FF1,加载到D端的信号需要经过传输门TG1、G1、G2后,才会到达Q1端(即改变的数据状态需要经过3Td之后才可以到达Q1)

在C和C'的状态改变以前,FF1中Q1的状态必须稳定的建立起来,使得Q1=D,经过上面的分析,可以知道CLK和DATA的延时差为2Td,即DATA必须先于CLK 2Td时间到达,这个时间就是所谓的建立时间
(2)保持时间
保持时间很容易理解,即CLK动作沿到达后,输入的数据信号仍然需要保持不变的时间,为什么需要这个时间呢?仍然基于D触发器分析:
在C和C'状态改变使得TG1截止,TG2导通之前,D端的输入信号应该保持不变,可以知道保持时间应当为th=2td(因为CLK的沿需要经过G5、G6之后即2Td的时间,TG2传输门才会打开,在打开之前数据需要一直保持
(3)传输延迟时间tpd
传输延迟时间是指从CLK开始,直到触发器输出的新状态稳定建立所需要的时间,从图中可以分析到,FF2输出端Q的新状态需要经过C、C'、TG3、G3的传输延迟后才能建立起来,所有输出端Q的传输延迟时间为4tpd,而Q'端还要经过G4的延迟才能建立起来,因此输出端Q的传输延迟时间应该为5tpd。
(4)最高时钟频率
最高时钟频率是指触发器在连续、重复翻转的情况下,时钟信号可以达到的最高重复频率,为了保证触发器可靠的翻转:
i) CLK的低电平时间持续时间twl必须大于建立时间,所以twl的最小值应该为2td;
分析时序图很容易理解


ii) 而在CLK变成高电平以后,直到Q'新状态建立起来以前,TG3必须保持导通状态,因此C和C'状态不能改变,考虑到需要经过G5的传输延迟时间td以后C和C'状态才开始改变,所以CLK的高电平持续时间twh必须大于tpdQ'-td,所以twh的最小值应该为twh(min)=4td,因此即可得到最高的时钟频率为:
fmax=1/(6td)
(这段话如何理解呢?CLK从低电平切到高电平后,意味着经过一个G5的延时td后C和C'的状态才会改变,此时触发器内部的动作是关闭FF1,打开FF2,而FF2打开的时间必须能够坚持到Q'的状态能够稳定建立起来,根据前面的分析可以知道Q'的传输延迟时间是5td,因此CLK高电平持续时间最小值为4td)
此外,因为CLK占空比一般为50%,所以最高的时钟频率可以修正为:
 fmax=1/(8td)
从上面的分析还可以看到,触发器的动态参数取决于电路结构形式以及其中每个门电路的传输延迟时间,所以各种触发器的动态参数随着电路结构形式和内部电路参数的不同而有差异,而且本身电路的参数也会有一定的离散性,所以一般都会通过实际测试来给出参数的范围。



老徐的技术专栏 专注于手机、IOT等领域的高速PCB电路、基带、RF以及BSP领域的开发知识的分享。
评论
  • 光耦合器,也称为光隔离器,是一种利用光在两个隔离电路之间传输电信号的组件。在医疗领域,确保患者安全和设备可靠性至关重要。在众多有助于医疗设备安全性和效率的组件中,光耦合器起着至关重要的作用。这些紧凑型设备经常被忽视,但对于隔离高压和防止敏感医疗设备中的电气危害却是必不可少的。本文深入探讨了光耦合器的功能、其在医疗应用中的重要性以及其实际使用示例。什么是光耦合器?它通常由以下部分组成:LED(发光二极管):将电信号转换为光。光电探测器(例如光电晶体管):检测光并将其转换回电信号。这种布置确保输入和
    腾恩科技-彭工 2025-01-03 16:27 171浏览
  • 在快速发展的能源领域,发电厂是发电的支柱,效率和安全性至关重要。在这种背景下,国产数字隔离器已成为现代化和优化发电厂运营的重要组成部分。本文探讨了这些设备在提高性能方面的重要性,同时展示了中国在生产可靠且具有成本效益的数字隔离器方面的进步。什么是数字隔离器?数字隔离器充当屏障,在电气上将系统的不同部分隔离开来,同时允许无缝数据传输。在发电厂中,它们保护敏感的控制电路免受高压尖峰的影响,确保准确的信号处理,并在恶劣条件下保持系统完整性。中国国产数字隔离器经历了重大创新,在许多方面达到甚至超过了全球
    克里雅半导体科技 2025-01-03 16:10 122浏览
  • 根据Global Info Research项目团队最新调研,预计2030年全球封闭式电机产值达到1425百万美元,2024-2030年期间年复合增长率CAGR为3.4%。 封闭式电机是一种电动机,其外壳设计为密闭结构,通常用于要求较高的防护等级的应用场合。封闭式电机可以有效防止外部灰尘、水分和其他污染物进入内部,从而保护电机的内部组件,延长其使用寿命。 环洋市场咨询机构出版的调研分析报告【全球封闭式电机行业总体规模、主要厂商及IPO上市调研报告,2025-2031】研究全球封闭式电机总体规
    GIRtina 2025-01-06 11:10 74浏览
  • 每日可见的315MHz和433MHz遥控模块,你能分清楚吗?众所周知,一套遥控设备主要由发射部分和接收部分组成,发射器可以将控制者的控制按键经过编码,调制到射频信号上面,然后经天线发射出无线信号。而接收器是将天线接收到的无线信号进行解码,从而得到与控制按键相对应的信号,然后再去控制相应的设备工作。当前,常见的遥控设备主要分为红外遥控与无线电遥控两大类,其主要区别为所采用的载波频率及其应用场景不一致。红外遥控设备所采用的射频信号频率一般为38kHz,通常应用在电视、投影仪等设备中;而无线电遥控设备
    华普微HOPERF 2025-01-06 15:29 63浏览
  • 自动化已成为现代制造业的基石,而驱动隔离器作为关键组件,在提升效率、精度和可靠性方面起到了不可或缺的作用。随着工业技术不断革新,驱动隔离器正助力自动化生产设备适应新兴趋势,并推动行业未来的发展。本文将探讨自动化的核心趋势及驱动隔离器在其中的重要角色。自动化领域的新兴趋势智能工厂的崛起智能工厂已成为自动化生产的新标杆。通过结合物联网(IoT)、人工智能(AI)和机器学习(ML),智能工厂实现了实时监控和动态决策。驱动隔离器在其中至关重要,它确保了传感器、执行器和控制单元之间的信号完整性,同时提供高
    腾恩科技-彭工 2025-01-03 16:28 166浏览
  • 物联网(IoT)的快速发展彻底改变了从智能家居到工业自动化等各个行业。由于物联网系统需要高效、可靠且紧凑的组件来处理众多传感器、执行器和通信设备,国产固态继电器(SSR)已成为满足中国这些需求的关键解决方案。本文探讨了国产SSR如何满足物联网应用的需求,重点介绍了它们的优势、技术能力以及在现实场景中的应用。了解物联网中的固态继电器固态继电器是一种电子开关设备,它使用半导体而不是机械触点来控制负载。与传统的机械继电器不同,固态继电器具有以下优势:快速切换:确保精确快速的响应,这对于实时物联网系统至
    克里雅半导体科技 2025-01-03 16:11 175浏览
  • 这篇内容主要讨论三个基本问题,硅电容是什么,为什么要使用硅电容,如何正确使用硅电容?1.  硅电容是什么首先我们需要了解电容是什么?物理学上电容的概念指的是给定电位差下自由电荷的储藏量,记为C,单位是F,指的是容纳电荷的能力,C=εS/d=ε0εrS/4πkd(真空)=Q/U。百度百科上电容器的概念指的是两个相互靠近的导体,中间夹一层不导电的绝缘介质。通过观察电容本身的定义公式中可以看到,在各个变量中比较能够改变的就是εr,S和d,也就是介质的介电常数,金属板有效相对面积以及距离。当前
    知白 2025-01-06 12:04 99浏览
  •     为控制片内设备并且查询其工作状态,MCU内部总是有一组特殊功能寄存器(SFR,Special Function Register)。    使用Eclipse环境调试MCU程序时,可以利用 Peripheral Registers Viewer来查看SFR。这个小工具是怎样知道某个型号的MCU有怎样的寄存器定义呢?它使用一种描述性的文本文件——SVD文件。这个文件存储在下面红色字体的路径下。    例:南京沁恒  &n
    电子知识打边炉 2025-01-04 20:04 60浏览
  • 本文介绍Linux系统更换开机logo方法教程,通用RK3566、RK3568、RK3588、RK3576等开发板,触觉智能RK3562开发板演示,搭载4核A53处理器,主频高达2.0GHz;内置独立1Tops算力NPU,可应用于物联网网关、平板电脑、智能家居、教育电子、工业显示与控制等行业。制作图片开机logo图片制作注意事项(1)图片必须为bmp格式;(2)图片大小不能大于4MB;(3)BMP位深最大是32,建议设置为8;(4)图片名称为logo.bmp和logo_kernel.bmp;开机
    Industio_触觉智能 2025-01-06 10:43 68浏览
  • 彼得·德鲁克被誉为“现代管理学之父”,他的管理思想影响了无数企业和管理者。然而,关于他的书籍分类,一种流行的说法令人感到困惑:德鲁克一生写了39本书,其中15本是关于管理的,而其中“专门写工商企业或为企业管理者写的”只有两本——《为成果而管理》和《创新与企业家精神》。这样的表述广为流传,但深入探讨后却发现并不完全准确。让我们一起重新审视这一说法,解析其中的矛盾与根源,进而重新认识德鲁克的管理思想及其著作的真正价值。从《创新与企业家精神》看德鲁克的视角《创新与企业家精神》通常被认为是一本专为企业管
    优思学院 2025-01-06 12:03 65浏览
  • 在智能家居领域中,Wi-Fi、蓝牙、Zigbee、Thread与Z-Wave等无线通信协议是构建短距物联局域网的关键手段,它们常在实际应用中交叉运用,以满足智能家居生态系统多样化的功能需求。然而,这些协议之间并未遵循统一的互通标准,缺乏直接的互操作性,在进行组网时需要引入额外的网关作为“翻译桥梁”,极大地增加了系统的复杂性。 同时,Apple HomeKit、SamSung SmartThings、Amazon Alexa、Google Home等主流智能家居平台为了提升市占率与消费者
    华普微HOPERF 2025-01-06 17:23 69浏览
  • 随着市场需求不断的变化,各行各业对CPU的要求越来越高,特别是近几年流行的 AIOT,为了有更好的用户体验,CPU的算力就要求更高了。今天为大家推荐由米尔基于瑞芯微RK3576处理器推出的MYC-LR3576核心板及开发板。关于RK3576处理器国产CPU,是这些年的骄傲,华为手机全国产化,国人一片呼声,再也不用卡脖子了。RK3576处理器,就是一款由国产是厂商瑞芯微,今年第二季推出的全新通用型的高性能SOC芯片,这款CPU到底有多么的高性能,下面看看它的几个特性:8核心6 TOPS超强算力双千
    米尔电子嵌入式 2025-01-03 17:04 39浏览
  • PLC组态方式主要有三种,每种都有其独特的特点和适用场景。下面来简单说说: 1. 硬件组态   定义:硬件组态指的是选择适合的PLC型号、I/O模块、通信模块等硬件组件,并按照实际需求进行连接和配置。    灵活性:这种方式允许用户根据项目需求自由搭配硬件组件,具有较高的灵活性。    成本:可能需要额外的硬件购买成本,适用于对系统性能和扩展性有较高要求的场合。 2. 软件组态   定义:软件组态主要是通过PLC
    丙丁先生 2025-01-06 09:23 63浏览
我要评论
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦