1. 无原理图生成PCB网表的核心逻辑
在传统PCB设计流程中,原理图和PCB是通过网表进行关联的。但当你拿到一块没有原理图的PCB文件时,逆向生成网表就成了一场"物理连线侦探游戏"。这就像拼乐高时没有说明书,只能通过观察积木之间的连接关系来反推设计意图。
Altium Designer(AD)的巧妙之处在于,它能通过PCB上的物理连接自动识别网络关系。当你手动完成布线后,软件会将相连的铜箔、过孔和焊盘识别为同一网络。这个过程的核心是"物理连接优先"原则——只要两个焊盘之间有实际导线连接,AD就会认为它们属于同一网络,无论原理图中是否存在对应定义。
我曾处理过一个蓝牙模块的改版项目,客户只提供了旧版PCB文件。通过AD24的"Tools » Netlist » Configure Physical Nets"功能,不到10分钟就重建了完整的网络表。关键是要确保所有连接都是闭合的,就像检查电路中的每个节点是否都正确连通一样。
2. AD24环境配置与工程创建
2.1 软件版本与语言设置
建议使用AD24及以上版本,新版的物理网络识别算法更智能。安装后第一件事是切换中文界面:点击右上角齿轮图标 → System → General → Localization → 勾选"Use localized resources"。重启后你会发现,连右键菜单里的"交互式布线"都变成了中文,这对新手特别友好。
2.2 新建PCB工程
按Ctrl+N创建新工程时,建议选择"PCB Project"模板而非空白项目。我习惯在工程目录下建立三个子文件夹:
- /Documents 存放设计说明
- /Outputs 存放Gerber等生产文件
- /History 保存版本备份
新建PCB文件时,注意图层管理界面底部的关键层:
- Top/Bottom Layer:主要布线层
- Keep-Out Layer:板框绘制层(必须用紫色线条)
- Mechanical 1:3D结构参考层
提示:在Preferences → PCB Editor → Display中开启"Net Color Override",不同网络会用不同颜色显示,方便检查连接关系。
3. 物理布线实战技巧
3.1 板框定义与元件放置
在Keep-Out Layer层绘制封闭图形时,有个鲜为人知的技巧:按住Shift+空格可以循环切换直线/圆弧模式。画完轮廓后,一定要右键选择"锁定对象",防止误移动。
导入元件封装时,如果是从其他PCB复制,注意用"特殊粘贴"(E+A组合键)保留网络信息。遇到过一位工程师直接Ctrl+V粘贴,结果所有网络标签丢失,不得不重新布线。
3.2 交互式布线关键操作
启动布线的正确姿势是Ctrl+W,而不是在工具栏找图标。布线过程中:
- 按Tab键实时修改线宽
- Shift+W调出预设线宽菜单
- 数字键2打孔但不换层
- Ctrl+鼠标滚轮切换布线层
有个项目我用了弧形布线(Shift+空格切换),结果厂家反馈良品率低。后来才知道,锐角弧线会导致蚀刻不均匀,建议保持弧度半径≥3倍线宽。
3.3 网络标签管理
手动添加网络标签时,在Properties面板中勾选"Unique ID"可以避免命名冲突。对于电源网络,建议采用分层命名:
- VCC_3V3
- VCC_5V0
- GND_ANALOG
- GND_DIGITAL
这样在后续仿真时能快速区分不同域的网络。
4. 网表生成与验证
4.1 物理网络转换
完成布线后,执行"Design » Netlist » Configure Physical Nets",会看到AD自动生成的网络列表。重点检查:
- 是否有未连接的孤立焊盘(显示为白色)
- 短路网络(用Ctrl+Click高亮检查)
- 预期外的网络合并
最近一次检查发现两个GND网络意外合并,原因是某处丝印造成了铜箔粘连。DRC没报错,但用"PCB面板"的Net模式一目了然。
4.2 DRC规则配置
推荐设置这些关键规则:
- Clearance:6mil(常规信号)
- Width:电源线20mil,信号线8mil
- Via Size:外径24mil,内径12mil
在"Rules To Check"中启用"Un-Routed Net",能快速定位遗漏的连接。有个客户案例显示DRC全绿,但实际有网络未连接——原因是规则中漏选了这项检查。
4.3 网表导出选项
生成IPC-D-356网表时要注意:
- 单位选择毫米(国内厂商通用)
- 包含测试点信息
- 勾选"生成网络拓扑"
导出的网表建议用文本编辑器检查首尾网络是否完整。曾有个文件因编码问题导致末尾网络丢失,厂家测试时发现10%的板子通信异常。
5. 高级技巧与故障排除
5.1 复用设计数据
对于没有原理图的模块(如WiFi模组),可以:
- 选中模块所有元件 → 右键"联合"
- 使用"设计片段"功能保存为.PcbLib
- 在新工程中直接拖入复用
这样下次遇到相同模块,能节省80%布局时间。
5.2 网络对比工具
当需要更新部分网络时:
- 执行"Design » Netlist » Compare"
- 加载旧网表作为参考
- 用颜色区分变更(新增=绿色,删除=红色)
这个方法帮我快速定位过一个DDR模块的布线更新需求,避免了全板重新布线。
5.3 常见错误处理
- 网络丢失:检查是否在Keep-Out Layer外布线
- 短路误报:调整Clearance规则中的"Different Nets Only"
- 3D模型错位:在Component面板更新STEP模型原点
有个记忆深刻的案例:某六层板的BGA区域网络异常,最后发现是中间层铺铜没有正确设置网络属性。通过"Polygon Manager"统一分配网络后问题解决。