您当前的位置:首页>论文资料>TinyOS在CC2530下的移植研究

TinyOS在CC2530下的移植研究

资料类别:论文资料

文档格式:PDF电子版

文件大小:2.15 MB

资料语言:中文

更新时间:2024-11-30 09:06:51



推荐标签:

内容简介

TinyOS在CC2530下的移植研究 应用研究
TinyOS在CC2530下的移植研究
张明华
(菏泽学院物理与电子工程系山东菏泽274015)
数事执开与或用
摘要:TinyOS是由加州大学伯克利分校专门为无线传感器网络制定研发的嵌入操作系统,它采用组件式分甚体系结构,可以快速地实现各种应用,但它不能支持无线传感网络芯片CC2530。本文通过对TinyOS在CC2530下移植的研究和分析,完成组件在CC2530上的移植。
关键词:TinyOS CC2530平台移植中图分类号:TP399
文献标识码:A
TyOS移植的实现直接与硬件抽象层封装有关,硬件抽象层组件完成物理硬件TinyOS组件模型的映射。硬件抽象层已经明确表示每一层的功能,每层依赖于下层提供的接口,越往上依赖硬件越小。对TinyOS进一步抽象,每一层的组件可以实现不同级别的物理硬件封装和屏蔽,不同硬件平台的实现和上层组件隔离组件在不同层执行特定的功能,加强TinyOS的可移植性,TinyOS移植你只需
要修改,设计相应的组件。 1组件移植
1.1定时器组件移植
定时器组件是一个用于产生一毫秒为单位的计时器。定时器接口是用来触发事件。用nesC语言实现的各层列表中定义的接口、组件的代码和timer.h文件存储在/opt/tinyos-2.x/tos/chips/ CC2530下的timer目录下。
1.2模数转换组件移植
模数转换主要用于模拟信号向数字信号的转换,其AdcControl 接口是用来控制组件的开始和关闭。read接口用来读取模数转换结果,用nesC语言实现的各层接口,组件代码和Adc.h文件存储在/ opt/tinyos2.x/tos/chips/CC253下的adc目录下,
1.3射频组件移植
射频组件为TinyOS提供Packet,Receive,AMSend和 SpiltControl接口。Packet用于数据包的管理,Receive用于数据包的接收,AMSend用于发送数据包,SpiltControl用来控制天线的状态负责打开和关闭天线。用nesC语言实现的各层接口和组件的代码和 Radio.h文件存储在/opt/tinyos-2.x/tos/chips/CC2530下的 radio目录下。
1.4串口组件移植
申口组件用于实现申口收发功能。用nesC语言实现的各层的接口和组件文件存储在/opt/tinyos-2.x/tos/chips5/CC2530下的 uart目录下。
1.5输入输出接口组件移植
输入输出接口能提供两类系统接口GenerallO和Init。该组件有 GenerallO口的配置功能,端口可以配置成输入或输出,允许置位和重置,GeneralIO日的配置功能通过HplCC2530GeneralIOC组件实现,其中包括ioCC2530.h文件和io8051.h文件。用nesC语言实现各层的接口和组件文件存储在/opt/tinyos-2.x/tos/chips/CC2530 目录下的pins目录下。
1.6Flash组件移植
Flash组件通过SimpleFlash接口实现读,写和删除操作。用 nesC语言实现的各层的接口和组件文件存储在/opt/tinyos-2.x/ 收移日期:2015-0716
基金项目:菏泽学院科学研究基金(XY14B003)
文章编号:1007-9416(2015)08-0136-01
tos/chips/CC2530下的flash目录下, 2移植测试
以模数转换组件测试为例介绍其它组件的测试环境、测试程序,测试过程,并分析了测试结果。
测试过程使用两个CC2530节点,命名为节点1和节点2,节点1 独立放置,节点2通过串口与PC机连接。节点1的测试程序是Adc.h 和AdcControl.nc,定义与ADC控制相关的宏和常量,与PC机相连节点2的测试程序是AdcP.nc和AdcC.nc,实现ADC接口得模块文件和封装AdcP模块以对外提供ADC的控制。部分代码如下所示。
interface AdcControl
command void enable(uint8_t reference, uint8_t resolution, uint8_t input),
command void disableO,
generic configuration AdcCO provides interface AdcControl,
provides interface Read; implementation
components MainC, AdcP;
MainC.Softwarelnit > AdcP.Init,
enum ID = unique("UNIQUE_ADC_PORT'), 1,
AdcControl = AdcP,AdcControl[ID]; Read = AdcP,Read[ID];
程序目录建立,ADC驱动设计,编写ADC测试程序、将ADC驱动移动到平台的驱动目录中、将驱动目录位置加人到"platform"文件中、重新编译应用程序,测试ADC驱动。
连接好硬件设备,在打开Cygwin后,进人"opt/mytions/ apps/Adtest/"目录,在命令行上运行"makeCC2530 install"命令执行结果如下所示。
$
0050:Erasing entire flash... o050:Programming flash.....
0050: Verifying flash(bytewise check).. -
..·下转第138页
作者简介:张明华(1985一),男,山东薄泽人,助教,项士,研究方向:智能检测与控制仅表,现场总线技术
9 136
上一章:WiFi模块控制WiFi控制卡显示的设计 下一章:Smart Client在计划生育管理系统中的应用

相关文章

ZigBee技术与实训教程:基于CC2530的无线传感网技术 园林施工在大树移植策略研究 在投影之外:文化视野下的建筑图学研究 在投影之外:文化视野下的建筑图学研究 混凝土在超低温环境下的力学特性研究 井壁混凝土在早期荷载作用下的损伤劣化研究 离心式压缩机在阻塞状态下的运行研究 在投影之外:文化视野下的建筑图学研究 [吴葱] 2004年版