彭祺:做了10多年研发后才真正懂得师父当初的话

C语言与CPP编程 2024-06-17 09:00

本文来自《华为人》


十年硬件时光,如白驹过隙,记忆中那个青涩而倔强的少年迎着风雨一路走来,眼角多了几丝皱纹,双鬓添了几丝华发,胸中唯有“坚持”二字,致敬无悔青春。


师父的一句话让我震惊很久


25岁那年,大学毕业的我加入了一家华为合资的公司。五一后的第一个星期一,我来公司报到,领导安排一位资深的单板工程师做我师父。师父没跟我讲具体的业务,只是淡淡地说了一句话:“做单板工程师,特别是我们搞硬件的,要学习的东西很多,要经得起失败,耐得住寂寞,一步一步走扎实。”年轻气盛的我,除了口头“嗯嗯”地应付着,心里却不服气:我的字典里就没有“失败”这个词。

一周后,我接到了第一项工作,将一块已经完成的单板做一次改板,原因是这块单板的时钟方案有问题。这么快就有活干了?第一次就是做一块自己的单板?我高兴坏了,但接下来开始犯难,凭借我在学校做过的那点单板,以及对时钟的了解,根本不知道时钟会出啥问题。没办法,拼命学呗。我感觉浑身有使不完的劲儿,除了自学,遇到不懂的就不断请教,很快就弄清楚了时钟抖动、锁相环、精度、频偏等基础名词,找出了问题的根因。之后,我做的单板上电调通,一次归档。

很快,第二件事情来了——为一家运营商定制全系列交换机产品。这是一个非常巨大的定制BOM(物料清单)方案,涉及整机的近50种形态,上百种BOM清单。我的内心有点崩溃,但也没什么好办法,扎扎实实学呗。每个BOM清单中的每一个物料,大到整机机柜,小到一颗螺钉,我都不停地问自己:我弄清楚每个细节了吗?所幸,最后所有的清单无任何纰漏,达到100%准确。这也让我养成了保持至今的一个习惯,就是经常问自己:这件事情我到底明白了没?如果哪个细节我还回答不上来,有时候还会莫名地吓出一身冷汗。

很快,2年过去了,期间我完成了3块单板的设计,全部一版归档,我也当选部门的年度最佳新人。

一次认清自我的出走


新员工时期的顺风顺水,让我开始有些飘飘然,对自己有些盲目的认知,更没有将师父那句话放在心上。当时的我,认定自己完全可以胜任更高的工作,可以打破人生的条条框框,交换机硬件相关的设计我都一清二楚了,已经没什么挑战了,于是我选择了离职,希望找一个更具挑战的平台去进一步发掘自己的潜力。

我去了一家小公司担任硬件总负责人,希望自己可以独立完成一些设计。但说易行难,之前的我也就是一名只会把原理图上的器件简单拼接的“连连看”硬件工程师,对大硬件领域的知识和结构完全一知半解。而现在,没有结构,没有互连,更没有热设计和工艺,所有和硬件相关的设计都要自己一肩挑,技术上的短板一下凸显出来。我开始反思,以前自己做得多好,很大程度上是依赖于公司的大平台,离开了平台,又缺少个人的技术积累,如何能确保自己在硬件领域做到最好呢?

就这样顶着压力工作了两年,虽然算不上成功,但至少对自己有了更清晰准确的认知,硬件领域博大精深,而我资历尚浅,想要有一番作为还需沉下心来,摒弃浮躁,稳扎稳打,提升自我。

重新出发证明自己


经过慎重的考虑,我入职了当时的华赛,后来华赛并入华为,我成为华为的一员。回到大平台的我,决定“重新做人”,一步一个脚印打牢自己的基本功,在多个版本的洗礼中逐渐成长起来。

入职的第一年某一天,领导突然找我,问我:“有个紧急的项目,半年内完成一套存储产品的交付,你愿不愿意做?”以往一个产品的交付需要大概一年的时间,这次只有半年,我还要身兼SE(架构设计)和硬件开发,挑战巨大。但我想都没想就应承下来,因为我一直希望能有机会重新做出最好的单板来证明自己。

开发过程压力非常大,但我们5人的小团队始终朝气冲天,所有人都非常期待能交付出一套精品。当时碰到最棘手的事是硬件EMC(电磁兼容)问题,我们第一次做EMCRE(辐射骚扰测试),辐射量超出设计标准10%,完全没想到结果这么严重。以前其他单板的设计也用过这颗芯片,知道该芯片的辐射量有些偏大,因此在单板和结构设计上已经做了屏蔽优化,但实际测试后发现芯片的辐射能量完全超出我们预期。这个测试如果不通过,我们的产品是无法上市销售的。

我们和EMC工程师泡在实验室一个多月,一直在寻找破解的方法。首先想到的是“堵”,简单来说,就是想尽办法让设备辐射的能量封闭在产品空间内部,减小对外的辐射。但我们反复测试发现,产品通过结构进行辐射屏蔽的难度很大,结构缝隙其实非常难以控制,往往这边堵住,那边又泄漏出来。实验的过程中,有时候第一次测试通过了,重新插拔了模块,或者机箱做了一些搬动,再重新测试,辐射量又超标了。而且如果堵得非常严密,又对生产结构装配精度要求非常高,结构专家认为这种设计生产加工难度太大,无法量产。就在我们反复测试,百思不得其解之时,有个同事说了一句,“堵”行不通的话,那我们可不可以考虑从源头解决?芯片的辐射大,是不是因为我们设计忽略了某些问题?

一语惊醒梦中人,之前我们都陷入在常规的思维里,太关注一种方法,完全没考虑芯片优化这个方向。我找到芯片厂家,了解到该芯片对电源和时钟均比较敏感,如果能降低电源纹波并适当地优化时钟信号质量,就有可能解决问题。通过不断的优化和尝试,在芯片上做了一定程度的优化,再加上结构屏蔽作用,问题得到了圆满解决。

解决问题的方法有很多,有时候思维上会存在一些先入为主的想法,这个时候发散思维很重要,认真了解问题并多集思广益,才有可能找到解题之道。

往前多走一步也许就是胜利


2016年开始,我开始接手硬件DE的工作。在还没完全熟悉DE工作时,一个全新的项目开始了,是下一代存储系统的预研。回顾上一代产品在现网暴露的一个个可靠性、可维护性的问题,想想客户的抱怨和维护兄弟的无奈,我暗暗下定决心,下一代产品一定要给大家一个交代。

项目经过多轮讨论后确立了总体框架,但是剩下的方案评估进展异乎寻常的艰难。作为硬件DE的我,常常为了一个方案,陷入长时间的思考,决断过程非常纠结。比如硬件架构,我们要在一定密度内实现,什么密度最合理?容量性能如何配置?我和团队反复权衡了不下10种方案才确定。

背板设计是开发阶段最大的“拦路虎”。因为背板有源器件(需供给电源的器件)的问题,生产环节和现网已经出了好几个相关的硬件问题,尽管我们也针对性地修改了背板设计,但是治标不治本,设计团队面临巨大的压力。维护人员提出诉求:新方案能不能做背板无源化设计?

一开始我的内心是拒绝的,之前几个版本的相关人员都想做,但都没成功,我们能成吗?但心底又有另一个声音提醒我,不能怂,怎么能还未开战就承认失败呢?我们开始剖析背板上的有源部分电路的功能并逐步将背板上大部分有源功能移除,一开始进展很顺利,可就在我以为曙光到来之前,发现背板的电子标签功能难以移除。这也是之前几次无源化设计的难点所在。以前电子标签放在背板上,存在失效问题,但是谁也没想过拿走这个电子标签,因为明显不符合常理嘛!我们尝试把电子标签放在其他部件上,都没有成功,唯一可行性的替代方案是转移到可拆卸的挂耳上。但如果转移到挂耳上,以前更换背板的过程,电子标签的存储位置更改,势必会带来生产流程变化以及软件流程的变化。

我拉通制造、装备、驱动和硬件集体讨论,大家集思广益,分析了整个电子标签加载以及现网备件更换等多个场景,经过技术反复论证,修改了生产装备加工流程,解决了挂耳上电子标签应用的可靠性问题,实现了背板无源化,开启了业界存储无源背板的先河。

初战告捷,我们采用的4U16刀片设计方案也得到了周边团队的认可,但样机展示过程中我们又发现系统盘的维护方式不甚理想,目前主要是将系统盘安装单板进行翻转的方式维护下面的业务盘,配置和维护方式不灵活。怎么改善维护方式,让方案更具竞争力呢?我想到了免螺钉扣板方案。硬件扣板一般都是有螺钉固定的,此前并没有免螺钉的先例,团队很多人认为方案不可行。通过激烈的争论,我站在客户的角度说服了大家,我们不能总是让客户现场拿螺丝刀来拆装扣板吧,为什么不尝试一下?

我们试了多种不同紧固件的组合和拆装方案,扳手的设计尺寸、连接器的选型和插拔力评估、公差分析、PCB的布局等等。一次次制定尝试新方案,又一次次地推翻重来,不同组合试了十多次,大家都有点麻木了,但是心中那份对技术的执念支撑着我们没有放弃。一次又一次,坚持终于有了回报,采用新型卡扣和扳手的方案完美地解决扣板安装插拔力的问题,免螺钉扣板是可行的!

一开始,我还不太敢相信,真的能行吗?我们与结构专家反复确认这种安装方式,确认扳手设计和插拔力数据,结构专家都快受不了我的“唠叨”了,只是一遍遍验证确认没有问题。团队每个人都非常兴奋,我也充满了成就感。是的,我们做到了!

解决问题没有捷径,碰到问题多往前走一步,再坚持一下,说不定就柳暗花明了。幸运的是,我们从没有轻言放弃,终被成功眷顾。

十几年来,我一直在硬件开发的岗位上耕耘,没有考虑调整发展方向,因为我总能从一个又一个难题中找到解题的乐趣,不断收获价值感和成就感。任总说过,决胜取决于坚如磐石的信念,信念来自专注。什么是专注?也是在十年后的今天,我才深切领悟到师父那句话的含义,就是坚持做好一件事情,经得起摔打,耐得住寂寞。

在专注和坚持中追寻梦想的灯塔,终会点亮希望之光。期待在下一个下下个十年继续成为那个更好的自己,加油!

版权声明:本文来源网络,免费传达知识,版权归原作者所有。如涉及作品版权问题,请联系我进行删除。
EOF

你好,我是飞宇,本硕均于某中流985 CS就读,先后于百度搜索字节跳动电商以及携程等部门担任Linux C/C++后端研发工程师。

最近招聘季快到了,身边很多小伙伴都在摩拳擦掌、跃跃欲试,很多都打算看看新机会,这里推荐一个好朋友阿秀开发的互联网大厂面试真题解析网站支持按照行业、公司、岗位、科目、考察时间等查看面试真题,有意者欢迎体验。

如果你明天就要面试了,那我建议你今晚来刷一刷这个网站,说不定就能遇到你明天的面试原题,目前已经有不少人在面试中遇到原题了,具体可以看下链接:字节跳动后端研发岗面试考察题目Top10面试中局部性原理还真有用!

网址:https://top.interviewguide.cn/

同时,我也是知乎博主@韩飞宇,日常分享C/C++、计算机学习经验、工作体会,欢迎点击此处查看我以前的学习笔记&经验&分享的资源。

我组建了一些社群一起交流,群里有大牛也有小白,如果你有意可以一起进群交流。

欢迎你添加我的微信,我拉你进技术交流群。此外,我也会经常在微信上分享一些计算机学习经验以及工作体验,还有一些内推机会

加个微信,打开另一扇窗


C语言与CPP编程 C语言/C++开发,C语言/C++基础知识,C语言/C++学习路线,C语言/C++进阶,数据结构;算法;python;计算机基础等
评论 (0)
  •     PCB表面绝缘电阻(SIR, Surface Insulative Resistance)有IPC和Bellcore GR78-CORE两个主要标准。    IPC-TM-650 方法2.6.3.7 是针对SIR的。这个标准的英文版本可以免费从IPC官网下载获得。IPC(国际电子工业联接协会)是PCB标准化主要组织。    这个测试方法针对PCB裸板(即安装元器件之前的PCB),而且是使用IPC推荐的测试板/图案(Vehicle
    电子知识打边炉 2024-07-14 22:07 84浏览
  • 概述 SiPM测试系统的信号处理板使用了ADI的单片4通道的高速差分ADC信号,所以FPGA需要通过LVDS接口来收取差分高速ADC送出的差分串行数据。 本文讨论FPGA如何例化LVDS模块,以及几种用来收取外部ADC采样后送来的高速差分串行数据。10代器件LVDS实例化界面 在Intel的10代器件中有Arria、Cyclone、MAX以及Stratix几种,我们使用的是Cyclone系列10代GX产品。图1:LVDS模块例化界面 如图1所示为LVDS例化界面,具体使用方法可以参考1“LVDS
    coyoo 2024-07-14 12:25 142浏览
  • UAVDT数据集是一个专为无人机图像检测而设计的数据集,其特点包括丰富的标注和多样化的场景,对无人机图像处理领域的研究具有重要的价值。 UAVDT(Unmanned Aerial Vehicle for Detection and Tracking)数据集是为了在无人机图像中进行目标检测和跟踪研究而创建的。这个数据集主要由从无人机捕获的高清视频序列组成,涵盖了各种环境和场景,如城市、乡村、森林和海边等。 在UAVDT数据集中,图像主要包括小型车辆、行人和自行车等类别的目标,这些目标在图像中被
    丙丁先生 2024-07-15 07:33 83浏览
  •     这篇分享对PCB电化学迁移(ECM, Electrochemical Migration)的学习。     ECM发生在导体之间,是一种需要PCB通电才能持续的电化学反应,和电镀的原理相同。反应条件是:     1. 有电场。存在电位差/电压降,一般来说电位差/电压降越大,电化学反应的速度越快。     2. 有可溶性电解质和溶剂,这个和化学腐蚀机理相同。     3. 有迁移通道。即电荷
    电子知识打边炉 2024-07-14 17:40 68浏览
  •   读报见文《中国的AI价格战和“不知道怎么用AI”的日本人 - FT中文网》  如题,好奇,中日两国对AI表现怎么是这样呢?  我人在中国,看新闻与现实,“中国的AI价格战”不足为奇。  没去过日本,只有看新闻,好奇的是日本人“不知道怎么用AI”?  第一想到的是日本不是很早就搞机器人了吗?  百度看看,日本什么时候开始使用机器人?  日本在20世纪80年代开始在各个领域推广使用机器人。日本将1980年称之为“机器人普及元年”。到了1985年以后,日本进入了被称为“智能机器人的时代”。  智能
    自做自受 2024-07-13 22:40 236浏览
  • ADB(Android Debug Bridge)是Google提供的命令行工具,用于帮助开发者与安卓设备进行通信。它在安卓应用开发和设备管理中非常重要,因为它可以帮助开发者安装、调试和卸载应用,访问设备文件系统,以及获取设备日志等。通过ADB,开发者能够在多种测试场景中模拟用户操作,优化应用性能和用户体验。 要使用ADB,首先需要确保电脑已安装ADB驱动,并且手机已开启USB调试模式。在Windows系统中,通常不需要手动下载ADB驱动,因为Windows 8/10/11已经自带了相应的驱动
    丙丁先生 2024-07-15 07:27 78浏览
  •         MOS,是MOSFET的缩写。全称为金属-氧化物-半导体场效应晶体管(Metal-Oxide-Semiconductor Field-Effect Transistor, MOSFET)。MOS管最基本且常用的功能是通过对G级施加电压以控制S与D之间的开启与关闭,常用作电子开关。MOS管基本结构MOS主要有以下几个特点        1、栅压输入阻抗高,MOS管栅极有绝缘膜氧化物,但栅极容易被静电、高
    广电计量 2024-07-15 15:57 82浏览
  •     PCB上不同电气网络的连线之间,要有绝缘间隙(Clearance)和爬电距离(Creepage Distance)。画过PCB的朋友都知道,原理图上的电气连线(Wire)对应PCB Layout上的电气连线,PCB Layout上的电气连线对应铜导线。铜导线是在PCB覆铜层上,利用掩模(mask)和化学蚀刻(Etching)的方法,把PCB Layout上的铜导线部分留下,并去除非导线部分而做出来的。不同电气网络的连线中间要足够绝缘,足够干净,否则轻则漏电,重则短路。
    电子知识打边炉 2024-07-14 16:06 52浏览
  •     这篇分享对化学腐蚀/离子迁移的学习。    化学腐蚀的本质是氧化还原反应,即原电池。反应条件是:     1. 有可溶性电解质。电解质可能来自PCB的电镀或清洗工序,也可能来自残留的助焊剂(flux)。常见的有氯离子(有卤flux、汗液、盐雾)、酸(flux的酸);     2. 有溶剂。常见的是水(湿气),也可以是有机溶剂。树脂材料内部会吸附湿气,PCB加工过程有湿气,质量差的孔内壁会吸附湿气,V-cut分
    电子知识打边炉 2024-07-14 17:07 73浏览
  • 在+24V输入增加了软起电路和防反接电路,先看电路原理图,如下,防反接电路的原理一目了然,G极达到Vth值,U28和U5就会导通,电流从D极导通到S极,详细规格书见下面。VDS,RDS(on)和ID很重要,如下,之前选的这款为何还是有问题呢,可以从温度和电压电流的应力入手,考察U28的软起参数是否合理。首先,看一看之前测的温度参数,用K型线的热电偶点的,如下,充电的时候,U28温度达到了123℃,如下,放电的时候,U28温度达到了120℃,如下,从上面的数据看,这样的U28温度,我们是接收不了的
    liweicheng 2024-07-13 19:06 71浏览
  • “颠覆与涅槃,颠覆自我与重新涅槃,让企业在变革中更完美的蜕变。”这是小鹏汽车董事长兼CEO何小鹏,在2024年开年时候说的话。如今2024年已经过去了一半,小鹏汽车的处境,似乎并没有变得更好,反而是状况不断。据不完全统计,近一年来,从小鹏汽车离职的高管团队,并不在少数。从此前宣布加入英伟达的智驾负责人吴新宙,到后面的AI负责人刘兰个川(Patrick)、软件负责人Parixit Aghera,再到此次离职的矫青春,小鹏汽车近一年都处于内部动荡之中。而在这种动荡之外,小鹏汽车也正在经历一场“冰与火
    刘旷 2024-07-15 09:56 100浏览
我要评论
0
0
点击右上角,分享到朋友圈 我知道啦
请使用浏览器分享功能 我知道啦