CN105511581B - 一种基于国产飞腾处理器的电池状态控制方法 - Google Patents
一种基于国产飞腾处理器的电池状态控制方法 Download PDFInfo
- Publication number
- CN105511581B CN105511581B CN201510961024.8A CN201510961024A CN105511581B CN 105511581 B CN105511581 B CN 105511581B CN 201510961024 A CN201510961024 A CN 201510961024A CN 105511581 B CN105511581 B CN 105511581B
- Authority
- CN
- China
- Prior art keywords
- battery
- information
- structuring
- discharge
- smart
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Active
Links
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F1/00—Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
- G06F1/26—Power supply means, e.g. regulation thereof
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Charge And Discharge Circuits For Batteries Or The Like (AREA)
Abstract
本发明公开了一种基于国产飞腾处理器的电池状态控制方法,目的是提供对智能电池各种信息实时获取和对电池充放电状态控制的方法。技术方案是先构建由Smart Battery、飞腾1000A处理器、电池状态控制软件和电源管理应用程序构成的Smart Battery电池状态控制系统;电池状态控制软件按照周期T通过访问LTC4100相关的寄存器获取电池状态信息,将电池状态信息写入proc文件系统;电源管理应用程序设置一个充电电量上限阈值和一个放电电量下限阈值;电源管理应用程序按照周期T从Proc文件系统中获取结构化电池状态信息,并进行Smart Battery电池的充、放电控制。采用本发明可以以较低成本实施的基于飞腾处理器平台的Smart Battery电池状态控制,兼容性、适应性、灵活性和可扩展性好。
Description
技术领域
本发明涉及电源管理领域,具体涉及一种基于国产飞腾处理器的加固式便携计算机实现电池状态控制的方法。
背景技术
电池状态控制方法主要实现电池实时信息获取和电池充放电状态设置两个功能。电池实时信息获取是指操作系统内核从电池各个寄存器获取电池的实时状态参数,并将其写入用户空间;电池充放电状态设置是指用户空间的应用程序根据电池实时信息设置电池的充放电状态。该方法一般用于实现便携计算机的电池信息获取和控制,从而支撑电源管理相关功能的实现。电池实时信息一般包括:当前是否连接电源;电池充放电状态,当前电池电量信息,充电状态下充满电池的剩余时间;放电状态下电池剩余工作时间等。电池实时信息一般保存在电池寄存器中,由电池实时更新。电池的充放电状态设置是指用户可以根据需要设置充电上限阈值和放电下限阈值,当处于充电状态的电池电量达到充电上限阈值时,电池停止充电,当处于放电状态且连通电源的电池电量低于放电下限阈值时,电池由放电状态改为充电状态。
目前,基于国产飞腾处理器平台的便携式计算机处于起步研制阶段。基于飞腾处理器平台的非加固式便携式计算机已经实现了一种基于可编程的片上系统(ProgrammedSystem on Chip,PSOC)的电池信息获取功能。其电池信息获取主要基于PSOC硬件,该方法中电池通过硬件PSOC与国产飞腾处理器的I2C(Inter-Integrated Circuit,I2C)控制器相连,电池信息通过PSOC芯片自动获取并输出给驱动程序,由驱动程序写入用户空间。
Smart Battery是一款用于加固式便携式计算机的智能电池。与传统用于非加固式飞腾便携计算机的基于PSOC的普通电池相比,具有更高的可靠性和环境适应性。
如图1中硬件逻辑结构部分所示,Smart Battery由锂聚合物充电电池、用于供电的电源适配器、微控单元(Micro Controller Unit,MCU)和电池管理芯片LTC4100四个核心构件组成。锂聚合物充电电池是将化学能转换为电能的供电装置,电源适配器是由电源变压器和整流电路组成的供电电源变换设备。微控单元MCU控制锂聚合物充电电池放电,并控制电源适配器对锂聚合物充电电池进行充电。电池管理芯片LTC4100的主要功能是支撑内核空间中驱动程序电池状态控制软件访问锂聚合物充电电池相关寄存器,实现对电池状态信息的实时获取;对微控单元MCU何种情况下进行充放电进行决策。
由于加固与非加固电池物理结构差异较大,导致非加固式便携计算机的电池无法用于加固式便携计算机,并且由于在硬件设计和状态控制方式等方面都存在较大的差异性,导致基于PSOC的电池状态控制方案无法直接使用在Smart Battery的电池状态控制方案中。例如:在底层硬件设计方面,PSOC方案中处理器仅与PSOC通过I2C总线互连,SmartBattery方案中处理器直接与智能电池相连;在信息获取方面,PSOC方案的获取实时信息代码和通过代码获取的实时信息都保存在片上系统(System on Chip,SOC)中,而SmartBattery中没有片上系统,表征电池状态的各种原始数据需要被实时获取至电池信息获取驱动软件中;在状态控制方面,PSOC方案不支持应用程序对电池充放电状态的设置。因此需要设计一种新方法支持在加固便携式计算机使用智能电池。
综上所述,国产飞腾处理器平台目前无法支持Smart Battery电池状态控制,严重制约了国产飞腾处理器在加固式便携计算机进行电源管理功能的实现,并会影响到基于飞腾平台加固便携计算机的应用和推广。
发明内容
本发明要解决的技术问题是,提供对智能电池各种信息实时获取和对电池充放电状态控制的方法。该方法实时获取非结构化的电池信息至驱动软件中并进行转换处理,非结构化的电池信息经过转换处理后变为结构化的信息,并被写入支持内核空间与用户空间通信的文件系统中。电池信息被结构化后,用户空间电池管理应用程序无需修改代码就可以直接访问电池信息,同时应用程序可以根据用户特定需求设置电池充放电状态转换的阈值。该方法具有较好兼容性,较高适应性、灵活性和可扩展性,是一种以较低成本实施的基于飞腾处理器平台的Smart Battery电池状态控制方法。
本发明技术方案包括以下步骤:
第一步,构建Smart Battery电池状态控制系统,它由Smart Battery、飞腾1000A处理器、电池状态控制软件和电源管理应用程序四个部分构成。Smart Battery与飞腾1000A处理器通过系统管理总线(System Management Bus,SMB)的时钟线和数据线相连;飞腾1000A处理器通过执行电池状态控制软件,实现对Smart Battery寄存器的访问,获取电池状态信息;电源管理应用程序通过对电池状态信息、充电电量上限阈值和放电电量下限阈值进行决策实现对电池充放电状态的控制。
如图1硬件逻辑结构部分所示,Smart Battery的锂聚合物充电电池、电源适配器、微控单元MCU和电池管理芯片LTC4100等四个核心构件作为飞腾1000A处理器的从设备,通过SMB时钟线和SMB数据线连接至FT1000A处理器内置AMBA(Advanced MicrocontrollerBus Architecture)总线下I2C控制器第四个I2C接口(即I2C接口3)。实践证明飞腾处理器I2C总线与X86、PowerPC、ARM(Advanced Reduced Machine)等架构处理器的I2C总线相比,信号能力偏弱。因此,与X86、PowerPC和ARM等架构处理器的I2C总线设备连接方案不同,Smart Battery电池状态控制系统中新增一个3.3V4.7KΩ电阻与Smart Battery并联,保证了信号由低到高跃升的斜率足够大,可以有效识别信号所有上升沿。飞腾1000A处理器通过运行电池状态控制软件,对电池管理芯片LTC4100进行控制和访问,实现电池实时信息获取和电池充放电状态控制。
电池状态控制软件是位于操作系统内核空间的驱动程序,由I2C驱动子模块、驱动与设备匹配子模块、电池信息封装子模块和核内外通信驱动子模块构成,如图1中软件逻辑结构部分所示。
I2C驱动子模块负责将Smart Battery的锂聚合物充电电池、电源适配器、微控单元MCU和电池管理芯片LTC4100注册为I2C控制器的从设备,并将设备注册信息传递给驱动与设备匹配子模块。设备注册信息包括设备识别号(即设备ID)、从设备地址和寄存器偏移。设备识别号是设备在驱动程序中的唯一标识。从设备地址是I2C协议中规定的由7位地址和一位R/W读写位组成的器件地址。寄存器偏移是从设备地址上寄存器的相对地址,通过从设备地址和寄存器偏移可以定位到该设备的任一寄存器。FT1000A处理器可以通过设备注册信息中从设备地址识别Smart Battery所在的I2C接口,并通过寄存器偏移访问SmartBattery中的寄存器。
驱动与设备匹配子模块定义了I2C驱动支持的设备识别号和驱动操作函数。该设备识别号可以存在多个,用于支持同一类型的多个Smart Battery设备。I2C驱动支持的设备识别号用于匹配I2C驱动子模块中注册的设备识别号,如果两个设备识别号匹配,表示当前的I2C驱动支持I2C设备驱动子模块注册的Smart Battery设备。驱动操作函数是控制电池信息需要调用的基本函数,包括打开、关闭、读、写以及输入输出控制函数。打开函数用于打开文件,关闭函数用于关闭文件,读函数用于读文件,写函数用于写文件,输入输出控制函数用于操作系统内核空间和用户空间控制权的转换,用于支持电源管理应用程序读取用户空间的Proc文件系统(Proc文件系统是一个虚拟文件系统,通过它可以在内核空间和用户空间之间进行通信)中的结构化电池信息。在驱动与设备匹配子模块接收来自于I2C驱动子模块的设备注册信息并对设备识别号比对匹配后,向电池信息封装子模块发送驱动操作函数信息供其调用。
电池信息封装子模块负责电池信息的获取和封装。电池信息封装子模块从驱动与设备匹配子模块接收操作函数信息,调用读函数从电池管理芯片LTC4100周期性实时获取非结构化电池状态信息,对非结构化电池状态信息进行结构化处理和转换,封装形成上层应用程序可直接识别读取的结构化电池状态信息,并将结构化电池状态信息发送给核内外通信子模块。非结构化电池状态信息是指Smart Battery寄存器中十六进制形式的数值。结构化电池状态信息是指便于用户理解的格式化信息,例如电池生产时间2012-08-12、剩余电量百分比90%。处理和转换方法因表示电池状态信息寄存器的不同而不同:例如对于表示电池生产时间的寄存器,电池信息封装函数需将非结构化的十六进制数值转换为年月日格式的结构化数值;对于表示电池电量的寄存器数值,电池信息封装函数需要将非结构化的十六进制数值转换为百分比格式的结构化数值,其他信息主要通过封装完成十六进制向十进制的转换。
核内外通信子模块从电池信息封装子模块接收结构化电池状态信息,将结构化电池状态信息采用Smart Battery目录及文件的形式写入用户空间的Proc文件系统,供用户空间的电源管理应用程序读取结构化电池状态信息。
电源管理应用程序由电池信息读取模块、大小端转换模块、充放电决策模块、充放电状态设置模块构成。
电池信息读取模块负责实时从Proc文件系统中读取结构化电池状态信息。与X86、PowerPC、ARM等架构处理器采用小端字节序不同,飞腾处理器采用大端字节序,因此结构化电池状态信息为大端字节序。
大小端转换模块将从电池信息读取模块得到的大端字节序的结构化电池状态信息转换为小端字节序,并将小端字节序的结构化电池状态信息发送给充放电决策模块。
充放电决策模块根据结构化电池状态信息进行决策,通过核内外通信子模块向电池管理芯片LTC4100发出指令,LTC4100继续向微控单元MCU发送指令,让电池切换为放电状态、充电状态或者不充电不放电状态。
Smart Battery的充放电次数有限,为了降低不必要的充放电次数延长电池寿命,电源管理应用程序支持用户依据个人偏好设定充电上限阈值和放电下限阈值,进行充放电控制。充放电状态设置模块负责接收用户对电池充放电状态改变的阈值,并将阈值传递给电池状态控制软件。
第二步,电池状态控制软件按照周期T(T通常取50ms,由电池信息封装子模块设置)通过访问Smart Battery的电池管理芯片LTC4100相关的寄存器获取非结构化电池状态信息,对非结构化电池状态信息进行结构化处理后得到结构化电池状态信息,将结构化电池状态信息写入proc文件系统Smart Battery目录下的文件中;同时电源管理应用程序按照周期T从Proc文件系统Smart Battery目录下的文件中获取结构化电池状态信息,并进行Smart Battery电池的充、放电控制。
2.1电池状态控制软件的I2C驱动子模块通过调用操作系统中I2C设备注册函数向飞腾1000A处理器的I2C控制器注册Smart Battery设备信息,包括设备ID、从设备地址和寄存器偏移,并将该Smart Battery设备注册信息发送给驱动与设备匹配子模块;
2.2电池状态控制软件的驱动与设备匹配子模块从I2C驱动子模块获得设备注册信息(即设备ID、从设备地址和寄存器偏移),并将设备ID与驱动与设备匹配子模块自身所声明支持的设备ID进行匹配,具体步骤如下:
2.2.1如果设备ID与驱动与设备匹配子模块自身所声明支持的设备ID不一致,则表示当前操作系统中没有支持该Smart Battery电池设备的驱动,转第三步;
2.2.2如果设备ID与驱动与设备匹配子模块自身所声明支持的设备ID一致,则表示当前操作系统中有支持该Smart Battery电池设备的驱动,驱动与设备匹配子模块定义用于实现电池实时信息获取和电池充放电状态设置的驱动操作函数,并将驱动操作函数和I2C设备注册信息发送给电池信息封装子模块,执行2.3步。
2.3电池状态控制软件的电池信息封装子模块按2.3.1~2.3.3的步骤从驱动与设备匹配子模块接收操作函数信息、I2C设备注册信息,按照周期T(T通常取50ms,由电池信息封装子模块设置)从电池管理芯片LTC4100中获取非结构化电池状态信息,同时将非结构化电池状态信息转换为结构化电池状态信息,并将结构化电池状态信息写入proc文件系统中;同时,电源管理应用程序按2.3.4~2.3.7的步骤(其中2.3.5~2.3.7按照周期T执行)从Proc文件系统中获取结构化电池状态信息,并进行Smart Battery电池的充、放电控制。方法是:
2.3.1电池信息封装子模块根据接收到的操作函数信息以及I2C设备注册信息,获取非结构化电池状态信息,具体步骤如下:
2.3.1.1电池信息封装子模块通过驱动操作函数中的读函数向飞腾1000A处理器发送访问请求,访问请求中包含I2C控制器下从设备地址和寄存器偏移;
2.3.1.2飞腾1000A处理器根据访问请求中包含的I2C控制器下从设备地址和寄存器偏移向将访问请求发送给Smart Battery的电池管理芯片LTC4100;
2.3.1.3 Smart Battery的电池管理芯片LTC4100从飞腾1000A处理器接收到访问请求后,将读请求中包含的从设备地址和寄存器偏移所对应的寄存器值即非结构化电池状态信息返回给电池信息封装子模块。
2.3.2电池信息封装子模块将非结构化电池状态信息转换为结构化电池状态信息,并将结构化电池状态信息发送给核内外通信驱动子模块。
需要进行结构化转换的信息一般包括:是否连接电源、当前电池电量、电池的当前电压、电池的当前电流、剩余电量百分比、电池放电至0%的剩余时间、电池充放电状态、电池的额定容量、电池的额定电压、电池实际容量、平均放空时间、平均充满时间、生产日期、充电电流、充电电压、温度、生产时间。
2.3.3核内外通信驱动子模块获得结构化的电池状态信息后,通过写文件的方式将结构化电池状态信息写入到Proc文件系统中。具体步骤如下:
2.3.3.1核内外通信驱动子模块判断在Proc文件系统中是否存在Smart Battery目录和文件;如果不存在,创建与Smart Battery目录和文件,转步骤2.3.3.2;否则直接转步骤2.3.3.2;
2.3.3.2核内外通信驱动子模块调用驱动操作函数中的打开函数,打开SmartBattery目录下的相应文件;
2.3.3.3核内外通信驱动子模块将结构化电池状态信息写入Smart Battery目录下的相应文件中;
2.3.3.4核内外通信驱动子模块调用驱动操作函数中的关闭函数,关闭SmartBattery目录下的相应文件。本周期结束,转步骤2.3.1。
2.3.4电源管理应用程序接收用户输入,设置充电电量上限阈值和放电电量下限阈值。具体步骤如下:
2.3.4.1电源管理应用程序的充放电状态设置模块接收用户输入充电电量上限阈值和放电电量下限阈值。
2.3.4.2电源管理应用程序的充放电状态设置模块将充电电量上限阈值和放电电量下限阈值写入到Proc文件系统的Smart Battery目录下的文件中。
2.3.5电源管理应用程序的电池信息读取模块从Proc文件系统的Smart Battery目录下的文件中获取大端字节序的结构化电池状态信息,具体步骤如下:
2.3.5.1电源管理应用程序的电池信息读取模块从Proc文件系统的SmartBattery目录下的文件中读取大端字节序的结构化电池状态信息;
2.3.5.2电池信息读取模块判断大端字节序的结构化电池状态信息是否为空,如果为空,本周期结束,转步骤2.3.5.1;否则转步骤2.3.5.3;
2.3.5.3电池信息读取模块将大端字节序的结构化电池状态信息发送给大小端转换模块,转步骤2.3.6。
2.3.6大小端转换模块接收大端字节序的结构化电池状态信息,将其转换为小端字节序的结构化电池状态信息,并将小端字节序的结构化电池状态信息发送给充放电决策模块。
2.3.7充放电决策模块接收结构化电池状态信息,读出电池当前电量、是否连接电源、电池充放电状态(如01电池处于充电状态、10电池处于放电状态、11电池处于不充电和不放电状态)和电池充放电阈值后,根据当前不同的状态进行电池充放电决策,方法是:
2.3.7.1若目前电池是连接电源且电池处于放电状态,并且当电池电量低于放电电量下限阈值(例如30%)时,充放电决策模块发出充电指令,让电池切换到充电状态。具体步骤如下:
2.3.7.1.1充放电决策模块将电池充放电状态写为01,写入proc文件系统中SmartBattery目录下的文件,并通过调用输入输出控制函数将电池充放电状态发送给核内外通信子模块,将用户空间控制权转换为操作系统内核空间控制权。
2.3.7.1.2核内外通信子模块接收到电池充放电状态后,将电池充放电状态发送给电池管理芯片LTC4100。
2.3.7.1.3电池管理芯片LTC4100接收到电池充放电状态后,控制微控单元MCU向电源适配器发送给电池充电的指令,电源适配器收到MCU的充电指令,给锂聚合物充电电池充电,本周期结束,转步骤2.3.5;
2.3.7.2若目前电池是连接电源且电池处于放电状态,且当电池电量不低于放电电量下限阈值(例如30%)时,充放电决策模块发出不充电不放电指令,让电池切换到不充电不放电状态。具体步骤如下:
2.3.7.2.1充放电决策模块将电池充放电状态写为11,写入proc文件系统中SmartBattery目录下的文件,并通过调用输入输出控制函数将电池充放电状态发送给核内外通信子模块,将用户空间控制权转换为操作系统内核空间控制权。
2.3.7.2.2核内外通信子模块接收到电池充放电状态后,将电池充放电状态发送给电池管理芯片LTC4100。
2.3.7.2.3 LTC4100向微控单元MCU发送指令,控制微控单元MCU向电源适配器发送指令,由电源适配器直接供电,锂聚合物充电电池处于既不充电也不放电的状态,本周期结束,转步骤2.3.5。
2.3.7.3若显示目前电池是没有连接电源且电池处于充电状态,充放电决策模块发出放电指令让电池切换为放电状态。具体步骤如下:
2.3.7.3.1充放电决策模块将电池充放电状态写为10,写入proc文件系统中SmartBattery目录下的文件,并通过调用输入输出控制函数将电池充放电状态发送给核内外通信子模块,将用户空间控制权转换为操作系统内核空间控制权。
2.3.7.3.2核内外通信子模块接收到电池充放电状态后,将电池充放电状态发送给电池管理芯片LTC4100。
2.3.7.3.3 LTC4100向微控单元MCU发送指令,MCU向锂聚合物充电电池发出放电指令,由锂聚合物充电电池直接供电,本周期结束,转步骤2.3.5。
2.3.7.4若目前电池是连接电源且电池处于充电状态,并且电池电量低于充电上限阈值(例如99%),继续充电,转步骤2.3.7.8;
2.3.7.5若目前电池是连接电源且电池处于充电状态,并且电池电量达到充电上限阈值(例如99%),充放电决策模块采用2.3.7.2的方法发出不充电不放电指令,让电池切换到不充电不放电状态,转步骤2.3.5;
2.3.7.6若目前电池是连接电源,电池处于不充电不放电状态,转步骤2.3.7.8
2.3.7.7若目前电池是没有连接电源,电池处于放电状态,继续放电,转步骤2.3.7.8;
2.3.7.8不需要改变原有充放电控制策略,本周期结束,转步骤2.3.5。
第三步,结束。
采用本发明可以达到如下的有益效果:
1、本发明实现方式简单。本发明通过向I2C控制器注册I2C从设备和设计开发I2C设备驱动的方式,实现了Smart Battery电池信息获取。
2、支持用户依据个人偏好设定充电上限阈值和放电下限阈值,通过获取的SmartBattery电池信息进行充放电控制,降低不必要的充放电次数,延长电池寿命。
附图说明
图1为本发明第一步构建的Smart Battery电池状态控制系统的逻辑结构示意图。
图2为本发明的总体流程图。
图3为本发明第二步电池状态控制软件获取结构化电池信息,电源管理应用程序按照结构化电池信息进行Smart Battery电池的充、放电控制流程图。
图4为本发明第2.3.1-2.3.3步电池状态控制软件按照周期T获取结构化电池信息流程图。
图5为本发明第2.3.5-2.3.7步电源管理应用程序按照周期T进行充放电控制流程图。
具体实施方式
图1为本发明第一步构建的Smart Battery电池状态控制系统的逻辑结构示意图。如图1硬件逻辑结构所示,Smart Battery电池状态控制系统由Smart Battery、飞腾1000A处理器、电池状态控制软件和电源管理应用程序四个部分构成。Smart Battery的锂聚合物充电电池、电源适配器、微控单元MCU和电池管理芯片LTC4100等四个核心构件作为飞腾1000A处理器的从设备,通过SMB时钟线和SMB数据线连接至FT1000A处理器内置AMBA(Advanced Microcontroller Bus Architecture)总线下I2C控制器第四个I2C接口(即I2C接口3)。I2C从设备的地址是7位,使用时需要通过移位和补位操作补全8位地址。本实施例中两个I2C从设备使用的地址分别为0x16和0x12。Smart Battery电池状态控制系统中使用了上升沿触发有效机制,因此新增一个3.3V 4.7KΩ电阻与Smart Battery并联,保证了信号由低到高跃升的斜率足够大,确保每一个上升沿信号都能被系统准确捕捉到。
如图1软件逻辑结构所示,电池状态控制软件是位于操作系统内核空间的驱动程序,由I2C驱动子模块、驱动与设备匹配子模块、电池信息封装子模块和核内外通信驱动子模块构成,飞腾1000A处理器通过执行电池状态控制软件,实现对Smart Battery寄存器的访问,获取电池状态信息。电源管理应用程序位于操作系统用户空间,由电池信息读取模块、大小端转换模块、充放电决策模块、充放电状态设置模块构成。电源管理应用程序通过对电池状态信息、充电电量上限阈值和放电电量下限阈值进行决策实现对电池充放电状态的控制。
图2为本发明的总体流程图。具体流程如下:
第一步,构建Smart Battery电池状态控制系统,它由Smart Battery、飞腾1000A处理器、电池状态控制软件和电源管理应用程序四个部分构成。
第二步,电池状态控制软件按照周期T(T通常取50ms,由电池信息封装子模块设置)通过访问Smart Battery的电池管理芯片LTC4100相关的寄存器获取非结构化电池状态信息,对非结构化电池状态信息进行结构化处理后得到结构化电池状态信息,将结构化电池状态信息写入proc文件系统Smart Battery目录下的文件中;同时电源管理应用程序按照周期T从Proc文件系统Smart Battery目录下的文件中获取结构化电池状态信息,并进行Smart Battery电池的充、放电控制。
第三步,结束。
图3为本发明第二步电池状态控制软件获取结构化电池信息,电源管理应用程序按照结构化电池信息进行Smart Battery电池的充、放电控制流程图。具体流程如下:
2.1电池状态控制软件的I2C驱动子模块通过调用操作系统中I2C设备注册函数向飞腾1000A处理器的I2C控制器注册Smart Battery设备信息,包括设备ID、从设备地址和寄存器偏移,并将该Smart Battery设备注册信息发送给驱动与设备匹配子模块;
2.2电池状态控制软件的驱动与设备匹配子模块从I2C驱动子模块获得设备注册信息(即设备ID、从设备地址和寄存器偏移),并将设备ID与驱动与设备匹配子模块自身所声明支持的设备ID进行匹配,具体步骤如下:
2.2.1如果设备ID与驱动与设备匹配子模块自身所声明支持的设备ID不一致,则表示当前操作系统中没有支持该Smart Battery电池设备的驱动,转第三步;
2.2.2如果设备ID与驱动与设备匹配子模块自身所声明支持的设备ID一致,则表示当前操作系统中有支持该Smart Battery电池设备的驱动,驱动与设备匹配子模块定义用于实现电池实时信息获取和电池充放电状态设置的驱动操作函数,并将驱动操作函数和I2C设备注册信息发送给电池信息封装子模块,执行2.3步。
2.3电池状态控制软件的电池信息封装子模块按2.3.1~2.3.3的步骤从驱动与设备匹配子模块接收操作函数信息、I2C设备注册信息,按照周期T(T通常取50ms,由电池信息封装子模块设置)从电池管理芯片LTC4100中获取非结构化电池状态信息,同时将非结构化电池状态信息转换为结构化电池状态信息,并将结构化电池状态信息写入proc文件系统Smart Battery目录下的文件中。该文件处于内存中,实现了内核与用户空间中进程之间的通信,可以在进程运行时动态地读写内核内部的数据结构或改变内核设置。同时,电源管理应用程序按2.3.5~2.3.7的步骤按照周期T从Proc文件系统Smart Battery目录下的文件中获取结构化电池状态信息,并进行Smart Battery电池的充、放电控制。
图4为本发明第2.3.1-2.3.3步电池状态控制软件按照周期T获取结构化电池信息流程图。具体流程如下:
2.3.1电池信息封装子模块根据接收到的操作函数信息以及I2C设备注册信息,获取非结构化电池状态信息,具体步骤如下:
2.3.1.1电池信息封装子模块通过驱动操作函数中的读函数向飞腾1000A处理器发送访问请求;
2.3.1.2飞腾1000A处理器根据访问请求中包含的I2C控制器下从设备地址和寄存器偏移向将访问请求发送给Smart Battery的电池管理芯片LTC4100;
2.3.1.3 Smart Battery的电池管理芯片LTC4100从飞腾1000A处理器接收到访问请求后,将读请求中包含的从设备地址和寄存器偏移所对应的寄存器值即非结构化电池状态信息返回给电池信息封装子模块。
2.3.2电池信息封装子模块将非结构化电池状态信息转换为结构化电池状态信息,并将结构化电池状态信息发送给核内外通信驱动子模块。
2.3.3核内外通信驱动子模块获得结构化的电池状态信息后,通过写文件的方式将结构化电池状态信息写入到Proc文件系统中。具体步骤如下:
2.3.3.1核内外通信驱动子模块判断在Proc文件系统中是否存在Smart Battery目录和文件;如果不存在,创建与Smart Battery目录和文件,转步骤2.3.3.2;否则直接转步骤2.3.3.2;
2.3.3.2核内外通信驱动子模块调用驱动操作函数中的打开函数,打开SmartBattery目录下的相应文件;
2.3.3.3核内外通信驱动子模块将结构化电池状态信息写入Smart Battery目录下的相应文件中;
2.3.3.4核内外通信驱动子模块调用驱动操作函数中的关闭函数,关闭SmartBattery目录下的相应文件。
图5为本发明第2.3.5-2.3.7步电源管理应用程序按照周期T进行充放电控制流程图。具体流程如下:
2.3.5电源管理应用程序的电池信息读取模块从Proc文件系统的Smart Battery目录下的文件中获取大端字节序的结构化电池状态信息,具体步骤如下:
2.3.5.1电源管理应用程序的电池信息读取模块从Proc文件系统的SmartBattery目录下的文件中读取大端字节序的结构化电池状态信息;
2.3.5.2电池信息读取模块判断大端字节序的结构化电池状态信息是否为空,如果为空,本周期结束,转步骤2.3.5.1;否则转步骤2.3.5.3;
2.3.5.3电池信息读取模块将大端字节序的结构化电池状态信息发送给大小端转换模块,转步骤2.3.6。
2.3.6大小端转换模块接收大端字节序的结构化电池状态信息,将其转换为小端字节序的结构化电池状态信息,并将小端字节序的结构化电池状态信息发送给充放电决策模块。
2.3.7充放电决策模块接收结构化电池状态信息,读出电池当前电量、是否连接电源、电池充放电状态(如01电池处于充电状态、10电池处于放电状态、11电池处于不充电和不放电状态)和电池充放电阈值后,根据当前不同的状态进行电池充放电决策,方法是:
2.3.7.1若目前电池是连接电源且电池处于放电状态,并且当电池电量低于充电电量下限阈值(例如30%)时,充放电决策模块发出充电指令,让电池切换到充电状态。具体步骤如下:
2.3.7.1.1充放电决策模块将电池充放电状态写为01,写入proc文件系统中SmartBattery目录下的文件,并通过调用输入输出控制函数将电池充放电状态发送给核内外通信子模块,将用户空间控制权转换为操作系统内核空间控制权。
2.3.7.1.2核内外通信子模块接收到电池充放电状态后,根据从设备地址和寄存器偏移计算出电池充放电状态的寄存器地址,并通过向该地址发出写寄存器的命令,将电池充放电状态发送给电池管理芯片LTC4100。
2.3.7.1.3电池管理芯片LTC4100接收到电池充放电状态后,控制微控单元MCU向电源适配器发送给电池充电的指令,电源适配器收到MCU的充电指令,给锂聚合物充电电池充电,本周期结束,转步骤2.3.5;
2.3.7.2若目前电池是连接电源且电池处于放电状态,且当电池电量不低于充电电量下限阈值(例如30%)时,充放电决策模块发出不充电不放电指令,让电池切换到不充电不放电状态。具体步骤如下:
2.3.7.2.1充放电决策模块将电池充放电状态写为11,写入proc文件系统中SmartBattery目录下的文件,并通过调用输入输出控制函数将电池充放电状态发送给核内外通信子模块,将用户空间控制权转换为操作系统内核空间控制权。
2.3.7.2.2核内外通信子模块接收到电池充放电状态后,根据从设备地址和寄存器偏移计算出电池充放电状态的寄存器地址,并通过向该地址发出写寄存器的命令,将电池充放电状态发送给电池管理芯片LTC4100。
2.3.7.2.3 LTC4100向微控单元MCU发送指令,控制微控单元MCU向电源适配器发送指令,由电源适配器直接供电,锂聚合物充电电池处于既不充电也不放电的状态,本周期结束,转步骤2.3.5。
2.3.7.3若显示目前电池是没有连接电源且电池处于充电状态,充放电决策模块发出放电指令让电池切换为放电状态。具体步骤如下:
2.3.7.3.1充放电决策模块将电池充放电状态写为10,写入proc文件系统中SmartBattery目录下的文件,并通过调用输入输出控制函数将电池充放电状态发送给核内外通信子模块,将用户空间控制权转换为操作系统内核空间控制权。
2.3.7.3.2核内外通信子模块接收到电池充放电状态后,根据从设备地址和寄存器偏移计算出电池充放电状态的寄存器地址,并通过向该地址发出写寄存器的命令,将电池充放电状态发送给电池管理芯片LTC4100。
2.3.7.3.3 LTC4100向微控单元MCU发送指令,MCU向锂聚合物充电电池发出放电指令,由锂聚合物充电电池直接供电,本周期结束,转步骤2.3.5。
2.3.7.4若目前电池是连接电源且电池处于充电状态,并且电池电量低于充电上限阈值(例如99%),继续充电,转步骤2.3.7.8;
2.3.7.5若目前电池是连接电源且电池处于充电状态,并且电池电量达到充电上限阈值(例如99%),充放电决策模块发出不充电不放电指令,让电池切换到不充电不放电状态,转步骤2.3.7.2.1;
2.3.7.6若目前电池是连接电源,电池处于不充电不放电状态,转步骤2.3.7.8
2.3.7.7若目前电池是没有连接电源,电池处于放电状态,继续放电,转步骤2.3.7.8;
2.3.7.8不需要改变原有充放电控制策略,本周期结束,转步骤2.3.5。
Claims (12)
1.一种基于国产飞腾处理器的电池状态控制方法,其特征在于包括以下步骤:
第一步,构建Smart Battery电池状态控制系统,它由Smart Battery、飞腾1000A处理器、电池状态控制软件和电源管理应用程序四个部分构成;Smart Battery与飞腾1000A处理器通过系统管理总线SMB的时钟线和数据线相连;电源管理应用程序通过对电池状态信息、充电电量上限阈值和放电电量下限阈值进行决策实现对电池充放电状态的控制;
Smart Battery的锂聚合物充电电池、电源适配器、微控单元MCU和电池管理芯片LTC4100作为飞腾1000A处理器的从设备,通过SMB时钟线和SMB数据线连接至飞腾1000A处理器内置AMBA总线下I2C控制器第四个I2C接口即I2C接口3;Smart Battery电池状态控制系统中新增一个电阻与Smart Battery并联;飞腾1000A处理器通过运行电池状态控制软件,对电池管理芯片LTC4100进行控制和访问,实现电池实时信息获取和电池充放电状态控制;
电池状态控制软件是位于操作系统内核空间的驱动程序,由I2C驱动子模块、驱动与设备匹配子模块、电池信息封装子模块和核内外通信驱动子模块构成;
I2C驱动子模块负责将Smart Battery的锂聚合物充电电池、电源适配器、微控单元MCU和电池管理芯片LTC4100注册为I2C控制器的从设备,并将设备注册信息传递给驱动与设备匹配子模块;设备注册信息包括设备识别号即设备ID、从设备地址和寄存器偏移,设备识别号是设备在驱动程序中的唯一标识,从设备地址是I2C协议中规定的由7位地址和一位R/W读写位组成的器件地址,寄存器偏移是从设备地址上寄存器的相对地址;飞腾1000A处理器通过设备注册信息中从设备地址识别Smart Battery所在的I2C接口,并通过寄存器偏移访问Smart Battery中的寄存器;
驱动与设备匹配子模块定义了I2C驱动支持的设备识别号和驱动操作函数;I2C驱动支持的设备识别号用于匹配I2C驱动子模块中注册的设备识别号,如果两个设备识别号匹配,表示当前的I2C驱动支持I2C设备驱动子模块注册的Smart Battery设备;驱动操作函数是控制电池信息需要调用的基本函数,包括打开、关闭、读、写以及输入输出控制函数;打开函数用于打开文件,关闭函数用于关闭文件,读函数用于读文件,写函数用于写文件,输入输出控制函数用于操作系统内核空间和用户空间控制权的转换,用于支持电源管理应用程序读取用户空间的Proc文件系统中的结构化电池信息,在驱动与设备匹配子模块接收来自于I2C驱动子模块的设备注册信息并对设备识别号比对匹配后,向电池信息封装子模块发送驱动操作函数信息供其调用;
电池信息封装子模块负责电池信息的获取和封装;电池信息封装子模块从驱动与设备匹配子模块接收操作函数信息,调用读函数从电池管理芯片LTC4100周期性实时获取非结构化电池状态信息,对非结构化电池状态信息进行结构化处理和转换,封装形成上层应用程序可直接识别读取的结构化电池状态信息,并将结构化电池状态信息发送给核内外通信子模块;非结构化电池状态信息是指Smart Battery寄存器中十六进制形式的数值,结构化电池状态信息是指用用户理解的格式化信息;
核内外通信子模块从电池信息封装子模块接收结构化电池状态信息,将结构化电池状态信息采用Smart Battery目录及文件的形式写入用户空间的Proc文件系统,供用户空间的电源管理应用程序读取结构化电池状态信息;
电源管理应用程序由电池信息读取模块、大小端转换模块、充放电决策模块、充放电状态设置模块构成;
电池信息读取模块负责实时从Proc文件系统中读取结构化电池状态信息;
大小端转换模块将从电池信息读取模块得到的大端字节序的结构化电池状态信息转换为小端字节序,并将小端字节序的结构化电池状态信息发送给充放电决策模块;
充放电决策模块根据结构化电池状态信息进行决策,通过核内外通信子模块向电池管理芯片LTC4100发出指令,电池管理芯片LTC4100继续向微控单元MCU发送指令,让电池切换为放电状态、充电状态或者不充电不放电状态;
充放电状态设置模块负责接收用户对电池充放电状态改变的阈值,并将阈值传递给电池状态控制软件;
第二步,电池状态控制软件按照周期T通过访问Smart Battery的电池管理芯片LTC4100相关的寄存器获取非结构化电池状态信息,对非结构化电池状态信息进行结构化处理后得到结构化电池状态信息,将结构化电池状态信息写入proc文件系统SmartBattery目录下的文件中;同时电源管理应用程序按照周期T从Proc文件系统SmartBattery目录下的文件中获取结构化电池状态信息,并进行Smart Battery电池的充、放电控制:
2.1电池状态控制软件的I2C驱动子模块通过调用操作系统中I2C设备注册函数向飞腾1000A处理器的I2C控制器注册Smart Battery设备信息,包括设备ID、从设备地址和寄存器偏移,并将该Smart Battery设备注册信息发送给驱动与设备匹配子模块;
2.2电池状态控制软件的驱动与设备匹配子模块从I2C驱动子模块获得设备ID、从设备地址和寄存器偏移,并将设备ID与驱动与设备匹配子模块自身所声明支持的设备ID进行匹配,具体步骤如下:
2.2.1如果设备ID与驱动与设备匹配子模块自身所声明支持的设备ID不一致,则表示当前操作系统中没有支持该Smart Battery电池设备的驱动,转第三步;
2.2.2如果设备ID与驱动与设备匹配子模块自身所声明支持的设备ID一致,驱动与设备匹配子模块定义用于实现电池实时信息获取和电池充放电状态设置的驱动操作函数,并将驱动操作函数和I2C设备注册信息发送给电池信息封装子模块,执行2.3步;
2.3电池状态控制软件的电池信息封装子模块按2.3.1~2.3.3的步骤从驱动与设备匹配子模块接收操作函数信息、I2C设备注册信息,按照周期T从电池管理芯片LTC4100中获取非结构化电池状态信息,同时将非结构化电池状态信息转换为结构化电池状态信息,并将结构化电池状态信息写入proc文件系统中;同时,电源管理应用程序按2.3.4~2.3.7的步骤从Proc文件系统中获取结构化电池状态信息,并进行Smart Battery电池的充、放电控制,方法是:
2.3.1电池信息封装子模块根据接收到的操作函数信息以及I2C设备注册信息,获取非结构化电池状态信息;
2.3.2电池信息封装子模块将非结构化电池状态信息转换为结构化电池状态信息,并将结构化电池状态信息发送给核内外通信驱动子模块;
2.3.3核内外通信驱动子模块通过写文件的方式将结构化电池状态信息写入到Proc文件系统中,本周期结束,转步骤2.3.1;
2.3.4电源管理应用程序接收用户输入,设置充电电量上限阈值和放电电量下限阈值;
2.3.5电源管理应用程序的电池信息读取模块从Proc文件系统的Smart Battery目录下的文件中获取大端字节序的结构化电池状态信息;
2.3.6大小端转换模块接收大端字节序的结构化电池状态信息,将其转换为小端字节序的结构化电池状态信息,并将小端字节序的结构化电池状态信息发送给充放电决策模块;
2.3.7充放电决策模块接收结构化电池状态信息,读出电池当前电量、是否连接电源、电池充放电状态和电池充放电阈值后,根据当前不同的状态进行电池充放电决策,电池充放电状态有3种,01表示电池处于充电状态、10表示电池处于放电状态、11表示电池处于不充电和不放电状态,方法是:
2.3.7.1若目前电池是连接电源且电池处于放电状态,并且当电池电量低于放电电量下限阈值时,充放电决策模块发出充电指令,让电池切换到充电状态,电源适配器给锂聚合物充电电池充电,本周期结束,转步骤2.3.5;
2.3.7.2若目前电池是连接电源且电池处于放电状态,且当电池电量不低于放电电量下限阈值时,充放电决策模块发出不充电不放电指令,让电池切换到不充电不放电状态,本周期结束,转步骤2.3.5;
2.3.7.3若显示目前电池是没有连接电源且电池处于充电状态,充放电决策模块发出放电指令让电池切换为放电状态,本周期结束,转步骤2.3.5;
2.3.7.4若目前电池是连接电源且电池处于充电状态,并且电池电量低于充电上限阈值,继续充电,转步骤2.3.7.8;
2.3.7.5若目前电池是连接电源且电池处于充电状态,并且电池电量达到充电上限阈值,充放电决策模块发出不充电不放电指令,让电池切换到不充电不放电状态,转步骤2.3.5;
2.3.7.6若目前电池是连接电源,电池处于不充电不放电状态,转步骤2.3.7.8
2.3.7.7若目前电池是没有连接电源,电池处于放电状态,继续放电,转步骤2.3.7.8;
2.3.7.8不需要改变原有充放电控制策略,本周期结束,转步骤2.3.5;
第三步,结束。
2.如权利要求1所述的一种基于国产飞腾处理器的电池状态控制方法,其特征在于Battery电池状态控制系统中新增的电阻为3.3V 4.7KΩ。
3.如权利要求1所述的一种基于国产飞腾处理器的电池状态控制方法,其特征在于周期T取50ms,由电池信息封装子模块设置。
4.如权利要求1所述的一种基于国产飞腾处理器的电池状态控制方法,其特征在于2.3.2步中需要进行结构化转换的信息包括:是否连接电源、当前电池电量、电池的当前电压、电池的当前电流、剩余电量百分比、电池放电至0%的剩余时间、电池充放电状态、电池的额定容量、电池的额定电压、电池实际容量、平均放空时间、平均充满时间、生产日期、充电电流、充电电压、温度、生产时间。
5.如权利要求1所述的一种基于国产飞腾处理器的电池状态控制方法,其特征在于2.3.1步具体步骤如下:
2.3.1.1电池信息封装子模块通过驱动操作函数中的读函数向飞腾1000A处理器发送访问请求,访问请求中包含I2C控制器下从设备地址和寄存器偏移;
2.3.1.2飞腾1000A处理器根据访问请求中包含的I2C控制器下从设备地址和寄存器偏移向将访问请求发送给Smart Battery的电池管理芯片LTC4100;
2.3.1.3Smart Battery的电池管理芯片LTC4100从飞腾1000A处理器接收到访问请求后,将读请求中包含的从设备地址和寄存器偏移所对应的寄存器值即非结构化电池状态信息返回给电池信息封装子模块。
6.如权利要求1所述的一种基于国产飞腾处理器的电池状态控制方法,其特征在于2.3.3步具体步骤如下:
2.3.3.1核内外通信驱动子模块判断在Proc文件系统中是否存在Smart Battery目录和文件;如果不存在,创建与Smart Battery目录和文件,转步骤2.3.3.2;否则直接转步骤2.3.3.2;
2.3.3.2核内外通信驱动子模块调用驱动操作函数中的打开函数,打开Smart Battery文件;
2.3.3.3核内外通信驱动子模块将结构化电池状态信息写入Smart Battery文件中;
2.3.3.4核内外通信驱动子模块调用驱动操作函数中的关闭函数,关闭Smart Battery文件。
7.如权利要求1所述的一种基于国产飞腾处理器的电池状态控制方法,其特征在于2.3.4步具体步骤如下:
2.3.4.1电源管理应用程序的充放电状态设置模块接收用户输入充电电量上限阈值和放电电量下限阈值;
2.3.4.2电源管理应用程序的充放电状态设置模块将充电电量上限阈值和放电电量下限阈值写入到Proc文件系统的Smart Battery目录下的文件中。
8.如权利要求1所述的一种基于国产飞腾处理器的电池状态控制方法,其特征在于2.3.5步具体步骤如下:
2.3.5.1电源管理应用程序的电池信息读取模块从Proc文件系统的Smart Battery目录下的文件中读取大端字节序的结构化电池状态信息;
2.3.5.2电池信息读取模块判断大端字节序的结构化电池状态信息是否为空,如果为空,本周期结束,转步骤2.3.5.1;否则转步骤2.3.5.3;
2.3.5.3电池信息读取模块将大端字节序的结构化电池状态信息发送给大小端转换模块。
9.如权利要求1所述的一种基于国产飞腾处理器的电池状态控制方法,其特征在于2.3.7.1步具体步骤如下:
2.3.7.1.1充放电决策模块将电池充放电状态写为01,写入proc文件系统中SmartBattery目录下的文件,并通过调用输入输出控制函数将电池充放电状态发送给核内外通信子模块,将用户空间控制权转换为操作系统内核空间控制权;
2.3.7.1.2核内外通信子模块接收到电池充放电状态后,将电池充放电状态发送给电池管理芯片LTC4100;
2.3.7.1.3电池管理芯片LTC4100接收到电池充放电状态后,控制微控单元MCU向电源适配器发送给电池充电的指令,电源适配器收到MCU的充电指令,给锂聚合物充电电池充电。
10.如权利要求1所述的一种基于国产飞腾处理器的电池状态控制方法,其特征在于2.3.7.2步具体步骤如下:
2.3.7.2.1充放电决策模块将电池充放电状态写为11,写入proc文件系统中SmartBattery目录下的文件,并通过调用输入输出控制函数将电池充放电状态发送给核内外通信子模块,将用户空间控制权转换为操作系统内核空间控制权;
2.3.7.2.2核内外通信子模块接收到电池充放电状态后,将电池充放电状态发送给电池管理芯片LTC4100;
2.3.7.2.3电池管理芯片LTC4100向微控单元MCU发送指令,控制微控单元MCU向电源适配器发送指令,由电源适配器直接供电,锂聚合物充电电池处于既不充电也不放电的状态。
11.如权利要求1所述的一种基于国产飞腾处理器的电池状态控制方法,其特征在于2.3.7.3步具体步骤如下:
2.3.7.3.1充放电决策模块将电池充放电状态写为10,写入proc文件系统中SmartBattery目录下的文件,并通过调用输入输出控制函数将电池充放电状态发送给核内外通信子模块,将用户空间控制权转换为操作系统内核空间控制权;
2.3.7.3.2核内外通信子模块接收到电池充放电状态后,将电池充放电状态发送给电池管理芯片LTC4100;
2.3.7.3.3电池管理芯片LTC4100向微控单元MCU发送指令,MCU向锂聚合物充电电池发出放电指令,由锂聚合物充电电池直接供电。
12.如权利要求1所述的一种基于国产飞腾处理器的电池状态控制方法,其特征在于充电电量上限阈值设置为99%,放电电量下限阈值设置为30%。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510961024.8A CN105511581B (zh) | 2015-12-18 | 2015-12-18 | 一种基于国产飞腾处理器的电池状态控制方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201510961024.8A CN105511581B (zh) | 2015-12-18 | 2015-12-18 | 一种基于国产飞腾处理器的电池状态控制方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN105511581A CN105511581A (zh) | 2016-04-20 |
CN105511581B true CN105511581B (zh) | 2018-06-29 |
Family
ID=55719634
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510961024.8A Active CN105511581B (zh) | 2015-12-18 | 2015-12-18 | 一种基于国产飞腾处理器的电池状态控制方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN105511581B (zh) |
Families Citing this family (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN107193359A (zh) * | 2017-04-01 | 2017-09-22 | 山东超越数控电子有限公司 | 一种基于申威处理器的笔记本电池管理装置及方法 |
JP7003863B2 (ja) * | 2018-07-20 | 2022-02-04 | トヨタ自動車株式会社 | 車両の制御装置、制御方法および制御プログラム |
CN109271011A (zh) * | 2018-08-23 | 2019-01-25 | 研祥智能科技股份有限公司 | 加固笔记本电脑及其电池管理方法、计算机可读存储介质 |
JP7223835B2 (ja) | 2018-09-30 | 2023-02-16 | オッポ広東移動通信有限公司 | 指令時間のテスト方法及びシステム、並びにコンピュータ記憶媒体 |
CN112543375B (zh) * | 2019-09-20 | 2024-08-20 | Vidaa(荷兰)国际控股有限公司 | 一种电视耗能管理方法及相关设备 |
CN111525644A (zh) * | 2020-04-30 | 2020-08-11 | 北京东方振动和噪声技术研究所 | 电池管理系统与电池管理方法 |
CN112003345B (zh) * | 2020-08-14 | 2023-03-28 | 苏州浪潮智能科技有限公司 | 一种锂电池充电装置、方法及锂电池 |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5383140A (en) * | 1989-06-23 | 1995-01-17 | Kabushiki Kaisha Toshiba | Power supply control system for a portable computer |
CN103887856A (zh) * | 2014-03-21 | 2014-06-25 | 浪潮电子信息产业股份有限公司 | 一种国产飞腾便携机电池充放电策略及电量显示的方法 |
CN204652006U (zh) * | 2015-06-18 | 2015-09-16 | 浪潮电子信息产业股份有限公司 | 一种基于飞腾平台的电池充放电装置 |
CN105006864A (zh) * | 2015-08-04 | 2015-10-28 | 广州广日电气设备有限公司 | 储能供电系统和方法 |
-
2015
- 2015-12-18 CN CN201510961024.8A patent/CN105511581B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5383140A (en) * | 1989-06-23 | 1995-01-17 | Kabushiki Kaisha Toshiba | Power supply control system for a portable computer |
CN103887856A (zh) * | 2014-03-21 | 2014-06-25 | 浪潮电子信息产业股份有限公司 | 一种国产飞腾便携机电池充放电策略及电量显示的方法 |
CN204652006U (zh) * | 2015-06-18 | 2015-09-16 | 浪潮电子信息产业股份有限公司 | 一种基于飞腾平台的电池充放电装置 |
CN105006864A (zh) * | 2015-08-04 | 2015-10-28 | 广州广日电气设备有限公司 | 储能供电系统和方法 |
Also Published As
Publication number | Publication date |
---|---|
CN105511581A (zh) | 2016-04-20 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105511581B (zh) | 一种基于国产飞腾处理器的电池状态控制方法 | |
CN105932725A (zh) | 充电器集成电路和电子装置 | |
CN106571657A (zh) | 终端、转换器以及连接转换系统和方法 | |
CN101419485A (zh) | 一种功能可变的可穿戴计算机主板 | |
CN106329622A (zh) | 双向电源管理技术 | |
CN101206246A (zh) | 预估电池剩余容量的方法 | |
CN103678187A (zh) | 一种微控制单元及其控制方法 | |
CN106207294A (zh) | 一种充电方法及装置 | |
CN102820679A (zh) | 一种充电控制方法及电子设备 | |
CN103761129A (zh) | 一种在Bootloader层实现SDIO接口驱动的方法 | |
CN206878505U (zh) | 一种充电电路及移动终端 | |
CN203760085U (zh) | 一种eeprom编程器 | |
CN103701168B (zh) | 锂电池的充电管理方法及充电管理系统 | |
CN104518716A (zh) | 一种小型直流电动机闭环控制系统及该系统的控制方法 | |
CN105577052B (zh) | 一种基于fpga的步进电机无抖动驱动控制系统及基于该系统的控制方法 | |
CN110096291A (zh) | 电源管理芯片升级电路、方法及网络设备 | |
CN206878506U (zh) | 一种数据线和适配器 | |
CN107422254A (zh) | 一种面向集成微系统的内建芯片健康状态自监测方法 | |
CN106655401A (zh) | 一种充电的方法和设备 | |
CN110492569A (zh) | 移动电源及其控制方法、装置 | |
CN207612428U (zh) | 一种基于can的物联网节点模块 | |
CN103545879A (zh) | 电池管理单元、电池管理系统和电池管理方法 | |
CN110588168A (zh) | 一种标签印刷机接口系统 | |
CN106681653A (zh) | 存储器抹除方法、存储器控制电路单元及存储器存储装置 | |
KR100726432B1 (ko) | 외장저장장치 및 그의 운용방법 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
GR01 | Patent grant | ||
GR01 | Patent grant |