Altium Designer 19 与 51 单片机硬件设计入门:从原理图库绘制到工程创建
1. 从零开始的硬件设计之旅为什么选择AD19与51单片机如果你对电子设计感兴趣想亲手打造一块属于自己的电路板那么从一块经典的51单片机开发板入手绝对是最佳起点。这就像学编程从“Hello World”开始一样51单片机以其结构简单、资料海量、成本低廉的特点成为了无数工程师的“启蒙老师”。而要把脑海中的电路图变成手中实实在在的PCB板一款强大且主流的EDA电子设计自动化工具必不可少Altium Designer简称AD正是这个领域的行业标杆之一。我选择AD19版本进行教学并非因为它是最新版恰恰相反AD19是一个在稳定性、功能性和资源丰富度上取得很好平衡的版本。它比更老的版本如AD10、AD16拥有更现代的界面和更优的性能同时又不像AD21、AD22等最新版本那样对电脑配置要求苛刻且网上破解、汉化、教程资源极为丰富非常适合学习和入门。很多公司的实际项目也仍在使用这个版本学会了它你就能平滑过渡到任何新版本。至于开发板我们选择最经典的STC89C52RC这款51内核单片机。它几乎包含了单片机所有基础外设IO口、定时器、中断、串口。围绕它我们可以设计出电源、复位、时钟、下载、LED、按键等基础电路构成一个最小系统。通过这个项目你不仅能学会画板更能深刻理解一块单片机开发板是如何“从无到有”被设计出来的每一个电阻、电容为何存在每一根走线为何要那样连接。这远比直接购买一块现成的开发板然后照着例程调代码要有价值得多。本系列教程将完全模拟一个真实项目的开发流程从软件安装、工程创建到绘制每一个元器件的原理图符号Part1内容再到绘制原理图、设计PCB布局布线、生成生产文件后续Part。我会把我这些年画板子踩过的坑、总结的技巧毫无保留地分享出来。你会发现硬件设计远不止是连连线那么简单它充满了工程上的权衡与细节上的魔鬼。2. Altium Designer 19 安装详解与避坑指南工欲善其事必先利其器。AD的安装过程虽然不复杂但有几个关键步骤如果搞错后续可能会遇到各种诡异的报错甚至软件无法运行。网上流传的安装包和破解方法鱼龙混杂这里我结合自己的经验给你梳理一条最稳妥的路径。2.1 安装包获取与系统环境准备首先你需要获取AD19的安装文件。通常它是一个名为AltiumDesigner19Setup之类的ISO镜像文件或大型压缩包。请通过可靠的渠道获取注意核对文件完整性。在安装前务必做好以下准备关闭所有杀毒软件和防火墙这是最重要的一步AD的破解补丁会被绝大多数杀毒软件误报为病毒而直接删除或隔离导致破解失败。请务必在安装全程暂时关闭它们。系统账户名检查你的Windows系统用户名强烈建议使用纯英文。如果包含中文在后续软件运行、路径处理时可能产生无法预料的兼容性问题。如果已经是中文可以考虑新建一个英文账户或者使用一些高级方法修改但这步能避免则避免。安装路径为AD选择一个空间充足的磁盘分区。安装路径也必须全是英文不要包含任何中文或特殊字符。例如D:\Software\Altium\AD19就是一个好选择。以管理员身份运行右键点击安装程序选择“以管理员身份运行”确保有足够的权限写入系统文件和注册表。2.2 分步安装与关键选项解析运行安装程序后跟随向导进行。在以下几个页面需要特别注意许可协议选择“I accept the agreement”。安装类型选择“PCB Design”这是核心功能。安装路径按之前规划选择纯英文路径。是否安装桌面快捷方式等建议全部勾选。安装过程会持续一段时间期间可能会弹出Windows安全警报询问是否允许“Altium Designer”通过防火墙一律选择“允许访问”。安装完成后先不要急着启动软件。2.3 破解流程核心许可证文件与补丁破解是让AD从试用版变为“永久版”的关键。通常破解包会包含一个Licenses文件夹和一个dxp.exe补丁文件。流程如下复制许可证文件将Licenses文件夹复制到你的AD19安装目录下例如D:\Software\Altium\AD19。应用补丁将破解包里的dxp.exe文件复制并粘贴到AD19安装目录下的System文件夹内例如D:\Software\Altium\AD19\System覆盖原有的文件。这一步就是替换主程序注入破解信息。启动软件现在可以双击桌面快捷方式启动AD19了。添加许可证首次启动软件会要求你添加许可证。点击“Add Standalone License file”然后浏览到你刚才复制进去的Licenses文件夹里面会有一些.alf文件任意选择一个添加即可。如果添加成功下方会显示“Licensed to...”等信息并且没有过期时间。注意覆盖dxp.exe时如果系统提示“文件正在使用”或“需要权限”说明AD的相关进程还在后台运行。请打开任务管理器CtrlShiftEsc在“进程”或“详细信息”中找到所有名为dxp.exe或X2.exe的进程右键结束任务然后再进行覆盖操作。2.4 安装后的必要优化与汉化可选安装破解成功后建议立即进行几项设置能极大提升后续使用的体验。设置默认存储路径进入软件点击右上角齿轮图标进入Preferences。在System - General下设置Default Location为你希望存放工程文件的目录比如D:\AD_Projects。这样新建工程时会默认定位到此管理起来非常清晰。配置备份选项在Preferences - System - Backup中建议开启自动备份Enable Backup并设置一个合理的备份间隔如30分钟和最大备份版本数如5。硬件设计无小事一个崩溃或误操作可能让你几小时的工作白费自动备份是救命的稻草。关于汉化网上有AD19的汉化包。我的个人建议是尽量不要汉化或者仅汉化菜单。因为很多专业术语的翻译并不准确甚至有些怪异且汉化可能导致软件不稳定或某些高级功能出现异常。初期适应英文界面有点痛苦但长远来看看英文数据手册、搜索英文资料都会更顺畅。如果你实在需要可以寻找可靠的仅菜单汉化包并做好备份。3. 创建你的第一个硬件工程框架与规范软件准备好了我们开始真正的设计工作。在AD中所有文件都不是孤立的它们被一个工程文件.PrjPcb组织和管理。建立一个规范的工程结构是专业习惯的开始。3.1 新建工程与文件类型解析打开AD19点击File - New - Project...选择PCB Project给工程起个名字例如My_51_Development_Board。注意保存路径应在你之前设置的默认目录下。在左侧的Projects面板中右键点击新建的工程名选择Add New to Project这里你会看到一堆文件类型。对于我们这个项目需要创建以下几种Schematic原理图文件后缀.SchDoc。这是我们绘制电路连接图的地方。PCBPCB文件后缀.PcbDoc。这是我们进行物理布局和布线的地方。Schematic Library原理图库文件后缀.SchLib。这是我们本Part的重点用于绘制和存储所有元器件的原理图符号。PCB LibraryPCB库文件后缀.PcbLib。用于绘制和存储所有元器件的PCB封装即实物焊盘图形。核心概念一定要理解“原理图符号”和“PCB封装”的区别。原理图符号是逻辑上的表示比如一个电阻画成一个矩形加两个引脚它只关心电气连接引脚1和2。而PCB封装是物理上的表示它定义了实际焊盘的大小、形状、间距以及元件的外形轮廓。两者通过唯一的“标识符”关联。画错封装板子做回来元件就焊不上去。3.2 工程目录管理的个人经验我强烈建议你在系统文件夹中也建立清晰的目录结构。例如D:\AD_Projects\ └── My_51_Development_Board\ ├── Project\ # 存放 .PrjPcb, .SchDoc, .PcbDoc 等工程文件 ├── Library\ # 存放 .SchLib, .PcbLib 库文件 ├── Output\ # 存放后期生成的Gerber、BOM、钻孔文件等 └── Doc\ # 存放设计说明、参考文档等然后在AD的Projects面板中将对应的文件保存到上述目录。虽然AD内部可以管理但清晰的本地目录会让你在备份、归档、跨电脑协作时无比轻松。你可以先在Windows资源管理器里创建好这些文件夹。4. 原理图库绘制实战以STC89C52RC为例现在进入最核心的动手环节——绘制原理图库。很多人喜欢直接去网上下载现成的库这当然快但我坚持认为亲手绘制一遍核心元件的库是理解元件和掌握AD绘图工具的必经之路。我们以本项目的核心STC89C52RC单片机为例。4.1 创建库元件与栅格设置打开之前创建的.SchLib文件。工作区中央会出现一个十字坐标轴这就是元件的绘制原点。点击下方面板标签栏的SCH Library进入库管理面板。这里会列出当前库中的所有元件。默认有一个空元件Component_1双击它重命名为STC89C52RC。在绘制前先设置栅格按快捷键G可以在几种栅格间距间切换。绘制引脚时建议使用100mil或50mil的栅格这样引脚能对齐图纸也整洁。100mil即2.54mm是标准双列直插DIP封装的引脚间距我们画的单片机是DIP40封装正好适用。4.2 绘制元件外形与放置引脚绘制外形在工具栏选择Place - Rectangle或者点击放置矩形图标。以原点为中心画一个能容纳40个引脚的矩形。大小不必精确能清晰放下所有引脚即可比如左右各20个引脚。矩形只是一个视觉示意没有电气属性。放置引脚——最关键的步骤选择Place - Pin或按快捷键P-P。这时光标会带着一个引脚一端有个“×”。请记住引脚上有“×”的一端是具有电气连接属性的末端必须朝外。放置前按Tab键打开引脚属性对话框。Display Name引脚显示名称如P1.0。Designator引脚标识符必须唯一且连续从1开始到40。Electrical Type电气类型。这是非常重要的属性它会影响后续ERC电气规则检查。对于单片机IO口通常设为IO对于电源VCC设为Power对于地GND设为Power对于复位RST可以设为Input。正确设置能在原理图阶段帮助发现一些连接错误。Length引脚长度一般20或30即可。Pin引脚编号必须与Designator一致且必须与PCB封装的焊盘编号一一对应这是关联原理图和PCB的生命线。根据STC89C52RC的数据手册我们开始放置引脚。通常放置顺序是左上角开始逆时针放置。例如引脚1 (P1.0)引脚2 (P1.1)... 引脚20 (GND)引脚21 (P2.0)... 引脚40 (VCC)。放置时注意将引脚名称和编号放在矩形框外侧合适位置。4.3 引脚属性设置的深层逻辑与技巧放置引脚时有几个高级技巧和易错点隐藏电源引脚对于像VCC40脚和GND20脚这样的全局电源引脚有时我们希望它们在原理图符号上不显示以保持符号简洁。可以在引脚属性中勾选Hide然后将其Connect To属性分别设置为VCC和GND。这样在原理图中使用该元件时这两个引脚会自动连接到名为VCC和GND的网络而无需手动连线。但初学者建议先不隐藏以便更清晰地理解所有连接。引脚分组与命名将功能相似的引脚在符号上适当分组排列比如P0口、P1口、P2口、P3口分别放在矩形的四边中间放置控制引脚RSTEA/VPPALE/PROG等。这样画原理图时连线逻辑非常清晰。核对核对再核对画完40个引脚后务必对照官方数据手册的引脚图逐一检查Designator编号和Display Name名称是否完全正确。这里错一个后续原理图连接和PCB封装映射就会全乱套。4.4 为元件添加封装与其他属性画好符号只是完成了一半。我们必须为这个原理图符号指定一个PCB封装。在SCH Library面板选中STC89C52RC元件点击下方Properties中的Add Footprint...。在打开的对话框中点击Browse...理论上可以浏览到已安装的库。但我们还没画封装所以这里先可以输入一个名字比如DIP-40作为占位符。我们会在下一部分Part2详细讲解如何绘制精确的DIP-40封装。在元件属性中还可以填写Description描述如8-bit 51 MicrocontrollerComment注释通常填元件值或型号这里填STC89C52RCValue值对于芯片可以空着或填型号。5. 绘制其他关键元件库电阻、电容、接插件单片机画完了但一块开发板还需要许多其他元件。它们的画法类似但各有特点。5.1 无源器件电阻、电容、电感对于电阻、电容这类两个引脚的无源器件AD自带的Miscellaneous Devices.IntLib库中其实都有。但我们为了练习可以自己画一个。在SCH Library面板点击Add新建一个元件命名为RES。绘制一个矩形或一条波浪线电阻的常用符号。放置两个引脚Designator分别为1和2。Electrical Type设为Passive。关键点在元件属性中将Comment设为R?Value设为1K。这里的?是通配符当我们在原理图中放置多个电阻时AD会自动将其编号为R1 R2 R3...。Value是元件的参数值原理图上会显示出来。同样为其添加一个封装比如AXIAL-0.3直插电阻的常见封装名。电容CAP、发光二极管LED的画法类似注意二极管的引脚有极性电气类型可设为Passive图形上可以用三角形加短线表示阴极。5.2 接插件排针、电源座、按键接插件是开发板上用于对外连接的部分它们的绘制关键在于引脚编号和实际物理顺序的一致性。排针Header比如一个2x20的双排排针用于连接LCD。新建元件Header_2x20。你需要放置40个引脚。如何排列通常有两种方式一种是按物理位置左边一排为1-20右边一排为21-40另一种是按信号流将同一行的两个引脚如1和21在符号上放近。我推荐第一种清晰不易错。绘制一个矩形代表排针底座将40个引脚分别放置在矩形两侧。按键Switch以四脚轻触开关为例。新建元件SW_PB。放置4个引脚。它的内部连接通常是对角相通1-3连通2-4连通。在原理图符号上可以用两个交叉的连线表示这种默认连接关系使用Place - Line画线但这只是示意电气连接还是由引脚决定。封装对应一个4脚的贴片或通孔焊盘。电源座DC Jack如常见的5.5/2.1mm直流插座。新建元件DC_JACK。通常有3个引脚中心正极、外圈负极、外壳地有时与负极相通。查阅具体型号的数据手册确定引脚定义。绘制一个形象的符号有助于识别。5.3 利用复制与阵列粘贴提升效率当你需要绘制多个类似引脚时如40个单片机引脚手动一个个放非常慢。可以使用“阵列粘贴”功能。先放置并设置好第一个引脚如引脚1P1.0。选中该引脚CtrlC复制然后点击Edit - Paste Array...。在弹出的对话框中Item Count: 要粘贴的数量比如19因为已经有一个了。Text Increment: 文本增量。对于引脚编号设为1对于引脚名称如果是有规律的如P1.1 P1.2...可能需要更复杂的处理通常阵列粘贴更适合编号递增名称后续手动修改或通过脚本处理。Enable: 勾选。点击OK后在图纸上点击放置起点AD会自动粘贴出19个引脚并且它们的Designator会自动递增234...20。这大大提升了绘制多引脚器件的效率。对于名称你可能还需要批量编辑可以选中所有引脚在右侧Properties面板中统一修改部分属性。6. 库管理的高级技巧与设计规范画好一堆元件后如何管理它们让后续使用和团队协作更高效这里有一些进阶心得。6.1 库的整合与分类一个项目可能会用到自己画的库、公司库、供应商库。建议项目专用库将本项目用到的所有自定义和修改过的元件都放在本项目自己的.SchLib和.PcbLib中。这样工程迁移时所有依赖都在不会丢失。通用库可以建立一个单独的“我的通用库”工程里面分门别类地存放电阻、电容、接插件、常用芯片等。在其他新项目开始时可以直接从这个库中复制所需的元件到项目库中。使用集成库.IntLib可以将原理图库和PCB库编译成一个集成库这样元件和封装的关联更紧密不易出错。但对于正在开发、频繁修改的库不建议过早编译成集成库。6.2 元件属性的标准化填写养成填写完整元件属性的习惯对未来生成物料清单BOM至关重要。Comment一般填型号或类别如STM32F103C8T610uFLED。保持统一风格。Value填具体参数值如16MHz10uF/25VRed。对于芯片可以和Comment相同或更简略。Description详细描述如Ceramic Capacitor, X7R, 0805。Manufacturer和Manufacturer Part Number尽可能填写。这是BOM采购的核心信息。你可以在画库时就从立创商城、得捷电子等网站查好型号填进去。Supplier和Supplier Part Number填写你常用的供应商和其编号。6.3 检查与验证避免后期灾难库画完后在投入原理图设计前必须进行自我检查。引脚编号检查逐一核对原理图符号的引脚编号Designator与数据手册是否一致。这是最高优先级的检查项。封装关联检查确保每个元件都正确关联了封装名Footprint。即使封装还没画名字要先对上。电气类型检查电源、地、输入、输出、IO口等类型设置是否合理这能帮助发现原理图中电源短路、输出接输出等潜在错误。符号直观性你画的符号别人或者一个月后的你自己能一眼看懂吗引脚排列是否逻辑清晰有没有隐藏了不该隐藏的引脚7. 常见问题排查与个人经验分享在绘制原理图库的过程中你肯定会遇到一些坑。这里分享几个我踩过的以及解决办法。问题放置引脚时名称和编号重叠或太远。原因放置引脚时光标点击的位置决定了引脚的“电气热点”带×端位置而名称和编号的相对位置由软件默认设置决定。解决放置后可以单击选中引脚拖动名称或编号的文本框到合适位置。或者在放置前按Tab键在属性里调整“Name Position”和“Number Position”的偏移量。问题原理图中使用自定义元件时连线无法连接到引脚上。原因大概率是绘制原理图符号时引脚的“电气热点”那个小“×”被矩形或其他图形覆盖在了内部没有暴露在元件轮廓之外。解决回到库编辑界面放大检查每个引脚确保带“×”的一端完全伸出元件轮廓矩形之外。连线时必须连接到这个“×”点上。问题从其他库复制元件过来封装信息丢失。原因复制时可能只复制了原理图符号部分封装信息没有附带过来或者封装所在的库路径没有添加到当前工程。解决最稳妥的方法是在目标库中新建元件然后打开源库和目标库使用Tools - Copy Component功能将元件从一个库复制到另一个库这样能最大程度保留属性。复制后检查封装名称并确保该封装存在于当前项目的PCB库或可用路径中。个人习惯我习惯在绘制一个复杂的芯片符号后立即在原理图库编辑器里用Place - Drawing Tools - Text放置一个文本框简要写下该芯片的关键信息比如“供电5V”“下载方式串口”“注意P0口内部无上拉”。这个文本不会出现在原理图中但保存在库文件里下次打开库看到这个元件时能快速回忆起关键点相当于给自己的笔记。画原理图库是一项需要耐心和细致的工作它枯燥但极其重要。就像盖房子的图纸符号画错了后面的一切都是空中楼阁。当你亲手完成了STC89C52RC、电阻、电容、LED、排针、按键、电源座这一系列元件的库之后你对这些元件的电气特性和物理形态的理解会上一个台阶。这份自己打造的“武器库”是你硬件设计能力的坚实基石。在下一部分Part2我们将利用这些绘制好的元件开始搭建51单片机开发板的完整原理图并深入学习原理图绘制的规范、技巧和检查方法。你会发现前期库工作做得越扎实后面的原理图设计就越顺畅。