应用于无线传感器网络的低功耗微处理器设计
2009-02-02
作者:徐勇军 徐朝农 吕涛 李晓维
1 无线传感器网络研究进程
无线传感器网络(Wireless Sensor Networks)是由大量节点组成的面向任务的分布式网络,综合了传感器、嵌入式计算、现代网络及无线通信、分布式信息处理等多领域技术,通过各类微型传感器对信息目标进行实时监测,由嵌入式微处理器对信息进行加工处理,并通过无线通信网络将信息传送至远程用户。在国防安全、工农业领域各种控制、城市管理、生物医疗、环境监测、抢险救灾、防恐反恐、危险区域远程控制等许多领域都有重要的科研价值和实用价值,具有十分广阔的应用前景。
无线传感器网络作为信息领域的一个全新的方向,已经引起了学术界和工业界的广泛关注[i]。国外的许多大学和研究机构纷纷投入了大量的研发力量从事无线传感器网络软硬件系统的研究工作,最具代表性的是美国加州大学伯克利分校(UC/Berkeley)和英特尔公司(Intel)联合成立的“智能尘埃(Smart Dust)”实验室[ii],它的目标是为美国军方提供能够在一立方毫米的体积内自治地完成感知和通信功能的设备原型系统(Autonomous sensing and communication in a cubic millimeter),也就是无线传感器网络节点的研制。这项工作从1998年开始到2001年结束,受到了美国国防预先研究计划局(DARPA:The Defense Advanced Research Projects Agency)的支持。在随后的几年里,加州大学伯克利分校有多个实验室开始了关于无线传感器网络及其相关的工作,如:NEST(Network Embedded Systems Technology)[iii]、WEBS(Wireless Embeded system)[iv]、BARWAN (Bay Area Research Wireless Access Network)[v]、BWRC(Berkeley Wireless Research Center)[vi]等实验室,从不同的角度对无线传感器网络进行了大量具有开创性的研究。
美国很多大学在无线传感器网络方面开展了大量工作。如加州大学洛杉矶分校(UCLA)的CENS(Center for Embedded Networked Sensing)实验室[vii]、WINS(Wireless Integrated Network Sensors)实验室[viii]、NESL(Networked and Embedded Systems Laboratory)实验室[ix]、LECS(Laboratory for Embedded Collaborative Systems)实验室[x]、IRL(Internet Research Lab)[xi]等。另外,麻省理工学院(MIT)获得了ARPA的支持,从事着极低功耗的无线传感器网络方面的研究,被业界广泛关注的SPIN(Sensor Protocols for Information via Negotiation)协议也是出自MIT[xii,xiii];奥本大学(Auburn University)也获得DARPA支持,从事了大量关于自组织传感器网络方面的研究,并完成了一些实验系统的研制[xiv]; 宾汉顿大学(Binghamton University)计算机系统研究实验室在移动自组织网络协议、传感器网络系统的应用层设计等方面做了很多研究工作[xv];州立克利夫兰大学(俄亥俄州)(Cleveland State University, Ohio –CSU Ohio)的移动计算实验室在基于IP的移动网络和自组织网络方面结合无线传感器网络技术进行了研究[xvi]。另外,北亚利桑那大学(Northern Arizona University)的无线网络研究实验室(Wireless Network Research Lab, WNRL)[xvii]、莱斯大学(Rice University)
多媒体通信实验室的无线个人局域网工作组[xviii];斯坦福(Stanford)大学的无线传感器网络实验室[xix]、新泽西(New Jersey)州立大学的无线传感器网络实验室[xx]、伊利诺伊大学厄本那-香槟分校(UIUC)的TIMELY实验室[xxi]、南加州大学的RESL(The Robotic Embedded Systems Laboratory)实验室[xxii]、佛蒙特大学(University of Vermont)的无线自组织网络实验室[xxiii]、西密西根大学(Western Michigan University)的无线传感器网络实验室[xxiv]。此外新加坡国立大学(NUS)的无线传感器网络实验室[xxv]等也有关于无线传感器网络方面的研究。
国内在无线传感器网络领域的研究也已经在很多研究所和高校展开。中科院上海微系统所[xxvi]凭借其在微系统和微型机电系统(MEMS1)技术方面良好的基础,自从1998年就对无线传感器网络进行了跟踪和研究,已经通过系统集成的方式完成了一些终端节点和基站的研发。他们的很多工作都是与CDMA2和GPS3技术相关,从某种程度上说已经超越了无线传感器网络技术;中科院电子所和沈阳自动化所也分别从传感器技术和控制技术角度入手开展工作,他们专注于传感或控制执行部分,对上层的通信技术和核心微处理器部分涉及较少;浙江大学现代控制工程研究所成立了“无线传感器网络控制实验室”[xxvii],联合相关单位专门从事面向传感器网络的分布自治系统关键技术及协调控制理论方面的研究;山东省科学院[xxviii]于2004年10月正式启动了关于无线传感器网络节点操作系统的研究;另外中科院软件所、中科院自动化所、国防科技大学、清华大学、中国科学技术大学、哈尔滨工业大学、北京邮电大学、山东大学、东南大学等单位在无线传感器网络方面也都有一定的工作。从研究问题的深度和投入的科研力量来说,国内的水平相对国外落后,在点上的研究较多,缺少对整个系统的创新性研究,具有自主知识产权较少。
由于无线传感器网络的硬件系统主要包括传感器、处理和通信三个部分,跨越多个领域,而且国际上对无线传感网络领域的研究也只有短短的几年时间,现有的绝大部分研究和设计都是各领域的成熟模块的板级集成,并没有使用专用的处理芯片,在系统功耗、芯片面积、节点面积、处理能力、程序空间、数据空间等方面都受到了极大的限制。目前的工作有必要从无线传感网络应用的实际需求出发,开发出专用的核心片上系统芯片,并进一步集成传感器、射频通信、功耗管理及其他专用功能,从而满足无线传感网络的各种应用需求。中科院计算所的工作就是在此基础上展开的,目的是通过对以上各种无线传感器网络及节点的详尽研究,设计出具有自主知识产权的无线传感器网络微处理器芯片和节点,进一步组建无线传感器网络。
2 无线传感网络微处理器芯片
无线传感器网络的一个重要优势是摆脱了传统传感器网络的连线限制,解决了成本问题,通过传感器技术、计算技术和无线通信技术的融合,大大缩短了人和自然之间的距离。电源效率是无线传感网络节点设计考虑的关键因素。因为如果必须时常更换电池(例如每周或每月),那么相关的各种成本便会超过它相对有线网络节省的成本。因此,电池必须具有较长的寿命(通常1-5年)。此外,由于无线传感器网络的理念是“随时随地无线”和“随时随地感知”,减小节点尺寸也是必须考虑的设计要素。对传感器节点来说,很多时候即使采用AA电池也会超出体积要求,因此最好能选择纽扣式电池供电。但在特定的应用背景下,直接使用现有的芯片或者现在市场上已经存在的系统根本不能满足未来千变万化纷繁复杂的应用要求,因此我们有必要在具有自主知识产权的专用处理芯片的开发、软硬件系统的研制方面开展工作。
微处理器芯片是无线传感器网络节点的核心部件。世界开云棋牌官网在线客服贸易统计数据蓝皮书中的统计报告显示,2001年英特尔、AMD、IBM、Motorola等四家芯片巨头生产的通用处理器按片数销售量计算仅占处理器市场份额的6%,余下的94%,即50亿片芯片均为嵌入式微处理器 。统计数字表明,平均每个美国家庭拥有大约60片嵌入式处理器。目前,全世界嵌入式处理器的品种总量已经超过1000多种,流行体系结构有30多个系列,国内主要市场被国外产品占领。无线传感网络对嵌入式处理器提出了功耗、面积、专用接口等诸多新的需求,现有的微处理器芯片开始显得捉襟见肘,应用呼唤用于无线传感器网络的专用的微处理器芯片。因应这一形势,我们针对大部分嵌入式处理器的特点,面向无线传感网络的具体应用,开始研发具有极低功耗的微处理器芯片。
3 潜在市场分析
无线传感器网络存在着巨大的商业前景,也开始成为商家争相投资的对象,并且涌现出了很多专门从事无线传感器网络及相关产业的公司。其中首推Crossbow公司[xxix]和DUST公司[xxx],它们都是由加州大学伯克利分校技术发展而来。前者主要针对航空电子、交通运输、无人探测、环境监控、测控测量等具体应用承接定制相应无线传感器网络节点和应用方案;后者主要提供了可靠的、可管理的和易于安装的SmartMesh? [xxxi]传感器互联方案,该网络方案被Red Herring组织评为2004年度TOP100发明奖。Ember公司[xxxii]提供了与IEEE 802.15.4/ZigBee兼容的射频芯片及相应的软件和开发工具的服务。Luna iMonitoring公司[xxxiii]主要提供关于压力、液位、电量等无线智能监测技术及相应的硬件设备。MicroStrain公司[xxxiv]基于无线传感器网络技术提供了在航空航天、国防、汽车电子、城市工程、生物制造等方面的应用。其它类似的公司还有Millennial Net、Sensoria Corp.、Xsilogy等。另外,IBM、英特尔等公司也十分看好无线传感器网络这一新兴领域,并开始进行与之相关的理论研究和产品开发。这些公司基本上还是处于技术积累和产品研发阶段,暂时还没有公司能够真正进入市场并盈利。
嵌入式微处理器本身的市场也是巨大的。据Gartner Dataquest调查结果,2000年嵌入式微处理器芯片的市场规模为38亿美元。2001年,在全世界嵌入式系统带来的工业年产值已超过1万亿美元;我国的嵌入式微处理器芯片的市场需求量已达1-3亿片,近几年来,每年以大约20%的速度在飞速增长,远远超过了通用处理器市场,低功耗微处理器具有广阔的市场空间和应用前景。
4 低功耗微处理器设计
中科院计算所正致力于具有自主知识产权的低功耗嵌入式微处理器的研发工作,在基于事件队列的消息处理机制、面向无线传感器网络应用的硬件加密、软硬件协同的动态功耗管理机制、事件驱动的嵌入式实时操作系统、基于调用图的全局编译优化机制等方面取得了一定的进展。同时,在无线传感网络的软硬件系统中的关键技术方面进行了一定的研究与开发工作,已推出无线传感器网络节点原型系统。
4.1 低功耗微处理器结构图
无线传感器网络节点的硬件一般包括传感器﹑微处理器和无线收发器等三个功能部分,其中微处理器是核心处理部件,提供了整个系统的计算资源和存储资源。出于低功耗设计及无线传感器网络在硬件资源需求上的考虑,该处理器采用的是单发射顺序执行、标准五级流水、指令总线与数据总线分离的RISC4系统架构。如图1所示,指令总线的宽度均为16位。我们根据应用需要定制了8位和16位两种数据总线。系统总线左边为处理器部分,它包括算术逻辑单元、指令和数据存储器、32个通用寄存器、程序指针及堆栈指针等;在图的右边为SPI5、UART6、I2C7等通用接口,以满足和不同外设进行互联的需要;另外还有功耗管理协处理器、消息管理协处理器、TimerCounter、ADC8等功能模块。需要说明的是,图1仅仅给出了主要计算资源的框图,不包括功耗管理机制和硬件加密部分。
图1 低功耗微处理器主要计算资源
我们设计的低功耗微处理器包含了113条指令,其中绝大部分都是16位定长指令,也有部分为32位,主要为长跳转指令、函数调用指令和带有立即数的Load/Store指令。这些指令可以分为以下五种类型:第一、标准RISC指令,包括各种算术运算指令、逻辑运算指令、跳转指令等,是微处理器的主要计算资源;第二、加密专用指令,包括:随机数发生器、DES9、RSA10、AES11、指纹产生等,是无线传感器网络保密通信及系统安全的重要保证,也是本款芯片的特点所在;第三、睡眠模式设置指令,通过软硬件协同的方式来达到对系统功耗进行有效的管理;第四、与射频通信及传感数据采集相关的指令,特别是通信协议实现部分,很大程度上提高了通信性能,这些指令突出体现了微处理器作为核心部件的作用;第五、事件驱动专用指令,主要用于消息队列的设置与管理、动态功耗管理策略设置等。
低功耗技术贯穿于无线传感器网络节点软硬件设计的始终,不但体现在应用软件设计、通信协议、嵌入式操作系统及编译器中,更体现在我们硬件设计的各个层次中。我们所使用的低功耗设计技术包括:基于事件消息队列驱动的低功耗微处理器系统架构、采用通路平衡实现低功耗高速乘法器、指令集的低功耗编码、能量自适应组网模式、低功耗侦听技术(MAC12层)、动态功耗管理机制、芯片工作频率可通过软件设置等 。
4.2 硬件加密协处理器
保密通信和系统安全是无线传感器网络的重要内容,这样硬件加解密也就成为低功耗微处理器设计的重要功能组成。广义上的网络安全主要包括:保密性、数据完整性、可用性、非伪装性、反抵赖性等,我们这里的安全性主要有用户级和系统级两个方面:用户级一般通过对称或非对称密钥加密;系统级安全性和隐私性主要体现在IP及MAC层,它们也是系统可靠性及可信性的保证。另外,我们还将在微处理器中实现硬件加密指令,主要包括:随机数发生器、DES、RSA、AES、指纹产生等功能模块。我们的主要创新之处在于对加密算法,特别是密钥的产生机制的进一步研究。
网络安全一般是通过对称和非对称加密体系来保证的。对于非对称密码算法,我们的目标是:根据硬件计算资源的有限和低功耗的特性,使设计的算法快速、安全。为此,我们打算进一步研究中国剩余定理和不定方程,构造出NP13问题,由此设计出非对称密码算法。在这方面,我们已研究过利用对称群和非对称群,构造出一个非对称密码算法,下一步需要进一步对该算法进行研究,分析它的安全性并进一步优化,在更广泛的范围内研究其攻击方法,以使它能抵抗各种攻击,最后在硬件上实现。
图2是我们所使用的硬件加密协处理器结构框图,其数据地址总线直接和低功耗微处理器相联,主控制器为整个协处理器的核心,配置器可以通过外部设置各种参数来达到对加密算法的修订,密钥产生器在主控制器的配合下,给加密引擎产生密钥。加密引擎是核心计算部件,其中集成了AES、DES、RSA等最常用的加密算法,还有DIG(消息摘要)、RND(随机数)等基本运算。它们是实现以上对称和非对称加密体系的基础,也是我们用户级和系统级数据安全的重要保证。通过硬件加密技术,可以获得更好的加密效率。
4.3 软硬件协同的动态功耗管理
动态功耗管理(Dynamic Power Management)策略可广泛使用于手机、笔记本电脑、PDA等电池供电的移动设备的低功耗设计,这些应用的核心处理部件设计了可以在功耗和性能之间进行不同折中选择的多种系统状态。功耗管理单元根据系统应用对处理资源的变化,动态地让硬件系统在这些不同的状态之间进行切换,从而在保证给用户提供必要的性能的同时,可以很大程度上降低功耗。图3是两状态系统的动态功耗管理一般原理图。外部不同应用的服务请求输入给硬件系统形成任务队列。在没有功耗管理的系统中这些任务直接交由计算资源进行处理,任务完成即进入空闲状态。图中所示系统中由于动态管理单元加入,功耗管理策略会根据任务队列中的资源需求情况,动态调整系统资源分配及调度顺序,在适当时候让系统中的耗电较多的运算部件部分甚至全部进入极低功耗模式,只保留时钟频率低、耗电量小的功耗管理单元对所有任务队列的状态进行检测,并在适当的时候将处于休眠状态的运算部件唤醒,完成各种服务请求。由于无线传感器网络节点绝大部分时间处于侦听状态,其间,动态功耗管理策略可以让其大部分计算资源处于休眠模式,从而极大地降低了系统功耗。
在我们的低功耗微处理器设计中,不但以硬件形式实现了以上的动态功耗管理策略,还专门设计了控制各种运算部件的低功耗模式的功耗管理专用指令,提供给上层的软件编程接口。这样用户就可以根据需要定制自己的功耗管理策略,这就是软硬件协同的动态功耗管理思想。在实现过程中,我们使用了时钟门控和电源门控技术。它们是通过控制信号在需要的时候截断电路的时钟或电源,从而可以大幅度减小耗电。当然在电路设计中这些技术的实现都要面对一定的挑战。特别是电源门控技术,它们可能会给逻辑综合、物理设计、测试验证及可测试性设计等带来一系列问题,都需要认真加以解决。
4.4 事件驱动的嵌入式实时操作系统
系统响应时间是无线传感器网络节点设计的重要参数,它体现在很多对实时性有要求的应用中。在面向事件驱动的微处理器上配备相应的基于事件驱动的嵌入式实时操作系统可以使得整个系统达到很好的实时性,所以我们结合节点的硬件资源及应用背景,在研究μC/OSII、RTLinux、μCLinux等多个操作系统的基础上,借鉴并吸收它们的优点,开发了具有自主产权的嵌入式实时操作系统。该操作系统呈现为各个独立模块的组合:任务调度模块、事件处理模块、层次状态机模块、时间管理模块、内存管理模块、中断管理模块、驱动管理模块等,这种模块化的组织方式为基于调用图的全局编译优化提供了有力的保障。我们在任务处理中采用层次状态机机制,每次任务运行时查看有无待处理的事件。如果有,则进行相应的处理,并进入下一个状态。基于状态机的处理使每个任务运行划分为更小的状态处理,极大地改善了事件响应时间,而且使事件处理更规范,不容易出错。另外在存储管理方面,由于无线传感器网络应用需求比较固定,因此一般应用不应使用动态内存管理,因为它可能导致大量内存碎片的产生,不利于系统长时间运行。但对于某些应用,提供可供选择的固定块大小的动态内存分配可以使总的内存需求最小。因此我们采用了动静态相结合的存储器管理策略,获得了较好的存储性能。
4.5 基于调用图的全局编译优化机制
编译优化是嵌入式系统研究的重要内容,也是难点。采用全局分析和优化能够显著提高程序的性能和降低功耗,但由于C/C++的程序开发基于分离的文件编译和链接,编译器的编译单元是单个文件,这就限制了编译器得到全局优化信息。而嵌入式系统实际运行的程序集合是固定的,因此对于编译器采用全局分析和优化显得特别有效。传统的编译分析局限于单个过程,对于过程间的分析进行得较少,因此不能够确定过程调用的副作用,往往只能进行最保守估计。这就限制了编译的优化,导致了更大的寄存器分配压力和可能更大的访问内存次数。很多情况下过程的参数是常数,如果采用全局优化,通过常量传播算法,可使过程代码得到较大的缩减。嵌入式系统存在许多小的过程调用,全局的过程内联能够节省大量的过程调用时间,并且可以使编译器的调度优化区域得到扩大。
编译器分析嵌入式系统的所有源文件,构建全局的过程调用图,从根调用节点出发,遍历调用图,对不在此调用图中的过程标记为死节点。在最终程序中不包含死节点,这样可以保证只有被调用的过程才链入程序,可以减少系统的数据投影,这就是基于调用图的全局编译优化思想。这种全局优化的编译技术克服了传统的编译分析仅限于单个文件和单个过程的缺点。针对无线传感器网络节点的数据和程序存贮器空间都十分有限的问题,增加了过程间的分析,通过使用常量传播算法,可以使过程代码得到较大的缩减。另外,对于嵌入式系统中存在的许多小的过程调用,全局的过程内联能够节省大量的过程调用时间,并且可以使编译器的调度优化区域得到扩大。基于调用图的全局编译优化技术是基于组件的可配置软件设计的基础,可以使代码获得极大的优化。
4.6 低功耗系统设计
软硬件协同的低功耗系统LPS14(无线传感节点就是一个LPS)按设计层次分为软件设计、主板设计和处理器设计。按任务分为软件设计、主板设计、低功耗微处理器设计、设计验证、可测试性设计。主要软硬件模块关系如图4所示:
我们将利用自行开发的微处理器芯片建立起无线传感网络的示范网,其拓扑结构如图5中所示。星状网拓扑结构是一个单跳(single-hop)系统,网络中所有无线传感器节点都与基站和网关进行双向通信(图5中A)。基站可以是一台PC、PDA、专用控制设备、嵌入式网络服务器,或其它与高数据率设备通信的网关。网络中各节点基本相同。除了向各节点传输数据和命令外,基站还与Internet等更高层系统互相传输数据。各节点将基站作为一个中间点,相互之间并不直接传输数据或命令。在各种无线传感器网络中,星状网整体功耗最低,但节点与基站间的传输距离有限,通常ISM15频段的传输距离为10~30米。
网状拓扑结构是多跳系统,其中所有无线传感器节点都相同,而且直接互相通信,与基站进行数据传输和相互传输命令(图5中B)。网状网的每个传感器节点都有多条路径到达网关或其它节点,因此它的容故障能力较强。多跳系统比星状网的传输距离远得多,但功耗也更大,因为节点必须一直“监听”网络中某些路径上的信息和变化。混合网力求兼具星状网的简洁和低功耗以及网状网的长传输距离和自愈性等优点(图5中C)。在混合网中,路由器和中继器组成网状结构,而传感器节点则在它们周围呈星状分布,中继器扩展了网络传输距离,同时提供了容故障能力。由于无线传感器节点可与多个路由器或中继器通信,当某个中继器发生故障或某条无线链路出现干扰时,网络可在其它路由器周围进行自组。
图5 无线传感器网络三种拓扑结构
5 低功耗微处理器研究进展
我们进行面向无线传感器网络的低功耗微处理器设计的目标是完成具有自主知识产权的低功耗微处理器研制;完成基于自主开发的低功耗微处理器无线传感节点的研制;完成基于自主开发的无线传感节点的示范性自组无线传感器网络的构建。在低功耗微处理器设计、嵌入式软件设计、无线通信协议定制等方面有一定的创新,并进一步形成自己完整的知识产权。
下面简单介绍微处理器的技术及实现参数:
5.1 本项目低功耗微处理器主要技术要求:
a) 兼容AVR RISC指令集
-
123条指令,大部分为单周期指令
-
32个通用寄存器、64个I/O控制寄存器
-
片内128KB程序存储器、4KB数据存储器(可外扩至64KB)
-
在线可编程
b) 提供丰富的外围设备接口
-
片内模拟比较器
-
可编程UART、I2C、SPI接口
-
可编程RTC16、看门狗、时钟源及计数器
-
可编程RTC17、看门狗、时钟源及计数器
-
8通道10位ADC
-
可编程PWM18
c) 先进的低功耗设计技术
-
层次化功耗管理
-
六种低功耗模式
-
软件可配置的多时钟模式
-
极低的功耗(正常功能下<10mW、低功耗模式下<10μW)
d) 工艺:0.18μm
作为低功耗微处理器的验证环境,本项目将基于该处理器芯片研制无线传感器网络节点(低功耗系统LPS),主要技术特点:(1)支持IPv6/Ad hoc通信协议;(2)基于内容的数据处理方式;(3)节点间时钟同步;(4)节点定位功能;(5)能量自适应组网模式。
5.2 主要设计参数说明
a) 部分容限参数和设计参数
b) 直流参数
5.3 主要预期成果和创新之处
在无线传感器网络低功耗微处理器设计方面重点解决的科学技术问题主要有:
a) 低功耗技术:主要包括:低功耗编译器/操作系统、低功耗体系结构、低功耗指令集、系统功耗管理、低功耗硬件设计方法等;
b) 容错技术:系统容错、故障恢复、数据校验、日志恢复、数据备份、易调试和诊断、现场可交互、硬件容错等;
c) 数据处理:数据存贮、数据编码、数据压缩、数据缓存、硬件加密等;
d) 无线传感网络:网络拓扑结构、网络模型、性能评估、时钟同步、信道阻塞处理、节点定位、路由算法、QoS、多业务承载等。
参考文献
(说明:本文除介绍我们自己的工作外,大部分来自于互联网,难免引用不全或论述不准,敬请谅解,并与作者联系,提出批评及意见。)