Fritzing 多页原理图不是“分页”,是硬件设计的结构化语言
你有没有在画完一个带 LoRa、温湿度传感器、电源管理、USB 调试接口的嵌入式节点后,盯着满屏缠绕的连线发呆?鼠标滚轮拉到最小,还是找不到某个VCC引脚连到了哪根线;想让同事改一下传感器供电路径,结果他误把GND标签改成了GND_DIG,整张图的地平面就悄悄裂开了——而 Fritzing 不报错,也不提醒,只在 PCB 布局时默默给你留个开路焊盘。
这不是你的问题。这是单页原理图在项目稍具规模时,必然遭遇的结构性失语:它能画出电路,但无法表达“这个模块负责什么”“这个信号从哪来、到哪去”“谁该为这段供电质量负责”。
Fritzing 的多页原理图功能,恰恰是在不引入 KiCad 学习成本、不放弃面包板实时验证优势的前提下,给出的一套轻量但严谨的硬件架构表达法。它不要求你建模端口、定义层级、写符号库,只要求你做三件事:给页面起好名字、给网络起对名字、导出前看一眼标题栏。而这三件事背后,是一整套可落地、可传承、可协作的工程纪律。
它怎么工作?别被“多页”骗了——本质是一张全局网络表
Fritzing 并没有真正实现传统 EDA 中的“层次化原理图”。它没有顶层图、子图实例、端口映射或自动推导的连接关系。它的魔法非常朴素:所有页面共享一张哈希表,键是网络标签名,值是所有贴了这个标签的引脚和导线。
这意味着:
- 你在
02_MCU_Core页给 ESP32 的GPIO21贴上I2C_SDA标签; - 又在
03_Sensor_Interface页给 SHT30 的SDA引脚也贴上I2C_SDA; - Fritzing 就认为这两个引脚已经电气连通——哪怕它们相隔三页、中间没画一根线。
这机制极轻,但也极脆。它不校验标签是否真的连到了有效引脚(悬空标签不报错),不区分模拟/数字地(GND和GND_ANA是两个完全独立的网络),更不会告诉你I2C_SDA其实被接到了 MCU 的GPIO19而不是GPIO21——那得靠你自己画对线。
所以,多页的价值,从来不在“省事”,而在“强制显式”:
你不能再靠视觉直觉判断“这里应该连过去”,而必须主动命名、主动复用、主动检查。命名即契约,标签即接口,页面即责任单元。
页面怎么分?不是按“谁画得顺”,而是按“谁该负责”
很多团队一开始分页,习惯按物理位置(“MCU 在这儿,传感器在那儿,就分两页”)或元件类型(“所有电阻电容放一页”)。这反而加剧混乱。
真正有效的分页逻辑,只有一个:谁在后续开发、调试、维护中,会单独关注并修改这一组信号?
以一个农业网关为例,我们这样