从摩西到嵌入式:探索控制设备的计算机历史
在通信领域,六十年代晚期,电脑首次被用于电子电话交换机,这标志着存储程序控制系统的诞生。这种技术虽然不如今天普及,但它为将来提供了基础。随着微处理器的出现,它们改变了我们构建大型系统模块的小型、低成本CPU引擎的方式。
早期电脑是为特定应用定制的,而根据现代标准,它们看起来有些奇怪,有些特殊指令和I/O设备集成在一部电脑中。微处理器通过提供外设通过总线连接固定硬件架构及称为编程的一般编程模型,将这一切都改变了。
软件也随之发展。最初,只有简单的编程开发工具可用,每个项目通常来自修改草稿。在七十年代,软件构建模块和标准化库才开始流行起来。此外,当微处理器被淘汰时,其操作系统除非重写,为新处理器而设计,否则也会过时。今天,我们回忆起许多这些早期系统,如MTOS;还有谁记得C语言出现之前的情况?
八十年代初,我最喜欢的是Wendon操作系统,可以以150美元获得一个C源码库。这是一个包,你可以点选部件建立自己的操作系统,就像菜单点餐一样。例如,你可以选择工作排程安排和内存管理方案。八十年代至今,一些商品化操作系统一直占主导地位,如VxWorks, pSOS, Neculeus和Windows CE。
很多嵌入式系统根本没有操作系统,只有循环控制,对于一些简单设备来说已经足够。但随着复杂性增加,需要更复杂或至少需要更多网络功能。这导致对仅仅是编码控制循环的嵌入式系统添加网络功能,使其变得更加复杂,以至于要求拥有操作系统。
除了商品化操作系統,还有大量专用作業系統。大多数来源于草案,比如CISCO的IOS;还有派生自其他作業系統,如许多作業系統是从同一版本Berkeley Unix系統派生的,因为它具有完整的人类网路功能。他們還包括來自主要作業系統的人類網路延伸版KA9Q由Phil Karn開發出來。
Linux作为嵌入式システム的一个新成员带来了许多优势:可移植性、稳定性、功能强大以及易于开发。一旦工具包突破ICE障碍,即使是一些异体,也能方便进行工作。而且,一旦初始化软件对串口支持良好,不再依赖ICE就能进行调试,这进一步降低了成本并提高了效率。
对于实时需求,我们常常错误地认为所有嵌入式都是实时。如果说多数不是,那又如何?实际上,在极短时间内做出响应并不总是必要,而且这取决于设计人员对真实需求理解程度。在某些情况下,即使是在五毫秒内即可完成任务,也已足够满足需求。而软需求则相对容易满足,比如环境转换时间、中断等待时间、任务优先级排序等问题现在已经不那么重要,因为CPU速度快得多,更容易满足这些要求。
最后,我们来定义什么是嵌入式?一个观点认为,如果没有用户界面,那么它就是嵌入式,因为用户无法直接与之交互。但这只是简化了一种情况。一台电梯控制电脑,被认为是嵌入式因为用户不能直接与之交互。如果一个联网上的设备包含监视和控制,则无论是否具备用户界面,都可能被视为嵌入式装置。这意味着我们的世界里充满了各种各样的计算机,从简单的小巧到高度专业化的大型设施——它们都在幕后默默地运行,用以增强我们的生活质量,并推动科技不断进步。