| Linduino 1.3.0 Linear Technology Arduino-Compatible Demonstration Board

LTC2937.h
Go to the documentation of this file.
1 /*!
2 LTC2937: Six Channel Sequencer and Voltage Supervisor with EEPROM
3
4 @verbatim
5
6 The LTC2937 is a six-channel voltage sequencer and supervisor with EEPROM.
7 It autonomously sequences and supervises six power supplies using configuration stored in ther EEPROM.
8 It maintains status and fault information in on-board I2C-addressable registers.
9 It cooperates with up to 50 other LTC2937s to sequence and supervise up to 300 power rails.
10 It uses the LTpowerPlay as a GUI interface when connected to the I2C bus.
11
12 @endverbatim
13
14 http://www.linear.com/product/LTC2937
15
16 http://www.linear.com/demo/DC2313A
17
18
19 Copyright 2018(c) Analog Devices, Inc.
20
21 All rights reserved.
22
23 Redistribution and use in source and binary forms, with or without
24 modification, are permitted provided that the following conditions are met:
25 - Redistributions of source code must retain the above copyright
26 notice, this list of conditions and the following disclaimer.
27 - Redistributions in binary form must reproduce the above copyright
28 notice, this list of conditions and the following disclaimer in
29 the documentation and/or other materials provided with the
30 distribution.
31 - Neither the name of Analog Devices, Inc. nor the names of its
32 contributors may be used to endorse or promote products derived
33 from this software without specific prior written permission.
34 - The use of this software may or may not infringe the patent rights
35 of one or more patent holders. This license does not release you
36 from the requirement that you obtain separate licenses from these
37 patent holders to use this software.
38 - Use of the software either in source or binary form, must be run
39 on or directly connected to an Analog Devices Inc. component.
40
41 THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR
42 IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT,
43 MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED.
44 IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT,
45 INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT
46 LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR
47 SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER
48 CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY,
49 OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE
50 OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
51 */
52
53 //! @ingroup Power_System_Management
54 //! @{
55 //! @defgroup LTC2937 LTC2937: Six Channel Sequencer and Voltage Supervisor with EEPROM
56 //! @}
57
58 /*! @file
59 @ingroup LTC2937
60 Header for LTC2937: Six Channel Sequencer and Voltage Supervisor with EEPROM
61
62 */
63
64 #ifndef LTC2937_h
65 #define LTC2937_h
66
67 //! @name LTC2937 DEVICE I2C ADDRESSES (7-bit)
68 // GLOBAL ADDRESS (7-BIT)
69 #define LTC2937_I2C_GLOBAL_ADDRESS 0x36
70 #define LTC2937_I2C_ARA_ADDRESS 0x0C
71
72 //DEVICE ADDRESSES (ASEL3,ASEL2,ASEL1)
73 //#define LTC2937_I2C_ADDRESS 0x37 // LLL
74 //#define LTC2937_I2C_ADDRESS 0x38 // LLZ
75 //#define LTC2937_I2C_ADDRESS 0x39 // LLH
76 //#define LTC2937_I2C_ADDRESS 0x3A // LZL
77 //#define LTC2937_I2C_ADDRESS 0x3B // LZZ
78 //#define LTC2937_I2C_ADDRESS 0x3C // LZH
79 //#define LTC2937_I2C_ADDRESS 0x3D // LHL
80 //#define LTC2937_I2C_ADDRESS 0x3E // LHZ
81 //#define LTC2937_I2C_ADDRESS 0x3F // LHH
82 //#define LTC2937_I2C_ADDRESS 0x40 // ZLL
83 //#define LTC2937_I2C_ADDRESS 0x41 // ZLZ
84 //#define LTC2937_I2C_ADDRESS 0x42 // ZLH
85 //#define LTC2937_I2C_ADDRESS 0x43 // ZZL
86 //#define LTC2937_I2C_ADDRESS 0x44 // ZZZ
87 //#define LTC2937_I2C_ADDRESS 0x45 // ZZH
88 //#define LTC2937_I2C_ADDRESS 0x46 // ZHL
89 //#define LTC2937_I2C_ADDRESS 0x47 // ZHZ
90 //#define LTC2937_I2C_ADDRESS 0x48 // ZHH
91 //#define LTC2937_I2C_ADDRESS 0x49 // HLL
92 //#define LTC2937_I2C_ADDRESS 0x4A // HLZ
93 //#define LTC2937_I2C_ADDRESS 0x4B // HLH
94 //#define LTC2937_I2C_ADDRESS 0x4C // HZL
95 //#define LTC2937_I2C_ADDRESS 0x4D // HZZ
96 //#define LTC2937_I2C_ADDRESS 0x4E // HZH
97 //#define LTC2937_I2C_ADDRESS 0x4F // HHL
98 //#define LTC2937_I2C_ADDRESS 0x50 // HHZ
99 //#define LTC2937_I2C_ADDRESS 0x51 // HHH
100
101 //! @}
102
103 /********************************************************************************/
104 //! @name LTC2937 command address definitions
105
106 #define LTC2937_WRITE_PROTECTION 0x00
107 #define LTC2937_SPECIAL_LOT 0x01
108 #define LTC2937_ON_OFF_CONTROL 0x02
109 #define LTC2937_V_RANGE 0x03
110 #define LTC2937_V_THRESHOLD_1 0x04
111 #define LTC2937_V_THRESHOLD_2 0x05
112 #define LTC2937_V_THRESHOLD_3 0x06
113 #define LTC2937_V_THRESHOLD_4 0x07
114 #define LTC2937_V_THRESHOLD_5 0x08
115 #define LTC2937_V_THRESHOLD_6 0x09
116 #define LTC2937_TON_TIMERS_1 0x0A
117 #define LTC2937_TON_TIMERS_2 0x0B
118 #define LTC2937_TON_TIMERS_3 0x0C
119 #define LTC2937_TON_TIMERS_4 0x0D
120 #define LTC2937_TON_TIMERS_5 0x0E
121 #define LTC2937_TON_TIMERS_6 0x0F
122 #define LTC2937_TOFF_TIMERS_1 0x10
123 #define LTC2937_TOFF_TIMERS_2 0x11
124 #define LTC2937_TOFF_TIMERS_3 0x12
125 #define LTC2937_TOFF_TIMERS_4 0x13
126 #define LTC2937_TOFF_TIMERS_5 0x14
127 #define LTC2937_TOFF_TIMERS_6 0x15
128 #define LTC2937_SEQ_UP_POSITION_1 0x16
129 #define LTC2937_SEQ_UP_POSITION_2 0x17
130 #define LTC2937_SEQ_UP_POSITION_3 0x18
131 #define LTC2937_SEQ_UP_POSITION_4 0x19
132 #define LTC2937_SEQ_UP_POSITION_5 0x1A
133 #define LTC2937_SEQ_UP_POSITION_6 0x1B
134 #define LTC2937_SEQ_DOWN_POSITION_1 0x1C
135 #define LTC2937_SEQ_DOWN_POSITION_2 0x1D
136 #define LTC2937_SEQ_DOWN_POSITION_3 0x1E
137 #define LTC2937_SEQ_DOWN_POSITION_4 0x1F
138 #define LTC2937_SEQ_DOWN_POSITION_5 0x20
139 #define LTC2937_SEQ_DOWN_POSITION_6 0x21
140 #define LTC2937_RSTB_CONFIG 0x22
141 #define LTC2937_FAULT_RESPONSE 0x23
142 // 0x24
143 // 0x25
144 #define LTC2937_MONITOR_STATUS_HISTORY 0x26
145 // 0x27
146 #define LTC2937_CLEAR_ALERTB 0x28
147 #define LTC2937_STATUS_INFORMATION 0x29
148 #define LTC2937_BREAK_POINT 0x2A
149 #define LTC2937_SEQ_POSITION_COUNT 0x2B
150 #define LTC2937_STORE 0x2C
151 #define LTC2937_RESTORE 0x2D
152 #define LTC2937_CLEAR 0x2E
153 #define LTC2937_MONITOR_BACKUP 0x2F
154 #define LTC2937_MONITOR_STATUS 0x30
155 #define LTC2937_DEVICE_ID 0x31
156
157 //! @}
158
159 #endif