【硬件】嵌入式电子设计基础之数字电路

news2025/1/18 8:48:10

数字电路与模拟电路的设计思想和应用方法有许多不同之处。

计算器是一个典型的由数字电路实现的电子设备,用户通过数字或符号摁键输入运算式,计算器经过运算之后把结果显示在屏幕上。现代数学电子学始于1946年,其标志是一台以电子管为核心器件的数字计算机(ENIAC)的诞生。虽然这台庞大的机器需要一整间屋子才能装的下,但它的计算能力还比不上现在的任何一台计算器。

比计算器更亲切的数字设备还有计算机、手机、MP3播放器、数码相机、U盘等一切数码产品。数码产品中的主要的器件都属于数字电路的范畴。今天,其实数字电路比模拟电路距离我们更近。

文章目录

数制与编码

逻辑门 

与门、或门、非门

与非门和或非门 

逻辑门集成电路 

逻辑电路的分析

布尔代数及运算规则

用布尔代数分析逻辑电路

用布尔表达式描述真值表

组合逻辑的功能器件

与或门

加法器

比较器

译码器和编码器

翻转与计数

锁存器与触发器

计数器


数制与编码

1和0代表了数字电路的两种状态。在数字电路中除了二进制外,还常常会涉及到十六进制。和十进制的进位原理一样,十六进制每逢16向高位进1。BCD(binary coded decimal)二进制编码的十进制数。下图是几种常用数制的比照表,从中可以看到它们是如何相互换算的。

公交汽车上或车站里的一些LED大屏幕以及手机等数码产品的液晶屏所显示的图形、文字都是通过点阵来实现的。如果把这些点阵放大,就会清楚地看到每一个点,如下图所示,MP3播放机液晶屏上的英文字母A为5*7点阵,即A由5列7行的点阵信息组成。用1表示点亮,用0表示熄灭。如下图所示,这个二进制编码代表了显示信息-字母A,其他文字或者图形也都可以用类似的方法进行编码。而这些二进制编码可以用代表高电平、低电平的1和0存储在MP3的存储器中,经转换后成为液晶屏上的显示信息。

逻辑门 

逻辑门(logic gate)是数字电路的基本单元,一个逻辑门有一个输出端和一个或多个输入端。输出端只有1或0两种状态。或者说只有高电平或低电平两种状态,这取决于输入信号和逻辑门功能。逻辑门可进行与、或、非等逻辑运算,对应的也就有与门、或门、非门等基础逻辑门和组合逻辑电路。

与门、或门、非门

与门(AND gate,电路符号)有两个或两个以上输入端和一个输出端,如下图所示,A、B为与门的输入端,Y为输出端。只有当所有输入端为1时,输出才为1。只要有任何一个输入端为0,输出就为0。这个关系可以用表达式Y=AB来表示---输出A、B相乘得到输出Y。

非门(NOT gate、inverter电路符号) 有一个输入端A和输入端Y,如下图所示。其逻辑功能非常简单,把输入信号做非运算(取反)后输出:A=1时,Y=0;A=0时,Y=1。

或门(OR gate,电路符号)有两个或三个输入端和一个输出端,如下图所示,只要输入端A或B有一个为1,输出Y就为1.或门做的是或运算,类似加法:Y=A+B。

与非门和或非门 

与非门(NAND gate,电路符号)是在与门的基础上做一个非运算,在电路符号的输出端用一个泡泡来表示。下图展示了与非门的逻辑表达式以及真值表。

或非门(NOR gate,电路符号)是在或门的基础上做一个非运算,也在电路符号的输出端用一个泡泡来表示,下图是或非门的运算表达式、真值表。

逻辑门集成电路 

下图是一个或非门的集成电路器件结构和型号。他在一个芯片内集成了四个或非门。

目前有3种数字集成电路技术可用于实现逻辑门器件的制造,分别是TTL、CMOS、ECL。刚才谈到的各种与门、或门等逻辑功能在用不同的集成电路技术制造出的器件中相同,比如说与门的逻辑功能是进行与运算,无论使用TTL或CMOS技术实现的与门集成电路,功能是完全相同的。由于ECL在特殊场合才会用到,所以后边我们只介绍一下TTL和CMOS这两种集成电路技术。

TTL—Transistor-Transistor Logic( 三极管-三极管逻辑),TTL电路以双极型晶体管(三极管)为开关元件,所以又称双极型集成电路。双极型数字集成电路是利用电子和空穴两种不同极性的载流子进行电传导的器件。它具有速度高(开关速度快)、驱动能力强等优点,但其功耗较大,集成度相对较低。根据应用领域的不同,它分为54系列和74系列,前者为军品,一般工业设备和消费类电子产品多用后者。

CMOS—Complementary Metal-Oxide Semiconductor(互补型金属氧化物半导体晶体管),CMOS电路是由绝缘场效应晶体管组成,由于只有一种载流子,因而是一种单极型晶体管集成电路。它的主要优点是输入阻抗高、功耗低、抗干扰能力强且适合大规模集成。特别是其主导产品CMOS集成电路有着特殊的优点,如静态功耗几乎为零,输出逻辑电平可为VDD或VSS,上升和下降时间处于同数量级等,因而CMOS集成电路产品已成为集成电路的主流之一。其品种包括4000系列的CMOS电路以及74系列的高速CMOS电路。          

逻辑电路的分析

1854年,George Boole发表了题为《一个关于思想的研究,从中发现的逻辑和概率的数学理论》的研究报告,其中提出的逻辑代数便是今天为人熟知的布尔代数。在对逻辑电路进行表述和分析时,布尔代数是一个方便而系统的工具。

布尔代数及运算规则

布尔加法与或运算是相同的,下图表征了布尔加法的四种情况。

布尔乘法与上面提到的与运算时相同的,下面表征了布尔乘法的四种情况。

就像普通的数学运算有一些成熟的法则可用于简化过程一样,布尔代数也有类似的运算法则供计算时使用,如下图所示。

除了以上布尔代数运算法则外,常常还会用到下图所示的规则对布尔表达式进行操作和简化。

用布尔代数分析逻辑电路

布尔代数只用一个简明的表达式就可以表示逻辑门组合逻辑电路。所有的布尔表达式都可以化成两种标准的表达式,一种是积的和,另一种是和的积。将非标准形式的表达式化成标准形式更易于对系统进行分析。

积的和(SOP)标准形式就是形如:Y=AB+BCD+AC的布尔表达式,先让变量相乘,然后再求和。体现在逻辑电路上就是先完成与操作,再进行或操作。下图为一个积的和例子。

和的积(POS)标准形式是形如Y=(A+B)(B+C+D)(A+C)的布尔表达式,先让变量相加,然后求积。体现在逻辑电路上就是先完成或操作,再进行与操作。下图为一个和的积例子。

用布尔表达式描述真值表

任何逻辑电路都可以用布尔表达式进行描述,而表达式经过化简化还可以反过来生成一个没有冗余的逻辑电路。布尔表达式与逻辑电路有很好的对应关系。此外,从布尔表达式,特别是最简表达式可以轻易构造一张真值表,只要把每种输入状态和对应的输出状态列在同一个表里就可以直观地了解逻辑电路的功能。下图是一个逻辑电路与其对应的真值表。

组合逻辑的功能器件

组合逻辑电路指由简单逻辑门组合形成并具有较复杂功能的数字逻辑电路。

与或门

与或门(AND-OR logic)由多个与门和一个或门构成,实现积的和运算。如下图所示是两个与门和一个或门组成的与或门,可得该与或门的表达式为:Y=AB+CD。图中还给出了对应的真值表。

加法器

加法器(adder)是一个应用广泛的器件,比如74LS83是一款常用的4位并行加法器,其管脚排布如下图所示,其中A_1A_2A_3A_4是一个4位输入,B_1B_2B_3B_4是另一个4位输入。C_0是进位输入端,可接收从上一级加法器送来的进位信号。C_4为本级加法器的进位信号输出端。\Sigma _1\Sigma _2\Sigma _3\Sigma _4是加法器的输出,求和结果由这四位输出。

比较器

在数字系统中,常常需要比较两个二进制数的大小,这时可以使用一个型号为74LS85的4位比较器(comparator)。如下图为该器件的管脚排布,它有A和B两个4位二进制数输入端,另外还提供3个级联输入端I_A>I_BI_A<I_BI_A=I_B(2、3、4管脚)。3个输出端O_A>O_BO_A<O_BO_A=O_B(5、6、7管脚)指示输入二进制的大小关系:如果A端二进制数>B端二进制数,O_A>O_B=1

译码器和编码器

译码器(decoder)的功能是检测输入端的二进制数,并在输出端对应位上唯一输出1或0.拿译码器74HC138来说,如下图所示,A_0A_1A_2是输入端,这3个位的状态(二进制数)决定了译码器输出端\overline{Y}_0-\overline{Y}_7中的某位输出为0。举例来说,假如输入为二进制101,即十进制的5,于是对应的\overline{Y}_5=0,其他输出端为1。74HC138的4、5、6管脚为使能端,只有当\overline{E}_1=0,\overline{E}_2=0,E_3=1时译码器工作,否则输出端全部为1。

翻转与计数

不管时简单的逻辑电路,还是具有组合逻辑功能的器件,它们的输入、输出与时间并没有太大关系。比如在任何时刻往加法器的两个输入端送入二进制数,输出端几乎同时得到运算结果。本章要介绍的时序电路时数字电路中的一个大类。这类电路某一时刻的输出状态,不仅与当前输入变量的状态有关,而且还与前一时刻的状态有关。一般来说,时序电路由组合逻辑电路和存储单元或反馈延迟电路组成。

锁存器与触发器

锁存器(latch)是一种双稳态器件,或者说是多谐振荡器(multivbrator)。下图为一个称为\overline{S}-\overline{R}锁存器结构,由两个与非门交叉耦合组成,\overline{S}\overline{R}是信号输入端,Q\overline{Q}为输出端,\overline{S}-\overline{R}锁存器中任意一个与非门的输出与另一个与非门的输入相连以形成负反馈,这是所有锁存器和触发器的特征所在。

锁存器的特点两个输入状态不同的时候会锁定输出的状态,也就是说在两者不同时确定的输出状态,不会因为两个输入状态变成一样而改变,利用这一特性,下图是\overline{S}-\overline{R}锁存器作为开关过滤器的应用。

与锁存器不同,边沿触发器多了一个时钟脉冲输入端,并只会在时钟脉冲的上升延或下降延中翻转。拿下图的边沿D型触发器(74HC74)为例,当置位端\overline{S}D和复位端\overline{R}D都等于1时为触发模式,此时输出Q将在时钟脉冲输入端CP出现上升沿时翻转置与输入端D相同状态。

触发器可以用于实现并行数据存储、分频器以及计数器。

计数器

由若干个触发器组成形成具有计数功能的电路称为计数器(counter)。计数器的计数位数等于触发器的个数。根据时钟信号的不同,计数器可分为异步(asynchronous)计数器和同步(synchronous)计数器两大类。异步计数器除第一级触发器使用外部时钟外,后续每个触发器的时钟信号使用的都是前一级的输出;而同步计数器中所有触发器公用一个外部时钟信号。

下图为利用两个J-K触发器组成的2位异步二进制计数器,该计数器的输出为Q_0Q_1。两个触发器的输入端J、K全部接1,外部时钟信号CLK只输入第一个触发器FF0,而第二个触发器FF1的时钟信号来自FF0的反向输出端\overline{Q}_0

分析类似计数器这一类的时序电路,常称表示输入、输出的波形为时序图。如下图所示为2位异步二进制计数器的时序图,图中最上方为外部时钟脉冲CLK,其下为各个输出端的波形。

下图所示为2位同步二进制计数器,其与异步计数器最大的不同在于各级触发器在统一的外部时钟脉冲信号CLK提供的时序下进行工作。J_0K_0接高电平,于是Q_0随着每个CLK脉冲进行高低电平的转换。

下图为2位同步二进制计数器的时序图。


十六宿舍 原创作品,转载必须标注原文链接。

©2023 Yang Li. All rights reserved.

欢迎关注 『十六宿舍』,大家喜欢的话,给个👍,更多关于嵌入式相关技术的内容持续更新中。

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

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

相关文章

奥地利博士联培申请签证经验(奥地利签证)

记录一下奥地利申请签证经验&#xff0c;供有需要的小伙伴借鉴&#xff1a; 我申请的是去克拉根福大学联合培养一年&#xff0c;正常的居留签证需要半年之久&#xff0c;但是如果有托管协议&#xff08;Hosting Agreement&#xff09;可以先申请D类签证&#xff0c;抵达奥地利再…

Shell脚本攻略:循环语句for

目录 一、理论 1.for循环 二、实验 1.实验一 2.实验二 3.实验三 4.实验四 5.实验五 6.实验六 7.实验七 一、理论 1.for循环 &#xff08;1&#xff09;for循环的常见三种用法 Ubuntu系统在6.10版本后默认使用dash环境&#xff1b; 而CentOS系统常见默认使用的是ba…

00后是真卷不过,工作没两年,跳槽到我们公司起薪22K都快接近我了

在程序员职场上&#xff0c;什么样的人最让人反感呢? 是技术不好的人吗?并不是。技术不好的同事&#xff0c;我们可以帮他。 是技术太强的人吗?也不是。技术很强的同事&#xff0c;可遇不可求&#xff0c;向他学习还来不及呢。 真正让人反感的&#xff0c;是技术平平&…

C++搜索二叉树

一、搜索二叉树概念 搜索二叉树是一种树形结构&#xff0c;常用于map当中。搜索二叉树严格遵守左小右大的规则 C语言中实现搜索二叉树有一些困难&#xff0c;并且在面对一些特定题目实现较困难。因此采用C的方式再次实现搜索二叉树 二、搜索二叉树的实现 插入 搜索二叉树在…

ASEMI代理长电可控硅BT136参数,BT136规格,BT136说明

编辑-Z 长电可控硅BT136参数&#xff1a; 型号&#xff1a;BT136 RMS通态电流IT(RMS)&#xff1a;6A 非重复浪涌峰值导通电流ITSM&#xff1a;25A 峰值栅极电流IGM&#xff1a;2A 平均栅极功耗PG(AV)&#xff1a;0.5W 存储接点温度范围Tstg&#xff1a;-40 to 150℃ 工…

Linux -- 进阶 Web服务器 搭建基于 https 协议的静态网站 ( 预备知识 )

概念引入 &#xff1a; 什么是 HTTPS ? HTTPS 协议背景 &#xff1f; >>> HTTP 协议 即 超文本传输协议 &#xff0c; 它出生的很早&#xff0c;在早期&#xff0c;网络服务的相关攻击呢&#xff0c;或者病毒啥的几乎没有&#xff0c;安全类的问 题也是少之又…

【SpringCloud】Gateway网关

文章目录 1、网关的作用2、搭建网关服务3、路由断言4、GatewayFilter5、全局过滤器6、过滤器的执行顺序7、限流过滤器8、跨域问题处理 1、网关的作用 服务就像一个景点&#xff0c;如果人人可以访问&#xff0c;不管是游客还是搞破坏的人都放进来&#xff0c;那一定出事。由此…

零基础去学习渗透,很难吗?

前言&#xff1a; 很多朋友问我&#xff0c;想搞网络安全&#xff0c;编程重要吗&#xff0c;选什么语言呢&#xff1f; 国内其实正经开设网络安全专业的学校很少&#xff0c;大部分同学是来自计算机科学、网络工程、软件工程专业的&#xff0c;甚至很多非计算机专业自学的。…

抖音seo源码开发|矩阵号排名|账号矩阵系统开发搭建

源码展示 抖音seo又叫抖音搜索引擎&#xff0c;只要能做到布词&#xff0c;和过去的百度seo优化一样&#xff0c;布词&#xff0c;布关键词&#xff0c;当搜索栏搜索时可以搜索到该短视频。优化视频关键词&#xff0c;做好关键词的优化&#xff0c;就能在别人抖音搜索栏搜索的时…

C++数据结构:Python风格双向链表Pylist的实现

文章目录 前言一、目的二、代码详解1、Node类模板2、Pylist类构造3、内嵌迭代器4、Python风格insert方法5、Python风格append方法6、Python风格[]下标操作方法7、Python风格、 方法8、Python风格pop方法9、Python风格remove方法10、length、get方法 三、使用示例总结原创文章&a…

算法基础学习笔记——⑨C++STL使用技巧

✨博主&#xff1a;命运之光 ✨专栏&#xff1a;算法基础学习 目录 ✨CSTL简介 ✨CSTL使用技巧 前言&#xff1a;算法学习笔记记录日常分享&#xff0c;需要的看哈O(∩_∩)O&#xff0c;感谢大家的支持&#xff01; ✨CSTL简介 vector变长数组&#xff0c;倍增的思想//系统为…

六级备考24天|CET-6|翻译技巧4-1|翻译红楼梦|22:40~23:40

目录 1 ANSWER 2 PRACTICE ANSWER ​ 3​ PRACTICE ANSWER 合并 ​ 全文翻译​ 1 ANSWER depict / dɪˈpɪkt / v.描述&#xff0c;描绘 第三人称单数 depicts 现在分词 depicting 过去式 depicted 过去分词 …

【C++】STL——反向迭代器的模拟实现:迭代器适配器

文章目录 前言1. list 的反向迭代器模拟实现2. 思考3. 库里面反向迭代器的实现——迭代器适配器4. 反向迭代器模拟实现的改进——适配器模式5. 适配器模式的实现——一劳永逸 前言 反向迭代器的使用相信大家都已经比较熟悉了&#xff0c;那我们这篇文章具体讲什么呢&#xff1f…

LAMP平台搭建

文章目录 LAMP概述安装apache安装mysql安装php LAMP概述 LAMP架构是目前成熟的企业网站应用模式之一&#xff0c;指的是协同工作的一整套系统和相关软件&#xff0c;能够提供动态Web站点服务及其应用开发环境。LAMP是一个缩写词&#xff0c;具体包括Linux操作系统、Apache网站…

HCIA-单点故障-Smart Link

目录 单点故障&#xff1a; 单设备”链路备份“方案 —— Smart Link Smart Link端口状态&#xff1a; Smart Link基础命令配置&#xff1a; 单设备”链路备份“方案 —— Smart Link案列实现 单设备”链路备份“方案 —— Monitor Link Monitor link组 Monitor link 的使用…

Zookeeper快速入门(Zookeeper概述、安装、集群安装、选举机制、命令行操作、节点类型、监听器原理)

1、Zookeeper入门 1.1 概述 Zookeeper是一个开源的分布式的&#xff0c;为分布式框架提供协调服务的Apache项目。 1、Zookeeper工作机制 Zookeeper从设置模式角度来理解&#xff1a;是一个基于观察者模式设计的分布式服务管理框架&#xff0c;它负责储存和管理大家都关心的数…

spring源码篇(八)事务的原理

文章目录 前言基本操作验证 Spring事务的传播机制特殊的机制说明NOT_SUPPORTEDNESTEDSUPPORTS 源码加载事务自动配置类要不要加注解&#xff1a;EnableTransactionManagement配置类说明 EnableTransactionManagement 做了什么AutoProxyRegistrar做了什么创建的代理类是jdk动态代…

UE DTDataTable 插件说明, 运行中操作CSV文件。

UDataTable的扩展对象&#xff0c;可以在Runtime模式下可以加载和保存CSV文件&#xff0c;并且可以进行数据的添加和删除&#xff0c;也可以使用系统DataTable的所有函数。 1. Create DT Data Table From CSV File 从CSV文件创建 DT Data Table 对象 File Path &#xff1a;文件…

MiniConda、CUDA、CUDnn以及pytorch环境的配置以及坑

文章目录 一、MiniConda安装、介绍1.1 Conda是什么&#xff1f;1.2 MiniConda是什么&#xff1f;1.3 安装方法1.4 Conda常用命令1.5 杂项 二、CUDA 以及 CUDnn三、Pytorch安装总结 首先需要说明一下&#xff0c;我想安装的是Pytorch GPU版&#xff0c;所以需要安装CUDA toolkit…

WPF 页面布局 DockPanel Grid StackPanel UniformGrid WrapPanel WPF布局入门 WPF布局资料

在布局常用的布局属性 HorizontalAlignment: 用于设置元素的水平位置VerticalAlignment: 用于设置元素的垂直位置 Margin: 指定元素与容器的边距 Height: 指定元素的高度 Width: 指定素的宽度 WinHeight/WinWidth: 指定元素的最小高度和宽度MaxHeight/MaxWidth: 指定元素的最大…