跳到正文
芯片启蒙

模块和接口:让零件真正合作

10 分钟

系统复杂以后,不能把所有晶体管画在一张图上。工程师会把功能分成模块:传感模块负责感知,控制模块负责判断,驱动模块负责给灯提供足够电流,电源模块负责稳定供电。每个模块像一支小队,只要接口约定清楚,就能分别设计和测试。

接口不只是插头形状

两块板的插头能插上,不代表一定能通信。接口至少要约定:

  • 电压范围,例如高电平是 3.3V,不能把 5V 直接送进不耐受的引脚。
  • 每根线的作用,是电源、地、时钟还是数据。
  • 数据格式,例如 0 表示无人、1 表示有人。
  • 时间规则,什么时候发送、什么时候读取、多久算超时。

任何一项理解不同,模块就会「各说各话」。接口文档相当于两队之间的合同。

为什么 LED 不能总由逻辑门直接带

逻辑门输出擅长表达 0 和 1,未必能提供点亮大灯所需的电流。控制器可以发出「亮灯」的小信号,再由驱动晶体管或驱动芯片控制更大的电流。这像老师发出指令,真正搬桌子要由有力气的执行队完成。处理和执行分开,系统更安全。

共地是常见的隐形条件

电压是两个点之间的差。两个模块若没有共同参考的「地」,一个模块说的 3.3V,另一个可能根本听不懂。初学者常把数据线接好了,却忘记共地,结果信号忽好忽坏。

模块化让排错变简单

先单独验证传感器输出,再给控制器输入一个假的 0/1,最后测试驱动和灯。每块都通过后再连接。这样故障出现时能缩小范围,不必盯着整个系统猜。

练一练:列出人体传感模块与控制模块之间至少四条接口约定,并解释漏掉「地线」可能发生什么。

小纸条

插头能插上,为什么两个模块仍可能无法合作?