硬件的自我修养

《怎样销售你自己》这本书的开头这样写到“决定一本书价值的诸多因素中,什么是最重要的?”“要看作者,看他是否言之有物,而且又有能力表述完整,最重要的是作者本人是否就是运用书中道理的活典范?”所以先往自己脸上贴金,说一下自己的经历:大四上学期我找到杭州这份研究所的工作,05年3月份我就到研究所实习,后来一直干到2008年合同到期。第一年优秀新员工,第二年优秀团干部,第三年先进工作者。写过2篇所谓的科技报告,参加过995工程、863课题、也爬过舰桥、钻过潜艇,中国的各个军港我几乎都跑过;到了华为,一开始做刀片服务器,一段时间参与Micro的平台系统设计,支撑过ATCA、iStram等其他产品,做过半年监控安防产品,申请了5个中国专利,3个美国专利,搞过技术预研,搞过产品化,产品维护,蹲过生产,跑过市场,带过研发团队,也做过系统工程师,也搞过知识管理,“部长奖、总裁奖、优秀导师”各种奖也拿过。考评也是一开始不理想,后来慢慢好起来的。离开华为之后,到现在这家公司,现在跨界搞互联网。

1、一个学光学的人怎么变成画电路板的了?

我2005年就到了杭州这家船舶相关的研究所,因为军工相关,所以我就不提及单位名称,项目名称,设备名称了。由于我在学校是学光学的,本来到这家研究所,计划是去搞光纤传感的,也就是绕光纤的。所以2005年大量的时间,我在啃上学时应该学的理论知识:“物理光学”、“微分方程”;因为光纤传感器里面有个贝塞尔函数,弄得我很郁闷。

后来由于某种原因,这个项目被重点实验室的人负责了。我作为电子研究室的人去参加项目,项目任务分配也就是利益分配,我一个孤军作战的小本科,自然被重点实验室的一堆博导、博士看成“编外”。所以被分配的活其实也很简单,就是把光转换成电信号。

系统里面有波分复用,时分复用。模拟光信号的时分复用由于有两种方案可以实现,一个是直接ADC高速采样,一个是先解时分复用再ADC多路采样。由于我为了给自己的部门争取更多的利益,所以整天就琢磨怎么多做点电路。而重点实验室的哥们也在琢磨:光电检测电路那么简单,自己搞搞好了,就不需要我这个外人了。

虽然第一次试验,我的电路也有很多问题,但是是能用的。后来我也解决了系统的噪声问题,达到了国内领先的两个单位的同等水平。而博士自己折腾出来的电路实际上一直都只作为试验板,所以后来我也没有被人排挤出项目。

因为光学仪器别的部门的人都不让我碰,慢慢的,我就更多的琢磨电路去了。

不管怎么样,我利用自己完成了自己分配的工作,积极主动的去承担更多的任务,久而久之也就被项目负责人认可,愿意给我多分配一些工作,慢慢在项目组立足。

不管做什么工作内容,或者领导对你有什么偏见,只要你是个好用的人,时间久了领导自然喜欢用你,也就会认可你。所以去做一个好用的人吧,没有领导会不喜欢你。

其实做什么不重要,重要的是你做出来的东西比别人好,自然就被需要。

2、硬件知识庞杂,用强力的单点技术去证明自己。

我刚到研究所的时候,需要完成毕业论文,所以就跟项目负责人沟通了一下,项目负责就跟我说了一句:“你一个本科生,干不了啥的。”

其实这句话极大的刺激了我。也促使我在一堆博士里面,想办法生存。我努力使自己做到两点:1、提高数学基础,重新学习一遍“物理光学”、“微分方程”,“激光原理”,防止博士们说话,我听不懂;2、把自己的“动手能力强”的特点充分发挥出来。就是把用到的芯片做各种试验,把研究透,把光电检测电路的噪声做到最低。

我就是在这个环境生存下来了。离开的时候那位“觉得本科生干不了啥”的博士生导师,对我还是比较认可的。

后来,我刚到华为的时候,也被人鄙视过。

有一个电路,是二极管合路电路,从理论计算,经过二极管压降之后,是不能满足器件的供电范围。理论计算,这个方案一定是有问题的。

算上二极管的温度特性,再考虑输入电源的电源范围和纹波,我提出了我的质疑。

这时候主持会议的人(其他部门的人)瞪了我一眼,然后他跟我们部门的老员工说了一句:“以后,你们部门来人评审,派有经验的人来参加评审。”,他当我面说这话,我当时脸都绿了。

实际上,被供电的器件是“海思”的芯片,他们跟海思已经商讨过了,即使电压低于器件datasheet标称的规格,也是可以保证正常工作的(事实也证明,发货5年时间没有在这个环节出过问题)。

后来,我一直在写一个LPC、PCI转UART的逻辑,这段代码也被别的部门借用了。后来这个“会议主持人”突然来找我讨论PCI的逻辑,和UART的逻辑,当着当时的主管面,把我夸了一番“技术扎实”“搞得很透”。

这个“会议主持人”可能早已忘记了这段往事。后来这位硬件大神成了我的直接主管,持续了4、5年的时间,他就是从认可我的逻辑能力,开始认可我的其他方面的。后来,他一直对我很认可,也一直给我比较好的绩效。

其实我一直没跟他提起过,曾经他鄙视我的事情,估计他忘记了。他看到这里的时候,会不会恍然大悟,原来你就是那个矬人,哈哈。

一些的硬件工程师跟我聊“硬件入门难”,我的建议往往都是:

“伤其十指,不如断其一指。”

3、模电是什么?艺术,幻术,赌术。

在研究所时,老前辈们经常跟我们灌输的一句话是:“模电是一门艺术”;

为什么说是艺术呢?模电与艺术的共通性,我觉得有如下几点:

第一,模电跟艺术一样,是理论结合实践的。模电虽然是一门工程类课程,但是只学会了书上的理论知识,无疑只能纸上谈兵。例如大家都知道,运放电路正向放大的放大倍数,但是需要考虑寄生参数特性,考虑驱动能力,自激,截止频率,等等。

当你觉得,有的问题或者是一些细节还没有科学阐释的,这时需要根据问题的性质并结合所学电子电路的知识创造性的制定解决方案,这就体现了电路的多姿多彩,艺术性。

第二、模电和艺术一样需要长期的积累。曾经一个老前辈,到处解决接地的问题。带着一本很厚的笔记,随便哪个设备现场,随便接接地线,人到设备好。

第三、模电和艺术一样,当你把理论不可解释的部分,通过实践之后,再找到,或形成新的理论,这样螺旋式进步。这也是很多硬件的人长期没有进步的一个原因。“demo板这么做的”,“以前一直这么做的”,“别人这么做的,没有问题”,只有你自己跳出来想为什么,才可能进步,否则你永远都是连连线的。

当你掌握不了电路背后的规律和原因的时候怎么办?觉得这东东简直是幻术。

其实我的经验是这样的,如果在找不到规律,或者学习理论时间较长的时候,你可以选择去试验,多试试各种可能性,有些地方电阻改大改小,去找规律,就是我所说的“赌术”,只要你动手能力强,你可以去不停的试。但是注意两点:第一、尝试不要盲目,要有目的性,找规律;第二、在找到新的现象或者规律以后,一定找到能够解释它理论。

经验有时是重要,但是任何问题都应该是理论解释得通的,当你解决问题时,一定要坚信:所有问题背后都是有原因的,理论上都是可以分析出来的。

4、夯实基础 + 手伸长一些。

硬件的外延:很多,需要接触,更需要懂,否则你做出来的东西也是没有生命力的。

|----------市场需求

|

|----------业务实现

|

|----------上层软件

|

|----------底层软件

|

硬件-|----------电路设计

|----------逻辑设计

|----------互连技术(PCB)

|----------结构

|----------工艺

|----------热设计

|----------器件可靠性

|----------生产(供应链)

|----------采购(供应链)

|----------EMC

|----------安规

|----------环境

|----------成本

|----------装备检测

作为一个合格的硬件工程师,不但要从各个角度去考虑问题,更需要像一个包工头一样统领各个领域,把产品做好,对产品负责。

硬件的内涵:很多,需要持续的积累。

硬件-----|---------电源

|---------时钟

|---------处理器(X86、MIPS、PowerPC、DSP、单片机)

|---------存储器(SDRAM、DDR1~4,E2PROM,Flash,硬盘,校验算法CRC、ECC)

|---------逻辑(HDL语言,逻辑器件,逻辑工具,加载)

|---------网络(数字网络,语音,无线,wifi)

|---------分立器件(电阻,电容,电感,变压器,磁珠,二极管,三极管,FET,驱动器,保险管,传感器)

|---------接口(接口电平,接口协议,热插拔)

|---------电路理论基础(电路分析,模电,数电,射频,信号处理,滤波器设计)

|---------硬件流程

|---------硬件开发工具

|---------硬件系统

|---------可生产性,可维护性,可维修性,可供应性,可测试性,可靠性。。。

不要固步自封,局限于自己做的工作,只有在“硬件内涵”夯实基础,在“硬件外延”手伸长一些。

不要怕硬件所需要的知识太多,其实其中的乐趣其乐无穷。知识,不像人民币“用一块少十毛”,而是越用越灵活。

任正非说:“华为由于幼稚不幸地进入了信息产业,我们又不幸学习了电子工程,随着潮流的波逐,被逼上了不归路。创业者和继承者都在消蚀着自己,为企业生存与发展顽强奋斗,丝毫不敢懈怠!一天不进步,就可能出局;三天不学习,就赶不上业界巨头,这是严酷的事实。”

5、“跑步锻炼”给我的启发。

我坚持跑步了100天,跑坏了2双鞋,平均每天跑10公里,减轻体重20斤。这件事情,给我一些启发。

学硬件就跟跑步减肥一样,是个痛苦的过程,必须耐心,每天积累。

古今之成大事业、大学问者,必经过三种之境界:"昨夜西风凋碧树。独上高楼,望尽天涯路。"此第一境也。"衣带渐宽终不悔,为伊消得人憔悴。"此第二境也。"众里寻他千百度,蓦然回首,那人却在灯火阑珊处。"此第三境也。此等语皆非大词人不能道。

我想每天像跑步一样,做《硬件十万个为什么》,把一些经验、观念、思路、案例和理论分享给大家。我计划花1年到2年的时间,每天这样积累,也是我自我学习的一个过程。

目前已经整理了,电源,逻辑,运放,分立器件等一些内容,我想经过1年的时间,内容应该会比较丰富。

希望更多的朋友一起交流,共同进步。

3----------------

时间: 2024-10-07 21:57:29

硬件的自我修养的相关文章

程序员的自我修养:(1)目标文件

程序员的自我修养:(1)目标文件 1.目标文件 1.1 编译与链接 在使用像Visual Studio或Qt Creator等IDE时,通常有一个叫做"构建"的按钮.当编辑完成要运行和测试时点一下它,程序就能跑起来了,所以我们很少关心编译和链接.其实,编译和链接合并在一起就称为 构建(Build).简单的一次按键,实际背后却是异常复杂的过程: 预编译(Preprocessing) 编译(Compilation) 扫描:算法类似有限状态机(FSM),将字符转换成Token. 语法分析:分

程序员的自我修养 学习笔记(1)

本文源自在学习<程序员的自我修养>中的心得体会. 对于底层系统程序开发者来说,硬件平台可以抽象为三个主要部件,CPU.内存.I/O控制器. 早期的计算机没有复杂的图形功能,CPU和内存之间的频率差异不大,它们都是连接在同一个bus上面的.其他I/O设备,诸如显示设备.键盘.磁盘等速度比内存.CPU慢很多.为了IO设备与CPU.内存之间的协调通讯,一般每个IO设备商都有相应的IO控制器,早期的硬件结构图如下: 随着技术的进步,CPU的频率越来越高,内存跟不上CPU的速度,他们之间就需要一个转换机

程序员的自我修养 学习笔记(4)

可执行文件只有装载到内存以后才能被CPU执行.程序就将是菜谱,CPU就像是厨师,计算机的其他硬件就像是厨具,整个炒菜的过程就是一个进程.同样的一份菜谱,不同人可以做出来不同的味道.这个类比真是巧妙. Linux下面,进程最大使用3G的虚拟空间 Windows下面,进程最大使用2G的虚拟空间 现在计算机,配置超过4G的内存的电脑已经不是不可能了,在这种情况下,32位CPU能够访问到大于4G的空间吗?如果此空间指的是虚拟地址空间,由于32位CPU的指针只能是32位,最大寻址范围是0~4GB.如果此空

后ARM时代,嵌入式工程师的自我修养

1嵌入式学习的一些概念理解误区 很多嵌入式初学者认为,学嵌入式,就是学习ARM,就是学习开发板.买一块开发板,然后在上面"移植"u-boot.Linux内核,再使用busybox制作一个根文件系统,大功告成!觉得可以出去找工作了.这其实是有一定片面性的:首先ARM是个CPU架构,跟PC上的X86架构一样,你见过有人在Windows下面学习C/C++编程.MFC编程.网络编程.互联网编程,说自己学习X86的吗?当然,也不可否认,嵌入式平台的多样性.硬件的可定制性导致我们在嵌入式平台上开发

《程序员的自我修养》第三章学习笔记

1,  编译器编译源代码生成的文件叫做目标文件. 从结构上说,是编译后的可执行文件,只不过还没有经过链接 3.1 目标文件的格式 1,可执行文件的格式: Windows下的PE  和   Linux下的ELF 2,从广义上说,目标文件与可执行文件的格式几乎是一样的,所以广义上可以将目标文件与可执行文件看成是一种类型的文件. 3,可执行文件,动态链接库,静态链接库都按照可执行文件格式存储(Windows下是 PE-COFF格式,Linux下是ELF格式). 4,Linux下命令: $: file 

综论数据库防火墙的自我修养系列之一:高可用性

DT时代的到来,正在逐渐改变人类的行为模式.数据,这个时代最巨量的产物,从未如今天这般珍贵而无价.也因此我们看到,越来越多的企业和政府部门开始将安全的关注重点从传统的边界安全转移到数据安全,保存核心数据资产的数据库系统,毫无疑问的成为防护的关键. 数据库防火墙,作为数据库的最后一道防御工事,自然获得了更多的关注,近年已越来越多的应用在关键系统的数据库安全防护中.所谓能力越大.责任越大,这句话用来形容数据库防火墙也许应该反过来理解,因其肩负数据库防护重任,人们对于他的要求也更加严苛. 我们在说数据

【读书笔记】程序员的自我修养总结(六)

[读书笔记]程序员的自我修养总结(六) 声明:引用请注明出处http://blog.csdn.net/lg1259156776/ 说明:这是程序员的自我修养一书的读书总结,随着阅读的推进,逐步增加内容. 本文主要介绍可执行文件的装载与进程 程序与进程的区别 程序是静态的,指的是一些预先编译好的指令和数据集合的一个文件:而进程实际上就是运行着的程序,是动态的. 虚拟地址空间 程序运行起来后将拥有独立的虚拟地址空间 virtual address space,其大小由计算机的硬件平台决定,具体地说是

读《程序员的自我修养 —— 装载与动态链接》乱摘

2016.05.14 – <程序员的自我修养 -- 链接.装载与库>的装载与动态链接部分. - 余甲子 石凡 潘爱民编 个人选读笔记 - 学点表皮. 05.14 PART II 装载与动态链接 1 可执行文件的装载与进程 1.1 进程虚拟地址空间的大小 每个进程拥有自己独立的虚拟地址空间,该虚拟地址空间的大小由计算机的硬件平台决定,具体地说是由CPU的位数决定的(地址线 -- C语言中的指针所占空间).硬件决定了地址空间的最大理论上限,即硬件的寻址空间大小,如32位的硬件平台决定了虚拟地址空间

程序员的自我修养笔记

1,为什么内存需要分段和分页机制? 早起的计算机中,程序都是直接运行在物理内存上的.这样做有几个问题: 1)地址空间不隔离,计算机的安全性和稳定性没有办法保证,由于所有的程序都可以访问物理内存,恶意的程序可以很容易修改其他程序的内容,达到破坏的目的. 2)内存使用效率低,当前执行的程序(列入进程A)必须被整个装载到内存中执行,如果需要执行另一个程序时,发现内存空间不足,则需要将进程A的数据整体换出到磁盘. 3)程序运行的地址不确定 为了解决上述的三个问题,引入了虚拟地址.分段和分页的概念. 有了