嵌入式硬件(三)数字逻辑电路

一、组合逻辑电路

基本模块:门电路
门电路是数字电子技术的一部分,但是就对于硬件新手而言,大多数门电路都是集成在芯片内部的,我们平常都是对芯片的选型,不会自己去设计门电路。
门电路对于之后的数字集成电路的理解有很大帮助,例如TTL和CMOS电路等;
还有互连通信组件的运行方式等等也用到了三态门。
三态门是数字逻辑电路最基本的构成,大家一定要掌握。

1.非门

非门
图1 非门电路符号
作用:将输入逻辑取反
对应逻辑关系:B =! A;(csdn的公式没法从word复制就挺麻烦,这里就用!来表示非)
B对A的逻辑取反
A = 0时,B = 1;A = 1时,B = 0;

2.与门

与门
图2 与门电路符号
与门有两输入与门和多输入与门
对应逻辑关系:C = A AND B = AB;
即:A,B同为一时,结果才为1,否则为0。

3.与非门

与非门
图3 与非门电路符号
对应逻辑关系:C = !(AB);
即:输入有一个为0时,输出必为1;输入全为1时,输出为0.

4.或门

或门
图4 或门电路符号
对应逻辑关系:C = A + B;
即:输入端有一个为1,则输出必为1;输入端全部为0时,输出为0。

5.或非门

或非门
图5 或非门电路符号
对应逻辑关系:C = !(A+B);
即:输入端有一个为1时,输出必为0;输入端全部为1时,输出为0;

6.异或门

异或门
图6 异或门电路符号
对应逻辑关系:C = A ⊕ B;
即:两个输入端相同时,输出必为0;输入不相同时,输出为1。

7.三态门

反向三态门
图7 反向三态门电路符号
同向三态门
图8 同向三态门电路符号
如图所示,三态门分为同向三态门和反向三态门。
三态门的控制一般多为逻辑0有效,即控制端或输出使能端OE=0时三态门打开,否则关闭。
三态门打开时,即当OE=0时,同向三态门对应 A = B;
反向三态门对应 A = !B;
三态门关闭时,即当OE=1时,输出B与输入A隔离,即此时输入与输出没有关系。
三态门常用作缓冲器。

二、时序逻辑电路

时序逻辑电路是由最基本的时序电路器件触发器组成的,而触发器则由逻辑门电路加上反馈逻辑回路或器件组合而成。
时序逻辑电路是在时钟的作用下进行工作的。
典型的时序逻辑电路有计数器和寄存器两大类。
计数器种类较多,有同步计数器、异步计数器、二进制计数器、十进制计数器、任意进制计数器,二进制计数器又包括加法计数器和减法计数器等。
寄存器分为数据寄存器和移位寄存器。

1.触发器(flip-flop)

触发器是一种应用在数字电路中具有记忆功能的时序逻辑元件,可记录二进制数字信号“1”和“0”。
触发器是构成时序逻辑电路以及各种复杂数字系统的基本逻辑单元,所有时序逻辑电路均由触发器构成。
触发器主要包括D触发器、RS触发器、JK触发器等。

(1)RS触发器

RS触发器
图9 RS触发器
运行机制:当S=0且R=1时,U₁输出1,而U₁的输出接U₂的输入,因此U₂输出0,即Q=0;
当S处于上升沿,由0跳变到1时,保持R=1不变,则由于原来的U₂输出0,U₂的输出接U₁的输入,因此U₁输出1,U₁输出再回到U₂的输入,因此U₂输出0,即Q=0不变,即说明U₂能够记忆S的输入状态。
这个特性可以消除机械按键或继电器触点产生的抖动。

(2)D触发器

D触发器
图10 D触发器
CP端输入时钟信号,有了上升沿或者下降沿Q的输出才会发生变化。
即:无论D如何变化,只要CP没有脉冲,则Q端保持不变。
所以触发器可以作为寄存器基本单元保持数据。
具体电路的分析同学们可以参照RS触发器分析一下,也不算是很难。

2.锁存器(latch)

锁存器是数字电路中异步时序逻辑电路系统中用来存储信息的一种时序电路,由多个触发器及其控制逻辑组成。
锁存器可以用于锁存地址,也可以用于存放数据,因此是寄存器的一种形式,如4位锁存器可存储4位二进制数,8位锁存器可存储8位二进制数等。一般使用8D锁存器。
锁存器的功能是在锁存脉冲的作用下,使输出端的逻辑状态与输入端的逻辑状态相同,并一直保持到新的锁存脉冲到来前不变。

3.移位寄存器

根据功能的不同,寄存器可分为数据寄存器和移位寄存器两种。
数据寄存器就是上述的锁存器。这种寄存器只有寄存数据和清除数据两种功能。
移位寄存器不仅能存放数据,而且具有移位功能。

 CANx->BTR = (uint32_t)((uint32_t)CAN_InitStruct->CAN_Mode << 30) | \
                ((uint32_t)CAN_InitStruct->CAN_SJW << 24) | \
                ((uint32_t)CAN_InitStruct->CAN_BS1 << 16) | \
                ((uint32_t)CAN_InitStruct->CAN_BS2 << 20) | \
               ((uint32_t)CAN_InitStruct->CAN_Prescaler - 1);

这就是can通信的BTR寄存器的赋值方式,可以看出来BTR寄存器是移位寄存器,用到了移位赋值。

4.计数器

计数器是最常用的时序逻辑电路,也是由触发器构成。

(1)二进制计数器

二进制计数器能按二进制的规律累计脉冲的数目,也是构成其他进制计数器的基础。一个触发器可以表示1位二进制数,表示n位二进制数需要用到n个触发器。
二进制数逢二进一,只有0和1两个状态。

(2)十进制计数器

十进制计数也称BCD码,即用4位二进制编码表示1位十进制数。
常用的编码形式是8421加权码,相应的计数器称为8421十进制计数器。

(3)集成计数器

将由多个触发器构成的计数器做在一块中规模芯片上构成集成计数器,用它可构成所需模数的各种计数器。

  • 2
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 1
    评论
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

轻点玩家

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值