☰
Altium Designer 24实战:STM32 PCB设计全流程与避坑指南
2026/10/6 5:48:59 网站建设 项目流程

PCB设计这件事,说难不难,说简单也真不简单。我见过太多人装了Altium Designer之后,对着空白的原理图界面发呆,不知道从哪下手;也见过有人画完了板子,导出Gerber的时候发现少了一层,或者丝印跑到焊盘上去了。这篇内容就是写给那些想从头到尾完整走一遍PCB设计流程的人——不管你是电子专业的学生要做毕业设计,还是刚入行的硬件工程师接手了第一个STM32项目,或者是从其他EDA工具转过来的老手想试试AD 24的新特性,下面这些内容都能让你少走弯路。

我用的版本是Altium Designer 24,主控选的是STM32系列,这也是目前热词里出现频率最高的组合。整块板子从新建工程、画原理图、导入PCB、布局布线、铺铜、DRC检查一直到导出Gerber和BOM,每一步我都会把操作路径、参数设置和踩过的坑讲清楚。你跟着走一遍,手里就能出一块能打样的板子。

1. 动手之前先把这些准备工作做扎实

1.1 AD 24的安装与初始配置

Altium Designer的安装本身没什么难度,但有几个地方如果不注意,后面用起来会很别扭。下载安装包之后,安装路径不要选带中文或空格的目录,这不是玄学,是AD的某些脚本引擎对中文路径支持不好,后面跑OutJob或者脚本导出的时候容易报莫名其妙的错。安装完成后第一次启动,它会让你登录账号,如果你没有正版授权,选择离线模式也能用大部分功能,只是云端的元件库和协作功能用不了。

装好之后先别急着建工程,花五分钟做几个初始设置。打开Preferences,找到System下的General,把自动保存间隔改成10分钟,AD崩溃这件事虽然比早年好多了,但谁也不想画了三小时的板子因为一次闪退全没了。然后在Schematic和PCB的Default Primitives里,把常用的线宽、过孔尺寸、栅格大小预设好。我一般会把默认走线宽度设成10mil,过孔设成内径0.3mm外径0.6mm,栅格设成100mil用于原理图、1mm用于PCB布局。这些预设看起来是小事,但每次新建工程都要重新调一遍的话,累积起来浪费的时间很可观。

还有一点,AD 24默认的界面主题是深色的,如果你从AD 19或更早版本转过来可能不太习惯。在View菜单里可以切换主题,但要注意切换主题后需要重启软件才能完全生效。另外,AD 24的Properties面板做了重新设计,很多人刚升级上来找不到原来的属性设置在哪,其实就在右侧面板区域,如果没显示的话在Panels菜单里勾选Properties就行。

1.2 元件库的获取与管理策略

画原理图之前你得有库。Altium自带了一些通用库,但说实话,里面的元件封装跟国内常用物料的对应关系不太行,尤其是STM32这种型号繁多的芯片,自带的库不一定有你要的具体型号。我的做法是建立自己的集成库,把常用的电阻电容、LDO、STM32各系列、常用接口芯片都整理进去。

获取元件库有几个途径。一是从立创商城下载,立创的EDA工具虽然跟AD不是一回事,但它提供的元件数据可以导出成AD能识别的格式,包括原理图符号和PCB封装。二是从芯片原厂的官网下载,ST官方就提供STM32的Altium库文件,直接导入就行,比自己画的靠谱。三是自己画,对于特殊的连接器或者非标元件,自己画反而最快。

这里有个经验:不要贪图省事直接用网上下载的来路不明的库。我踩过一次坑,用一个论坛上下载的STM32F103C8T6库,原理图符号看着没问题,但PCB封装的两个引脚间距差了0.5mm,板子打回来芯片焊不上去,整批板子报废。后来我养成了一个习惯,不管库从哪来的,导入之后一定要用AD的Footprint Comparison功能跟数据手册上的推荐封装尺寸对一遍,花两分钟能省几百块的打样费。

管理库的时候,建议用集成库(Integrated Library)的方式,把原理图符号和PCB封装绑定在一起,编译成一个.IntLib文件。这样在原理图里放置元件的时候,封装信息自动带过来,不用手动指定。如果你的库比较多,可以用Database Library的方式管理,但那个配置起来稍微复杂一些,新手先用集成库就够了。

1.3 工程结构的规划

新建工程的时候,AD会问你要建什么类型的工程。选PCB Project,然后右键工程名添加新的原理图文件和PCB文件。一个良好的工程结构应该是这样的:顶层工程文件(.PrjPcb)、原理图文件夹(放所有.SchDoc)、PCB文件夹(放.PcbDoc)、输出文件夹(放Gerber、BOM等)、文档文件夹(放数据手册、设计说明)。

为什么要分这么细?因为当你做了十几个工程之后,回头找一个特定项目的文件时,良好的目录结构能让你在十秒内定位到目标,而不是在一堆乱糟糟的文件里翻半天。而且AD的OutJob文件可以配置相对路径输出,目录结构清晰的话,换一台电脑打开工程也不会出现找不到输出路径的问题。

另外,工程文件一定要用版本控制管起来。Git也好,SVN也好,哪怕你就是每天手动复制一份到网盘也行。PCB设计是一个反复修改的过程,有时候改了一版发现还是上一版好,没有版本记录的话就只能凭记忆重新改。AD 24自带了版本控制功能,但用起来比较重,我个人还是习惯用Git管理工程目录,每次重大修改前commit一次,配合.gitignore忽略掉History和Project Outputs文件夹。

2. 原理图绘制:从空白页到完整电路

2.1 原理图环境设置与栅格规划

打开新建的原理图文件,第一件事是设置图纸参数。在Properties面板里,把图纸大小设成A4或者A3,取决于你的电路复杂度。STM32最小系统加上外设的话,A3比较合适,A4会显得很挤。栅格方面,Visible Grid设成100mil,Snap Grid设成10mil,这是最常用的组合。100mil的可见栅格让你能快速对齐元件,10mil的捕捉栅格让你在连线时能精确到引脚位置。

图纸的Title Block要填上,包括项目名称、版本号、设计者、日期。这些信息在打印原理图或者导出PDF的时候会自动带上,方便归档和评审。我见过有人画了几十张原理图,Title Block全是空的,过两个月自己都忘了哪张是哪张。

还有一个容易被忽略的设置:Auto Port和Net Label的字体大小。默认的字体在A3图纸上看起来偏小,打印出来看不清。我一般会把Net Label的字体设成10pt,Port的字体设成12pt,这样导出PDF之后在屏幕上阅读也很清晰。

2.2 STM32最小系统的原理图设计要点

STM32最小系统看起来简单,但有几个地方如果画错了,板子回来就是一堆砖头。首先是电源引脚的去耦电容,每对VDD/VSS引脚旁边都要放一个100nF的电容,而且这个电容在PCB布局的时候要尽量靠近引脚。原理图上看起来就是几个电容的事,但布局的时候如果放远了,芯片工作不稳定,你会查半天查不出原因。

其次是BOOT引脚的配置。STM32的BOOT0和BOOT1决定了芯片从哪启动,原理图上一般用跳线帽或者电阻来选择。我的习惯是BOOT0通过一个10k电阻下拉到地,同时留一个跳线帽可以拉到VCC,这样正常运行时从Flash启动,需要串口下载的时候把跳线帽插上就行。BOOT1一般直接下拉到地,除非你有特殊需求。

复位电路也是必须的。STM32的NRST引脚内部有上拉,但外部还是要加一个100nF的电容到地,再加一个复位按键。有些设计为了省事只放电容不放按键,调试的时候想手动复位都做不到,非常不方便。

晶振电路要注意负载电容的匹配。8MHz的外部晶振,负载电容一般选20pF左右,但具体值要看晶振的数据手册。我见过有人随便放了两个22pF的电容,结果晶振起振时间偏长,偶尔还会停振。另外晶振的走线在PCB上要尽量短,包地处理,远离干扰源。

SWD调试接口至少留出SWDIO、SWCLK、GND、VCC四根线,用2.54mm的排针或者1.27mm的贴片座都行。我推荐用2.54mm的4Pin排针,因为调试器一般配的是杜邦线,贴片座虽然省空间但需要专门的转接线,调试的时候不方便。

2.3 原理图连线与网络标签的规范使用

连线这件事,新手最容易犯的错误是用Wire直接连到元件的引脚上,但引脚上其实没有电气连接点。AD里元件的引脚末端有一个小圆圈,只有Wire连到这个圆圈上才算真正连接。如果你把Wire画到引脚中间,看起来是连上了,但ERC检查会报错,导入PCB的时候网络也是断的。

网络标签(Net Label)是提高原理图可读性的利器。对于STM32这种引脚多的芯片,不可能把所有线都直接连到外设上,这时候就用Net Label来建立连接。比如PA9引脚上放一个Net Label叫USART1_TX,然后在USB转串口芯片的RX引脚上也放一个USART1_TX,这两个点就建立了电气连接。用Net Label的好处是原理图看起来干净,而且网络名有意义,PCB布线的时候一眼就能看出这根线是干什么的。

总线(Bus)的使用要适度。对于8位或16位的数据总线,用Bus确实能让原理图更整洁,但Bus的入口和出口要标清楚,否则查线的时候很痛苦。我的经验是,只有超过4根同类型的信号线才考虑用Bus,少于4根的话直接用Net Label更直观。

电源符号要用对。VCC、VDD、+3.3V、+5V这些符号在AD里都有对应的网络名,不要混用。我见过有人在同一个工程里一会儿用VCC一会儿用+3.3V,结果导入PCB之后发现这两个网络是分开的,芯片的电源引脚没连上。统一用+3.3V和+5V这种带电压值的命名方式,一看就知道是什么电平。

2.4 原理图编译与ERC检查

画完原理图之后,必须做ERC(Electrical Rule Check)。在工程上右键选择Compile PCB Project,AD会检查所有的电气连接问题,包括未连接的引脚、重复的网络名、电源网络冲突等。ERC的警告和错误会在Messages面板里列出来,逐条排查。

常见的ERC错误有几种。"Net has only one pin"说明这个网络只连了一个引脚,要么是忘了连,要么是Net Label拼错了。"Duplicate Net Names"说明同一个网络名用在了不同的地方,AD不知道以哪个为准。"Power Object has no driving source"说明电源网络没有驱动源,比如你用了+3.3V的网络标签但没有对应的电源输出。

ERC通过之后,原理图就可以导入PCB了。但在导入之前,建议先导出PDF存档。在File菜单里选Smart PDF,把原理图导出成PDF,一方面方便评审和归档,另一方面万一后面改原理图改乱了,还能对照PDF找回原来的设计。

3. 从原理图到PCB:导入与布局策略

3.1 原理图导入PCB的完整流程

导入PCB之前,先确认所有元件的封装都指定好了。在原理图里双击任意元件,在Properties面板的Footprint区域可以看到当前指定的封装。如果某个元件没有封装,导入PCB的时候会报错。检查的方法是在原理图里用Tools下的Footprint Manager,它会列出所有元件及其封装,有问题的会标红。

确认无误后,在PCB文件打开的状态下,从原理图界面选择Design下的Update PCB Document。AD会弹出一个工程变更对话框,列出所有要执行的操作:添加元件、添加网络、添加Room等。点击Execute Changes,元件就会出现在PCB编辑区外面,等着你摆放。

这里有个细节:导入的时候建议勾选"Add Rooms"。Room是AD用来管理元件分组的功能,对于STM32这种引脚多的芯片,Room可以帮你快速选中同一组元件。但如果你觉得Room碍事,导入之后可以删掉,不影响设计。

导入之后先别急着布局,在PCB界面按快捷键L打开层设置,确认层叠结构。对于大多数两层板来说,Top Layer和Bottom Layer就够了,但如果你有阻抗控制的需求,可能需要四层板。层叠厚度、铜厚、介质厚度这些参数要跟PCB厂家的工艺能力匹配,一般嘉立创的默认工艺是1.6mm板厚、1oz铜厚,两层板的话介质厚度大概在1.5mm左右。

3.2 元件布局的核心原则与实操技巧

布局是PCB设计中最考验经验的部分。同样的电路,不同的人布局出来的板子,性能可能天差地别。我的布局原则是先大后小、先难后易、先核心后外围。

先把STM32芯片放到板子中央偏上的位置,因为它的引脚最多,需要向四周辐射走线。然后放晶振,晶振必须紧贴芯片,走线越短越好,一般不超过10mm。晶振下面不要走任何信号线,最好在晶振区域铺地铜并打过孔。接着放去耦电容,每个电源引脚旁边的100nF电容要尽量靠近引脚,电容到引脚的距离不超过5mm,否则去耦效果大打折扣。

电源部分要单独规划。LDO或者DC-DC芯片放在板子边缘,方便散热和接线。输入输出电容按数据手册的推荐值放置,大电容放在电源入口,小电容靠近负载。电感的选择要注意饱和电流,我见过有人用了一个额定电流不够的电感,结果一上电就饱和,输出电压直接掉下来。

接口部分要考虑使用便利性。USB接口、串口、调试接口要放在板子边缘,插拔方便。按键和LED放在手指容易够到的位置。如果有连接器需要经常插拔,周围要留出足够的空间,不要被其他元件挡住。

布局的时候用交叉选择模式会方便很多。在原理图里选中一个元件,PCB里对应的元件会高亮,反过来也一样。这个功能在Tools下的Cross Select Mode里开启。对于STM32这种引脚多的芯片,用交叉选择可以快速定位到对应的去耦电容,不用在PCB里一个个找。

3.3 布局后的检查清单

布局完成之后,在进入布线之前,花十分钟做一遍检查,能避免后面大量的返工。我总结了一个检查清单:

检查项检查内容常见问题
元件间距相邻元件是否太近焊接时烙铁放不进去
极性方向电解电容、二极管方向方向反了会炸
接口位置连接器是否在板边被其他元件挡住插不进去
安装孔螺丝孔周围是否有元件螺丝头压到元件
散热发热元件是否分散热集中导致局部过热
晶振是否紧贴芯片走线太长导致起振困难
去耦电容是否靠近电源引脚距离太远去耦失效

这个清单看起来简单,但每一条都是我用真金白银的教训换来的。特别是安装孔那条,我曾经在一块板子上把螺丝孔放在了一个电容旁边,结果装配的时候螺丝头直接压碎了电容,整块板子报废。

4. 布线:从规则设置到手动优化

4.1 布线规则的配置

在开始布线之前,必须先设置布线规则。AD的规则系统很强大,但默认规则不一定适合你的设计。在Design菜单下选择Rules,打开规则编辑器。

最常用的几个规则:Clearance(安全间距),默认是10mil,对于大多数低压数字电路来说够用了,但如果你的板子有高压部分,间距要相应加大。Width(线宽),我一般设三档:电源线20mil、信号线10mil、特殊信号线(如USB差分对)按阻抗要求设置。Via(过孔),内径0.3mm外径0.6mm是常规选择,如果板子密度高可以用更小的,但要确认PCB厂家的最小过孔能力。

差分对规则对于USB、以太网这些高速信号很重要。在Rules里找到Differential Pairs Routing,设置差分对的线宽和间距,AD会自动计算阻抗。STM32的USB接口是USB 2.0 Full Speed,差分阻抗要求90欧姆,用嘉立创的常规工艺的话,线宽大概10mil、间距6mil左右能接近这个值,但最好用AD自带的阻抗计算器算一下。

铺铜规则也要提前设好。在Plane下的Polygon Connect Style里,设置铺铜与焊盘的连接方式。对于需要散热的大焊盘,用Direct Connect(直接连接);对于需要方便焊接的小焊盘,用Thermal Relief(热焊盘)。热焊盘的连接线宽度一般设成10mil,太宽了散热太快不好焊,太窄了连接强度不够。

4.2 手动布线的顺序与技巧

规则设好之后就可以布线了。我的布线顺序是:先走电源和地,再走关键信号,最后走普通信号。

电源线要粗,这是基本原则。STM32的电流不大,但如果你板子上有电机驱动或者大功率LED,电源线要按电流计算线宽。有个经验公式:1oz铜厚下,1mm线宽大约能承载1A电流。留一倍余量的话,2A的电流至少要用2mm线宽,或者用铺铜的方式。

关键信号包括晶振、USB差分对、复位线等。晶振走线要短、要直、要包地。USB差分对要等长、平行、远离干扰源。复位线不要跟高频信号平行走。

普通信号线可以稍微随意一些,但也要遵循短、直、少过孔的原则。每增加一个过孔,就增加一份寄生电感和电阻,对于高速信号来说影响很大。我一般会尽量在一层上走完所有信号,实在走不通才用过孔换层。

布线的时候用Interactive Router模式,AD 24的交互式布线器比早期版本好用很多,支持推挤、环绕、差分对同时布线。按快捷键P然后T进入布线模式,按Tab键可以临时修改线宽和过孔尺寸。Shift+空格可以切换走线拐角模式,我一般用45度角,高速信号的话用圆弧。

4.3 铺铜与接地处理

铺铜是PCB设计中很重要的一步,尤其是对EMC性能影响很大。在Polygon Pour Manager里新建一个铺铜区域,选择网络为GND,层选择Top Layer和Bottom Layer,然后沿着板子边缘画一个闭合多边形。

铺铜的参数设置有几个关键点。Remove Dead Copper要勾选,否则孤立的铜皮会成为天线,反而引入干扰。Pour Over All Same Net Objects要勾选,这样铺铜会自动连接到同网络的焊盘和过孔。Thermal Relief的连接方式按之前设的规则来。

接地策略是铺铜的核心。对于STM32这种混合信号芯片,建议采用单点接地的方式,模拟地和数字地在芯片下方通过一个0欧姆电阻或者磁珠连接。铺铜的时候,模拟部分和数字部分分开铺,最后在一点汇合。如果板子上有ADC或者DAC电路,这一点尤其重要。

过孔 stitching是提高接地质量的有效手段。在铺铜区域上每隔一段距离打一个GND过孔,把顶层和底层的铺铜连接起来。过孔间距一般设成波长的1/20,对于STM32这种最高几十MHz的信号来说,每隔10mm打一个过孔就足够了。在板子边缘和晶振周围可以适当加密。

铺铜完成之后,一定要重新铺一遍。在Polygon Pour Manager里选择Repour All,AD会重新计算所有铺铜区域。有时候改了走线之后忘了重新铺铜,导致铺铜和走线短路,DRC会报错但如果你不看就发现不了。

5. 设计验证与生产文件输出

5.1 DRC检查与常见错误处理

布线完成之后,必须做DRC(Design Rule Check)。在Tools菜单下选择Design Rule Check,AD会按照之前设置的规则检查整个设计。DRC报告会列出所有违规项,按严重程度分为Error和Warning。

常见的DRC错误有几种。Clearance Violation说明两个不同网络的物体距离太近,需要调整走线或者修改规则。Width Violation说明线宽不符合规则,可能是布线时手动改了线宽忘了改回来。Un-Routed Net说明有网络没有布完,这个必须解决,否则板子回来是断路的。Silk to Solder Mask说明丝印压到了焊盘上,虽然不影响电气性能,但会影响焊接,最好调整一下。

处理DRC错误的时候,不要盲目修改规则来消除错误。我见过有人为了省事,把Clearance规则从10mil改成5mil,错误是没了,但板子做出来短路的风险大大增加。正确的做法是逐条分析错误原因,该调走线调走线,该移元件移元件。

DRC通过之后,建议再跑一遍Footprint检查。在Reports菜单下选择Component Rule Check,检查所有元件的封装是否完整、是否有重复的位号、是否有缺少焊盘的封装。这一步能发现一些DRC检查不出来的问题。

5.2 Gerber文件导出与检查

Gerber文件是PCB厂家用来生产板子的标准格式。在AD里导出Gerber有两种方式:File下的Fabrication Outputs和OutJob文件。对于简单的板子,用Fabrication Outputs就够了;对于复杂的项目,建议用OutJob,因为OutJob可以保存配置,下次直接调用就行。

导出Gerber的时候,层选择很关键。两层板需要导出的层包括:Top Layer、Bottom Layer、Top Solder Mask、Bottom Solder Mask、Top Silkscreen、Bottom Silkscreen、Keep-Out Layer、Mechanical Layer(板框)。如果是四层板,还要加上Internal Plane层。

钻孔文件要单独导出。在Fabrication Outputs下选择NC Drill Files,格式选Excellon,单位选毫米,小数位数选3:3。钻孔文件里包含了所有过孔和安装孔的位置和尺寸,PCB厂家需要这个文件来编程钻孔机。

导出之后一定要检查Gerber文件。AD自带的Gerber查看器可以打开导出的文件,或者用免费的Gerber查看工具。检查的内容包括:每层的图形是否完整、丝印是否清晰、焊盘是否齐全、钻孔位置是否正确。我踩过一次坑,导出Gerber的时候忘了勾选Bottom Silkscreen,结果板子回来底层没有任何丝印,调试的时候完全不知道哪个元件是哪个。

5.3 BOM表生成与物料采购

BOM(Bill of Materials)是采购物料的依据。在AD里可以通过Reports下的Bill of Materials生成BOM表,导出成Excel或者CSV格式。BOM表里包含位号、元件类型、封装、数量、备注等信息。

生成BOM之后,需要手动整理一遍。AD自动生成的BOM会把相同型号但不同位号的元件合并,但有时候合并的逻辑不符合你的预期。比如两个10k电阻,一个0603封装一个0805封装,AD可能会把它们当成同一个物料,但实际上你需要采购两种不同封装的电阻。我的做法是导出BOM之后,在Excel里按封装和型号重新排序,手动核对一遍。

物料采购的时候要注意几点。一是确认封装尺寸,0603和0805的电阻虽然阻值一样,但封装不同不能混用。二是确认耐压值,电容的耐压要高于电路中的最高电压,留一倍余量。三是确认精度,普通电阻用5%精度就够了,但采样电阻或者分压电阻可能需要1%甚至0.1%的精度。四是确认温度系数,对于精密模拟电路,温度系数大的电阻会导致温漂。

STM32芯片的采购要特别注意渠道。市面上有很多翻新片或者拆机片,价格便宜但稳定性没保证。建议从正规代理商或者立创商城这种有质量保证的渠道采购。芯片到手之后,如果条件允许,用编程器读一下芯片ID,确认是正品。

5.4 打样前的最终检查

在把Gerber文件发给PCB厂家之前,做一遍最终检查。我一般会对照这个清单过一遍:

  • Gerber文件是否包含了所有需要的层
  • 钻孔文件是否与Gerber对齐
  • 板框尺寸是否正确
  • 安装孔位置和孔径是否正确
  • 丝印是否有重叠或压焊盘
  • 阻焊开窗是否合适
  • 是否有孤立的铜皮
  • 元件位号是否清晰可见

还有一点容易被忽略:板子的厚度和铜厚。默认是1.6mm板厚和1oz铜厚,如果你有特殊需求,要在下单的时候备注清楚。比如需要更薄的板子用于嵌入到某个外壳里,或者需要2oz铜厚来承载更大的电流。

打样厂家选择方面,嘉立创是目前国内最常用的,价格便宜、交期快,对于普通的双层板来说完全够用。如果你的板子有阻抗控制或者特殊工艺要求,可能需要找更专业的厂家。下单的时候把Gerber文件打包成zip上传,厂家会自动解析层信息,确认无误后就可以付款等板子了。

6. 几个让我印象深刻的踩坑记录

6.1 晶振不起振的排查过程

有一次我画了一块STM32F103的板子,打回来之后发现芯片不工作,用示波器测晶振引脚,发现没有波形。排查过程是这样的:先确认电源正常,3.3V电压稳定;然后确认复位引脚电平正常,NRST是高电平;接着检查BOOT引脚,BOOT0接地、BOOT1接地,应该从Flash启动;最后测晶振,发现8MHz晶振的两个引脚都没有振荡波形。

换了晶振和负载电容之后还是不起振,于是怀疑是布局问题。把PCB文件打开仔细看,发现晶振的走线虽然不长,但走线下面有一根PWM信号线经过。把PWM信号线移开之后,晶振正常起振了。这个问题的根源是晶振走线受到了干扰,虽然走线本身不长,但下面的信号线通过寄生电容耦合到了晶振电路上,导致起振困难。

后来我养成了一个习惯:晶振区域下方不走任何信号线,并且在晶振周围铺地铜、打过孔。如果板子空间允许,还会在晶振下面挖空,减少寄生电容。

6.2 去耦电容放远了的后果

还有一次,板子打回来之后STM32偶尔会死机,尤其是电机启动的时候。查了很久,最后发现是去耦电容的问题。原理图上每个电源引脚都配了100nF电容,但布局的时候为了走线方便,把电容统一放在了一排,离芯片有20多毫米远。

去耦电容的作用是提供瞬态电流,如果离芯片太远,走线的寄生电感会阻碍电流的快速响应,导致芯片电源引脚上的电压波动。电机启动的时候电流变化剧烈,电源波动更大,芯片就容易复位或者死机。

重新布局之后,把每个去耦电容都紧贴对应的电源引脚放置,问题就解决了。这个教训让我明白,原理图正确不代表PCB正确,布局的重要性不亚于原理图设计。

6.3 Gerber导出遗漏层的惊险经历

最惊险的一次是导出Gerber的时候忘了勾选Bottom Silkscreen。板子打回来之后,底层光秃秃的,什么标识都没有。虽然电气性能没问题,但调试的时候非常痛苦,因为不知道哪个焊盘对应哪个元件。特别是0402封装的电阻电容,没有丝印根本分不清。

从那以后,我导出的Gerber文件都会用AD自带的Gerber查看器打开,逐层检查。Top Layer、Bottom Layer、Top Silkscreen、Bottom Silkscreen、Top Solder、Bottom Solder、Keep-Out Layer、Drill Drawing,一层一层看过去,确认每层都有内容且内容正确。这个习惯虽然多花五分钟,但能避免打回来发现问题的返工成本。

7. 工程文件的组织与后续维护

7.1 工程文件的归档规范

一块板子设计完成之后,工程文件的归档很重要。我的归档结构是这样的:工程根目录下分五个文件夹,Project放工程文件和原理图、PCB源文件,Output放Gerber、BOM、坐标文件等生产文件,Datasheet放所有用到的芯片和元件的数据手册,Doc放设计说明、测试报告、版本记录,Library放这个工程用到的自定义库文件。

每个文件夹里再按版本号分子文件夹,比如V1.0、V1.1、V2.0。版本号的规则是:小改动加0.1,大改动加1.0。每次改版都要在Doc文件夹里记录改了什么、为什么改。这个习惯在项目多了之后特别有用,半年后回头看某个设计,能快速理解当时的思路。

7.2 设计复用与模块化思路

STM32最小系统、电源电路、USB转串口电路这些模块,在不同的项目中会反复用到。我的做法是把这些常用模块做成复用模块(Reuse Block),在AD里保存成.SchDoc和.PcbDoc的片段,新项目直接拖进来就行。

复用的时候要注意网络名的冲突。比如两个模块都有VCC网络,直接复用的话网络会合并,这是正常的。但如果两个模块都有叫"LED1"的网络但实际功能不同,就会出问题。我的做法是给每个模块的网络名加前缀,比如电源模块的网络叫PWR_VCC,LED模块的网络叫LED1_ANODE,这样复用的时候不会冲突。

7.3 从这块板子延伸出去的学习方向

这块STM32最小系统板画完之后,你可以基于它做很多扩展。比如加上OTA升级功能,需要用到STM32的IAP功能,在PCB上要预留串口或者USB接口。比如做逆变器方案,需要加上MOSFET驱动电路和电流采样电路,PCB布局的时候要注意功率回路的最小化。比如做车规级设计,需要遵循更严格的EMC和可靠性规范,PCB的层叠设计和接地策略都要重新考虑。

如果想深入学习PCB设计,建议从信号完整性和电源完整性两个方向入手。信号完整性关注的是高速信号的传输质量,包括反射、串扰、时序等问题。电源完整性关注的是电源分配网络的阻抗和噪声,包括去耦电容的选型和布局、电源平面的分割等。这两个方向的内容很多,但掌握了之后,你设计的板子就不只是"能用",而是"好用"。

另外,多看别人的设计也是提高的捷径。拆解一些成熟的开发板或者产品板,看别人是怎么布局的、怎么走线的、怎么铺铜的。AD的社区和论坛里有很多开源项目,下载下来研究一下,比看十本书都管用。

需要专业的网站建设服务?

联系我们获取免费的网站建设咨询和方案报价,让我们帮助您实现业务目标

立即咨询