學了四年的工科,畢業(yè)后一直做技術。工程技術的實踐性是吸引我的根本原因。給盒子打個安裝孔,在印制板上疊焊個電阻,于我而言都是一件很有興趣的事情。我從機械結構設計一步一步地轉到電路設計,主要是在開始時遇到了一些困難,后來就好多了。畢竟能干活是最為重要的,誰又在乎先前我所學的專業(yè)是機械設計呢。
從機械到電子的轉行是從數(shù)字控制開始的。作為工科生,誰在大學里面沒有學過一點電路知識呢。只不過當時學的更多的是理論分析,而且是模擬電路上的理論分析。然后就到了數(shù)字電路。理論上的東西都挺好,只是學完了之后連電阻電容長什么樣的都不知道,更別說一些多管腳的集成電路。本來學校的工程技術氛圍就不濃——雖然是工科類學?!y道只有拆裝收音機的份了?我現(xiàn)在知道還有許多辦法,最后的就是到電子市場里去轉上幾回以獲得感性的認識(僅僅是感性的,因為那里面幾乎都是生意人,能不能碰到一個懂技術的可說不準)。還有,多到圖書館的工程期刊閱覽室去翻翻一些工程技術類(不是理論分析研究類)的期刊,主要是上面的廣告。我在畢業(yè)后一年多才明白廣告的重要性,雖然鋪天蓋地的廣告已經(jīng)有了讓人心煩的趨勢,尤其是馬路上小廣告的隨意散發(fā)。有一個我自身的例子。當時我畢業(yè)后做的一個電池供電的便攜式的東西。那個電子控制的方案是在98年完成的,用的是AT89C2051-24PC的MCU(微控制器)。因為結構的問題一直拖到了2001年,也就是我畢業(yè)后一年。國營企業(yè)的情況大概有80%的研發(fā)項目都這樣。后來結構改好了,然后不知怎么回事就算起了電池的壽命來,為什么以前一直沒有計算我就不得而知了,而且我當時也沒有計算功耗的概念。一算不得了,AT89C2051兩天就能把那1.2A/h的電池用完。就算在程序里常設休眠模式也延長不了多長時間。但這個東西可是要3年才需一換電池的。到最后從期刊的廣告上找到了TI公司的MSP430,終于解決了問題。假如做系統(tǒng)的人能不斷地尋找功耗更低的MCU,或許會早些更改整個方案。因為MSP430早就應用了。從MCS-51入手去理解數(shù)字控制可能是一條很適合從其他領域改行進入自動控制的路。我從MCS-51中得益非淺,而且現(xiàn)在還經(jīng)常用到;或是在前期的測試,或是一些小型的應用場合,比如控制一個特殊功能的芯片。
我從自己或別人的設計錯誤中體會到了工程技術的重要性。再好的設計方案都需工程技術去把它實現(xiàn)。方案上體現(xiàn)不出一條C指令的重要性。于是在做總體方案時到最后一條就是方案的可實現(xiàn)性。不可實現(xiàn)的方案就是空中樓閣,不是太空飛船。一個項目的方案有許多,這就需要工程設計人員去設計和選擇。不同的人會做出不同的方案,就跟“1000個演員就有1000個哈姆雷特”一樣。何者為上,何者為下?這就依著小平同志的一句話來分辨:實踐是檢驗真理的唯一標準。在我的理解中,更快更可靠更易于實現(xiàn)且成本較低的方案就是一個好方案。
要折衷這四項可不是簡簡單單就能做到的。以后再慢慢論述這四項的關系。
做工程技術一定不能浮躁;浮躁起來但有事倍功半的結果,弄不好還是徒勞無功。心急吃不了熱豆腐,浮躁做不出好技術。我在用Protel做完電路原理圖后布印制板時最能體會到浮躁的無益。參照著印制板的布局與走線之后,往往需要修改原理圖的一些器件的管腳相接的次序。例如上拉排電阻的管腳次序調換。原理是只有一種,但原理圖的畫法卻有許多種。在經(jīng)過多次更改后才會得到一塊走線與布局良好的印制板。浮躁的做法就是不顧一切地利用軟件自帶的自動布線功能,布通后再手工更改一些連線,把地線加粗些。其實,手工布線并不麻煩;而且,這樣做有一個好處,就是容易發(fā)現(xiàn)錯誤。因為,Protel里面的原理圖往往是打印出來是對的,而實際上并沒有符合它軟件的規(guī)則。例如,先畫了交叉線然后再打上節(jié)點標志,這是對的,因為軟件的識別方式是這樣;倘若先畫一線再畫一節(jié)點再畫一線,這就不對了。于是生成網(wǎng)表后這兩根線并不共用一個標號,結果就是在印制板上沒有把該連接的接到一塊。這樣加工回來的印制板在調試時只能飛線了。
對常用軟件的使用也應該算在工程技術里。現(xiàn)在很少有企業(yè)把這個列在培訓計劃里。一些剛畢業(yè)的學生往往是不能熟練應用AtuoCAD,Protel,甚至于字處理軟件。電腦水平不高沒有關系,因為不是每個學校都有比較好的微機房供學生上機,不是每個學生的家長都有錢去給自個孩子配一個電腦,也不是每個有機會擁有電腦的學生都利用電腦去學習的。我覺得一個好的企業(yè)應該了解這種情況,而不是每一次來了新員工之后就僅僅是進行一次安全教育就完事,然后讓新員工不時的去麻煩老員工來告訴他為什么他的應用軟件里實現(xiàn)不了那一功能。雖然有許多書寫出來供人參考,可并不是每個人都樂意獨立地解決問題。張口就問肯定最為輕松。做好工程技術一個條件就是必須學會獨立地解決問題;維有這樣自身的技術水平才會提高。別人即使給出了很好的解決辦法,那也是他所獨有的經(jīng)驗的延續(xù),但永遠不是你的延續(xù)。問題的解決可以依賴于團隊,但更多的是依靠自己。所聽不會成為所得,所做所思才會所得。
“做多錯多”這話沒錯。但是不做的話就意味著永遠的錯。工程技術做得越多越久才會發(fā)現(xiàn):原來我也會犯這種根本性的錯誤。遇到這種情況足以讓人反思。誰不會犯根本性的錯誤呢——除了上帝?波普爾的試錯法值得去深思?!拔覀兯龅囊磺惺潜M可能快地犯錯誤。”你的項目的最后期限是哪一天呢?在那一天到來之前盡可能快地犯錯誤吧。經(jīng)驗是什么?有一個答案如此:“經(jīng)驗是人們給他們所犯的錯誤取的名字”。
我的一個想法:一個好的技術方案常是一個折衷的方案。古希臘有一句諺語:會哭的男人常是好人。我想,會做出折衷方案的技術設計者就是一個好的設計者。
----------
續(xù):
今天自個焊了幾塊剛做回來的印制板。自個動手焊一焊才會明白各種元器件布局的好與差。插件的焊盤孔是否小了,器件之間礙不礙事,下次能不能再布緊湊些等。在使用Protel 99SE做印制板時有些規(guī)則雖然通不過,但并不妨礙實在的板子是合理的。例如1206封裝的器件是可以更緊挨著的,這樣即使由于干涉而使得板子上的器件變成高亮的綠色也沒有任何問題。一個好的硬件工程師必須熟練應用一個常用的布線軟件。Protel 99SE可以完成大部分的工作。Protel 98、Protel 99現(xiàn)在已經(jīng)不常用了,而比Protel 99SE更高的版本卻沒有一個盜版得比較好的版本。Protel 99SE比較不好應用的就是倘若你的原理中有差分信號對。確實不好布。至于在PCB上加漢字,我覺得無所謂。PowerPCB的功能非常強大,看來還得花時間去學學。原理做到最后都是殊途同歸,而一個好的印制板可以讓設計者更根本地找出問題所在。電磁兼容測試普遍應用的這一天不久就會來臨。記得97年時,一個CADR12錄入繪圖員的工資居然比設計者的工資還高。現(xiàn)在恐怕已經(jīng)沒有了這個行當了吧。
好多剛開始做硬件設計的技術者都希望盡可能快地跨過布印制板這一關??上н@一關是沒有止境的。從少到多,由簡入繁,所用器件的管腳越來越多,越來越密,封裝越來越小。手工布線是永遠的主流,自動布線即使不是垃圾,那也是通往垃圾之路。不要認為手工布線慢,慢只是開始的那一次。慢是因為器件的布局不好,慢是因為沒有做出一份適合布線的原理圖。器件生產(chǎn)商在它所推出的器件中其實是考慮了PCB布線的問題,不要認為他們是白癡。還有人在用74xx373嗎?我送一個74xx573給你好了。什么?你說你在用GAL。GAL好啊,但有時犯不著,每一次燒錄一下再當573用豈不很好笑。
關于51的仿真器。這是一個讓人心生厭惡的問題。我沒有用過51仿真器中任何一款。本來我不討厭它們的,可是有人往往拿著一個仿真器過來問我怎么用,我真的不會用,為了掩飾我對它的無知,我往往會說:據(jù)說這一款的仿真器有些問題。我個人認為:51仿真器妨礙了很多新手的成長。只會編寫匯編和C程序遠遠不夠。硬件工程師同時必須為他所做的系統(tǒng)編寫軟件。這本來是一個人必須負責的事,偏生分給兩個人去完成,注定要發(fā)生扯皮事件。
關于應用軟件的英文界面。我們似乎很有理由去報怨,為什么沒有中文的界面?。科鋵嵱兄形牡慕缑嬗秩绾??Excel是中文界面的吧,你能做出一個很好的表格嗎?使用者對于一個應用軟件的界面不應該有任何挑剔,15天是掌握一個軟件的期限。
不要隨大流。新技術應去了解,但不要跟著起哄。技術的好壞是由市場決定的。所謂高新,只是自我安慰的一個借口。比原有的好一點,再好一點;這就是高和新。原來平均畝產(chǎn)300斤,現(xiàn)在經(jīng)過改進后已經(jīng)達到了301斤,這就是高新。做技術的人很容易給所謂的技術尖端所迷惑。周末時,還是逛逛街去吧。
做模擬信號檢測時,濾波,加跟隨器,然后放大,接著是A/D轉換。
做數(shù)字信號檢測時,光隔加門驅動隔離,接MCU的I/O。
數(shù)字驅動輸出:(光隔),集電極開路輸出。
回家時嘗試著走另外一條道路。做方案時把最遠古的實現(xiàn)方式也想想。宇航員在飛船上用什么筆好呢?一個孩子說:用鉛筆。于是,宇航員就用上了鉛筆。這跟上帝說“要有光”一樣的效力。有解不開的結嗎?請用一把利劍。每個人手上都有一把利劍,那就是:專注。