1. 项目概述:从零到一构建你的第一张电路图
如果你已经按照上一部分教程完成了Altium Designer 15的安装和环境配置,那么恭喜你,工具已经就位,现在可以真正开始“画图”了。很多新手朋友拿到软件,面对空白的原理图编辑界面,常常会感到无从下手:是先放元件库里的电阻电容,还是先画导线?网络标签和端口有什么区别?为什么我的元件引脚连不上?这一系列问题,根源在于没有建立起一个清晰、规范的设计流程。
电路原理图设计,远不止是“用线把元件连起来”那么简单。它是一份面向工程师、制造商甚至未来自己的“设计契约书”,其核心价值在于准确无误地表达电路的电气连接关系和设计意图。一张优秀的原理图,应该做到逻辑清晰、标注完整、层次分明,让任何一个接手的人都能在最短时间内理解电路的功能模块和工作原理。在AD15中,这个过程被一系列强大的工具所支撑,但工具的使用必须服务于清晰的思路。
本教程将带你完整走一遍原理图设计的标准流程,从创建文档、调用元件、电气连线,到编译查错、输出生产文件。我会重点分享那些官方手册里不会写,但在实际工作中高频出现的“坑”和技巧。比如,如何高效管理五花八门的元件库?如何利用多部件元件简化复杂IC的绘制?编译时那一堆令人头疼的错误和警告到底该怎么看?掌握了这些,你画出的就不再是一张“示意图”,而是一份专业的、可交付的工程设计文档。
2. 设计前的核心准备:库与模板
在动笔(或者说动鼠标)之前,花在准备工作上的时间,最终会在设计效率和后期修改中加倍回报回来。很多项目中途混乱不堪,往往是因为开头图省事,没有建立好规范。
2.1 创建与管理原理图库
AD15自带了一些通用元件库,但对于实际项目,尤其是用到特定型号的芯片、接插件时,建立自己的专用库是必须的。我强烈建议你为每一个项目或产品系列创建一个独立的集成库项目(.LibPkg),里面包含原理图库(.SchLib)和PCB库(.PcbLib)。
创建自定义元件库的实操步骤:
- 新建集成库项目:
File->New->Project->Integrated Library,并保存。 - 添加原理图库文档:在项目面板中右键点击项目,选择
Add New to Project->Schematic Library。一个名为Schlib1.SchLib的库文档会被创建并自动打开。 - 绘制第一个元件:库编辑器界面中央是元件绘制区。使用
Place->Rectangle绘制芯片的主体框,用Place->Pin放置引脚。这里有一个关键细节:放置引脚时,引脚末端的“电气热点”(那个“X”形的连接点)必须朝外,这是导线能够自动吸附并建立电气连接的关键。引脚属性对话框里的Display Name是引脚名称(如“VCC”),Designator是引脚编号(如“1”)。 - 设置元件属性:在
SCH Library面板中,选中你刚创建的元件,点击Edit按钮。在属性对话框中,Default Designator通常设为“U?”(芯片)或“R?”(电阻),Comment栏填写元件型号或值(如“STM32F103C8T6”或“10kΩ”)。务必在Parameters部分添加Value参数,并将其值设为与Comment相同,这是很多报表和规则检查的依据。 - 保存与编译库:保存原理图库文件。然后右键点击项目面板中的集成库项目,选择
Compile Integrated Library。如果一切无误,编译后的.IntLib文件会自动生成并加载到你的可用库列表中。
注意:对于多部件元件(比如一个四运放芯片包含4个独立的运放),可以在原理图库编辑器中使用
Tools->New Part来创建多个子部件。这样在原理图中,你可以分别放置每个运放,它们共享同一个位号(如U1A, U1B),管理起来非常清晰。
2.2 巧用原理图模板与文档选项
统一的设计风格能让你的图纸显得专业。AD15允许你自定义原理图模板,将标题栏、公司Logo、版本信息、页码等固定内容标准化。
设置文档选项的要点:进入Design->Document Options,这里有几个关键设置:
- Sheet Options:设置图纸大小(如A4)、方向、栅格(Snap, Visible)等。我习惯将
Snap栅格设为5或10,Visible栅格设为10,这样元件和导线能轻松对齐。 - Parameters:这里是定义模板变量的地方。你可以添加如
=Title(图纸标题)、=Revision(版本号)、=CurrentDate(日期)等参数。在图纸上使用Place->Text String,然后将其内容设置为=Title,它就会自动链接到参数值。 - Units:将单位系统设置为“Dual”(双重),即同时显示英制(mil)和公制(mm)。虽然PCB行业习惯用mil,但原理图阶段用mm思考有时更直观。
个人心得:建立一个自己常用的模板文件(.SchDot),每次新建原理图时,通过Design->Template->Set Template File Name来调用,能节省大量重复设置的时间。
3. 原理图绘制核心流程详解
准备工作完成后,我们进入核心的绘制阶段。这个过程需要耐心和严谨,因为原理图上的任何一个小错误,都可能在后续的PCB设计或实物调试中引发大问题。
3.1 元件放置与属性编辑
在库面板中找到所需元件,双击或拖拽到图纸上。放置后,按Tab键可以在移动过程中直接编辑其属性;放置后双击元件也可编辑。
属性编辑的核心字段:
- Designator(位号):元件的唯一标识,如R1, C2, U3。强烈建议在绘制初期就启用自动增量标注:
Tools->Annotate Schematics。你可以选择处理顺序(如先左右后上下),然后执行标注。这能确保位号不重复,且排列有逻辑。 - Comment(注释):通常放置元件的值(如10k)或型号(如LM358)。对于电阻电容,直接填值;对于IC,填具体型号。
- Footprint(封装):这是连接原理图和PCB的桥梁!必须为每一个元件指定正确的PCB封装。你可以点击右侧的
...按钮,从可用封装库中选择。如果下拉列表里没有,说明你的集成库中该元件未关联封装,需要回到原理图库中添加。
踩坑记录:曾经因为一个贴片电阻的封装选成了直插的,导致PCB布局时死活放不下,又得返回原理图修改,非常折腾。所以,“放置即确认封装”应该成为一个习惯。
3.2 电气连接:导线、网络与端口
元件放好后,需要用电气连接工具将它们联系起来。
- 放置导线(Wire):使用
Place->Wire或快捷键P->W。点击起点(元件引脚末端),移动到终点再点击。AD15的智能连线功能很强大,在拖动时按Space键可以切换拐角模式。关键原则:导线必须严格终止于元件引脚的电气热点(那个小“X”)或另一根导线上,这样才能建立真正的电气连接。悬空的线头是无效的。 - 使用网络标签(Net Label):当导线跨页或距离较远时,用导线直接连接会使图纸杂乱。这时可以使用
Place->Net Label。给同一电气网络的两端放置完全相同的网络标签(如“+5V”、“CLK_50M”),它们就在电气上被连接起来了。这比拉长导线清晰得多。 - 使用电源端口(Power Port):
Place->Power Port。像VCC、GND这类全局网络,通常使用电源端口符号(如Bar、Wave、Circle等样式的GND符号)。AD15内置的电源端口默认是全局的,意味着所有图纸上同名的电源端口都是连通的。 - 使用离图连接器(Off-Sheet Connector):在层次式设计中,用于连接不同子图之间的信号。
Place->Off Sheet Connector。其功能与网络标签类似,但视觉上更强调图纸间的接口关系。
连线技巧:在连线状态下,按住Ctrl键拖动,可以拖动整条线段而不断开连接,这在调整布局时非常有用。
3.3 层次式设计:应对复杂电路
当电路非常庞大时,把所有元件画在一张图纸上会变成“蜘蛛网”,难以阅读和维护。层次式设计(Hierarchical Design)是解决之道。其核心思想是“自顶向下”:先设计一个顶层方块图(Sheet Symbol),每个方块代表一个功能模块(如“电源模块”、“MCU核心板”、“传感器接口”),再用导线或总线连接这些方块。然后,为每个方块创建对应的子原理图(Sheet),在子图中进行详细设计。
创建层次结构的步骤:
- 放置图纸符号:
Place->Sheet Symbol,绘制一个矩形方块。双击它,在Filename属性中输入子原理图文件名(如“Power.SchDoc”),在Designator中输入模块标识(如“PWR”)。 - 添加图纸入口:
Place->Add Sheet Entry,在图纸符号的边框上点击放置。这代表了该模块对外的信号接口。设置其名称(如“12V_IN”)和I/O类型(Input, Output, Bidirectional等)。 - 创建子图纸:右键点击图纸符号,选择
Sheet Symbol Actions->Create Sheet From Symbol。AD15会自动生成一个与图纸入口对应的子原理图,并且入口会变成端口(Port)出现在子图中。 - 连接顶层方块:在顶层图中,用导线或总线连接不同图纸符号的图纸入口。
层次式设计的优势:
- 模块化:各功能模块独立,便于分工协作和复用。
- 易读性:顶层图一目了然地展示了系统架构。
- 易维护:修改某个模块时,不影响其他部分。
4. 设计验证与编译查错
图画完了,千万别急着导出。编译(Compile)是原理图设计中最重要、也最容易被新手忽略的质量关卡。它能帮你发现许多人为检查难以发现的电气错误。
4.1 编译工程与错误解析
在项目面板右键点击你的工程,选择Compile PCB Project ...。AD15会根据一套规则检查整个项目。所有信息(错误、警告)会显示在Messages面板中。
必须严肃对待的错误(Error):
- Floating net labels(悬浮网络标签):网络标签没有附着在任何导线上。
- Multiple net identifiers on wire(一根导线上有多个网络标识):一根导线被赋予了不同的网络名,这是矛盾的。
- Duplicate Net Names(重复的网络名):不同网络被错误地赋予了相同的名字。
- Unconnected pin(未连接的引脚):具有电气特性的引脚悬空(除非是NC引脚)。
需要仔细审视的警告(Warning):
- Nets with only one pin(单节点网络):一个网络只连接了一个引脚。这有时是正常的(如测试点),但通常是忘记连接了。
- Unconnected line on net ...(网络上有未连接的线):导线上有未连接到任何引脚的分支线头。
- Duplicate Designators(重复的位号):两个元件用了相同的位号。
排查技巧:双击Messages面板中的任一条信息,AD15会自动跳转到原理图中的对应位置并高亮显示相关对象,这是定位问题最快的方式。
4.2 电气规则检查(ERC)设置
编译所依据的规则是可以定制的。进入Project->Project Options->Error Reporting。这里列出了海量的检查项,每项都可以设置为“致命错误(Fatal Error)”、“错误(Error)”、“警告(Warning)”或“不报告(No Report)”。
对于新手,我建议初期将所有项都设为“错误”或“警告”,严格一点没坏处。等项目经验丰富了,再根据实际情况调整。例如,对于“Input Pin Is Unconnected”(输入引脚未连接),如果你确认某些芯片的输入引脚可以悬空,可以将其改为警告。
5. 输出与生产文件准备
原理图通过编译后,其使命就完成了一大半。最后一步是生成一系列文档,用于指导后续的PCB设计、采购和生产。
5.1 生成材料清单(BOM)
BOM是采购和生产贴片的直接依据。Reports->Bill of Materials。在打开的BOM对话框中,你可以:
- 选择要输出的列:通常包括 Designator, Comment, Description, Footprint, Quantity 等。将需要的列从左侧拖到右侧的“Grouped Columns”或“All Columns”区域。
- 分组:将相同
Comment和Footprint的元件归为一组,显示总数量,这是采购需要的格式。 - 导出:支持导出为Excel(.xls)、CSV、PDF等多种格式。导出前务必预览,确保信息准确无误。
BOM制作心得:在原理图库元件的Description字段里填写详细型号和参数(如“10kΩ, 1%, 0805, 1/4W”),这样生成的BOM信息会非常完整,减少采购工程师的沟通成本。
5.2 生成网络表
网络表是原理图与PCB之间电气连接信息的桥梁。虽然AD15采用工程编译模式,直接更新PCB即可同步,但生成一份网络表作为备份和中间检查仍是好习惯。Design->Netlist For Project->Protel。生成一个.NET文件,可以用文本编辑器打开查看,里面列出了所有元件和网络连接关系。
5.3 打印与PDF输出
为了评审、归档或发给不装AD的同事查看,需要输出PDF。
- 智能PDF生成:
File->Smart PDF。这是AD非常强大的功能。在向导中,你可以选择输出整个项目还是当前文档,是否包含原理图、PCB、BOM等。关键一步:在“Additional PDF Settings”中,勾选“Generate Nets Information”(生成网络信息)。这样生成的PDF,网络名是可搜索的,并且点击一个网络,所有同名网络都会高亮,对于阅读复杂电路图帮助巨大。 - 打印设置:如果直接打印,在打印预览中(
File->Page Setup)可以设置缩放比例、颜色(黑白/彩色)、以及是否打印在页面中心。
6. 常见问题与排查技巧实录
在实际操作中,你肯定会遇到各种各样的问题。这里我总结几个高频问题及其解决方法。
问题一:元件引脚连不上线,没有电气捕捉点(小“X”)?
- 原因与解决:这几乎100%是因为元件库绘制时,引脚的电气热点朝内了。必须返回原理图库(SchLib)中,编辑该元件,将引脚的“X”端朝向元件外部。另一个可能是栅格(Snap Grid)设置过大,导线捕捉不到引脚,将栅格改小(如5或1)试试。
问题二:编译时出现大量“Duplicate Net Names”错误?
- 排查步骤:
- 检查是否在不同页使用了相同的网络标签(Net Label)去连接不同的网络。网络标签是全局的(除非在较新版本中设置了作用域),同名即连接。
- 检查电源端口(Power Port),是否不小心将两个不同的网络都命名为“VCC”?或者使用了隐藏的电源网络(通过
Place->Power Port放置,但名称是隐藏的)。 - 使用
Navigator面板。编译后,在Navigator面板中点击“Interactive Navigation”按钮,然后点击原理图中的某个网络,所有同名网络都会被高亮。这是查找网络重复或连接错误的最直观方法。
问题三:如何快速对齐和分布多个元件?
- 技巧:选中多个需要对齐的元件,然后使用右键菜单中的
Align子菜单,里面有左对齐、右对齐、顶部对齐、底部对齐、水平均分、垂直均分等多种选项。或者使用快捷键A调出对齐菜单。这是让图纸整洁美观的必备技能。
问题四:更新PCB时,有些元件的封装找不到或报错?
- 根本原因:原理图元件的
Footprint属性指向的封装,在当前的PCB库路径中不存在或名称不匹配。 - 解决流程:
- 在原理图中,双击报错的元件,查看其
Footprint属性里指定的封装名。 - 打开PCB库(
.PcbLib),确认是否存在同名封装。 - 如果不存在,需要在PCB库中绘制或从其他库复制该封装。
- 如果存在但不匹配,检查封装焊盘编号(Designator)是否与原理图引脚编号对应。例如,一个二极管的原理图引脚是A和K,其封装焊盘也必须是A和K,不能是1和2(除非做了映射)。
- 在原理图中,双击报错的元件,查看其
问题五:层次图设计中,子图的修改如何同步到顶层图的图纸入口?
- 方法:在子图中增加或删除端口(Port)后,回到顶层图,右键点击对应的图纸符号(Sheet Symbol),选择
Sheet Symbol Actions->Synchronize Sheet Entries and Ports。AD15会自动根据子图的端口来更新顶层图纸符号的图纸入口,保持同步。
原理图设计是一个需要严谨和耐心的工作,它决定了后续所有环节的基线。养成好的习惯:即画即查封装、连线必捕热点、完成必先编译、输出必看BOM。当你画的图能一次性通过编译,并且生成的BOM清晰准确时,你就已经跨过了新手最常踩坑的阶段。接下来,我们就可以带着这份可靠的原理图,进入更激动人心的环节——PCB布局与布线。