4. 数字电路测试基础
数字电路测试的核心,不是“看波形有没有跳变”,而是判断信号在正确的时间、正确的电平、正确的顺序下到达正确的位置。面试中,这一节常被用来区分“会点灯”和“懂时序”的候选人。下面从逻辑门到总线、从建立保持时间到常见故障,建立一套可落地的测试认知框架。
一、核心原理:从组合逻辑到时序逻辑
数字电路可分为组合逻辑和时序逻辑。组合逻辑的输出只取决于当前输入,例如与门、或门、非门、异或门、多路选择器和译码器。测试组合逻辑时,重点是穷举或等价类覆盖输入组合,观察输出是否符合真值表。时序逻辑的输出则取决于当前输入和历史状态,典型器件是触发器、寄存器和计数器,测试时必须引入时钟和复位概念。
触发器是时序逻辑的最小存储单元。D触发器在时钟有效沿采样D端,Q端更新;JK触发器具有保持、翻转、置位、复位功能;T触发器常用于分频。寄存器由多个触发器并联组成,用于暂存并行数据;移位寄存器则按位移入移出,常用于串并转换。计数器本质是状态机,按固定序列循环,测试时要关注模值、复位值、使能端和进位输出。
总线是多个器件共享的传输通道,分为数据总线、地址总线和控制总线。总线测试的关键是“三态”和“仲裁”:任一时刻只能有一个驱动器有效,否则发生总线冲突。I²C、SPI、UART、CAN等串行总线还要检查起始位、地址位、应答位、停止位和采样边沿。
二、方法流程:数字电路测试的六步法
- 明确被测对象:区分组合逻辑、时序逻辑、总线接口,确定输入输出引脚和电源域。
- 建立真值表或状态表:组合逻辑列真值表,时序逻辑列状态转移表,总线列协议帧格式。
- 配置激励与时钟:设置信号源、时钟频率、占空比、复位时序,确保激励边沿干净。
- 设置采样点:示波器或逻辑分析仪采样点应避开边沿抖动区,通常选在数据稳定窗口中央。
- 执行测试并记录:记录波形、时间参数、误码率、状态序列,保存原始数据。
- 判定与定位:对照规范判断通过或失败,失败时沿信号链回溯到最早异常节点。
三、关键参数与常见故障对照
数字电路测试中,很多故障并不是器件完全损坏,而是时序余量不足或总线竞争。下表列出常见故障、典型现象和排查方向。
| 故障类型 | 典型现象 | 可能原因 | 排查方向 |
|---|---|---|---|
| 建立时间违例 | 数据偶尔采错,高温或低压时更明显 | 路径延迟过大、时钟偏斜、负载过重 | 查时钟树、缩短走线、降低时钟频率验证 |
| 保持时间违例 | 采样沿后数据过早变化,Q端亚稳态 | 保持时间不足、时钟到数据路径太短 | 增加缓冲、调整布局、检查时钟相位 |
| 总线冲突 | 总线电平异常、电流增大、器件发热 | 多个驱动器同时使能、三态控制错误 | 查使能信号、仲裁逻辑、上拉电阻 |
| 计数器乱序 | 状态跳变不符合预期,进位丢失 | 复位不可靠、时钟抖动、使能竞争 | 查复位脉宽、时钟质量、使能同步 |
| 串行总线误码 | ACK丢失、帧错误、偶发丢包 | 采样边沿错误、地弹、终端匹配不良 | 查眼图、终端电阻、共地质量 |
四、案例场景:SPI通信偶发失败的排查
某板卡通过SPI读取传感器,常温下工作正常,高温老化时偶发数据错位。初步怀疑传感器问题,但更换后仍复现。用逻辑分析仪抓取SCK、MOSI、MISO和CS波形,发现SCK上升沿处MISO数据尚未稳定,建立时间余量仅约2ns,而传感器手册要求最小8ns。进一步检查发现,MISO走线过长且未做阻抗匹配,高温下驱动器延迟增大,导致建立时间进一步压缩。
排查记录:
1. 常温:SCK=10MHz,MISO建立时间约6ns,勉强通过
2. 高温85℃:MISO建立时间约2ns,出现误采样
3. 降低SCK至5MHz:建立时间约12ns,通信稳定
4. 整改:缩短MISO走线,增加串联匹配电阻,恢复10MHz
结论:根因是时序余量不足,而非传感器失效
五、复盘要点与面试表达
- 先分类再测试:组合逻辑看真值表,时序逻辑看状态和时钟,总线看协议和仲裁。
- 时序三参数必须能画出来:建立时间、保持时间、时钟到输出,能结合波形说明违例后果。
- 故障定位沿信号链回溯:从异常输出反向查到最早异常节点,避免在末端反复换件。
- 测试记录要可复现:记录时钟频率、电压、温度、采样点和探头带宽,否则无法复现就无法定位。
- 面试表达模板:“我先确认电源和时钟,再验证复位,然后按真值表或状态表逐项测试,最后用示波器检查建立保持时间余量,若违例则查路径延迟和时钟偏斜。”
掌握这一节,你不仅能回答逻辑门和触发器的定义,更能从时序余量、总线竞争和故障定位的角度,展现数字电路测试工程师应有的系统化思维。