电子制作

    1. 关注楼主一下 呵呵
    2. 关注一下 呵呵
    3. 呵呵 不错 关注一下
    4. ARGB888 在一帧数据内画框的实现 1/3691 综合技术交流 2013-05-24
      谢谢楼主分享 学习一下
    5. 在飞利浦的期间,有两位同事和我关系比较密切。我们几乎每天吃过午饭后都要围着我们的开发区步行走一圈。其中一位同事特别喜欢问我电源方面的问题,后来我才知道,原来他还在外面做兼职的电源设计。而另一位同事,则是从事单片机控制方面的设计工作的。在我从飞利浦辞职去了A公司以后不久,这两位同时辞职了。而且,他们辞职以后去了同一家公司——S公司。S公司应该说不是专业做电源的,而是生产无损检测设备的。他们过去以后,主要工作就是设计高频高压开关电源,与S公司原先生产的X射线管配套组成X射线发生器。这个X射线发生器可以应用于安检、医疗、工业检测等领域。S公司是中美合资企业,合资前的公司主要产品就是X光管,合资后,美国老板带来了美国的X射线源技术。但是美国拿来的那套射线源技术中的电源部分并不先进,开关频率只有十几KHz,功率也比较小。而公司现在想把开关频率提升,同时想把输出功率也大幅度增加。那么就必须重新设计电源系统了。原先的技术人员功力不够,只能从外面招人了。而飞利浦的这两位同事,在飞利浦的时候,其实就已经在这家公司做兼职设计了。而那位喜欢问我电源问题的同事,其实就是一直在把兼职过程中遇到的问题拿来问我。我们离开飞利浦后,一直还保持着联系,他们后来极力劝说我也到S公司来,因为他们觉得,有我的加入,电源的开发任务会比较容易完成。那时候我正觉得A公司的情况不能令人满意,而S公司虽然不属于电源行业,但是实际做的工作还是属于电源设计。而且,还是比较有挑战性的工作。于是,在这两位同事的介绍下,我和S公司的老板见面聊了聊。结果就是自2003年5月之后,我一直在S公司工作,从一开始的工程师,到后面担任研发经理,直到现在担任副总经理。   在S公司的故事很多,但是因为现在还在这公司里做事,所有就不方便给大家讲细节了。刚进公司的时候,也遇到了老技术人员的排斥,但这时候,我采取的是韬光养晦的策略,因为我刚进公司,没有做出成绩,别人也不知道你的能力,所以不能以高姿态出场,而是要低调做人,踏踏实实做事。而从飞利浦过来爱问我问题的那位同事,则常和以前的工程师争论,甚至和老板争论,自己在工作态度上也有问题,最后终于和老板合作不下去,辞职走人了。我曾经劝过他,不要急着口头上辩解谁是对的,谁是错的,而是尽快把项目做出来,用事实来证明对与错,但是他听不进去,最后辞职走人的结果对大家其实一点意义都没有。当我用新的电路拓扑和工作模式,把原先的十几KHz的开关频率可以提升到几十K甚至上百KHz,功率也可以按照实际需要做大以后,公司里的人对待我的态度马上就发生了微妙的变化。一些什么老板从外面请进来的人的工资比我们高很多之类的不和谐的话语不再有人去说了。劳动人民其实是很简单的,只要你证明了你的能力,大部分人马上就会认可你了。而老板也在我证明了我的能力之后,最起码在技术上是没有什么疑虑了。一定要记住胜不骄、败不馁这句话,当获得了别人的尊敬之后,更不能因此趾高气扬,而是要谦虚对待每一个人。人与人之间应该只有分工的不同,没有人格上的高低,只有职务上的差异,没有地位上的高低。当我自己是个菜鸟的时候,我最反感的就是傲慢瞧不起别人的老员工。那么己欲不为,勿施于人,这样的低级错误自己绝对不能犯。   在S公司的这段时间,我也曾经有过想辞职的想法,甚至有一次连辞职报告都交了上去。一个最主要的原因就是因为感觉自己不被信任。这不是技术上的不信任。技术上的能力,我已经证明过了。而是另外一种不信任,怎么说呢,应该说是被防着。好像害怕我知道太多,懂的太多。可是,对于一个需要活到老学到老的工程师而言,不能不断的进步,那就是自掘坟墓啊。如果我就仅仅安心做自己那一亩三分地里的东西,那么我上升的空间无形中就狭隘了很多。更何况,我们设计的产品是一个整体,除了电路之外,还有别的内容,如果对别的部分不了解,那么如何做出最好的设计呢?因为这个,我找老板谈过很多次。老板是个非常聪明的人,也是很爱面子的人。所以,我只能委婉晦涩的把自己的意思表达给他。事实上他是非常明白的。最终我没有辞职,主要还是我看好这个行业,觉得做的事情很有意思。抛开老板对我的防范之心来说,老板还是一个很不错的人,而且我和他深谈之后,老板也表示愿意改进这些问题。可能我的年龄也大了,不像年轻的时候那么冲动了,性格上也愿意表现的中庸一些。于是,还是留下继续做。但是,对于工程师而言,技术是立身之本,只要不断提升自己的技术水平,就能把主动权抓在自己手里,永远不用担心没有地方可以去,我离开中达好几年以后,中达的人事经理还打电话问我愿不愿意回去,大概就是那时候我对技术进步的追求给他留下了深刻印象。如果有猎头找你,不妨去参加面试,多锻炼自己面对不同的考官,可以提升自己的临场应变能力,也可以帮助发现自己的不足之处。做工程师也不要一直埋头苦干,多出去走走,交一些朋友。很多好工作都是朋友介绍来的。多写一些技术文章和大家一起分享,既可以帮助别人,也可以提升自己的水平。   在那时担任电源 网的版主之后,我在论坛里遇到了各种各样的问题。网友们其实就像面试官一样,用各种问题来考验我。对我的帮助很大!通过回答网友的问题,和大家讨论的互动过程,我对很多知识也有了更深入的理解,有些问题以前都是没有想过的。有人问了以后,再思考计算,居然能发现一些新的东西。比如,当年CMG和861309之间关于一个自激振荡的电源的大争论,我通过pspice进行了仿真,很快就把工作原理搞清楚了。通过对这个案例的分析,我自己都感觉到了自己的进步。还有一个网友曾经问过,他的单端反激电源,在高电压输入的时候,比低电压输入的时候变压器更热,是为什么?通过他给的参数,我在回帖进行了计算和仿真,发现低压的时候,他这个电源工作在CCM模式,磁芯出现最大磁感应强度,而在高电压输入的时候,工作在DCM,最大磁感应强度虽然不高,但是磁芯出现最大的磁通摆幅,而磁芯的损耗是和磁通摆幅成正比的,所以高压的时候磁损更大,变压器自然就更热了。这个问题,以前我根本就没有留意。类似的例子有很多,网友们写出了自己的所见所得,大家都从里面学到了知识。我自己都感觉的到,我的技术水平的增长,是很得益于这个论坛。   我曾经说过,没有人教我开关电源技术,都是自己自学的。现在我想说,我有老师,就是电源 网论坛的广大网友们!   我的故事就讲到这里,谢谢大家的关注!希望有更多的朋友也能写一些自己的经历与大家共享!
    6. 第一个故事,是去面试的时候发生的事情。本来和技术经理面谈了以后,技术经理是相当满意的。我原以为已经没有什么问题了。结果等了两天,对方又打电话来,说因为我要的薪水比较高,他们的技术副总想见见我。见就见吧,我也没想太多,总觉得哥现在是玉树临风,人见人爱,技术副总见了我要是不把offer上的数字给double一下,都不好意思是不是?见面后,技术副总简单寒暄了几句,然后打电话从隔壁办公室叫了一位老先生过来,据说是总工。老先生看上去应该是退休了又被返聘的,想必技术上应该是比较牛的。两个人对我过去的工作经历又问了一遍,老先生然后给我下了结论:你过去主要是做大功率的电源,我们公司做的主要是小功率的电源,可能你未必能做的好。我赶紧说,我不是做过电子镇流器吗,那是小功率的呀。可是,这话说完,我自己都觉得没有什么说服力。这时候该怎么办呢?我在心里飞快的思索......,说来也巧,那位老先生见我沉默下来,以为我已经哑口无言了,就拿出手中的一个电源对技术副总说,这是xx竞争对手的一个产品,成本比我们的低。敢情这位老先生过来,不仅仅是为了面试我,还有别的事情。就像一道闪电划破黑暗的天空,我的心中也闪过一道闪电,划开了心中的阴霾。我不动声色的对技术副总说,这个电源可以给我看看吗?得到认可之后,我拿起电源观察了起来。嗯,初级测没有驱动IC,功率管是三极管,次级是一个二极管整流后先接电解电容,然后一个工字形电感,再一个电解。次级有一个TL431,初、次级之间有光耦。我心里明白了,这就是一个RCC的单端反激电源。于是,我就开始滔滔不绝的开始谈起了我对RCC电源的了解,讲解了工作原理,性能特点,优点与缺点等。等我说完了,面前的这两位都没有什么话说了,所有对我的怀疑与担忧都结束了。技术副总当即表示,欢迎尽快来公司报到!这是我在面试经历中的一个借题发挥的典型案例。   第二个故事是发生在一次总经理召集的全体工程师会议上发生的。总经理对工程师们一到下班时间就走感到不满,他认为大家应该自觉留下来加班。还特意打印了一份大家下班刷卡的时间记录,说工程师们工作不卖力,比以前公司里的韩国工程师的敬业程度差远了云云。然后点名批评了一位老员工,说他迟到早退什么的。迟到早退的确可以批评,我觉得到没什么。可是后面的事就奇怪了,总经理要求大家谈谈自己对下班时间的看法,所有的人都沉默不语,没想到他就点我的名字叫我说,我想奇怪了呀,我才来几天啊,让我说什么,而且下午五点钟下班,我都是去赶六点的开发区班车,不可以吗?但是已经被点名了,不说不行啊。我就说了,我们公司的位置,交通不是很方便,大家下班以后,一般都是乘开发区班车出去以后又换别的车子回家。如果错过了开发区班车,出去就很不方便了。每天乘出租车,我们又承受不起,所以下班以后,大家要赶上开发区班车才行。而且我还说,其实工程师和管理人员是不同的,管理人员下班以后,离开公司,一般就没法再做公司里的事情了。但是工程师不一样,虽然人是下班离开公司了,脑子里往往都是带着工作上的问题回家的,回家以后还会继续思考解决方案的。说这个话不是忽悠他,其实我自己还有很多技术人员一定是这样的,工作上的问题没有解决,吃饭不香,睡觉不实。总经理听我这么说,只能把会议草草收场。其实,我觉得他的考核方法就是有问题的。他应该看工程师完成项目的进展和速度,而不是考核别人的上下班时间。下班以后,待在公司里不走,号称是在加班的,我看有很多其实在上网或玩游戏,难道那样就令人满意了?   我在A公司待的时间不长,我赶在试用期满之前就提出辞职,只需要一个星期的时间就可以离职了,刚好三个月试用期满的时候,我离职的。虽然只有三个月,但我还是完成了一个半的项目。一个是前面一个工程师留下的48V/2.5A的通讯电源,是一个全电压范围输入,无PFC的单端反激电源。我接手的时候,电源的样机已经有了,但是面临的问题是EMC过不了,还有变压器发热严重。后来通过修改变压器结构和参数,把问题解决。客户开始了小批量订货了。还有一个电源,是一个医用的锂离子充电器,全电压输入,12V/1A输出。采用fairchild的单片集成功率芯片来做了一个反激,后面使用了一个锂电池充电专用IC——BQ2057。这个电源由于是医用电源,所以漏电流要很低,这样的话,Y电容就不能太大。于是变压器的结构就很重要了。总的来说,小功率的电源如果指标不是那种很苛刻的,例如极低的待机功耗,或者极低的漏电流的同时还要有好的EMC等等,那么还是比较好做的。在A公司期间,开始对一些认证上的条款关注起来,开始注意在设计之初就考虑认证和标准的问题。这是我在A公司的一大收获和认识。   当然,在A公司期间,最大的收获是认识了电源 网,据说是电源 网第七位注册的网友,后来通过努力和申请,我也成了第一任版主。有很多人问过我,为什么你的网名叫“乞力马扎罗的雪”?是这样的,当初注册的时候,我就在想,要有一个响亮的同时又不容易和别人重复的网名,突然之间,这个网名就从脑海里跳了出来。我觉得还不错,根本没有意识到其实海明威有一本小说就是叫这个名字。我根本没有看过那本小说以及根据这本小说改编的电影。我只知道乞力马扎罗山是非洲最高峰,山顶终年积雪。   A公司是个小公司。人不不算多。但是我感觉所谓的管理层人员冗余很厉害,办公室里坐着一批看上去像是中层或高层的人物,但都不清楚平时做什么事情。虽然说起来是美资企业,但是管理上的风格不像。公司不大,人事关系倒挺复杂,人与人之间处处透着一种神秘感。但是这些情况,你在进入公司之前是不可能知道的,等你进去了明白了,那已经晚了。所以啊,跳槽之前,一定要尽量多了解将要去的公司。很多公司都是看上去很美,实际却未必,能在进去之前就了解清楚,可以帮你作出正确的决定。但总的来说,大公司还是比小公司要好一些,欧美企业比日韩企业好一些。
    7. 飞利浦虽然号称是外商独资企业,但是给我的感觉,气氛挺像一个国企。这大概是因为飞利浦的同事之间的关系要比中达融洽一些,这是和企业的文化以及管理相关。在飞利浦,经常会有别的项目小组邀请你参加他们的technical review,我觉得这种方式非常好,一方面可以让不同的人了解到新的知识,另一方面所谓当局者迷,旁观者清,借助别人的角度来看问题,也许可以看出些不同的东西来。此外,飞利浦做的东西虽然复杂度不大,但是难度也不算很小,因为对成本控制的很严格。另外,飞利浦的同事都喜欢把BOOST变换器叫UP converter,而喜欢把BUCK变换器叫做DOWN converter,不知道这是不是和欧洲人那边的习惯有关系。飞利浦的项目管理非常成熟,项目经理的工作也很到位。一个项目立项之后,项目经理会把相关的工程师、采购、生产等召集在一起,以project的管理软件把每个人的工作时间规划协调好。如果到了任务节点,是谁的任务没有按时完成,那么这个人会很自然的感到不好意思。我们的这位项目经理,英语口语极其流利,气质也比较儒雅,据说以前是做工程师的,但是工程师做的不好,却成了一个不错的项目经理。虽然有项目经理给排日程,但是在飞利浦的工作压力相比于中达,那是小了很多很多。一方面,项目经理所安排的日程不会压的很紧,比较充裕。另一方面,公司的架构给予每个项目充分的支持。比如我后来做的那个项目,就还有一个助理工程师帮我一起做事。飞利浦还有一个特点,对女工程师极不感冒。我们那个楼层,只有一个女工程师,没多久还离职了。后来和同事聊起这个话题,大家的结论是,女孩子做电力电子设计这部分很少有做的好的。   总的来说,做技术的人之间还是好打交道的。企业文化建立的好,工程师之间的技术交流就会显的无私而公开。我觉得飞利浦在这方面做的不错,顺便说一句,我和网友的聊天中知道,据说艾默生的工作人文环境也是不错的,有机会进去的朋友不要错过了。那时候,我经常参与各小组的技术会议,有的是项目的技术审核,有的是疑难问题求助,还有的是故障分析等等。刚一开始,我还不是很敢于开口,怕说错了。后来发现,他们讨论的问题,早已是我已经掌握的部分,我就开始大胆发表自己的观点了。举个简单的例子,有个L6561设计的CRM的PFC电路,升压二极管发热严重,找不到原因。因为参照同等功率的电路,别的发热就不厉害,而这个就发热很厉害。原因呢?我看了这个工程师演示的PPT中的电路,建议他检查看看电路是不是工作在CRM状态,怀疑他的电路进入CCM了。果然他检查下来发现因为设计原因,进入了CCM状态,那么升压二极管有一个反向恢复造成的损耗,所以功耗偏大。大概也是因为我渐渐胆子大了,敢说,而且也常常能说对,另外,我的思维比较缜密,在review别人的项目的时候,往往能问一些关键性的问题,慢慢我的威信就建立起来了。相对于通讯电源,电子镇流器真的是简单的太多了。简单到你不稍稍动点脑筋就会迷糊。举个例子来说吧,我们知道,半桥谐振式的开关电源,例如半桥LLC,我们通常会在上下两个MOS的DS上各并联一个高频特性好的吸收电容,用来提供MOS关断瞬间的电流通道,限制VDS的上升速率,从而实现了零电压关断。但是在ballast中,同样的半桥谐振式的工作方式,这个电容往往就只有一个。第一次见到的时候,就会奇怪了,怎么是这样呢?上下两个MOS,只有一个MOS上并了电容,什么意思呢?后来想明白了,半桥上下两个MOS的DS上的电容在电路上的表现是并联关系,虽然ballast中只用了一个,但是对上下两个MOS的缓冲作用是一样的。但是只用一个电容,成本就下降了许多。   在飞利浦有一件事是让我比较得意的。我无意中得知,飞利浦居然有一套正版的ORCAD软件,但是居然几乎没有人用。我听说有ORCAD,那个开心啊。那时候我已经知道ORCAD里面集成了PSPICE这个仿真软件,就是一直搞不到,虽然有心学习,但是没有软件还是白搭啊。现在居然有套正版的送上门来,虽然是需要用加密狗的,但毕竟我可以学习仿真了呀。恰好电子镇流器的电路又比较简单,用来学习仿真,是很好的入门案例。二话不说,装上软件,拿出早就买好了的书,一点一点的学习起来。虽然这本书讲的基本是皮毛,但是可以把我领进门了,深入一些的学习,需要看一点软件自带的英文文档。我很快把公司里的几个典型电路,例如公司内部称为Ring-core的磁环自激振荡半桥电路,还有一种半桥自激振荡的卤素灯等电路都仿真了一遍,让大家惊叹的是,仿真出来的波形和实际电路波形吻合的非常好,连一些细节也表现的很吻合。于是乎,一下子掀起了一股学习PSPICE的热潮,大家纷纷开始对自己的电路玩起了仿真。事实也证明,仿真可以大大加快电路的可行性验证,对设计方案的确认有很多帮助。直到现在,PSPICE依然是我手中的一大利器!   运用PSPICE仿真,对电子设计可以有效提供帮助。这很快就在我的项目中体现出来了。我接到了一个日本客户提出的PWM调光Ballast的项目。这个PWM是指调光的信号是PWM的。仅仅是调光Ballast的话,其实很容易。飞利浦有专用的调光Ballast控制IC。难就难在客户给出的接口指标上。客户的要求是他来提供PWM信号,这个信号频率的可能范围是100Hz~1KHz,幅值是5V~28V,要求占空比变化从5%~95%变化时,灯的亮度也是相应的变化。而且,这个PWM的驱动信号带载能力只有几个毫安。简单来说,就是我们要做一个接口来接收他的PWM信号,转换为我们的控制IC需要的信号。但是要求我们的接口电路是频率在100Hz~1KHz、幅值在5V~28V下都能工作,而且,这个转换的最终结果仅仅是占空比的函数。此外,PWM信号和我们的镇流器电路之间需要可靠隔离。感兴趣的朋友看到这里先不要看下去,自己想想看,如果是你遇到这样的问题,你会怎么解决呢?特别是对于电子镇流器,你懂的,成本要低。反正我们老大是没有好主意了,召集大家一起开会讨论下来,都没有很好的办法。老大甚至放出话来,说实在不行,用单片机来做。而这个项目最后安排给了我,真不知道是因为信任我,还是觉得项目完不成才给我的。我的思路是这样的,隔离可以用光耦来实现。现在的问题,就是如何从前级的PWM信号中仅仅提取出和占空比相关的信号,最大的困难在于输入信号的幅值变化太大,通过光耦传递过来的信号会受到输入信号幅值的影响。后来我脑子灵光一现,把光耦初级的部分的电路,做成一个电流源电路,随便你的输入信号幅值是多少,进入光耦初级的总是相同大小的电流脉冲。而光耦的工作点设计为饱和状态,把传输比的影响降低。这样在光耦次级的供电是恒压源供电的情况下,就可以把输入的PWM信号转换为恒定幅值的PWM信号了。然后经过一个时间常数很大的RC滤波,就可以得到一个用来控制灯功率的直流电平,把这个电平送入控制IC,就可以实行调光功能了。我把这个想法用PSPICE进行了仿真,结果是令人满意的。随后,我依据这个结果制作了样机,用客户提供的PWM信号发生器进行了联机实验,结果很好。为了验证设计,我特意把客户PWM发生器拆开了,对里面的电路进行改造,实现PWM信号的幅值可以从5V~28V变化,频率从100Hz~1KHz变化。结果当占空比恒定,不论怎么调节脉冲幅值或是驱动频率,灯功率都能基本保持稳定。就这样,利用PSPICE的帮助,很快就完成了领导觉得非常难的一个项目。而且,对成本的控制远远低于当初的估算。这个项目在做最后的评审的时候,亚太研发中心的总监胡逢康先生也来参加了,因为这个项目,他对我的印象很好。在胡总的要求下,这个接口电路去申请专利了,但是有没有拿到我就不清楚了,因为后来我离开飞利浦了。   在飞利浦的工作是轻松而惬意的,没有太大的压力,有很多时间可以学习、做实验。在飞利浦最大的收获就是学会了掌控元器件的降额使用标准。在飞利浦,人人都知道有一个称为feng's rule元件降额使用标准。这就是胡逢康先生建立的一个经过实践检验的设计标准。按照这个标准来设计,可以保证电子产品的可靠性,同时,也可以控制好成本。因为飞利浦照明做的是电子镇流器,属于大批量的产品,所以设计的论证,是有一套非常完整而严格的测试标准。如果说中达的经历让我学会了各种变换器的设计,那么飞利浦让我知道怎么保证可靠性。同时,因为飞利浦的产品一旦投产,量非常的大。所以,工程师在设计过程,如果需要样品,一旦提出来,供应商会非常愿意支持!IC的样品都是几条几条的送,真爽!   我们的总监胡逢康先生是一个有着特别的人格魅力的管理者。他的管理风格相当的宽松,只要把事做好,空闲时间允许大家学习别的东西。他非常的平易近人,身处高位却毫无架子。绝对不像公司里的那帮荷兰人,颇有几分北欧人的傲慢。而且,胡总还能够做到不拘一格提拔人才。我们那边有个中专毕业的年轻人,就是因为工作积极努力,表现出来的能力也不错,胡总就把他提升为工程师,给他继续往上的机会。公司举办运动会,胡总也是和大家打成一片,毫无架子。从他的身上,我可以感受到,真正的成功者,胸怀之中自有天地。飞利浦的企业文化中,有一条我切身感受到的就是“扬善”。我记得有一次,公司里搞了一个给失学儿童捐款的活动,公司建议的标准是普通工程师10元钱,部门经理100元。我当时在飞利浦做的挺开心,虽然只是一个工程师,但是还是按照部门经理的标准要求了自己。大概一个星期之后,我们的助理给我拿来了一个飞利浦的台灯,告诉我是上次捐款之后搞的抽奖活动我中的奖。其实根本没有搞什么抽奖活动,而是公司为了鼓励我这种高标准要求自己的人而给予的奖励。虽然事情不大,但是非常的温暖人心。在我提出辞职申请之后,胡总在百忙之中找我谈了好几次,希望我能留下来,别的公司给我什么待遇,他也愿意给我。我一度都动摇了。但是考虑下来,最终还是离开了飞利浦。不过,对于胡总热情而真诚的挽留,我直到现在还是感到非常的感激!   那么既然飞利浦的人文环境这么好,领导又是对我的印象很好的,为什么我在飞利浦只待了一年,就辞职了呢?这个问题也是每次去面试的时候,人事经理要问我的。我自己总结下来的原因还是有两条。一、温柔乡、英雄冢,不是句古话么,生于忧患,死于安乐。飞利浦的环境太舒适了,感觉适合养老。年轻人待久了会失去锋芒。如果等到我50岁以后,飞利浦还愿意要我的话,我倒是可以考虑再回去工作。但是现在我还是愿意在外面闯荡闯荡。二、飞利浦照明所做的产品相对简单了一些,对成本控制很严格,特别是一些中低端的电子镇流器,几乎已经到了多一个元件都嫌贵的地步。那么在这种情况下,工程师所能尝试的手段就非常有限了。也很难有机会去运用一些复杂的设计。从成长的角度来看,没有机会学习和应用复杂的技术,工程师是无法成长的。电子整流器的附加值不高,而附加值不高的东西,做起来其实没有太多的意思,比较枯燥单调。电路拓扑基本以半桥为主,变化不大,哪里比得上开关电源的万千变化?我还是愿意去做更复杂的开关电源的设计。说到这里,做镇流器的朋友不要拿砖头砸我啊!镇流器行业中,有高端产品,也有复杂的产品,但从整体角度而言,我真的是觉得比开关电源要略简单一些。   离开飞利浦以后,我去的这家公司依然是位于漕河泾开发区,是在钦州北路的A公司。A公司是一家美国独资企业,在中国有生产基地,也有研发中心。我去的地方是位于上海的研发中心。在A公司待的时间不长,只有三个月,但是故事却不少。
    8. 大虾篇:   之所以这部分叫大虾篇,是因为后来在电源 网上当版主的那阵子,很多人称呼我为大侠。很感谢大家的信任和尊重!我也希望能够尽自己的努力和大家一起交流一起进步。所以把这部分叫大虾篇,算是作为在电源 网这么多年的一个纪念吧。   我离开新宇电源厂以后,来到的公司是位于浦东曹路镇的中达电通股份有限公司,当时还不是这个名字,而是叫中达-斯米克电器电子有限公司。是属于台达电子集团控股的一个合资企业。能够进入中达,是一次非常偶然的机会。那时候,我弟弟大学快毕业了,想找在上海的工作,我就在周末到人才市场去帮他投递简历。刚好在人才市场碰到中达在招人,那可是电源行业内有名的公司啊,可我根本没有准备自己的简历,只能在现场用他们提供的表格简单填写了一些信息就递交上去了。那天中达的席位前投递简历的人非常多,我本来不是很抱有希望,没想到几天以后接到了中达人资MM张帆的电话,和我约时间去公司面试。虽然已经参加工作好几年了,有时候还去外面给客户上课培训,但几乎没有参加过面试。此前只参加过一家位于黄陂南路做PCB设备代理的香港公司的面试,那次面试中,因为我说了一句知识面宽广,结果招来了人事经理对我采用的电子、编程、英语等全方位的轰炸,还好面试结果是成功的,不过后来因为得到了中达的offer,就没有去那边了。   去中达面试的那天,因为中达离我住的地方很远,虽然我的面试时间是下午,我还是提早赶了过去。从门卫那儿登记进入中达,就感觉到了一个正规管理的公司的严格流程。然后就在大厅里等人资MM接我们上去。等待过程还遇到了刚刚面试结束从里面出来的人,在等待的忐忑不安中和别人聊了聊,希望能得到一些有帮助的信息。大厅里放着轻音乐,前台MM不时通过遍布整个公司的音响系统呼叫相关人员,让我惊叹的是,喇叭里传出来的声音非常非常好听。后来才知道,那是骗人的。一方面是音响系统对声音作了一些处理,另一方面是前台MM刻意用了最温柔语音。   终于等到了人资MM,把我领上楼以后,面试的第一项是笔试。卷子发下来,最初的几分钟看的我晕头转向,这是什么题?几个稀奇古怪的图形,要我找规律,然后从后面几个待选图形里选一个自己觉得合适的。现在回想起来大概就是考智商的卷子吧。时间很紧张,我的每一个脑细胞都充分运转了起来,等到时间到了,我刚好做完,交卷子的时候,我感觉到自己脸上热腾腾的,是因为脑子全力运转,消耗能量的缘故。然后是做专业技术的考试卷,反而是这份卷子,我现在已经几乎没有印象了。两份卷子做完,已经过了吃晚饭的时间,人资MM带我去小卖部吃了方便面。小卖部的人还给了我一小包速溶咖啡。吃完饭以后,人资MM让我做在一个格子间等着,她自己就做在边上的格子间。这时候的我已经不再紧张了,放松了下来。我就听着那边的鼠标传来无规律的吧嗒吧嗒的声音,我就问她,你是不是在挖地雷啊?呵呵,她果然是在挖地雷!挖地雷我可是总结过一些规律的,比如,121的边上,上下的1的边上肯定是地雷。而1221,两个2的边上一定是地雷等等。我就把自己知道的心得都告诉了她,还把那一小包速溶咖啡送给了她。人就是这样,你对别人的一点点善意,就可以换来别人的善意。她告诉我,我的智商的测试卷,做的非常好,是她见过分数最高的,甚至怀疑我以前是不是做过这份卷子。呵呵,在知道这个信息之后,我心里有些微微的得意,同时对面试的成功也抱有了很大的希望,信心倍增。后来等到很晚,我是最后一个被主管面试的人。主管问我为什么要换工作,我说是为了前途,也是为了钱途。他还问了一些技术问题,同样惊讶于我是化学专业的,居然改行来做电源。不过,他对我面试的结果还是比较满意的。后来从别人的口中得知,他觉得我非常有悟性,虽然不是电子专业的,但是一定能胜任这份工作。面试结束后,我被告知,回去等消息。于是也没啥好说的,回来等吧。很快我就接到了人资MM的电话,告诉我说我被录用了,offer很快就可以寄给我。乘这个机会,我还问人资MM,还有工程师的需求吗?我这边有个同事也想跳了。人资MM就让我同事先把简历寄过去再说。很幸运的是,我的这位同事后来也拿到了offer。   2001年春节过后,我和这位同事同时辞职,同时来到了中达报到。这时候人资的张帆MM已经离职了,可惜啊,她算是我在中达的第一个熟人。报到以后,是一系列的入职培训。先到生产第一线,了解中达的物料编号,然后了解生产过程的测试工艺,了解维修流程,最后接受人资关于办公与资讯方面的培训,然后作为合格新人送到新部门中。我当时的部门属于工程部电子设计处,在入职的新人中,很快我就结交了几位新朋友。一位是从武汉那边的从事潜艇研究的军工出来的老马,虽然比我小,但大家习惯叫他老马,比我晚几天入职,一位是维修部门的周。后来我离开中达以后不久,老马也离开中达去了艾睿电子,现在大概是华东区的技术负责人了吧。周比较有商业头脑,也敢于冒险,离开中达后先去了一家功率半导体企业做FAE,没多久自己开公司开始倒卖元件了,现在可能发了点小财吧。和我一起跳槽出来的同事老齐,在我离开中达后不久也离开了,最终辗转去了厦新电子。不过,我们这些做技术的,真的是有点君子之交淡如水的感觉,虽然后来大家一直保持着联系,但已经好几年没有见面了。真想把大家都约出来见面聊聊。   中达是我在电源道路上非常重要的一个阶段。怎么说呢,虽然我在中达的时间不长,只有一年。但是,在这一年中,我就像一个海绵被投入到了水中那样,拼命吸收。那时候,台达有一个电力电子研发中心挂靠在中达,办公地点就在边上。那边有个资料室,各种各样的关于电源的报刊杂志论文集。我就像一条快乐的小鱼遨游在电源的知识海洋。公司提供了很好的工作环境,要资料,有!要元件,有!要仪器,有!工作晚了加班有免费的晚餐,还可以有班车送到地铁站。有很多人说台资企业不好,小气。但我对中达的印象一直很好。怎么说呢,一个工程师应该有这样的觉悟——在你设计的产品能够养活自己之前,是工厂里的工人在养活着你!很多台资企业,从事的行业其实利润率也不是很高,而台资企业却愿意接受职场新人的加入,公司给予培训。在这个背景下,再要求台资企业给予不一般的薪水,似乎有点说不过去。我没有去过别的台资企业,不能过多评判。但至少,我认为中达起码是立志从事电源设计的工程师的一个合适的起点。不管是哪家公司,工作都会有压力,职场都会有竞争,也都会碰到令人不爽的人和事。中达是个学习的好地方,有什么地方,让你学习的同时还给你发工资呢?   其实,估计没几个人知道,雪版主当年刚进入中达的时候,是一个对电源设计没有自信的菜鸟。进入公司的第一天,我就悄悄问办公室里的MM,这个公司工作压力大不大?会不会经常裁人?经过这么多年工作下来才发现,原来不管是国企、外企,大公司永远比小公司好混。小公司就那么几个人,你做事的效率如何,老板很容易就看到,而大公司里,个人就不那么显眼。但是反过来呢,小公司里,一旦你做出成绩,很容易就可以被发现被提拔,大公司里就不是那么容易崭露头角了。因为对自己缺乏信心,所以当我刚进入公司的时候,看着我身边的工程师,觉得他们一个个都是高深莫测的高手!当时还有一个工程师,每天是开私家车来上班的。那时候,真的觉得那才是白骨精的典范,成功人士的代表啊!听着他们讨论问题的时候,从嘴巴里蹦出来的那一个一个术语,我真的觉得他们像山一样高大!   既然知道差距,那么就要追赶。在维修部门实习的时候,我就把台达的通讯电源模块的图纸都调出来学习。一个通讯电源模块,电路图纸大概有两张A3的图。乍看上去是比较复杂的。但是仔细分析,其实主要就是三大部分:PFC、DC/DC、辅助电源。当时台达通讯电源的PFC主要的控制IC,以UC3854居多,主电路有一种是带了很复杂的LCD吸收回路的无损吸收电路,还有一种比较新的ZVZCS专利电路。而DC/DC部分,小功率的有双管正激,功率大一些的主要是ZVS移相全桥,比较新的有LLC的全桥谐振通讯电源。后来还出现了一种变异的移相全桥ZVS电路,极为少见,不过我在电源 网论坛里见到有人问过的。辅助电源一般都是简单的反激电路。通过仔细阅读原理图,理解每一部分电路的用途,慢慢的一个通讯电源的控制逻辑框架就在心里有了轮廓。不过,这只是一个初步的,定性式的理解。要深入的理解设计思路和原理,就必须结合实际的参数和设计标准、测试标准来理解了。那时候看了很多电路图和资料,电路图主要是台达的电源模块。资料主要是台达电力电子研发中心那边的各种论文。也许是积累的够了,也许是对电源设计脑子开窍了,最起码那些原理性的东西已经是很容易就可以看懂了。当时公司里还有一台华为的48V50A通讯电源模块和Switchtech的通讯电源模块,都被我拆了仔细研究。大公司里就这点好,信息渠道很通畅,可以看到很多别人的设计。看多了就发现,通讯电源的功能就那么点,无非是不同的公司和产品,用的不同的实现方法。   很快,轮到我们几个新人登场了。任务来了。我接到了一个48V/20A的通讯电源设计任务,领导要求拓扑用全桥ZVZCS方案,老马是一个LLC的电源,老齐是一个有源箝位正激电源。我的这个电源是全范围输入,要求带PFC的。于是,先做PFC部分的电路实验吧,我把书上看来的、拆机看来的、产品中用的等等PFC电路的方案都尝试了一遍,功率管装在一块大散热器上,控制电路自己搭,有些软开关电路对驱动脉冲有时序和宽度的要求,就自己根据需要用CMOS触发器和门电路对控制IC的驱动脉冲进行处理而得到。那段时间很辛苦,收获也是巨大的。通过对电路中的电压、电流、驱动等信号的波形观察,再结合电路工作原理进行思考。对很多开关电源的工作原理有了更深入的理解。那时候,对PFC电路的效率特别在意,做实验的时候,想方设法提高电路的效率。其实现在我觉得,效率不是唯一的,就好象生活,除了挣钱,还要注意健康。有时候,为了别的指标,例如EMC,把开关速度降低一点,效率降低一点也是正确的妥协。UC3854没有对PFC输出过压有很好的保护功能,再加上PFC的反馈环路带宽很低,一旦反馈参数不对,电压会冲的很高,所以,实验过程,电解冒烟也见识过了。至于爆MOS管,那更是经常的。那段时间,我们几个互相开玩笑,说每天有半斤的爆管指标,没有做到说明工作不卖力。而事实上,大多数爆管的原因,是因为实验线路走线不合理,杂散电感太大,或者是驱动线路安排的不合理,少数原因是因为过热或电路参数不合理。真正会设计电源的人,应该是很少发生爆管的现象的。但那时没有这份功力,只能在“呯呯”的爆炸声中慢慢成长!炸东西不可怕,可怕的是炸了东西却找不出原因。有时候,遇到的问题找不到原因,百思不得其解,设想的方法都尝试过了,感觉自己所能想到的原因全都考虑了,还是有问题,甚至有山穷水尽之感,连周末在家的时候脑子里都会在想为什么?但是经过周末的休息,还是可以有新的思路,最后还是可以柳暗花明的。几个PFC的方案比较下来,还是台达的那个专利电路效果最好。难怪在实际的产品中得到了广泛的应用。再说说全桥变换那部分,移相全桥ZVS电路那时候已经在台达的通讯电源模块中得到了广泛的应用。技术已经相当成熟了。其中最早的一款,连控制IC都还不是专用的UC3875,而是用TL494配合外围电路来实现的。全桥这部分电路也尝试了几种方案,其中也包括ZVZCS的方案。最终选择了用阻断二极管的方式实现ZVZCS的移相电路。然后就是开始设计PCB,做样机。中达是有专门的人来layout的,但是说实话,平时做点修改工作可能还行。让layout从零开始专门做一个案子,那简直太可怕了。从那以后,我就知道,一个好的layout工程师一定会是一个好的设计工程师。一个不懂电源设计过程的人,要layout出一块走线合理的PCB简直是不可能的。与此同时,如果一个设计工程师自己不能够layout出一块走线合理的板子,那么他一定还不是一个好的设计工程师。另外,一个产品的设计,结构非常重要,而机构工程师是仅仅起着协助性的作用。真正做主的,还是电源设计工程师。所以啊,电源的设计者,不仅仅是电路设计者,同时也应该是结构的设计者。当时我的这个项目,虽然完成了样机,但最终没有投产。原因是多方面的,其中一个原因就是结构上还是不能让人满意,还有一个原因,就是我在到中达一年后离职了,项目后继无人,最终撤销了。虽然我当时主做的项目是这个通讯电源的设计。但日常会遇到一些客户特别要求的,或者生产线上发现的问题等,都是由工程部出面来解决的,大部分关于电子方面的问题是我来处理。刚进公司的时候看到的那几个感觉像高山一样存在的人物,后来才发现,原来他们很容易被超过,远远不像我想象中的那么厉害。我在做自己的项目的同时,也会很关心老马的LLC,和老齐的有源箝位电路。事实上,这两个电路的原理还是很容易弄懂的,研发工作的困难在于你能不能想到,能不能戳破那层窗户纸。而工程设计的难度在于,你如何把一个原理上很清楚的电路,合理的用实际的电路来表现出来。研发是创新,用理论来解释你的创新。工程是实现,解决理想电路到实际电路的过程中出现的各种各样非理想因素的影响。事实上,在2001年的时候,台达的LLC电路就已经非常成熟,并且有产品应用了。很奇怪,为什么到了现在,我们论坛里才开始LLC的热烈讨论?这一直是我不明白的。老齐的有源箝位一直进展不顺,他申请的控制IC,UC3580也经常烧坏,最后他不用有源箝位了,改成了谐振复位,据说稳定了一些。要说在中达的收获,那么就是对各种电源变换拓扑都有了较好的理解,对电源设计过程的研究手段有了认识和总结。对各种波形之间的关系、以及他们和工作原理之间的联系,都会理解的很彻底。通过波形来理解原理,通过原理来解释波形,我觉得这是电源设计过程中一个非常重要的手段。如果有人能够在波形和原理之间来回互相解释,那么说明他对电源变换的原理理解是很深入了。多年以后,我招聘工程师的时候,有很多来应聘的工程师,号称已经做电源研发工作多年了,却对反激电源的波形都画不出来,也解释不了。让我怎么相信他已经理解了原理?   说说我所感受到的办公室文化。怎么说呢,虽然我一直认为中达是个不错的公司。但是说实话,办公室的文化,我不是很喜欢。大概台资企业都比较讲究领导的权威性,所以,我们老大也基本都是板着脸对我们的。但是面对其他几个PLMM,他就是眉开眼笑的。那几个PLMM也喜欢在他面前发发嗲,以得到更宽松的工作空间。喜欢PLMM我可以理解,但是不用整体那么板着脸对我们几个呀。我们几个同时进来的工程师之间关系不错,但是老的电子工程师对我们就有点不温不火的。一开始我们有什么不懂的还去请教一二,后来不知道是他们也不清楚,或者是不愿意说。反正一来二去问了也白问,就没人再去问了,遇到问题还是靠自己解决。想想也没什么,别人没有回答你的义务,而且大家多少存在一点竞争关系,也可以理解。说说几个PLMM吧,这是永恒的话题。A美女是四川人,产品工程师,高个子,皮肤白,五官也比较精致,是大家喜欢用来养眼的。但因为已经结婚了,老公也是中达的,所以估计没有人会有别的想法,就是多欣赏而已。B美女籍贯不详,文员,个子高挑,皮肤白,五官一般,但是身材气质好,私下里大家称之为“魔鬼”,是说她有着魔鬼身材,后来被调到厂长办公室做秘书了。C美女东北人,元件工程师,性格脾气挺好,爱帮助别人,我的变压器和电感都是自己先计算好,让她也计算一下,然后大家一起对照一下看看是否一致,样品都是她帮我做的,工艺不错。D美女籍贯不详,助理,挺憨厚的样子。办公室文化的冷暖,只有当事人自己能感受到。大多数人还是不错的,但也有人会比较势利。所谓日久见人心,时间长了才会发现。就说上面的D美女,我们的助理。曾经对我很不错,这个不错是指工作中的事情很帮忙,优先帮我处理很多事情。后来听她说,我们老大很看好我。但是等我提出辞职的消息传开,她的态度就完全变了样,让我纳闷自己是不是哪里得罪她了?当然,林子大了,什么鸟都有,公司大了,什么人都有。有一次,有生产线上设备更新,淘汰下来的测试设备,退库后被我们领出来,放在实验室里使用,刚好有一天,生产任务很紧张,设备不够用,他们的一个生产经理就跑到我们这边发飙,说什么底下设备都忙不过来,你们这边设备还闲着云云,结果飙了一会儿,发现根本就没有人搭理他,灰溜溜的走了。他们已经退库的设备,我们领出来了,所有权已经转移到我们这边了,真不明白他想怎么样?想要设备用的话,过来打个招呼,借去用几天也没什么,这么发飙的话,根本就是脑子被什么踢过了。不过,总的来说,中达的大部分同事还是不错的。其实我想,在一个公司里,能得到75%的人的认可,我认为就够了。人与人之间,总有那么几个不能说谁好谁坏,但是互相看不顺眼的,也不要那么在意了。保持一点自己的个性和原则,只会让别人更尊敬你。   可能会有人问,既然中达还不错,那你怎么就做了一年就走了呢?是呀,这也是后来我在别的公司面试的时候,人事经理每次都要问我的。原因是多重的,最主要的是两个:一是因为交通的问题。中达位于浦东曹路镇,而我的房子买在莘庄地铁南广场那块。虽然中达有班车,但班车那时候只到莲花路。我每天要起个大早赶到莲花路乘班车,下班乘班车到莲花路下来再换车子回家。那么每天在上下班的路上的时间就接近四个小时。对于需要不断学习的工程师而言,这四个小时的浪费实在是担当不起啊。而且很奇怪,一开始乘班车的时候,还可以睡的着。后来乘班车的时候居然睡不着,不管是上班还是下班,每次都是在快要睡着的时候就该下车了,痛苦不堪。加班到晚上虽然有班车送到地铁站,但是如果错过这个班车了,那么就只好自己乘外面的中巴给送到地铁二号线,然后到人民广场再换一号线。那时候加班很多,真的很辛苦,以至于后来乘中巴的时候,我这个从来不晕车的人,也常常觉得晕车恶心了。就在这个时候,第二个促使我辞职的因素出现了——有猎头打电话给我,告诉我位于漕河泾开发区的飞利浦照明亚太研发中心需要有开关电源设计经验的工程师。当时我的想法一是要近一些,二来考虑飞利浦的名气对我的职业生涯可能会有比较好的帮助。于是,接下来就是先发简历过去,然后去面试。那时候飞利浦照明的亚太研发中心还位于宜山路上。面试结果应该是对我还是很满意的,唯一就是薪水上的要求可能略有差异。结果等我面试结束,出了公司大门,已经在等公交车的时候,又接到了电话,让我再回去谈谈。这次换了一个口才很好,特会打压薪水的家伙,伶牙俐齿,舌灿莲花,没办法,说不过他,只好让步。后来没几天,就拿到了offer。接下来就是写辞职报告。老大知道了这个消息以后的第一句话就是:“我原以为你会比较稳定的,今年准备给你加薪呢!”,后来还听到别的同事告诉我,他私下里还打听想知道我为什么要辞职。唉,真是很对不起他啊!其实我去飞利浦的薪水基本没有增加什么,甚至中达给我加薪后会比飞利浦还高,只是离家近了很多,可以有很多时间学习,也不会累的人受不了。但是我依然要说,中达是个好地方,特别是对于初学者来说,那是一个特别锻炼人,特别能学到东西的地方!如果在中达锻炼两年,出来应该就是一个高手了。至少,当我从中达来到飞利浦的时候,没有多久,就被飞利浦的同事公认为高手了,而且从那以后,飞利浦的领导发话,只要是台达出来的,我们都要。
    9. 蛰伏篇:   我也不知道为什么自己要选择到上海来。可能是因为在合肥没有合适的公司要我。也可能是上海这个城市充满了机会。事实上当时的上海环境并不优美,黑黑的苏州河贯穿整个城市,臭气熏天。很多街道非常狭窄,每次乘公交巨龙车穿行在这些小巷的时候,我就惊叹于司机的水平真高!上海人排外吗?排外!但是欺生其实在世界各地都会发生。排外的往往是一些素质低下的人,这种人哪里都有。见过世面的人,反而包容性更强。另外,排外还有一种原因,是因为人口密度太大,资源有限,人与人之间竞争生存资源,自然会有排斥现象。真正接触下来,其实人都是一样的,与地域关系不大。有的只是文化和风格上的差异。   我的第一个公司,是上海航天局下属单位,前身是空间电源研究所,后来厂所分家。分出了一个上海新宇电源厂,现在这个厂已经破产分家了。做为一家国企,带着很明显的国企色彩。比如当时我们同时进去的几个年轻人,党员就会被领导重用。当然,估计还有一些背后的人情问题。当时公司有两块业务,一块是电力上用的直流柜,一块是矩形镍镉电池。其实以前也生产圆柱形镍镉电池的,在上海曾经小有名气,那时候的新宇电源厂,要进去是需要托关系的。   但我进厂的时候,这个企业已经在苟延残喘了。后来生产圆柱形电池的那部分,拆分出去和香港公司成立新公司了。我的任务就是因为公司领导看到电动自行车这个市场,想开发大容量的镍镉电池进入电动自行车市场。因为这个生产的污染很严重,不许在市区生产,所以公司在上海南汇泥城横港村有个生产基地。我到了公司不久,就被发配到了生产第一线的南汇车间去实习。那时候的心理落差真大啊!事实上后来的开发工作就没有真正开展起来,一方面公司已经没有人专心做研究,另一方面人才凋零,仅有的一个博士,化学水平差的还不如我。还好从炮兵部队退伍的车间主任杨岳平很信任我,给了我很多支持,我也帮助他解决了一只困扰他的生产上的技术问题。我还设计了一个废料回收,降低生产成本的方案,后来老杨经过试验采用了,公司因为这个给南汇的车间发了奖金奖励。我那时已经不在电池生产部门,但老杨还是给我发了奖金。南汇那个地方,适应下来还真的不错,空气很好,夜里可以看见满天星斗。周围的人也很淳朴。南汇的西瓜8424,桃子,桔子都很好吃。   大约在南汇待了一年,我回到位于老沪闵路的总部。在实验室里混日子。一天晚上在宿舍聊天,我哀叹这个日子这么混下去可怎么办,还不如去公司做直流柜的那个部门呢。说着无意,听者有心,同宿舍的一位室友,我们同一年进的公司,在直流柜的设计部门担任销售工作,他把这个信息告诉了他们的头,直流柜部门的负责人。他们的头对我印象不错,于是说如果我愿意,可以过去。我考虑着,这么混日子,真的是没有出路,要跳槽的话,要赔付2万块的违约金。我没有那么多钱。既然这样,就来个公司内部跳槽吧。于是我就到了新的工作岗位上。从事的是直流开关柜的调试与技术支持工作。说白了,就是一个技术工人。别人把线接好,我去开机检查各项功能是否正常,如果有问题,需要解决。还经常会有出差维修的工作。如此熬了一年,我进步飞快,领导终于让我进行设计工作了。其实,直流柜的设计,属于电气级别的系统设计,我个人感觉比电子电路设计要简单的多,就是模块化的应用。核心用PLC来控制,配合继电器和电源模块来完成系统的功能。   在这段时间里,我对职业发展作了反思。化学和电子,我将来究竟应该走哪条路?事实上可能都能走的通的。因为后来有一位曾经在南汇见过一次,在世界上最大的镍产品公司——加拿大的Inco公司任职的胡蓉晖博士主动给我打电话,说有一份不错的职位,觉得我不错,问我愿不愿意过去。不过那时候,我已经走在电源这条路上,不想再回头了,但是很感谢胡博士对我的赏识。   我当时的想法,化学,一直没有合适的公司给我机会,我学的是理科,不是工科,更适合进一些研究所什么的。但是研究所等地方一方面对学历要求很高,另外是需要熬资历的。我对大学里实验室里的那种学术环境有些害怕,根本不想再回到研究所那种论资排辈的地方。那么电子呢,从电诞生的那一刻起,电子行业就在不断发展,而且只要有用电器的存在,就会有电源的需求,至少短时间内,电源这个行业是不会衰败的。于是,我下定决心,改变自己的发展方向,往电子和电源这个方向发展。   工作之余,我开始看关于开关电源的书,最早接触的一本,是张占松、蔡宣三编著的《开关电源的原理与设计》,貌似那时候也没的选择,开关电源的书很少。在看这本书之前,我根本不懂什么叫开关电源,也不知道什么BUCK、BOOST、正激、反激、推挽、半桥、全桥,更不懂什么叫PFC。说实话,这本书写的不是那么通俗易懂,甚至知识结构的安排上有些乱。但不管怎么说,我的开关电源设计入门,还是从这本书开始的。后来又买到了《实用电源技术手册》丛书的几本。还是像以前那样,看一遍不懂就看两遍,每多看一遍,思考一次,就理解的多一些。而且,从那以后直到现在,我都是没有师傅教,全部靠自己自学。   不怕大家笑话,当我第一次看到BOOST的电路结构的时候,心里想的是,当这个开关管导通的时候,这电路输入不是短路了吗?后来才想明白,这正是开关电源和传统的线性电源之间的差异,要用带时间性质的瞬间去分析电路,在高频特性下,电感是有感抗的,电流在短时间不会变的特别大,那样就不是短路了。其实分析开关电源的功率变换回路,一个很基本的原则就是电感电流不能突变、电容电压不能突变。把握了这个基本原则,很多原理性的东西都很容易就可以理解了。   学习的过程需要一个渐进的理解,这个是需要时间去理解一些细节上的东西。一开始学习的时候,为了化繁为简,可以先把一些东西理解为理想化的东西。例如MOS管,一开始学习开关电源的时候,就把它当成一个理想的电压控制开关就行了。等到熟悉了一些基本的知识,再去看MOS的一些非理想性的参数,导通电阻、结电容、体二极管,然后是结合在这些参数背后对电路性能和原理的影响等等。就好象作家画人体画像的时候,其实在他的眼里,先是有了骨架,然后才有了肌肉和皮肤。我们在学习过程,首先也是需要掌握那些主要的原理,然后在做这个基础上学习细节。   对于磁性元件的理解。其实主要就是集中在法拉第电磁感应定律、楞次定律等几个基本的定律上,再加上一个磁场能量和电场能量互相转换的概念,基本上就应该能全部理解了。当然,这是基于理想情况下的。当要考虑一些非理想性质的时候,就需要慢慢了解关于材料性质、分布电容、磁导率、绕组结构。进一步要追寻关于邻近效应、趋肤效应产生的原因,以及如何消除它们的影响。再进一步,要知道电磁兼容和安规对变压器结构的要求,以及如何把协调一些互相矛盾的参数之间的关系。这些是需要一方面理论学习,一方面通过实验验证并思考总结的东西。需要多思多实验多总结。至于变压器的匝数计算啊什么的,一旦你理解了真正的原理,根本不需要去套用那些别人总结出来的公式。   在那段比较清闲的时间里,看了不少基本原理方面的书,但是缺乏实战经验。因为我们公司当时的充电机,主要是工频的磁放大式的和可控硅调节导通角的那种,没有我们目前所言的那种真正的高频开关电源。有句话说,机会只留给那些有准备的人。我想这句话对我来说,真的是得到了应验。因为不久以后,领导不知道从哪里搞来一个高频开关电源的样机,说是这个东西现在开始流行起来,想在我们公司也做起来,替代当前在使用的工频电源。但是这个开关电源的设计难度不小,当时公司里的电子技术人员,没有人敢接手。我知道了以后,觉得这是一个极好的机会,反正这么混日子下去也没有大出息,不如尝试一下看看。于是我向领导来了个毛遂自荐。领导反正也觉得没有人敢接,不如交给我试试的念头,就把这个项目交给了我。现在总结一下,这个项目是一个220V输入,300V10A输出的,3000W的高频开关电源充电机,没有PFC电路,有恒流与恒压两个工作模式。参考当时样机的电路,我用的是3525控制的硬开关全桥电路。也是因为做这个项目,我才接触到了protel软件,学会通过protel设计原理图和PCB。其实,这个电源不能算我设计的,只能算是仿造的。基本电路、元件参数都是参考那台样机的。那段时间,画电路,画PCB,跑电子市场,联系供应商,一个人忙的不亦乐乎,也特别充实。幸运的是,样机做出来了,一次上电就能工作。当然,在随后的实验过程中,也曾经炸过机,但都能找出原因。那时候的实验条件也很艰苦,只有一台很破的模拟示波器,几个万用表。做出来的电源,也就是能正常输出电压电流,根本就没有考虑电磁兼容和安规等。一个典型的山寨电源。不过,这的确是我做出来的第一台真正意义上的高频开关电源。完成这个项目以后,我的信心增强了很多,开始盯上了更先进的开关电源技术。   《开关电源的原理与设计》这本书中,讲到了移相全桥的ZVS软开关电路,而《实用电源技术手册》丛书中,有一本是讲器件的。其中提到了控制移相全桥的控制IC,比较常见的是ML4818和UC3875。我先联系的ML4818的供应商,可惜对方了解了我们公司是个小公司以后,就不愿意再理我了。后来联系了UNITRODE的代理,很感谢这位代理,即便了解到了我们公司是个小公司,还是很支持我的工作,给我提供了样品。从那以后,UC系列的控制IC,就是我设计电源的首选。联想到最近我想研究一下FAIRCHILD的集成LLC谐振功率变换器,向Fairchild公司申请样品被踢来踢去的感受,我真的觉得一个公司能走多远,和这个公司的企业文化有很大的关系。这几件事,也时刻提醒我自己,不要因为对方的弱小而冷漠,也不要因为对方的强大而谦卑。   有了控制IC,有了做开关电源的基本经验,有了基本的设计能力,我开始了我的首次软开关设计之旅。而公司由于资不抵债,为了摆脱银行贷款,则开始进入了破产流程。当我的软开关电源样机刚刚完成的时候,公司完成了破产程序。我这时候已经一点留下去的心思也没有了,去意已决。在这个公司的几年时间里,除了一些技术问题让我还觉得有点意义,公司的管理上混乱不堪,一点希望都看不见。在这个软开关项目中,我尝试了两个新技术,一是移相软开关,另一个是倍流整流。而后来的的设计经验告诉我,在经验不够丰富的时候,不要一次尝试太多的新技术,那样不容易做好。这个项目也是这样,虽然样机做出来了,但由于采用的过多的没有尝试过的新技术,机器的工作不稳定。但已经没有时间给我继续改进了。我找到了新的工作,我辞职了。抛开少数几个人之外,大多数人对我的印象还是不错的。我的离职,有很多人觉得很可惜,但是同时也觉得留下来对我没有前途。人事经理一直记得是我帮她修改的Foxbase软件,解决了软件中的千年虫的问题。那也是我比较得意的几件事之一。其实,抛开组织的结构来看,公司里的绝大部分人都是挺好的,虽然各自都有些缺点,但人无完人嘛。那为什么这些人组合起来的公司,就那么让人不满意呢?我想这就是组织架构,领导用人的艺术问题、企业文化和信念的问题了。也有些人表现的很奇怪,当我还在公司里的时候,喜欢给我冷脸看,当知道我在外面找到新工作,薪水翻了好几番以后,对我的态度来了个180度大转弯,真让人捉摸不透。   但是不管如何,2001年的春节过后,我来到上海的第四个年头,因为公司破产,我不用支付违约金,就可以离职了。
    10. 菜鸟篇:   随着年龄的增加,动手做东西的欲望也开始强烈起来,因为外公那时候年级大了,开始耳背,我特别想帮他做一个助听器。参考了《电子报》上的电路,真的开始动手做,可是我连PCB板都没有,怎么做?我把漆包线的漆层刮掉,用这个导线来代替PCB的走线,尝试着把元件焊在导线上组成电路。最终焊成了一个渔网似的东西,结果当然是——不能用。这大概是我第一次尝试自己做电路吧。   上初中的时候,我无意中得到了一本书——《元素的故事》中文版,苏联作家依-尼查叶夫的作品。真是好书啊!其中关于咱的本家,英国科学家戴维使用电解的方法得到元素钾和钠的一段,让我读的如痴如醉,百看不厌。功率电子和化学在这个领域实现了完美的交叉。这时候的我,已经知道怎么用变压器、二极管、电解电容组成一个低压直流电路了。心动不如行动,我用电视机的电源变压器的36V绕组,经过整流滤波得到了一个大约50V左右的直流电源。然后,我就电、电、电......,对身边的物质,能溶于水的统统要电解一下看看效果。   这一电,化学这个神秘的科学殿堂向我敞开了大门!   烧稀饭要放一点的碱(碳酸钠)、炸油条要放一点的明矾(十二水合硫酸铝钾)、食盐(氯化钠)、还有后来得到的蓝宝石般的5水硫酸铜等等。都被我电解过。有的电解过程,溶质就是起着帮助导电的效果,实质还是电解水。我发现阴阳极都有气泡产生,在水面聚集成了大气泡。阴极附近的大气泡,如果用带着火焰的火柴棒戳破,里面的气体会烧起来,发出一声轻微的声音。因为这些电化学的实验,后来高中时候别人难以理解的电解和电镀那部分内容,对我来说如同吃饭喝水一般容易和自然。   当时有一位上高中的表哥住在我家里,他的那本《高中化学》课本成了我最喜欢看的书。天知道我竟然还从家里翻出来一些不知道哪里来的诸如《少年科技活动》、《实用化学手册》等书籍。里面有教你怎么从电池中得到锌、二氧化锰和石墨棒,有教你用工地上的生石灰溶在水里得到氢氧化钙溶液,怎么用废灯泡做烧瓶,怎么用口服液的小瓶做试管等等。初中要到初三才有化学课,做这些实验的时候,我才初二。但通过阅读这些课本和书籍,我知道了,阴极产生的那种会燃烧的气体是氢气,而阳极产生的是氧气,是水被电流分解了。   但是当我电解食盐水的时候,发生了意外。阴极还是如同往常那样有氢气产生,但是阳极,却没有气体出来了!反而是溶液越来越混浊!奇怪啊。。。。。。而且阳极的铜电极似乎被腐蚀了。经过看书才知道,原来阳极的电极不能用铜的,要用化学性质稳定,不容易被氧化的惰性电极。于是我把电极改成了石墨,嗯,这下有气体出来了。哦,好难闻啊,是什么呀,不是氧气了!原来是氯气!   阴极得到氢气,阳极得到氯气。我想起书上说,让氢气在氯气中燃烧,可以得到氯化氢,氯化氢溶于水,那就是盐酸了!我正在为没有盐酸发愁,能不能用这个办法得到呢?我设计了一个装置,让氢气通过一根很细的玻璃管,现在空气中点燃,然后放入一根带支路的玻璃管中,从支路通入氯气然后收集燃烧后的气体溶到水里。的确,氢气在氯气中燃烧的火焰是那种苍白的颜色。由于电解的气体的量非常小,氢气的火焰也非常小,几乎只有半个米粒那么大的火焰,非常容易熄灭。尽管如此,我还是得到了一点点吸收了氯化氢气体的水溶液,我不能确定是不是可以称之为稀盐酸,但的确是投入我从电池里回收的锌熔化后自制锌粒后,能看到锌粒发生了反应,产生了一些很小的气泡。我付出的代价是,整个房间充满了氯气的刺鼻味道,喉咙感觉有点肿,上床睡觉的时候,很担心因为中毒而一觉不醒。   上初三了,在化学课的带动下,我的成绩开始上升了。以前我在班上的名次一直是在十几名附近摇摆。现在因为化学成绩非常好,带动着名次上升,学习的兴趣和积极性都上来了。在化学带头,数理化三驾马车的拉动下,我的成绩进入了全班的前三名。初中毕业的时候,升学考试中,化学考了满分。然而不管你信不信,成绩出来了,我的数学分数居然只有37分!天啊,怎么可能,我的数学平时都是班里第一第二的,还代表班级参加数学竞赛的!但是当时是不允许查分的,卷子也看不到。我的总分也远远超过了第一志愿的分数线,这事也就没有深究了。后来还参加了考中专的考试,总成绩全班第一,年级第二。数学也考的很好。而前后时间间隔也就一个月左右。   高中是我学生生涯最辉煌的时刻了吧。老师要我代表新生在入学大会上发言,要知道,那时候的我,是个比较内向和羞涩的人,要我在全校上千名老师也学生面前发言,真的是压力山大。不过,真的很感谢我的班主任陆全润老师给我这个机会,让我得到了锻炼,以至于多年以后,我参加电源 网的技术会议,站在几百名网友的面前演讲的时候不至于怯场!   此外,班主任还让我担任班长职务,但回过头来看,我真的是不适合做班长。对我个人而言,担任班长的这个经历对我有很大锻炼和帮助,但我觉得,我不是一个很好的班长。按照游戏《三国志》里的属性划分,我不属于曹操这种统御力、政治力、智力、武力全面发展的牛人。我大概就是一个统御力70、政治力70、智力90、武力70这么样的一个人。班里当时有那么几个团委委员,特别喜欢搞政治化的东西,喜欢拉帮结派,我不喜欢他们搞的那一套,敬而远之。直到现在,我还是不喜欢那些喜欢玩弄政治的人,我觉得他们很虚伪。   高中阶段对我影响最大的老师,就是我的化学老师李友银老师!我在毕业考试上,化学得到满分,引起了他的注意。他当时也是一个很年轻求上进的年轻教师,教学很有一些手段。课也上的很好很生动!一个偶然的机会,我得到了一个去杭州参加化学竞赛的机会。那是1990年的暑假,李老师为我争取到了学校的差旅费报销等条件。我第一次乘了火车,第一次出省,第一次来到上有天堂,下有苏杭之称的杭州。竞赛是在杭州的学军中学举行,报到处一位唇红齿白,清新秀丽的女孩让我惊讶杭州的女孩居然美丽,多年以后我依然记得当时她轻盈的身影,不过从那以后再也没有见到过那么美丽的杭州少女了。最终我获得了竞赛的一等奖,当然,那次竞赛一等奖有10个人。不过,荣誉对于一个人的刺激真的很强烈,我从那以后对化学竞赛就一发而不可收了。   高中的化学课有趣了很多,特别是关于碱金属的那些章节。想想看,钠和钾这些金属,居然放进水里就会剧烈反应,甚至可能会燃烧起来。这太颠覆我们平时对金属的认知了。我也好想有一点点金属钠呀!怎么得到呢?电解!重新走一遍当年戴维走过的路。不过,我没有他那么强力的电源装置,所以我要对他的实验方法略作修改。我要电解熔融状态的氢氧化钠!钠的化合物中,最常见的是氯化钠,就是食盐。可是,电解食盐水,只能得到氢氧化钠和氢气、氯气,是得不到金属钠的。而电解熔融态的氯化钠是可以的。不过,氯化钠的熔点高达800摄氏度,我一个中学生,连煤气灯都没有,哪有能力熔化?而氢氧化钠的熔点只有318摄氏度,用酒精灯就可以熔化它了。于是我用铁架台,酒精灯,陶瓷坩埚搭了一个架子,准备了一自制的电源,一个装了煤油的容器,自己来制备金属钠。这里,我犯了一个低级错误,以至于后来损失惨重!   氢氧化钠在酒精灯的加热下,很快就熔融成了液体状,我把电源的电极放进熔融态的液体中,阳极有些小气泡产生,阴极的确是有液态的金属光泽的东西产生,不过很少,而且因为是在300多度的环境下,是熔融态的,很难收集出来。如果不能收集出来,很快这点金属就会被氧化掉。我只好电解一小会,有了一点点金属,就用小铁勺捞出来,马上放进煤油中保存。有些氢氧化钠的飞沫溅到手上,皮肤烫的很疼。但我还是坚持这个实验很长时间。时间一点一点过去,我收集的小钠珠也越来越多,心情很好。突然,就听“嗤”的一声,坩埚里的熔融的氢氧化钠漏了下去,流在下面的酒精灯的玻璃壳上,就听“啪”的一声,酒精灯裂了!我都快愣了,不过,反应还是比较快的,赶快把火熄灭。检查发现,陶瓷坩埚的底,被腐蚀出了一个洞!后悔啊,我怎么就忽略了氢氧化钠对陶瓷的腐蚀呢!不过,后悔也晚了,还好我收集了不少了。我把煤油里的钠珠微微加热,熔成了一大团,你猜有多少——半个黄豆粒那么大!   刚进入高二的时候,我参加了高中化学竞赛,得到了合肥市二等奖和安徽省三等奖。对当时我们的学校来说,这是非常好的成绩了。因为参加考试的还有高三的同学,他们在省级竞赛没有获奖,而我一个低年级的学生居然拿到了。李老师很高兴,劲头也更足了,我却惨了。不知道他从哪里找来了各式各样的试卷、竞赛卷,把我考的里嫩外焦。有时候给我们几个同学无偿开小灶到下半夜。他家住在县政府大院,我和同学好几次从他家出来,已经是夜里1点多了。政府大院都关门了,我们只好翻大门出去。在随后的一年里,虽然中间经历了搬家、转学。但对化学的学习一直在努力坚持!为的就是进入高三以后的那最后一次竞赛的机会。合肥市竞赛一等奖、安徽省竞赛一等奖,随后是省级全国联赛,分为笔试和实验。笔试是国家出题,全国统一考试。实验是省里出题,我们那次是在中国科学技术大学的化学楼参加的实验考试。最终我获得安徽省第二名,将代表安徽省参加第二年寒假在山东济南山东大学举办的化学冬令营暨全国化学奥林匹克竞赛。在高三的上学期,我一边学习高中课程,一边去科大接受三个老师的培训,张祖德老师教无机化学,张保忠老师教有机化学,倪其道老师教分析化学。92年的元旦前后,合肥下了一场大雪。因为没有及时清理路上的积雪,几天以后,积雪被压实,变成了冰。每天有很多人被摔的骨折而进了医院。而我每天骑着一个破自行车,从合肥北穿过市中心到南边的科大,再从科大赶回北边的家,摔了很多跤,有一次摔倒后,腿和自行车卡住了,膝盖还疼,使不上力气,如果是现在,怀疑是没有人敢扶我起来的,不过当时人们还是很善良,有个年轻人把帮我把自行车扶起来,我才爬了起来,很感谢他。尽管很辛苦,天气也很冷,但是我那时心里充满了希望,充满了热情。夜里学习到2点钟那是常有的事。每天早上起床那真是一种痛苦啊!我记得有一次,爸爸喊我起床,我答应了。然后我开始穿毛衣,穿外套,然后......,爸爸又喊我起床,我一惊,原来我还在睡,刚才的穿衣服什么的,是脑子里想象的。   冬令营的地点是92年的1月份在济南市山东大学校园内。全国一共70个不到的学生汇集一堂,角逐那10个可以进入国家集训队的一等奖,将来国家集训队中还会有选拔,最后会有4个人能够代表中国去参加那一届在美国匹兹堡举行的世界化学奥林匹克竞赛。很遗憾,我只获得了二等奖,止步于此。当然,以这个成绩,可以免试保送进入中国科学技术大学是没有问题的了。可是谁不想争取那最终极的荣誉呢?历史是由胜利者来书写的。   大学专业的选择是个悲剧。本来我上大学,科大所有的专业是可以随我选择的,但是那时候的我根本不懂选什么专业好。于是就咨询招生办的老师,老师也很好,就问我喜欢什么,我就说什么激光、电子、化学、天文什么的都喜欢。那老师就推荐说,你上材料科学与工程系吧,这个专业是物理化学都学的很深入的。而当时报纸上一直是鼓吹,二十一世纪是生物工程、材料科学的世界。我们一想,好呀,就上这个系吧。后来等到毕业的时候,我真的是后悔啊,这个专业找不到好工作。不怪那个老师的推荐,只能怪国内的基础研究不够。二十一世纪,材料科学的确会有很多机会,但是国内这种机会太少了。而且等我到了大五进入实验室的时候,根本感觉不到实验室里那种科研的气氛。不想说太多,总之一些学术上的不良现象以及科学的真实性严谨性不怎么能看到,政治化和利益化的东西太多。我也不想成为廉价劳动力在实验室打工。于是我选择参加工作,不考研。   虽然后面进入实验室的经历感觉不好。但是科大的确是个竞争激烈,学风非常好的学校。我们系的课程,数学堪比数学系,物理堪比物理系,化学堪比化学系,总之,学习的压力非常大。周围的同学那个个都是天才,和他们一比,我已经是个普通人了。学习上如逆水行舟,稍稍一放松,成绩就往后滑,拼了命努力,成绩也就上升一点点。有的时候,你会感觉,这时候比的是天分,而不是比的努力了。真的是感觉智商上的差异,根本就不是努力可以弥补的。   电子的课程不多,只学了模拟电子线路和模拟电子线路实验,还学了微机原理等接近的课程。当然,物理中学习的《电磁学》对后来工作过程中的变压器设计和理解还是有很大帮助的。总之,科大的教学是,基础狠狠的打,发展看个人的努力了。帮我们学校吹一吹,本科生的素质还是不错的!至少我现在的老板认为科大毕业的本科生是很好的。   大学期间,电子作为爱好,一直在学习,也不断动手做了一些小电路。因为充电电池的使用,自己制作了充电器,用的是78XX系列的三端稳压做的恒流电路。参考《电子报》上的电路,自己做了一个应急灯电路——把低压高频逆变点亮荧光灯,自己绕的变压器。宿舍停电的时候,拿出来炫耀一下。用的是4节5号镍镉电池,只能工作一小会儿就没电了。那时候的镍镉电池只有500mAH,而且估计我那个电路的效率也不高。脑子里那时候,根本就没有效率、损耗什么的概念。虽然电路完成了,但原理根本不懂,纯粹就照葫芦画瓢。同样,还用双基极二极管做了一个脉冲电路,驱动可控硅带动高压包,能产生高压脉冲,放电电弧大概能有十几毫米吧。不过能量很低,不会伤到人。也常帮同学修修随身听,大多数时候是耳机的线断了。有一天,听了同宿舍的同学的爱华随身听,惊讶于那个机子的音响效果,动态表现的那么好,背景噪声那么低那么干净。当时听的磁带是孟庭苇的《冬季到台北来看雨》和《无声的雨》,实在是被那天籁之声震撼了。从那迷上了Hi-Fi,开始研究起降噪电路,研究大动态高转换速率的运放,想自己做一个前级的放大器。于是通过这个阶段,对运算放大器的一些参数认真的了解的一下。还特别注意到有的运放是双电源,有的是单双电源都可以。   当时《电子报》上推荐介绍的几种高速低噪声,适合音响电路使用的通用运放,NE5532\NE5534\NE5535,还有LM833等都是双电压工作,而且工作电压至少要正负3V以上。而随身听的供电电源一般是两节5号电池,只有3V,如何通过这3V,得到正负12V。这大概是最早的让我绞尽脑汁的电源设计了。在一个暑假里,我完成了NE5532的放大电路,实现了磁头信号的放大,我可以从耳机里听到我自己进行放大的美妙音乐。但是我一直都没有合适的方案从3V电源得到正负12V电源。那时候其实对电源还是个门外汉,只会仿制别人设计好的电路,没有自己的设计和计算能力。对电源的变换拓扑也是一窍不通。   但是大学期间对动手能力提高了不少。为了做PCB板,去电子市场买来敷铜板,曾经尝试了好几种做板子的办法。手刻板,用刻刀把不要的铜皮去掉。还用三氯化铁腐蚀的方法试过,还尝试过电解法,就是给PCB通电,把不要的地方通过电解腐蚀掉,当然需要保留的部分事先要用油漆画上保护起来。   大学要毕业了,工作却不好找。而且,找工作看的是专业,基本和学校的名声无关了。比如我这个重点大学材料科学毕业的学生,比起一般本科的软件专业,在1997年的就业市场,那是无法比的。连塞带送,撒出去一堆简历,却基本没有收获回复。当时的通讯不像现在这么方便,那时候我还没有email,也没有大哥大,连传呼机都没有。通讯手段主要局限于写信。我记得那时候给上海白猫写过一封求职信,没有被录用,但对方给了我一封回信,告诉我目前没有职位需求。我很感谢对方,最起码他很尊重我。我也到上海来找过几次工作,还曾经混进了英业达的面试队伍,参加了他们软件专业的笔试,可以想象,考的一定很糟。但每一次我被拒绝的时候,我告诉自己,不要我不是我的损失,是对方的损失。   也有要我的企业,比如一家在四川绵阳的核物理研究院下属的企业,那个老师真的想让我去,找了我好几次。可是我真的害怕像传闻说的,那个地方有钱没地方花,去了就很难出来了。几经寻觅,终于在毕业之前找到一家在上海的公司愿意要我,可以解决户口问题。是上海航天局下属的一个单位,做镍镉电池的。于是好也罢,歹也罢,签协议吧,附带着服务5年,违约的话2万块钱的服务协议。那时候的工资只有一个月几百块。   于是,1997年的8月,带着对未来的憧憬与不安,背着大包小包,还托运了被子和衣服等,我像民工一样踏入了上海滩,一来就是十多年!
    11. 本帖最后由 paulhyde 于 2014-9-15 09:08 编辑 及时,来看看:)  
    12. 【社区大讲堂】揭秘ADI实验室电路! 159/184288 ADI参考电路 2011-05-27
      先下载合集看看 HOHO
    13. 匠人的东东 看看是啥
    14. 还是要看应用吧
    15. freescale coldfire中文编程参考手册 35/14308 NXP MCU 2009-12-17
      谢谢分享。
    16. 飞思卡尔coldfire开发板调试完成 9/6523 NXP MCU 2009-12-17
      看看先:lol
    17. Linux内核编码风格(编程代码风格推荐) 3/3788 Linux与安卓 2009-12-14
      第十章:Kconfig配置文件 对于遍布源码树的所有Kconfig*配置文件来说,它们缩进方式与C代码相比有所不同。紧挨在“config”定义下面的行缩进一个制表符,帮助信息则再多缩进2个空格。比如: config AUDIT         bool "Auditing support"         depends on NET         help           Enable auditing infrastructure that can be used with another           kernel subsystem, such as SELinux (which requires this for           logging of avc messages output).  Does not do system-call           auditing without CONFIG_AUDITSYSCALL. 仍然被认为不够稳定的功能应该被定义为依赖于“EXPERIMENTAL”: config SLUB         depends on EXPERIMENTAL && !ARCH_USES_SLAB_PAGE_STRUCT         bool "SLUB (Unqueued Allocator)"         ... 而那些危险的功能(比如某些文件系统的写支持)应该在它们的提示字符串里显著的声明这一点: config ADFS_FS_RW         bool "ADFS write support (DANGEROUS)"         depends on ADFS_FS         ... 要查看配置文件的完整文档,请看Documentation/kbuild/kconfig-language.txt。                 第十一章:数据结构 如果一个数据结构,在创建和销毁它的单线执行环境之外可见,那么它必须要有一个引用计数器。内核里没有垃圾收集(并且内核之外的垃圾收集慢且效率低下),这意味着你绝对需要记录你对这种数据结构的使用情况。 引用计数意味着你能够避免上锁,并且允许多个用户并行访问这个数据结构——而不需要担心这个数据结构仅仅因为暂时不被使用就消失了,那些用户可能不过是沉睡了一阵或者做了一些其他事情而已。 注意上锁不能取代引用计数。上锁是为了保持数据结构的一致性,而引用计数是一个内存管理技巧。通常二者都需要,不要把两个搞混了。 很多数据结构实际上有2级引用计数,它们通常有不同“类”的用户。子类计数器统计子类用户的数量,每当子类计数器减至零时,全局计数器减一。 这种“多级引用计数”的例子可以在内存管理(“struct mm_struct”:mm_users和 mm_count)和文件系统(“struct super_block”:s_count和s_active)中找到。 记住:如果另一个执行线索可以找到你的数据结构,但是这个数据结构没有引用计数器,这里几乎肯定是一个bug。                 第十二章:宏,列举(enum)和RTL 定义常量和列举里的标签的宏的名字需要大写。 #define CONSTANT 0x12345 在定义几个相关的常量时,最好用列举。 宏的名字请用大写字母,不过形如函数的宏的名字可以用小写字母。 一般的,如果能写成内联函数就不要写成像函数的宏。 含有多个语句的宏应该被包含在一个do-while代码块里: #define macrofun(a, b, c)                      \         do {                                   \                 if (a == 5)                    \                         do_this(b, c);         \         } while (0) 使用宏的时候应避免的事情: 1) 影响控制流程的宏: #define FOO(x)                                 \         do {                                   \                 if (blah(x) < 0)               \                         return -EBUGGERED;     \         } while(0) 非常不好。它看起来像一个函数,不过却能导致“调用”它的函数退出; don't break the internal parsers of those who will read the code. 2) 依赖于一个固定名字的本地变量的宏: #define FOO(val) bar(index, val) 可能看起来像是个不错的东西,不过它非常容易把读代码的人搞糊涂,而且容易导致看起来不相关的改动带来错误。 3) 作为左值的带参数的宏: FOO(x) = y;如果有人把FOO变成一个内联函数的话,这种用法就会出错了。 4) 忘记了优先级:使用表达式定义常量的宏必须将表达式置于一对小括号之内。带参数的宏也要注意此类问题。 #define CONSTANT 0x4000 #define CONSTEXP (CONSTANT | 3) cpp手册对宏的讲解很详细。Gcc internals手册也详细讲解了RTL(译注:register transfer language),内核里的汇编语言经常用到它。                 第十三章:打印内核消息 内核开发者应该是受过良好教育的。请一定注意内核信息的拼写,以给人以好的印象。不要用不规范的单词比如“dont”,而要用“do not”或者“don't”。保证这些信息简单、 明了、无歧义。 内核信息不必以句点结束。 在小括号里打印数字(%d)没有任何价值,应该避免这样做。 里有一些驱动模型诊断宏,你应该使用它们,以确保信息对应于正确的设备和驱动,并且被标记了正确的消息级别。这些宏有:dev_err(), dev_warn(), dev_info()等等。对于那些不和某个特定设备相关连的信息,定义了pr_debug()和pr_info()。 写出好的调试信息可以是一个很大的挑战;当你写出来之后,这些信息在远程除错的时候就会成为极大的帮助。当DEBUG符号没有被定义的时候,这些信息不应该被编译进内核里(也就是说,默认地,它们不应该被包含在内)。如果你使用dev_dbg()或者pr_debug(),就能自动达到这个效果。很多子系统拥有Kconfig选项来启用-DDEBUG。还有一个相关的惯例是使用VERBOSE_DEBUG来添加dev_vdbg()消息到那些已经由DEBUG启用的消息之上。                 第十四章:分配内存 内核提供了下面的一般用途的内存分配函数:kmalloc(),kzalloc(),kcalloc()和 vmalloc()。请参考API文档以获取有关它们的详细信息。 传递结构体大小的首选形式是这样的:         p = kmalloc(sizeof(*p), ...); 另外一种传递方式中,sizeof的操作数是结构体的名字,这样会降低可读性,并且可能会引入bug。有可能指针变量类型被改变时,而对应的传递给内存分配函数的sizeof的结果不变。 强制转换一个void指针返回值是多余的。C语言本身保证了从void指针到其他任何指针类型的转换是没有问题的。                 第十五章:内联弊病 有一个常见的误解是内联函数是gcc提供的可以让代码运行更快的一个选项。虽然使用内联函数有时候是恰当的(比如作为一种替代宏的方式,请看第十二章),不过很多情况下不是这样。inline关键字的过度使用会使内核变大,从而使整个系统运行速度变慢。因为大内核会占用更多的指令高速缓存(译注:一级缓存通常是指令缓存和数据缓存分开的)而且会导致pagecache的可用内存减少。想象一下,一次pagecache未命中就会导致一次磁盘寻址,将耗时5毫秒。5毫秒的时间内CPU能执行很多很多指令。 一个基本的原则是如果一个函数有3行以上,就不要把它变成内联函数。这个原则的一个例外是,如果你知道某个参数是一个编译时常量,而且因为这个常量你确定编译器在编译时能优化掉你的函数的大部分代码,那仍然可以给它加上inline关键字。kmalloc()内联函数就是一个很好的例子。 人们经常主张给static的而且只用了一次的函数加上inline,不会有任何损失,因为这种情况下没有什么好权衡的。虽然从技术上说,这是正确的,不过gcc可以在没有提示的情况下自动使其内联,而且其他用户可能会要求移除inline,此种维护上的争论会抵消可以告诉gcc来做某些事情的提示带来的潜在价值。不管有没有inline,这种函数都会被内联。                 第十六章:函数返回值及命名 函数可以返回很多种不同类型的值,最常见的一种是表明函数执行成功或者失败的值。这样的一个值可以表示为一个错误代码整数(-E**=失败,0=成功)或者一个“成功”布尔值(0=失败,非0=成功)。 混合使用这两种表达方式是难于发现的bug的来源。如果C语言本身严格区分整形和布尔型变量,那么编译器就能够帮我们发现这些错误……不过C语言不区分。为了避免产生这种bug,请遵循下面的惯例:         如果函数的名字是一个动作或者强制性的命令,那么这个函数应该返回错误代码         整数。如果是一个判断,那么函数应该返回一个“成功”布尔值。 比如,“add work”是一个命令,所以add_work()函数在成功时返回0,在失败时返回 -EBUSY。类似的,因为“PCI device present”是一个判断,所pci_dev_present()函数在成功找到一个匹配的设备时应该返回1,如果找不到时应该返回0。 所有导出(译注:EXPORT)的函数都必须遵守这个惯例,所有的公共函数也都应该如此。私有(static)函数不需要如此,但是我们也推荐这样做。 返回值是实际计算结果而不是计算是否成功的标志的函数不受此惯例的限制。一般的,他们通过返回一些正常值范围之外的结果来表示出错。典型的例子是返回指针的函数,他们使用NULL或者ERR_PTR机制来报告错误。                 第十七章:不要重新发明内核宏 头文件include/linux/kernel.h包含了一些宏,你应该使用它们,而不要自己写一些它们的变种。比如,如果你需要计算一个数组的长度,使用这个宏   #define ARRAY_SIZE(x) (sizeof(x) / sizeof((x)[0])) 类似的,如果你要计算某结构体成员的大小,使用   #define FIELD_SIZEOF(t, f) (sizeof(((t*)0)->f)) 还有可以做严格的类型检查的min()和max()宏,如果你需要可以使用它们。你可以自己看看那个头文件里还定义了什么你可以拿来用的东西,如果有定义的话,你就不应在你的代码里自己重新定义。                 第十八章:编辑器模式行和其他需要罗嗦的事情 有一些编辑器可以解释嵌入在源文件里的由一些特殊标记标明的配置信息。比如,emacs能够解释被标记成这样的行: -*- mode: c -*- 或者这样的: /* Local Variables: compile-command: "gcc -DMAGIC_DEBUG_FLAG foo.c" End: */ Vim能够解释这样的标记: /* vim:set sw=8 noet */ 不要在源代码中包含任何这样的内容。每个人都有他自己的编辑器配置,你的源文件不应该覆盖别人的配置。这包括有关缩进和模式配置的标记。人们可以使用他们自己定制的模式,或者使用其他可以产生正确的缩进的巧妙方法。
    18. Linux内核编码风格(编程代码风格推荐) 3/3788 Linux与安卓 2009-12-14
      第五章:Typedef 不要使用类似“vps_t”之类的东西。 对结构体和指针使用typedef是一个错误。当你在代码里看到:         vps_t a; 这代表什么意思呢? 相反,如果是这样         struct virtual_container *a; 你就知道“a”是什么了。 很多人认为typedef“能提高可读性”。实际不是这样的。它们只在下列情况下有用: (a) 完全不透明的对象(这种情况下要主动使用typedef来隐藏这个对象实际上是什么)。     例如:“pte_t”等不透明对象,你只能用合适的访问函数来访问它们。     注意!不透明性和“访问函数本身”是不好的。我们使用pte_t等类型的原因在于真的     是完全没有任何共用的可访问信息。 (b) 清楚的整数类型,这样抽象层就可以帮助我们消除到底是"int"还是"long"的混淆。     u8/u16/u32是完全没有问题的typedef,不过它们更符合(d)中所言,而不是这里。再次注意!要这样做,必须事出有因。如果某个变量是“unsigned long“,那么没有必要         typedef unsigned long myflags_t;     不过如果有一个明确的原因,比如它在某种情况下可能会是一个“unsigned int”而     在其他情况下可能为“unsigned long”,那么就不要犹豫,请务必使用typedef。 (c) 当你使用sparse按字面的创建一个新类型来做类型检查的时候。 (d) 和标准C99类型相同的类型,在某些例外的情况下。     虽然让眼睛和脑筋来适应新的标准类型比如“uint32_t”不需要花很多时间,可以有     些人仍然拒绝使用它们。     因此,Linux特有的等同于标准类型的“u8/u16/u32/u64”类型和它们的有符号类型是被允许的——尽管在你自己的新代码中,它们不是强制要求要使用的。     当编辑已经使用了某个类型集的已有代码时,你应该遵循那些代码中已经做出的选择。 (e) 可以在用户空间安全使用的类型。     在某些用户空间可见的结构体里,我们不能要求C99类型而且不能用上面提到的“u32”类型。因此,我们在与用户空间共享的所有结构体中使用__u32和类似的类型。 可能还有其他的情况,不过基本的规则是永远不要使用typedef,除非你可以明确的应用上述某个规则中的一个。 总的来说,如果一个指针或者一个结构体里的元素可以合理的被直接访问到,那么它们就不应该是一个typedef。                 第六章:函数 函数应该简短而漂亮,并且只完成一件事情。函数应该可以一屏或者两屏显示完(我们都知道ISO/ANSI屏幕大小是80x24),只做一件事情,而且把它做好。 一个函数的最大长度是和该函数的复杂度和缩进级数成反比的。所以,如果你有一个理论上很简单的只有一个很长(但是简单)的case语句的函数,而且你需要在每个case里做很多很小的事情,这样的函数尽管很长,但也是可以的。 不过,如果你有一个复杂的函数,而且你怀疑一个天分不是很高的高中一年级学生可能甚至搞不清楚这个函数的目的,你应该更严格的遵守最大限制。使用辅助函数,并为之取个具描述性的名字(如果你觉得其对性能要求严格的话,你可以要求编译器将它们内联展开,它往往会比你更好的完成任务。) 函数的另外一个衡量标准是本地变量的数量。此数量不应超过5-10个,否则你的函数就有问题了。重新考虑一下你的函数,把它分拆成更小的函数。人的大脑一般可以轻松的同时跟踪7个不同的事物,如果再增多的话,就会糊涂了。即便你聪颖过人,你也可能会记不清你2个星期前做过的事情。 在源文件里,使用空行隔开不同的函数。如果该函数需要被导出,它的EXPORT*宏应该紧贴在它的结束大括号之下。比如: int system_is_up(void) {         return system_state == SYSTEM_RUNNING; } EXPORT_SYMBOL(system_is_up); 在函数原型中,包含函数名和它们的数据类型。虽然C语言里没有这样的要求,在Linux里这是提倡的做法,因为这样可以很简单的给读者提供更多的有价值的信息。                 第七章:集中的函数退出途径 虽然被某些人声称已经过时,但是goto语句的等价物还是经常被编译器所使用,具体形式是无条件跳转指令。当一个函数从多个位置退出并且需要做一些通用的清洁工作的时候,goto的好处就显现出来了。 理由是: - 无条件语句容易理解和跟踪 - 嵌套程度减小 - 可以避免由于修改时忘记更新某个单独的退出点而导致的错误 - 减轻了编译器的工作,无需删除冗余代码;) int fun(int a) {         int result = 0;         char *buffer = kmalloc(SIZE);         if (buffer == NULL)                 return -ENOMEM;         if (condition1) {                 while (loop1) {                         ...                 }                 result = 1;                 goto out;         }         ... out:         kfree(buffer);         return result; }                 第八章:注释 注释是好的,不过有过度注释的危险。永远不要在注释里解释你的代码是如何运作的:更好的做法是让别人一看你的代码就可以明白,解释写的很差的代码是浪费时间。 一般的,你想要你的注释告诉别人你的代码做了什么,而不是怎么做的。也请你不要把注释放在一个函数体内部:如果函数复杂到你需要独立的注释其中的一部分,你很可能需要回到第六章看一看。你可以做一些小注释来注明或警告某些很聪明(或者槽糕)的做法,但不要加太多。你应该做的,是把注释放在函数的头部,告诉人们它做了什么,也可以加上它做这些事情的原因。 当注释内核API函数时,请使用kernel-doc格式。请看 Documentation/kernel-doc-nano-HOWTO.txt和scripts/kernel-doc以获得详细信息。 Linux的注释风格是C89“/* ... */”风格。不要使用C99风格“// ...”注释。 长(多行)的首选注释风格是:         /*          * This is the preferred style for multi-line          * comments in the Linux kernel source code.          * Please use it consistently.          *          * Description:  A column of asterisks on the left side,          * with beginning and ending almost-blank lines.          */ 注释数据也是很重要的,不管是基本类型还是衍生类型。为了方便实现这一点,每一行应只声明一个数据(不要使用逗号来一次声明多个数据)。这样你就有空间来为每个数据写一段小注释来解释它们的用途了。                 第九章:你已经把事情弄糟了 这没什么,我们都是这样。可能你的使用了很长时间Unix的朋友已经告诉你“GNU emacs”能自动帮你格式化C源代码,而且你也注意到了,确实是这样,不过它所使用的默认值和我们想要的相去甚远(实际上,甚至比随机打的还要差——无数个猴子在GNU emacs里打字永远不会创造出一个好程序)(译注:请参考Infinite Monkey Theorem) 所以你要么放弃GNU emacs,要么改变它让它使用更合理的设定。要采用后一个方案,你可以把下面这段粘贴到你的.emacs文件里。 (defun linux-c-mode ()   "C mode with adjusted defaults for use with the Linux kernel."   (interactive)   (c-mode)   (c-set-style "K&R")   (setq tab-width 8)   (setq indent-tabs-mode t)   (setq c-basic-offset 8)) 这样就定义了M-x linux-c-mode命令。当你hack一个模块的时候,如果你把字符串 -*- linux-c -*-放在头两行的某个位置,这个模式将会被自动调用。如果你希望在你修改 /usr/src/linux里的文件时魔术般自动打开linux-c-mode的话,你也可能需要添加 (setq auto-mode-alist (cons '("/usr/src/linux.*/.*\\.[ch]$" . linux-c-mode)                         auto-mode-alist)) 到你的.emacs文件里。 不过就算你尝试让emacs正确的格式化代码失败了,也并不意味着你失去了一切:还可以用“indent”。 不过,GNU indent也有和GNU emacs一样有问题的设定,所以你需要给它一些命令选项。不过,这还不算太糟糕,因为就算是GNU indent的作者也认同K&R的权威性(GNU的人并不是坏人,他们只是在这个问题上被严重的误导了),所以你只要给indent指定选项“- kr -i8”(代表“K&R,8个字符缩进”),或者使用“scripts/Lindent”,这样就可以以最时髦的方式缩进源代码。“indent”有很多选项,特别是重新格式化注释的时候,你可能需要看一下它的手册页。不过记住:“indent”不能修正坏的编程习惯。
    19. 4本嵌入式电子书:ARM入门文章集锦等 253/74094 ARM技术 2009-12-14
    20. 4本嵌入式电子书:ARM入门文章集锦等 253/74094 ARM技术 2009-12-14

最近访客

< 1/2 >

统计信息

已有3275人来访过

  • 芯积分:1686
  • 好友:--
  • 主题:20
  • 回复:31

留言

你需要登录后才可以留言 登录 | 注册


hty890614 2014-8-22
有个STR7的IAP程序向咨询一下,187163225
wanhuyang 2013-11-4
为什么你上传的资料下载不了啊? https://download.eeworld.com.cn/tag/%E5%8C%85%E5%90%ABGSMTC35%E6%A8%A1%E5%9D%97%E7%9A%84PDF%E8%B5%84%E6%96%99%EF%BC%8C%E5%8D%95%E7%89%87%E6%9C%BA%E6%B5%8B%E8%AF%95%E4%BB%A3%E7%A0%81%EF%BC%8C%E5%BC%80%E5%8F%91%E6%95%99%E7%A8%8B%EF%BC%8C%E5%BC%80%E5%8F%91%E7%8E%AF%E5%A2%83 ...
莫莫无蚊 2011-7-10
可以加个QQ吗 195455865,想交流下竞赛的事
查看全部