1.本发明应用于智能电表领域,具体是一种基于轻量实时操作系统的智能电表及低功耗管理方法。
背景技术:
2.随着智能电表功能的愈发复杂,设计时采用的mcu性能也越来越强大,但是性能越强也就意味着耗能越高,而智能电表在电网中的应用也日益广泛,降低智能电表的能耗已成为必须考虑的问题,且低功耗对智能电表长期连续运行的可靠性亦能起到积极作用。
3.智能电表通常的低功耗设计主要考虑在电网停电时如何降低对电池的能量消耗,延长电池寿命方面是行之有效的方法。而事实上电表在整个生命周期中绝大部分的时间是有市电在正常运行,降低正常运行时功耗对于电网整体耗能更具实用和经济价值。
技术实现要素:
4.本发明的目的是针对智能电表如何降低功耗的问题,提供一种基于轻量实时操作系统的智能电表的低功耗管理方法,能够有效降低电能表正常运行时的功耗。
5.本发明的技术方案是:
6.本发明提供一种基于轻量实时操作系统的智能电表的低功耗管理方法,该智能电表包括:空闲任务模块和若干个用户任务模块,该方法包括以下步骤:
7.s1、配置各用户任务模块和空闲任务模块的运行模式以及优先级,其中空闲任务模块的优先级最低;设置智能电表的最小睡眠时间smin和最大睡眠时间smax;
8.s2、当各用户任务模块在某一时刻均被挂起或阻塞时,空闲任务模块获取cpu资源,降低cpu运行频率;
9.s3、空闲任务模块获取各用户任务模块当前的预计阻塞时长,然后取其中最小值作为当前睡眠时间s,执行如下判断;
10.如果s<smin,则cpu不进入睡眠,维持低频率运行;
11.如果smin≤s<smax,则cpu进入睡眠低功耗运行,关闭任务调度;且将当前睡眠时间s配置到定时器,计时到达后触发中断唤醒cpu全速运行频率,恢复任务调度;
12.如果smax≤s,则cpu进入睡眠低功耗运行,关闭任务调度;且将最大睡眠时间smax配置到定时器,计时到达后触发中断唤醒cpu全速运行频率,恢复任务调度。
13.进一步地,步骤s2中,用户任务模块响应于等待事件或延时事件,而被挂起或阻塞。
14.进一步地,步骤s3中,用户任务模块当前的预计阻塞时长获取方式为:对于用户任务模块配置为周期任务和延期任务的,取对应的剩余周期事件和延时时间,对于用户任务模块配置为偶发任务的,取极大值。
15.进一步地,该方法还包括:
16.配置突发事件cpu唤醒源;
17.响应于突发事件cpu唤醒源中的事件,在cpu睡眠期间能够立即唤醒cpu,确保系统的实时性不受睡眠的影响;
18.突发事件包括停电、按键和外部通信事件。
19.一种基于轻量实时操作系统的智能电表,采用基于轻量实时操作系统的智能电表的低功耗管理方法,该电表包括:空闲任务模块和若干个用户任务模块,所述的用户任务模块包括:系统管理任务模块、计量任务模块、显示任务模块、通信任务模块和电表业务任务模块中的一个或多个。
20.进一步地,系统管理任务模块,用于处理实时性要求高的突发事务,对外部请求或变化进行实时响应;
21.计量任务模块,用于负责与计量芯之间的通信信道维护,请求数据的接收与解析处理,应答数据的组帧与发送;
22.显示任务模块,用于处理相关数据在液晶屏幕上显示,包括电表状态、电量和时间信息;
23.通信任务模块,用于负责与电表外部通信信道的维护,请求数据的接收与解析处理,应答数据的组帧与发送;
24.电表业务任务模块,用于处理电表数据和数据维护;
25.空闲任务模块,用于负责系统闲时的功耗管理,cpu运行频率的调节和运行模式的切换。
26.进一步地,所述系统管理任务模块配置为偶发任务,当掉电发生时,对关键数据进行保存,数据保存后关闭其它任务模块,进入到深度睡眠,并周期性的唤醒系统喂看门狗,在上电时能够及时恢复系统运行;
27.所述的计量任务模块配置为周期任务,周期性的获取计量芯的计量原始数据,并且同步配置到计量芯中;
28.所述的显示任务模块配置为延期任务,执行一轮显示信息后,延迟固定一段时间再次执行;
29.所述的通信任务模块配置为偶发任务,接收来自外部突发的通信请求,通信完成后进入到等待状态,直到通道上接收到新的数据;
30.所述的电表业务模块配置为周期任务,周期性的处理电量、需量、负荷曲线和事件记录的基础数据。
31.进一步地,所述空闲任务模块的时钟处于等待或执行状态,当所有用户任务模块都未运行时,空闲任务模块获得cpu资源运行,此时若任一用户任务模块进入就绪状态时,空闲任务模块立刻释放cpu,进入等待状态。
32.本发明的有益效果:
33.本发明供一种基于轻量实时操作系统的智能电表及低功耗管理方法,使电表在正常供电状态下,减少对电网电能的消耗,提高电网运行效率,具有很好的实用和经济价值。
34.本发明的其它特征和优点将在随后具体实施方式部分予以详细说明。
附图说明
35.通过结合附图对本发明示例性实施方式进行更详细的描述,本发明的上述以及其
它目的、特征和优势将变得更加明显,其中,在本发明示例性实施方式中,相同的参考标号通常代表相同部件。
36.图1本发明的空闲任务模块的低功耗管理流程图
具体实施方式
37.下面将参照附图更详细地描述本发明的优选实施方式。虽然附图中显示了本发明的优选实施方式,然而应该理解,可以以各种形式实现本发明而不应被这里阐述的实施方式所限制。
38.本发明的目的在于提供一种基于轻量实时操作系统的智能电表的低功耗管理方法,使电表在正常供电状态下,减少对电网电能的消耗,提高电网运行效率;该电能表主要由系统管理任务模块、计量任务模块、显示任务模块、通信任务模块、电表业务任务模块、空闲任务模块组成。
39.系统管理任务模块,主要是处理实时性要求高的突发事务,使系统有能力对外部请求或变化的实时响应。
40.计量任务模块,主要是负责与计量芯之间的通信信道维护,请求数据的接收与解析处理,应答数据的组帧与发送。
41.显示任务模块,主要是处理相关数据在液晶屏幕上显示,如电表状态、电量、时间等信息。
42.通信任务模块,主要是负责与电表外部通信信道维护,请求数据的接收与解析处理,应答数据的组帧与发送。
43.电表业务任务模块,主要是处理实时性要求不高的事务和数据维护。
44.空闲任务模块,主要负责系统闲时的功耗管理,cpu运行频率的调节和运行模式的切换。
45.参照图1,一种基于轻量实时操作系统的智能电表的低功耗管理方法,包括以下步骤:
46.配置各个任务模块的运行模式和优先级,其中空闲任务在所有的任务中优先级最低。
47.当用户任务模块在某一时刻因等待事件或延时而被挂起或阻塞时,空闲任务立刻获取cpu资源。
48.空闲任务开始执行后,立即降低cpu运行频率。
49.然后空闲任务判断是否具有进一步降低功耗的条件使cpu睡眠。计算每个用户任务当前预计阻塞的时长,周期任务和延期任务取剩余延时时间,偶发任务取32位最大值,然后取其中最小值作为睡眠时间。
50.睡眠时间小于限定的最小值,则cpu不进入睡眠;睡眠时间大于限定的最大值则取最大值,将该值配置到定时器。该定时器计时到时后将触发中断唤醒cpu。
51.关闭任务调度器,维持外设正常工作,并使cpu进入睡眠状态,等待中断唤醒。
52.定时器计时到时唤醒后,cpu退出低功耗状态,打开任务调度器,恢复任务调度。退出空闲任务前恢复cpu全速运行频率。
53.停电、按键、外部通信等突发事件使用的外设配置到cpu的唤醒源中,在cpu睡眠期
间当事件发生时,可立即唤醒cpu,确保系统的实时性不受睡眠的影响。
54.以上已经描述了本发明的各实施例,上述说明是示例性的,并非穷尽性的,并且也不限于所披露的各实施例。在不偏离所说明的各实施例的范围和精神的情况下,对于本技术领域的普通技术人员来说许多修改和变更都是显而易见的。
技术特征:
1.一种基于轻量实时操作系统的智能电表的低功耗管理方法,其特征在于,该智能电表包括:空闲任务模块和若干个用户任务模块,该方法包括以下步骤:s1、配置各用户任务模块和空闲任务模块的运行模式以及优先级,其中空闲任务模块的优先级最低;设置智能电表的最小睡眠时间smin和最大睡眠时间smax;s2、当各用户任务模块在某一时刻均被挂起或阻塞时,空闲任务模块获取cpu资源,降低cpu运行频率;s3、空闲任务模块获取各用户任务模块当前的预计阻塞时长,然后取其中最小值作为当前睡眠时间s,执行如下判断;如果s<smin,则cpu不进入睡眠,维持低频率运行;如果smin≤s<smax,则cpu进入睡眠低功耗运行,关闭任务调度;且将当前睡眠时间s配置到定时器,计时到达后触发中断唤醒cpu全速运行频率,恢复任务调度;如果smax≤s,则cpu进入睡眠低功耗运行,关闭任务调度;且将最大睡眠时间smax配置到定时器,计时到达后触发中断唤醒cpu全速运行频率,恢复任务调度。2.根据权利要求1所述的基于轻量实时操作系统的智能电表的低功耗管理方法,其特征在于,步骤s2中,用户任务模块响应于等待事件或延时事件,而被挂起或阻塞。3.根据权利要求1所述的基于轻量实时操作系统的智能电表的低功耗管理方法,其特征在于,步骤s3中,用户任务模块当前的预计阻塞时长获取方式为:对于用户任务模块配置为周期任务和延期任务的,取对应的剩余周期事件和延时时间,对于用户任务模块配置为偶发任务的,取极大值。4.根据权利要求1所述的基于轻量实时操作系统的智能电表的低功耗管理方法,其特征在于:该方法还包括:配置突发事件cpu唤醒源;响应于突发事件cpu唤醒源中的事件,在cpu睡眠期间能够立即唤醒cpu,确保系统的实时性不受睡眠的影响;突发事件包括停电、按键和外部通信事件。5.一种基于轻量实时操作系统的智能电表,采用权利要求1-4之一所述的基于轻量实时操作系统的智能电表的低功耗管理方法,其特征在于:该电表包括:空闲任务模块和若干个用户任务模块,所述的用户任务模块包括:系统管理任务模块、计量任务模块、显示任务模块、通信任务模块和电表业务任务模块中的一个或多个。6.根据权利要求5所述的一种基于轻量实时操作系统的智能电表,其特征在于:系统管理任务模块,用于处理实时性要求高的突发事务,对外部请求或变化进行实时响应;计量任务模块,用于负责与计量芯之间的通信信道维护,请求数据的接收与解析处理,应答数据的组帧与发送;显示任务模块,用于处理相关数据在液晶屏幕上显示,包括电表状态、电量和时间信息;通信任务模块,用于负责与电表外部通信信道的维护,请求数据的接收与解析处理,应答数据的组帧与发送;电表业务任务模块,用于处理电表数据和数据维护;
空闲任务模块,用于负责系统闲时的功耗管理,cpu运行频率的调节和运行模式的切换。7.根据权利要求5或6所述的一种基于轻量实时操作系统的智能电表,其特征在于:所述系统管理任务模块配置为偶发任务,当掉电发生时,对关键数据进行保存,数据保存后关闭其它任务模块,进入到深度睡眠,并周期性的唤醒系统喂看门狗,在上电时能够及时恢复系统运行;所述的计量任务模块配置为周期任务,周期性的获取计量芯的计量原始数据,并且同步配置到计量芯中;所述的显示任务模块配置为延期任务,执行一轮显示信息后,延迟固定一段时间再次执行;所述的通信任务模块配置为偶发任务,接收来自外部突发的通信请求,通信完成后进入到等待状态,直到通道上接收到新的数据;所述的电表业务模块配置为周期任务,周期性的处理电量、需量、负荷曲线和事件记录的基础数据。8.根据权利要求5或6所述的一种基于轻量实时操作系统的智能电表,其特征在于:所述空闲任务模块的时钟处于等待或执行状态,当所有用户任务模块都未运行时,空闲任务模块获得cpu资源运行,此时若任一用户任务模块进入就绪状态时,空闲任务模块立刻释放cpu,进入等待状态。
技术总结
一种基于轻量实时操作系统的智能电表及低功耗管理方法,该电表包括:空闲任务模块和若干个用户任务模块,所述的用户任务模块包括:系统管理任务模块、计量任务模块、显示任务模块、通信任务模块和电表业务任务模块中的一个或多个;所述空闲任务模块的时钟处于等待或执行状态,当所有用户任务模块都未运行时,空闲任务模块获得CPU资源运行,此时若任一用户任务模块进入就绪状态时,空闲任务模块立刻释放CPU,进入等待状态。本发明的智能电表及低功耗管理方法,使电表在正常供电状态下,减少对电网电能的消耗,提高电网运行效率,具有很好的实用和经济价值。的实用和经济价值。的实用和经济价值。
技术研发人员:张云端 季海涛 孙国菊 尹建丰 秦中海 孙孟玉
受保护的技术使用者:江苏林洋能源股份有限公司
技术研发日:2021.11.19
技术公布日:2022/3/8