- 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操作系统I-O控制
基于TinyOS操作系统I/O控制摘 要: 无线传感器网络中的Sink节点是数据汇聚的中心,它与数据采集终端通过一个串行接口连接。为了实现Sink节点与数据采集终端的通信,利用CC2430芯片的数据传输原理,用nesC语言编写了一个TinyOS系统下的I/O控制程序,并给出在CC2340芯片上实现的结果,可用来控制对Sink节点的输入和输出。对该程序进行一定的扩展和改进便可以实现对Sink节点与节点通信和数据传输的控制。
关键词: TinyOS; nesC语言; 无线传感器网; I/O接口
中图分类号: TN711?34; TP393 文献标识码: A 文章编号: 1004?373X(2013)09?0016?03
0 引 言
无线传感器网由大量传感器节点组成,传感器节点负责对某区域内的某些特定数据进行采集,并将监测数据通过某一路径传输给汇聚节点(Sink节点)。Sink节点再将数据经由互联网或卫星传输给用户。整个无线传感器网络结构中,Sink节点是数据汇聚的中心,它负责将监测数据传输给数据采集终端,数据采集终端可以是一个采集设备或一个采集软件。Sink节点与数据采集终端之间的I/O问题成为数据传输的关键所在。
本文介绍了一个TinyOS系统下的I/O控制程序,用来控制对Sink节点的输入和输出,并在CC2430芯片上实现了该程序。对该程序进行一定的扩展便可以实现对Sink节点与节点通信的控制。
1 测试平台的选择
1.1 TinyOS操作系统
TinyOS是美国加州大学伯克利分校专门针对无线传感器网络设计的开源操作系统,它是一个事件驱动的、基于组件的无线传感器网络操作系统。TinyOS系统、库及应用程序都是用nesC语言写的,这是一种新的用于编写结构化的基于组件应用程序的语言。目前已经成为WSN研究领域实施上的标准平台。
TinyOS全构件化、事件驱动、无内核和用户空间区分的设计原则满足了WSN的特殊需要。应用程序根据需要原配、修改和创建构件,使系统开销最小化。构件与构件之间通过Command和Event相联系,Command向下调用,Event向上调用。TinyOS没有线程概念,不存在阻塞,也无需维护进程的上下文,只用维护返回栈。操作的调用与完成是分离的过程。Command的调用从不阻塞,返回时采用Event方式。因此,TinyOS被称为“事件驱动”的操作系统。
1.2 nesC语言
nesC具有类似于C语言的语法,但支持TinyOS的并发模型,同时具有机构化机制、命名机制,能够与其他软组件链接在一起从而形成一个鲁棒的网络嵌入式系统。其主要目标是帮助应用程序设计者建立可易于组合成完整、并发式系统的组件,并能够在编译时执行广泛的检查。
nesC程序的基本单元是组件,在nesC语言的定义中,存在两种不同功能的组件:模块(Module)和配件(Configuration),一个组件包括定义和实现两部分。组件间的交互是通过组件的规范元素来实现的,包括接口实例、命令和时间等,可由组件提供(Provided),也可被组件使用(Used)。
接口是一系列声明的有名函数集合,同时接口是连接不同组件的纽带。nesC中的接口是双向的,这种接口实际上是提供者组件和使用者组件间的一个多功能交互通道。一方面接口的提供者实现了接口的一组功能函数,称为命令(Commands);另一方面接口的使用者实现了接口的一组功能函数,称为事件(Events)。
模块是具体描述实现逻辑功能的组件,主要包括命令、事件、任务等的具体实现。必须实现模块提供接口声明的全部命令和模块使用接口声明的所有事件。
配件是具体描述组件间连接关系的组件,不同组件接口之间的关系是专门通过配件描述其实现过程。
2 CC2430芯片I/O原理
CC2430两个串行通信接口USARTx(这里的x是USART的编号,其数值为0或者1)能够运行于异步UART模式或者是同步SPI模式。UART模式提供异步串行接口,全双工传送。当UxCSR.MODE设置为1时,就选择了UART模式,UART操作由USART控制寄存器UxUCR以及状态寄存器UxCSR来控制,UxBAUD用于设置速率。
2.1 UART发送
当收/发数据缓冲器UxBUF写入数据时,该字节数据会发送到输出引脚TXDx。字节传送过程中UxCSR.ACTIVE位保持为1。UxCSR.TX_BYTE位自动设为1表示数据传送结束。收/发数据缓冲寄存器准备接收新的发送数据时,就产生一个中断请求。该中断在传送开始之后立刻发生,使得字节正在发送时,新的字节能够装入数据缓冲器。
2.2 UART接收
设置UxCSR.RE位为1使能
您可能关注的文档
最近下载
- NB∕T 47010-2017 承压设备用不锈钢和耐热钢锻件(高清版).pdf VIP
- 车辆风险预警方法、路侧控制单元及风险预警控制系统.pdf VIP
- 2025年版《中文核心期刊要目总览》.docx VIP
- 密码学基础-密码学.ppt VIP
- 中国国家标准 GB/T 4706.1-2024家用和类似用途电器的安全 第1部分:通用要求.pdf
- 灯具安装技术交底1.docx VIP
- 乙烯三机:发展与未来.pptx VIP
- NB/T 47008-2017 承压设备用碳素钢和合金钢锻件.pdf VIP
- 密钥管理与密钥分配现代密码学.ppt VIP
- 初中信息技术校本课程《遨游3D世界,利用三维设计软件制作创意作品》教案.doc VIP
文档评论(0)