DS2770K Battery Monitor and Charge Controller Evaluation Kit www.maxim-ic.com FEATURES § § Demonstrates the Capabilities of the DS2770 Battery Monitor and Charge Controller Including: - Real-Time Measurements - Current Accumulation - Information Storage - Identification - Li+ Pulse Charging - NiMH Charging with dT/dt Termination - Secondary Charge Termination Based on Time or Temperature Interfaces to the Serial Port of a PC Running Windows INDEX Evaluation Kit Contents Equipment Needed Introduction Setup and Installation Board Connections Software Installation Selecting the COM Port Program Menus Register Windows Program Tabs Real Time Meters Data Logging User Memory Pack Information Fuel Gauging PD113001 DS2770K TSSOP EVALUATION KIT CONTENTS 1 pc. TSSOP Evaluation Board 1 pc. DS9123 Serial Port Adapter 1 pc. RJ-11 Phone Cable 1 pc. DS2770K CD Containing: DS2770K Evaluation Software DS2770 Related Documentation EQUIPMENT NEEDED 1. An IBM-compatible PC running Windows with a CD-ROM drive and an available serial port. 2. Cables with mini-grabber style clips or the ability to solder directly to connection pads. 3. A Li+ battery or 3 cell NiMH stack and a power supply and/or load circuit. INTRODUCTION The DS2770K Evaluation Kit makes performance evaluation, software development, and prototyping with the DS2770 Battery Monitor and Charge Controller easy. The evaluation board interfaces to an IBM-compatible PC through a DS9123 Serial Port Adapter and RJ-11 cable connection. The provided CD-ROM contains all related data sheets along with the evaluation software, which can be run under any Windows version 95 or newer. The DS2770K evaluation software gives the user complete control of all functions of the DS2770. Separate control tabs allow the user access to all EEPROM and RAM memory locations, all control 1 of 12 011403 DS2770K registers, the charge feature, and real-time updates of all monitored parameters. The software also incorporates a data logging feature to monitor a cell over time and fuel gauging algorithms to improve remaining capacity calculations based on specific cell characteristics. The evaluation board circuit is designed to provide the DS2770 with accurate parameter measurements, allow the DS2770 to control cell charging, and protect the DS2770 from ESD damage. Kit demonstration boards will vary as they are improved upon over time. For information on the demonstration board circuits refer to the documentation directory on the DS2770K CD-ROM. SETUP AND INSTALLATION BOARD CONNECTIONS Connections to the demonstration board are best made either by soldering directly to the pads or by using cables with mini-grabber clips. Communication to the board can be accomplished either through the RJ11 jack by connecting the provided 2 conductor cable or by wiring directly to the DQ and PAC- pads. In the latter case, the size of the board can be reduced by snapping off the RJ-11 jack along the break line, see Figure 1. To utilize the demonstration software, the DQ and PAC- lines must be connected to the DS9123 communication brick using either of the two methods described. PAC+ CS DQ RJ-11 BATPAC- Break Line Figure 1. PD113001 Communication Connections Figure 2 shows the recommended circuit for the DS2770K demonstration board. The Li+ cell or NiMH cell stack is connected between the PAC+ and BAT- pads. If a Li+ cell is used a protection circuit must be included between the battery and the demo board. The user system load circuit is powered from PACto PAC+. The Charge Source must be connected between the PAC- and CS pins. The demonstration board will not limit the charge source current. It can be damaged by currents exceeding 2 Amps in either direction. The evaluation software can be run with or without charger and load as long as a cell is connected between the PAC+ and BAT- terminals providing a minimum of 2.7V to power the DS2770. PAC+ DS2770K EVALUATION BOARD Current Limited Charge Source Load Circuit + CS BATTERY PACBATDQ Li-Ion Protection Circuit - Figure 2: PD113001 Cell, Load, and Charger Connections SOFTWARE INSTALLATION To install the DS2770K software, exit all programs currently running and insert the DS2770K software CD into your computer’s CD-ROM. The auto run software on the CD will give an option to install DS2770K or the user can run SETUP.EXE from the setup directory and the installation process begins. 2 of 12 DS2770K Follow the prompts to complete the installation. The DS2770K software can be uninstalled in the Add/Remove Programs tool in the Control Panel. After the installation is complete, open the DS2770K folder and run DS2770K.EXE or select DS2770K from the program menu. A splash screen containing information about the evaluation kit appears as the program is being loaded. The Documentation directory also located on the CD contains all relevant data sheets and application notes on the DS2770 and DS2770K. They are stored in Adobe Acrobat format for easy viewing and can also be accessed through the help menu after the program starts. SELECTING THE COM PORT The first time the software runs, the Serial Port Settings window appears. In this window, select the COM port to which the DS9123 is attached and the desired communication rate; then hit OK. The DS2770K software saves this COM port selection and automatically uses the selection each time the program starts. To change the COM port later, click the Preferences option on the menu bar, select Serial Port Settings, and then select the appropriate port. To attempt to automatically locate the DS9123, click the Poll Serial Ports button. Warning—automatically polling for the DS9123 can disrupt other devices connected to your computer’s COM ports. MENUS Several pull down menu options have been provided to simplify use of the DS2770K software for the user. Their functions are individually detailed below. FILE MENU The File Menu allows the user to store information from a file directly into the Device Setup, Battery Data, and Fuel Gauging Data sections under the Pack Info Tab or take the same Pack Information and store to a file. These functions do not directly write or read the DS2770. It is still necessary for the user to store or recall this information to or from the device by issuing a WRITE or READ command under the Pack Info Tab. 3 of 12 DS2770K REGISTERS MENU The Registers Menu gives immediate access to the Status and EEPROM registers in the DS2770. Selecting one of the registers will open an individual control window giving the user a description of each register bit and the ability to read or write it. See the Status register window example. STATUS REGISTER The present state of all register bits are displayed immediately upon opening the register window. R/W locations contain a selection field to allow the user to determine their state. The EEPROM register can be written to directly. The Status register must be updated by writing to memory address 0x31h. Reading location 0x31h will then update the new values into the Status register. PREFERENCES MENU The Preferences Menu allows the user to change COM port settings at any time. Edit Preferences opens the Select Preferences window. See Selecting the COM Port above. 4 of 12 DS2770K HELP MENU Selecting the About topic from the Help Menu will open a window containing information about this program and Dallas Semiconductor. PROGRAM TABS All functions of the program are divided under five tabs in the main program window. Left click on the appropriate tab to move to the desired function page. Located under the Meters tab is all information on real-time updates measured by the DS2770: voltage, current, accumulated charge, temperature, charge time, elapsed time count, and state of the charge cycle. The Data Log tab allows the user to store all real time information to a file. The Memory tab displays the contents of every register and memory location inside the DS2770 and allows the user to alter the data. The Pack Information tab gives the user the ability to assign a default device configuration and store that information to the DS2770 and/or a file. The Fuel Gauging tab uses the cell characterization information stored under Pack Info to maintain a high accuracy remaining capacity indicator. METERS TAB The Meters Screen displays the latest real-time measurements of cell voltage, temperature, current and accumulated charge with both analog meter readouts and digital values. The sense resistor value used to 5 of 12 DS2770K calculate the current reading is shown in the current section. Left click on it or go to the sense resistor sub-tab under Pack Info to change this value. The Calibrate Offset button in the current section allows the user to zero the current measurements under the conditions of their circuit. Left clicking this button will begin the automatic calibration procedure. Calibration should be performed while the pack is disconnected and there is no current flow. The next 32 readings will be averaged and the offset eliminated by adjusting the Current Offset Register (locations 0x32h and 0x33h) automatically. The process takes approximately 20 seconds. The user can bring up the Update Current Accumulator window by left clicking the Set ACR button. This window allows the user to enter values for the Current Accumulator Register and Rated Battery Capacity in mAH. Rated Battery Capacity is used to determine full scale range on the Charge Remaining Meter. This value is read from the DS2770 location 0x41h (See Pack Information description) and used as the default upon entering the Meters section. Changing this value from the Update Current Accumulator window will adjust the Charge Remaining Meter but will not write to the DS2770. The Elapsed Time and Charge Time Remaining counter values in hours and minutes are displayed in the bottom left corner of the window. To change either click the corresponding “set” button and enter the new value. The status of the charge controller is displayed in the bottom right corner of the window. One of four states will be displayed at any time reflecting the CSTAT bits in the Status register: No charge source present, Charge source is present, Charge in progress, or Charge complete. Below that the software will display which charge type is being supported; either Li+ or NiMH based on the CTYPE bit in the Status register. Clicking the “Start Charge” button will initiate a charge cycle provided a valid charge source is present. Clicking the “Stop Charge” button will terminate a charge under any condition. DATALOG TAB 6 of 12 DS2770K The Datalog tab allows the user to see the DS2770’s parameter measurements graphed over time. There are separate sub-tabs for voltage, current, temperature, and accumulated charge. Each graph displays the last 500 data points collected by the DS2770K software. The sampling interval can be adjusted from as slow as 5 minutes to as fast as communication will allow using the menu located at the bottom of the window. The Clear Graphs button will clear all data from all four graphs, but does not reset the log to file function. The Log to File sub-tab contains control information for storing all log data to an ASCII file. The default filename is c:\DS2770K_datalog.txt, but can be modified in the filename text field. The Log Data button toggles data logging off and on. Data will be stored at the same interval selected for updating the graphs in the tab delimited format of “Time<tab>Voltage<tab>Current<tab>Temperature<tab>ACR<tab>Elapsed Time<tab>Charge Time Remaining” for easy import into a spreadsheet. The most recent 50 samples are displayed in the window for observation. Warning—The Log Data function overwrites previous file information. Data previously stored in the file will be lost. 7 of 12 DS2770K MEMORY TAB The Memory Tab gives the user access to all 13 register, 40 EEPROM, and 16 SRAM bytes inside the DS2770. They are separated into five sub-tabs for convenience. Any value can be modified by clicking in that address’ text box and typing a new value in hexadecimal format. The Write button will copy the entire block of data to the corresponding location inside the DS2770 (Scratchpad RAM on the EEPROM blocks). The Read button will update the entire block’s text boxes with data from the DS2770 (Scratchpad RAM on the EEPROM blocks). Sub-tabs displaying any EEPROM data will also have Copy and Recall buttons to allow the user to transfer the data between Scratchpad and EEPROM memory internal to the DS2770. The Permanently Lock Block buttons will permanently store the data currently located in that block’s EEPROM if the block’s LOCK bit in the EEPROM register is set. Otherwise this button will do nothing. Warning—this data can never be changed once locked. Verify your data first by issuing a Recall and a Read. 8 of 12 DS2770K PACK INFORMATION TAB The Pack Information tab gives the pack manufacturer the ability to assign default register settings, device and sense resistor selection, and recommended manufacturer data and fuel gauging information. The Device Select sub-tab allows the user to choose with which device on the 1-Wire® bus to communicate. Clicking on the Find Net Addresses button will begin a SEARCH NET ADDRESS operation on the 1-Wire bus. All 1-Wire devices found on the bus will be listed in the Net Addresses field. To communicate to any device on the bus, click on its address inside the Net Addresses field to select it. The program will now use this device for all operations until a different DS2770 is chosen. The Device Setup sub-tab shows the current state of all major features of the DS2770. All status indicators shown here directly mirror their corresponding bits in the Status register. Clicking on any of the status indicators will open the Status register window to allow editing. See Registers Menu above. The selection fields on the right hand side of the sub-tab set how the EEPROM backup bits (location 0x31h) will be programmed when the DS2770 is programmed with the pack information. 1-Wire is a registered trademark of Dallas Semiconductor. 9 of 12 DS2770K The Sense Resistor Select sub-tab allows the user to correct the current measurements if a different value of sense resistor is used. All DS2770s with an integrated sense resistor use 25mWs. If the sense resistor is located externally, the user should select the external resistor radio button on this tab, enter the value of the resistor in mWs in the Sense Resistor Value field, and click the Write Sense Resistor button. The Find Sense Resistor button opens the Find Sense Resistor window. The user can then determine the resistance by forcing a known current and measuring the voltage drop with the DS2770. The resistance value is stored with ¼ mW resolution into the user EEPROM of the device. The program uses this value to convert the voltage difference from the VSENS+ and VSENS- pins into milliamps. If this value does not match the value of the external resistor, current measurements will be inaccurate. If the value is 0 the program automatically defaults to an internal resistor of 25mWs. The Battery Data and Fuel Gauging Data sub-tabs demonstrate how the pack manufacturer can use the DS2770s EEPROM fields to store relevant pack information such as assembly date, chemistry, etc. The 10 of 12 DS2770K fuel gauging characterization data is used by the fuel gauging algorithms in the software. See the Fuel Gauging Tab description below. Clicking on the Load Default Pack Info button will enter example data into the information fields of the Device Setup, Battery Data, and Fuel Gauging Data sub-tabs. To change any of this information, simply click on the desired text field and enter the new value. Once all data is in the desired format, click on the Write DS2770 button to copy it to the EEPROM of the DS2770. This information can also be stored to a file and recalled later using the Load/Save Pack Info buttons. Addresses MEMORY MAP OF PACK INFORMATION DATA 0x20 0x21 0x22 0x23 0x24 0x25 0x26 0x27 0x28 0x29 0x2A 0x2B 0x2C 0x2D 0x2E 0x2F 0x30 0x31 0x32 0x33 0x34 0x35 0x36 0x37 0x38 0x39 0x3A 0x3B 0x3C 0x3D 0x3E 0x3F 0x40 0x41 0x42 0x43 0x44 0x45 0x46 0x47 Fuel Gauging – Full Point at 0°C Fuel Gauging – Full Point difference from 10°C to 0°C Fuel Gauging – Full Point difference from 20°C to 10°C Fuel Gauging – Full Point difference from 30°C to 20°C Fuel Gauging – Full Point difference from 40°C to 30°C Last Measured Discharge – Divided by 10 to store in 8 bits Total Accumulated Discharge – Divided by 20 to store in 2 bytes Fuel Gauging – Charge Time Estimation Break Point Fuel Gauging – Time from Break Point to Full at 40°C Fuel Gauging – Time from Break Point to Full at 20°C Fuel Gauging – Time from Break Point to Full at 0°C Fuel Gauging – Time from Empty to Full at 40°C Fuel Gauging – Time from Empty to Full at 20°C Fuel Gauging – Time from Empty to Full at 0°C Sense Resistor (1/4mW resolution) PMOD RNAOP Charge Voltage CINI Current Offset MSB Current Offset LSB Charge Time Register Initialization CTYPE Date Code – 2 bytes Fuel Gauging – Standby Empty Point difference from 0°C to 10°C Fuel Gauging – Standby Empty Point difference from 10°C to 20°C Fuel Gauging – Standby Empty Point difference from 20°C to 30°C Fuel Gauging – Standby Empty Point difference from 30°C to 40°C Fuel Gauging – Active Empty Point difference from 0°C to 10°C Fuel Gauging – Active Empty Point difference from 10°C to 20°C Fuel Gauging – Active Empty Point difference from 20°C to 30°C Fuel Gauging – Active Empty Point difference from 30°C to 40°C Fuel Gauging – Active Empty Point at 40°C Assembly ID Rated Cell Capacity – Divided by 10 to store in 8 bits Manufacturer ID The memory map above shows the format in which the data is stored within the device. All static data is stored in Block 1 (30h to 3Fh) and Block 2 (40h to 47h) while data which might need to be updated is in Block 0 (20h to 2Fh). The pack manufacturer can now permanently lock Blocks 1 and 2 to maintain data integrity while leaving Block 0 open for access by the host processor. The dark gray shaded areas are used for EEPROM backup of DS2770 registers, the light gray area is left available for other user data. 11 of 12 DS2770K FUEL GAUGING TAB The final program tab performs a high accuracy calculation of remaining cell capacity using Dallas Semiconductor’s fuel gauging algorithms. For this feature to function properly, cell characterization data must be stored in the DS2770’s user EEPROM. See the Pack Information section above. If characterization data cannot be found, the fuel gauge will not start and an error message will be displayed. The Relative Capacity number represents what percentage of cell capacity is remaining based on present algorithm inputs such as temperature, discharge rate, etc. This value is also reflected in the analog meter. The remaining cell capacity is also displayed in terms of milliamp-hours and Joules under Absolute Capacity and Remaining Energy respectively. The remaining run time is calculated using the Run Time Power Reference input from the user. Instantaneous current measurements in the user’s application can vary greatly. By using a reference scalar instead of actual current and voltage measurements, the program produces a stable estimation of remaining run time. The user should enter the largest expected power draw from the device into the Run Time Power Reference field for the most accurate estimation. If this example were part of a fully integrated fuel gauging system, the algorithms would need to be updated by the host each time the cell was fully charged or discharged in order to maintain long term accuracy. To simulate this, the user should click the Empty or Full buttons each time the monitored pack is completely charged or discharged. The Empty button will reset the Current Accumulator to the expected empty point based on present conditions. The Full button will set the Current Accumulator the expected full point based on present conditions. The Learn button will reset the expected full point to the present Current Accumulator value and update the fuel gauging information in the DS2770’s user EEPROM. In doing this, the algorithms “learn” from previous results and are more accurate in the future. This tab gives an example only of fuel gauging. For more information on the process of high accuracy fuel gauging consult Dallas Semiconductor’s fuel gauging application notes. 12 of 12