说真的,电子工程师是我见过的这个星球上最酷的职业!
扫描二维码
随时随地手机看文章
本文作者Jack Ganssle为资深嵌入式系统工程师
我最近读了一本介绍美国马里兰州重要支流帕塔普斯科河(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)容量的硬盘机。
1970年代的个人计算机
科技领域的改变有多么大!但是很多其他专业领域并非如此,我有个兄弟是珠宝批发商,他说他的生意跟四十年前比起来几乎没什么变化,除了实体珠宝商店的数量因为在线购物而减少;我还有另一个兄弟是哲学家,则是利用现代化的工具来阐述古老的思想。
电子工程是一个只有“变化”是永恒不变的领域,有些人声称这个领域每两年会重新改造一次,但这是个只考虑到我们的知识基础有多少程度维持不变的愚蠢想法。马克士威定律(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与基础功能,正在重新定义我们这个业务的本质。
还有别忘了现在有大量可用的传感器──以往的陀螺仪组件不但尺寸很大、很耗电、价格也很高,现在只要几块钱就买得到;长期以来,市场都渴望能拥有价格超低、能几年不用换电池,又能将数据从各种地方传输到指定位置的装置,相关技术已经到位,而且预期我们可以看到一些非常酷的产品问世。
想想以上这些我在职业生涯观察到的种种变化,让我相信,工程师是这个星球上最棒的职业!