MAXWELL TECHNOLOGIES CAN COMMUNICATION SPECIFICATION Applicable to Maxwell Technologies® BOOSTCAP® Energy Storage Modules for Heavy Duty Transportation Applications: BMOD0063 P125 © 2008 Maxwell Technologies, Inc. FW 1.34 Document no.: 1014339 TABLE OF CONTENTS TABLE OF CONTENTS ..................................................................................................................................... 2 1. DOCUMENT HISTORY.............................................................................................................................. 4 2. INTRODUCTION ........................................................................................................................................ 6 3. CAN PHYSICAL LAYER............................................................................................................................ 6 3.1. 3.2. 3.3. 3.4. 4. BAUD RATE ........................................................................................................................................... 6 GENERAL CIRCUIT .................................................................................................................................. 7 CONNECTOR.......................................................................................................................................... 7 TERMINATION RESISTORS ...................................................................................................................... 8 CAN IDENTIFIER ....................................................................................................................................... 9 4.1. 4.2. 4.3. 5. NODE ID .............................................................................................................................................. 9 MODULE ID ........................................................................................................................................ 10 SERVICE ID ........................................................................................................................................ 10 CYCLIC MESSAGES ................................................................................................................................ 11 5.1. CYCLIC MESSAGE 1.............................................................................................................................. 11 5.1.1. Status 1 ........................................................................................................................................ 11 5.1.2. Status 2 ........................................................................................................................................ 12 5.1.3. Status 3 ........................................................................................................................................ 13 5.1.4. Temperature ................................................................................................................................ 14 Full Voltage ................................................................................................................................................. 14 5.1.5. Half Voltage ................................................................................................................................. 14 5.2. 5.2.1. 5.2.2. 5.2.3. 5.2.4. 5.3. 5.3.1. 5.3.2. 5.3.3. 5.3.4. 6. CYCLIC MESSAGE 2.............................................................................................................................. 14 5/6th Voltage ................................................................................................................................ 15 2/3rd Voltage ................................................................................................................................ 15 1/3rd Voltage ................................................................................................................................ 15 1/6th Voltage ................................................................................................................................ 15 CYCLIC MESSAGE 3.............................................................................................................................. 15 Peak Delta Voltage ...................................................................................................................... 16 Average Delta Voltage ................................................................................................................ 16 Max Delta Voltage ....................................................................................................................... 16 Min Delta Voltage ........................................................................................................................ 16 COMMAND MESSAGES .......................................................................................................................... 17 6.1. 6.2. 6.3. 6.4. 6.5. 6.6. 6.7. 6.8. 6.9. 6.10. 6.11. 6.12. 6.13. 6.14. LOADDEFAULT – LOAD FACTORY SETTING .............................................................................................. 17 GETVERSION – READ VERSION NUMBER ................................................................................................. 18 GETBOARDSERIALNUMBER - READ THE SERIAL NUMBER OF THE BOARD .................................................... 18 GETMODULESERIALNUMBER - READ MODULE SERIAL NUMBER ................................................................ 18 SETMASTERNODEID – SET MASTERS NODE ID ..................................................................................... 19 SETUCMNODEID – SET UCM NODE ID ............................................................................................... 19 SETMODULEID – SET MODULE ID........................................................................................................ 20 SETBAUDRATE – SET BAUD RATE ......................................................................................................... 20 SETINTERVAL – SET CYCLIC TRANSMISSION INTERVAL............................................................................ 21 GETINTERVAL – READ CYCLIC TRANSMISSION INTERVAL ......................................................................... 21 SETPEAKDELTALIMIT – SETS THE PEAK DELTA VOLTAGE LIMIT. .............................................................. 22 CALIBRATECHANNEL – CALIBRATES A VOLTAGE CHANNEL ........................................................................ 22 ERRORMESSAGE – ERROR MESSAGE ...................................................................................................... 23 RESTART ............................................................................................................................................ 23 Maxwell Technologies CAN Communication Specification – Document no. 1014339 2 7. BOOTLOADER MESSAGES.................................................................................................................... 25 7.1. 7.2. 7.3. 7.4. 7.5. 7.6. 7.7. 7.8. 7.9. 7.10. 7.11. 8. 8.1. 8.2. 8.3. 8.4. 8.5. 8.6. 8.7. ENTERBOOTMODE – SWITCH FROM APPLICATION TO BOOTLOADER.......................................................... 25 ENTERAPPLICATIONMODE – SWITCH FROM BOOTLOADER TO APPLICATION ............................................... 25 ERASE – ERASE DATA IN MICRO CONTROLLER FLASH MEMORY ................................................................. 26 FILL – FILL DATA IN MICRO CONTROLLER TEMPORARY BUFFER ................................................................. 26 PROGRAM – PROGRAM DATA IN MICRO CONTROLLER FLASH MEMORY ....................................................... 26 READ – READS DATA FROM MICRO CONTROLLER FLASH MEMORY ............................................................. 27 READEEPROM – READS DATA FROM MICRO CONTROLLER EEPROM MEMORY ......................................... 27 WRITEEEPROM – WRITE DATA IN MICRO CONTROLLER EEPROM MEMORY ............................................ 27 CALCULATEFLASHCRC – CALCULATES THE CRC OF THE FLASH MEMORY ................................................... 27 PROGRAMFLASHCRC – PROGRAMS THE CRC TO THE FLASH MEMORY ....................................................... 28 BOOTHEARTBEAT – B OOTLOADER HEART BEAT MESSAGE ....................................................................... 28 APPENDIX ................................................................................................................................................. 29 A LIMIT VALUES ................................................................................................................................. 29 B FACTORY DEFAULT SETTINGS ........................................................................................................... 30 C STATE DIAGRAM APPLICATION – B OOTLOADER ................................................................................... 30 D BOARD SERIAL NUMBER FORMAT ....................................................................................................... 31 E MODULE SERIAL NUMBER FORMAT ..................................................................................................... 31 F VOLTAGE TAPS IN CAPACITOR STRING ............................................................................................... 32 G ABBREVIATIONS ............................................................................................................................... 33 Maxwell Technologies CAN Communication Specification – Document no. 1014339 3 1. Document History Revision Author Date Change Reason 1.0 USt 2007-07-23 Original 1.1 USt 2007-07-26 Internal note off Liberation for customer MaxTech 2008-06-24 Match to Code Cost vs. Functionality 1.2 MSE 2008-10-15 1.21 MSE 2008-11-11 Changes in the communication protocol Minor changes Requirement change after telephone conference with customer. No functional changes. 1.22 MSE 2008-11-26 1.23 MSE 2008-12-12 1.24 MSE 2009-01-19 1.31 MSE 2009-02-05 1.33 MSE 2009-04-27 1.34 MSE 2009-09-22 New Start-up message has been introduced in the protocol, minor changes to SetModuleId command and changed value and function of the Command Time Limit. Needed new message to be able to recover a unit with an unknown Maste Node ID. The SetModuleID will now be activated immediately and will consequently respond with the new Module ID. The Command Time Limit is now set to 2.4s instead of 30s. No Cyclic Messages will be sent during this time. Change of value The Peak Delta Voltage of the Peak Delta Limit changed from 2.7VDC Voltage Limit. to 3.0VDC. Added new Added provision for the command to customer to customize the change Peak Delta use of the Peak Delta Flag. Voltage Limit. Added support command to Added new improve production command for calibration. production calibration. Revision change Software version changes Clarification regarding temperature measurement. Max string voltage and min string voltage added to Maxwell Technologies CAN Communication Specification – Document no. 1014339 It was not clearly specified what happens at the lower and upper limits of the temperature measurements. The max string voltage and min string voltage values where added to support 4 Cyclic Message 3. Initial delay for approximately 5s in warnings and alarms for temperature. Maxwell Technologies CAN Communication Specification – Document no. 1014339 procedures for triggering of system level module conditioning. The delay of temp alarms and warnings was added due to that false alarm was set during the boot-up sequence due to the long time constant in the sensor circuit. 5 2. Introduction This document represents the CAN communication profile for Maxwell Technologies Ultra Capacitor Monitoring unit for 125 VDC Ultra Capacitor Modules. 3. CAN Physical Layer 3.1. Baud rate The UCM node supports 125kbit/s, 250kbit/s and 500kbit/s baud rate. The baud rate can be change with a command message specified in chapter 3. The default baud rate is 250kbit/s. Bit Timing for CAN controller The following parameters are specified for operating the CAN controller with the 3 different transfer rates: Description Oscillator Frequency 125 kbit/s 16 MHz 250 kbit/s 16 MHz 500 kbit/s 16 MHz Baud rate Prescaler 7 3 1 Time Quantum (tq) 500 ns 250 ns 125 ns Synchronization Segment 1 tq 1 tq 1 tq Propagation Time Segment 7 tq 7 tq 7 tq Phase Segment 1 4 tq 4 tq 4 tq Phase Segment 2 4 tq 4 tq 4 tq Σ16 tq = 8 µs Σ16 tq = 4 µs Σ16 tq = 2 µs 1 tq 1 tq 1 tq Bit Time Re-Synch Jump Width Maxwell Technologies CAN Communication Specification – Document no. 1014339 6 3.2. General circuit 3.3. Connector The HTM125 Ultra Capacitor Module is equipped with two 8 pin Deutsch connectors each on a short cable. One of the connectors is a Socket Plug and one is a Pin Receptacle for easy daisy chaining. Connector Type Socket Plug Pin Receptacle DTM06-08SA WM-8S 0460-202-20141 DTM04-08PA WM-8D 0462-201-20141 Drawing Overview Connector PN Wedgelock PN Socket / Pin PN Connector Pin Out Description CAN_H CAN_L SHIELD NC NC NC 24 RTN 24 VDC Pin 1 2 3 4 5 6 7 8 Maxwell Technologies CAN Communication Specification – Document no. 1014339 7 3.4. Termination Resistors The UCM node is not equipped with any internal terminating resistor (Type I ECU). A terminating resistor should be placed at each end of the network main line. Below is an example of network topology with a Type II Master and 6 UCM’s. UCM 1 UCM 2 UCM 3 UCM 4 UCM 5 UCM 6 Master (Type II ECU) Deutsch Connectors Maxwell Technologies CAN Communication Specification – Document no. 1014339 Terminating Resistor 8 4. CAN Identifier The UCM supports both the 11-bit standard CAN identifier and the 29-bit extended CAN identifier. This can be modified by changing the CAN format with a configuration message (see chapter 4). The unit can only support one format at a time. The CAN identifier is composed of three parts: Node ID, Module ID and Service ID according to the following scheme. 11-bit Identifier CAN_ID = ( Node_ID << 7 ) || ( Module_ID << 3 ) || ( Service_ID ) MSB 10 LSB 9 8 7 Node_ID 6 5 4 3 Module_ID 2 1 0 Service_ID 29-bit Identifier CAN_ID = ( Node_ID << 7 ) || ( Module_ID << 3 ) || ( Service_ID ) MSB 28 27 26 25 24 23 22 21 20 19 18 17 16 15 14 13 12 11 10 9 Node_ID 8 7 6 5 4 Module_ID 3 2 1 LSB 0 Service_ID 4.1. Node ID There are two Node ID’s stored in non-volatile memory, Master Node ID and UCM Node ID. The Master Node ID is used as a source address in the CAN identifier of the messages sent from the Master to the UCM. The UCM Node ID is used as a source address in the CAN identifier of the messages sent from the UCM to the Master. The value of the Node ID’s can be changed using configuration messages. Range: 0x00 – 0x3FFFFF Default Master Node ID: 0x000009 Default UCM Node ID: 0x00000A Maxwell Technologies CAN Communication Specification – Document no. 1014339 9 The Node ID is always stored as a 22-bit value in the non-volatile memory. In the case of using the 11-bit CAN identifier format only the 4 least significant bits will be used and the 18 most significant bits will be disregarded. 4.2. Module ID The Module ID is a unique identifier for each UCM within the network. Module ID 0 is used by the Master to send a Broadcast message to all nodes. All UCM nodes will acknowledge commands sent with Module Id 0. Note that the Master Node Id still has to match the Master Node Id that the UCM is configured for. If the Module ID of the UCM is set to 0 the UCM will not respond to any commands but the commands will be executed by the UCM. The only exception to this rule is if the command is a GetSerialNumber command. In that case the UCM responds even though the Module Id is 0. Range: 0x0 – 0xF Default Module ID: 0x0 4.3. Service ID The Service ID identifies the type of messages send or received by the UCM. The following Service ID’s are supported by the UCM: Description Cyclic Message #1 Service ID 1 Tx/Rx Tx Cyclic Message #2 2 Tx Cyclic Message #3 3 Tx Start-up Config Message 4 Tx/Rx Bootloader Message 6 Tx/Rx Configuration Message 7 Tx/Rx Further explanations of the content of these messages are described in individual separate chapters. Maxwell Technologies CAN Communication Specification – Document no. 1014339 10 5. Cyclic Messages Cyclic CAN messages are sent by the UCM if the Module ID and the Cyclic Transmission Interval Count are both not zero. All Cyclic Messages can be turned on and of independently by means of a bit mask. All activated Cyclic Messages will be sent out evenly distributed over the Cyclic Transmission Interval, i.e. if the Transmission Interval Time is set to 300 ms and all three messages are activated the UCM will send a cyclic message every 100 ms. Both the Cyclic Transmission Interval Count and the Cyclic Message Activation bitmask are configured using the SetInterval command specified below. The Cyclic Messages will start transmitting when the Command Time Limit following a restart event has run out. The value of the Command Time Limit can be found in Appendix A. The cyclic messages contain both measured values and status bytes. The Voltage measurement taps are connected to measure between every 8th capacitor in the module at the negative terminal. The Full Voltage value is measured between the positive and the negative terminal and the Half Voltage value is measured over the 24 first capacitors. The status bits are derived from a diagnostic procedure which runs every 50ms. 5.1. Cyclic Message 1 Description Service ID Value 1 Data Length Code (DLC) 8 Cyclic Interval * N is the Cyclic Interval Count. Sender UCM DB 0 Status 1 DB 1 Status 2 N x 50 ms* DB 2 Status 3 DB 3 Temp 1 DB 4 DB 5 Full Voltage DB 6 DB 7 Half Voltage 5.1.1. Status 1 Bit 0 Temperature below Low Limit This bit is set to 1 if the Temperature is currently below the Low Limit. The value of the low limit is listed in Appendix A (Low Temperature). This indicates a warning that the Temperature is approaching the minimum level which can lead to a serious condition for the Ultra Capacitor Module. This alarm will be disabled for 5s at start-up of the module. Bit 1 Temperature above High Limit This bit is set to 1 if the Temperature is currently over the High Limit. The value of the high limit is listed in Appendix A (High Temperature).This indicates a warning that the Temperature Maxwell Technologies CAN Communication Specification – Document no. 1014339 11 is approaching the maximum level which can lead to a serious condition for the Ultra Capacitor Module. This alarm will be disabled for 5s at start-up of the module. Bit 2 Full Voltage below Low Limit This bit is set to 1 if the Full Voltage is currently below the Low Limit. The value of the low limit is listed in Appendix A (Low Full Voltage). Bit 3 Full Voltage above High Limit This bit is set to 1 if the Full Voltage is currently over the High Limit. The value of the high limit is listed in Appendix A (High Full Voltage). This indicates a warning that the Voltage is approaching the maximum level which can lead to an over voltage condition for the Ultra Capacitor Cells. Bit 4 Peak Delta Has Been Above Maximum Limit This bit is set to 1 if the Peak Delta has been over the maximum limit. A definition of the Peak Delta Above Maximum Limit bit can be read below under Status 2, bit 4.The value of the limit is listed in Appendix A (Maximum Peak Delta Voltage). This bit will stay set until it is reset by the restart command (see Command messages). Bit 5 Temperature Has Been Above Maximum Limit This bit is set to 1 if the Temperature has been over the maximum limit. The value of the maximum limit is listed in Appendix A (Maximum Temperature). This bit will stay set until it is reset by the restart command (see Command messages). This alarm will be disabled for 5s at start-up of the module. Bit 6 Full Voltage Has Been Above Maximum Limit This bit is set to 1 if the Full Voltage has been over the maximum limit. The value of the maximum limit is listed in Appendix A (Maximum Full Voltage). This bit will stay set until it is reset by the restart command (see Command messages). Bit 7 Request Service Has Occurred This bit is set to 1 if there has been a request for service on the module. A definition of the request Service bit can be read below under Status 2, Bit 7. This bit will stay set until it is reset by the restart command (see Command messages). 5.1.2. Status 2 Bit 0 Temperature below Minimum Limit This bit is set to 1 if the Temperature is currently below the minimum limit. The value of the minimum limit is listed in Appendix A (Minimum Temperature). It is not recommended to use the Ultra Capacitor Module at this temperature but rather allow the Ultra Cap Module to warm up. This alarm will be disabled for 5s at start-up of the module. Bit 1 Half Voltage above Maximum Limit Maxwell Technologies CAN Communication Specification – Document no. 1014339 12 This bit is set to 1 if the Half Voltage is currently above the maximum limit. The value of the maximum limit is listed in Appendix A (Maximum Half Voltage). Operating the Ultra Capacitor Module at this voltage may damage the capacitors and lead to a shorter life of the product. It is not recommended to use the Ultra Capacitor Module if this is a lasting or recurring condition. Bit 2 Half Voltage below Low Limit This bit is set to 1 if the Half Voltage is currently below the Low Limit. The value of the low limit is listed in Appendix A (Low Half Voltage). Bit 3 Half Voltage above High Limit This bit is set to 1 if the Half Voltage is currently over the High Limit. The value of the high limit is listed in Appendix A (High Half Voltage). This indicates a warning that the Voltage is approaching the maximum level which can lead to a serious condition for the Ultra Capacitor Module. Bit 4 Peak Delta above Maximum Limit This bit is set to 1 if the Peak Delta is above the Maximum limit. The definition of Peak Delta Voltage is described in chapter 5.3.1. A high value of the Peak Delta indicates an imbalance internally in the Ultra Capacitor Module. The value of the maximum limit is listed in Appendix A (Maximum Peak Delta Voltage). This can be corrected by performing conditioning. It is recommended to do balancing at a higher frequency or not use the Ultra Capacitor Module if this is a recurring condition. Bit 5 Temperature above Maximum Limit This bit is set to 1 if the Temperature is currently above the maximum limit. The value of the maximum limit is listed in Appendix A (Maximum Temperature). Operating the Ultra Capacitor Module at this temperature may damage the capacitors and lead to a shorter life of the product. It is not recommended to use the Ultra Capacitor Module if this is a lasting or recurring condition. This alarm will be disabled for 5s at start-up of the module. Bit 6 Full Voltage above Maximum Limit This bit is set to 1 if the Full Voltage is currently above the maximum limit. The value of the maximum limit is listed in Appendix A (Maximum Full Voltage). Operating the Ultra Capacitor Module at this voltage may damage the capacitors and lead to a shorter life of the product. It is not recommended to use the Ultra Capacitor Module if this is a lasting or recurring condition. Bit 7 Request Service A request for service of the Ultra Capacitor module is currently being made. This request is triggered if the Full Voltage above Maximum, Temperature above Maximum, Half Voltage above Maximum or Temperature below Minimum. 5.1.3. Status 3 Bit 0-7 Not Used These bits are reserved for future definition. Maxwell Technologies CAN Communication Specification – Document no. 1014339 13 5.1.4. Temperature The temperature sensor is placed inside the Ultra Capacitor Module. If the temperature is outside the lower range the unit will report 0 (-40˚C). If the temperature is outside the higher range or no sensor is connected the unit will report 255. Resolution 1˚C/bit Range 0 to 206 [-40 to 166˚C] Units Offset Data Type Degree Celsius -40 uInt08 Full Voltage The Full Voltage is measured over all 48 capacitor cells in the module. Resolution 0.05v/bit Range 0 to 2800 [0 to 140 VDC] Units Offset Data Type Volts 0 uInt16 5.1.5. Half Voltage The Half Voltage is measured from the negative terminal over the 24 first capacitor cells. Resolution 0.05v/bit 5.2. Range 0 to 1400 [0 to 70 VDC] Units Offset Data Type Volts 0 uInt16 Cyclic Message 2 Description Service ID Value 2 Data Length Code (DLC) 8 Cyclic Interval * N is the Cyclic Interval Count. Sender UCM DB 0 DB 1 th 5/6 Voltage N x 50 ms* DB 2 DB 3 rd 2/3 Voltage DB 4 DB 5 rd 1/3 Voltage Maxwell Technologies CAN Communication Specification – Document no. 1014339 DB 6 DB 7 th 1/6 Voltage 14 5.2.1. 5/6th Voltage The 5/6th Voltage are measured from the negative terminal over the 40 first capacitor cells. Resolution Range Units Offset Data Type 0 to 2340 0.05v/bit Volts 0 uInt16 [0 to 117 VDC] 5.2.2. 2/3rd Voltage The 5/6th Voltage are measured from the negative terminal over the 32 first capacitor cells. Resolution Range Units Offset Data Type 0 to 1880 0.05v/bit Volts 0 uInt16 [0 to 94 VDC] 5.2.3. 1/3rd Voltage The 5/6th Voltage are measured from the negative terminal over the 16 first capacitor cells. Resolution Range Units Offset Data Type 0 to 940 0.05v/bit Volts 0 uInt16 [0 to 47 VDC] 5.2.4. 1/6th Voltage The 1/6th Voltage are measured from the negative terminal over the 8 first capacitor cells. Resolution Range Units Offset Data Type 0 to 480 0.05v/bit Volts 0 uInt16 [0 to 24 VDC] 5.3. Cyclic Message 3 Description Service ID Value 3 Data Length Code (DLC) 8 Cyclic Interval * N is the Cyclic Interval Count. Sender UCM DB 0 DB 1 Peak Delta Voltage N x 50 ms* DB 2 DB 3 Average Delta Voltage DB 4 DB 5 Max Delta Voltage Maxwell Technologies CAN Communication Specification – Document no. 1014339 DB 6 DB 7 Min Delta Voltage 15 5.3.1. Peak Delta Voltage The definition of Peak Delta is difference between the highest voltage across adjacent voltage taps (see Appendix F) and the lowest voltage across adjacent voltage taps. 5.3.2. Average Delta Voltage When calculating the Average Delta Voltage the highest and lowest adjacent tap voltages are ignored. The average is then calculated from the remaining 4 voltages. 5.3.3. Max Delta Voltage The definition of Max Delta Voltage is the highest value of voltages across adjacent voltage taps (see Appendix F). 5.3.4. Min Delta Voltage The definition of Min Delta Voltage is the lowest value of voltages across adjacent voltage taps (see Appendix F). Maxwell Technologies CAN Communication Specification – Document no. 1014339 16 6. Command Messages The CAN messages are processed in the UCM only on receipt of a command from its master, after which it acknowledges with a corresponding response. All command messages and command responses are sent with the same Service ID. The command number is transferred in the first data byte (byte 0). The content of data bytes 1-7 are organized specific to the command. The master sends the command to all UCMs (module ID 0) or at one selected UCM (module ID 1-15). The UCM listens for CAN ID’s of the following types: 1. CAN ID from Master with Node ID equal to the one the UCM has been configured for and Module ID equal to the one the UCM has been configured for and Service Id equal to Configuration Messages. 2. CAN ID from Master with Node ID equal to the one the UCM has been configured for and Module ID equal to 0 and Service Id equal to Configuration Messages. 3. CAN ID equals to 0x7FC when using Standard CAN format (11-bit identifier) or 0x1FFFFFFC when using extended CAN format (29-bit identifier). This CAN ID will only execute the LoadDefault command. This is used to get started when the CAN configuration settings is unknown. Note that this will always load the default settings on all UCM’s that is connected to the network. The UCM answers only if its configured Module ID is different from 0 unless otherwise stated. (GetSerialNumber shall respond regardless of Module ID). Unused data bytes are shown as blank for easier reading but should contain 0xFF when composing the CAN message (J-1939’s value representing ‘not available’, see J1939-71:Table1). 6.1. LoadDefault – Load factory setting Description LoadDefault Sender Master UCM DB0 0xA5 0xA5 DB1 0x1E LsSer# DB2 0xEE Ser#2 DB3 0xE1 Ser#3 DB4 0xEE Ser#4 DB5 0x1E Ser#5 DB6 DB7 0x00 ModuleId MsSer# ModuleId Parameters can be reset to the factory default values. The factory setting are stored in the program memory and activated after a restart event. The confirmation is sent with the current configured parameters. This command is ignored if not within the valid Command Time Limit following a restart event. The value of the Command Time Limit can be found in Appendix A. The following parameters are set to factory default with this command: CAN Format, Master Node ID, UCM Node ID, Module ID, CAN Baud Rate, Cyclic Message Count and Cyclic Message Bit Mask. The default values of these values can be found in Appendix B. Maxwell Technologies CAN Communication Specification – Document no. 1014339 17 This is a valid broadcast message. 6.2. GetVersion – Read version number Description GetVersion Master DB 0 0x01 UCM 0x01 Sender DB1 DB2 LsHwVer HwVer2 DB3 DB4 DB 5 DB6 DB7 ModuleId MsHwVe LsSwVer SwVer2 MsSwVer ModuleId r (r) (r) (V) Hardware and software version numbers can be read. The lowest bit of the version numbers will be sent first. The Hardware version is sent as 3 bytes with ASCII interpretation. The Software version is sent as 3 bytes with hexadecimal interpretation on the format V.rr where V is a major code version and rr are relatively minor revisions. This is a valid broadcast message. 6.3. GetBoardSerialNumber - Read the serial number of the board Description GetBoard SerialNum Sender Master UCM DB0 0x02 0x02 DB1 DB2 DB3 DB4 DB5 DB6 LsSer# Ser#2 Ser#3 Ser#4 Ser#5 MsSer# DB7 ModuleId ModuleId The Board Serial Number is 6 bytes of the format described in Appendix D. This number is entered in to the EEPROM when the board goes through the board testing station. This serial number is used as a safe guard key when changing the ModuleId with SetModuleID command. UCM responds even if its Module ID is zero. This is a valid broadcast command. 6.4. GetModuleSerialNumber - Read module serial number Description GetModule SerialNum1 Sender Master UCM DB0 0xB1 0xB1 DB1 Description GetModule SerialNum2 Sender Master UCM Description GetModule SerialNum3 DB2 DB3 DB4 DB5 DB6 LsSer#0 Ser#1 Ser#2 Ser#3 Ser#4 Ser#5 DB1 0xB2 0xB2 DB2 DB4 DB5 DB6 DB7 LsSer#6 Ser#7 Ser#8 Ser#9 Ser#10 Ser#11 Sender Master DB1 0xB3 DB2 DB4 DB5 DB6 DB7 UCM 0xB3 LsSer#12 Ser#13 Ser#14 Ser#15 Ms Ser#16 DB3 DB3 DB7 ModuleId ModuleId DB8 ModuleId ModuleId DB8 ModuleId ModuleId The Module Serial Number is 17 bytes of the format described in Appendix E. This number is entered in to the EEPROM when the module goes through the module testing station. The Module Serial Number can also be read on a label on the UCM. Note that is the UCM is replaced Maxwell Technologies CAN Communication Specification – Document no. 1014339 18 the Module Serial Number has to be updated to match the label on the module. The spare part UCM’s is programmed with all bytes equal to zero. This is a valid broadcast command. 6.5. SetMasterNodeID – Set Masters Node ID Description SetMasterNode Sender Master UCM Parameter DB0 0x0A 0x0A DB1 Format LsSer# DB2 DB3 DB4 DB5 LsNodeId NodeId2 MsNodeId Ser#2 Ser#3 Ser#4 Ser#5 Value Factory Default 0x00 0 0x01 – 0xFF 0x00 – 0x0F 0x09 0x00000 – 0x3FFFFF Format Node ID DB6 MsSer# DB7 ModuleId ModuleId Description 11-bit CAN identifier 29-bit CAN identifier 11-bit CAN identifier 29-bit CAN identifier With this command, a new Master Node ID can be assigned to the UCM. The UCM will only recognize and response to messages from the Master with this Node ID. The new Node ID is stored in the UCM non-volatile memory and is activated after a restart event. The Format parameter is used for switching between the standard CAN format and the extended CAN format. Note that the Format can be changed with both the SetMasterNodeID command and the SetUCMNodeId. The last command sent will override previous commands. The new Format is stored in non-volatile memory and is activated after a restart event. The command is a valid broadcast message. 6.6. SetUCMNodeID – Set UCM Node ID Description SetUCMNode Parameter Format Node ID Sender Master UCM DB0 0x0B 0x0B DB1 Format DB2 DB3 DB4 DB5 LsNodeId NodeId2 MsNodeId Value 0x00 0x01 – 0xFF 0x00 – 0x0F 0x00000 – 0x3FFFFF Factory Default 0 0x0A DB6 DB7 ModuleId ModuleId Description 11-bit CAN identifier 29-bit CAN identifier 11-bit CAN identifier 29-bit CAN identifier With this command, a new UCM Node ID can be assigned to the UCM. All transmitted messages from the UCM will use this Node ID. The new Node Id is stored in the UCM non-volatile memory and activated only after a restart event. The command is a valid broadcast message. Maxwell Technologies CAN Communication Specification – Document no. 1014339 19 The Format parameter is used for switching between the standard CAN format and the extended CAN format. Note that the Format can be changed with both the SetMasterNodeID command and the SetUCMNodeId. The last command sent will override previous commands. The new Format is stored in non-volatile memory and is activated after a restart event. The command is a valid broadcast message. 6.7. SetModuleID – Set Module ID Description SetModuleId Sender Master UCM DB0 0x0C 0x0C Parameter Module ID DB1 LsSer# DB2 Ser#2 DB3 Ser#3 Value 0x00 – 0x0F DB4 Ser#4 DB5 Ser#5 DB6 DB7 MsSer# ModuleId ModuleId Factory Default 0 With this command, a new Module ID can be assigned to the UCM. The UCM compares the internally stored serial number with the passed parameter. If the serial numbers match, the new Module ID is stored in its non-volatile memory. The change is activated immediately. The UCM sends the confirmation with the new Module ID. If the serial numbers do NOT match the message will be discarded by the UCM without confirmation. Note that the new Module Id is sent in data byte 7. This command is a valid broadcast message. 6.8. SetBaudrate – Set Baud Rate Description SetBaudRate Parameter BaudRate Sender Master UCM DB0 0x0D 0x0D DB1 DB2 DB3 LsBitRate MsBitRate Value 125, 250 or 500 kbit/s DB4 DB5 DB6 DB7 ModuleId ModuleId Factory Default 250 kbit/s The new Baud Rate is stored in the UCM non-volatile memory and is activated after a restart event. This command is a valid broadcast message. Maxwell Technologies CAN Communication Specification – Document no. 1014339 20 6.9. SetInterval – Set Cyclic Transmission Interval Description SetInterval Sender DB0 Master 0x10 UCM 0x10 DB1 DB2 Interval Mask Count DB3 DB4 DB5 DB6 DB7 ModuleId ModuleId Parameter Cyclic Transmission Interval Count Cyclic Transmission Mask Value 0x00 – 0xFF 0x00 – 0x07 Factory Default 0 0 With this command, the cyclic transmission interval and cyclic transmission mask of measured data can be changed. The interval is configured by means of an interval count value. The interval count is a multiplier of 50ms which yields an interval in the area of 0… 12750ms. A multiplier of 0 deactivates the cyclic data transfer. With the cyclic transmission mask the three cyclic messages can be turned on and of independently. If the bit is set to 1 the messages is activated and if the value is 0 the message is deactivated. The three least significant bits coupled to the cyclic messages according to the following scheme: Bit 0 Bit 1 Bit 2 Cyclic Message 1 Cyclic Message 2 Cyclic Message 3 All changes take immediate effect. This command is a valid broadcast message. 6.10. GetInterval – Read Cyclic Transmission Interval Description GetInterval Sender Master DB0 0x11 UCM 0x11 DB1 DB2 DB3 DB4 DB5 DB6 LSB MSB Interval IntervalCount Interval Interval Mask Period Period DB7 ModuleId ModuleId With this command, the cyclic transmission interval and cyclic transmission mask of measured data can be read. The interval is configured by means of an interval count value. The interval count is a multiplier of 50ms which yields an interval in the area of 0… 12750ms. A multiplier of 0 deactivates the cyclic data transfer. With the cyclic transmission mask the three cyclic messages can be turned on and of Maxwell Technologies CAN Communication Specification – Document no. 1014339 21 independently. If the bit is set to 1 the messages is activated and if the value is 0 the message is deactivated. The three least significant bits coupled to the cyclic messages according to the following scheme: Bit 0 Bit 1 Bit 2 Cyclic Message 1 Cyclic Message 2 Cyclic Message 3 This command is a valid broadcast message. 6.11. SetPeakDeltaLimit – Sets the Peak Delta Voltage Limit. Description Sender Master SetPeakDeltaLimit UCM DB0 0x14 0x14 DB1 DB2 DB3 LsVoltLimit MsVoltLimit DB4 DB5 DB6 DB7 ModuleId ModuleId With this command, the Peak Delta Voltage Limit can be changed. If the Peak Delta Voltage gets over this limit the Peak Delta Voltage Flag will be set. The resolution of this value is 0.05v/bit. This limit can be set to any value between 0 and 200 [0 VDC and 10 VDC]. This command is a valid broadcast message. 6.12. CalibrateChannel – Calibrates a Voltage Channel Description Sender Master CalibrateChannel UCM DB0 0x20 0x20 DB1 ChannelNr DB2 DB3 DB4 LsCalibV MsCalibV Key 1 DB5 Key 2 DB6 Key 3 DB7 ModuleId ModuleId This command is used in the calibration process when these modules are produced. This command is not intended for customer use. The ChannelNr corresponds to the voltage tap requested to be calibrated: 0 = 48th cell tap 1 = 40th cell tap 2 = 32nd cell tap 3 = 24th cell tap 4 = 16th cell tap 5 = 8th cell tap The CalibV corresponds to the calibration voltage set at the tap input. The resolution of this value is 0.01/bit. This command is a valid broadcast message. Maxwell Technologies CAN Communication Specification – Document no. 1014339 22 6.13. ErrorMessage – Error Message Description ErrorMessage Sender UCM DB0 0xEE DB1 Source DB2 Code DB3 DB4 DB5 DB6 DB7 ModuleId In case of an error, the UCM sends an Error Message. The source of the error is reported in data byte 2 and the error cause is reported in data byte 3. An error message could be sent instead of a response to a command if the command failed. Then the error source will correspond to the command number. The error message could also be sent when an internal error is detected. Then the definition of the error source will depend on the type of error that has occurred. So far only errors triggered by commands are implemented. Error code: 1: Invalid command format (invalid DLC, wrong data bytes numbers) 2: Not implemented command (interpretation of data byte 1 not implemented) 3: Invalid parameter value 4: Program validation failure 5: EeData validation failure 6: Command failed 6.14. Restart Description Restart Sender DB0 DB1 DB2 DB3 DB4 DB5 Master 0xA0 0x1E 0xEE 0xE1 0xEE 0x1E UCM 0xA0 LsSer# Ser#2 Ser#3 Ser#4 Ser#5 DB6 DB7 Restart ModuleId Alt. MsSer# ModuleId During normal operation it may be necessary to restart a module (such as after certain set commands or to allow special set commands). There are two types of restarts available, the warm boot and the cold boot. This command can also be used to reset the latching status bits in Status Byte 1 in Cyclic Message 1. The different alternatives are commanded as follows: Restart Alternative Bit Flag 0 1 2 3 4 5 6 7 Description Warm Boot Reserved Reserved Reset Latching Flags Reserved Reserved Reserved Cold Boot The warm boot will restart the execution in the firmware application and the execution will Maxwell Technologies CAN Communication Specification – Document no. 1014339 23 not go through the bootloader (see Appendix C). This restart is generally used to activate changes that are stored in EEPROM. The cold boot will restart the execution in the bootloader and then depending on flags in EEPROM jump to start execute in the firmware application. See chapter 5.1 for a description of the latching status bits. This is a valid broadcast message. Maxwell Technologies CAN Communication Specification – Document no. 1014339 24 7. Bootloader Messages The Ultra Cap Monitor includes an embedded Bootloader that allows the units Application firmware to be programmable over the CAN bus. The Bootloader also facilitates a way of writing directly into the EEPROM as well as the Flash memory. It is not recommended that this is done by the end user. Note that all of the bootloader messages used in Bootloader mode have 7 byte data length. The EnterBootMode command is the only Bootloader command that is recognized by the Application. All other messages are only recognized by the Bootloader. See Appendix C for an overview of how the switch between the different modes is performed. 7.1. EnterBootMode – switch from Application to Bootloader Description Sender Master EnterBootMode UCM DB0 0xE0 0xE0 DB1 LsSer# LsSer# DB2 Ser#2 Ser#2 DB3 Ser#3 Ser#3 DB4 Ser#4 Ser#4 DB5 Ser#5 Ser#5 DB6 DB7 MsSer# ModuleId MsSer# ModuleId With this command the Ultra Cap Monitor will switch from executing the Application firmware to executing the Bootloader firmware. This command is only recognized if received within 30s from a restart event. The response is sent out before the switch takes place and should not be seen as a confirmation of a successful command. Look for the Bootloader heart beat message specified below for verification of that the UCM is in Boot mode. Use the EnterApplicationMode command specified below to switch back to the Application mode. 7.2. EnterApplicationMode – switch from Bootloader to Application Description Sender Master EnterApplicationMode UCM DB0 0xE5 0xE5 DB1 DB2 DB3 DB4 DB5 DB6 With this command the Ultra Cap Monitor will switch from executing the Bootloader firmware to executing the Application firmware. The response is sent out before the switch takes place and should not be seen as a confirmation of a successful command. Send a GetSerialNumber command to verify that the command was successful. Use the EnterBootMode command specified below to switch back to the Boot mode. Maxwell Technologies CAN Communication Specification – Document no. 1014339 25 7.3. Erase – Erase data in Micro Controller flash memory Description Erase Sender DB0 Master 0xE1 UCM 0xE1 DB1 Ls Address DB2 DB3 DB4 Ms Address 2 Address 3 Address DB5 DB6 This command is used when the Ultra Cap Monitor is programmed with new firmware. It is not recommended that this command is used by anything else but approved programming tools. Failure to follow this recommendation could bring the Ultra Cap Monitor to an unrecoverable failure state. 7.4. Fill – Fill data in Micro Controller temporary buffer Description Fill Sender DB0 Master 0xE2 UCM 0xE2 DB1 Ls Address DB2 DB3 DB4 Ms Address 2 Address 3 Address DB5 DB6 Ls Data Ms Data This command is used when the Ultra Cap Monitor is programmed with new firmware. It is not recommended that this command is used by anything else but approved programming tools. Failure to follow this recommendation could bring the Ultra Cap Monitor to an unrecoverable failure state. 7.5. Program – Program data in Micro Controller flash memory Description Program Sender DB0 Master 0xE3 UCM 0xE3 DB1 Ls Address DB2 DB3 DB4 Ms Address 2 Address 3 Address DB5 DB6 This command is used when the Ultra Cap Monitor is programmed with new firmware. It is not recommended that this command is used by anything else but approved programming tools. Failure to follow this recommendation could bring the Ultra Cap Monitor to an unrecoverable failure state. Maxwell Technologies CAN Communication Specification – Document no. 1014339 26 7.6. Read – Reads data from Micro Controller flash memory Description Sender DB0 Master 0xE4 UCM 0xE4 Read DB1 Ls Address Ls Data Byte DB2 DB3 DB4 DB5 DB6 Ms Address 2 Address 3 Address Data Byte Data Byte Data Byte Data Byte Data Byte 2 3 4 5 6 This command is used to read the data from the flash memory of the Ultra Cap Monitor 7.7. ReadEEPROM – Reads data from Micro Controller EEPROM memory Description ReadEEPROM Sender DB0 Master 0xE6 UCM 0xE6 DB1 DB2 Ls Ms Address Address Data Byte DB3 DB4 DB5 DB6 This command is used to read the data from the EEPROM memory of the Ultra Cap Monitor. 7.8. WriteEEPROM – Write data in Micro Controller EEPROM memory Description WriteEEPROM Sender DB0 Master 0xE7 UCM 0xE7 DB1 Ls Address DB2 Ms Address DB3 DB4 DB5 DB6 Data Byte This command is used to read the data from the EEPROM memory of the Ultra Cap Monitor. It is not recommended that this command is used by anything else but approved programming tools. Failure to follow this recommendation could bring the Ultra Cap Monitor to an unrecoverable failure state. 7.9. CalculateFlashCRC – Calculates the CRC of the Flash memory Description CalculateFlashCRC Sender Master UCM DB0 0xE8 0xE8 DB1 DB2 Ls CRC Ms CRC DB3 DB4 DB5 DB6 This command is used to calculate the Cyclic Redundancy Checksum when the Ultra Cap Monitor is programmed with new firmware. Maxwell Technologies CAN Communication Specification – Document no. 1014339 27 7.10. ProgramFlashCRC – Programs the CRC to the Flash memory Description CalculateFlashCRC Sender Master UCM DB0 0xE9 0xE9 DB1 DB2 Ls CRC Ms CRC DB3 DB4 DB5 DB6 This command is used when the Ultra Cap Monitor is programmed with new firmware. It is not recommended that this command is used by anything else but approved programming tools. Failure to follow this recommendation could bring the Ultra Cap Monitor to an unrecoverable failure state. 7.11. BootHeartBeat – Bootloader Heart Beat message Description BootHeartBeat Sender UCM DB0 0xEA DB1 Config Cks When the UCM is in the boot mode it will send out a heart beat message with 1 Hz frequency. This message contains the checksum of the configuration parameters currently in use. This message can be used to verify that the UCM is currently executing the bootloader firmware and are now responding to messages specified in this section of the specification. Maxwell Technologies CAN Communication Specification – Document no. 1014339 28 8. Appendix 8.1. A Limit values Description Maximum Full Voltage High Full Voltage Low Full Voltage Minimum Full Voltage Maximum Half Voltage High Half Voltage Low Half Voltage Maximum Temperature High Temperature Low Temperature Minimum Temperature Maximum Peak Delta Voltage Command Time Limit Value 134.0 126.6 30.0 10.0 67.0 63.3 5.0 65 55 -30 -40 3.0 2.0 Maxwell Technologies CAN Communication Specification – Document no. 1014339 Unit Volts Volts Volts Volts Volts Volts Volts ˚C ˚C ˚C ˚C Volts Sec 29 8.2. B Factory Default Settings Description Board Serial Number Hardware version Software version CAN Message Format Master Node ID UCM Node ID Module ID Baud Rate Cyclic Message Count Cyclic Message Bit Mask Module Serial Number 8.3. C Value Uniquely assigned during manufacturing. See Appendix D. Assigned during manufacturing. Unique to code and stored in flash memory. Standard 11 bit CAN ID. [0] 9d, 1001b 10d, 1010b 0 250 kbit/s 0 (sending deactivated) 0 (all three messages deactivated) All 0 as default for separate board. Uniquely assigned during manufacturing if the board is mounted in a module. See Appendix E. State Diagram Application – Bootloader Maxwell Technologies CAN Communication Specification – Document no. 1014339 30 8.4. D Board Serial Number Format DB0 DB1 P Symbol P DD L ## 8.5. E DB0 M DB10 D Symbol M VVV CC P YY DDD L #### DB2 D DB3 D Description Product Type Date Location Day serial number DB4 L Value 1 08286 D 0 DB5 # # Interpretation CAN Monitor Year + Julian Date (New Style) San Diego 0 – 65535 Type Dec Dec ASCII Dec Module Serial Number Format DB1 V DB11 D DB2 V DB3 V DB12 L Description Module / Pack Product Voltage Cell capacitance Product Type Year Day Location Serial Number DB4 C DB13 # Value M 125 30 P 08 360 D 23 DB5 C DB6 P DB14 # DB15 # DB7 Y DB8 Y DB16 # Interpretation Always M 125VDC 3000F Power/Active Balancing 2008 1-366 Julian Date (New Style) San Diego 0-9999 Maxwell Technologies CAN Communication Specification – Document no. 1014339 DB9 D Type ASCII ASCII ASCII ASCII ASCII ASCII ASCII ASCII 31 8.6. F Voltage Taps in Capacitor String +Terminal Full Voltage 5/6th Voltage rd 2/3 Voltage Half Voltage rd 1/3 Voltage 1/6th Voltage - Terminal Maxwell Technologies CAN Communication Specification – Document no. 1014339 32 8.7. G Abbreviations BCD Binary Coded Decimal CAN Controller Area Network DLC Data Length Code ID Identifier LSB Least Significant Bit or Byte MSB Most Significant Bit or Byte UCM UltraCap Module TBD To be determined UC Unsigned char, 8 bit US Unsigned short, 16 bit DB Data byte Maxwell Technologies, Inc. Worldwide Headquarters 9244 Balboa Avenue San Diego, CA 92123 USA Phone: +1 858 503 3300 Fax: +1 858 503 3301 Maxwell Technologies SA CH-1728 Rossens Switzerland Phone: +41 (0)26 411 85 00 Fax: +41 (0)26 411 85 05 Maxwell Technologies GmbH Brucker Strasse 21 D-82205 Gilching Germany Phone: +49 (0)8105 24 16 10 Fax: +49 (0)8105 24 16 19 [email protected] – www.maxwell.com Maxwell Technologies, Inc. Shanghai Representative Office Rm.2104, Suncome Liauw’s Plaza 738 Shang Cheng Road Pudong New Area Shanghai 200120, P.R. China Phone: +86 21 5836 5733 Fax: +86 21 5836 5620