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: 

[email protected]

 

 

 Canada 

Web 

site: 

www.tri-m.com

 

7

Section 3 : HESC-SER SerBus Communications 

A. Description: 

The HESC-SER communicates with the Host through the asynchronous serial bus.  Commands and data are sent and 
received using a full duplex 8 bit, no parity, 9600 baud, and one stop bit format.  The HESC-SER operates in a "slave" 
mode where the Host initiates all the communications between the HESC-SER and the Host. 
 

- Table 1 lists the commands the HESC supports. 

 
To ensure reliable communication, an acknowledge byte is returned after each address, command or data byte 
transmitted.  The receiving device (HESC-SER or Host) must acknowledge receipt of each byte, unless the bus timer is 
turned off.  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 "enhanced" communication mode is available by adding an optional checksum value.  If the HESC-SER receives a 
Read command from the Host with the acknowledge set to 0x03 after sending [databyteR high], it will switch to enhanced 
mode for all future communications.  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 optional, but if sent must be used) 

 

2. Note: Read and Write is defined as the action the command places on the HESC-SER RAM and EEprom.  Therefore, 
Read and Write have the same meaning for Master and Slave modes: 

 

3a. Write command without checksum acknowledge. 

 

HOST: <addressW>         <command>         <databyteW low >         <databyteW high >  

 

HESC-SER:             [0x00]                   [0x01]                            [0x02]                              [0xFF] 

 

3b. Write command with checksum acknowledge. 

 

HOST: <addressW>         <command>         <databyteW low >         <databyteW high >         <checksum> 

 

HESC-SER:             [0x00]                   [0x01]                            [0x02]                              [0x03]                   [0xFF] 

 

3c. Write command without checksum acknowledge and without bus timer enabled. 

 

HOST: <addressW> <command> <databyteW low > <databyteW high >  

 

HESC-SER:             [0x00]**        [0x01]**                  [0x02]**                  [0xFF]** 

 

4a. Read command without checksum acknowledge. 

 

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

 

HESC-SER:             [0x00]                   [databyteR low]           [databyteR high] 

 

4b. Read command with checksum acknowledge. 

 

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

 

HESC-SER:             [0x00]                   [databyteR low]           [databyteR high]           [checksum] 

 

4c. Read command without checksum acknowledge and without bus timer enabled. 

 

HOST: <addressR> <command>  

 

HESC-SER:            [0x00]**         [databyteR low] [databyteR high] 

 

 

  **{HOST does not need to wait for Ack from HESC-SER}

 

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: