本页目录

19 · 数字电气:逻辑电平不是抽象的 0 和 1

传感器节点的 GPIO 读数在静态检查时全都正确,接上四个外部输入后却出现偶发的低电平误判。问题可能不在布尔逻辑,而在电气边界:CMOS 的 VIH/VIL 是区间,噪声裕量要从 VOH/VOL 扣出来,扇出会增加输入电容,上拉电阻同时决定上升速度和争用电流。

学习层:先判断一个“逻辑正确但边沿太慢”的节点

1. 具体情境:4 个输入把一个开漏信号拖慢

教学节点用 \(3.3 \mathrm V\) 逻辑,一条开漏/开集电极风格的线由 \(10 \mathrm{k\Omega}\) 上拉,接入 4 个、每个 \(10 \mathrm{pF}\) 的输入。接收门限暂以 \(V_{IL}=0.3V_{DD}\)、\(V_{IH}=0.7V_{DD}\) 作为教学设定;驱动低电平的等效电阻取 \(30 \Omega\)。

静态看,\(V_{OH}=3.1 \mathrm V\)、\(V_{OL}=0.1 \mathrm V\) 可能有不错的噪声裕量;动态看,总电容是 \(40 \mathrm{pF}\),上升沿约 \(339 \mathrm{ns}\)。开漏释放高态还要扣掉输入漏电:默认 4 个输入、\(1\,\mu\mathrm A\) 和 \(10\mathrm{k\Omega}\) 上拉得到 \(V_{H,rel}=3.26\mathrm V\),仍高于 \(V_{IH}=2.31\mathrm V\)。如果系统给出的上升时间预算是 \(100\mathrm{ns}\),逻辑电平仍然可能最终有效,但时序、采样窗口和 EMI 余量已经需要重新审计。

2. 揭示前预测:把状态和边沿分开

  1. 更多 CMOS 输入挂在同一输出上,会使上升沿更快、更慢,还是完全不变?
  2. 上拉电阻变大时,开漏线的上升沿和低电平电流怎样变化?
  3. 推挽输出强制为低、外部上拉仍接在高电平时,最需要警惕的是“只有噪声”还是争用电流与耗散?

3. 公式桥:门限、噪声裕量和 RC 边沿

对于一个采用教学门限的 CMOS 接收器,噪声裕量定义为

\[ NM_H=V_{OH}-V_{IH}, \qquad NM_L=V_{IL}-V_{OL}. \]

它们的单位是 V,且不能把 \(V_{IH}\)、\(V_{IL}\) 当作一个唯一切换电压。实际数据手册会以最小/最大保证条件给出输入和输出范围。

一个上拉电阻给电容充电的近似为

\[ V(t)=V_{DD}\left(1-e^{-t/(R_{PU}C_{tot})}\right), \]

从 \(0.3V_{DD}\) 到 \(0.7V_{DD}\) 的时间约为

\[ t_r=\ln\left(\frac{0.7}{0.3}\right)R_{PU}C_{tot}\approx0.847R_{PU}C_{tot}. \]

量纲检查:\(\Omega\cdot\mathrm F=\mathrm s\)。\(C_{tot}\) 不是只看一个引脚,还可能包含走线、探头、连接器和封装寄生。

若低驱动等效电阻为 \(R_{DRV}\),下降沿可用同样结构估算。推挽低与上拉争用时,最小串联模型是

\[ I_{\mathrm{fight}}\approx\frac{V_{DD}}{R_{PU}+R_{DRV}}, \qquad P_{PU}=I_{\mathrm{fight}}^2R_{PU}. \]

开漏释放时,不能只用“输入数小于某个旧扇出整数”来判断高态。若 \(N\) 个输入的漏电方向取最坏同向,

\[ V_{H,rel}=V_{DD}-N I_{in}R_{PU}, \qquad N_{H,OD}=\left\lfloor\frac{V_{DD}-V_{IH}}{R_{PU}I_{in}}\right\rfloor. \]

低态也要把上拉和输入漏电列入电流账:

\[ I_{PU,L}=\frac{V_{DD}-V_{OL}}{R_{PU}}, \qquad I_{leak,L}=N I_{in}, \qquad I_L=I_{PU,L}+I_{leak,L}. \]

动态功耗中的 \(f\) 在本页定义为“可能发生完整 0↔1 翻转的事件率”,\(\alpha\) 是实际发生翻转的活动因子。因此

\[ P_{dyn}=\alpha f C_{tot}V_{DD}^2. \]

一次实际翻转的上升段分别从电源取走并储存 \(\tfrac12 C_{tot}V_{DD}^2\),充电电阻耗散同样的 \(\tfrac12 C_{tot}V_{DD}^2\);下降段再耗散 \(\tfrac12 C_{tot}V_{DD}^2\),所以完整事件的电源账是 \(CV^2\),上升/下降分账各为 \(\alpha f\tfrac12CV^2\)。

默认设定的 \(NM_H=0.79 \mathrm V\)、\(NM_L=0.89 \mathrm V\),开漏高态扇出按 \(V_{IH}\) 和输入漏电为 \(99\) 个,低态上拉电流为 \(0.320\mathrm{mA}\)、输入漏电为 \(0.004\mathrm{mA}\);但上升沿约 \(339\mathrm{ns}\),超过 \(100\mathrm{ns}\) 预算。争用电流约 \(0.329\mathrm{mA}\),若 \(\alpha=0.5\)、\(f=1\mathrm{MHz}\),动态功率为 \(0.218\mathrm{mW}\),上升/下降各 \(0.109\mathrm{mW}\)。这是“静态逻辑合法、动态边界不合格”的典型。

数量级判断:把负载数从 4 增到 8,\(C_{tot}\) 近似加倍,RC 上升时间也近似加倍;把上拉从 \(10 \mathrm{k\Omega}\) 改成 \(20 \mathrm{k\Omega}\),高态漏电余量和上升时间都会变差,而低态上拉电流与争用电流下降。速度、静态耗散和高态电平是同一个电阻的三面。

4. 互动实验:同时看门限、扇出和电流路径

无 JavaScript 时的静态 fallback:默认教学设定为 \(V_{DD}=3.3 \mathrm V\),\(V_{IH}=2.31 \mathrm V\)、\(V_{IL}=0.99 \mathrm V\)、\(V_{OH}=3.10 \mathrm V\)、\(V_{OL}=0.10 \mathrm V\);接入 4 个 \(10 \mathrm{pF}\) 输入,上拉为 \(10\mathrm{k\Omega}\),低驱动电阻为 \(30\Omega\),上升时间预算为 \(100\mathrm{ns}\)。默认输入漏电为 \(1\,\mu\mathrm A\),动态活动因子 \(\alpha=0.5\),完整翻转事件率 \(f=1\mathrm{MHz}\)。

账本项 默认结果 单位 / 解释
高电平噪声裕量 0.790 V;\(V_{OH}-V_{IH}\)
低电平噪声裕量 0.890 V;\(V_{IL}-V_{OL}\)
总输入电容 40.0 pF;4 个输入之和
上升时间 338.9 ns;0.3–0.7 \(V_{DD}\)
下降时间 1.017 ns;低驱动教学模型
开漏高态扇出上限 99 个;\(\lfloor(V_{DD}-V_{IH})/(R_{PU}I_{in})\rfloor\)
释放高电平 3.260 V;4 个输入漏电后的 \(V_{H,rel}\),仍 ≥ VIH
低态上拉电流 0.320 mA;\((V_{DD}-V_{OL})/R_{PU}\)
低态输入漏电 0.004 mA;\(N I_{in}\)
低态总电流 0.324 mA;上拉 + 输入漏电
DC 扇出上限 99 个;高态/低态电流约束取小
边沿扇出上限 1 个;由 100 ns 上升沿预算决定
建议扇出 1 个;取 DC 与边沿约束较小者
争用电流 0.329 mA;上拉与低驱动串联
动态功率 0.218 mW;\(\alpha f C V^2\),\(f\) 为完整翻转事件率
动态上升/下降分账 0.109 + 0.109 mW;各为 \(\alpha f\frac12CV^2\)

图意说明:互动 SVG 应画出 \(V_{IL}\)、\(V_{IH}\) 门限与 RC 上升曲线;扇出面板要显示按 \(R_{PU}\)、\(V_{IH}\)、输入漏电计算的开漏高态上限和释放高电平,以及低态上拉/漏电电流。另一部分画出 \(V_{DD}\to R_{PU}\to\) 低驱动 \(\to GND\) 的争用路径,并标出 \(\alpha f CV^2\) 及上升/下降 \(\tfrac12CV^2\) 分账。虚线、文字和箭头共同表达状态、边沿和电流,不能只靠红绿颜色。

5. 真实修正:逻辑电平、负载和接口类型要对上

  • VIH/VIL 不是通用常数。 它们依赖输入电源、逻辑族、温度和保证条件;一个器件的典型切换点不能替代另一个器件的最小保证值。
  • 扇出不是单一数字。 开漏高态要用上拉、VIH 和输入漏电算释放电压/扇出;低态要计上拉与输入漏电,另再检查 IOH/IOL。动态扇出受总电容、上升/下降时间、事件率和允许抖动约束。两者都要算。
  • 上拉只适合特定接口语义。 开漏/开集电极允许多个设备释放或拉低;推挽输出若互相对抗会形成持续电流。不要把两种输出类型混接后再靠“逻辑上不会同时为高”自我安慰。
  • 边沿速度会改变系统。 慢边沿增加接收器处于门限区的时间,可能放大噪声和抖动;过快边沿则可能激励走线、封装和回流寄生。串联电阻、上拉选择和布局要以波形证据为准。
  • 跨电压域要单独审计。 输入绝对最大值、钳位电流、上电顺序和未供电状态可能比逻辑真值表更早失败。

数据手册提供具体 \(V_{IH}/V_{IL}\)、\(V_{OH}/V_{OL}\)、IOH/IOL、输入电容和绝对最大条件;标准提供接口或测试要求时,要引用适用版本。课堂中的 0.3/0.7 比例只是教学设定。

6. 测量纪律:用高阻、短回路、足够采样率

  1. 先确认参考地和电源轨,再分别测静态高/低电平、上升/下降时间、门限交叉时间和争用电流。
  2. 探头电容应计入 \(C_{tot}\);地线过长会制造额外电感和振铃。记录探头型号、带宽限制和连接方式。
  3. 用可控的负载数、上拉和串联电阻做对比实验;每次只改一个参数,并保存波形与条件。
  4. 对开漏线检查释放时间、被拉低时间、多个驱动者的状态和未供电设备的钳位路径;不能只在单设备静态下验收。
  5. 低压、限流、可断电地注入故障;不把这里的逻辑实验外推到市电控制或高能开关。

7. 模型边界与项目产物

RC 模型把输出看成理想电阻和总电容,争用模型把驱动器看成固定电阻,噪声裕量用静态保证值近似。它不能预测传输线效应、串扰、地弹、输入保护的非线性、动态电流限制或具体逻辑族的完整时序。

项目产物是“逻辑与电气余量表”:每条信号记录发送端/接收端电源、VIH/VIL、VOH/VOL、NMH/NML、DC/动态扇出、总电容、边沿预算、上拉与争用检查、测量参考平面以及跨电压域和上电状态。每个数值都标注是数据手册条件、教学模型还是实测结果。

1. 用门限区间而不是一个切换电压思考

数字系统的抽象把一段电压区间映射为 0 或 1,但工程验收要留出噪声裕量。输入处在 \(V_{IL}\) 与 \(V_{IH}\) 之间时,接收器状态可能不受保证;输出处在保证的 \(V_{OL}\) 或 \(V_{OH}\) 范围之外时,发送端也不能宣称逻辑有效。

因此,静态噪声裕量只是第一关。第二关是信号在门限区停留多久,第三关是回流和供电噪声如何移动整个波形,第四关是边沿是否满足后续时序。它们不能用一个“逻辑分析仪显示 1”统统代替。

2. 上拉、动态功率和边沿的取舍

电容性负载的一次完整翻转事件从供电取走 \(CV^2\) 的能量:上升段的储能/充电耗散各为 \(\frac12CV^2\),下降段再耗散 \(\frac12CV^2\)。若 \(f\) 是完整翻转事件率、\(\alpha\) 是实际活动因子,则动态功率为 \(P_{dyn}=\alpha f CV^2\);这个估算仍依赖上升/下降对称性和驱动方式,不能当作整颗芯片的功耗规格。

上拉电阻越小,边沿更快,但低电平保持时的静态功耗更高;越大则反之。真实选择还受到总线电容、最长线、允许的时序、漏电、热和 EMC 约束。这个取舍应在项目电源预算和信号完整性记录中同时出现。

3. 常见误判与纠正

  • 误判:只要静态读出 0/1,信号就合格。纠正:还要查门限区停留、边沿、抖动和回流。
  • 误判:扇出就是数据手册上一个固定整数。纠正:分开算 DC 电流扇出和动态电容扇出。
  • 误判:上拉越强越好。纠正:速度、低电平功耗、争用电流和 EMI 需要平衡。
  • 误判:开漏和推挽只是两种画法。纠正:它们的多驱动语义和故障电流路径不同。

4. 资料与边界

本讲只讨论低压、限流、可断电的数字接口;不涉及市电施工、建筑配电、并网或高能开关设备。

5. 小结

数字电气不是把电压贴上 0/1 标签,而是管理门限、裕量、负载、边沿和电流路径。先用数据手册保证值定义逻辑区间,再用 \(RC\) 和争用模型预测方向,最后用带测量条件的波形确认。下一讲把边沿放进采样时刻,处理建立/保持、时钟偏斜、抖动和同步器的概率风险。