嵌入式基础知识-组合逻辑与时序逻辑电路

本篇来介绍嵌入式硬件电路的相关知识:组合逻辑电路与时序逻辑电路

根据电路是否具有存储功能,将逻辑电路分为组合逻辑电路和时序逻辑电路。

1 组合逻辑电路

组合逻辑电路,是指在任何时刻,电路的输出状态只取决于同一时刻的输入状态,与电路原来的状态无关。

常见的组合逻辑电路:译码器、多路选择器等

1.1 组合逻辑的表示方法

组合逻辑的表示方法包括真值表和布尔代数。

1.1.1 真值表

输入的所有组合与其对应的输出值构成的表格

ABL
000
010
100
111

真值表的特点:

  • 能完全描述任何一种组合逻辑
  • 表的大小随输入个数的增加呈指数增长

1.1.2 布尔代数

布尔代数中有3种基本运算,与、或、非。

与逻辑

与逻辑(AND),记为“·”,也称为逻辑乘

A和B都满足,Y才满足。

或逻辑

或逻辑(OR),记为“+”,也称为逻辑和

A和B只要有一个满足,Y就满足。

非逻辑

或逻非(NOT),记为“A非(A上面一横)",也称为逻辑反

A不满足时,Y才满足。

常见的布尔代数定律如下表所示:

1.2 基础结构门电路

门电路可以实现基本的逻辑功能。

基本的门电路的符号如下:

也可以用下面这种符号表示:

1.3 常用组合逻辑电路

1.3.1 译码器

译码器,也称为解码器,可以将特定含义的二进制码转换成对应的输出信号。

译码器为多输入多输出的组合逻辑网络,如下图:

  • 每输入一个n位的二进制信号,在m个输出端中最多只有一个有效
  • 当m=2^n时,为全译码器
  • 当m<2^n时,为部分译码器

根据功能的不同,译码器分为通用译码器显示译码器

通用译码器又可分为二进制译码器二-十进制译码器

  • 二进制译码器是全译码器,如2-4译码器、3-8译码器
  • 二-十进制译码器是部分译码器,将二进制译成0~9,它的n=4,m=10

1.3.2 数据选择器MUX

数据选择器,又称为多路开关。

常见的数据选择器有:二选一、四选一、八选一、十六选一等。

如下图左图为数据选择器示意。

下图右图为二选一的数据选择器结构:

  • 两个输入信号A和B
  • 一个输出信号C
  • 一个选择信号S

1.3.3 数据分配器DMUX

数据分配器,又称为多路分配器。

与数据选择器相反,它是有一个输入和多个输出。

如下图左图为数据分配器示意。

下图右图为四路数据分配器:

  • 若数据输入端X为1,为2-4译码器,即X为使能端
  • 选择端S0和S1相当于译码器的输入端

数据分配器的核心实际是一个带有使能端的全译码器

1.3.4 多路开关

把多路选择器和多路分配器结合起来,得到多路开关,可以实现在一条线上分时传送多路信号。

即在相同地址输入的控制下,将多路输入信号的任意一路从对应的一路输出。

2 时序逻辑电路

时序逻辑电路,是指电路在任一时刻的输出不仅与当前时刻的输入有关,还与当前时刻的电路状态有关。

  • I为时序电路的输入信号
  • O为时序电路的输出信号
  • E为存储电路转换为下一状态的激励信号
  • S为存储电路的状态信号(状态变量),表示时序电路当前状态,简称现态

常见的时序逻辑电路:寄存器、计数器等。

2.1 时钟信号

时钟信号是指有固定周期并与运行无关的信号量,它是时序逻辑的基础,决定了逻辑单元中状态何时更新。

  • 电平触发机制中,只有高电平(或低电平)是有效信号
  • 边沿触发机制中,只有上升沿(或下降沿)是有效信号

2.2 触发器

触发器是一种能够储存1位二值信号(0、1)的基本单元电路。其特点为:

  • 具有两个能自行保持的稳定状态来表示逻辑0和1
  • 根据不同的输入信号可以设置成0或1

触发器的分类:

按时钟控制方式分:电平触发、边沿触发、主从触发

按逻辑功能分:D型、R-S型、J-K型

2.2.1 电位触发方式的触发器

如下图为锁定触发器(锁存器)的电位触发器的逻辑图:

  • 当时钟信号E为高电平1时,输入D和输出Q相同
  • 当时钟信号E为低电平0时,输入D无论输入什么都无效,输出Q状态保持不变

在时钟信号E为高电平1期间,输入信号多次发送变换,触发器也会相应的多次翻转,这种因输入信号变化而引起触发器状态变化多余一次的现象,称为触发器的空翻。

电平触发器的结构简单,常用来组成暂存器

2.2.2 边沿触发方式的触发器

如下图为边沿触发器(以D触发器为例)的逻辑图:

  • 在CP=1期间到来的数据,必须“延迟”到该CP=1过后的下一个CP边沿到来时才被接收
  • 在CP正跳变(对正边沿触发器)以外期间出现在D端的数据和干扰不会被接收,有很强的抗数据端干扰的能力

边沿触发器除用来组成寄存器外,还可用来组成计数器移位寄存器

2.3 寄存器

寄存器主要用来接收信息、寄存信息或传送信息。

  • 通常采用并行输入——并行输出的方式
  • 组成部分包括:触发器、门电路构成的控制电路(以保证信息的接收、发送、清除)
  • 存储n位二进制代码的寄存器需要使用n个触发器构成

2.4 移位器

移位器既能寄存数据,又能在时钟信号的控制下,使数据向左或向右移动。

  • 按移动方向可分为:
    • 左移位寄存器
    • 右移位寄存器
    • 双向移位寄存器
  • 按信息的输入/输出方式可分为:
    • 串行输入——串行输出
    • 串行输入——并行输出(串——并转换)
    • 并行输入——串行输出(并——串转换)
    • 并行输入——并行输出

2.5 计数器

计数器是由各种触发器和逻辑门构成的,其基本功能用来累计时钟输入脉冲的个数。

  • 计数器还可用来定时、分频、产生节拍脉冲和脉冲序列、进行数字运算等
  • 按脉冲输入方式可分为:
    • 同步计数器:各级触发器的时钟脉冲均来自同一个计数输入脉冲,各级触发器在计数脉冲作用下同时翻转,又称并行计数器
    • 异步计数器:没有公共的时钟脉冲,除第一级外,每级触发器都是由前一级的输出信号触发,为串行进位,又称串行计数器
  • 按计数技术可分为:
    • 二进制计数器
    • 十进制计数器
    • 任意进制计数器
  • 按逻辑功能可分为:
    • 加法计数器
    • 减法计数器
    • 可逆计数器

3 总结

本篇介绍了组合逻辑电路与时序逻辑电路的基础知识,组合逻辑电路中,介绍了组合逻辑的表示方法,各种基础门电路、常用的组合逻辑电路等;时序逻辑电路中,首先介绍了时钟信号的类型,然后介绍了触发器、寄存器、移位器、计数器的基础知识点。

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

如若内容造成侵权/违法违规/事实不符,请联系编程知识网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Redis缓存过期淘汰策略详讲

前言 查看redis最大占用内存 1&#xff09;命令查看 config get memory2&#xff09;进入redis配置文件&#xff0c;查看maxmemory vim /myredis/redis.conf3&#xff09;redis默认内存多少可用 如果不设置最大内存大小或者设置最大内存大小为0&#xff0c;在64位操作系统…

解决Python xlwings报错AttributeError ‘NoneType‘ object has no attribute apps

一、问题背景 今天&#xff0c;遇到了一个问题&#xff1a;以前调试好的python使用xlwings操作wps表格的脚本突然不能运行了&#xff0c;遇到了很多莫名问题&#xff0c;下面记录分享下&#xff1a; 开始报错如下&#xff1a; D:\PycharmProjects\tiku\venv\Scripts\python.e…

【Gephi项目实战-带数据集】利用gephi绘制微博肖战超话120位用户关系图,并计算整体网络指标与节点指标

数据集在评论区&#xff0c;B站演示视频在评论区&#xff01; 简介 最近2天需要用到gephi做社会网络分析&#xff0c;于是从0开始接触gephi并摸索出了gephi的基本使用指南。下面将结合真实的节点文件与边文件&#xff0c;利用gephi绘制社会网络并计算相关测量指标。整个过程会…

文件夹正在使用无法删除(重命名)解决办法

1、问题描述 相信都遇到文件夹无法删除&#xff0c;或者无法重命名的情况。如果将文件夹正在使用的文件都已经关闭后&#xff0c;文件夹仍旧无法删除或重命名。 这个时候大概率是有隐藏的进程没有关闭&#xff0c;可以重启电脑&#xff0c;或者采用下面的方式关闭对应文件夹的…

error getting ip from ipam: operation get is not supported on blockkey

无论是否通过注释指定ip&#xff0c;都不支持cni Claim操作。 查了好久。发现是版本问题&#xff0c;我的calico版本太老了。是3.5的calico &#xff0c;使用 kubernetes 数据存储时&#xff0c;不支持 Calico IPAM。 需要更新calico到3.6以上&#xff0c;支持 kubernetes 数…

STM32--HAL库定时器学习记录(易懂)--持续学习

一、什么是定时器 定时器就是计数器&#xff0c;通过计数完成一系列功能。 二、定时器的分类 定时器分为基本定时器、通用定时器、高级定时器。级别不同&#xff0c;功能不同。级别越高&#xff0c;功能越强。 三、定时器&#xff08;计数器&#xff09;三个重要寄存器 预分…

Python算法题集_反转链表

Python算法题集_反转链表 题41&#xff1a;反转链表1. 示例说明2. 题目解析- 题意分解- 优化思路- 测量工具 3. 代码展开1) 标准求解【列表反转】2) 改进版一【直接赋值】3) 改进版二【递归大法】 4. 最优算法 本文为Python算法题集之一的代码示例 题41&#xff1a;反转链表 …

ChatGPT~免费攻略【2024新春福利】

ChatGPT能干什么&#xff1f; 这个问题我也不好回答&#xff0c;于是看看ChatGPT怎么回答的如下图 从回答上看还是很抽象&#xff0c;不够具体。但能确定的是语言方面的理解和回答。当然也许是问题也太抽象了。 我们试试再具体的问题“如何才能学习到鸿蒙系统性开发技术” 换…

111.乐理基础-五线谱-五线谱的节奏型、打拍子

内容参考于&#xff1a;三分钟音乐社 上一个内容&#xff1a;110.乐理基础-五线谱-五线谱的速度-CSDN博客 首先必须先看 打拍子 这些东西 简谱里的节奏型总结图&#xff1a; 换成五线谱的节奏型&#xff1a;简谱里会把两个八分音符用根横线连起来&#xff0c;所以五线谱里也…

2,cdc放缩位图

类似地&#xff0c;用pDC->StretchBlt来缩放&#xff0c;只是加上了两个参数&#xff0c;原始位图的宽高。 void CMy1_showbitmapView::StretchBitMap(CDC * pDC) { //CBitmap对象 CBitmap bitmap; //CDC对象 CDC dcMemory; //加载资源 bitmap.LoadBitmapW(IDB_BITMAP1); /…

Linux 线程与pthread库

Linux线程与pthread库 1. 线程和pthread库2. 线程的终止与退出3. 为什么需要线程库&#xff1f;4. 虚拟地址空间与线程库 在Linux系统中&#xff0c;线程控制是多任务编程的核心&#xff0c;而POSIX线程库&#xff08;pthread库&#xff09;则是应用层的原生线程库&#xff0c;…

【Zookeeper】what is Zookeeper?

官网地址&#xff1a;https://zookeeper.apache.org/https://zookeeper.apache.org/ 以下来自官网的介绍 ZooKeeper is a centralized service for maintaining configuration information, naming, providing distributed synchronization, and providing group services. A…