电子产业一站式赋能平台

PCB联盟网

搜索
查看: 137|回复: 0
收起左侧

嵌入式软件工程师,被深夜的硬件调试击碎了傲慢。

[复制链接]

567

主题

567

帖子

4207

积分

四级会员

Rank: 4

积分
4207
发表于 2025-2-12 17:51:00 | 显示全部楼层 |阅读模式
我是老温,一名热爱学习的嵌入式工程师5 @' R4 s7 r' i) T6 ~
关注我,一起变得更加优秀!
1 [4 W, t% ]7 g5 u* ?+ F3 w春节假期后的第二天,现在已经是凌晨三点,办公室里面的日光灯管在工程师的头顶嘶鸣着,鼠标的点击声和键盘的按压声,在不断地相互辉映着。8 ~  r% p) ]: M6 k0 m: g
(说好的,春节假期回来后,两周内进行产品小批量生产,然后交付给客户。5 \' G; ~: P8 ^& L" q; K

t0y2pnnvqd3Broken6128028.png

t0y2pnnvqd3Broken6128028.png

5 G/ [8 [( v2 `' M' c8 j% N6 f, e2 \# N

zthcm2fzjq06406128128.jpg

zthcm2fzjq06406128128.jpg
1 |& W* n2 A0 o) C
我揉了揉疲惫的双眼,盯着示波器上扭曲的信号波形,第28次按下了Debug Tools上面的固件烧录按键,心里面期待奇迹发生。2 L' n6 T( i2 N+ J
某台样机的LCD显示屏,显示图像时依然存在撕裂现象,但作为一名饱经风雨的嵌入式软件工程师,有时候我却信奉,“硬件问题都是玄学”,。。。0 _% Y' }+ `7 {, i( @

2zx0lywxndb6406128228.jpg

2zx0lywxndb6406128228.jpg

! M$ H# a; |' q, k图源:网络。
' h! t9 X* p* |' `% ?7 [1 _$ r“老温,用最初制作的工程样机,你的代码确实是通过了单元测试。”,硬件组的林工,他把出问题产品的硬件测试报告推到我面时说道。
( a0 B7 ~; ?6 Q9 X$ o: d“但是你看,换了试产供应商后做的样机,这颗芯片的CLK时钟线,在穿过六层板的第三信号层时,就会串扰DDR的信号。”' Z7 N3 |. ]) e6 _. m& ?2 ?
我看着他用手指点在那些蝌蚪般的蛇形走线上,疲倦的大脑突然意识到:阻抗和信号完整性,我为啥一直没有注意到这个排查方向?!) Q- A% z; D* [. F* V& Z- b# Q
“软件调试了数十遍,结果,问题居然出现在硬件制作工艺的差异上?”,望着窗外漆黑的天际,我苦笑一声。) F% V0 F+ \/ W0 m3 l
作为一名嵌入式软件工程师,平时都习惯了在代码里面编织各种逻辑,却从未像此刻这般渴望,渴望窥探电路板下铜箔与树脂的微观世界。
6 p# X! J% q4 j, r5 U( v  G% e( u' q1 Z
0 q. u& k" Z: w, ~$ Z8 P. j, \# c/ t三天后。。。
& Q3 M5 |- q0 O( H5 S# K“老温,来试试这个新样板。”,林工扔来一款新的样机,焊盘在太阳的照耀下泛着金色的光芒。2 ~0 e0 Y/ x8 j) s
我问:“林工,这次改版跟前两天调试的,有啥不一样吗?”3 p/ L0 b8 v; T% n7 {, H
林工说:“我重新改进了DDR和CPU相关的布线,用了嘉立创的盘中孔工艺,并且重新进行了阻抗匹配,你再试试”。
3 ~) w) r- Q# M+ y( ]  y$ W# p$ h* d

nji13ryqlwn6406128328.jpg

nji13ryqlwn6406128328.jpg

2 B+ `/ i. H3 b& X$ k: L6 M& C2 @
/ o+ v" `1 l2 F% F" p--- 编译、烧录、按下RESET按键,一整套常规动作下来,
% o; M9 H/ ~8 ?- L  X这一次,“奇迹”发生了,新样机运行无误,图像照片终于可以完美地显示在LCD屏幕上面。
: s; q1 M3 ?  b3 I7 M+ [; d

zx3curyew3b6406128428.jpg

zx3curyew3b6406128428.jpg
+ Q8 z  D! U( Z  W* ]9 K$ \( V' A
2 E$ F9 a/ b1 p2 Z* u3 @# _
“为何会如此神奇,林工,可以详细说说你的改动吗?”,我问。' d& s+ R# v+ U# A. U* u& p
林工说:“我问外包商拿了PCB源文件,发现他们layout是用常规的BGA扇出布线方式,导致PCB上面有较多的过孔侵占布线空间。”* E4 I' V- F+ L) J+ [& P4 X
“他们为了省成本,还换了PCB打样的供应商,又没有注意高速信号的阻抗匹配,所以就导致了这次问题!”
" @, p! R, a' m! \林工接着说道,8 w/ T7 ~/ d+ J' p( D
“我在他们的基础上,把BGA封装的芯片改成嘉立创盘中孔了,也换了打样供应商,在嘉立创做6层板打样。”+ X8 |1 t/ N( q* v& M" k

vxsm1qi0fv16406128529.png

vxsm1qi0fv16406128529.png

* p9 b+ l, s# J: j引用 CanMV 的PCB渲染图1 b% j$ ^5 V* K7 X* P
我来兴趣了,接着问:“为啥盘中孔会有如此大的作用?”。/ U* a1 P0 x6 d1 K
林工继续耐心解释:“当常规的过孔侵占了30%的布线空间,我们可以考虑用盘中孔工艺,0.2mm的树脂塞孔既能保持焊盘完整,又让阻抗连续性提升了18%”。" O$ f8 O5 h: K# I( p
“噢噢,原来如此,又学到了。”,我似懂非懂地点了点头。* u' ?9 u% ^1 C% }3 c3 W1 |1 M+ T
“那你这次又沉金又盘中孔的,岂不是成本很高?”,我接着说。
1 X6 u- v; D0 y$ x2 c8 k/ e林工笑着说,“你这写代码的不懂,在嘉立创,6~32层打板时可以免费使用盘中孔+沉金加厚工艺,6层板还可以直接用免费打样券,成本又进一步降低”。7 `( z$ o7 n: X5 {7 l
“我比较过价格,10cm*10cm的6层沉金亚黑PCB样板,在其他厂家光是沉金+盘中孔的工艺费用,就接近400!”
5 [, w7 O1 \2 k

3iaybq43lsl6406128629.png

3iaybq43lsl6406128629.png
9 Z3 S6 w1 u9 ]. T" c. A
2~6层沉金PCB,领券免费打样
3 Q- [4 y/ C4 o- P# K“反正样板便宜,我现在先多整几块给你,你多验证几遍,没问题就可以发布固件进入小批量了。”,林工最后说道。
& o, o$ N$ ~2 y- [5 n1 p. {) t我看着桌面上一堆金灿灿的PCB和样机,脑袋突然间陷入了思考,思考起嵌入式软件和硬件之间的哲学关联。
+ r9 \7 C; I9 t0 s在嘉立创的高多层pcb设计指南里,我发现了硬件电路板与软件分层架构,有着惊人的相似性:9 W& n$ @  t  W. j# w
- 电源层采用铜块挖空技术,如同代码中的内存池管理。
# s! I3 F: X4 E$ j$ Z- 差分信号层错位堆叠设计,堪比多线程的锁机制。  e( g6 I, ]" M0 B* |
- 混合介电常数材料应用,像极了软件里的缓存分级策略。
$ b# A2 v4 |( [+ M! U% r- 盘中孔像极了代码里的“指针跳转”,绕过堆栈溢出风险;, @# A/ c7 C1 |) q% x0 m- e$ [
- 六层堆叠堪比分布式系统的分层架构,让电源、信号、地各司其职;( Y1 x! I/ f& e: [, V
- 沉金工艺则如同严密的异常处理机制,将氧化与虚焊的概率收敛至零。5 t& B* E# P7 \1 A/ S: M8 _; P, \- H
如今,我依然保持着嵌入式软件工程师的“傲慢”,但工位上的《高速PCB设计秘籍》已经逐渐开始与往年的《C++高级编程》并驾齐驱。6 ~* l- I* j2 x3 ~
我在想:“真正的嵌入式全栈工程师,应该既能用代码驯服晶体管,也能让铜箔的纹路吟诵出最优的算法。”
( r! g- x& a9 E, @3 Z1 \我转动板卡,让阳光在沉金焊盘上折射出一道金色光芒,在这个时代,最优雅的编程语言,可能就隐藏在1oz铜厚的微带线里。  ; J& F* F5 J* l  n3 X
感谢阅读,愿各位工程师在未来的日子里,信号完整,代码无Bug!
1 v& R8 I  z4 E8 X

shw10bzc5py6406128729.jpg

shw10bzc5py6406128729.jpg

# O0 d3 {9 U; J* [/ b8 W7 l+ A图文无关,只为并茂
8 O1 \  G6 Q- y, ^  b-END-+ Y; t! M7 Q+ w! E4 R4 I3 c1 K8 b
往期推荐:点击图片即可跳转阅读
$ A" W; b* A. S5 O9 h

uxsmmmiqgc06406128829.jpg

uxsmmmiqgc06406128829.jpg

+ p/ T8 {# w& Z$ n8 p9 e2025年,抽屉里的嵌入式开发板,早就已经写满了岁月的痕迹!* t3 V' ~: X# G$ S* y

xupaz4nblpe6406128929.jpg

xupaz4nblpe6406128929.jpg
1 Y7 k' Z4 d, {1 a8 }2 b. W
硬件都做出来了,客户说想改一下,结果,全部推倒重做!
2 {3 U8 N* w) X

btp2nsg1z0v6406129029.jpg

btp2nsg1z0v6406129029.jpg
5 j: h/ x- [8 Q+ {  _* @9 K! E
不想让嵌入式核心板吃灰,于是,我准备对它下手了!
$ w0 Q' `  L7 o% d: S9 D; N! [

eh0lwadpfty6406129129.jpg

eh0lwadpfty6406129129.jpg

$ t' h" _! ^9 z$ E这些嵌入式主板,确实惊艳到我了!9 C6 ]8 W$ @; e' q# Y
我是老温,一名热爱学习的嵌入式工程师3 I. u* f0 p( v5 {5 L1 L# z& Y- k
关注我,一起变得更加优秀!0 X9 s% R& a4 s% z

i5u0jdod3qm6406129230.jpg

i5u0jdod3qm6406129230.jpg
回复

使用道具 举报

发表回复

您需要登录后才可以回帖 登录 | 立即注册

本版积分规则


联系客服 关注微信 下载APP 返回顶部 返回列表