工程師是這個星球上的最棒職業!

電子工程是一個只有「變化」是永恆不變的領域,技術本身以令人眼花撩亂的步伐演進…

我最近讀了一本介紹美國馬里蘭州重要支流帕塔普斯科河(Patapsco River)歷史的書,對人類歷史的緩慢進展感到十分驚訝──因為17世紀的農人生活感覺跟幾千年前的農耕者好像也沒什麼不同;對歷史上大多數的人來說,日常生活與曾曾祖父母其實是大同小異。

直到現在。發生在18世紀中葉的工業革命,把人們從農地移往工廠,並創造了各式各樣的消費性產品;但大多數的人們仍然很貧窮。我記得在哪本書上看過,1810年全球有94%的人口處於相當貧困的狀態,該比例在今日只有10%。

我已故的祖母是1898年生的,她在美國紐約曼哈頓(Manhattan)長大;我曾經問她那時候她家有沒有電話,她的回答是她只知道有某個住在曼哈頓島那一頭的人家裡有電話。而我記得在1950、60年代,長途電話是連絡我爸生意上的緊急狀況,或是通知親友訃告。事實上,那時候在美國是不允許私人擁有電話的,是AT&T; (編按:美國第一家電信業者,被稱為“Ma Bell”)將電話租給消費者,而現在幾乎每個人天天都跟自己的手機形影不離。

在我家,經歷了三代人,科技從遙不可及成為日常生活的一部分;別說今日的電子裝置與1910、1950甚至是1980年代的裝置根本不可同日而語,光是那些以電池驅動的可攜式電腦,在幾年前可能就是很多人不曾想像的。

在1930年代我還是個孩子的時候,接觸到的科技產品是我爸自己做的真空管Heathkit收音機與放大器,是我們家很多年來唯一的音樂來源;我們在1960年那時有了一台電視機,是黑白的,還常常需要一直調整水平/垂直同步控制鈕才能顯示畫面。印象中我們有的第一台電晶體裝置,是1960年代中期我自己做的Heathkit對講機。

我成為工程師的前一年,英特爾(Intel)發表首顆成功商用的微處理器;那款革命性的8008處理器元件,從很多面向創造了整個嵌入式系統產業。8008晶片還需要許多其他電子元件的搭配,才能執行有用的工作;要有一片佈滿邏輯元件的電路板,才能讓它擁有執行軟體的能力,而且還需要另一片佈滿晶片的板子當作RAM (通常是4KB),以及額外的EPROM來儲存程式。

那時的EPROM是1702,是有一扇石英小窗的256byte (不要懷疑,沒寫錯) ROM (如下圖);將該晶片暴露於紫外光下15分鐘,就能清除內部儲存進行重新編程。

我們有一款早期的8008產品需要4KB的程式儲存空間(也就是說要16顆EPROM晶片!),該元件支援浮點線性回歸(floating-point linear regression),並以幾十微秒(microsecond)的速率即時擷取資料。以現在的幣值來算,一顆8088 (只有晶片本身)就要價約650美元。

現在,四十多年過去了,軟體程式大小通常是MB (megabyte)等級,單一顆微控制器晶片內就可提供完整的運算、記憶體等所有必備功能,而且尺寸小巧。在1970年代初期,5MB的硬碟機一個就要5,000美元(搭配一個抽取式14吋托盤),而現在則是50美元就能買到TB (terabyte)容量的硬碟機。

科技領域的改變有多麼大!但是很多其他專業領域並非如此,我有個兄弟是珠寶批發商,他說他的生意跟四十年前比起來幾乎沒什麼變化,除了實體珠寶商店的數量因為線上購物而減少;我還有另一個兄弟是哲學家,則是利用現代化的工具來闡述古老的思想。

電子工程是一個只有「變化」是永恆不變的領域,有些人聲稱這個領域每兩年會重新改造一次,但這是個只考慮到我們的知識基礎有多少程度維持不變的愚蠢想法。馬克士威定律(Maxwell’s Laws)、克希荷夫定律(Kirchhoff)、笛摩根定律(De Morgan)、電晶體理論…等等許多對我們的工作來說是基礎的科目,跟我們在大學裡學的幾乎相同。

但是,技術本身是以令人眼花撩亂的步伐在演進,像是上面那張圖片裡的大型主機,現在完全可以塞進比指甲蓋還小的晶片裡,而且價格不再是動輒數百萬美元,今日這些晶片的價格便宜到能拿來當做免費贈品。

要指出我們的技術有哪一些是完全沒變並不容易,就算是最不起眼的電阻,現在是0302薄膜元件;超級電容則能提供好幾法拉的大電容量。而四層PCB曾經是難以想像,有數十層結構的電路板在目前並不罕見;更別說埋孔(buried vias)…誰在四十年前夢想過這種結構?

嵌入式軟體也有改變;在1970年代是組合語言的天下,C與C++語言則是目前的主流;有人可能會說,C語言自1990年代崛起之後就一直停滯不前,不過韌體生態系統與一年前也大不相同。今日人們可以用合理的套件價格取得如圖形化使用者介面(GUI)、檔案系統…等等好用的軟體元件;有靜態分析工具能自動糾錯,還有其他工具能產生單元測試。

我們以往在開發程式、修補二進位碼時習慣利用紙磁帶(reassembling)來大量儲存以節省時間,現在則有酷炫的整合開發環境(IDE),能以圖形顯示那些任務在何時執行,或是從一個以每秒上百萬指令集速度執行的處理器擷取追蹤資料。

嵌入式系統一直以來都像是小鎮裡被忽視的孩子,所有的技術光輝都集中在PC、平板裝置等產品上;要設計平板裝置的SoC晶片,需要行數以億計的硬體描述語言(HDL),這是驚人的工程成就,但對我來說,更令人興奮的是市面上那些廉價卻能提供迷人性能的32位元MCU。

我們正處於歷史的奇異點(singular point),至少在嵌入式技術發展史上;今日那些既便宜、性能又強的32位元MCU,不但內建大量記憶體、數量驚人的周邊,還能具備超低功耗特性,以及各種通訊I/O與基礎功能,正在重新定義我們這個業務的本質。

還有別忘了現在有大量可用的感測器──以往的陀螺儀元件不但尺寸很大、很耗電、價格也很高,現在只要幾塊錢就買得到;長期以來,市場都渴望能擁有價格超低、能幾年不用換電池,又能將資料從各種地方傳輸到指定位置的裝置,相關技術已經到位,而且預期我們可以看到一些非常酷的產品問世。

想想以上這些我在職業生涯觀察到的種種變化,讓我相信,工程師是這個星球上最棒的職業!

(參考原文: Reflections on a Career in Engineering,by Jack Ganssle;本文作者為資深嵌入式系統工程師)

編譯:Judith Cheng

返回頂端