IPv6无线传感器网络节点电子科技大学汪文勇项目背景国家项目支持•中国下一代互联网示范工程CNGI2005年研究开发、产业化及应用试验项目•信息产业部2006年“电子信息产业发展基金”项目目标总体指标•研究WSN节点的系统组成结构、网络协议、数据汇聚等关键技术。•提供不少于30个无线传感器网络节点,完成在CNGI上的试验和应用。•推动WSN技术产业化。核心处理器•CPU字长:8bit•CPU工作时钟:4MHz•片内RAM:4KBytes;片内ROM:128K×13bits•芯片低功耗:工作模式峰值≤10mW,休眠模式峰值≤2mW节点节点支持IPv6协议功耗:发送模式峰值≤50mW,接收模式峰值≤25mW,休眠模式峰值≤15mW工作内容研究实现WSN节点的6个关键技术构件:•自主知识产权的节点数据获取单元接口•自主知识产权的核心处理器芯片•自主知识产权的嵌入式操作系统•无线通信物理层和数据链路层•组网路由技术•数据处理技术网络体系结构无线传感器网络节点以自组织形式构成多跳中继的分级结构网络CERNET2监视区域节点簇cluster簇首节点clusterhead节点Node监控中心CC网关节点G802.15.4EthernetSink节点节点功能结构节点结构•电源•数据获取单元DAU•数据处理单元DPU•数据发送和接收单元DSRU电源处理器单元存储器应用数据处理单元DPU传感器A/D转换数据获取单元DAU网络MAC无线发射接收数据传输单元DSRU数据获取单元接口ADC器件•8位SAR(逐次比较)型•采样速率最高可达2MSPS•模拟电压输入:0~2.7V•多路输入切换开关TaraxCore:自主设计与实现0.18umCMOS工艺,由中芯国际流片性能指标•字长:8bits•RAM:4KBytes•ROM:128K×13bits•功耗:•工作模式峰值≤10mW•休眠模式峰值≤2mW•工作频率:4MHz•工作电压:2.0V~3.6V•端口:56个双向三态I/O端口,支持唤醒休眠和触发中断功能•堆栈:64级堆栈,可支持64级调用•时钟:独立时钟源的Watchdog计数器,可用于系统复位和休眠唤醒•定时:8位带预分频器的定时计数单元TCC,可以触发中断核心处理器芯片TaraxCoreTaraxCore内部结构框图TaraxCore裸片和封装片NCNCNCTIPNCCWGSCWINEGIN1EGIN2NCP60P61P62P63P64P65P66P67PD0PD1PD2/URPD3/UTPD4/SCKPD5/SDOPD6/SDI1234567891011121314151617181920212223242575747372717069686766656463626160595857565554535251EXD1EXD0P80P81P82P83P84P85P86P87P90P91P92P93P94P95P96P97PB0PB1PB2PB3PB4PB5PB626272829303132333435363738394041424344454647484950PD7/DAOUTVDDXINXOUT/RESETP70/INT0P71/INT1P72/INT2P73/INT3P74/INT4P75/INT5P76/INT6P77/INT7EXSELGNDTESTPC7PC6PC5PC4/A0PC3/RDPC2/WRPC1/CS1PC0/CS2PB7767778798081828384858687888990919293949596979899100101102103104105EXD2EXD3EXD4EXD5EXD6EXD7RDWRCSEXA0EXA1EXA2EXA3EXA4EXA5EXA6EXA7EXA8EXA9EXA10EXA11EXA12EXA13EXA14EXA15EXA16EXA17EXA18EXA19EXA20105pinsQFPTaraxNode现状节点现状嵌入式操作系统TaraxOS•高度模块化:由一系列组件模型组成•灵活重用性:应用程序通过连接配置文件,实现可重用组件连接•基于事件驱动:实现节点工作状态的切换•调度方式:FIFO调度、优先级调度•提供类C结构化语言编译器•内核代码量小于10KByte无线通信模块•采用IEEE802.15.4标准。•载波频率2.4GHz。•实际测试,无线通信模块的最大通信距离为125m,最大数据传输速率250Kbps。组网路由技术路由协议:改进的AODV•自组织:支持网络拓扑动态变化•负载均衡:支持多sink点间的负载均衡•单向链路识别:选路时自动避免选择单向链路•算法效率高:计算量小,内存空间占用小•广播控制:一跳范围内广播,无需全网广播组网路由技术路由总体上分成两部分:•上行路径:从信息采样节点到信息汇聚节点sink•下行路径:从信息汇聚节点sink到信息采样节点32其它网络4785916信息汇聚节点下行路径上行路径信息采集节点信息采集节点信息采集节点信息采集节点上行路径的建立12345有线网/骨干网1.Sink节点向周围广播入网信息2.一跳邻居范围内的节点建立到sink节点的路径Sink节点采样节点3.一跳邻居节点广播入网信息4.二跳邻居节点建立到sink节点的路径5.按照这样的规则,各点依次入网6.如果出现多sink节点的情况,节点将就近接入自己临近的sink点,自动形成负载均衡下行路径的建立1234节点下一跳213243每个节点在向sink节点发送数据的时候,都把自己的下一跳节点告诉sink节点,这样,sink节点就能形成一个网络的路径表。sink节点记录的路径表形成路径表以后,sink节点就能计算到下行节点的路径。需要发送下行帧的时候,sink节点确定帧的整个路径,采用源路由的方式进行发送。组网与路由技术组网与路由技术跨层能量成簇算法CLEECCross-LayerEnergyEfficientClustering(CLEEC)algorithm节点根据跨层最优估计来确定节点簇首当选概率,并从理论上计算此概率值采用分布式算法成簇,节点自主决定当选簇首的概率,不需集中控制。这种分布式算法非常适用于无线传感器网络。算法目标就是尽力将能量消耗均摊在各个传感器之间,减少能量消耗过快而过早死亡的节点,从而延长网络生命周期。CLEEC场景该算法场景:传感器节点异构,初始能量不同。簇首节点比非簇首节点含有更多的能量。既每一个节点有不同的概率成为簇首,保证整个网络中所有的节点几乎同时死亡。CLEEC算法在每轮最开始时,每一个传感器节点以概率Pi选取自己为簇首CH。节点i以Pi的概率被选为CH节点,非CH节点概率则为1-Pi作为CH簇首节点i在一轮传输中使用的能量作为非CH节点i在一次传输中使用的能量iCHEinonCHE节点i在每轮中消耗的平均能量0(1)iiiiCHinonCHEPEPER0iER节点的初始能量网络生命周期一共的轮数CLEEC算法令ECH表示每轮中簇首消耗的平均能量,Enon-CH表示每轮非簇首节点的平均能量消耗,通过计算上式的数学期望值,我们得:0(1)iiCHinonCHEPEPER0()iiCHnonCHnonCHEPEEER0()inonCHiCHnonCHEERPEE0()inonCHiCHnonCHEERPEECLEEC网络消耗能量由上式我们可以看到,拥有高初始能量的传感器节点具有更高成为簇首的概率,这就使得拥有高能量的节点消耗更多的能量来保证网络中所有的节点几乎同时死亡。整个网络每轮消耗的能量可计算为:4242((1))((2)())(2)roundCHnonCHelecDAmptoBSfstoCHelecDAmptoBSfstoCHNEkEEklNkENEkdNkdlNENEkdNdCLEEC算法仿真实验结果1100012501500175020002250250027503000020406080100NumberofnodesaliveTime(Round)LEACHDCHSDEECCLEEC网络运行时期节点存活的数目(N=100)CLEEC算法仿真实验结果21001502002503003504001800200022002400260028003000RounduntilfinalnodediesNumberofnodesLEACHDCHSDEECCLEEC不同网络规模中,最后一个节点死亡时网络运行的时间CLEEC算法结论仿真证明,CLEEC算法在延长网络生命期方面比当前重要的分簇算法表现更优。基于电池模型的低能耗任务调度算法基于电池模型的低能耗任务调度算法采用电池供电的大量节点一旦投入使用就很难再更换电池其目的是通过改善操作系统的任务调度机制来实现节能定义超周期(super-period),为给定任务集里所有任务周期的最小公倍数。一个超周期由多个帧(frame)组成,每帧取值为最小的任务周期值,任务调度间隔为一帧。基于电池模型的低能耗任务调度算法部件操作模式近似电流TARAXCORE工作3mA睡眠10AADC采样8mA关闭2.5ACC2420发送18mA接收20mA关闭0mA湿度传感器工作40mA关闭0mA温度传感器工作10mA关闭0mA工作模式-近似电流值任务相关资源与模式近似电流(mA)TARAXCOREADCCC2420湿度传感器温度传感器计算工作关闭关闭关闭关闭3发送工作关闭发送关闭关闭21接收工作关闭接收关闭关闭23湿度睡眠工作关闭工作关闭48温度睡眠工作关闭关闭工作18空闲睡眠关闭关闭关闭关闭0任务-放电电流分析基于电池模型的低能耗任务调度算法高级电池模型电池的电荷总容量(单位为库仑)与电池的扩散率相关,描述电池非线性特性表示时变电流,L表示电池寿命。m为影响因子。deidimLmLL100(2)(2)(2)(i(1)基于电池模型的低能耗任务调度算法代价函数定义执行时间为T的任务所消耗能量的代价函数电池寿命最大化与任务能耗最小化为等价命题101),,,(NkkkkttTFI)(i表示完成任务所消耗的电荷能量,采取分段取常数的方法近似代替。Q表示电池的剩余能量(2)低能耗任务调度算法分析每帧任务按任务到达时刻排序每帧任务按放电电流递增排列每帧按任务放电流非递增排列2003004005006000电流(mA)50205100超周期=600ms2003004005006000超周期=600ms电流(mA)502051001002003004005000超周期=600ms电流(mA)50205任务调度方法一个超周期消耗电荷(库伦)杂序28.5217升序29.0339非升序28.0749由公式(2)算出三种调度方法在一个超周期内所消耗的电荷对于周期任务集,在帧内按照任务放电电流非升序排列进行调度,可降低任务消耗的能量,延长电池寿命。低能耗任务调度算法结论帧/最小周期(比值)IIIIII一个超周期消耗电荷(库伦)128.0749228.17351.2412e+003220.3501141.8187763.4793319.2398126.2109647.2104610.33569.08504.1831不同周期任务集的调度结果由于电池的非线性特性:•对于同一任务集,帧的取值越大能量消耗越小。•当帧等于超周期时,周期越大能耗反而越小。•此外周期越大能量消耗越大。节点监控界面监控中心界面节点监控界面监控中心界面典型应用-节能环保无线传感器网络用于中央空调监控系统典型应用-空间探测对星球表面大范围的、长时期、近距离的监测和探索下一步计划TaraxCore核心处理器:•集成ADC和部分MAC协议,实现核心处理器的SoC化。•增加RAM和ROM容量,并增强内存管理模块功能•针对WSN定义专用加速指令集•实现