十年匠心定制 · 商业建站与技术教学双线并行 咨询热线:400-886-1026 service@lmnt.cn
ARTICLE DETAIL

资讯详情

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

嵌入式硬件开发全流程:从原理图到PCB再到回板验证

嵌入式硬件开发全流程:从原理图到PCB再到回板验证 开发嵌入式硬件核心链路就是原理图设计、PCB布局布线、制造文件输出、回板验证这四步。听起来简单但每一步里都藏着大量决定成败的细节。作为一个前后折腾过几十款板子的硬件工程师我在这篇文章里把整条流程梳理一遍重点不是罗列工具菜单而是讲清楚每一步为什么要这么做、哪些地方最容易踩坑以及我在实际项目中的处理方式。文章尽量做到新手读了知道第一步该做什么老手读了也能找到那些“以前没太在意”的细节。整个主题围绕嵌入式硬件开发中最常见的MCU项目展开比如基于STM32的最小系统板、传感器采集板、电机驱动板这一类典型场景不管你是学生、转行者还是已经画过几版板子的工程师这篇内容都能对得上号。1. 需求拆解与芯片选型画原理图之前先把不该选的东西排除掉1.1 先画功能框图再谈连线很多人拿到项目第一反应是打开设计工具开始找元件画原理图。这个习惯我也有过后来吃过亏就改了。正确的第一步是先画一张系统功能框图把整个板子划分为几个大的功能模块主控、电源、采集、通信、驱动、人机交互等等。模块之间的箭头表示信号流向和数据接口然后再对照功能框图去选芯片、定接口、画原理图。这样做最大的好处是你在方案阶段就能发现架构层面的问题而不是在原理图画了大半的时候才发现某个模块之间的接口对不上。举个实际例子我有一次做的电机驱动板需求是驱动两个直流电机同时要检测电机电流还要和主控板通过CAN通信。如果直接画原理图很容易把电流检测放大电路放在电机驱动桥旁边结果发现采样信号被强干扰软件怎么滤波都压不下去。而先画功能框图就会意识到电流检测的模拟信号路径必须尽量远离电机驱动的功率回路这个布局约束在方案阶段就要定下来画原理图的时候通过引脚分配和器件摆放去落实。功能框图不需要画得多专业关键是把信号流和数据流画清楚。画完框图之后核心器件选型才有依据。很多新手选芯片是看“别人都在用”或者看“型号很火”这是不对的。选型的第一依据永远是你的功能框图和系统约束条件。1.2 主控芯片选型的硬性指标主控芯片选型要同时看几件事我用一个三维度框架来判断功能适配度主频、Flash、RAM、外设数量UART、SPI、I2C、ADC、定时器、PWM、CAN、USB等以及是否有硬件加速单元比如硬件加密、DMA、浮点运算单元。资源余量选型时Flash和RAM占用率尽量控制在70%以内IO占用控制在60%~70%以内。余量不够后期加功能就非常痛苦甚至要重新选型换板。供应链和可替代性同一颗芯片不同封装、不同批次交期和价格差很多。选型时同时列出主选和备选优先选管脚兼容或功能相近的替代型号。以热门的STM32F103C8T6为例72MHz主频、64KB Flash、20KB RAM3个UART、2个SPI、2个I2C对大多数轻量级嵌入式应用是够用的。但如果你要做简单的图形界面这个Flash容量就比较紧张F407甚至有硬件浮点单元做电机控制环路就舒服很多。选型时算清楚账比到后期换芯片省事得多。封装也是选型的一部分同样是STM32F103系列C8T6是LQFP48引脚少、适合小板RCT6是LQFP64引脚多、扩展性强如果你的设计对空间极度敏感还可以选择QFN封装但焊接难度和对贴片工艺的要求会更高。我个人的习惯是性能允许的情况下优先选引脚间距大的封装比如LQFP方便手工焊接和调试也降低贴片时连锡的概率。1.3 其他关键器件的选型思路除了主控电源芯片、接口芯片、无源器件这几个类别也要在原理图阶段就定下来不要画到一半再改。电源部分负载电流小、噪声要求高的用LDO最省心比如AMS1117-3.3这类电路简单、纹波小但效率不高电流大、需要转换效率的用降压DC-DC比如MP1584、TPS5430等注意DC-DC的外围电感、续流二极管、反馈电阻的选型要按数据手册推荐来不能随意加大电感值或改反馈分压。接口部分RS485、CAN、以太网PHY都有成熟方案。RS485常见的有MAX34853.3V供电和SP3485注意在A/B线上加TVS管和上下拉电阻很多通信异常问题其实是总线上缺了偏置电阻。CAN总线则是收发器选型要看速率和节点数常用的TJA1050、MCP2551接好终端电阻。以太网PHY如果做主控板一般配一颗RMII接口的PHY芯片比如LAN8720A。每一个接口电路都要在原理图阶段把静电保护和浪涌保护器件留好位置。无源器件方面电阻电容尽量选常用E24系列和0402/0603封装后期备料和贴片都方便。特殊精度、特殊温漂的电阻电容要提前确认货期不要等到BOM出来才发现某个料要等八周。很多项目延误不是设计问题而是“等料”问题。这个我在后面制造部分还会详细说。2. 原理图设计的核心骨架最小系统与外设电路的落地细节2.1 最小系统必须可靠不只是“能跑”最小系统指的是主控能正常工作所需的最基本电路通常包括电源、时钟、复位、调试下载接口和启动配置。很多新手画最小系统时“能跑”就行但实际上最小系统决定的是“可靠地跑”。以STM32F103C8T6最小系统板原理图为例这个电路在网上的流传度极高但很多人画出来之后偶尔出现死机、下载失败、跑飞这些问题根源往往就在最小系统那几个细节上。电源部分主控的每个电源引脚都需要就近放置去耦电容一般是0.1uF加一个10uF或更大容量的储能电容组合。0.1uF负责滤除高频噪声10uF负责提供瞬态电流两个电容各有分工谁也不能替代谁。去耦电容的摆放位置很关键必须尽可能靠近对应的电源引脚而且到引脚和到地过孔的回路要短。如果电容放得远了走线电感会抵消掉它的大部分滤波作用这个我可以直接说电容放错位置等于白放。时钟部分外部晶振的匹配电容不是随便选的它要和晶振本身的负载电容参数匹配。常见8MHz晶振的负载电容是16pF或18pF匹配电容的计算公式大致是C1和C2串联后等于负载电容再考虑到引脚和走线的寄生电容。比如负载电容18pF寄生电容约4pF那么C1C2约等于2×(18-4)28pF实际取27pF或30pF都可以。很多人直接用两个20pF甚至不装匹配电容板子偶尔工作偶尔不工作这是典型原因。对串口波特率、USB通信这类对时钟精度敏感的场景晶振选型和匹配要格外认真。复位电路简单复位用RC上电复位就可以比如10kΩ电阻加100nF电容到地。但对可靠性要求高的场合建议外加复位监督芯片比如STM32常用TLE2426或MAX809既能保证上电和掉电时的复位时序又能提供电压跌落保护。调试下载接口STM32最常用的是SWD只需要SWDIO、SWCLK、GND三个信号实际还会带NRST和VCC我建议五个引脚都引出来方便调试器做电压检测和目标板供电。启动配置引脚要根据实际需要配置BOOT0和BOOT1的上下拉电阻默认从主Flash启动即可。2.2 电源树设计画原理图之前先理清每一路电原理图里电源设计直接影响整板稳定性。画原理图的第一步应该把电源树理清楚输入电压是多少需要产生几路电压每路电压带的负载分别是什么最大的瞬态电流是多少。以常见的电池供电设备为例输入3.7V锂电池可能先通过DC-DC降压到3.3V给主控和外设再用LDO从3.3V降压到1.8V给某些传感器供电或者用DC-DC升压到12V给电机驱动供电。每一路电源都要标注清楚最大电流和纹波要求。降压电路的选择上LDO和DC-DC的边界不是按电压大小而是按压差和电流的乘积也就是功耗来划的。比如输入5V输出3.3V电流0.3A压差1.7V功耗约0.5WLDO加散热焊盘还能接受但如果输入12V输出3.3V、电流1A功耗接近9WLDO基本不可行必须上DC-DC。DC-DC的效率高但输出纹波大对纹波敏感的模拟电路比如ADC参考电压一般会再加一级LDO做后级滤波。去耦和储能的设计我常用的经验值是每路电源输出端放一个大容量的电解或钽电容10uF~100uF用于储能每个芯片电源引脚放一个0.1uF陶瓷电容用于高频去耦如果芯片功耗变化剧烈比如射频模块、电机驱动逻辑侧还会额外增加一个1uF~4.7uF的陶瓷电容。陶瓷电容的直流偏压特性要注意小封装比如0402的10uF电容在额定电压下实际容量可能只有标称值的三到四成选型时尽量选择额定电压为实际工作电压两倍以上的陶瓷电容。降额设计是我一直强调的电容耐压一般选择工作电压的1.5倍以上。比如12V供电的电源输入端使用25V或更高耐压的电解电容18V输入就用50V耐压。电阻功率要按实际功耗预留至少50%以上的裕量。比如你在3.3V电路里给LED限流LED压降算2V电流10mA限流电阻功耗是13mW0402封装额定1/16W约62mW够用但如果是24V继电器驱动线圈的续流电阻功耗就更要仔细算。所有的降额都往狠了做产品的可靠性积累下来才能扛得住。2.3 外设电路设计接口、保护和电平匹配外设接口电路是原理图里数量最多的部分。每一路对外接口都要考虑几个问题电平是否匹配、是否需要上下拉、是否要加保护、是否要防倒灌。电平匹配是最常见的问题之一比如3.3V单片机的UART接5V电平的模块最稳妥的做法是用电平转换芯片比如TXS0108、SN74LVC2T45其次是电阻分压。直接连接虽然很多时候能正常工作但长期可靠性没保证5V信号灌进3.3V引脚轻则引脚漏电流增大重则烧坏IO。接口保护是另一个容易被忽略的点。对外接口比如USB、RS485、CAN、按键输入都应该考虑加ESD/TVS保护器件。最简单的USB接口在D/D-上加一对ESD二极管或者集成TVS阵列成本不高但能避免很多因为静电打坏主控的返修。电源输入口也要加防反接保护最简单的用一颗串联二极管或者自恢复保险丝加TVS可靠一点用PMOS防反接电路压降小、功耗低。以DHT11温湿度传感器为例这个传感器在很多嵌入式入门项目里都出现过。DHT11的数据脚是单总线主控需要给它接一个上拉电阻常见4.7kΩ~10kΩ而且DHT11的供电电压范围是3.3V~5.5V如果你的主控是3.3V可以直接用3.3V供电并上拉到3.3V。但要注意DHT11的时序对延时非常敏感如果晶振匹配不合理导致主频偏差读出来的数据可能是乱码。很多时候问题不在软件而在硬件时钟的准确性。电机驱动部分如果是小功率直流电机常用的H桥芯片如DRV8870、TB6612内部集成了续流二极管和电流检测外围电路相对简单。DRV8870的VM引脚要加大容量储能电容比如100uF甚至470uF因为电机启动瞬间电流是稳态电流的好几倍。PWM输入脚要注意逻辑电平兼容性不少电机驱动芯片的输入逻辑高电平阈值较高直接用3.3V单片机驱动可能无法完全开启。另外电机驱动板的电源走线和地线回路一定要短和粗我见过太多驱动板因为电源线太细电机一转就电压跌落导致芯片复位。提示原理图符号里的引脚编号、封装、极性每一个都要和实际器件核对不能想当然。尤其是二极管、电容、电解电容这类有极性的器件原理图符号和PCB封装不一致板子回来就是“冒烟”的节奏。这个低级错误一遍遍地发生但每次发生都代价惨重。3. 原理图评审与自查画完不等于能投板3.1 引脚复用冲突与遗漏检查STM32这类MCU的引脚大多是复用引脚同一引脚可能同时支持UART、SPI、PWM、ADC等功能。原理图画完后最基础也是最重要的检查是把所有功能引脚的分配情况列一张表哪一路UART接了什么外设哪几个引脚做了PWM输出哪些引脚接了按键……然后对照芯片数据手册的引脚复用表逐一确认看有没有冲突。很多新手画完原理图就急着导网表结果到了PCB布局才发现某两个功能被分配到了同一个引脚或者发现某个ADC引脚实际上被复用成了JTAG口板子回来根本没法正常工作。引脚遗漏更隐蔽芯片数据手册里标注“必须连接”的引脚比如某些型号的VCAP、VBAT、PDR_ON漏接一个就可能导致芯片无法启动或者功耗异常。我的习惯是画完原理图后把芯片数据手册里的引脚定义表过一遍对每一个引脚都确认“我有没有画到、有没有正确连接”。这个过程很枯燥但它能避免大量售后问题。3.2 我自己的原理图自查清单这里列一份我的自查清单每次投板前逐项过一遍电源树检查每颗芯片的供电引脚是否都接了电源电源电压和芯片要求是否一致正负极性是否接反。去耦电容检查每个电源引脚旁边是否有0.1uF去耦电容大电流器件电源入口是否有储能电容。上下拉检查所有开漏输出如I2C的SDA/SCL是否有上拉电阻复位引脚、使能引脚、中断引脚的电平默认状态是否安全。复位和时钟检查复位电路是否可靠晶振匹配电容值是否合理时钟源用内部还是外部。调试接口检查SWD或JTAG接口是否引出调试口是否有干扰隐患。连接器引脚定义检查所有对外连接器的引脚定义是否和线序一致电源和地有没有接反。器件标注检查极性元件、高压元件是否做了明显标注PCB上的方向标识是否清晰。BOM器件状态检查所有器件是否都有完整封装是否在数据手册中确认过推荐焊盘尺寸。这些清单虽然琐碎却是真正的“保命项”。我用这套清单做自查已经成了习惯每次在原理图上签字投板之前都必须过一遍。而且这不是走形式是真的一条一条打勾核对。有一次我就是靠这个清单发现了一个I2C上拉电阻忘记画板子要是投出去传感器数据根本读不回来。3.3 找人做“煞风景”的评审一个人画原理图很容易陷入思维盲区因为你会下意识地默认“我自己肯定没画错”。所以在投板前让同事或者群里经验更丰富的人帮忙做一次正式评审非常有价值。评审时重点不是夸哪里画得好而是专门挑刺电源有没有可能接反某个引脚在上电瞬间会不会出现不确定状态外部接口在热插拔时会不会打坏芯片每个问题都值得认真回答回答不清楚就回去查手册。评审还有一个好处就是能通过别人的视角发现你“以为自己知道但实际没查过”的问题。有一次评审时同事问“这个芯片的绝对最大额定值是多少”我数据手册没查仔细一查才发现供电电压接近于极限又重新改了电源方案。如果当时没人问这一嘴板子大概率要烧。4. 从原理图到PCB布局布线稳定性的分水岭就在这一关4.1 板框、层叠和工艺参数要先定原理图确认无误后进入PCB设计阶段。首先是板框Board Outline设计这个要根据产品外壳结构确定包括外形尺寸、安装孔位置、接插件开槽位置等。板框不是随便画的必须先和结构工程师核对好否则板子回来装不进外壳就白投了。如果自己做原型机板框至少要和外壳的装配图对一遍安装孔的直径和位置、接口开槽的高度和宽度都不能拍脑袋。层叠设计是决定板子性能和成本的关键。两层板成本低、工艺简单适合低速或中速信号、布线密度不高的设计四层板通常增加一层完整电源平面和一层完整地平面信号完整性、EMC性能都显著好于两层板。虽然四层板成本更高但对主频较高、信号对噪声敏感或者需要过认证的产品非常值得。我的经验是凡是工作频率超过50MHz或者有USB、以太网、DDR这类高速信号直接上四层板不要抱有“先两层试试”的幻想——试错的验证周期和返工成本往往远高于板子本身的差价。4.2 布局原则机械优先电气其次PCB布局的总体原则是先确定结构件和连接器的位置再放电源模块再放主控最后放外围电路。连接器的位置通常由产品外壳决定它们放好了才能确定板内走线的方向和路径。电源模块要靠近电源输入接口功率回路尽量短开关电源的开关节点要远离敏感信号。主控芯片一般放在板子中心或偏输入输出方向晶振靠近主控的时钟引脚放置高速信号路径尽可能短。去耦电容是“跟随器件”布置的哪个芯片的引脚需要就贴在哪个引脚旁边。一个常见误区是把所有元件尽量摆得紧凑觉得这样布线好走。实际上布局时的信号流向比紧凑程度更重要。最理想的布局是信号流向基本从板子的一端走到另一端避免交叉和回流这样布线阶段会轻松很多。比如传感器采集板信号从连接器进来经过调理电路、ADC然后到主控最后通过通信接口出去整体就是一个单向流。如果布局上非要让信号来回绕走线长度、过孔数量、交叉区域都会增加EMC风险也同步上升。4.3 布线的顺序和策略布局完成之后开始布线我的习惯顺序是先布电源和地网络尤其是大电流路径。电源走线要够宽常见规则是1A电流至少对应1mm走线宽度对应约1oz铜厚条件下温升约10℃也可以根据允许的压降反向算。比如5V电压、电路允许压降0.1V、电流1A走线电阻就不能超过0.1Ω铜箔越宽电阻越小。铜厚1oz、线宽1mm的走线电阻大约是每厘米0.6mΩ左右你可以自己估算。再布高速或时序敏感信号例如晶振信号、USB差分对、时钟线、DDR数据线等这些线要短、直、少打过孔。最后布普通信号线尽量参考地平面走线避免跨越分割区域。走线时的几个具体经验模拟信号和数字信号尽量分区域走线避免数字噪声串扰到模拟部分差分信号USB、CAN、以太网要按差分规则走线等长、等距、平行且尽量靠近这样共模噪声才能被抑制晶振下方尽量不要走其他信号线避免晶振的高频信号干扰别的信号也避免别的信号噪声影响时钟质量电源平面和地平面的分割缝不要跨越信号线否则信号回流路径被强制拉长辐射和串扰都会增加。晶振布线的细节特别值得多讲两句。晶振是高阻抗器件对寄生电容和噪声都非常敏感。晶振的两个引脚走线要尽量短并且对称走线宽度和过孔数量保持一致这样两边的寄生电容才一致不容易产生频率偏差。晶振下方要放地铜皮做屏蔽但不要在这个区域走其他信号线也不要把晶振的信号线平行靠近任何高速数字线。如果板子空间紧张至少保证晶振周围5mm范围内没有大电流开关节点。4.4 电源平面、过孔和丝印的细节四层板常见叠层是“信号-地-电源-信号”或者“信号-信号-地-电源”。其中地平面优先靠近主要信号层这样信号的回流路径最短。电源平面虽然完整但不一定全板都是同一个电源网络可以分割成多个电源区域。分割时要注意不同电源区域之间的分割缝不要落在高速信号下方否则信号跨分割走线等于把回流路径拉得很长噪声会很大。如果高速信号必须跨越分割区可以在分割缝下方用桥接电容连接两个平面提供高频回流路径。过孔设计在两层板上要谨慎使用因为每个过孔都会打断参考平面影响回流路径。尺寸方面常规信号过孔推荐10/20mil钻孔/焊环电源过孔可以在大一些或者多打几个并联。如果你需要控制阻抗工厂能提供阻抗叠层参数建议直接参考板厂给出的标准叠层来设计省去很多不必要的计算和沟通成本。焊盘设计要严格按照器件数据手册或IPC标准来做不要为了焊得牢固而随意加大焊盘因为焊盘太大会造成元件偏移尤其是小封装的电阻电容立碑现象就是这么来的。丝印方面极性标识、方向标识、位号都要清晰完整位号字体不要太小否则板厂生产时丝印模糊后期贴片和手动焊接都容易出错。这里还有个小技巧丝印层上把接口板的接口定义和注意事项也标上去比如“UART_TX”“GND”“5V”这些后面调试的时候翻板子就能看到不用每次去翻原理图。5. 输出制造文件与对接工厂Gerber只是入场券5.1 制造文件包里到底要放什么PCB设计完成后要输出制造文件。制造文件通常包括Gerber文件铜箔层、阻焊层、丝印层、外形层等、钻孔文件NC Drill、叠层说明、以及特殊工艺说明。Gerber文件是板厂加工的直接依据输出时一定要选择正确的格式常见的是RS-274X单位制英制还是公制和精度比如2:5前后要一致。钻孔文件则要和Gerber文件关联好个别工厂还要求提供钻孔图对比参考。不要觉得这些都是板厂的事——文件格式不对、精度不一致轻则返工重则整批板子作废。输出文件之前建议在PCB设计工具里做一次完整的“电气规则检查DRC”和“制造规则检查DFM”。DRC查的是布线层面的错误比如间距不足、未连接的引脚、短路等DFM查的是制造可行性比如最小线宽是否满足工厂能力、过孔到焊盘的距离是否足够、文字是否压到了焊盘等。注意DRC和DFM全过不代表板子一定没问题但至少能过滤掉大部分低级错误。很多新手以为DRC零错误就可以直接投板实际上DRC的规则设置本身要按工厂能力来调整不然查了和没查一样。5.2 BOM、贴片坐标文件和位号图很多人以为给板厂的只有Gerber文件其实这只是PCB裸板的部分。如果你要做贴片加工还需要提供BOM物料清单和贴片坐标文件。BOM里除了元器件名和数量最好把型号、品牌、封装、替代料都列全方便采购和贴片厂备料。坐标文件是从PCB设计工具导出的记录了每个元器件在板上的坐标和旋转角度贴片机就靠这个文件把元件贴到对应位置。BOM里的器件型号最好是多来源的。如果你只写了一颗供应商的独家型号采购在物料紧张的时候就会非常被动。我给BOM时一般都会写“主选备选”两到三个型号同时注明关键参数耐压、精度、温漂等让采购和工程在保证性能的前提下去替代。比如电源芯片写“MP1584或兼容替代”去耦电容写“0402/0.1uF/50V/X7R”。这样做还有个好处就是贴片厂在备料时知道你有替代余地会主动帮你找货而不是卡在一个缺料型号上干等。5.3 拼板、工艺边和定位点如果你的板子尺寸很小为了提高贴片效率建议做拼板V-cut或邮票孔。拼板尺寸一般控制在5cm×5cm以上这样可以避免贴片时板子太小导致传送带卡板。拼板之间建议加工艺边或定位孔方便贴片机的轨道传送和定位。工艺边宽度一般5mm左右在工艺边上加上光学定位点Fiducial Mark贴片机的精度会明显提升。光学定位点的标准尺寸一般是直径1mm的实心圆铜箔周围留出无铜区在贴片机相机识别时形成清晰的对比度。如果你的设计里有BGA封装工艺边和定位点就更不能省因为没有定位点的话BGA贴装时的精度很难保证。拼板的方式也要结合DFM规则V-cut适合规则矩形板邮票孔适合异形板或需要保留板边强度的情况。V-cut的板边会露出铜如果你的板边缘有走线拼板时要留足够的间距避免被V-cut切到。5.4 和板厂沟通的几个关键确认项投板前和板厂技术沟通环节有几个关键确认项不能省板厚和铜厚默认1.6mm/1oz特殊需求要提前说。大电流板可以用2oz甚至3oz铜厚但成本会增加。表面处理工艺常用的是喷锡、沉金、OSP等。喷锡成本低、焊接性好沉金平整度好、适合细间距焊盘和多次焊接OSP环保且平整但存储时间短。选择时要考虑你自己的焊接工艺和存储周期。阻焊颜色和丝印颜色不影响功能但影响观感不同工厂的报价差异跟油墨品牌和工艺有关如果你的产品有外观要求要提前确认。最小线宽/线距/孔径要和工厂的实际生产能力匹配不要看着“官网标称”就上。每家的产线能力有差异打样和小批次生产的工艺窗口也不一样。我的经验是给板厂留20%以上的工艺裕量线宽线距不要顶着极限做。阻抗要求如果板上有高速差分信号比如USB90Ω差分、以太网100Ω差分、DDR特定单端阻抗需要把阻抗要求提给工厂他们会通过调整叠层、线宽和线距来实现。不同工厂的介质材料不同阻抗线宽可能完全不同所以一定要由工厂根据他们的叠层来调整。6. PCB回板后的上电验证把返工率降到最低的实操流程6.1 上电前的检查和万用表“三板斧”PCB板回来后别急着上电。先做三件事第一目视检查外观看有没有明显短路、划伤、焊盘脱落、阻焊缺损。第二对照BOM用万用表逐个测量电源和地之间的阻抗看是否有短路或异常低阻这个检查在焊接之前、焊接之后各做一遍。第三检查关键器件的方向尤其是二极管、电解电容、芯片一脚位置对比丝印和实际封装确认没有装反。万用表检查时有一个容易被忽略的技巧不要只测电源和地是否短路还要测各路电源之间的压差特别是那些不该连通的电源域之间比如3.3V和1.8V之间、模拟地和数字地之间要确认它们确实是隔离的。上电之后万一出现异常电流你能更快锁定是哪个电源域出了问题。如果板子是自己手工焊接的焊接完成后还要检查有没有焊锡搭桥、漏焊。我的习惯是用放大镜或者手机微距镜头拍一遍全板重点检查引脚细密的芯片周围有没有桥连检查完再上电。这个习惯帮我避免了很多次“上电冒烟”的社死现场。6.2 上电后的调试金字塔上电时的操作也有讲究电源要接限流把电流限制在预估值的1.5~2倍。如果上电瞬间电流异常大立刻断开电源排查。上电后先测电源电压是否正常各路电压是否都稳定纹波是否在预期范围。电源OK之后再看时钟用示波器测晶振引脚能否起振频率是否正确。时钟OK之后再尝试连接调试器下载程序下载成功基本说明最小系统是通的。调试顺序的建议是“电源→时钟→复位→下载→外设”。就算调试器连上了也不代表一切正常每个外设都要单独验证跑一个GPIO翻转程序看引脚波形用逻辑分析仪抓UART数据读取传感器寄存器值判断I2C通信是否正常。这里有个经验任何外设调试的第一步先确认它的供电和复位信号正常再怀疑通信时序。我遇到过很多次所谓的“通信不稳定”问题最后排查下来是某个芯片的供电引脚虚焊或者去耦电容没焊好。6.3 返修记录与设计规范的闭环板子验证完之后一定要把这次设计中的问题记录归档。我是习惯在项目完成之后写一份“问题清单和复盘文档”内容包括每个问题的现象、根因、解决方式、如何避免。这份文档比原理图还值钱因为原理图只记录了“做了什么”复盘文档记录了“为什么要这样做”以及“以后怎么做能不做错”。当你积累了几个项目的复盘之后你会发现自己的第一版设计错误率在明显下降因为绝大多数坑都在之前的项目里踩过了。复盘文档怎么写我一般的格式是问题编号、问题描述、复现条件、根因分析、对策、验证结果、经验教训。不要写得太笼统要具体到“哪颗芯片的哪个引脚因为什么原因导致什么现象”。比如“STM32的PA9在CubeMX默认配置下是USART1_TX但硬件设计时把这根线接到了LED驱动芯片的使能端导致上电瞬间LED全亮排查半天才发现是引脚复用冲突。”这一类记录对后续项目的参考价值极大。最后再分享一点个人经验流程走到这里一块板子从想法到实物算是完整走通了一遍。回顾整条链路我认为嵌入式硬件开发最核心的能力不是会画原理图、会布PCB而是懂得在每个环节留退路选型留替代料、布局留走线余量、电源留功率裕量、BOM留备选型号。这些“留一手”的习惯决定了一个工程师在项目突发状况面前是从容还是狼狈。最后再分享一个小技巧所有关键网络和关键器件在原理图里加上足够详细的文字注释比如电源输入范围、信号走向、选型原因、注意事项。这些注释在几个月后你自己回看图、或者同事接手维护时能省下大量的沟通成本。你画的不只是一张原理图而是整个硬件项目的“说明书”。
返回列表