大家好,我是专注分享硬科技领域-职业规划/技术科普有关原创文章的allen康哥。
今天在整理硬件部分的笔记和专栏,看到了2017年我刚去实习的时候画的一块CAN 总线收发板的一些记录,也勾起了我的一点回忆。
正在更新的专栏-->《嵌入式工程师练级之路》专栏
2017 年 2 月,我刚离开学校去公司实习(也是我后边的第一份工作,无人机软件开发)。因为项目里要调 CAN 总线,需要一个独立的 CAN 收发器模块,而单位刚好有条件可以报销 PCB制作费用,于是我自己画了一块很小的 CAN 总线收发板。现在回头看,那块板子技术含量并不高,但它几乎把一个嵌入式工程师早期会遇到的所有问题,提前让我踩了一遍。
一、当年画这块板,并不是为了学习PCB
很多人刚开始画板,是为了练软件、练工具。但我当时的出发点其实很现实,就是项目需要,而不是学生阶段画来比个赛就扔一边了。这就直接决定了一件事:这块板子,必须能装、能接、能长期用。也正是因为这个原因,我才会在笔记里记下一些现在看来很基础,但当时非常关键的东西。
二、布线这件事,其实是在学工程规范
我当时笔记写了一句:
布线原则上要出头再连线,尽量 45 度角布线
现在看起来,这句话很像新手写的,但背后反映的是一个转变:我开始意识到,PCB 不是连线题。焊盘出来先走直线,拐弯尽量用 45 度,不是为了好看,而是为了可焊、可修、可维护,这些东西,软件里不会报错,但在真实设备上会慢慢暴露问题。后来我见过很多功能没问题,但工程质量很差的板子,问题基本都出在这些地方。
三、固定孔,是我第一次意识到结构也是嵌入式的一部分
当年在笔记里,我花了很大篇幅写固定孔:会不会影响周边器件,螺丝帽大小不要和铺铜重合,不要在孔附近走线。这其实已经不是画PCB的问题了,而是开始考虑真实装配场景。当你第一次意识到,螺丝是要拧的,拧的时候是有力的,板子是会受应力的,你就不可能再把PCB当成二维图纸来看。后来我越来越明确一个判断:
很多嵌入式工程师水平上不去,并不是代码不行,而是工程视角太窄。
四、GND不拉线,是我第一次理解资源分配
当时我在笔记里写:
GND 技巧——不用布线,空闲处打过孔即可
现在回头看,这是我第一次真正理解铺铜和过孔的意义。GND 不是信号,不需要和普通线一样对待,把资源留给真正重要的信号,这其实是一种工程思维:有限的板子空间,应该优先服务关键问题。后来我在更复杂的通信板、时钟板上,基本都是沿着这个思路走下去的。
五、过孔盖油,是一次很典型的踩坑后总结
强制过孔盖油
这个点现在已经算常识了,但当年我是被问题逼着记下来的。焊锡流孔,焊接不稳定,返修困难,这类问题不会出现在仿真里,只会出现在你真的拿着烙铁的时候。从那以后,我慢慢形成了一个习惯:只要是量产可能踩坑的点,就必须写进规则里。
六、接线端子那条记录,其实最工程
我当年还写了一句和 PCB 无关的话:
接线端子制作——使用专业工具,不要把固定塑料弄弯
这句话现在看,反而特别真实。不在原理图里,不在 PCB 软件里,但在现场会直接影响交付。很多工程事故,都是发生在这些“没人觉得重要”的地方。
七、现在回头看,这块板教会了我什么?
如果只从技术复杂度来说,这块 CAN 收发板并不值得单独拿出来讲。但它让我很早就意识到几件事,嵌入式不是写代码,PCB不是画线,能用和好用差得很远。后来我再做更复杂的系统,其实一直在用当年那套“笨办法”:
多想一步真实使用场景,多考虑一点长期稳定性。
你好,我是Allen康哥,CSDN嵌入式领域博客专家,知乎嵌入式领域优质答主,嵌入式技术垂直领域粉丝15万+。现任世界500强外企高级软件开发工程师,有多年国企和外企嵌入式行业工作经验,擅长嵌入式行业学习规划,单片机和嵌入式Linux学习规划,嵌入式硬件转软件学习规划,简历及offer咨询,报考/考研/留学咨询等,欢迎留言交流!嵌入式及电子领域1v1规划咨询 职业规划 | 就业指导 | 简历优化 | 长期辅导介绍链接--> 嵌入式软件工程师一对一指导
28