数字电路——触发器1(RS和钟控触发器)

news2024/11/29 4:03:03

触发器能够存储一位二进制信息的基本单元电路称触发器(Flip-Flop)

特点:

  1. 具有两个能自行保持的稳定状态,用来表示逻辑状态的01”。
  2. 具有一对互补输出。
  3. 有一组控制(激励、驱动)输入。
  4. 或许有定时(时钟)CP(Clock Pulse)。
  5. 在输入信号消失后,电路能将获得的新状态保存下来
  6. 触发器接收输入信号之前的状态叫做现态,用Qn表示。触发器接收输入信号之后的状态叫做次态,用Qn+1表示

空翻在一个时钟周期内触发器状态多次翻转的现象被称为空翻

一、RS触发器

1.1 与非门构成的触发器

1.电路结构

2.状态转化表

0与任何数相与都是0,即0&X=0,所以0与任何数经过与非门之后都得到1

\bar{S}\bar{R}同时为0时,{\bar{Q}}^{n+1}Q^{n+1}Q^{n}无关,输出恒为1,而一个数与它的非不会相等,所以此时被禁用

1与任何数经过与非门之后,得到的数是本身的相反数

\bar{S}\bar{R}同时为1时,Q^{n+1}{\bar{Q}}^{n}取反,所以Q^{n+1}=Q^{n},同理,{\bar{Q}}^{n+1}={\bar{Q}}^{n},表现在电路上就是保持电位。

\bar{S}=0,\bar{R}=1时,Q^{n+1}=1,表现为电路置位

\bar{S}=1,\bar{R}=0时,Q^{n+1}=0,表现为电路复位

3.特征方程

根据卡诺图写出化简后的公式

Q^{n+1}=S+\bar{R}Q^{n}\bar{S}+\bar{R}=1,即\bar{S}\bar{R}不能同时为0)

4.时序图

1.2 或非门构成的R-S触发器

1.电路结构

2.状态转化表

类比于与非门R-S可得状态转化表

3.特征方程

根据卡诺图写出化简后的公式

Q^{n+1}=S+\bar{R}Q^{n}(S*R=0,即S和R不能同时为1)

4.时序图

RS触发器总结

与非门或非门构成的RS触发器的特征方程:Q^{n+1}=S+\bar{R}Q^{n}

问题:(1)存在约束条件的限制;
⑵没有时钟信号,无法与其他部件同步工作。

所以引入时钟信号,这样就可以控制多长时间采集一次数据

二、钟控触发器

2.1 钟控RS触发器

加入时钟信号CP(Clock Pulse),当CP=0时,\bar{S}\bar{R}都为1,电路状态不变。

也就是说钟控RS触发器在CP为1时采集信号,CP=0时不采集

1.电路结构

2.状态转化表

CP=0时,此时的输出与或非门RS触发器的状态转化表一样。

3.特征方程

Q^{n+1}=S+\bar{R}Q^{n}(S*R=0,SR同时为1时,两端都输出1)

4.状态图

5.问题

(1)仍然存在约束条件。
(2)在CP=1期间,只要R、S稍有变化,那么Q端也随之变化,存在“空翻”问题。

2.2 钟控RS触发器

 CP=0时,G7和G8都为1,与R和S的输入无关,{Q}'电路状态不变

1.电路结构

2.状态转化表

3.特征方程

Q^{n+1}=S+\bar{R}Q^{n}(S*R=0,SR同时为1时,两端都输出1)

4.时序图

在CP从1变到0时,\bar{CP}=1,{Q}'才传送到了从触发器,也就是说,在一个CP周期内,RS不变,此时就解决了空翻问题

2.3 D触发器

1.电路结构

2.状态转化

CP=0时,G3和G4为1,Q^{n+1}=Q^{n}

CP=1时,
D=0时,G3=1,G4=0,Q^{n+1}=0
D=1时,G3=0,G4=1,Q^{n+1}=1

3.特征方程

Q^{n+1}={D}(这时就没有了约束条件)

4.存在的问题

(1)存在“空翻”问题;
(2)只有一个输入端,逻辑功能简单。

2.4 维持阻塞D触发器

1.电路结构

2.状态转化表

CP=0时,G3=G4=1:Q^{n+1}=Q^{n}
D=0时,G6=1,G5=0;
D=1时,G6=0,G5=1

CP=1时,
D=0时,G6=1,G4=0,G5=0,G3=1;Q^{n+1}=0
D=1时,G6=0,G4=1,G5=1,G3=0;Q^{n+1}=1

所以,只有在上升沿的时候才检测D信号,避免了空翻问题

3.特征方程

Q^{n+1}={D}

4.状态图

2.5 JK触发器

相较于之前的最大特点就是加入反馈,以此消除钟控RS的约束;
而且之前的禁用情况变为了翻转

1.电路结构

CP=0时,电路状态保持不变

2.状态转化表

3.特征方程

Q^{n+1}={J}\bar{Q}^{n}+{K}Q^{n}

4.存在的问题

还是会空翻,为了消除空翻,引出主从JK触发器

2.6 主从JK触发器

1.电路结构

2.状态转化表

3.特征方程

Q^{n+1}={J}\bar{Q}^{n}+{K}Q^{n}

4.状态图

Q^{n}=0时,只要J=1就可以使Q^{n+1}=1,其他情况状态不变

Q^{n}=1时,只要K=1就可以使Q^{n+1}=0

5.特点

(1)有时钟信号,可以同步工作;
(2)没有约束条件;
(3)有两个输入端;
(4)解决了“空翻”问题。


但存在的问题是一次性变化问题CP1期间,主触发器仅能翻转一次


原因:状态互补的QQ分别引回了门G7G8的输入,使门G7G8总有一个是被封锁的

当Q=1时,由于\bar{Q}=0,所以J端不起作用,
若K=1,则{\bar{Q}}'=1{Q}'=0;若K=0,则G7=G8=1,{\bar{Q}'}{Q}'状态保持不变

在CP从“1”变为“0”后,主触发器的状态传送到从触发器

由于一次性变化问题,倘若在CP=1期间,叠加在JK上面的干扰信号引起一次变化,那么将造成触发器的错误翻转。所以由 边沿型JK触发器代替主从JK触发器。

6.时序图

上升沿接收,每一次下降沿采集数据,00保持,01置0,10置1,11翻转

2.7 边沿型JK触发器

1.电路结构

CP=0时,G1,G1,G3,G6被封锁,\bar{S}=\bar{R}=1,所以Q^{n+1}=Q^{n}

CP=1时,

触发器处于自锁状态,所以Q^{n+1}=Q^{n}

CP从0变1,即CP上升沿时,触发器由保持状态不变进入自锁状态,所以Q^{n+1}=Q^{n}

CP从1变0,即CP下降沿时,G3、G6输出0,触发器解除自锁状态虽然G1、G2由于CP从1变0而被封锁,但其输出端S、R要经过一个与非门延迟才能变为1,所以在解除自锁的一刻,被基本RS触发器接收的R、S仍为CP下降沿到来之前的值,即:\bar{R}=\bar{K Q^{n}}\bar{S}=\bar{J \bar{Q}^{n}}

2.状态简化表

00保持,01置0,10置1,11翻转

3.特征方程

Q^{n+1}={J}\bar{Q}^{n}+{K}Q^{n}

4.状态图

同JK触发器相同,Q^{n}由0变1需要J=1,由1变0需要K=1

5.时序图

下降沿时采集JK信号,

边沿型JK触发器不仅囊括了主从JK触发器的优点,

可以看到CP=1期间的信号震荡不会影响结果,解决了主从JK触发器震荡导致一次性变化,造成触发器的错误翻转的问题。

三、总结

  1. 去除约束条件,有两种方案:D触发器和JK触发器
  2. 如果想要解决空翻问题,使触发器变为主从触发器(维持阻塞D触发器的结构也类似于主从触发器)
  3. 对于主从JK触发器的一次性变化问题,使用边沿JK触发器(利用或非门避免产生一次性变化问题

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.coloradmin.cn/o/2206319.html

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈,一经查实,立即删除!

相关文章

PostgreSQL 16.4安装以及集群部署

1. 环境准备 1.1 主机环境 主机 IP: 192.24.215.121操作系统: CentOS 9PostgreSQL 版本: 16.4 1.2 从机环境 从机 IP: 192.24.215.122操作系统: CentOS 9PostgreSQL 版本: 16.4 2. 安装 PostgreSQL 16.4 在主从两台机器上都需要安装 PostgreSQL 16.4。 2.1 添加 Postgre…

银行卡基础信息查询 API 对接说明

本文将介绍一种 银行卡基础信息查询 API 对接说明,它可用于银行卡基础信息查询。 接下来介绍下 银行卡基础信息查询 API 的对接说明。 申请流程 要使用 API,需要先到 银行卡基础信息查询 API 对应页面申请对应的服务,进入页面之后&#xf…

Python自定义异常类:实际应用示例之最佳实践

Python自定义异常类:实际应用示例之最佳实践 前言 在软件开发中,合理处理异常是保证程序稳定性的重要环节。虽然 Python 内置了丰富的异常类型,但在处理复杂业务逻辑时,自定义异常类能够使代码更加清晰且具备可扩展性。 本文将…

一个架构师的职业素养:四种常用的权限模型

你好,我是看山。 本文收录在《一个架构师的职业素养》专栏。日拱一卒,功不唐捐。 今天咱们一起聊聊权限系统。 以大家熟知的电商场景举例: 用户可以分为普通用户、VIP用户:我们需要控制不同角色用户的访问范围。比如,京东的PLUS会员,可以进入会员专区,而且能够使用礼金…

ESP32接入扣子(Coze) API使用自定义智能体

使用ESP32接入Coze API实现聊天机器人的教程 本示例将使用ESP32开发板通过WiFi接入 Coze API,实现一个简单的聊天机器人功能。用户可以通过串口向机器人输入问题,ESP32将通过Coze API与智能体进行通信,并返回对应的回复。本文将详细介绍了如…

OpenGL 进阶系列03 - OpenGL实例化渲染来提高性能

目录 一:概述 二:实例化渲染的优点: 三:OpenGL实例化渲染的例子: 一:概述 OpenGL 实例化渲染(Instanced Rendering)是一种渲染技术,可以有效地绘制多个相同对象,而不需要为每个对象单独提交绘制调用。通过这种方式,可以显著提高渲染性能,尤其是在需要绘制大量相…

【每日刷题】Day137

【每日刷题】Day137 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 1576. 替换所有的问号 - 力扣(LeetCode) 2. 495. 提莫攻击 - 力扣&#xf…

【数据结构与算法】线性表顺序存储结构

文章目录 一.顺序表的存储结构定义1.1定义1.2 图示1.3结构代码*C语言的内存动态分配 二.顺序表基本运算*参数传递2.1建立2.2初始化(InitList(&L))2.3销毁(DestroyList(&L))2.4判断线性表是否为空表(ListEmpty(L))2.5求线性表的长度(ListLength(L))2.6输出线性表(DispLi…

基于GoogleNet深度学习网络的手语识别算法matlab仿真

目录 1.算法运行效果图预览 2.算法运行软件版本 3.部分核心程序 4.算法理论概述 5.算法完整程序工程 1.算法运行效果图预览 (完整程序运行后无水印) 手语How are you,测试识别结果如下: 手语I am fine,测试识别结果如下: 手…

java入门和Java语法

Java直接运行源代码文件,不会产生HelloWorld.class第二种方法:把模块放在D盘下,然后导入 第三种方法:新建一个模块,然后把内容复制过去 byte l 12; short m l; System.out.println(m); char n a; int reason mn; Sy…

消息摘要算法

算法特点 a) 消息摘要算法/单向散列函数/哈希函数 b) 不同长度的输入,产生固定长度的输出 c) 散列后的密文不可逆 d) 散列后的结果唯一 e) 哈希碰撞 f) 一般用于校验数据完整性、签名sign 由于密文不可逆,所以服务端也无法解密 想要验证&#xf…

解锁机器人视觉与人工智能的潜力,从“盲人机器”改造成有视觉能力的机器人(下)

机器视觉产业链全景回顾 视觉引导机器人生态系统或产业链分为三个层次。 上游(供应商) 该机器人视觉系统的上游包括使其得以运行的硬件和软件提供商。硬件提供商提供工业相机、图像采集卡、图像处理器、光源设备(LED)、镜头、光…

如何让信息学奥赛学习“边玩边学”?——趣味编程让枯燥学习变得有趣

信息学奥赛(NOI)作为一项高水平的编程竞赛,内容涉及到大量的算法、数据结构和复杂的逻辑思维,对学生的要求非常高。然而,面对枯燥的知识点和高难度的题目,很多学生在备赛过程中容易感到乏味甚至放弃。那么&…

Overfrp内网穿透:使用域名将内网http/https服务暴露到公网

项目地址:https://github.com/sometiny/overfrp 使用overfrp部署穿透服务器,绑定域名后,可使用域名访问内网的http/https服务。 用例中穿透服务器和内网机器之间的访问全链路加密,具有ssh2相当的安全级别。!&#xf…

国外电商系统开发-运维系统秘钥管理

文件上传功能,都是通过拖放的方式上传的 当然了,上面我只是演示行的放几个文件而已,不要在意文件名。此时,如果您有服务器是通过SSH-Key登录的,那么在服务器配置中,您可以做如下选择:

【论文阅读】Learning a Few-shot Embedding Model with Contrastive Learning

使用对比学习来学习小样本嵌入模型 引用:Liu, Chen, et al. “Learning a few-shot embedding model with contrastive learning.” Proceedings of the AAAI conference on artificial intelligence. Vol. 35. No. 10. 2021. 论文地址:下载地址 论文代码…

jenkins 插件SSH Pipeline Steps

一、安装 SSH Pipeline Steps | Jenkins plugin 二、添加全局linux服务器用户名密码:linux-142 三、新建流水线SshServer 添加Pipeline Script node {def remote [:]remote.name tstremote.host 192.168.31.142remote.allowAnyHosts truewithCredentials([usern…

leetcode167. 两数之和 II - 输入有序数组

给你一个下标从 1 开始的整数数组 numbers &#xff0c;该数组已按 非递减顺序排列 &#xff0c;请你从数组中找出满足相加之和等于目标数 target 的两个数。如果设这两个数分别是 numbers[index1] 和 numbers[index2] &#xff0c;则 1 < index1 < index2 < numbers…

操作系统中的并发控制——使用条件变量同步

本期主题&#xff1a; 操作系统中的并发控制&#xff0c;条件变量 往期链接&#xff1a; linux设备驱动中的并发操作系统中的多线程问题——原子操作、自旋锁的底层实现操作系统并发控制——使用互斥锁实现同步 操作系统并发控制之条件变量同步 1. 问题描述2. 条件变量的API讲…

数据治理、数据清洗定义、区别以及数据清洗常用方法

一、数据治理定义 数据治理是一种组织数据管理的方法&#xff0c;涉及数据的收集、存储、处理、分析和共享等方面&#xff0c;旨在最大程度地利用数据资产并降低数据相关的风险。‌ 数据治理确保数据的质量、安全性、合规性和可用性&#xff0c;以支持组织的决策和运营活动。‌…