锐单电子商城 , 一站式电子元器件采购平台!
  • 电话:400-990-0325

数字电路前置知识

时间:2022-09-15 11:30:00 互补晶体管二极管逻辑电路300前置连接器392

数字电路前置知识

一、前言

写这篇文章的原因是数字电路这是我大一时最大的恶魔,因为学校没有开设这门课程。我自己找书。我觉得很难自学。在线课程也是模拟电路作为一种预先知识,还有一些物理和化学原理的描述。所以我在大一的业余时间和这门学科打架。当然,结果是我最终还是不会。我甚至尝试了单片机,但我觉得我学得不够透彻。

我很幸运得到了华中科技大学课程组康华光先生写的电子技术基础。这本书写得很清楚。如果我得到了宝藏,我仍然受到我自己知识的限制。我不能只读一遍就知道它的意思。然而,为了考虑后续的学习,让我们暂时记住我所学的知识,因为这只是预览,所以可能有一些知识不准确甚至不正确

这篇文章有两个目的,第一个是构建有层次的电子设计系统,第二个是记忆层次记忆代表组件,因此,定性主观描述会更多,定量客观的东西会更少,这也是本文的最后缺陷。


二、开关电路和门电路

2.1 联系

开关电路是最底层电子系统的组成部分被称为开关电路,因为它是最基本的组成部分,无论是三极管还是MOS管,都是充当电开关是的,是跟随机械开关类似的东西。

为什么开关可以组成与门、非门,或门等待基本逻辑单元,这里强调一个高中物理错误,在讲与门实现时,就是用一根导线串联两个开关来描述与门,这让我总觉得开关和输出共用一套电路实际上是驱动开关的错误想法输入电路,另一个电路驱动输出,也就是说,一个非门有两个电路,这就是为什么开关可以形成门电路的根本原因。因为它不是一个电路,它可以反转电压,但它不是电压由低变高,但放弃了低压电路,换成高压电路。门电路也应遵守能量守恒

2.2 门电路分类

根据制造门电路晶体不同的电路可以分类,如由MOS管构成的CMOS电路(互补MOS电路)NMOS电路PMOS电路,由三极管(BJT,Bipolar Junction Transistor)构成的TTLECL。以前大部分电路都是用的TTL,但随着制造工艺的提高,CMOS电路成为主流。但需要注意的是,它是不同的晶体管门电路没有功能差异,主要表现在供电电压、功耗等方面。

对于MOS管,分为网极、漏极、源极。源极接地,源极接电源,门极控制开关。

2.3 CMOS电路举例

2.3.1 反相器(inverter)

反相器是组成CMOS电路基本单元电路之一(另一个是传输门),其实就是非门,具体工作原理很简单,但再次强调,门电路不仅有输入输出,还有供电电路

2.3.2 传输门

传输门又称(TG,Transmission Gate),它有两个引脚 C C C C ˉ \bar C Cˉ ,可用于控制输入和输出之间断开导通,其实是更高级的电开关。当我们又了反相器传输门以后,他们可以用它们来构建所有类型的门电路(从离散数学中,只需要构建几个连接词就足够了)。

2.3.3 其他门电路

MOS管道可直接结构与非门或非门,离散数学告诉我们这两个联系词单独都能构成逻辑联结词最小完全集,所以所有的逻辑操作都可以这样构建,但从电路图可以看出,实现有些复杂,可能会被抛弃。

2.4 输入输出结构

2.4.1 保护和缓冲电路

使用前输入电路悬空是的,只要外界有很小的静电源,就会在输入端积累电荷,击穿栅极。CMOS都增加了保护电路。接入保护电路二极管静电保护,目的是释放输入引脚上的静电荷。

当逻辑门电路的输入端数量不同或负载门数量不同时,其输入和输出特性也不同,这将给电路设计带来麻烦,并要求输出端具有一定的驱动能力。CMOS反相器常用作逻辑门的输入和输出缓冲电路。因为这些缓冲电路有统一的参数,由于内部逻辑不同,集成逻辑门电路的输入输出特性不会发生变化。

2.4.2 漏级开路门

漏级开路门(open drain,OD)。在工程实践中,有时需要并联实现两门的输出端称为功能线与,或者用于驱动大电流负载,或者实现逻辑电平转换。这会产生很大的电流,有可能导致器件的损坏,并且无法确定输出的是高电平还是低电平,这一问题可以由OD门解决。

OD具体原理可能是搭配上拉电阻,使得原来的大电流减小并且漏级开路(开路是指电流为零或阻抗值很大的情况)。除了实现线与外,OD还可以用于驱动发光二极管逻辑电平变换,如将3.3 V 转换为 5 V。

2.4.3 三态输出门

利用OD虽然门可以实现线与线的功能,但外部电阻的选择受到一定程度的限制,从而影响工作速度。人们开发了另一种三态输出门电路,门电路的两种状态外,门电路的输出还具有高输出阻抗的第三种状态,称为高阻态。又称为禁止态,对应电路中开路的情况。

​ 三态输出门有三个引脚,输入,输出,使能EN,只有当使能端有效时(有的是高电平,有的是低电平),输出端才等于输入端。当使能端无效时,输出端会呈现高阻态(跟D存器有一定区别)。

​ 三态输出门主要用于总线传输,如计算机或微处理器系统,多个门电路都并联到总线上。任何时刻只有一个门电路使能端有效,而其他电路处于高阻态,这样就可以按一定顺序将各个门电路的输出信号分时送到总线上。

2.4.5 两种电压

V c c V_{cc} Vcc 是指 Circuit电路的供电电压,是比较大的,虽然 cc 的意思不是 curcuit,但是这样方便记忆。

V d d V_{dd} Vdd 是指device,即器件内部电压,又被称为芯片工作电压。一般有 V c c > V d d V_{cc}>V_{dd} Vcc>Vdd​ 。


三、组合电路

3.1 组合电路和时序电路

​ 对于一个逻辑电路,其输出状态在任何时刻只取决于同一时刻的输入状态,而与电路原来的状态无关,这种电路被定义为组合逻辑电路

​ 对于一个逻辑电路,再任一时刻的输出信号不仅与当时的输入信号有关,而且与电路的原状态有关,这样的电路被定义为时序逻辑电路

3.2 竞争-冒险

​ 由于不同路径上门的级数不同,信号经过不同的路径传输的时间不同,或者门的级数相同,而各个门的延迟时间的差异,也会造成传输时间的不同。

​ 由于上述原因,一个逻辑门的两个输入端的信号同时向相反的方向变化,而变化的时间有差异的表现,称为竞争,由竞争而可能产生的输出干扰脉冲的现象称为冒险

3.3 经典组合电路

3.3.1 编码器

​ 用一个二进制代码表示特定含义的信息称为编码。具有编码功能的逻辑电路称为编码器。即由 n → 2 n n\rightarrow 2^n n2n​​ 的过程,但是总体看下来,也是n位输入,对应少于或等于n位的输出,用到的也是逐位表示逻辑函数,进而用门电路实现。

键盘输入逻辑电路就是由译码器组成的。

3.3.2 译码器

​ 功能是将具有特定含义的二进制码转换为对应的输出信号。译码器可分为两种,一种是将一系列代码转成与之一一对应的有效信号,这种译码器可称为二进制译码器或者唯一地址译码器,它常用与计算机中对存储器单元地址的译码。另一种是将一种代码转化成另一种代码,也称为代码变换器

3.3.3 数据分配器

​ 数据分配是将公共数据线上的数据根据需要送到不同的通路上,实现数据分配功能的逻辑电路称为数据分配器,他的作用相当于多个输出的单刀多掷开关。数据分配器可以由译码器改造形成。

​ 数据分配器用途较多,它可以将一台PC机与多台外部设备连接,使计算机的数据分送到外部设备中。还可以与计数器组合成脉冲分配器。

3.3.4 数据选择器

​ 数据选择器(MUX)是数据分配器的反面,相当于多个输入的单刀多掷开关。

​ 组成数据选择器的基本单元是2选1数据选择器,其他的数据选择器是由这个基本单元多层次组合形成的。构造的方式是利用函数表达式,较为简单。

​ 数据选择器是构成FGPA现场可编程门阵列,可以理解为一种高集成化的可编程芯片)器件内部查找表(LUT)的基本单元,LUT的实质是一个小规模的存储器,原来数据选择器的数据输入端(不是选择输入端)连接到存储单元上,这样在存储单元不变的情况下,数据选择器的输出就只跟选择输入端有关了,可以用这种特性构造复杂的逻辑函数(通过修改存储器的值),这也是FGPA可编程的原因。

3.3.5 数值比较器

​ 首先我们需要了解1位数值比较器,他是构成多位数值比较器的基础,他具有三个输出,分别表示大于、小于、等于。实现的方法还是简单的逻辑运算。

3.3.6 算数运算电路

3.3.6.1 半加器与全加器

​ 如果只考虑两个加数本身,而没有考虑低位进位的加法器,它具有两个输出端,一个输出端 S 表示当前位的结果,输出端 C 表示是否进位。

​ 全加器能进行被加数、加数和来自低位的进位信号的相加,也就是说,他比半加器多一个输入端。

3.3.6.2 多位数加法器

​ 多位数加法器分为串行进位加法器超前进位加法器,串行进位加法器的电路设计就是比较自然的那种,但是因为是串联,导致计算的结果较慢。超前进位加法器引入了两个新的变量,用来减少串联程度,但是相应的,加法器本身变得更加复杂。

3.3.6.3 减法器

​ 我们先来解释补码的第一次应用,就是在构造无符号正数减法器的时候,因为减法并没有交换律,所以用补码结合溢出就可以避开这个漏洞。所以我们在构造减法器的时候将输入端都连上非门就可以了。

​ 但是这并不能解释为啥有符号数的储存要用补码,这是补码的第二次应用(一定要将这两次应用分开),为什么要这样处理呢?因为对于加法来说,加上负数相当于减法,那么提前用补码储存,就可以达到在原本为无符号正数准备的加法器上应用,对于减法,减去负数相当于加上正数,那么刚好可以借助原本为无符号正数准备的减法器前面的非门将补码转换为原码(这是因为原码补码的补码就是原码),所以有符号数要用补码的原因总结下来就是为了适应无符号的算数运算电路

3.4 可编程逻辑器件

可编程逻辑器件(programmable logic device,PLD)是一种可以由用户定义和设置逻辑功能的器件,该类器件具有逻辑功能实现灵活,集成度高,处理速度快和可靠性高的特点。我认为,这个概念的关键在于可编程,也就是说他不是完全的,而是有设计思想在里面的。

​ 按照PLD的结构体系可以进行分类,可分为简单PLD(如PAL,GAL)和复杂PLD(如CPLD,FPGA)。

​ 因为可编程的设计概念,所以阵列的概念显得尤为重要,他是用户自主设计的基础。

​ 通过这几天的体验,给我感觉PLD是跟单片机差不多的东西,在我使用ISE的时候,他总是让我先选择一个FPGA,然后最后当我完成编程以后,是要将程序“烧录”到一个芯片上的,所以可能这就是PLD的意义吧。


四、时序电路

4.1 前言

​ 时序电路的标志就是锁存器触发器的应用。不同的锁存器和触发器是按照功能特性划分的,也就是说,有很多种实现JK触发器的方法,不要以为这些单元具有固定的电路实现

​ 如果说组合电路的数学原理是布尔代数,那么时序电路的数学基础就是有限状态自动机。同样,我们会开发出类似于真值表一样的直观工具,如状态表来描述其中的数学。

4.2 锁存器

4.2.1 SR 锁存器

​ S 是 set 的意思,R 是 reset 的意思,输出端是 Q,据说是因为原本要用 O ,即 output,但是与 0 难以区分,所以改为了 Q。

​ 当 S,R 均为 0 的时候,实现的是保持功能,当 S 为 0 ,R 为 1 的时候,实现的是置 0 操作,当 S 为 1 ,R 为 0 的时候,实现的是置 1操作。当两者均为 1 的时候,处于非定义状态,属于非法操作。

门控 SR 锁存器是输入端加入一个使能端,这样当 E 为 0 的时候,无论 SR 怎样变化,都是保持功能。

​ SR 锁存器可用于机械键盘消抖。

4.2.2 D 锁存器

​ 据说取名为 D 是 Data 之意,D 锁存器具有两个输入端,一个是 D ,另一个是 E。只有当 E 为 1 的时候,输出只与 D 有关,当 E 为 0 的时候,取保持功能。也就是相较于 SR 锁存器,没有未定义状态

​ D 锁存器分为传输门控 D 锁存器逻辑门控 D 锁存器传输门控 D 锁存器是有传输门充当重要组成部分。逻辑门控 D 锁存器是由 SR 锁存器改造而来,前者因为电路结构简单,在芯片中占用面积小而备受青睐。

4.3 触发器(FF,flip-flop)

4.3.1 主从 D 触发器

​ 由两个 D 锁存器串联形成,为什么这样就可以达到对边沿敏感的效果。这是因为数据的传导可以分为两个部分,一个是数据的变化,一个是将变化的数据传导下去。我之所觉得对边沿敏感这么不可思议,是因为所有的门电路都不具有这个特性,所以为啥组合起来就可以,这就是因为我提到的这两个部分。

​ D 锁存器的使能端 E 分别被连在时钟信号上,而且是相反连接的,也就是说,当第一个锁存器(主锁存器)是可以更改的时候,第二个锁存器(从锁存器)是不可以更改的,当第二个锁存器是可以更改的时候,第一个锁存器是不可以更改的。当主锁存器由可更改的变为不可更改的时刻,刚好从锁存器由不可更改变为可更改,所以从锁存器会变为主锁存器最后一刻的那个数据,而因为此后主锁存器不可更改,所以即使从锁存器可以更改,也没有发生实质性的更改。也就是说,主锁存器负责数据的变化,从锁存器负责将数据传导下去。

4.3.2 JK 触发器

​ 用 D 触发器可以构造 JK 触发器,还可以利用传输延迟构造,但是具体的东西我并没有掌握。JK 触发器可以在的命名好像是按照字典序命名的,并不具有实际意义。

​ JK触发器是功能强大的触发器,当时钟边沿的时候,可以实现置1,置0,翻转,保持四种操作,分别对应 J 和 K 的四种编码。

4.3.3 T 触发器

​ T 是因为 toggle切换之意, T 触发器是一个只有两个输入端的触发器,当 T 为 1 的时候,时钟信号每来一次,状态就翻转一次,当 T 为 0 的时候,就不进行翻转。

T ′ T^\prime T 触发器就是 T 端恒为高电平的 T 触发器。

4.4 基本结构

​ 时序电路由激励组合电路(激励就是驱动的意思)和存储电路组成,当输出结果取决于激励组合电路和存储电路两者时,这个电路被称为米利(Mealy)型电路,而当输出结果只取决于存储电路所保存的状态信号的时候,电路被称为穆尔(Moor)型电路。在现代高速时序的电路设计下,一般尽量采用穆尔型电路结构,以利于后续高速电路的同步(方便形成流水线)。在米利型电路的输出端加一级存储电路,构成**“流水线输出”**的形式,就可以将其转换为穆尔型。

​ 为描述时序电路,我们需要三个基本的方程组,分别为激励方程组(用于输入输入信号,输出存储器输入信号),转换方程组输出方程组,激励方程组和输出方程组描述了时序电路中全部组合电路的特性,转化方程组表达了存储电路由现态次态的状态转换特性。

​ 时序电路是状态依赖的,故又称为状态机(State Machine,SM),有限数量的存储单元构成的状态机,因而其状态数也是有限的,称为有限状态机(Finite State Machine,FSM)。

4.5 典型时序电路

4.5.1 寄存器

​ 寄存器是数字系统中用来存储二进制数据的逻辑部件。一个触发器可存储 1 位二进制数据,也就是说,寄存器是脉冲边沿敏感电路

​ 不用锁存器的原因是触发器可以同时更新状态,而且具有更好的抗干扰性。

移位寄存器(shifter)就是将原来的输出接向输入,这样就可以实现移位功能。关于移位,我想在这里多解释一下,我们知道移位大概有三种主要形式:逻辑移位、算数移位、循环移位,其中逻辑移位就是空位补零,循环移位也很好理解。

​ 对于算数移位,算数左移逻辑左移相同,但是算数右移对于左侧空出的位,补得是与最左位相同的值,比如 -5 的二进制编码是 1011,那么左移一位完了就是1101, 3的二进制编码是 0011, 那么右移完了就是 0001 ,为什么会这么设置呢?是因为这样是符合算数规律的,比如 1101 (补码)的十进制就是 -3,刚好是 -5/2 = -2.5 向下取整的结果,这是为什么呢,我们只证明右移一位的情况,然后用数学归纳法来证明右移多位的情形,对于一个四位的负数,比如他是 abcd(二进制补码),那么它其实就是
− a ⋅ 2 3 + b ⋅ 2 2 + c ⋅ 2 1 + d ⋅ 2 0 -a\cdot 2^3 +b\cdot 2^2 + c\cdot 2^1 + d\cdot 2^0 a23+b22+c21+d20
​ 当进行完移位以后,就是
− a ⋅ 2 3 + a ⋅ 2 2 + b ⋅ 2 1 + c ⋅ 2 0 = − a ⋅ 2 2 + b ⋅ 2 1 + c ⋅ 2 0 -a\cdot 2^3 +a\cdot 2^2 + b\cdot 2^1 + c\cdot 2^0 = -a\cdot 2^2 + b\cdot 2^1 + c\cdot 2^0 a23+a22+b21+c20=a22+b21+c20
​ 当直接在十进制下除以2(整数除法),得到的结果是这样的
( − a ⋅ 2 3 + b ⋅ 2 2 + c ⋅ 2 1 + d ⋅ 2 0 ) / 2 = − a ⋅ 2 2 + b ⋅ 2 1 + c ⋅ 2 0 (-a\cdot 2^3 +b\cdot 2^2 + c\cdot 2^1 + d\cdot 2^0)/2 = -a\cdot 2^2 + b\cdot 2^1 + c\cdot 2^0 (a23+b22+c21+d20)/2=a22+b21+c20
​ 两者刚好相同。

4.5.2 计数器


五、半导体存储器

5.1 只读存储器(ROM)

5.1.1 实现结构

​ ROM是一种永久性数据存储器,其中的数据一般由专门的装置写入,数据一旦写入,不能随意改写,在切断电源以后,数据也不会消失。

​ ROM是由二极管或者三极管组成的,电路实现很是简单。通常存储单元排列成矩阵,并按一定位数进行排组(就是一维数组组成二维数组),每次读出一组数据,这里的组称为word,一串数码作为一个整体来处理或运算的,称为一个计算机字,简称字),一个字里所含的位数称为字长(计算的字长是指它一次可处理的二进制数字的数目。计算机处理数据的速率,自然和它一次能加工的位数以及进行运算的快慢有关),而字节(byte)是指一小组相邻的二进制数码。通常是8位作为一个字节。它是构成信息的一个小单位,并作为一个整体来参加操作。

​ 为了区别不同的字,给每个字赋予一个编号,称为地址,构成字的存储单元也称为地址单元。地址译码器将输入的地址代码译码成相应的地址信号,从存储矩阵中选出相应的存储单元,并将其中的数据送到输出控制信号。

5.1.2 分类

5.1.2.1 固定ROM

固定ROM又称掩模ROM,只有器件制造厂商在制造时,利用掩模技术把数据写入存储器中,其中存储的数据就不会发生改变了。

5.1.2.2 可编程ROM

​ 可编程ROM(PROM)又分为一次可编程ROM(利用金属熔丝实现)、光可擦出ROM(Erasable PROM,即EPROM,利用紫外线照射实现)、电可擦出ROM(即electric erasable PROM,即 E 2 P R O M E^2PROM E2PROM ,利用的是电擦除,可修改次数多,但是元电路复杂,集成度较低),快闪存储器(Flash Memory,集成度较高,结合了ROM和RAM的长处,不仅具备电子可擦除可编程(EEPROM)的性能,还不会断电丢失数据同时可以快速读取数据(NVRAM的优势),U盘和MP3里用的就是这种存储器。)。

5.2 随机存取存储器(RAM)

5.2.1 总论

​ RAM最大的优点是可以随时快速地从任一地址读出(取出)或写入(存入)数据,但是一旦电源失去供电,所存的数据会立即丢失。

5.2.2 静态RAM

静态RAM(SRAM)是由存储器构成的,所以用于时序电路。SRAM速度非常快,是目前读写最快的存储设备,但是它也非常昂贵,所以只在要求很苛刻的地方使用,譬如CPU的一级缓冲(即cache),二级缓冲。但是相应的,其用到的管子数目多,功耗大,集成度受到了限制。

5.2.3 动态RAM

​ 动态RAM(DRAM)利用电容器的存储效应来存储数据,因为漏电流的存在,电容器上存储的电荷不能长久保存,所以要给电容定期补充电荷,这个操作被称为刷新

​ DRAM保留数据的时间很短,速度也比SRAM慢,不过它还是比任何的ROM都要快,但从价格上来说DRAM相比SRAM要便宜很多,计算机内存就是DRAM的。RAM价格相比ROM和FLASH要高。

5.3 关系(存疑)

​ ROM属于内存,内存分ROM(只读存储器)和RAM(随机存储器)两部分,ROM只是很小一部分,ROM有一段程序,用来启动电脑的,计算机通电后,ROM里程序启动,进行必要的硬件检测后,寻找DOS,找到DOS后将DOS装入内存,将控制权交给DOS,结束自己的使命。ROM是只读的,正常运行中不能写入数据,除非用特殊的手段。早期的ROM是完全不能写的,后来为了适应硬件的发展,ROM可以用紫外线擦除重写,现在的ROM可以用专用软件重写,但也带来了被病毒攻击的可能。ROM在断电后也不会丢失。RAM是随机的,断电后会丢失。

​ 早期,乃至现在,我们的主要存储介质都是磁性存储,也就是磁盘,分成硬盘软盘两种,硬盘不太适合做移动存储(就是手机的意思),因为我们知道硬盘磁头容易损失,不耐摔,而且体积较大,就算是缩小容量仍然很难缩小其体积,软盘容量过于小,不够用,而光盘虽然容量大但不易擦写,同时体积也不够小,这时就适合使用半导体存储介质——ROM和RAM,RAM断电丢失数据,但是读写速度快,多用作电脑手机内存,ROM用来嵌入电脑主板或者做移动存储介质(相当于代替了原来的外存磁盘)就很合适了,其体积够小,提供的容量可以比光盘和软盘的大,速度也更优,但缺点是成本更高,而早期的ROM因为技术不成熟所以无法擦写,出厂后就只能读数据,所以叫只读存储器,后来随着技术的发展,在ROM的基础上出现了新的半导体存储介质EPROMEEPROM,这两种可擦写,这就不符合ROM的命名,但是由于是在ROM的技术上衍变出来的,所以延用了一部分原来的叫法,此时非易失的半导体存储介质开始得以广泛应用,被大量用于电脑主板的bios(是一组被固化到电脑中,为电脑提供最低级最直接的硬件控制的程序,它是连通软件程序和硬件设备之间的枢纽,也就是说在电脑中,还是不能取代外存的作用)和嵌入式存储,而后来在这两种技术的发展上又发展出了NAND FLASH闪存,这就是我们现在用的U盘中用到的技术,同样,因为其体积小,容量和速度均不错,现在手机存储中的emmc颗粒也是用的这种技术,所以有手机厂商就把手机的存储容量约定俗成为ROM,其继承了ROM断电不丢失数据的特性,而且有着更快的速度。

​ 硬盘分为两种,一种是机械硬盘(即磁盘HDD),一种是固态硬盘(SSD),磁盘和ROM没什么关系,但是固态硬盘就不一样了,固态硬盘用到的颗粒也是基于NAND FLASH技术,和u盘以及手机存储有点相似,所以说硬盘和ROM还是有关系的,固态硬盘的储存颗粒是ROM技术发展的产物,但不能说ROM就是硬盘。

锐单商城拥有海量元器件数据手册IC替代型号,打造电子元器件IC百科大全!

相关文章