随着数字化转型,嵌入式系统的开发方式发生了哪些改变呢?
1. 固定功能到灵活系统
许多嵌入式或控制系统都是以单片方式设计的;定制硬件配备了定制的操作系统,可能是一些复杂的中间件,并托管一个或多个应用程序来执行一组特定的任务。整个设备作为单个设备进行包装和销售,并通过经历了类似设计周期的新一代替换整个单元来执行升级。这不仅是一种繁琐的设计方法,需要在每个设计周期重新开发和重新测试许多非差异化组件,而且在部署新功能或修复损坏的功能(包括安全更新)时也很不灵活。
2. 自动化设备到自治系统
许多嵌入式系统旨在自动执行特定任务。例如,在工业系统中,可编程逻辑控制器 (PLC) 用于自动化制造过程,例如化学反应、装配线或机器人设备。通常,这些设备具有高度的准确性、可重复性和可靠性,尽管它们需要单独编程才能这样做,并且通常在其初始设计参数之外执行的余地很小。然而,为了提高生产力并影响更大的业务成果,学习系统将越来越多地用于跨越单元、工厂或系统级别的一系列控制设备。类似的系统级方法正在自动驾驶应用中出现,学习系统还将对需要在边缘设备上运行的计算工作负载类型产生重大影响。传统上,嵌入式系统设计从定制硬件开始,可能包括定制的硅处理器,软件在其上分层——一种"自下而上"的方法。对于机器学习实现来说,这个过程是完全相反的;定义的问题陈述将确定要使用的最佳学习算法类型(例如,对象分类问题可能需要不同的语音识别方法),从中选择最佳硬件平台来最有效地运行学习框架。
3. 软件定义一切
自主系统的出现将需要将系统设计重点从单个、资源受限的定制设备转向更灵活和可编程的环境,这些环境可以在全球范围内进行更改或优化。这种转变不仅会影响构建智能系统的工程方法,还会影响各个行业长期以来围绕特定功能"黑匣子"的生产建立的供应链,例如汽车中的电子控制单元 (ECU),或工业应用中的分布式控制系统 (DCS)。
类似地,构建这些系统所需的技能即将演变为包含更多以软件为中心的方面。那些通过设计和销售硬件来定义差异化并获得价值的公司可能会发现他们需要开发丰富的软件能力。集成来自多个供应商的中间件或应用程序的责任可能会从供应链转移到设备制造商本身,并带来支持或责任模型的变化。
精彩评论