当前位置:首页 > 嵌入式 > 嵌入式教程
[导读]Giotto软件在实时嵌入式控制中的应用

摘要 介绍应用于实时嵌入式控制系统的新型软件Giotto,并应用于工业自主小车的控制系统设计中。Giotto支持控制系统设计的自动化,将与平台无关的功能和时限从与平台相关的调度和通信事件中分离。Giotto基于时间触发的任务调用和模式转换具有可预报性,尤其适合于有硬实时约束的嵌入式控制
关键词 Giotto 实时嵌入式控制 自主小车

引 言
    随着计算机技术、控制技术、信息技术的快速发展,工业的生产和管理方式进入了生产自动化、控制智能化时代,特别是分布嵌入式系统的应用,更加需要标准化、实时的控制模块和I/O功能模块,以便系统集成,构建适应于恶劣环境的复杂分布式系统。实时嵌入式软件模块适合于没计复杂的分布式系统,它支持分布的、异构设备的系统建摸和构造。嵌入式模块的作用是提供使复杂性容易处理的结构和技术,基于Giorio的嵌入式控制设汁更适合具有硬实时控制约束的应用。本文中,平台指硬件结构、操作系统和通信协议,由CPU、传感器、执行器和网络组成。与平台无关的事件包括应用功能和时限,与平台相关的事件包括时序安排、通信和物理特性。

1 Giotto编程特点
   
传统的实时嵌入式软件设计是在抽象的数学模型基础上,控制工程师根据对象行为和环境影响,利用求解模型的软件工具,得到模型的功能和性能,然后交给软件工程师针对给定的平台写出代码,并在给定的平台上检验和优化代码,直到得出满意的时间行为。在这个过程中,常常丢失了模型和代码之间紧密的对应关系,放弃了软件的复硝性,增加了软件设计的复杂度,因而产生的软件是弱化的,难于在不同的平台上应用。

    基于Giotto的嵌入式控制软件设计将功能程序从特定平台分离,将时限从功能中分离,其与平台无关性使得它具有更好的实时性、可靠性及可复用性,更适合嵌入式实时分布系统。图l为基于Giotto的嵌入式控制系统的设计流程图。首先,控制工程师和软件工程师就控制设计的功能和时限达成一致,设计一个Giotto程序;然后,软件工程师使用Giotto编译器产生一个可执行代码,该代码能连接Giotto运行时间库,将程序映射到给定的平台。Giotto运行时间库提供一个时序安排和通信的中间层,这一层定义了Giotto可执行程序与平台之间的接口。目前已经建立了一个Giotto运行时间库,用于Intel x86机上Wind River的VxWorks实时操作系统。

2 Giotto编程技术
    Giotto是一种与平台无关,且在特定控制领域应用中具有高水平的编程语言。Giotto的设计用于高要求的控制应用,这些应用要求周期性地渎取传感器,调用任务,更新执行和模式转换。Giotto基于时间触发编程,从传感器到CPU以及CPU到执行器之问的通信由全局时钟触发,使其具有可预报性。Giotto程序不指定与平台相关的部分,如优先权、通信等。其优点是与具体的执行平台无关,能与任何实时操作系统、调度运算法则以及实时通信协议兼容。

    Giotto的两个核心组成部分是:周期性的任务调用和模式转换。一个Giotto程序指定一系列的模式,每一种模式又包含一系列的任务和模式转换。每一时刻,程序都执行在特定的模式P下,每个P模式转换包含1个评估函数和1个目标模式Q,只有评估函数为真时系统才转换为新模式Q。

    Giotto任务是一项剧期性的工作,其输入和输出端几分别在任务周期的启动和结束时更新,但Giotto任务不一定要在周期开始时启动,只需在周期内启动和完成。图2(a)显示了运行在同一个CPU上的1个40ms任务M和1个10ms任务N的时序,虚线为目前任务占用CPU的可能情况。在第Oms,M和N都读取它们输入端口的值;在第10 ms,任务N的计算结果写入它的输出端口,但是N早已结束执行(如图中虚线所示);在第40 ms,任务M的计算结果写入它的输出端口,但任务M在第40ms之前已经完成执行。无论任务M在0~40 ms的任何时间完成计算,任务N都只会在第40 ms读其结果。

    在Giotto中一个任务可以看作是一个工作单元,一旦开始,就必须要完成。任务周期没结束时,模式转换不能终止任何任务。给定一个Giotto模式P(包括分别由40 ms和10 ms调用的Giotto任务M和N)和一个Giotto模式Q(包括分别由40ms和5ms调用的Giotto任务M和R)。图2(b)显示了在P模式中的第10ms模式转换被激活的时序,此时模式P转换为模式Q。由于P和Q都包含任务M,所以任务M不会终止,但任务N被周期为5ms的任务R代替。

3 物流系统自主小车设计
    2一自主小车系统包括2个自主小车,每个自主小车包含一个微处理器、马达和触摸式传感器。设定在任何时候只有一个自主小车是领导者,而其他自主小车是跟随者。其中,处于领导或避开状态的自主小车称为“领导者”,处于跟随或停止状态的自主小车称为“跟随者”。当领导者被阻碍时,领导者进入避开状态,跟随者进入停止状态。进入避开状态的自主小车执行一段避开程序,以避开障碍物,此时处于停止状态的自主小车仍停止;当领导者完成避开程序返回到领导状态时,跟随者返回跟随状态。当跟随者之一被阻碍时,该自主小车进入避开状态,其他所有的自主小车进入停止状态,被阻碍的这个自主小车成为新的领导者。图3显示了2一自主小车系统的状态行为。

    由于自主小车处于领导或避开状态时其他自主小车处于跟随或停止状态,因此对每一个领导者X使用1个LeildXFollow模式和1个EvadeXStop模式。其中,处于LeadlFollow模式时,自主小车l是领导者;处于Evadelstop模式时,自主小车l执行避开程序。另外,为每个自主小车X引入一个stopX模式,它允许自主小车快速停止。runCom1任务每40 ms运行一次存储于输出端口 command中的命令。两个Giotto任务rrailerCtrl和trailerCtr2具有lOms的周期,它们根据command中的命令控制两个自主小车的马达;command中的数据由任务驱动trailerDrv传送到任务trailerCtrl和trailerCtr2的输入端口。

    系统分别对自主小车l和2的传感器不断地进行检测。当自主小车1被阻碍时,系统转换到stopl模式。两个自主小车都停止移动;完成stopl模式之后系统转换为EvadelStop模式.此时自主小车l执行避开程序而自主小车2停止不动。类似地,当自主小车2被阻碍时,自主小车2经过stop2模式后转换到Evade2Stop模式。在EvadelStop模式下,Evadel任务每一周期计算一次避开动作是否完成以及避开的下一步动作;具有10ms周期的任务trailerCtrl根据command中避开的步骤去控制自主小车1的马达,一旦完成避开动作,就转换为LeadlFollow模式。

    图4为系统从LeadlFollow模式到stopl模式,EvadelStop模式和LeadlFollow模式的模式转换时序图。到stopl模式的转换发生在LeadlFollow模式下的第60 ms,自主小车l的传感器检测到障碍,系统由LeadlFollow模式转换为stopl模式.两个自主小车执行停止程序;完成stopl模式后,在第80 ms系统转换为另外一个模式EvadelStop,自主小车1的控任务立刻被调用,自主小车l执行避开程序,此时自主小车2仍停止;当自主小车1完成避开动作后,在第110ms,两个自主小车的控制任务立刻被调用,系统转换为LeadlFollow模式。当自主小车2是领导者时,其模式转换类似。

4 结论
   
在基于Giotto的嵌入式控制设计中,时序程序与功能程序的分离,使Giotto程序与具体的运行平台无关,从而提高了程序的健壮性、稳定性及代码的复用性。Giotto系统中任务的调用和环境变量的检测由全局时钟触发,其时间行为具有高度可预报性,使得Giotto非常适合具有硬实时约束的嵌入式控制系统。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

深圳2024年5月6日 /美通社/ -- 从4月23日的一场大会开始,到24-26日的IOTE会展节,我们共同见证了物联网领域的最新技术、产品和解决方案的集中展示,感受到了AIoT释放数字经济潜力的巨大能量。今天以展商满...

关键字: IoT 物联网 TE AIOT

上海2024年4月22日 /美通社/ -- 恶性的攻击和意外事件总是防不胜防,提前部署灾备方案可以在遭遇意外时尽可能减少企业损失。那么面对无处不在的勒索病毒和潜在风险,为什么依然有很多企业还会遭遇数据丢失?

关键字: 勒索病毒 软件 电脑 群晖数据

SAP(思爱普)近日发出的裁员计划,不仅涉及全球范围内约8000个职位,更是在中国区造成了近1500名正式员工和合同工不续的情况。

关键字: 软件 互联网

上海2024年4月17日 /美通社/ -- 每年4月17日是世界血友病日。今年,世界血友病日以"认识出血性疾病,积极预防和治疗"为主题,呼吁关注所有出血性疾病,提升科学认知,提高规范化诊疗水平,让每一位出血性疾病患者享有...

关键字: VII 动力学 软件 BSP

德国埃朗根2024年4月16日 /美通社/ -- Elektrobit 今日宣布推出 EB zoneo GatewayCore——首款支持、配置和集成现代微控制器新一代硬件加速器的软件产品,可应用于先进的汽车电子/电气架...

关键字: 汽车 软件 硬件加速 通信网络

物联网(Internet of Things, IoT)作为一种新兴的信息技术体系,正在以前所未有的速度渗透到各个行业和社会生活的方方面面。物联网概念的提出与发展,标志着人类步入了一个全新的数字化时代,它将实体世界与虚拟...

关键字: 物联网 IoT

Windows Embedded Compact 7(简称WinCE)是一种专为嵌入式系统设计的操作系统,具有体积小、效率高、可定制性强的特点。在WinCE中设置自动运行软件,通常是为了满足设备在启动后自动执行特定任务的...

关键字: 嵌入式系统 软件 操作系统

随着科技的飞速发展,我们日常生活的方方面面都在逐渐被智能化、网络化所渗透。物联网(Internet of Things, IoT)作为一项将传统物品与互联网相结合的技术,正在引领着一个全新的技术革命。从家用电器到工业制造...

关键字: 物联网 互联网 IoT

2024年3月14日 – 专注于引入新品的全球电子元器件和工业自动化产品授权代理商贸泽电子 (Mouser Electronics) 即日起开售Laird Connectivity的Sera NX040超宽带 (UWB)...

关键字: IoT UWB 蓝牙

罗德与施瓦茨与索尼半导体以色列(Sony)合作,达成了3GPP Rel. 17 NTN NB-IoT RF性能验证的行业首次里程碑。他们还成功验证了基于PCT的测试用例。两项工作都有助于NTN NB-IoT技术的市场就绪...

关键字: IoT Sony 非地面网络
关闭
关闭