无线传感器网络处理器片内进程管理方法

文档序号:6651374阅读:140来源:国知局
专利名称:无线传感器网络处理器片内进程管理方法
技术领域
本发明涉及无线传感器网络技术领域,特别是一种无线传感器网络处理器片内进程管理方法。
背景技术
无线传感器网络(Wireless Sensor Network)是由部署在监测区域内大量的廉价微型传感器节点组成,通过无线通信方式形成的一个面向任务的自组织的网络系统,其目的是协作地感知、采集并处理网络覆盖区域内中的目标信息,并进行控制或者发送给观察者。各个无线传感器网络节点一般是由微型电池提供能量,大部分应用场合不便于进行能量的补给,因此,如何高效的使用能量来最大化网络生命周期是无线传感器网络领域所面临的首要挑战。
当前商业化的节点中大都是利用市场上已成型的嵌入式处理器芯片,这些通用的低功耗嵌入式芯片一般是通过提供给用户几种低功耗模式,如空闲模式,低电压、低频率运行模式,省电模式等,每种模式降低功耗程度不一样,每种低功耗模式返回到正常工作状态之间的转换代价也不一样,这种代价主要是状态转换时间和一些机器状态信息的保存。当前主要在传感器节点系统中使用的方法就是用动态功耗管理软件算法控制何时进入何种低功耗模式,然后依靠事件触发来唤醒系统进入正常工作状态。使用这种方法有很大缺陷一方面如果软件控制不当,可能在低功耗模式和在正常工作状态之间频繁转换,而导致转换代价过大,不仅降低了系统的性能,也使得能量白白浪费;另一方面由于这些商业化的芯片并非专为无线传感器网络节点设计的,没有考虑到节点的实际应用特点,在使用这些低功耗模式的时候需要用户在程序中指定什么时候进入低功耗状态或由操作系统软件集中控制,所以降低系统的功耗效率不明显,而且使用起来也不够灵活。
无线传感器网络是一个面向特定任务性的网络,可能存在多个需要同时执行的进程(或称为任务),每个进程可以由用户定义去完成某个特定的计算及处理功能,这些进程的执行是由特定事件进行触发的,一个正在执行的进程也可以触发另一个新的进程,在所有的该及时处理的进程都被处理完毕时,整个系统就保存需要的机器状态后,进入低功耗状态,所以节点在整个生命周期中实际是间歇性的工作的。其中每个进程的实时性要求不完全相同,系统也可以推迟某些进程的执行。

发明内容
本发明就是以专门的传感器网络实际应用为背景,提出的一种低功耗嵌入式处理器片内的进程管理方法,它追求在传感器网络的应用中最大化的降低系统功耗,从而延长网络生命周期。在结构上,它使用硬件维护一个任务队列,里面保存着将要执行的进程(任务);另外还实现了一个功耗管理单元,它根据系统当前状态硬件自动决定进入哪种低功耗模式,并在事件发生时唤醒整个系统,转入正常的工作状态,同时它还像传统的通用低功耗嵌入式芯片一样提供各种低功耗模式接收软件的控制。本发明通过一种硬件实现的进程管理方法来大幅度降低芯片及硬件系统的功耗,该方法结合了传感器网络的实际应用中的特点,应用在传感器网络的节点中来延长网络的生命周期非常有效。
降低节点功耗一直是无线传感器网络面临的巨大挑战。我们通过一种片内的进程管理方法来灵活实现对进程的调度从而最大限度的降低功耗。附图1给出了我们进程管理方法的体系结构示意图。
低功耗嵌入式处理器片内进程管理方法的设计实现在所发明的应用于传感器网络的片内进程管理方法中,进程管理调度单元是该方法的工作核心,它实际是执行着一个动态功耗管理算法由当前的系统各进程的优先级别及所使用的资源情况来决定系统下一个该被执行的进程或是进入哪种低功耗状态。
在进程管理调度单元中采用一个队列保存着待执行的进程的情况,包括进程在内存中的入口地址,进程的优先级别,进程将要使用的系统资源。关于进程的这些内容是在创建一个进程的时候由用户软件设置的,因为只有用户知道这个进程的实时性如何,以及在执行过程中需要那些资源,如需要使用UART部件进行传输数据等这些信息都要在创建一个进程的时候登记到该进程对应的队列项中。系统中所有接口部件和中央处理器都是作为系统的资源被各个进程占用的。
当一个进程执行的时候,如果需要创建另一个进程时候,它首先会设置好要创建的进程的优先级,进程执行所需要的资源,进程的入口地址等信息,这些在实际操作时候都是设置相应的寄存器位完成。然后执行一条POST指令即可完成将待创建的进程保存到硬件队列中去。在进程的执行过程中是可以被发生的事件中断的,当然进程也可以决定屏蔽掉中断。
当一个进程代码执行完毕的时候,即到达最后一条RET返回指令时候,将引入新的进程调度,进程管理调度单元将会选择一个优先级别最高的,并且其所需要的资源都处于空闲状态的进程放到CPU中去执行,从资源管理的角度看就是占用CPU的资源。如果这样的进程不存在,为简单起见,直接使系统进入idle低功耗状态,关掉未被占用的资源的时钟,包括中央处理器时钟。当中断发生时将会唤醒整个系统重新进入正常的工作状态。
在进程的代码里面也可以包括SLEEP指令,同一般的嵌入式处理器一样可以主动地进入各种低功耗状态,SLEEP指令前同样需要设置功耗模式寄存器指定将要进入哪种低功耗模式。
在提供进程的优先级时候,我们可以用软件设置优先级从而控制各个进程地执行顺序,可以把几个低优先级的任务放在一起执行完,这样就可以避免低功耗状态之间的频繁切换,从而更有效的降低功耗。
功耗管理控制单元是具体去完成各种低功耗策略的,它根据低功耗模式寄存器以及进程管理调度单元的控制信号来将系统置于特定的低功耗状态,IDLE状态,POWER DOWN状态,POWER SAVE状态。这些低功耗状态降低低功耗程度各不一样,唤醒的时间长度不一,一般是功耗越低,唤醒时间也越长。
进程管理方法在传感器网络节点系统中的应用在传感器网络中,单个传感器节点的硬件资源很有限,而且传感器节点的并发操作可能比较频繁,而且并发执行的流程又很短,如果采用传统的操作系统进程调度方式可能无法适应。所以在我们的发明里面实际用硬件实现了两级调度,一种是上面所说的进程,一般代码较短,执行比较频繁。另一种是中断服务程序。进程之间不可以抢占,必须是一个进程执行完成才能执行另外的一个进程,但是可能会被中断打断。当然进程也可以选择软件来屏蔽掉中断。附图2给出了我们的低功耗处理器(LPP)在传感器网络中的应用模块图。
技术方案一种无线传感器网络处理器片内进程管理方法,包括步骤结合传感器网络应用特点,软件上把系统的功能分成多个独立的进程完成;在处理器片内实现一个硬件上的进行进程的自动调度与管理器;在处理器片内实现的功耗管理单元,根据系统硬件资源的使用情况自动进行功耗管理,从而降低系统的功耗。
所述的方法,针对具体的应用,编译链接程序能够把系统分解成多个独立的进程。
所述的方法,处理器片内的任务队列保存着待执行的进程的情况,包括进程在内存中的入口地址,进程的优先级别,进程将要使用的系统资源。
所述的方法,系统的功耗管理单元提供各个设备的各种低功耗策略,可以关掉设备时钟,系统时钟,降低设备电压,降低设备频率。
所述的的方法,硬件上实现了一个进程调度器,它将同任务队列和功耗管理单元交互,选择合适的进程到处理器中运行。
所述的方法,系统功耗管理单元访问任务队列中的信息或接受上层软件的控制,可以实时的进行各个设备的功耗管理。


图1为进程管理方法的体系结构示意图。
图2为低功耗处理器(LPP)在传感器网络中应用模块图。
图3是无线传感器网络处理器片内进程管理方法流程图。
具体实施例方式
图1,其中主要是两个部分构成,一个是进程管理调度单元,另一个是功耗管理控制单元。进程管理调度单元是整个系统的核心,它采用一个任务队列维护着系统的所有就绪进程,一方面负责在适当的时候把需要执行的进程放到中央处理器上运行,另一方面它将依据当前嵌入式处理器中各种外部设备资源的使用状态和队列中进程优先级状态来决定下一个被调度的进程或者是进入某种特定的低功耗状态。功耗管理控制单元主要是完成各种低功耗策略的部件,它接受进程管理调度单元以及软件的控制信息,具体实现系统进入特定的低功耗模。由于该进程管理方法是结合了传感器网络的应用特点,所以将它在传感器网络中节点系统中可以非常高效的降低系统功耗,并且保证一定的性能。
图2的低功耗处理器(LPP)在传感器网络中的应用模块。传感器网络的另外一个特点是间歇性的工作,它是基于事件驱动的。在一般的应用中,系统并不需要始终处于工作状态,如在环境监测方面的应用中,只需要节点周期性去读取传感器的数据,然后发到中心sink节点,为降低节点功耗节点延长网络寿命,节点大部分的时间将处于休眠状态。我们的进程管理方法最大限度的利用了传感器网络的这个特点,当一个硬件的外设中断发生时候,进入中断服务程序,一般在尽快的时间把最紧急的事情做完,把不是很紧急的事情放到一个进程里面完成,当所有该完成的任务完毕时候,就可以进入低功耗状态,一方面有效的提高了程序的执行效率,另一方面进程代码是可以共用的,从而有效降低了内存的要求。特别在外设资源忙时候,可以自动快速切换到IDLE状态,无需循环等待和执行SLEEP指令,因为执行SLEEP指令将要保存大量的机器状态信息,有效降低了节点功耗。
图3的无线传感器网络处理器片内进程管理方法,其具体步骤如下步骤S1系统执行启动代码,初始化进程开始执行,执行完毕,若在初始化的进程中,给任务队列添加了进程(任务),进程管理调度单元将负责把这些进程送到CPU上执行;步骤S2S1中进程执行完毕,此时任务队列为空,功耗管理单元将依据当前设备的使用信息,有选择的关闭部分外部设备和进程管理单元,随后整个系统处于被动等待事件发生的状态;步骤S3无线传感器网络的外部事件或内部的计时中断事件唤醒被关闭的进程管理单元,然后进程管理单元将自动将事件处理服务程序作为一个进程的形式加载到CPU上执行,同时实时依据进程对外部设备资源的使用要求启动被关闭的设备,如果在处理这些进程过程中,有进程主动执行SLEEP指令强行系统进入节能态,则进入到步骤S4,当所有进程(包括事件处理进程以及事件处理进程派生出来的进程)都被处理完毕,将回到步骤S2中;步骤S4进程主动执行SLEEP指令后,功耗管理单元将依据被配置的低功耗模式进入到相应的节能状态,随后整个系统处于被动等待事件发生的状态,有事件唤醒时候,回到步骤S3。
权利要求
1.一种无线传感器网络处理器片内进程管理方法,包括步骤结合传感器网络应用特点,软件上把系统的功能分成多个独立的进程完成;在处理器片内实现一个硬件上的进行进程的自动调度与管理器;在处理器片内实现的功耗管理单元,根据系统硬件资源的使用情况自动进行功耗管理,从而降低系统的功耗。
2.按权利要求1所述的方法,其特征在于针对具体的应用,编译链接程序能够把系统分解成多个独立的进程。
3.按权利要求1所述的方法,其特征在于处理器片内的任务队列保存着待执行的进程的情况,包括进程在内存中的入口地址,进程的优先级别,进程将要使用的系统资源。
4.按权利要求1所述的方法,其特征在于系统的功耗管理单元提供各个设备的各种低功耗策略,可以关掉设备时钟,系统时钟,降低设备电压,降低设备频率。
5.按权利要求1或3的方法,其特征在于硬件上实现了一个进程调度器,它将同任务队列和功耗管理单元交互,选择合适的进程到处理器中运行。
6.按权利要求1或4的方法,其特征在于系统功耗管理单元访问任务队列中的信息或接受上层软件的控制,可以实时的进行各个设备的功耗管理。
7.按权利要求1所述的方法,其具体步骤如下步骤S1系统执行启动代码,初始化进程开始执行,执行完毕,若在初始化的进程中,给任务队列添加了进程,进程管理调度单元将负责把这些进程送到CPU上执行;步骤S2S1中进程执行完毕,此时任务队列为空,功耗管理单元将依据当前设备的使用信息,有选择的关闭部分外部设备和进程管理单元,随后整个系统处于被动等待事件发生的状态;步骤S3无线传感器网络的外部事件或内部的计时中断事件唤醒被关闭的进程管理单元,然后进程管理单元将自动将事件处理服务程序作为一个进程的形式加载到CPU上执行,同时实时依据进程对外部设备资源的使用要求启动被关闭的设备,如果在处理这些进程过程中,有进程主动执行SLEEP指令强行系统进入节能态,则进入到步骤S4,当所有进程都被处理完毕,将回到步骤S2中;步骤S4进程主动执行SLEEP指令后,功耗管理单元将依据被配置的低功耗模式进入到相应的节能状态,随后整个系统处于被动等待事件发生的状态,有事件唤醒时候,回到步骤S3。
全文摘要
本发明涉及无线传感器网络技术领域,特别是一种无线传感器网络处理器片内进程管理方法。本发明系统的构建一种低功耗的片内的进程管理方法,并有效的把它应用在实际的传感器节点系统中,最大限度的降低节点功耗,并且可供用户灵活的使用。本发明避免了在传感器节点采用传统的通用式芯片带来的诸多缺点,更适合于在传感器节点系统中的应用。进程管理具体方法步骤包括系统的初始化;硬件上对系统的功耗的进行自动管理;进程调度单元对进程实施管理;软件上对系统的功耗进行主动管理。
文档编号G06F9/46GK1794658SQ20051013077
公开日2006年6月28日 申请日期2005年12月28日 优先权日2005年12月28日
发明者刘领一, 沈培福, 吕涛, 徐勇军, 李晓维 申请人:中国科学院计算技术研究所
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1