Notebook computer intelligent battery parameter reading method based on SMBus communication

By combining SMBus communication and the EC controller, the problems of cumbersome operation, poor accessibility, and high cost in obtaining smart battery parameters for laptops are solved, realizing convenient and efficient battery parameter reading, which is suitable for obtaining smart battery parameters for laptops.

CN121579115APending Publication Date: 2026-02-27SHENZHEN EMDOOR DIGITAL TECH
View PDF 2 Cites 0 Cited by

Patent Information

Application Number
CN202511729739.0
Authority / Receiving Office
CN · China
Patent Type
Applications(China)
Current Assignee / Owner
Filing Date
2025-11-24
Publication Date
2026-02-27

AI Technical Summary

Technical Problem

Existing technologies for obtaining internal parameters of a laptop's smart battery are cumbersome, have poor accessibility, and are costly, making it impossible to obtain parameters conveniently, efficiently, and at low cost without disassembling the battery or relying on external specialized hardware.

Method used

Through SMBus communication, utilizing the laptop's own hardware architecture SMBus bus and EC controller, combined with the software system, it directly initiates commands to read the internal parameters of the smart battery, including user interface input, system software calling the ACPI driver, EC firmware parsing, and data display.

Benefits of technology

It enables efficient, rapid, and batch acquisition of battery parameters without disassembling the battery or connecting dedicated hardware tools, improving operational convenience and feasibility while reducing costs.

✦ Generated by Eureka AI based on patent content.

Smart Images

  • Figure CN121579115A_ABST
    Figure CN121579115A_ABST
Patent Text Reader

Abstract

The invention provides a notebook computer intelligent battery parameter reading method based on SMBus communication, which comprises the following steps that: a user inputs a register address of a target parameter, and triggers a parameter acquisition operation; system end software calls an ACPI drive through an operating system and writes a parameter acquisition instruction into an EC controller; the EC controller packages the data frame into a data frame conforming to an SMBus protocol; the EC firmware sends the packaged data frame to a voltameter in the intelligent battery through an SMBus (System Management Bus); the smart battery voltameter receives and analyzes the SMBus data frame; the intelligent battery voltameter reads the parameter data and returns the read parameter data to the EC firmware through the SMBus; after the EC firmware receives the parameter data, checking and analyzing the parameter data; the EC firmware temporarily stores the parameter data in a specified memory area; and the system end software obtains the temporarily stored parameter data and displays the parameter data on a user interface. The method has the beneficial effects that the instruction of reading the internal parameters of the intelligent battery can be directly read without disassembling the battery and connecting a special hardware tool.
Need to check novelty before this filing date? Find Prior Art

Description

Technical Field

[0001] This invention relates to the field of laptop computer technology, and more specifically to a method for reading intelligent battery parameters of laptop computers based on SMBus communication. Background Technology

[0002] As laptop performance continues to improve, users are increasingly concerned about battery life, health, and safety. Smart batteries integrate a dedicated fuel gauge that, through a built-in microcontroller and algorithms, not only manages the battery's charging and discharging process but also records a wealth of valuable internal parameters, such as overall battery health, charge / discharge cycle count, design capacity, full charge capacity, serial number, manufacturer information, and real-time voltage / current / temperature data. These parameters are crucial for evaluating battery performance, diagnosing faults, facilitating quality traceability, and enabling predictive maintenance.

[0003] Currently, the standard practice in the industry for obtaining the internal register parameters of such smart battery fuel gauges is to use dedicated hardware tools (such as dedicated programmers and debuggers) to directly connect to the battery fuel gauge via communication protocols such as SMBus (System Management Bus) to read and parse the internal register parameters. However, this method has significant limitations: 1. Cumbersome and unscalable: Each read requires removing the battery from the laptop and connecting it to a dedicated hardware tool. This process is inefficient and cannot be adapted to scenarios requiring rapid parameter acquisition from large numbers of battery samples, such as batch testing on production lines, large-scale quality screening after sales, or remote diagnostics.

[0004] 2. Poor accessibility: Modern laptops generally use a built-in battery design, with the battery tightly sealed inside the device. Ordinary users and even technicians find it difficult to make a physical connection without disassembling the device or damaging its appearance, making the method of obtaining parameters through external tools impractical in real-world applications.

[0005] 3. High cost: Professional battery gauge grabbing tools are usually expensive and require operators to have the corresponding professional knowledge, which increases the threshold and cost of obtaining battery internal register parameters.

[0006] Therefore, existing technologies lack a convenient, efficient, and low-cost method to obtain the internal register parameters of the smart battery directly through the laptop's own system architecture without disassembling the battery or relying on external professional hardware. This invention aims to solve this technical bottleneck. Summary of the Invention

[0007] To address the problems in the prior art, this invention provides a method for reading intelligent battery parameters of a laptop computer based on SMBus communication.

[0008] This invention discloses a method for reading intelligent battery parameters of a laptop computer based on SMBus communication, comprising the following steps: S1: The user inputs the register address of the target parameter through the system software interface, triggering the parameter acquisition operation; S2: The system software calls the ACPI driver through the operating system to write the parameter acquisition instruction to the memory-mapped port of the EC controller; S3: The EC firmware in the EC controller parses the parameter acquisition command and encapsulates it into a data frame that conforms to the SMBus protocol; S4: The EC firmware sends the encapsulated data frame to the fuel gauge inside the smart battery via the SMBus bus; S5: The smart battery power meter receives and parses SMBus data frames; S6: The intelligent battery power meter reads parameter data from the corresponding register inside the target parameter based on the register address, and returns the read parameter data to the EC firmware via the SMBus bus; S7: After receiving the parameter data sent from the smart battery fuel gauge, the EC firmware performs verification and parsing; S8: The EC firmware temporarily stores the valid data of the parameter data in a specified memory area; S9: The system software obtains the temporarily stored parameter data from the memory-mapped port of the EC controller through the ACPI driver, and displays the obtained parameter data on the user interface.

[0009] In a further improvement, in step S3, the EC firmware uses a polling detection method on the memory-mapped port to determine whether there is a data instruction being written. If a data instruction is written, the parameter acquisition instruction is automatically parsed.

[0010] In a further improvement, in step S9, the ACPI driver interface uses a polling method on the memory-mapped port of the EC controller to determine whether there is any temporarily stored parameter data.

[0011] The present invention is further improved in that the register address of the target parameter input in step S1 is in hexadecimal.

[0012] The present invention is further improved by providing a register address input box, a write button, a data acquisition box, and a read button on the system software. The data acquisition box is used to display the acquired parameter data.

[0013] In a further improvement to the present invention, the memory-mapped port of the EC controller in step S2 includes a command port and a data port.

[0014] In a further improvement to this invention, in step S5, the fuel meter chip of the smart battery fuel meter constantly monitors the SMBus bus. When it receives a read command from the EC controller that matches the register address, it automatically parses the SMBus data frame.

[0015] The present invention is further improved in that, in step S3, the data frame of the SMBus protocol includes the SMBus bus address of the smart battery, the address of the register to be read, and the read operation command code.

[0016] Compared with the prior art, the beneficial effects of the present invention are as follows: the method can effectively solve the problems of cumbersome operation, poor accessibility and high acquisition cost in the prior art of obtaining internal battery parameters by laptops. By using this method, there is no need to disassemble the battery and connect special hardware tools. By utilizing the inherent hardware architecture of the laptop, the SMBus bus and EC controller, in conjunction with the software system, the reading command of the internal parameters of the smart battery can be directly initiated, which greatly improves the convenience and feasibility of operation, realizes efficient, fast and batch data collection, and has good versatility and stability. Attached Figure Description

[0017] To more clearly illustrate the solutions in this invention or the prior art, the accompanying drawings used in the description of the embodiments or the prior art will be briefly introduced below. Obviously, the drawings described below are some embodiments of this invention. For those skilled in the art, other drawings can be obtained from these drawings without creative effort.

[0018] Figure 1 This is a flowchart of a method for reading smart battery parameters in a laptop computer based on SMBus communication. Detailed Implementation

[0019] Unless otherwise defined, all technical and scientific terms used in this invention have the same meaning as commonly understood by one of ordinary skill in the art to which this invention pertains; the terminology used in the specification of this application is for the purpose of describing particular embodiments only and is not intended to limit the invention; the terms "comprising" and "having," and any variations thereof, in the specification, claims, and foregoing drawings are intended to cover non-exclusive inclusion. The terms "first," "second," etc., in the specification, claims, or foregoing drawings are used to distinguish different objects, not to describe a particular order.

[0020] In this invention, the reference to "embodiment" means that a specific feature, structure, or characteristic described in connection with an embodiment may be included in at least one embodiment of the invention. The appearance of this phrase in various places in the specification does not necessarily refer to the same embodiment, nor is it a separate or alternative embodiment mutually exclusive with other embodiments. It will be explicitly and implicitly understood by those skilled in the art that the embodiments described in this invention can be combined with other embodiments.

[0021] To enable those skilled in the art to better understand the present invention, the technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the accompanying drawings.

[0022] like Figure 1 As shown, this invention provides a method for reading smart battery parameters of a laptop computer based on SMBus communication. The detailed implementation method of reading smart battery parameters of a laptop computer based on SMBus communication in this example is as follows: 1. The user inputs the register address of the target parameter through the system software interface to trigger the parameter acquisition operation.

[0023] The system software includes a register address input box, a write button, a data acquisition box, and a read button. The data acquisition box is used to display the acquired parameter data.

[0024] A simple user interface can reduce the difficulty for users to obtain information.

[0025] For example, entering "0x08" in the register address input box corresponds to the temperature register address. After entering the address and clicking the write button, the system software generates a parameter retrieval request command containing the target register address. The register address of the target parameter is input in hexadecimal in step S1.

[0026] By using hexadecimal, storage space can be saved, data transmission efficiency can be improved, and readability and debugging convenience can be enhanced.

[0027] 2. The system software calls the ACPI driver through the operating system to write the parameter acquisition command to the memory-mapped port of the EC controller.

[0028] The system software writes the request parameter acquisition instruction to the memory-mapped port of the EC controller by calling the ACPI driver provided by the operating system.

[0029] The EC controller's memory-mapped ports include command ports and data ports, such as 0x510 (command port) and 0x511 (data port). These two ports form the bridge for communication between the system software and the EC controller.

[0030] 3. The EC firmware in the EC controller parses the parameter acquisition command and encapsulates it into a data frame conforming to the SMBus protocol.

[0031] The EC firmware uses a polling method to detect whether there are any data commands being written. If there are data commands being written, the parameter acquisition command is automatically parsed.

[0032] Automatic determination is achieved through polling. In its main loop, the EC firmware continuously polls and checks the status of memory-mapped ports "0x510" and "0x511". When new data is detected being written, the EC firmware responds to the request.

[0033] The EC firmware first parses the instruction from the memory-mapped port of the EC controller, identifies it as a read operation for the smart battery, and obtains the target register address "0x08". Subsequently, the EC firmware constructs a data frame according to the SMBus communication protocol specification.

[0034] The SMBus protocol data frame includes the smart battery's SMBus bus address, the register address to be read, and the read operation command code.

[0035] For example: 1. The SMBus bus address of the smart battery (usually "0x16"); 2. The address of the register to be read ("0x08"); 3. The read operation command code.

[0036] 4. The EC firmware sends the encapsulated data frames to the fuel gauge inside the smart battery via the SMBus bus; The EC controller sends this data frame to the fuel gauge chip on the smart battery via the SMBus bus through its integrated SMBus controller.

[0037] 5. The smart battery power meter receives and parses SMBus data frames.

[0038] The smart battery fuel gauge's fuel gauge chip constantly monitors the SMBus bus. When it receives a read command from the EC controller that matches the register address, it automatically parses the SMBus data frame.

[0039] 6. The intelligent battery power meter reads parameter data from the corresponding register inside the target parameter based on the register address, and returns the read parameter data to the EC firmware via the SMBus bus.

[0040] The smart battery fuel gauge recognizes the need to access its internal temperature register at address "0x08" and reads the current temperature data (e.g., "0x19") from that register. After reading, the smart battery fuel gauge returns this data packet as a response to the EC controller via the SMBus bus.

[0041] 7. After receiving the parameter data sent from the smart battery fuel gauge, the EC firmware performs verification and parsing.

[0042] 8. The EC firmware temporarily stores the valid data of the parameter data in the specified memory area.

[0043] After receiving the data packet from the smart battery, the SMBus controller in the EC controller writes the received parameter data into a pre-planned RAM area (referred to as BRAM in this embodiment) specifically for storing the returned data.

[0044] 9. The system software obtains the temporarily stored parameter data from the memory-mapped port of the EC controller through the ACPI driver, and displays the obtained parameter data on the user interface.

[0045] The ACPI driver interface uses a polling method on the memory-mapped port of the EC controller to determine whether there is any temporarily stored parameter data. This polling method enables automatic determination.

[0046] For example, after sending the parameter acquisition command, the system software enters a polling waiting state. It periodically queries the EC controller for data in the BRAM through the ACPI-driven interface (using ports "0x510" and "0x511", but with different command words to represent the read operation). Once the EC controller writes the smart battery data into the BRAM, the system software can successfully read the temperature data "0x19" from the EC controller's BRAM in the next poll.

[0047] When the user clicks the read button, the system software receives the raw data "0x19" returned from the ACPI-driven interface, parses it according to the smart battery's technical manual (converting it to decimal), and displays the final result "25" in the data acquisition box on the system software's user interface. This completes a full cycle of acquiring the battery's internal parameters.

[0048] 10. End.

[0049] In summary, the present invention provides a method for reading intelligent battery parameters of a laptop computer based on SMBus communication. This method effectively solves the problems of cumbersome operation, poor accessibility, and high acquisition cost in existing methods for obtaining internal battery parameters of laptop computers. By using this method, there is no need to disassemble the battery or connect special hardware tools. By utilizing the inherent hardware architecture of the laptop computer, the SMBus bus, and the EC controller in conjunction with the software system, the reading command for the internal parameters of the intelligent battery can be directly initiated, which greatly improves the convenience and feasibility of operation, realizes efficient, fast, and batch data collection, and has good versatility and stability.

[0050] The specific embodiments described above are preferred embodiments of the present invention and are not intended to limit the specific scope of the present invention. The scope of the present invention includes, but is not limited to, these specific embodiments. All equivalent changes made in accordance with the present invention are within the protection scope of the present invention.

Claims

1. A method for reading intelligent battery parameters of a laptop computer based on SMBus communication, characterized in that, Includes the following steps: S1: The user inputs the register address of the target parameter through the system software interface, triggering the parameter acquisition operation; S2: The system software calls the ACPI driver through the operating system to write the parameter acquisition instruction to the memory-mapped port of the EC controller; S3: The EC firmware in the EC controller parses the parameter acquisition command and encapsulates it into a data frame that conforms to the SMBus protocol; S4: The EC firmware sends the encapsulated data frame to the fuel gauge inside the smart battery via the SMBus bus; S5: The smart battery power meter receives and parses SMBus data frames; S6: The intelligent battery power meter reads parameter data from the corresponding register inside the target parameter based on the register address, and returns the read parameter data to the EC firmware via the SMBus bus; S7: After receiving the parameter data sent from the smart battery fuel gauge, the EC firmware performs verification and parsing; S8: The EC firmware temporarily stores the valid data of the parameter data in a specified memory area; S9: The system software obtains the temporarily stored parameter data from the memory-mapped port of the EC controller through the ACPI driver, and displays the obtained parameter data on the user interface.

2. The method for reading intelligent battery parameters of a laptop computer based on SMBus communication according to claim 1, characterized in that: In step S3, the EC firmware uses a polling detection method on the memory-mapped port to determine whether there are any data commands written. If there are data commands written, the parameter acquisition command is automatically parsed.

3. The method for reading intelligent battery parameters of a laptop computer based on SMBus communication according to claim 1, characterized in that: In step S9, the ACPI driver interface polls the memory-mapped port of the EC controller to determine whether there is any temporarily stored parameter data.

4. The method for reading intelligent battery parameters of a laptop computer based on SMBus communication according to claim 1, characterized in that: The register address of the target parameter is input in hexadecimal in step S1.

5. The method for reading intelligent battery parameters of a laptop computer based on SMBus communication according to claim 1, characterized in that: The system software includes a register address input box, a write button, a data acquisition box, and a read button. The data acquisition box is used to display the acquired parameter data.

6. The method for reading intelligent battery parameters of a laptop computer based on SMBus communication according to claim 1, characterized in that: The memory-mapped ports of the EC controller in step S2 include command ports and data ports.

7. The method for reading intelligent battery parameters of a laptop computer based on SMBus communication according to claim 1, characterized in that: In step S5, the fuel gauge chip of the smart battery fuel gauge is constantly listening to the SMBus bus. When it receives a read command from the EC controller that matches the register address, it automatically parses the SMBus data frame.

8. The method for reading intelligent battery parameters of a laptop computer based on SMBus communication according to any one of claims 1-7, characterized in that: In step S3, the SMBus protocol data frame includes the smart battery's SMBus bus address, the register address to be read, and the read operation command code.

Citation Information

Patent Citations

  • Laptop battery management device and method based on ShenWei processor

    CN107193359A

  • Battery SMBUS communication information recording method and system

    CN115826727A