- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
Tinyos系统
动态扩展路由协议是在tinyos系统环境下进行开发的,该系统可以在linux系统和Cygwin环境下运行,编译出的代码可以直接在Atmel公司的Atmega128L微处理器上运行。
3.1.1 Tinyos系统简介[1] [4]
Tinyos系统是加州大学伯克利分校的研究人员经过比较、分析与实践,针对传感器网络的特点设计出来的。目前已经拥有了很多嵌入式操作系统比如Ucos,VxWorks,Linux,WinCE等,这些系统中有基于微内核架构嵌入式操作系统如Ucos和VxWorks,也有基于单体内核架构的嵌入式操作系统如Linux等。但是,由于这些操作系统主要面向嵌入式领域相对复杂的应用,从而其功能也比较复杂,如它们可提供内存动态分配、虚存支持、实时性支持、文件系统支持等,系统代码尺寸相对较大,部分嵌入式系统还提供了对POSIX标准的支持。而传感器网络的硬件资源极为有限,上述操作系统目前很难在这样的硬件资源上正常运行,因此选择tinyos这一为传感器网络量身定做的嵌入式操作系统。
Tinyos是一个开源的针对无线传感器网络开发的嵌入式操作系统。目前它拥有包括tinyos-1.x系列从1.0版本到1.17版本,tinyos-2.x系列beta2.0版本总共有十八个版本。它拥有组件式的架构,使在其上的开发和实现比较方便快捷;同时使代码的尺寸最小化,适应无线传感器网络内存资源苛刻的要求。Tinyos组件的库函数包括网络协议的支持(新开发的路由协议也是以库文件的形式使用),分布式服务的支持,传感器驱动的支持,以及一些可以在收集数据时使用的应用工具。Tinyos拥有两级调度、轻量级线程技术、主动消息、事件驱动模型以及组件化编程等。轻量级线程和主动消息和并行计算中用于高性能通信的轻量级线程和主动消息差不多,在两级调度模式下,一般的轻量级线程(tinyos中的任务,task)按照先进先出(FIFO)方式进行调度,线程之间不允许抢占;而一些用于硬件处理的线程比如底层收发的线程用async关键字标识,这些线程可以抢占用户的任务——用户的轻量级线程和低优先级的中断处理线程。一些共享的资源比如一些用户定义的共享变量等需要互斥操作利用原子操作(atomic关键字标识)和同步原语(wait、sleep等函数调用)进行访问保护。主动消息是一种基于事件驱动的高性能并行通信方式,这种消息处理方式与tinyos的两级调度方式结合,使通信层传来的通信事件能够得到快速响应,有效的提高CPU的使用率。
Tinyos没有内核,没有内存管理,没有进程管理,也没有虚存支持,之所以这么设计是为了尽量减小代码尺寸,提高代码运行效率。它所支持的nesC(network embedded system C)编程语言是一种C扩展语言,编译过程是先通过ncc编译器编译成C语言格式,然后连接gcc编译器,编译成对应各种单片机的目标代码。由于本协议开发的目标节点是corssbow公司生产的MPR2400(micaz)节点和宁波中科开发的gains3节点,所以最终代码格式是.srec和.hex文件。
3.1.2Tinyos中的组件模型
Tinyos中的组件以功能实现划分,把某种功能封装起来以接口的形式提供调用。这样可以实现高效率的模块化,使组件型应用软件的构造变得简单易行。对于嵌入式来说,为了提高可靠性而又不牺牲性能,建立高效的组件模型是必需的。Tinyos系统采用的开发语言nesC是一种C语言的组件化扩展,组件之间以命令/事件接口的形式进行调用或提供服务。以tinyos中提供的ADC接口为例,它提供两个命令一个事件,实现ADC接口的组件提供ADC接口里命令的调用,而使用ADC接口的组件要实现这个接口中事件。简单的说就是你用了别的组件提供的数据收集命令,那么你就要实现因为数据收集好而触发的事件,这个事件一般是对收集好的数据进行一些处理然后发送或者存储。组件之间就是以这种命令/事件的形式相互关联。
interface ADC {
async command result_t getData();
async command result_t getContinuousData();
async event result_t dataReady(uint16_t data);
}
Tinyos中提供了各种功能的组件,以自上向下大的顺序可划分为应用组件、消息处理组件、消息包组件、字节切分组件和比特处理组件。根据软件和硬件以及软硬件的边界结构划分又可以对它划分为:硬件抽象组件、合成组件、高层次组件。一般应用程序的组件结构如图3-1所示。
Tinyos中组件之间以接口的形式相互关联,这样使组件之间的连接大大简化,提供很高的组件独立性。图3-1所示的是应用程序中组件之间的调用关系,其中向下的箭头表示命令
您可能关注的文档
最近下载
- designer在双质量飞轮曲轴系扭振分析中的应用_江淮汽车等.pdf VIP
- 腹腔感染的治疗(共49张PPT).pptx
- 2025年心理健康蓝皮书:中国国民心理健康发展报告.pdf VIP
- 120个文言文常考实词及记忆口诀.docx VIP
- 2024国家医保谈判药品落地现状和地方实践经验研究报告.pdf VIP
- 2024年统编版七年级道德与法制上册全册(大单元教学设计)汇编(含四个大单元).docx VIP
- 项目七:凉拌蔬菜(课件)五年级上册劳动人教版 .pptx
- 车务系统防寒安全知识.docx VIP
- 日本语能力考试N2文法课件8.(基准类语法)~を基準にして.pptx VIP
- 《智能变电站工程应用技术》全套教学课件.pptx
原创力文档


文档评论(0)