Embedded Control:From Asynchrony to Synchrony and Back We propose in this paper a historical perspective of programming issues found in the implementation of control systems, based on the author’s observations for more than fifteen years, but especially during the Crisys Esprit project. We show that in contrast with the asynchronous tradition of computer scientists, control engineers were naturally led to a synchronous practice that was later formalised and generalised by computer people. But, we also show that, for the sake of robustness and distribution those practitioners had to incorporate some degree of asynchrony in this synchronous approach and we try to comment the resulting programming style. ### 嵌入式控制系统:从异步到同步及反向探索 #### 摘要与背景 本文探讨了嵌入式控制系统的编程问题的历史视角,基于作者超过十五年的观察,尤其是在Crisys Esprit项目期间的经验。文章指出,与计算机科学家通常采用的异步方法不同,控制工程师自然而然地倾向于一种同步实践,这种实践后来被计算机科学家正式化并推广。然而,为了增强系统鲁棒性和支持分布式特性,这些从业者不得不在同步方法中融入一定程度的异步性,并尝试评论由此产生的编程风格。 #### 核心概念解析 ##### 同步与异步编程 - **同步编程**:指程序中的操作是按顺序执行的,即一个操作必须完成之后才能进行下一个操作。这种编程方式适用于实时系统或对时间响应有严格要求的场景。 - **异步编程**:允许程序中的操作并发执行,即一个操作可以启动后立即继续执行其他任务,无需等待该操作完成。这种编程方式提高了系统的效率,但增加了设计的复杂性。 ##### 嵌入式控制系统中的同步编程 - **控制工程师的同步实践**:在早期阶段,控制工程师更倾向于使用同步编程方法来实现控制系统。这是因为控制系统往往需要精确的时间控制,同步编程能够更好地满足这一需求。 - **计算机科学家的正式化**:随着技术的发展,计算机科学家对控制工程师使用的同步编程方法进行了研究和正式化,提出了“同步编程”这一新的编程范式。 - **同步编程工具的应用**:例如Simulink等工具被广泛应用于嵌入式控制系统的设计与开发过程中,为工程师提供了高效、直观的开发环境。 ##### 异步元素的引入 - **鲁棒性的需求**:在实际应用中,为了提高系统的稳定性和可靠性,需要考虑外部干扰和内部故障等因素。这就需要在同步编程的基础上引入一定的异步处理机制。 - **分布式系统的挑战**:随着嵌入式系统规模的扩大,分布式的特性变得越来越重要。分布式系统需要处理节点之间的通信延迟、数据同步等问题,这要求在同步架构中融合异步处理能力。 - **异步编程风格的融合**:在保持核心同步框架的同时,通过引入适当的异步机制来增强系统的适应性和灵活性。例如,在关键任务完成后触发非关键任务的执行,或者利用中断机制处理外部事件等。 #### 实际案例分析 - **空中客车“电传操纵”系统**:作为典型的飞行控制系统,它采用了高度同步化的架构来确保飞行安全。但在某些情况下(如传感器故障),会通过异步机制来进行容错处理。 - **施耐德的安全控制和监控系统**:用于核电站的安全控制系统同样强调同步性,以保证系统的可靠运行。同时,对于非关键任务,系统也会采用异步处理来提高效率。 - **西门子的信件分拣机控制**:这种自动化设备需要高精度的时间控制来完成分拣任务。通过同步编程方法实现基本功能,辅以异步机制应对突发状况。 #### 结论 本文深入探讨了嵌入式控制系统编程领域的一个重要议题——从异步到同步再到异步的转变过程。通过对历史发展轨迹的回顾,我们可以看到控制工程师如何从实践中提炼出高效的编程方法,并如何逐渐将异步元素融入其中以提升系统的整体性能。未来的研究方向可能集中在如何更好地平衡同步与异步编程的优势,以及如何进一步优化分布式控制系统的架构设计。
剩余19页未读,继续阅读
- 粉丝: 0
- 资源: 2
- 我的内容管理 展开
- 我的资源 快来上传第一个资源
- 我的收益 登录查看自己的收益
- 我的积分 登录查看自己的积分
- 我的C币 登录后查看C币余额
- 我的收藏
- 我的下载
- 下载帮助
最新资源
- 环形网络潮流计算matlab 利用matlab编程计算任意环形网络牛拉法潮流计算程序,程序通用性强,通过修改参数可以得到任意节点和网络的环形网络牛拉法潮流计算
- 单片机实验仿真设计报告
- 欧姆龙NJ NXPLC 全ST程序案例,全程序无加密,公司级框架,提供项目源码框架FB源码,触摸屏源码 需要一定ST基础才能看懂 重在分享编程思想 没用过该控制器的请慎用 先安装1.2版本的环
- “处暑”中小学课侦探教案模板.pptx
- “艾灸中医养生”讲座教案课件.pptx
- “开学第一课”小学儿童教育家长会宣传模板.pptx
- “七夕节情人节”宣传教育课件模板.pptx
- “立秋”宣传教育课件模板.pptx
- 深圳“幼儿园新生家长会”课件教案模板.pptx
- 读书的意义与好处主题班会“与书籍同行”.pptx
- 书法“有趣的汉字”教学课件教案模板.pptx
- 三菱FX3U 485ADP与4台欧姆龙E5cc温控器远程+本地通讯程序 功能:通过三菱fx3u 485ADP-MB板对4台欧姆龙E5cc温控器进行modbus通讯,可以实现温度在触摸屏上设置,也可以在
- 麻雀搜索算法(SSA)文章复现(改进Tent混沌初始化+改进Tent混沌扰动+高斯扰动)-CSSA 复现内容包括:改进算法实现、23个基准测试函数、改进策略画图分析、文中三种混沌图分析、与
- 蚁群算法 改进蚁群算法 Dijkstra算法 遗传算法 人工势场法实现二维 三维空间路径规划 本程序为蚁群算法+Dijkstra算法+MAKLINK图理论实现的二维空间路径规划 算法实现: 1)
- 群智能多目标优化算法-MOPSO(多目标粒子群优化)论文汇报
- 纯电动汽车动力性经济性开发程序 Matlab AppDesigner 汽车性能开发工具 电动汽车动力性计算 电动汽车动力总成匹配 写在前面:汽车动力性经济性仿真常用的仿真工具有AVL Cruise、a