行業(yè)“老兵”職業(yè)生涯回顧之一:在戰(zhàn)爭中學習戰(zhàn)爭(轉(zhuǎn))
從1951年開始,我先后在空軍部隊擔任雷達操縱員、雷達教員、雷達科長。那個時候,電子行業(yè)正處于電子管時代,當時中國還沒有能力制造自己的電子管,包括雷達在內(nèi)的很多產(chǎn)品都是舶來品。1965年,我從空軍導彈學院制導雷達專業(yè)本科畢業(yè),隨后在1978年進入空五所,先后任工程師、高工。1995年我到了退休年紀,先后在專注于中央空調(diào)、醫(yī)療儀器、現(xiàn)場總線和GPS汽車定位系統(tǒng)設計的公司做軟硬件的開發(fā)工作。
接觸IT行業(yè)是從1990年開始的,那時利用計算機做工控主要以PC機為主,單片機為輔,在PC機的擴展槽上插工控板進行數(shù)據(jù)采集和各種控制。我的入門之作,就是這樣的一塊數(shù)據(jù)采集板。那時的機器語言基本使用匯編,我用的是8086匯編。在90年代中期左右,C語言流行起來,逐漸代替了匯編。
回顧近十多年來,在計算機工控行業(yè),變化最大的當屬單片機了。以前,PC機較單片機控制更為方便,而且顯示打印也都容易實現(xiàn);而現(xiàn)在,單片機已成為計算機工控的主流。80年代出現(xiàn)的名為單板機的電子板,就是單片機的前身,最早的單片機只有4位機,但很快就被8位機所代替。單片機的巨大變化可以從以下幾個方面看到:
1) 集成度越來越高。早期的單片機其實不能稱之為‘機’,因為它不過是一個CPU單芯片,需要靠眾多的外圍芯片共同組成一個智能系統(tǒng)。而目前的單片機,不僅CPU功能更強、更快,還集成了原屬于外圍的大量電路,利用幾十上百K的Flash代替片外ROM,幾十上百K的RAM代替片外存儲器,用RTC代替片外實時鐘,有多位的AD/DA變換器,有UART、SPI、IIC、Can等多種通信接口。以前的開發(fā)工程師需要花費大量時間挑選眾多的外圍芯片,并將它們有機組合,制成復雜的PCB圖。那時,甚至還有不少專門的硬件工程師。而如今,行業(yè)內(nèi)很少有這種分工了,現(xiàn)在的工程師們將主要精力放在了軟件編寫上。
2) 速度越來越快。早期的單片機系統(tǒng)晶振頻率不高,執(zhí)行一條指令要多個時鐘周期,而目前不少單片機,其系統(tǒng)時鐘可以由鎖相環(huán)控制,可以高出晶振頻率的許多倍,一條指令只用一個時鐘周期即可完成。
3) 編譯環(huán)境越來越友好,編程語言也由匯編的一統(tǒng)天下,改由眾多的C語言代替。后來又出現(xiàn)了uCOS等操作系統(tǒng),使編譯更加方便,如今有的單片機也有了像高級語言才有的多線程、多任務了,任務之間還有通信功能和消息傳遞機制。
4) 編程越來越方便快捷。早期的單片機存儲代碼,需要專用的編程器寫入,紫外線擦除,費時費力。進入新世紀后,不少種類的單片機,采用在線編程,不僅快捷,而且對老用戶的設備在線升級也很方便。
5) 衡量計算機的水平,有時用處理二進制的位數(shù)來表示,位數(shù)多表示速度快和處理能力強。單片機從最初的4位,很快升到8位。此后穩(wěn)定了較長時間,之間也有過16位機但不普及。近年來16位和32位已屢見不鮮了。
6) 體積越來越小。不僅單片機,各種電氣器件,也由分立變?yōu)橘N片,插腳也由直插改為扁平,這些變化不僅生產(chǎn)方便,縮小體積,也使分布參數(shù)降低,有利于克服各種寄生干擾。
7) 不同功能的單片機模塊應運而生。近年來,大批內(nèi)置專用功能的單片機出現(xiàn)在市場上,如Philips的116x系列,它裝有USB1.1或2.0USB協(xié)議的內(nèi)核,用戶只要對其端口發(fā)送簡單指令,即可啟動與USB對口的USB數(shù)據(jù)傳輸。再如內(nèi)部裝有手機內(nèi)核的通信模塊,我曾經(jīng)用過的M260和UB603,它們內(nèi)置TCP/IP網(wǎng)絡協(xié)議,用戶只要對它的UART端口發(fā)送簡單指令和IP地址,就可以和異地的服務器進行TCP/IP連接,并進行GPRS數(shù)據(jù)傳遞,有的還支持域名連接。從而極大縮短了產(chǎn)品開發(fā)周期。
8) 各種內(nèi)藏專用功能的單片機大量涌現(xiàn)。如Cypress的CY系列,屬于內(nèi)藏USB功能的單片機。還有如iTrax的iSuite系列、uNav的GM10系列,屬于內(nèi)藏GPS功能的單片機。這些單片機的內(nèi)核、存儲器、IO口等資源都對用戶開放,以便用戶二次開發(fā),而且調(diào)用內(nèi)藏功能也很方便,這不僅縮短了開發(fā)周期,也使產(chǎn)品的體積和可靠性進一步提高。
十多年間,計算機和互聯(lián)網(wǎng)的出現(xiàn)極大改變了人類的生活和工作習慣。與此同時,中國電子工程師的整體素質(zhì)也發(fā)生了很大進步,特別是對PC機的使用、互聯(lián)網(wǎng)的操作以及軟件開發(fā)水平。隨著VB、VC、.NET等軟件的普及,上位機控制、界面制作都有了飛躍式的提高。
在這么多年的設計生涯中,我認為開發(fā)主要在于創(chuàng)新。舉個例子,醫(yī)療儀器公司生產(chǎn)的血流變儀,是測量人體血液黏度的儀器。在一個放入血液的容器中有個圓盤,由直流電機帶動旋轉(zhuǎn)。電壓高轉(zhuǎn)速快,血液黏度高阻力大轉(zhuǎn)速慢,由此推出黏度和電壓的關系,血液黏度在不同的轉(zhuǎn)速呈現(xiàn)的阻力不同,醫(yī)學上叫切變率。原來測量過程是給出不同的電壓梯度,在不同的速度下逐次測量。測量全程需幾分鐘。醫(yī)院提出時間太長。如果工藝不改,提高速度是很難的,因為每個梯度都要在速度穩(wěn)定下來測量,才能保證精度,由于電機的慣性作用,測量的周期已經(jīng)達到極限。經(jīng)過實驗,我們提出一個叫做儲能釋放的工藝模式,首先將電機加速到一個速度上限,然后斷電,電機靠慣性旋轉(zhuǎn)歷經(jīng)各個速度梯度,最后停止。這樣做既滿足了切變率的各段要求,時間也作到了最短,測量一次僅需40-50秒。該工藝模式成功的關鍵是找出描繪全程的數(shù)學模型,相信有電工基礎的朋友,不難猜出這個模型。
當然項目過程中困難也很常見,2007年,我們在做一個用單片機通過USB接口讀取攝像頭圖像的項目,該攝像頭專為PC機生產(chǎn),廠商可以提供PC機讀取圖像的驅(qū)動程序,可以對攝像頭的100多個寄存器進行初始化并進行一系列參數(shù)設置。但該驅(qū)動程序無法用在單片機上,如果想自己動手編制單片機的驅(qū)動,就必須了解這100多個寄存器的功能和說明,但廠家拒絕免費提供這些資料,聲稱要付費5萬美金。最后,我們終于通過自己的努力解決了這個難題。整個過程比較復雜,這里不再贅述,感興趣的朋友可以與我私下進行交流。
有些人曾問過我工程師應通過什么途徑和手段來進一步提高設計能力水平,我認為,應該“在戰(zhàn)爭中學習戰(zhàn)爭”。我的編程水平的提高,主要來源于廠家提供的DEMO源程序。此外,作為一名電子工程師者,除了專業(yè)方面的技能外,要想取得成就,敬業(yè)精神也非常重要。