一、Combinational logic function 组合逻辑函数
1.Adder(加法器)
Half-Adder(半加器)
Full-Adder(全加器)
74LS283(4-bit parallel adders)
74LS283 4-bit parallel adders 8+1 input 4+1 output
carry look-ahead adder (超前进位加法器)
2.Comparator(比较器)
4-Bit Comparator
74HC85(4-bit Magnitude Comparator) 
74HC85 4-bit comparator 8+3input 3 output
8-Bit Comparator
3. Decoders (解码器)
2-bit decoder
二进制->十进制解码器
active-HIGH output:输入是最小项mi时,输出Yi=1,rest=0
active-LOW output:输入是最小项mi时,输出Yi=0,rest=1,下面的例子都是对应这种输出模式
2-bit decoder with EN
使能端控制电路是否工作,当E=0时电路工作,E=1时电路不工作
这里可以把使能端的输入理解为3-bit number MSB的输入,当E=1时,上面的decoder不工作,下面的decoder工作,对应就是1A1A0这一项,而E=0时,相反,对应0A1A0这一项
74HC154(4-bit decoder)
74HC154 4-bit decoder (binary->decimal) 4 input 15 output 2EN
74LS138(3-to-8 decoder/3线-8线译码器)
BCD-to-Decimal Decoder[74HC42]
74HC42: BCD->Decimal decoder 4 input 10 output Low-active
BCD-to-7-Segment Decoder [74LS47]
7-segment display 七段显示器
74LS47: BCD->7-segment display 4 input 7 output low-active
BI(blanking input)【灭灯输入】/RBO(ripple blanking output)【灭零输出】
LT(lamp test)
RBI(ripple blanking input)【灭零输入】
RBI决定灭不灭0,灭了0就影响RBO,BI与LT检查作用
4.Encoders(编码器)
Decimal-to-BCD Encoder
74HC147 (Decimal-to-BCD Priority Encoder)
74HC147:BCD->Decimal[priority] 9 input 4 output active low
74F148 (8 line to 3 line Encoder【priority】)
74F148: Decimal->Binary priority 8 input 3 output active low
EI:enable input 输入能使端 输入为0时电路不工作
EO:enable ouput 输出能使端 电路工作但无对应的输入 输出0
GS:gate strobe 门脉冲 电路工作有对应的输入 输出0
5.Code Converter (数码变换器)
BCD-to-Binary conversion
74186: BCD->binary converter 6 input 6output
Binary-to-Gray Conversion
6.Multiplexers (多路复用器/数据选择器)
1-of-4 multiplexer
74HC157A(four separate 2-input multiplexers)
74HC157A: S=0 select A S=1 select B
74HC151 (1-of-8 Multiplexer)
Multiplexer as Logic Function Generator
3-variable logic function:3input连接select input,output连接data input
4-variable logic function:3input连接select input,1input连接data input
7.Demultiplexer (多路分用器/数据分发器)
1-of-4 Demultiplexer
当数据0发到某一路时,所有输出都是0,但是我们无法区分哪一路分到了该数据
Decoder as Demultiplexer
8.Parity Generators/checkers (奇偶校验)
74LS280 (Parity Generator )
对于偶校验器,校验码看奇输出端;对于奇校验器,校验码看偶输出端
9input,其中一位是校验码,这个芯片既可以实现奇偶校验也能用来产生校验码
当输入有奇数个1时,Odd输出为1,输入有偶数个1时,Even输出为1
二、Latches 锁存器
学习完组合逻辑函数及器件后,接下来的学习会更加抽象,需要秉持冷静的心态,慢慢的消化要点,做到能记住每种器件的特点
S-R Latches(复位—置位锁存器)
具有两个或非门(高电平有效)或者两个与非门(低电平有效),S(set)表示置位,R(reset)表示复位,S、R都无效时(输出)Q的状态不改变,改变S使其有效时,Q=1;改变R使R其有效时,Q=0;
Gate Latches (门控锁存器)
门控锁存器就是在上面的S—R锁存器的基础上添加能使端EN,S、R与EN经过与非门输出,当EN=1时S、R才能发挥作用,值得注意的是在这样的锁存器中,S与R是高电平有效的
门控D锁存器,相当于用一个D替代了S和R,这个时候D=1的时候相当于S其作用,D=0时相当于R起作用
三、触发器 Flip-flops
3.1 Flip-flops(边缘触发的触发器)
触发器相比于锁存器,其特点是它的工作状态由时钟信号所决定,当遇到时钟信号的边缘时触发,其逻辑符号在左边有一个小三角和C的标志
触发器分为三种,S-R触发器、D触发器、J-K触发器,不要着急,我们慢慢看每一种触发器的特点
3.1.1 S-R Flip-flops
CLK表示时钟信号,↑表示正边缘(从低电平转高电平的时刻),↓表示负边缘(从高电平转低电平的时刻),这里的触发器是高电平有效的,与之前的锁存器相比,唯一区别是当遇到CLK边缘时S、R才起作用
3.1.2 D Flip-flops
同样的,但遇到clk边缘时发挥D锁存器的作用
3.1.3 J-K Flip-flops
J-K触发器可以按照S-R触发器来记忆,其主要特点就是允许J、K同时有效,这时能都改变输出状态(toggle 的意思 是切换),可以记忆要点:分析输出结果时只讨论边缘状态,其余状态都保持前一状态不变
通过连接-Q输出端和D输入端也能让D触发器实现toggle功能,原理很简单,当Q是1时,D是0 ,当遇到时钟边缘时,Q变为0
3.1.4 Asynchoronous Preset and Clear Inputs (异步预置和清除输入)
preset-PRE,Clear-CLR,这里的这两个额外的低电平有效输入端,其实简单理解就是在任意(非时钟边缘)时也能改变输出状态,当PRE=0时,set,CLR=0,reset
3.2 Master-Slave Flip-flops(主从触发器)
master-主人,slave-奴隶,这个触发器就是两个J-K触发器相连接,当脉冲上升时输入数据,在脉冲下降时将其输出
3.3 Flip-Flop Operating Characteristics(触发器运算特点)
评估触发器的运算性能,我们可以从以下特性分析:
Propagation delay time (传播延时) Set-up time (设置时间) Hold time (占用时间) Maximum clock frequency (最大时钟频率) Pulse width (脉冲宽度) Power dissipation (功耗)
3.3.1 Propagation Delay Time(传递延迟时间)
从遇到时钟边缘,到输出发生转换,存在一个时间延迟,通过clock上升(下降)脉冲的中点到Q转换边的中点时间间距来测定,此外可通过PRE引起的时间延迟来测定
3.3.2 Set-up Time and Hold Time
Set-up Time指的是遇到CLK边缘时输入数据提前存在的最小时间
Hold Time指的是碰到CLK边缘后输出数据保持的最小时间
3.3.3 power dissipation(消耗功率)
消耗功率P=U(供应电压)I(平均电流)
通常可以通过speed-power product 来衡量逻辑器件的性能高低:计算公式为消耗功率乘传递延迟时间,乘积越小性能越好
3.4 Flip-Flop Applications(触发器应用)
3.5 A Schimitt Trigger (施密特触发器)
施密特触发器极为抽象,想要搞懂其电路原理真的不简单(吐血),我们暂时不管原理,看看应用。
之前我们看的输入输出都是规则的0-1脉冲,但在这里谈论的输入电压通常是高低起伏变化的,这点需要注意,分为两种触发器,一种是同相输出一种是反向输出
其特点有两个阈值电压,高阈值电压就是说当电压从低变高到一定值时才会0-1转化,低阈值电压就是说当电压从高到低时到一定值才会1-0转化。
3.6 One-Shots(单稳态触发器)
当触发时,由稳定状态变为不稳定状态,但只持续一段固定的时间(由触发器本身决定)
内部电路组成如下图:在分析的时候要注意电容的特性:当一端电压降为0时,另一端电压也立刻降为0
Non-retriggerable one-shot(非可重触发单稳态触发器)
当触发器处于非稳定状态时,忽略新的触发信号
这是74121 非可重触发单稳态触发器 芯片。
在RI端接输入电压时,Rint(内部电阻)为2kΩ,默认的tw(输出信号脉宽)=30ns;
如果在CX与RX/CX端口间外接电容Cext或者外接电阻,则可以改变tw,计算公式为 tw=0.7RC (R:kΩ,C:pF,t:ns) ☆
Retriggerable one-shot(可重触发单稳态触发器)
当触发器处于非稳定状态时对新的激励会做出响应
74LS122
对于可重激发单稳态触发器,默认tw=45ns,同样需要记住计算公式
tw = 0.32RC(1+0.7/R) (R:kΩ,C:pF,t:ns) ☆
下面是单稳态触发器的一个应用,连续计时器,将三个单稳态触发器连接在一起,外接相同大小的电容和电阻,tw近似等于1s,负边缘触发
四、Astable Multivibrator(多谐振荡器)
顾名思义:0、1之间来回切换
第一种多谐振荡器:电路中有两个电阻,两个电容,可以模拟一下过程发现,C2、C1交替放电、充电 ,不断改变输出信号状态,假设两个电阻都为R,电容都为C,则T=1.3RC
第二种多谐振荡器,由施密特触发器和一个电容、一个电阻构成 ,由于电容的充放电时间相同,这样输出脉冲占空比为50%,如果想要改变占空比,可以通过接入二极管是充放电电容串联的电阻阻值不同
五、 555 定时器
集成模拟电路和数字电路,可作为施密特触发器、单稳态触发器、多谐振荡器,可以想象其电路有亿点复杂
有两个比较器、一个锁存器、一个放电晶体管,控制电路上串有三个阻值为5kΩ的电阻,首先我们要熟悉这几个器件的结构和功能
放电晶体管:当基极接电压时,晶体管导通,否则截止
晶体管的B极与锁存器的Q(-)端连接
used as One-Shots
TRIG接比较器B的负极,DISCH接晶体管集电极,THRESH接比较器A的正极,外接一个电阻和一个电容
当激发时,锁存器set,输出改变,晶体管截止,电容充电
电容电压升高,锁存器reset,输出改变,晶体管导通,电容放电
输出信号脉宽:tw=1.1RC
used as Astable Multivibrator
通过R1、R2电容充电到电压上升到2/3Vcc,锁存器Reset,输出0
通过R2电容放电到电压下降到1/3Vcc,锁存器set,输出1
Used as Schimitt Operation
六、计数器
6.1 Finite State Machines 有限状态机
modulus 模 指 状态数量
两种状态机:莫尔机和米利机
state diagram
6.2 Asynchronous Counters (异步计数器)
二进制计数规律:
下面展示3比特的异步计数器,三个JK触发器的输入端口均接高电平电压,则均处于toggle status,第一个触发器输入为时钟信号[正边缘触发],后面的触发器的输入均为上一个触发器的输出[负边缘触发],对于N比特二进制数的计数,则使用N个触发器
异步计数器存在输入和输出信号间的传递延迟,且从前向后延迟量依次累加
用于十进制计数时,范围是0000-1001,当计数到1010时,通过CLR把所有输出置0,但这样会在输出信号中产生小毛刺。
74LS93A
6.3 Synchronous Counters (同步计数器)
下表称为同步计数器的状态转移表:
下面讨论如何用同步计数器实现十进制计数,前面的异步计数器通过反馈连接清空端来实现,但这样会使输出波形出现毛刺,我们需要找到更好的解决方法。例如要实现1001->0000,之前的情况使1001->1010,因此需要对Q1、Q3作处理
74HC163
下面介绍一款很重要的芯片:74HC163,4-bit 模 16 同步计数器,CLR是同步复位,LOAD是同步预置,预置状态由D0D1D2D3设定,注意CLR与LOAD都是同步的。ENT、ENP是两个使能端,都是高电平时电路正常工作,CLK是时钟信号,正边缘触发,Q0Q1Q2Q3是输出,当计数到最终状态(TC=15)时,RCO(ripple clock output)输出为1,要正确画出完整的timing program,难度还是比较大的,需要十分细心耐心。有了preset和clear,可以利用这两个功能来实现不同计数长度。
74HC160
74HC160和74HC163类似,但是模10同步计数器。并且清零是异步的,需要注意。
6.4 Up/Down Synchronous Counters(递增/递减计时器)
UP=1,递增计数;DOWN=1,递减计数 。
74LS190 是一款递增/递减同步计数器,D/U-输入1时Count Down,输入0时Count Up。LOAD实现preset功能,MAX/MIN当递增最大值1001或递减到最小值0000时输出1,注意RCO此时输出0(右一半脉冲),CTEN是使能端,低电平有效。