1 / 63 · 概念
数字信号:将电压读为 0 和 1 的条件
区分逻辑值与电压,计算输入阈值、噪声容限和传播延迟。
课时内容可免费阅读,选课后可保存学习进度。
学完本课程应能构建什么
本课程快速梳理大学入门水平的数字逻辑设计,并通过实际电路加以验证。具备高中代数知识即可开始;基本编程经验有助于后续 RTL 实验。首先串联起逻辑门 → 组合电路 → 存储元件 → 状态机。后面的选修进阶部分将扩展到数据通路和接口。
本课的目标并非只记住“电压高就是 1”。你应能解释:在什么范围内、从什么时刻起,才能保证得到正确的逻辑值。
逻辑值是对电压的解释
逻辑电路计算 和 ,但导线上的电压是连续变化的。规定输入不高于 时读为 0,不低于 时读为 1。两阈值之间不能保证任何一种解释。实际允许的电压范围和阈值由器件数据手册规定。
以教学用 3.3 V 电路为例。以下数值并非某个具体产品的规格。
| 接收端输入电压 | 保证的解释 |
|---|---|
| 0~0.8 V | 逻辑 0 |
| 大于 0.8 V、小于 2.0 V | 不保证判为 0 或 1 |
| 2.0~3.3 V | 逻辑 1 |
1.4 V 并不是“第三种逻辑值”,而是该输入超出了数字模型的保证条件。输入从 0 转为 1 时必然经过这一区域,因此还必须规定观察输出的时刻。
- 发送端输出: 在允许的负载下保证低、高电平电压
- 导线与噪声: 接收电压可能与发送电压不同
- 接收端输入: 由 VIL、VIH 判断逻辑值的有效范围
- 逻辑功能: 输入稳定并经过延迟后保证输出
输出标准与输入标准之间的裕量
假设发送端最大低电平输出为 ,最小高电平输出为 ,则噪声容限噪声容限 发送端保证的输出电压与接收端输入判定标准之间的裕量,由静态电压规格之差计算。如下。
即使低电平输出叠加 +0.4 V 噪声,得到的 0.6 V 仍处于低电平输入范围内。这个计算给出的是满足电压规格与负载条件时的静态裕量,不能仅凭这一数值判断短脉冲或布线反射的影响。
同时考虑功能条件与时间条件
AND 的输入为 11 时,输出为 1。但并不保证输入刚改变的瞬间输出就已是 1。将每条路径上各门的最大延迟相加,再取其中最长的路径延迟作为上限。若两个串联门的最大延迟分别是 2 ns 和 3 ns,这个模型允许在输入稳定后最多等待 5 ns。
输入悬空也不同于驱动为 0。模拟器中的 X 表示未知值,Z 表示高阻态;二者都不与某个实际电压一一对应。本课程的按钮实验使用稳定的 0/1 模型。
延伸阅读:MIT OpenCourseWare — The Digital Abstraction
实验 · 亲自越过噪声容限边界
VIL=0.8 V; VIH=2 V; VOL=0.2 V; VOH=2.8 V. NM_L=0.6 V; NM_H=0.8 V. 输入阈值之间不能保证判为 0 或 1。这是教学用静态模型。
- 选择发送 0。输出固定为最坏条件下的低电平电压 0.20 V。将噪声调为 +0.60 V,接收电压为 0.80 V,仍保证为 0。
- 按一次右方向键,将噪声再增加 10 mV。接收电压达到 0.81 V 时,判定变为“无保证”。这不意味着它立即变成 1。
- 发送 1 时,从 2.80 V 输出电压中减去噪声。到 −0.80 V 为止仍保证接收为 1,到 −0.81 V 则不再保证。
- 更大的噪声可能使输入进入另一侧的有效区域。此时即使接收器判定出正常的逻辑值,发送的数据仍可能出错。电压有效与数据正确是两个不同条件。
实验不会把超出 0~VDD 范围的输入强行截到有效区域。实际器件允许的输入范围、钳位电流和瞬态脉冲条件,应另行查阅数据手册。这里不预测具体器件是否损坏或其动态响应。
自己试试
若发送 1 时输出为 2.80 V、噪声为 −0.85 V,能否断定接收为 0?请与发送 0 时叠加 +2.00 V 的情况比较。
阅读解释
第一种情况为 1.95 V,处于两阈值之间,不能保证为 0 或 1。第二种情况为 0.20+2.00=2.20 V,因此接收为 1,但发送的比特是 0。有效的电平判定并不等于数据得到保留。