background image

 

18/09/2003

 

HESC-UPS Manual

 

 

 

 

Tri-M Engineering

  

Tel: 

800.665.5600, 604.945.9565 

 

 

1407 Kebet Way, Unit 100 

Fax: 

604.945.95 

 

 

Port Coquitlam, BC, V3C 6L3 

E-mail: 

info@tri-m.com

 

 

 Canada 

Web 

site: 

www.tri-m.com

 

9

4b. Read command with checksum acknowledge. 
 

HOST: <addressR>          <command>                        <0x02>                         <0x03>                 <0xFF>  

 

HESC104:               [0x00]                   [databyteR low]           [databyteR high]           [checksum] 

 
 where  "host" addressW = 0001 001 + 0 (R/W bit) = 0x12 
 

 

"host" addressR  = 0001 001 + 1 (R/W bit) = 0x13 

 
The checksum is a two digit hexadecimal checksum that is the two's complement of the sum of all preceding bytes.  For 
example the data <0x10> <0x12> <0xC0> <0x03> has the checksum 0x1B. 
  

Section 5 : HESC I

2

C/SMBus Bus Communications 

A. Description: 

The HESC can communicate with System Management Bus (SMBus) batteries, I

2

C digital temperature sensors, and 

Hosts and microprocessors through the I2C/SMBus.  The SMBus is a two-wire interface through which the HESC can 
communicate to I

2

C/SMBus devices.  The HESC supports I

2

C/SMBus multi-master bus capability, meaning that other 

devices capable of controlling the bus can be connected to it.  The HESC transfers data by one I

2

C/SMBus device acting 

as a master, and another I

2

C/SMBus device acting as a slave (with one of the devices being the HESC).  A master device 

initiates a bus transfer and provides the clock signals (SCL). A slave device can receive data (SDA) provided by the 
master or it can provide data to the master. Since more than one device may attempt to take control of the bus as a 
master, I

2

C/SMBus provides an arbitration mechanism, relying on the wired-AND connection of all I

2

C/SMBus interfaces 

to the I

2

C/SMBus. 

 

NOTE:

 

Care should be taken in the design of both the input and output stages of SMBus devices, in order 

not to load the bus when their power plane is turned off. 
 

The HESC uses the master to alert the Host of a change in status or of alarm in the HESC.  The HESC alerts the Host by 
sending the ChargerStatus() value.  This occurs when main power is applied or removed, battery pack inserted/removed, 
battery fully charged or fully discharge, shutdown activated or de-activated, or temperature alarm.    When the HESC 
alerts the Host, the HESC places its address 0x12 in the command byte.  The HESC alert communications format would 
then appear as 0x10, 0x12, datalow, datahigh. 

 
- Table 1 lists the commands the HESC I

2

C/SMBus supports. 

 
To ensure reliable communication, an acknowledge bit is returned after each address, command or data byte transmitted.  
The receiving device must acknowledge receipt of each byte.  If an acknowledge bit is not received then the transfer is 
aborted immediately and the result byte set accordingly. 
 

Section 6 SerBus, SMBus, and PC/104 Command Functions 

A. List of Command Functions 

1. The SerBus and PC/104 Bus command functions are similar to many of the SMBus command functions.  Where 
possible, the functions are the same as the SMBus functions. The following table list the HESC command functions, 
access, units and range of the data. 

 

2. There are two types of command functions, RAM and EEprom.  RAM variables are used to actively monitor and 
control the HESC.  However, RAM is volatile memory and loses it contents on power loss.  The EEprom is used to 
store setpoints and configuration for the HESC.  Separate functions allow easy access to the RAM variables. 
 

Summary of Contents for HESC-UPS

Page 1: ... PIC16F microprocessors Designed by TRI M ENGINEERING Engineered Solutions for Embedded Applications Technical Manual P N HESC UPS For firmware Rev 2 24 or higher Revision 18 09 03 Unit 100 1407 Kebet Way Port Coquitlam British Columbia V3C 6L3 Canada http www Tri M com Tel 604 945 9565 North America 800 665 5600 Fax 604 945 956 ...

Page 2: ...Engineering shall under no circumstances be liable for incidental or consequential damages or related expenses resulting from the use of this product even if it has been notified of the possibility of such damages Tri M Engineering reserves the right to revise this publication from time to time without obligation to notify any person of such revisions If errors are found please contact Tri M Engin...

Page 3: ...etVersionCmd 0x3E 17 13 SerialNumber 0x3F 17 14 GetI2CTempCmd0 0x80 to GetI2CTempCmd15 0x8F 17 15 TempThCmd 0x90 17 16 MainVCmd 0x91 18 17 MainICmd 0x92 18 18 InputPwrCmd 0x93 18 19 BattPwrCmd 0x94 18 20 ChCycleCmd 0x95 19 21 ChTermLastCmd 0x96 19 22 ShutDownCmd 0x97 19 23 PowerSupplyStatusCmd 0x98 20 24 SDSUCauseCmd 0x99 21 25 ActiveEEcmd 0xA0 21 26 EEPromCmd 0xA1 22 Section 7 EEprom Setpoints an...

Page 4: ...oller TC IC 29 Section 9 Battery Charging Algorithms and Strategies 30 A Sealed Lead Acid SLA 30 1 Single Stage Charging 30 2 Dual Stage Charging 30 Section 10 HESC UPS FIRMWARE UPDATE PROCEDURE 32 Section 11 Implementing a smart Watchdog Timer on the Host CPU 33 Table 1 List of HESC Command Functions 10 Table 2 ChargerSpecInfoCmd bit map 12 Table 3 ChargerModeCmd bit map 13 Table 4 ChargerStatusC...

Page 5: ...s and Linux It is imperative with the advanced operating systems that an orderly shutdown of the files be down of the application program and operating system Failure to allow for orderly shutdown can cause data loss intermittent crashes or a complete unrecoverable system failure The HESC UPS firmware has three internal modes that control the start up and shut down of the HESC outputs 1 Debounce H...

Page 6: ...d to cancel a Shut Down mode in progress is by a Host CPU using command PowerSupplyStatusCmd with bit 8 cleared Shut Down requests are generated by o When the HESC main power is removed o When the IGN input of the HESC SER is taken to the Off state The polarity of the IGN is programmable so the state of the input high or low will depend on the polarity setting o When the SD input of the HESC104 is...

Page 7: ...mmunications Communication will return to non checksum mode when the Host CPU sends an acknowledge 0xFF after databyteR high B Slave Mode 1 Commands received from the Host and data sent to or received from the to Host CPU over the SerBus The transaction is invalid and commands data are not to be used until the final acknowledge 0xFF is received the checksum matches the transmitted data checksum is...

Page 8: ...C104 or Host must acknowledge receipt of each byte This is true even if the bus timer is turned off The HESC104 and HESC SER differ in that if the HESC SER bus timer is off an acknowledge byte is not issued If an acknowledge byte doesn t match the acknowledge number expected then a collision is deemed to have occurred The transaction is aborted immediately and the result byte set accordingly An en...

Page 9: ... connection of all I2 C SMBus interfaces to the I2 C SMBus NOTE Care should be taken in the design of both the input and output stages of SMBus devices in order not to load the bus when their power plane is turned off The HESC uses the master to alert the Host of a change in status or of alarm in the HESC The HESC alerts the Host by sending the ChargerStatus value This occurs when main power is ap...

Page 10: ...x3F GetChSerNumCmd 9 91 9 R 8 byte N A Read charger serial number 0x80 GetI2CtempCmd0 9 92 9 R 0 1K 0 to 6553 5 Read I2C temperature to 0x8F GetI2CtempCmd15 9 92 9 R 0 1K 0 to 6553 5 Read I2C temperature 0x90 TempThCmd 9 92 9 R Word 0 to 65535 Read TH thermistor value 0x91 MainVCmd 9 92 9 R mV 0 to 65535 Read main input voltage 0x92 MainICmd 9 92 9 R mA 0 to 65535 Read input current 0x93 InputPwrC...

Page 11: ...s 0 1 K Range 0 to 6553 5 K 2 BattVCmd 0x09 Description Returns the battery voltage mV Purpose The BattVCmd function provides the Host power management system with an accurate battery voltage The Host management system can use this voltage along with battery current information to help enable intelligent adaptive power management systems Protocol Read Word Output unsigned int battery terminal volt...

Page 12: ...e rate depending on the setting of the capacity_mode bit Purpose The BattRemCapCmd function returns the battery s remaining capacity in absolute terms but relative to a specific discharge rate Protocol Read Word Output unsigned int remaining charge in mAh or 10mWh 6 ChargerSpecInfoCmd 0x11 Description The Host uses this command to read the charger s extended status bits Purpose Allows the Host to ...

Page 13: ...re applied or when a battery is re inserted The ENABLE_POLLING bit enables the polling feature of the HESC in Level 3 Smart SMBus mode This bit is set at power on for the HESC The POR_RESET bit sets the Smart Battery Charger to its power on default conditions The RESET_TO_ZERO bit sets the ChargingCurrentCmd and ChargingVoltageCmd values to zero This function ALWAYS clears the ChargingVoltageCmd a...

Page 14: ... ChargingCurrentCmd value CURRENT_NOTREG is cleared when the HESC is regulating to the ChargingCurrentCmd value CURRENT_NOTREG is not defined when the HESC is disabled Field Bits Used Format Allowable Values CHARGE_INHIBITED 0 bit flag 0 charger is enabled 1 charger is inhibited POLLING_ENABLED 1 bit flag 0 charger is in slave mode polling disabled 1 charger is in master mode polling enabled VOLTA...

Page 15: ...RES_HOT and the RES_UR bits to be set A Smart Battery can signal some or all of the Safety Signal ranges using fixed value resistors In battery packs that do not require the Safety Signal as a secondary fail safe indicator a single fixed resistor may be used to select the Safety Signal range which allows indefinite wake up charging or wake up charging only for the time out period In all cases it i...

Page 16: ... Output unsigned int maximum charger output voltage in mV Units mV Range data range is 0 to 65 535 mV 11 AlarmWarningCmd 0x16 Description If an SMBus Battery is connected to the HESC this command notifies the HESC that the one or more alarm conditions exist Alarm and status indications are encoded as bit fields The HESC will acting in Master Mode send the AlarmWarningCmd to the Host over the SerBu...

Page 17: ... to the end of the model name Purpose The SerialNumber function identifies a particular HESC Protocol Read Block Output string Eight character string of the model name followed by an eight character string of the serial number 14 GetI2CTempCmd0 0x80 to GetI2CTempCmd15 0x8F Description The HESC returns the requested I2C temperature to the Host CPU Purpose The Host can perform power management and c...

Page 18: ...e of the current flowing into the HESC The current being report by the MainICmd will be either from the main input or battery or some from both inputs if both the main input and battery are the same potential Compare the voltages returned by BattIVCmd and the MainVCmd to determine the source of the power Protocol Read Word Output unsigned int input current rate in mA increments Units mA Range 0 to...

Page 19: ...rge cycle Protocol Read Write Word Output unsigned int charge cycle Units integer Range 0 to 3 21 ChTermLastCmd 0x96 Description This function returns the cause of the last charge termination method for Standard Battery packs Purpose The Host can determine how effective the charging parameters are by the ChTermLastCmd for an individual battery The ChTermLastCmd will also allow the Host to determin...

Page 20: ...ription 0 BattAutoStartEn Charging is to autostart when the HESC is reset main power is removed then re applied or when a new battery is inserted 1 enable 0 disable 1 TermEn Charge termination is enabled when TermEn is set 1 enable 0 disable 2 SMBactiveEn The HESC to function as a level 3 SMBus charger 1 enable 0 disable 3 IgnHiOffEn When IgnHiOff is set the HESC SER will begin shutdown procedures...

Page 21: ...IGN SD Received a start up request from the IGN input 3 SUreq 1 PB SD Received a start up request from the Pushbutton input 4 Not used 5 Not used 6 Not used 7 Not used Bit Action Bit Name Cause of Shut Down request 8 SDreq 1 Main Power Loss of main power 9 SDreq 1 PowerSupplyStatusCmd 0x98 Bit 8 set during PowerSupplyStatusCmd write 10 SDreq 1 IGN SD Received a shut down request from the IGN input...

Page 22: ...ion The Host uses this command to read write the data in the EEProm The read write address in the EEProm will increment after each read write if the auto increment byte is set 1 through command function ActiveEEcmd 0xA0 Purpose Allows the System Host to change charging profiles and HESC setup Protocol Write Word Input unsigned int 16 bit value See List of EEprom Setpoints and Configuration Variabl...

Page 23: ...2 Word TimeTermEnDef Min 0 to 65535 Minimum time before charge termination allowed 0x14 0x34 0x54 0x74 Word BattTempCompDef mV degK 0 to 65535 Temperature compensation applied to BattVDef 0x16 0x36 0x56 0x76 Word BattVDef mV 0 to 65535 Charging voltage set point 0x18 0x38 0x58 0x78 Word BattIDef mA 0 to 65535 Charging current set point 0x1A 0x3A 0x5A 0x7A Word BattTempRateDef 0 1K Min 0 to 6553 5 ...

Page 24: ... 5 I2C Sensor 5 low temp alarm setting 0xC2 0xC3 I2CHiLoAlarm5 0 1K 0 to 6553 5 I2C Sensor 5 high temp alarm setting 0XC4 0xC5 I2Cconfig6 Bit flags N A Defines I2C sensor 6 address and operating modes 0xC6 0xD7 I2CSetPoint6 0 1K 0 to 6553 5 I2C Sensor 6 low temp alarm setting 0xC8 0xD9 I2CHiLoAlarm6 0 1K 0 to 6553 5 I2C Sensor 6 high temp alarm setting 0xCA 0xDB I2Cconfig7 Bit flags N A Defines I2...

Page 25: ...0 disable 4 BattVmaxTimeEn Charge termination method that terminates charging if the battery voltage has not increased for BattVmaxTimeDef minutes 1 enable 0 disable 5 BattVdeltaEn Charge termination method that terminates charging if the battery voltage has decreased by BattVdeltaDef 1 enable 0 disable 6 TimeMaxEn Charge termination method that terminates charging if charging has taken place for ...

Page 26: ...mum peak voltage Purpose Prevent damage to batteries that can occur from being overcharged Some batteries like NiMH have a very small negative delta V that may not be detected 7 TimeMaxDef EEprom Locations 0x0C 0x2C 0x4C 0x6C Description When TimeMaxEn is enabled the HESC SER will terminate charging a standard battery pack when the length of time the HESC SER has been charging this charge cycle ex...

Page 27: ... connector SDser 0 SD RS232 input transitioning from 5V to 5V generates shut down request SDser 1 SD RS232 input transitioning from 5V to 5V generates shut down request 6 Then Thermistor monitoring select 1 enable 0 disable 7 SUreq Startup request when power applied when HESC SER is hard off 1 off 0 on For standard battery packs only ie Not for SMBus battery packs 18 BattLowVoltageDef EEprom Locat...

Page 28: ...t damage to batteries that can occur from being charged when in an excessively low charge condition or to prevent normal charging if one or more cells are faulty 23 PWRSDdebDef 0xD0 PWRSUdebDef 0xD2 IGNSDdebDef 0xD8 IGNSUdebDef 0xDA Description Defines the interval for debouncing signal Range is 0 to 65535 seconds Purpose To prevent unnecessary start up or shut down of the Host CPU 24 PWRSDDef 0xD...

Page 29: ...low byte then Low alarm setting 0 if I2Csetpoint 65535 I2ChiLoAlarm high byte then High alarm setting 65535 For TS IC High alarm value Alarm range 0 to 65535 Bit Bit Name Description 0 Cmd bit 0 1 Cmd bit 1 Bit 0 and 1 selects data and or commands within the TC IC address Refer to TC IC for more details For TS IC Cmd bit 0 1 should be zero For a write operation the contents of I2CSetpoint will be ...

Page 30: ...tion BattTempMaxEn 1 BattTempMax 3182 Terminates charging if battery temperature above BattTempMax Set for 45C BattVmaxEn 1 BattVmax 13900 Terminates charging if battery voltage above BattVmaxDef Set for 13 9V BattTempCompEn 1 BattTempComp 18 Compensates the BattVDef voltage for the ambient temperature Compensation is in mV starting at 298 2K 25C N A BattVDef 13700 Float voltage set up Set for 13 ...

Page 31: ...t up Set for 13 7 volts N A BattIDef 2500 1 Maximum charge current Set for 2500mA BattTempMaxEn 0 N A 2 Terminates charging if battery temperature above BattTempMax Set for 45C BattVmaxEn 0 N A 2 Terminates charging if battery voltage above BattVmaxDef Set for 13 9V BattTempCompEn 1 BattTempComp 18 2 Compensates the BattVDef voltage for the ambient temperature Compensation is in mV starting at 298...

Page 32: ...pply main power to CN6 of HESC 3 Start SCU utility on host 4 Select INIT SETUP from menu and select AUTO_SELECT press OK button after HESC is initialized 5 Select FILE OPEN from menu and select the file 6 Select EEPROM from menu and select UPDATE ALL 7 Select WRITE to update the profile 8 Close SCU after profile is updated 9 Remove main power from CN6 To update the firmware 1 Connect a wire betwee...

Page 33: ...from Tri M Engineering 2 Set the command start up time interval in the EEProm profile for the Host CPU to remain unpowered before starting up again This interval is in seconds and can have a value up to 65535 seconds and can be set with the SCU exe utility from Tri M Engineering 3 The Host CPU must continue to issue the two following commands to tickle the HESC at a rate greater than the watchdog ...

Reviews: