内容摘要:介绍应用于实时嵌入式控制系统的新型软件Giotto,并应用于工业自主小车的控制系统设计中。Giotto支持控制系统设计的自动化,将与平台无关的功能和时限从与平台相关的调度和通信事件中分离。Giotto基于时间触发的任务调用和模式转换具有可预报性,尤其适合于有硬实时约束的嵌入式控制。
引 言
随着计算机技术、控制技术、信息技术的快速发展,工业的生产和管理方式进入了生产自动化、控制智能化时代,特别是分布嵌入式系统的应用,更加需要标准化、实时的控制模块和I/O功能模块,以便系统集成,构建适应于恶劣环境的复杂分布式系统。实时嵌入式软件模块适合于没计复杂的分布式系统,它支持分布的、异构设备的系统建摸和构造。嵌入式模块的作用是提供使复杂性容易处理的结构和技术,基于Giorio的嵌入式控制设汁更适合具有硬实时控制约束的应用。本文中,平台指硬件结构、操作系统和通信协议,由CPU、传感器、执行器和网络组成。与平台无关的事件包括应用功能和时限,与平台相关的事件包括时序安排、通信和物理特性。
1 Giotto编程特点
传统的实时嵌入式软件设计是在抽象的数学模型基础上,控制工程师根据对象行为和环境影响,利用求解模型的软件工具,得到模型的功能和性能,然后交给软件工程师针对给定的平台写出代码,并在给定的平台上检验和优化代码,直到得出满意的时间行为。在这个过程中,常常丢失了模型和代码之间紧密的对应关系,放弃了软件的复硝性,增加了软件设计的复杂度,因而产生的软件是弱化的,难于在不同的平台上应用。
基于Giotto的嵌入式控制软件设计将功能程序从特定平台分离,将时限从功能中分离,其与平台无关性使得它具有更好的实时性、可靠性及可复用性,更适合嵌入式实时分布系统。图l为基于Giotto的嵌入式控制系统的设计流程图。首先,控制工程师和软件工程师就控制设计的功能和时限达成一致,设计一个Giotto程序;然后,软件工程师使用Giotto编译器产生一个可执行代码,该代码能连接Giotto运行时间库,将程序映射到给定的平台。Giotto运行时间库提供一个时序安排和通信的中间层,这一层定义了Giotto可执行程序与平台之间的接口。目前已经建立了一个Giotto运行时间库,用于Intel x86机上Wind River的VxWorks实时操作系统。
作者:雷万军 张云生 责编:豆豆技术应用