ARTICLE DETAIL

资讯详情

深耕网站建设与运营推广的一线实战洞察。

Altium Designer 24实战:STM32 PCB设计全流程与避坑指南

Altium Designer 24实战:STM32 PCB设计全流程与避坑指南 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设成100milSnap Grid设成10mil这是最常用的组合。100mil的可见栅格让你能快速对齐元件10mil的捕捉栅格让你在连线时能精确到引脚位置。图纸的Title Block要填上包括项目名称、版本号、设计者、日期。这些信息在打印原理图或者导出PDF的时候会自动带上方便归档和评审。我见过有人画了几十张原理图Title Block全是空的过两个月自己都忘了哪张是哪张。还有一个容易被忽略的设置Auto Port和Net Label的字体大小。默认的字体在A3图纸上看起来偏小打印出来看不清。我一般会把Net Label的字体设成10ptPort的字体设成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检查画完原理图之后必须做ERCElectrical Rule Check。在工程上右键选择Compile PCB ProjectAD会检查所有的电气连接问题包括未连接的引脚、重复的网络名、电源网络冲突等。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 AllAD会重新计算所有铺铜区域。有时候改了走线之后忘了重新铺铜导致铺铜和走线短路DRC会报错但如果你不看就发现不了。5. 设计验证与生产文件输出5.1 DRC检查与常见错误处理布线完成之后必须做DRCDesign Rule Check。在Tools菜单下选择Design Rule CheckAD会按照之前设置的规则检查整个设计。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表生成与物料采购BOMBill 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_VCCLED模块的网络叫LED1_ANODE这样复用的时候不会冲突。7.3 从这块板子延伸出去的学习方向这块STM32最小系统板画完之后你可以基于它做很多扩展。比如加上OTA升级功能需要用到STM32的IAP功能在PCB上要预留串口或者USB接口。比如做逆变器方案需要加上MOSFET驱动电路和电流采样电路PCB布局的时候要注意功率回路的最小化。比如做车规级设计需要遵循更严格的EMC和可靠性规范PCB的层叠设计和接地策略都要重新考虑。如果想深入学习PCB设计建议从信号完整性和电源完整性两个方向入手。信号完整性关注的是高速信号的传输质量包括反射、串扰、时序等问题。电源完整性关注的是电源分配网络的阻抗和噪声包括去耦电容的选型和布局、电源平面的分割等。这两个方向的内容很多但掌握了之后你设计的板子就不只是能用而是好用。另外多看别人的设计也是提高的捷径。拆解一些成熟的开发板或者产品板看别人是怎么布局的、怎么走线的、怎么铺铜的。AD的社区和论坛里有很多开源项目下载下来研究一下比看十本书都管用。
返回列表