Giotto软件在实时嵌入式控制中的应用

发布者:静心悠然最新更新时间:2012-04-19 来源: 单片机与嵌入式系统应用 关键字:Giotto  嵌入式控制  编程技术 手机看文章 扫描二维码
随时随地手机看文章
引 言

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

1 Giotto编程特点

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

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

基于Giotto的嵌入式控制系统的设计流程图

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代替。[page]

时序图

3 物流系统自主小车设计

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

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非常适合具有硬实时约束的嵌入式控制系统。

关键字:Giotto  嵌入式控制  编程技术 引用地址:Giotto软件在实时嵌入式控制中的应用

上一篇:54M无线网络适配器在嵌入式系统中的研究与应用
下一篇:嵌入式Web Server中EGI技术的应用

推荐阅读最新更新时间:2024-03-16 12:58

基于CORBA技术的嵌入式控制器设计
重矿行业是典型的装备制造业,它的生产设备组成相对较为分散,设备现场环境较为恶劣,不易控制。传统的工业控制器只是对现场的设备进行监控,如果设备运行异常则关断设备,这样就大大降低了生产效率。而且,随着设备结构及其控制的日益复杂化,在控制的过程中可能存在不同的网络协议、不同的操作系统以及不同的编程语言。在实现它们相互之间通信的时候,需要将格式和协议进行转换,这就给我们开发控制器带来了诸多不便。CORBA技术具有良好的跨平台互操作性、可移植性、可扩展性和编程语言无关性,解决了异构平台的对象互操作问题。它屏蔽了底层的通信机制,采用面向对象的方法以提供分布式应用软件的可重用性和可扩展性,实现了异构环境下通信.这样既大大简化了分布式应用系统的开发
[模拟电子]
基于CORBA技术的<font color='red'>嵌入式</font><font color='red'>控制</font>器设计
Silicon Labs新型USBXpress控制器简化嵌入式设计的USB连接
2016年8月2日,Silicon Labs(深圳芯科科技有限公司,NASDAQ:SLAB)宣布推出了USBXpress 桥接器件系列产品中的最新成员CP2102N USB桥接器,其具有更小尺寸、更低功耗,能够以更简单快速的方式在新的或原来的嵌入式设计中增加通用串行总线(USB)连接。Silicon Labs的新产品CP2102N USB控制器消除了复杂、耗时的固件开发,在极小的3mm x 3mm QFN封装中提供了更多高级功能。CP2102N桥接器能够简化USB-to-UART连接,加速产品上市,适用于各类便携式、功耗敏感和空间受限的应用,例如USB适配器、销售终端(POS)、数据记录仪、游戏控制器和个人医疗设备等。 随着US
[嵌入式]
Silicon Labs新型USBXpress<font color='red'>控制</font>器简化<font color='red'>嵌入式</font>设计的USB连接
基于嵌入式系统的实时控制模块设计方案
  随着现代通信技术的发展,通信测试仪器不断推陈出新。各种新型设备对系统的实时响应能力的要求越来越高,一种通信测试仪器的实时响应性能,就成为系统设计能否成功的关键因素之一。笔者曾在多个通信测试仪器项目中,成功地应用ARM处理器、C51单片机等为主控芯片的嵌入式系统,实现了对仪器相关模块的实时控制功能。因此提出一种在某通信测试仪器中使用C51单片机来实现实时控制的设计方案。   1 硬件设计与实现   1.1 总体方案设计   在该通信测试仪器中,实时控制模块主要实现对射频接收频综、射频发生频综、滤波器组件、射频输入模块、射频输出模块等实时控制作用。对射频检波信号进行A/D转换以获取数据。与上位计算机进行通信等功能。   根
[单片机]
基于<font color='red'>嵌入式</font>系统的实时<font color='red'>控制</font>模块设计方案
基于单片机和CAN控制器的嵌入式系统
1. 引言   单片机作为嵌入式设备的心脏,在从消费电子到工业应用等广泛的领域中得到应用。从单片机的历史来看,随着嵌入式设备对单片机功能和性能的要求提高,其经历了从4位机到8位机的发展过程。目前嵌入式产品的不断发展,8bit单片机的处理能力面对越来越多的挑战。而32bit单片机在嵌入式领域得到越来越多的应用。根据市场的发展,EPSON 公司专为高级数据处理的便携式设备推出了32位MCU(Microcontroller Unit )S1C33 系列,下面简单介绍一下EPSON 32 位单片机的特点:   A. 强大的CPU内核:S1C33采用RISC(精简指令集)结构,三级流水线,105条16位长指令,其大多数指令在一个时钟周
[单片机]
基于单片机和CAN<font color='red'>控制</font>器的<font color='red'>嵌入式</font>系统
基于C51的嵌入式实时控制模块的设计与实现
  随着现代通信技术的发展,通信测试仪器不断推陈出新。各种新型设备对系统的实时响应能力的要求越来越高,一种通信测试仪器的实时响应性能,就成为系统设计能否成功的关键因素之一。笔者曾在多个通信测试仪器项目中,成功地应用ARM处理器、C51 单片机 等为主控芯片的嵌入式系统,实现了对仪器相关模块的实时控制功能。因此提出一种在某通信测试仪器中使用C51单片机来实现实时控制的设计方案。   1 硬件设计与实现   1.1 总体方案设计   在该通信测试仪器中,实时控制模块主要实现对射频接收频综、射频发生频综、 滤波器 组件、射频输入模块、射频输出模块等实时控制作用。对射频检波信号进行A/D转换以获取数据。与上位计算机进行通信等功能。   根
[单片机]
基于C51的<font color='red'>嵌入式</font>实时<font color='red'>控制</font>模块的设计与实现
把网络引进嵌入式控制系统----微型单板计算机加软件可显著减少联网控制系统的复杂性
    OEM厂商把强大的网络功能引进到嵌入式应用系统中。现在,自动装配线的监控人员可以坐在台式计算机前面,通过Web浏览器,监控和调整总装线上的每一个设备部件;医生则可以通过Web浏览器把一系列上网诊断设备的数据调集在一起,进行综合分析。     许多OEM厂家对产品上网有些顾虑,怕拖延产品上市时间、怕需要一笔可观的起动资金、怕会有长远的维修费用。Bright Start Engineering公司率先实现了一项既简单、价格又不贵的上网技术。这就是集软硬件和必要的开发环境于一身的垂直式网络引擎,我们叫ipEngine。     对于多种控制应用系统,ipEngine可以作为控制器使用。ipEngi
[嵌入式]
嵌入式系统中电源电压的精确控制应用
   概要   该项目的目标是设计一个高效电源系统,其输出电压(VOUT)可以数字调节。为了保证输出电压的精确性,采用数字闭环控制,用于修正失调、漂移和负载变化(最大至600mA)的影响。电路包括输出可调的降压型控制器、ADC与DAC、电压基准以及一个微控制器(MCU)。   在大多数DC-DC转换器中,位于FB引脚上的电阻网络可以调整转换器的输出电压(见图1)。在本文电路中,利用DAC输出电压(VDAC)改变电阻网路的基准电压,达到调整转换器输出(VOUT)的目的。ADC检测输出电压,并将结果送入微处理器。微处理器调整DAC输出,以控制系统输出电压达到预定值。为使电路尽可能简单,预设输出电压通过PC的串行通信口(RS-23
[电源管理]
基于微控制器的嵌入式音频编解码器设计
  许多设计人员在其基于微控制器的嵌入式系统设计中加入了,以提供高保真音频。但在这样做之前,他们必须弄清楚如何对其应用进行音频编解码器调校。如果不进行调校,即使有好的编解码器和扬声器,也可能会让应用听起来很平淡或音质很差。问题是每个扬声器都有自己的频率响应,因此编解码器应该根据扬声器的特性进行调校,同时要考虑到将要播放的音频种类和所需的响应。   调校音频播放系统的解决方案不是使用硬件滤波,而是利用音频编解码器自身的数字滤波器块。每个编解码器都有这个块,允许开发人员使用高通、低通和带通滤波器进行输出滤波。这样就可以根据需要仔细调校扬声器的响应。   本文将以 AKM Semiconductor 的编解码器为例,讨论编解码器
[嵌入式]
基于微<font color='red'>控制</font>器的<font color='red'>嵌入式</font>音频编解码器设计
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved