支持网络传感器的嵌入式操作系统设计

发布者:星尘之泪最新更新时间:2007-12-21 来源: RFID中国网关键字:编程  传输  接口  架构 手机看文章 扫描二维码
随时随地手机看文章
引言

网络传感器是集传感器技术、嵌入式计算技术、现代网络及通信技术、分布式信息处理技术于一身的资源受限的嵌入式设备,是“普适计算”在微型嵌入式领域的一种重要应用模式。

网络传感器的研究过去一直受限于硬件平台而发展缓慢。随着半导体技术、通信技术、微电子技术和微机械技术的不断进步,低功耗、低价格、多功能的传感器网络系统得到了快速发展,使得制作微小、有弹性、低功耗的传感器节点成为现实。

背景

应用特点

网络传感器应用有其自身的特点,主要有以下几个方面:小尺寸和低功耗、并发密集操作、有限的物理并行性和控制层次、多样化的设计和使用。一方面,传感器资源极其有限,给底层嵌入式程序设计带来较大的限制;另一方面,传感器上运行的应用程序和系统内核通常是紧密结合在一起的,且运行时需要的任务数量、执行时间、执行结果以及内存消耗等是可以较好预计的。

此外,传感器种类繁多,针对不同应用场合需要不同种类的传感器;在军事应用、空间探索等特定应用场合下,更是需要大量的不同种类的传感器协同合作来完成特定应用事件。因而传感器上运行的软件系统如果能够具备相对较好的灵活性、可配置性和可重用性,将能更好地满足应用需求。

现有嵌入式OS比较

当前存在众多的嵌入式操作系统,其中具有代表性的如Vxwork、WindowsCE,pSOS和Neculeus等,它们的优点是:功能强大;具有丰富的API和嵌入式应用软件;具备良好的实时性能,尤以Vxwork为代表;具备良好的稳定性。缺点是:价格昂贵;源代码不公开,以及由此导致的诸如对设备的支持、应用软件的移植等一系列的问题;另外对于传感器器件来说,这些嵌入式OS都显得过于“庞大”了一些。 uc/os和嵌入式Linux当前正获得越来越广泛的应用。

它们的优点是:执行效率高、占用空间小、可扩展性能好,同时是免费且源代码公开的。uc/os具备良好的实时性能,嵌入式Linux的实时性能有待进一步提高。缺点是:它们都是相对通用的嵌入式操作系统,不能完全适应传感器应用领域的需求,如嵌入式Linux最小仍然需要上百K的ROM和RAM空间才能工作,而uc/os的内核尽管可缩减至几K,但是对于某些传感器应用来说,仍然显得不够精简。

UC Berkeley设计开发了无线传感器网络应用的嵌入式操作系统TinyOS以及系统编程语言nesC。我们在剖析现有嵌入式OS特别是TinyOS的基础之上,设计实现了支持网络传感器的微型嵌入式操作系统γOS,并开发了系统编程语言AntC。

γOS设计

γOS是以网络传感器应用为目标的微型嵌入式操作系统,针对网络传感器的前述应用特点,γOS的设计具备几个特性:支持足够微小的硬件系统,便于传感器设备在检测环境中的任意撒布;支持足够低的系统功耗,保证传感器设备具备足够长的生命期;支持集成可与物理世界交互的传感设备,实现数据的采集和传输;同时兼顾适度灵活的可重用性、可配置性。

γOS还必须解决传感器网络的两个突出问题:

1)由于网络传感器操作的并发密集性,因而必须保证众多不同数据流的并发即时传输;

2)系统必须提供高效的模块化管理策略,具体硬件设备和具体应用组件必须紧密地结合在一起,减小处理和存储开销。为此,γOS的设计重点主要集中在以下几个方面:低能耗的微型内核;微线程的系统架构;组件化的功能设计;支持传感通信的接口。

支持低能耗的微型内核

为了降低能耗,γOS设计了一种相对简单的内核机制,它由两部分组成:系统初始化代码以及一个微小的核心调度组件。系统初始化代码具有平台相关性;核心调度组件实现基于优先级的两级调度机制,它分别由两个调度队列组成:事件队列和任务队列。事件队列优先级高于任务队列的优先级,每个队列内部基于FIFO调度机制。

图1 γOS的内核调度示意图

此外,为了降低能耗,在借鉴TinyOS的能耗管理算法的基础之上,设计实现了能耗控制组件:动态电源管理DPM组件和动态电压调整DVS组件。

微线程的系统架构

图2 微线程的系统架构

如图2所示,γOS的通过组件来实现基于事件驱动模式的微线程系统架构,采用事件触发去唤醒相应的功能组件工作。每个功能组件可以由以下几个部分组成:事件处理函数 用以实现对底层硬件中断的处理,如MCU外部中断、定时器中断等,它可以向核心调度组件提交任务,但并不等待任务的执行。事件优先级高,可抢占任务执行,可以传递。它提供了一个简明的方法用于抽象软硬件之间的边界,使得支持硬件中断变得非常简单。

命令 

用以执行对底层组件的操作,是非阻塞的,且必须向调用者返回命令执行的结果(成功或失败)。

任务 

用于表示组件中计算相对集中的一组操作。任务不具有抢占性,任务与任务之间是原子化的,以先进先出的方式执行,即一个任务必须执行完之后才能执行下一个任务。但任务可以被事件处理函数抢占。

组件状态 

用以表示组件当前的工作状态,可以被自己的功能函数或其他组件所参考。

利用微线程的系统架构,γOS可有效降低上下文切换代价;同时,通过引入原子语句来处理任务和事件,甚至事件和事件之间的并发操作,实现微线程异步通讯机制,有效地避免阻塞、轮询和数据资源竞争。

组件化的功能设计

在特定应用场合下,需要大量的不同种类的传感器协同合作来完成特定应用事件,因而传感器上运行的软件系统具备相对较好的灵活性和可配置性。

为此,γOS提供了对组件化的功能设计方式的支持。γOS可分解为一个核心调度组件和若干功能组件。现有的功能组件主要包括:能耗控制组件如动态电源管理 DPM组件和动态电压调整DVS组件,AntIP协议(支持微型嵌入式TCP/IP协议)组件,USB驱动组件,网卡驱动组件和XML分析器组件等。

根据不同应用配置不同的功能组件,以实现特定的目标。γOS支持静态配置和动态加载两种方式。静态配置组件最少可只包括一个核心调度组件,而其他的功能组件可根据相应的应用需求选择预先静态配置方式或者动态加载方式。

图3 γOS组件示意图

支持传感通信的接口

γOS通过AntIP组件实现对传感器通信的接口支持,主要有支持传感器节点间的对等(Peer-To-Peer)通信和组播通信模式,支持传感器节点与PC间的对等通信模式和支持基于事件的异步通信处理模式。

AntIP是一个适用于8/16位机的微型嵌入式TCP/IP协议栈,它尽管去掉了许多全功能协议栈中不常用的功能,但仍然保留了网络通信所必要的协议机制,支持ARP,IP,ICMP,TCP,UDP等协议,并且提供了简易的应用层接口和设备驱动层接口。AntIP的设计借鉴了uip的设计思想。

典型应用

图4 硬件平台示意图

γOS是以网络传感器应用为目标的,它可以运行在多种目标传感器上。我们采用γOS机制,针对图像数据采集方面的应用,设计了一套较典型的网络图像传感器系统。该系统主要由主控模块、存储模块、USBhost模块、以太网模块、摄像头模块和串口模块(预留接口)组成,采用的芯片分别为Philips公司的 P89C60X2(80C51芯片)、USB控制芯片SL811HS、RAM芯片62256和NIC芯片RTL8019AS。

平台部分初始化代码(AntC语言)如下:

useSL811HS
useCamera
useRTL8019
classPlatform
{
publicstaticintInit()
{
RTL8019.Init();
if(SL811HS.UsbInit()==FALSE)
return-1;
if(Camera.CameraInit()==FALSE)
return-1;
if(Camera.CameraStart()==FALSE)
return-1;
AntIP.Init();
return1;
}
publicstaticvoidStart()
{
postAntIP.Run;
}
publicstaticvoidmain()
{
Init();
Start();
}
}

该部分代码做了网卡模块、USB模块以及摄像头模块的初始化工作。

结语

采用γOS的网络图像传感器的各模块的代码量及所需数据空间大小如表1所示。从该表中可看出γOS的核心代码量基本接近TinyOS的核心代码量。

表1 模块代码量与所需数据空间

在这篇文章中,我们简要阐述了网络传感器在普适计算环境下的应用特点,介绍了一个以网络传感器为应用目标的嵌入式操作系统γOS的设计和几个特点,并建立了一个典型应用平台,最后简要给出了γOS在该平台上的性能。

关键字:编程  传输  接口  架构 引用地址:支持网络传感器的嵌入式操作系统设计

上一篇:AD7888与S3C2410的SPI接口及Linux下嵌入式驱动的实现
下一篇:一种改进型UML在嵌入式系统中的应用

推荐阅读最新更新时间:2024-05-13 21:01

PIC单片机人机接口模块元器件选择说明
PIC单片机人机接口模块元器件选择说明:  (1)芯片引脚。   12~20根为PIC16C5X的双向可独立编程I/O口,每根I/O口都可由程序来编程决定其输入/输出方向。PIC16C5X有5种型号,如表1所示   表一 PIC16C5X管脚   PIC16C5X管脚图如图1所示   图1 PIC16C5X管脚图   各引脚的功能描述如表2所示   表2 各引脚的功能   (2)内部结构。   PIC16CSX在一个芯片上生成了一个8位算术逻辑单元ALU和工作寄存器W;384bit~2KB的12位程序存储器ROM;32~80个8行数据寄存器RAM;12~20个I/O口端:8位计数器及预分频器;时钟、
[工业控制]
PIC单片机人机<font color='red'>接口</font>模块元器件选择说明
飞思卡尔为低端32位嵌入式系统推出10 款新ColdFire
高度集成的MCU提供免费开发工具支持,实现经济、高效的连接和超低功率应用 德州奥斯汀—2007年9月17日 ——为了解决嵌入世界的灵活连接和能源效率需求,飞思卡尔半导体又在其广泛的32位ColdFire系列产品基础上新增了10款高度集成的微控制器(MCU)。这些新增的 ColdFire MCU产品为开发人员提供诸多经济、高效和低功率的连接选项,同时还提供完善的软件工具。 扩展后的ColdFire MCU产品线包括MCF5223x 以太网MCU、 MCF5221x USB MCU和MCF51QE超低功率MCU系列新增产品。这些产品系列主要针对以下应用:安全控制面板、条形码扫描仪、医用泵/监控器、环境监控和远程数据收集。 这些
[新品]
基于LabVIEW平台和GPIB接口的测试系统开发及应用
    摘要: 介绍基于LabVIEW平台和GPIB接口的实用测试系统的组成、仪器控制方式及系统特点。     关键词: GPIB接口 仪器控制 VISA标准 测试系统     计算机技术和大规模集成电路技术的发展,促进了数字化仪器、智能化仪器的快速发展。与此同时,工程上也越来越希望将常用仪器设备与计算机连接起来组成一个由计算机控制的智能系统。而工程中常用仪器设备种类繁多、功能各异、独立性强,一个系统往往需要多台不同类型的仪器协同工作,应用一般串、并行接口难以满足要求。为此,人们从60年代就开始着手研究能够将一系列仪器设备和计算机连成整体的接口系统。GPIB(General Purpose Interface
[测试测量]
MCU内核架构发展历史及主流内核IP的发展情况
网报道(文/程文智、李宁远)目前,已经渗透到我们生活的各个领域,几乎很难找到有哪个领域没有MCU的踪迹。不论是家用电器、仪器仪表、智能手机、平板电脑、键盘鼠标、仪器仪表、或者是金融系统、医疗设备、通信、汽车、航空航天等领域都有MCU的身影。 这一点从MCU的出货量上也可以明显看出来,据IC Insights统计,全球MCU产品出货量从2015年的221亿颗,增长至2020年的361亿颗,2021年甚至可达到395亿颗。市场规模也在这两年的缺货涨价的行情中快速增长,2020年的市场规模为197亿美元,2021年增长了11%达到了215亿美元,预计今年还会继续增长。 国内MCU市场经过三十多年的发展,不论是市场,还是产品技术也都得到了很
[机器人]
s3c2440裸机-电阻触摸屏编程(4.isr设计_4.2支持长按和滑动)
1.改进定时器 五. irq之定时器中断这记一节中,是在handle_irq_c()中去区分中断源,执行不同的isr。那现在通过register_timer注册对应的定时器中断服务程序,timer_irq进行执行不同的定时器中断服务程序。 #define TIMER_NUM 32 #define NULL ((void *)0) typedef void(*timer_func)(void); typedef struct timer_desc {   char *name;   timer_func fp; }timer_desc, *p_timer_desc; timer_desc timer_array ; in
[单片机]
基于LABVIEW的USB接口多路高速数据采集系统的设计
引言   在日常的测试测量中,经常使用数据采集卡采集数据。但是很多数据采集卡往往通过PCI总线完成数据的传输,它有诸多弊端,例如操作不便,受限于计算机插槽数量和中断资源,现场信号对计算机安全有威胁,计算机内部的强电磁干扰对被测信号也会造成很大的影响,最耗时最复杂的数据分析却由用户通过第三方软件(如VC,VB等) 在PC机上编写上位机软件来完成,因此用户不得不在这方面花费大量精力。这些问题都遏制了基于PCI总线的数据采集系统的进一步开发和应用,因此迫切需要设计一种更为简便通用的高速数据采集通信系统来完成数据采集以及与计算机的数据交互。   近年来通用串行总线(USB)以即插即用等技术优势得到了广泛的应用,INTEL等公司最近公
[测试测量]
基于LABVIEW的USB<font color='red'>接口</font>多路高速数据采集系统的设计
SHARC DSP与SJA1000的CAN总线接口设计
本文讨论了DSP与CAN控制器SJA1000的总线接口的差别,提出了SJA1000和SHARC系列DSP接口设计的简单方法和通用方法。测试表明,这种方法的稳定性好,传输效率高。 关键词 : SHARC DSP; SJA1000; CAN现场总线 引言      当前,有一些微处理器将CAN控制器嵌入到系统之中,但是仍有大量人们比较熟悉的微处理器并不带有CAN控制器。采用微处理器和CAN控制器组合的设计成为必要,而且,CAN控制器具有完成CAN总线通信协议所要求的全部必要功能,因此,CAN控制器与其它微处理器的接口设计成为设计CAN总线系统的首要工作。本文重点介绍以SHARC DSP为核心的、基于SJA1000的CAN总线接口设计
[嵌入式]
PC机打印口与便携式数据采集系统接口设计DesignofInterfaceBetweenLPTandPortableDataAcquisitionSystem
    摘要:介绍了 PC 机打印口与外设的接口设计方法,巧妙地解决了打印口对大容量存储器的数据读取问题,并利用双端口 RAM 在板存储技术,设计了基于 PC 机打印口的便携式数据采集系统。文章阐述了系统的硬件设计及其软件实现方法。     关键词:并行打印口;数据采集;双端口 RAM ;接口     1. 引言     数据采集系统在工业测控以及试验室研究方面的应用非常广泛,随着科学技术的发展,数据采集技术被普遍认为是现代科学研究和技术发展的一个重要方面。数据采集系统正向着高精度、高速度、稳定可靠和集成化的方向发展。由于计算机技术的高速发展,基于个人计算机控制的数据采集系统在很多场
[应用]
小广播
最新应用文章

About Us 关于我们 客户服务 联系方式 器件索引 网站地图 最新更新 手机版

站点相关: 安防电子 医疗电子 工业控制

词云: 1 2 3 4 5 6 7 8 9 10

北京市海淀区中关村大街18号B座15层1530室 电话:(010)82350740 邮编:100190

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