一种实现嵌入式设备多电池供电的方法及系统转让专利

申请号 : CN201210521470.3

文献号 : CN103855749B

文献日 :

基本信息:

PDF:

法律信息:

相似专利:

发明人 : 刘建志赵靖

申请人 : 天津中兴智联科技有限公司

摘要 :

本发明公开了一种实现嵌入式设备多电池供电的方法及系统,适用于多块电池供电的嵌入式设备,所述方法包括:硬件层模块获取多个电池的多个电池属性信息,并将所述多个电池属性信息发送至驱动层模块;驱动层模块根据收到的所述多个电池属性信息,分别生成多个电池的多个设备文件,并向电池供电管理和显示模块发送供电事件;电池供电管理和显示模块收到所述供电事件后,打开待读取的设备文件,并获取其中的电池属性信息,以供更新并显示相应电池的电池状态。本发明能够对多块电池进行管理和显示。

权利要求 :

1.一种实现嵌入式设备多电池供电的方法,其特征在于,包括:

硬件层模块获取嵌入式设备多个电池的多个电池属性信息,并将所述多个电池属性信息发送至驱动层模块;

驱动层模块根据收到的所述多个电池属性信息,分别生成多个电池的多个设备文件,并向电池供电管理和显示模块发送供电事件;

电池供电管理和显示模块收到来自驱动层模块的所述供电事件后,调用驱动层模块的驱动接口,打开待读取的设备文件,获取其中的电池属性信息,以供更新并显示相应电池的电池状态。

2.根据权利要求1所述的方法,其特征在于,分别利用所述硬件层模块的多个电量检测芯片,获取多个电池的包含电池电量信息和/或电池电压信息和/或电池温度信息的多个电池属性信息。

3.根据权利要求1或2所述的方法,其特征在于,分别利用所述硬件层模块的多个充电管理芯片,对多个电池进行充电,并获取多个电池的包含充电完成信息的多个电池属性信息。

4.根据权利要求3所述的方法,其特征在于,所述电池供电管理和显示模块的软件框架层子模块通过硬件抽象层子模块收到供电事件后,利用硬件抽象层子模块调用驱动层模块的驱动接口,获取相应设备文件中的电池属性信息。

5.根据权利要求4所述的方法,其特征在于,利用所述软件框架层子模块,判断当前电池电量是否低于预定电量和/或当前电池电压是否高于预定电压和/或当前电池温度是否高于预定温度和/或当前电池是否充电完成,以便根据判断结果,显示相应的电池状态。

6.根据权利要求5所述的方法,其特征在于,当所述软件框架层子模块判断当前电池电量低于预定电量和/或当前电池电压高于预定电压和/或当前电池温度高于预定温度和/或当前电池充电完成时,利用所述电池供电管理和显示模块的应用层子模块,显示包含电池电量过低和/或电池过压和/或电池过温和/或电池充电完成的电池状态。

7.一种实现嵌入式设备多电池供电的系统,其特征在于,包括:

硬件层模块,用于获取嵌入式设备多个电池的多个电池属性信息,并将所述多个电池属性信息发送至驱动层模块;

驱动层模块,用于根据收到的所述多个电池属性信息,分别生成多个电池的多个设备文件,并向电池供电管理和显示模块发送供电事件;

电池供电管理和显示模块,用于收到来自驱动层模块的所述供电事件后,调用驱动层模块的驱动接口,打开待读取的设备文件,并获取其中的电池属性信息,以供更新并显示相应电池的电池状态。

8.根据权利要求7所述的系统,其特征在于,所述硬件层模块包括:

多个电量检测芯片,用于分别获取多个电池的包含电池电量信息和/或电池电压信息和/或电池温度信息的多个电池属性信息。

9.根据权利要求7或8所述的系统,其特征在于,所述硬件层模块还包括:

多个充电管理芯片,用于分别对多个电池进行充电,并获取多个电池的包含充电完成信息的多个电池属性信息。

10.根据权利要求9所述的系统,其特征在于,所述电池供电管理和显示模块包括:硬件抽象层子模块,用于通过调用驱动层模块的驱动接口,获取相应设备文件中的电池属性信息;

软件框架层子模块,用于通过硬件抽象层子模块接收供电事件,并获取相应设备文件中的电池属性信息,根据所述电池属性信息,判断当前电池电量是否低于预定电量和/或当前电池电压是否高于预定电压和/或当前电池温度是否高于预定温度和/或当前电池是否充电完成;

应用层子模块,用于当所述软件框架层子模块判断当前电池电量低于预定电量和/或当前电池电压高于预定电压和/或当前电池温度高于预定温度和/或当前电池充电完成时,显示包括电池电量过低和/或电池过压和/或电池过温和/或电池充电完成的电池状态。

说明书 :

一种实现嵌入式设备多电池供电的方法及系统

技术领域

[0001] 本发明涉及供电技术,特别涉及一种在嵌入式设备上实现多块电池供电管理和显示的方法及其相关的系统。

背景技术

[0002] 随着嵌入式处理器和内存等芯片性能的不断提升,嵌入式设备的功耗也随之增大,移动供电成为嵌入式设备的瓶颈。由于延长供电时间的需求和产品结构设计的考虑,嵌入式设备大多会采用多块电池供电的方式。
[0003] 然而,目前嵌入式设备采用的操作系统只能管理和显示一块或者两块电池的相关信息,对于多电池管理显示并不支持。

发明内容

[0004] 本发明的目的在于提供一种实现嵌入式设备多电池供电的方法及系统,能更好地解决多电池管理显示问题。
[0005] 根据本发明的一个方面,提供了一种实现嵌入式设备多电池供电的方法,包括:
[0006] 硬件层模块获取多个电池的多个电池属性信息,并将所述多个电池属性信息发送至驱动层模块;
[0007] 驱动层模块根据收到的所述多个电池属性信息,分别生成多个电池的多个设备文件,并向电池供电管理和显示模块发送供电事件;
[0008] 电池供电管理和显示模块收到所述供电事件后,打开待读取的设备文件,并获取其中的电池属性信息,以便更新并显示相应电池的电池状态。
[0009] 优选地,分别利用所述硬件层模块的多个电量检测芯片,获取多个电池的包含电池电量信息和/或电池电压信息和/或电池温度信息的多个电池属性信息。
[0010] 优选地,分别利用所述硬件层模块的多个充电管理芯片,对多个电池进行充电,并获取多个电池的包含充电完成信息的多个电池属性信息。
[0011] 优选地,所述电池供电管理和显示模块的软件框架层子模块通过硬件抽象层子模块收到供电事件后,利用硬件抽象层子模块调用驱动层模块的驱动接口,获取相应设备文件中的电池属性信息。
[0012] 优选地,利用所述软件框架层子模块,判断当前电池电量是否低于预定电量和/或当前电池电压是否高于预定电压和/或当前电池温度是否高于预定温度和/或当前电池是否充电完成,以便根据判断结果,显示相应的电池状态。
[0013] 优选地,当所述软件框架层子模块判断当前电池电量低于预定电量和/或当前电池电压高于预定电压和/或当前电池温度高于预定温度和/或当前电池充电完成时,利用所述电池供电管理和显示模块的应用层子模块,显示包含电池电量过低和/或电池过压和/或电池过温和/或电池充电完成的电池状态。
[0014] 根据本发明的另一方面,提供了一种实现嵌入式设备多电池供电的系统,包括:
[0015] 硬件层模块,用于获取多个电池的多个电池属性信息,并将所述多个电池属性信息发送至驱动层模块;
[0016] 驱动层模块,用于根据收到的所述多个电池属性信息,分别生成多个电池的多个设备文件,并向电池供电管理和显示模块发送供电事件;
[0017] 电池供电管理和显示模块,用于收到所述供电事件后,打开待读取的设备文件,并获取其中的电池属性信息,以便更新并显示相应电池的电池状态。
[0018] 优选地,所述硬件层模块包括:
[0019] 多个电量检测芯片,用于分别获取多个电池的包含电池电量信息和/或电池电压信息和/或电池温度信息的多个电池属性信息。
[0020] 优选地,所述硬件层模块还包括:
[0021] 多个充电管理芯片,用于分别对多个电池进行充电,并获取多个电池的包含充电完成信息的多个电池属性信息。
[0022] 优选地,所述电池供电管理和显示模块包括:
[0023] 硬件抽象层子模块,用于通过调用驱动层模块的驱动接口,获取相应设备文件中的电池属性信息;
[0024] 软件框架层子模块,用于通过硬件抽象层子模块接收供电事件,并获取相应设备文件中的电池属性信息,根据所述电池属性信息,判断当前电池电量是否低于预定电量和/或当前电池电压是否高于预定电压和/或当前电池温度是否高于预定温度和/或当前电池是否充电完成;
[0025] 应用层子模块,用于当所述软件框架层子模块判断当前电池电量低于预定电量和/或当前电池电压高于预定电压和/或当前电池温度高于预定温度和/或当前电池充电完成时,显示包括电池电量过低和/或电池过压和/或电池过温和/或电池充电完成的电池状态。
[0026] 与现有技术相比较,本发明的有益效果在于:
[0027] 本发明适用于多块电池供电的嵌入式设备,能够满足嵌入式设备管理和显示多块电池的多个电池属性信息的需求。

附图说明

[0028] 图1是本发明提供的实现嵌入式设备多电池供电的方法流程图;
[0029] 图2是本发明提供的实现嵌入式设备多电池供电的系统结构框图;
[0030] 图3是本发明实施例提供的多电池供电架构图;
[0031] 图4是本发明实施例提供的基于Android的双电池供电架构图。

具体实施方式

[0032] 以下结合附图对本发明的优选实施例进行详细说明,应当理解,以下所说明的优选实施例仅用于说明和解释本发明,并不用于限定本发明。
[0033] 图1是本发明提供的实现嵌入式设备多电池供电的方法流程图,如图1所示,步骤包括:
[0034] 步骤101、硬件层模块获取多个电池的多个电池属性信息,并将所述多个电池属性信息发送至驱动层模块。
[0035] 所述步骤101中,所述硬件层模块分别利用其多个电量检测芯片,获取多个电池的包含电池电量信息和/或电池电压信息和/或电池温度信息的多个电池属性信息,并分别利用其多个充电管理芯片,对多个电池进行充电,获取多个电池的包含充电完成信息的多个电池属性信息。
[0036] 步骤102、驱动层模块根据收到的所述多个电池属性信息,分别生成多个电池的多个设备文件,并向电池供电管理和显示模块发送供电事件。
[0037] 步骤103、电池供电管理和显示模块收到所述供电事件后,打开待读取的设备文件,并获取其中的电池属性信息,以供更新并显示相应电池的电池状态。
[0038] 所述步骤103中,所述电池供电管理和显示模块的软件框架层子模块通过硬件抽象层子模块收到供电事件后,利用硬件抽象层子模块调用驱动层模块的驱动接口,获取相应设备文件中的电池属性信息,并当所述软件框架层子模块判断当前电池电量低于预定电量和/或当前电池电压高于预定电压和/或当前电池温度高于预定温度和/或当前电池充电完成时,利用所述电池供电管理和显示模块的应用层子模块,显示包含电池电量过低和/或电池过压和/或电池过温和/或电池充电完成的电池状态。简言之,软件架构层子模块根据所述电池属性信息,判断当前电池是否电池电量过低和/或电池过压和/或电池过温和/或电池充电完成,根据判断结果,显示相应的电池状态。
[0039] 图2是本发明提供的实现嵌入式设备多电池供电的系统结构框图,如图2所示,包括硬件层模块、驱动层模块、,其中:
[0040] 所述硬件层模块用于获取多个电池的多个电池属性信息,并将所述多个电池属性信息发送至驱动层模块。其包括:用于分别获取多个电池的包含电池电量信息和/或电池电压信息和/或电池温度信息的多个电池属性信息的多个电量检测芯片,以及用于分别对多个电池进行充电,并获取多个电池的包含充电完成信息的多个电池属性信息的多个充电管理芯片。
[0041] 所述驱动层模块用于根据收到的所述多个电池属性信息,分别生成多个电池的多个设备文件,并向电池供电管理和显示模块发送供电事件。
[0042] 所述电池供电管理和显示模块用于收到所述供电事件后,打开待读取的设备文件,并获取其中的电池属性信息,以供更新并显示相应电池的电池状态。其包括:
[0043] 硬件抽象层子模块,用于通过调用驱动层模块的驱动接口,获取相应设备文件中的电池属性信息;
[0044] 软件框架层子模块,用于通过硬件抽象层子模块接收供电事件,并获取相应设备文件中的电池属性信息,根据所述电池属性信息,判断当前电池电量是否低于预定电量和/或当前电池电压是否高于预定电压和/或当前电池温度是否高于预定温度和/或当前电池是否充电完成;
[0045] 应用层子模块,用于当所述软件框架层子模块判断当前电池电量低于预定电量和/或当前电池电压高于预定电压和/或当前电池温度高于预定温度和/或当前电池充电完成时,显示包括电池电量过低和/或电池过压和/或电池过温和/或电池充电完成的电池状态。
[0046] 图3是本发明实施例提供的多电池供电架构图,本实施例将嵌入式设备多电池供电系统按照功能的差异划分为五层结构,如图3所示,每层架构独立完成特定的功能,层次间通过定义的接口实现通信,保证每层架构功能的封闭性和独立性。这五层架构由下向上依次为:
[0047] 1)硬件层
[0048] 根据嵌入式产品对电池供电时间的需求,多块电池采用线或电路对设备进行供电,配合充电管理芯片和电量检测芯片向设备的操作系统及上层软件提供电池属性信息。
[0049] 2)驱动层
[0050] 按照操作系统驱动实现接口分别实现各电池驱动,电池驱动主要完成充电管理芯片的电池充电过程的检测,电量检测芯片的电池电量、电池电压、电池电流、电池温度以及剩余时间等电池属性信息的获取。
[0051] 3)硬件抽象层
[0052] 通过调用驱动层系统内核的驱动接口,获取并向上层传递电池属性信息。
[0053] 4)软件框架层
[0054] 该层接收硬件抽象层传递的电池属性信息,向上层应用层传递需要显示的电池属性信息,并根据当前多电池状态向上层传递电池过压、过温、低电量或者关机等电池消息。
[0055] 5)应用层
[0056] 该层主要用于显示各电池的状态,以及接收到不同电池消息后向用户提示当前供电系统状态。
[0057] 其中,所述硬件层构成硬件层模块,所述驱动层构成驱动层模块,所述硬件抽象层、所述软件架构层、所述应用层构成电池供电管理和显示模块。
[0058] 本实施例的层次结构使得复杂的多电池供电系统的实现简化为五个相对独立的层次,即有利于供电系统的扩展,也有利于产品在不同操作系统的移植。
[0059] 图4是本发明实施例提供的基于Android的双电池供电架构图,以RFID手持机为例,所述手持机选用1GHz主频的处理器,512MB的DDR3内存,具有超高频、高频以及WiFi等大功耗模块,手持机整机最高功耗接近2A,正常工作功耗接近1A。为了有效增加设备的移动供电时间,根据上述分析的五层多电池供电层次架构,在手持机采用的Android系统上,如图4所示,分别实现各层次功能,实现Android双电池供电系统。
[0060] 1)硬件层
[0061] 手持机采用两块电池增长设备的供电时间,当两块电池的电压大于预设的阈值电压时自动导通,向系统供电,低于阈值电压时,自动关闭供电。
[0062] 此外两块电池分别通过TI的电量检测芯片和充电管理芯片向Android系统提供电池属性信息。
[0063] 2)驱动层
[0064] 在Android系统中采用Power Supply驱动模式实现两块电池驱动,按照电池和充电适配器的不同属性生成各自的设备文件,供上层查询电池属性信息并使用。
[0065] 在电池驱动中采用定时器的方式,定时以uevent事件的形式向上层发送消息,通知系统更新电池信息。
[0066] 3)硬件抽象层
[0067] Android系统预定义了JNI层,用于打开驱动层中生成的设备文件,获得电池电量、电池电压以及适配器是否在位等信息,由于Android的JNI层仅实现了单块电池的电池属性信息获取,因此需要在该层实现另外一块电池属性信息的获取。
[0068] 4)软件框架层
[0069] 软件框架层用于负责接收驱动层发送的uevent事件,调用硬件抽象层接口更新电池属性信息,如果电池状态发生改变,则向上层发送电池消息,通知应用层以界面显示的方式进行用户提示。
[0070] 软件框架层除了传递消息外,还负责管理供电系统,通过对电池过压过温或者电量低的检测执行不同的系统操作。
[0071] 由于Android系统默认以一块电池供电,所以对电池消息向上层的传递和供电系统的管理都需要进行相应的实现。
[0072] 5)应用层
[0073] 应用层根据软件框架层发送的电池消息显示电池信息,并对供电系统的改变进行界面用户提示等功能。对于手持机双电池供电系统,在Android系统上需要实现电池2属性显示的程序。
[0074] 综上所述,本发明具有以下技术效果:
[0075] 本发明在五层实现架构中不仅能够有效的实现多电池供电功能,而且该分层架构可移植性和可扩展性等特点也有利于嵌入式设备供电系统的开发。
[0076] 尽管上文对本发明进行了详细说明,但是本发明不限于此,本技术领域技术人员可以根据本发明的原理进行各种修改。因此,凡按照本发明原理所作的修改,都应当理解为落入本发明的保护范围。