首页 / 专利库 / 电脑零配件 / 接口 / 一种嵌入式实时操作系统(RT-Thread)中基于设备管理框架实现的低功耗方法

一种嵌入式实时操作系统(RT-Thread)中基于设备管理框架实现的低功耗方法

阅读:960发布:2023-06-09

专利汇可以提供一种嵌入式实时操作系统(RT-Thread)中基于设备管理框架实现的低功耗方法专利检索,专利查询,专利分析的服务。并且本 发明 是一种嵌入式实时 操作系统 (RT-Thread)中基于设备管理 框架 实现的低功耗方法属于计算机技术领域。实现了基于RT-Thread设备管理框架的一种低功耗管理策略,在BSP中向 软件 层提供了简单进入低功耗的 接口 ,实现了简单快速的一步进入低功耗状态的方法,并且进入低功耗之后MCU进入休眠,达到最低功耗控制,MCU从休眠中唤醒后重新启用所有设备,让所有设备进入工作状态。在设备管理框架中设计两个遍历 算法 ,一个遍历算法实现查找设备列表中已经打开的设备,并将这些设备关闭并标记,另一个遍历算法实现查找上一个遍历算法中标记的设备,并将这些设备打开和去标记,这样就可以实现所有设备的低功耗管理。,下面是一种嵌入式实时操作系统(RT-Thread)中基于设备管理框架实现的低功耗方法专利的具体信息内容。

1.一种嵌入式实时操作系统(RT-Thread)中基于设备管理框架实现的低功耗方法,其特征在于:基于RT-Thread的设备管理框架进行了二次开发,在BSP中向软件层提供了简单进入低功耗的接口,增加了关闭所有已打开设备的方法和恢复之前关闭的设备方法,并且配合MCU休眠唤醒,封装成了一个简单的接口供软件层使用。
2.根据权利要求1所述的低功耗方法,其特征在于:为每个设备制作设备驱动程序。
3.根据权利要求2所述的低功耗方法,其特征在于:每个设备驱动程序包含打开和关闭接口,打开接口包含设备上电和初始化,关闭接口包含设备下电和复初始化。
4.根据权利要求1所述的低功耗方法,其特征在于:基于RT-Thread的设备管理框架进行了二次开发。
5.根据权利要求5所述的低功耗方法,其特征在于:基于RT-Thread的设备管理框架进行了二次开发,制作了两个遍历算法
6.根据权利要求6所述的低功耗方法,其特征在于:基于RT-Thread的设备管理管家进行了二次开发,制作了两个遍历算法,第一个算法是遍历当前所有已经打开的设备,然后关闭并标记该设备。
7.根据权利要求6所述的低功耗方法,其特征在于:基于RT-Thread的设备管理管家进行了二次开发,制作了两个遍历算法,第二个算法是遍历当前所有设备,将标记的设备重新开打和去标记。
8.根据权利要求1所述的低功耗方法,其特征在于:封装了一个简单的低功耗控制接口。
9.根据权利要求5、6、7、8、9所述的低功耗方法,其特征在于:封装了一个简单的低功耗控制接口,调用第一个遍历算法,然后控制MCU进入休眠,在唤醒时调用第二个遍历算法。
10.根据权利要求1所述的低功耗方法,其特征在于:采用了RT-Thread的设备管理框架。

说明书全文

一种嵌入式实时操作系统(RT-Thread)中基于设备管理框架

实现的低功耗方法

[0001] 1、缩略语和关键术语定义
[0002]缩写 全称 中文
RTOS EmbeddedReal-timeOperation System 嵌入式实时操作系统
I/O Input/Output 输入输出
HAL Hardware Abstract Layer 硬件抽象层
BSP Board Support Package 板级支持包
LPD Low-Power Design 低功耗设计
MCU Microcontroller Unit 微控制单元
2、技术领域
[0003] 本发明属于计算机技术领域,具体涉及一种嵌入式实时操作系统(RT-Thread)中基于设备管理框架实现的低功耗方法3、背景技术
[0004] 3.1技术背景
[0005] 随着计算机技术的迅速发展和芯片制造工艺的不断进步,嵌入式系统的应用日益广泛:从民用的电视、手机等电路设备到军用的飞机、坦克等武器系统,到处都有嵌入式系统的身影。在嵌入式系统的应用开发中,采用RTOS能够支持多任务,使得程序开发更加容易,便于维护,同时能够提高系统的稳定性和可靠性。这已逐渐成为嵌入式系统开发的一个发展方向。
[0006] 在工业控制、军事设备、航空航天等领域对系统的响应时间有苛刻的要求,这就需要使用实时系统。我们常常说的嵌入式操作系统都是嵌入式实时操作系统。比如μC/OS-II、eCOS和Linux、HOPEN OS。故对嵌入式实时操作系统的理解应该建立在对嵌入式系统的理解之上加入对响应时间的要求。
[0007] 一般RTOS分为硬件层、软件层和中间层,硬件层与软件层之间为中间层,也称为HAL或BSP,它将系统上层软件(应用程序)与底层硬件分离开来,使系统的底层驱动程序与上层无关,上层软件开发人员无需关心底层硬件的具体情况,根据BSP提供的接口即可进行开发。该层一般包含相关底层硬件的初始化、数据的输入/输出操作和硬件设备的配置功能,设备管理即处于中间层。
[0008] 在嵌入式系统的设计中,LPD是许多设计人员必须面对的问题,其原因在于嵌入式系统被广泛应用于便携式和移动性较强的产品中去,而这些产品不是一直都有充足的电源供应,往往是靠电池来供电,所以设计人员从每一个细节来考虑降低功率消耗,从而尽可能地延长电池使用时间。事实上,从全局来考虑低功耗设计已经成为了一个越来越迫切的问题。
[0009] 3.2现有技术
[0010] 3.2.1现有技术方案
[0011] RT-Thread是一个来自中国的开源物联网操作系统,在RT-Thread实时操作系统中,RT-Thread提供了一套简单的I/O设备管理框架,它把I/O设备分成了三层进行处理。如图1所示。
[0012] 一个设备能够被上层应用访问前,需要先把这个设备注册到系统中,并添加一些相应的一些属性。这些注册的设备均可以通过设备名,采用“查找设备接口”的方式从系统中查找到,从而获得该设备控制(或设备句柄)。注册设备的函数接口如下:
[0013] rt_err_t rt_device_register(rt_device_t dev,const char*name,rt_uint8_t flags);
[0014] 将设备从设备系统中移除,被卸载的设备将不能再通过“查找设备接口”被查找到。卸载设备的函数接口如下所示:
[0015] rt_err_t rt_device_unregister(rt_device_t dev)
[0016] 根据指定的设备名称查找设备,可以通过如下接口完成:
[0017] rt_device_t rt_device_find(const char*name)
[0018] 初始化指定设备,可以通过如下函数接口完成:
[0019] rt_err_t rt_device_init(rt_device_t dev)
[0020] 根据设备控制块来打开设备,可以通过如下函数接口完成:
[0021] rt_err_t rt_device_open(rt_device_t dev,rt_uint16_t oflags)[0022] 根据设备控制块来关闭设备,可以通过如下函数接口完成:
[0023] rt_err_t rt_device_close(rt_device_t dev)
[0024] 从设备中读取,或获得数据,可以通过如下函数接口完成:
[0025] rt_size_t rt_device_read(rt_device_t dev,rt_off_t pos,void*buffer,rt_size size)
[0026] 向设备中写入数据,可以通过如下函数接口完成:
[0027] rt_size_t rt_device_write(rt_device_t dev,rt_off_t pos,const void*buffer,rt_size size)
[0028] 根据设备控制块来控制设备,可以通过下面的函数接口完成:
[0029] rt_err_t rt_device_control(rt_device_t dev,rt_uint8_t cmd,void*arg)[0030] 现有技术利用RT-Thread的设备管理框架可以很方便的将硬件层和软件层分离开来,调用设备框架接口就能方便的管理设备,其中关闭设备和打开设备用于控制设备开关,从而减少设备功耗。
[0031] 3.2.2现有技术方案的缺点
[0032] 现有技术方案只能通过打开每个设备或者关闭每个设备来控制功耗,不能实现简单的一步关闭所有设备或打开所有设备,并且不能与MCU休眠配合,操作起来非常麻烦,并且容易出错。4、发明内容
[0033] 本发明实现了一种基于RT-Thread设备管理框架的一种低功耗管理策略,在BSP中向软件层提供了简单进入低功耗的接口,实现了简单快速的一步进入低功耗状态的方法,并且进入低功耗之后MCU进入休眠,达到最低功耗控制,MCU从休眠中唤醒后重新启用所有设备,让所有设备进入工作状态。首先设备管理框架提供了每个设备的驱动接口,包括打开、关闭、读、写和控制接口,其中打开接口应当实现设备的上电和初始化工作,关闭接口实现设备的下点和复初始化工作,这样可以用打开和关闭接口来控制设备的功耗,然后在设备管理框架中设计两个遍历算法,一个遍历算法实现查找设备列表中已经打开的设备,并将这些设备关闭并标记,另一个遍历算法实现查找上一个遍历算法中标记的设备,并将这些设备打开和去标记,同时封装一个接口,让这个接口执行第一个遍历算法,然后让MCU休眠,唤醒时执行第二个遍历算法,这样就可以实现所有设备的功耗管理。5、附图说明
[0034] 图1 I/O设备三层管理框架
[0035] 图2基于RT-Thread设备管理框架对每个外设进行驱动设计图
[0036] 图3根据RT-Thread设备管理框架设计的遍历查找方法,查找打开的驱动[0037] 图4根据RT-Thread设备管理框架设计一个遍历查找方法图,查找关闭的驱动[0038] 图5设备功耗管理的封装图6、具体实施方式
[0039] 为了更为具体地描述本发明,下面结合附图及具体实施方式对本发明的技术方案进行详细说明。
[0040] 首先基于RT-Thread设备管理框架对每个外设进行驱动设计,填充每个外设驱动的打开和关闭接口,打开接口中实现设备上电或初始化,关闭接口中实现设备下电和恢复初始化,并将设备驱动注册到RTOS之中,如图2所示。
[0041] 然后根据RT-Thread设备管理框架设计一个遍历查找方法,查找系统中已经注册并打开的设备驱动,发现该设备驱动后调用该设备驱动的关闭方法,同时标记被关闭的设备,如图3所示。
[0042] 然后根据RT-Thread设备管理框架设计一个遍历查找方法,查找系统中已经注册并被标记关闭的设备驱动,发现该设备驱动后调用该设备驱动的打开方法,如图4所示。
[0043] 上述两个遍历算法利用了RT-Thread的设备管理框架,实现了关闭所有已经打开的设备和打开刚才被关闭的设备。然后将上述两个算法封装成一个设备休眠和唤醒的接口,然后配合MCU休眠,即可实现对设备功耗管理的封装,如图5所示。
[0044] 最后将整个过程封装成一个接口,提供给软件层,如void device_enter_sleep(void);
[0045] 实例关键代码如下
[0046]
[0047]
[0048]
[0049]
[0050]
[0051] 7、本发明技术方案带来的有益效果
[0052] 技术层面:对于软件层开发人员来说,不用关心BSP如何进行功耗管理,只用调用该接口就能实现低功耗管理,对BSP驱动设计人员来说,只需要实现每个设备的打开和关闭方法,并且在其中进行功耗控制,不用考虑进行系统休眠的时候怎样关闭设备,极大的减少了各层人员的开发难度,降低了各层人员出错的概率。
[0053] 应用层面:提高了功耗控制的精细程度,减少了功耗出现异常的概率。
高效检索全球专利

专利汇是专利免费检索,专利查询,专利分析-国家发明专利查询检索分析平台,是提供专利分析,专利查询,专利检索等数据服务功能的知识产权数据服务商。

我们的产品包含105个国家的1.26亿组数据,免费查、免费专利分析。

申请试用

分析报告

专利汇分析报告产品可以对行业情报数据进行梳理分析,涉及维度包括行业专利基本状况分析、地域分析、技术分析、发明人分析、申请人分析、专利权人分析、失效分析、核心专利分析、法律分析、研发重点分析、企业专利处境分析、技术处境分析、专利寿命分析、企业定位分析、引证分析等超过60个分析角度,系统通过AI智能系统对图表进行解读,只需1分钟,一键生成行业专利分析报告。

申请试用

QQ群二维码
意见反馈