![](/media/cache/img/default_profile.jpg.50x50_q85.jpg)
repo time
Dependencies: mbed MAX14720 MAX30205 USBDevice
HspGuiSourceV301/HSPGui/DeviceDescriptions/MAX14720Info.cs@20:6d2af70c92ab, 2021-04-06 (annotated)
- Committer:
- darienf
- Date:
- Tue Apr 06 06:41:40 2021 +0000
- Revision:
- 20:6d2af70c92ab
another repo
Who changed what in which revision?
User | Revision | Line number | New contents of line |
---|---|---|---|
darienf | 20:6d2af70c92ab | 1 | /******************************************************************************* |
darienf | 20:6d2af70c92ab | 2 | * Copyright (C) 2016 Maxim Integrated Products, Inc., All rights Reserved. |
darienf | 20:6d2af70c92ab | 3 | * |
darienf | 20:6d2af70c92ab | 4 | * This software is protected by copyright laws of the United States and |
darienf | 20:6d2af70c92ab | 5 | * of foreign countries. This material may also be protected by patent laws |
darienf | 20:6d2af70c92ab | 6 | * and technology transfer regulations of the United States and of foreign |
darienf | 20:6d2af70c92ab | 7 | * countries. This software is furnished under a license agreement and/or a |
darienf | 20:6d2af70c92ab | 8 | * nondisclosure agreement and may only be used or reproduced in accordance |
darienf | 20:6d2af70c92ab | 9 | * with the terms of those agreements. Dissemination of this information to |
darienf | 20:6d2af70c92ab | 10 | * any party or parties not specified in the license agreement and/or |
darienf | 20:6d2af70c92ab | 11 | * nondisclosure agreement is expressly prohibited. |
darienf | 20:6d2af70c92ab | 12 | * |
darienf | 20:6d2af70c92ab | 13 | * The above copyright notice and this permission notice shall be included |
darienf | 20:6d2af70c92ab | 14 | * in all copies or substantial portions of the Software. |
darienf | 20:6d2af70c92ab | 15 | * |
darienf | 20:6d2af70c92ab | 16 | * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS |
darienf | 20:6d2af70c92ab | 17 | * OR IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF |
darienf | 20:6d2af70c92ab | 18 | * MERCHANTABILITY, FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. |
darienf | 20:6d2af70c92ab | 19 | * IN NO EVENT SHALL MAXIM INTEGRATED BE LIABLE FOR ANY CLAIM, DAMAGES |
darienf | 20:6d2af70c92ab | 20 | * OR OTHER LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, |
darienf | 20:6d2af70c92ab | 21 | * ARISING FROM, OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR |
darienf | 20:6d2af70c92ab | 22 | * OTHER DEALINGS IN THE SOFTWARE. |
darienf | 20:6d2af70c92ab | 23 | * |
darienf | 20:6d2af70c92ab | 24 | * Except as contained in this notice, the name of Maxim Integrated |
darienf | 20:6d2af70c92ab | 25 | * Products, Inc. shall not be used except as stated in the Maxim Integrated |
darienf | 20:6d2af70c92ab | 26 | * Products, Inc. Branding Policy. |
darienf | 20:6d2af70c92ab | 27 | * |
darienf | 20:6d2af70c92ab | 28 | * The mere transfer of this software does not imply any licenses |
darienf | 20:6d2af70c92ab | 29 | * of trade secrets, proprietary technology, copyrights, patents, |
darienf | 20:6d2af70c92ab | 30 | * trademarks, maskwork rights, or any other form of intellectual |
darienf | 20:6d2af70c92ab | 31 | * property whatsoever. Maxim Integrated Products, Inc. retains all |
darienf | 20:6d2af70c92ab | 32 | * ownership rights. |
darienf | 20:6d2af70c92ab | 33 | ******************************************************************************* |
darienf | 20:6d2af70c92ab | 34 | */ |
darienf | 20:6d2af70c92ab | 35 | |
darienf | 20:6d2af70c92ab | 36 | using System; |
darienf | 20:6d2af70c92ab | 37 | using System.Collections.Generic; |
darienf | 20:6d2af70c92ab | 38 | using System.Linq; |
darienf | 20:6d2af70c92ab | 39 | using System.Text; |
darienf | 20:6d2af70c92ab | 40 | using HealthSensorPlatform.DeviceDescriptions; |
darienf | 20:6d2af70c92ab | 41 | using RPCSupport.DeviceSupport; |
darienf | 20:6d2af70c92ab | 42 | |
darienf | 20:6d2af70c92ab | 43 | namespace Maxim.CustomControls |
darienf | 20:6d2af70c92ab | 44 | { |
darienf | 20:6d2af70c92ab | 45 | /// <summary> |
darienf | 20:6d2af70c92ab | 46 | /// PMIC Register Information |
darienf | 20:6d2af70c92ab | 47 | /// </summary> |
darienf | 20:6d2af70c92ab | 48 | public class MAX14720Info : Device |
darienf | 20:6d2af70c92ab | 49 | { |
darienf | 20:6d2af70c92ab | 50 | |
darienf | 20:6d2af70c92ab | 51 | public MAX14720Info() |
darienf | 20:6d2af70c92ab | 52 | { |
darienf | 20:6d2af70c92ab | 53 | deviceDetails = new DeviceDetails(); |
darienf | 20:6d2af70c92ab | 54 | deviceDetails.InitI2c(2, 0x54); |
darienf | 20:6d2af70c92ab | 55 | |
darienf | 20:6d2af70c92ab | 56 | initalizeDescription(); |
darienf | 20:6d2af70c92ab | 57 | |
darienf | 20:6d2af70c92ab | 58 | } |
darienf | 20:6d2af70c92ab | 59 | |
darienf | 20:6d2af70c92ab | 60 | void initalizeDescription() |
darienf | 20:6d2af70c92ab | 61 | { |
darienf | 20:6d2af70c92ab | 62 | Info = new RegisterInfo[] { |
darienf | 20:6d2af70c92ab | 63 | new RegisterInfo("ChipId",0x00), |
darienf | 20:6d2af70c92ab | 64 | new RegisterInfo("ChipRev",0x01), |
darienf | 20:6d2af70c92ab | 65 | new RegisterInfo("BoostCDiv",0x03), |
darienf | 20:6d2af70c92ab | 66 | new RegisterInfo("BoostISet",0x04), |
darienf | 20:6d2af70c92ab | 67 | new RegisterInfo("BoostVSet",0x05), |
darienf | 20:6d2af70c92ab | 68 | new RegisterInfo("BoostCfg",0x06), |
darienf | 20:6d2af70c92ab | 69 | new RegisterInfo("BuckVSet",0x07), |
darienf | 20:6d2af70c92ab | 70 | new RegisterInfo("BuckCfg",0x08), |
darienf | 20:6d2af70c92ab | 71 | new RegisterInfo("BuckISet",0x09), |
darienf | 20:6d2af70c92ab | 72 | new RegisterInfo("LDOVSet",0x0A), |
darienf | 20:6d2af70c92ab | 73 | new RegisterInfo("LDOCfg",0x0B), |
darienf | 20:6d2af70c92ab | 74 | new RegisterInfo("SwitchCfg",0x0C), |
darienf | 20:6d2af70c92ab | 75 | new RegisterInfo("BatTime",0x0D), |
darienf | 20:6d2af70c92ab | 76 | new RegisterInfo("BatCfg",0x0E), |
darienf | 20:6d2af70c92ab | 77 | new RegisterInfo("BatBCV",0x0F), |
darienf | 20:6d2af70c92ab | 78 | new RegisterInfo("BatOCV",0x10), |
darienf | 20:6d2af70c92ab | 79 | new RegisterInfo("BattLCV",0x11), |
darienf | 20:6d2af70c92ab | 80 | new RegisterInfo("MONCfg",0x19), |
darienf | 20:6d2af70c92ab | 81 | new RegisterInfo("BoostCfg",0x1A), |
darienf | 20:6d2af70c92ab | 82 | new RegisterInfo("PinStat",0x1B), |
darienf | 20:6d2af70c92ab | 83 | new RegisterInfo("BBBExtra",0x1C), |
darienf | 20:6d2af70c92ab | 84 | new RegisterInfo("HandShk",0x1D), |
darienf | 20:6d2af70c92ab | 85 | new RegisterInfo("UVLOCfg",0x1E), |
darienf | 20:6d2af70c92ab | 86 | new RegisterInfo("PWROFF",0x1F) |
darienf | 20:6d2af70c92ab | 87 | }; |
darienf | 20:6d2af70c92ab | 88 | |
darienf | 20:6d2af70c92ab | 89 | // register 0x00 |
darienf | 20:6d2af70c92ab | 90 | Descriptions(0x00).Add("Bit [7:0]", "ChipId", "Version information"); |
darienf | 20:6d2af70c92ab | 91 | // register 0x01 |
darienf | 20:6d2af70c92ab | 92 | Descriptions(0x01).Add("Bit [7:0]", "ChipRev", "Revison Information"); |
darienf | 20:6d2af70c92ab | 93 | // register 0x03 |
darienf | 20:6d2af70c92ab | 94 | Descriptions(0x03).Add("Bit 7", "ClkDivEn", @"Boost Current-Limited Output Mode Enable |
darienf | 20:6d2af70c92ab | 95 | This allows the boost regulator to be operated in a current limited output mode. |
darienf | 20:6d2af70c92ab | 96 | 0: Normal Operation, Full Output Current Capability |
darienf | 20:6d2af70c92ab | 97 | 1: Divided Clock Current Limited Mode |
darienf | 20:6d2af70c92ab | 98 | When the clock divider is enabled, the boost is operated with a fixed peak current limit and programmable |
darienf | 20:6d2af70c92ab | 99 | frequency. The peak current is set by BoostISet[2:0] and the switching frequency is determined by |
darienf | 20:6d2af70c92ab | 100 | ClkDivSet[6:0]. The regulator will stop switching when the voltage is above the set point and will only run when |
darienf | 20:6d2af70c92ab | 101 | the voltage is below the output setting. This mode can only be enabled once the output voltage is set higher |
darienf | 20:6d2af70c92ab | 102 | than the input voltage."); |
darienf | 20:6d2af70c92ab | 103 | // register 0x03 |
darienf | 20:6d2af70c92ab | 104 | Descriptions(0x03).Add("Bit [6:0]", "ClkDivSet", @"Current-Limited Boost Clock Divider Setting |
darienf | 20:6d2af70c92ab | 105 | When the current limited mode is enabled, the frequency of the boost regulator in current limited mode will be |
darienf | 20:6d2af70c92ab | 106 | the frequency of the oscillator divided by the value of (10 + ClkDivSet[6:0]). The range is fOSC/10 to fOSC/137."); |
darienf | 20:6d2af70c92ab | 107 | // register 0x04 |
darienf | 20:6d2af70c92ab | 108 | Descriptions(0x04).Add("Bit [2:0]", "BoostISet", @"Buck-Boost Peak Current-Limit Setting |
darienf | 20:6d2af70c92ab | 109 | 000: 0 (Minimum On-Time) |
darienf | 20:6d2af70c92ab | 110 | 001: 50mA |
darienf | 20:6d2af70c92ab | 111 | 010: 100mA |
darienf | 20:6d2af70c92ab | 112 | 011: 150mA |
darienf | 20:6d2af70c92ab | 113 | 100: 200mA |
darienf | 20:6d2af70c92ab | 114 | 101: 250mA |
darienf | 20:6d2af70c92ab | 115 | 110: 300mA |
darienf | 20:6d2af70c92ab | 116 | 111: 350mA"); |
darienf | 20:6d2af70c92ab | 117 | // register 0x05 |
darienf | 20:6d2af70c92ab | 118 | Descriptions(0x05).Add("Bit [4:0]", "BoostVSet[4:0]", @"Boost Output Voltage Setting. This setting is internally latched and can change only when boost is disabled. |
darienf | 20:6d2af70c92ab | 119 | 2.5V to 5.0V, linear scale, 100mV increments |
darienf | 20:6d2af70c92ab | 120 | 000000 = 2.5V |
darienf | 20:6d2af70c92ab | 121 | 000001 = 2.6V |
darienf | 20:6d2af70c92ab | 122 | … |
darienf | 20:6d2af70c92ab | 123 | 011001 = 5.0V |
darienf | 20:6d2af70c92ab | 124 | > 011001 = 5.0V"); |
darienf | 20:6d2af70c92ab | 125 | // register 0x06 |
darienf | 20:6d2af70c92ab | 126 | Descriptions(0x06).Add("Bit [7:5]", "BoostSeq[2:0]", @"Boost Enable Configuration (Read-Only) |
darienf | 20:6d2af70c92ab | 127 | 000 = Disabled |
darienf | 20:6d2af70c92ab | 128 | 001 = Reserved |
darienf | 20:6d2af70c92ab | 129 | 010 = Enabled at 0% of Boot/POR Process Delay Control |
darienf | 20:6d2af70c92ab | 130 | 011 = Enabled at 25% of Boot/POR Process Delay Control |
darienf | 20:6d2af70c92ab | 131 | 100 = Enabled at 50% of Boot/POR Process Delay Control |
darienf | 20:6d2af70c92ab | 132 | 101 = Reserved |
darienf | 20:6d2af70c92ab | 133 | 110 = Controlled by HVEN (MAX14750) |
darienf | 20:6d2af70c92ab | 134 | 111 = Controlled by BoostEn [1:0] after 100% of Boot/POR Process Delay Control (MAX14720)"); |
darienf | 20:6d2af70c92ab | 135 | Descriptions(0x06).Add("Bit [4:3]", "BoostEn[1:0]", @"Boost Enable Configuration (effective only when BoostSeq[2:0] == 111) |
darienf | 20:6d2af70c92ab | 136 | 00 = Disabled. Active discharge behavior depends on BoostActDsc. |
darienf | 20:6d2af70c92ab | 137 | 01 = Enabled |
darienf | 20:6d2af70c92ab | 138 | 10 = Enabled when MPC is high |
darienf | 20:6d2af70c92ab | 139 | 11 = Reserved"); |
darienf | 20:6d2af70c92ab | 140 | Descriptions(0x07).Add("Bit 1", "BoostEMI", @"Boost EMI reduction. Dampens ringing of the inductor when in discontinuous mode |
darienf | 20:6d2af70c92ab | 141 | 0 = EMI damping active (improve EMI) |
darienf | 20:6d2af70c92ab | 142 | 1 = EMI damping disabled (improve Efficiency)"); |
darienf | 20:6d2af70c92ab | 143 | Descriptions(0x08).Add("Bit 0", "BoostInd", @"Boost Inductance Select |
darienf | 20:6d2af70c92ab | 144 | 1 = Inductance is 3.3µH |
darienf | 20:6d2af70c92ab | 145 | 0 = Inductance is 4.7µH"); |
darienf | 20:6d2af70c92ab | 146 | // register 0x07 |
darienf | 20:6d2af70c92ab | 147 | Descriptions(0x07).Add("Bit [5:0]", "BuckVSet[5:0]", @"Buck Output Voltage Setting This setting is internally latched and can change only when buck is disabled. |
darienf | 20:6d2af70c92ab | 148 | 1.0V to 2.0V, linear scale, 25mV increments |
darienf | 20:6d2af70c92ab | 149 | 000000 = 1.000V |
darienf | 20:6d2af70c92ab | 150 | 000001 = 1.025V |
darienf | 20:6d2af70c92ab | 151 | … |
darienf | 20:6d2af70c92ab | 152 | 101000 = 2.0V |
darienf | 20:6d2af70c92ab | 153 | > 101000 = 2.0V"); |
darienf | 20:6d2af70c92ab | 154 | // register 0x08 |
darienf | 20:6d2af70c92ab | 155 | Descriptions(0x08).Add("Bit [7:6]", "BuckSeq[2:0]", @"Buck Enable Configuration (Read-Only) |
darienf | 20:6d2af70c92ab | 156 | 000 = Disabled |
darienf | 20:6d2af70c92ab | 157 | 001 = Reserved |
darienf | 20:6d2af70c92ab | 158 | 010 = Enabled at 0% of Boot/POR Process Delay Control |
darienf | 20:6d2af70c92ab | 159 | 011 = Enabled at 25% of Boot/POR Process Delay Control |
darienf | 20:6d2af70c92ab | 160 | 100 = Enabled at 50% of Boot/POR Process Delay Control |
darienf | 20:6d2af70c92ab | 161 | 101 = Reserved |
darienf | 20:6d2af70c92ab | 162 | 110 = Controlled by BEN (MAX14750) |
darienf | 20:6d2af70c92ab | 163 | 111 = Controlled by BuckEn [1:0] after 100% of Boot/POR Process Delay Control"); |
darienf | 20:6d2af70c92ab | 164 | Descriptions(0x08).Add("Bit [4:3]", "BuckEn[1:0]", @"Buck Enable Configuration (effective only when BuckSeq[2:0] == 111) |
darienf | 20:6d2af70c92ab | 165 | 00 = Disabled. Active discharge behavior depends on BuckActDsc. |
darienf | 20:6d2af70c92ab | 166 | 01 = Enabled |
darienf | 20:6d2af70c92ab | 167 | 10 = Enabled when MPC is high |
darienf | 20:6d2af70c92ab | 168 | 11 = Reserved"); |
darienf | 20:6d2af70c92ab | 169 | Descriptions(0x08).Add("Bit [2:1]", "BuckMd[1:0]", @"Buck Mode Select |
darienf | 20:6d2af70c92ab | 170 | 00 = Burst mode |
darienf | 20:6d2af70c92ab | 171 | 01 = Forced PWM mode |
darienf | 20:6d2af70c92ab | 172 | 10 = Forced PWM mode when MPC is high |
darienf | 20:6d2af70c92ab | 173 | 11 = Reserved"); |
darienf | 20:6d2af70c92ab | 174 | Descriptions(0x08).Add("Bit 0", "BuckFst", @"Buck Fast Start |
darienf | 20:6d2af70c92ab | 175 | 0 = Normal startup current limit |
darienf | 20:6d2af70c92ab | 176 | 1 = Double the startup current to reduce the startup time by half"); |
darienf | 20:6d2af70c92ab | 177 | // register 0x09 |
darienf | 20:6d2af70c92ab | 178 | Descriptions(0x09).Add("Bit [7:5]", "BuckISet[2:0]", @"Buck Peak Current Limit Setting |
darienf | 20:6d2af70c92ab | 179 | 000: 50mA |
darienf | 20:6d2af70c92ab | 180 | 001: 100mA |
darienf | 20:6d2af70c92ab | 181 | 010: 150mA |
darienf | 20:6d2af70c92ab | 182 | 011: 200mA |
darienf | 20:6d2af70c92ab | 183 | 100: 250mA |
darienf | 20:6d2af70c92ab | 184 | 101: 300mA |
darienf | 20:6d2af70c92ab | 185 | 110: 350mA |
darienf | 20:6d2af70c92ab | 186 | 111: 400mA"); |
darienf | 20:6d2af70c92ab | 187 | Descriptions(0x09).Add("Bit 4", "BuckCfg", @"Buck Configuration |
darienf | 20:6d2af70c92ab | 188 | 0 = set to 0 for burst mode |
darienf | 20:6d2af70c92ab | 189 | 1 = set to 1 for FPWM mode"); |
darienf | 20:6d2af70c92ab | 190 | Descriptions(0x09).Add("Bit 3", "BuckInd", @"Buck Inductance Select |
darienf | 20:6d2af70c92ab | 191 | 0 = Inductance is 2.2µH |
darienf | 20:6d2af70c92ab | 192 | 1 = Inductance is 4.7µH"); |
darienf | 20:6d2af70c92ab | 193 | Descriptions(0x09).Add("Bit 2", "BuckHysOff", @"Buck Hysteresis Off |
darienf | 20:6d2af70c92ab | 194 | 0 = Enable comparator hysteresis |
darienf | 20:6d2af70c92ab | 195 | 1 = Disable comparator hysteresis (recommended to reduce voltage ripple)"); |
darienf | 20:6d2af70c92ab | 196 | Descriptions(0x09).Add("Bit 1", "BuckMinOT", @"Buck Minimum On-Time |
darienf | 20:6d2af70c92ab | 197 | 0 = Enable deglitch delay on comparator for better efficiency |
darienf | 20:6d2af70c92ab | 198 | 1 = Disable deglitch delay on comparator to minimize voltage ripple"); |
darienf | 20:6d2af70c92ab | 199 | Descriptions(0x09).Add("Bit 0", "BuckInteg", @"Buck Integrate |
darienf | 20:6d2af70c92ab | 200 | 0 = Helps stabilize the buck regulator for high currents with small output capacitor |
darienf | 20:6d2af70c92ab | 201 | 1 = Better load regulation at high current (recommended for output capacitance > 6µF)"); |
darienf | 20:6d2af70c92ab | 202 | // register 0x0a |
darienf | 20:6d2af70c92ab | 203 | Descriptions(0x0A).Add("Bit [4:0]", "LDOVSet[4:0]", @"LDO Output Voltage Setting |
darienf | 20:6d2af70c92ab | 204 | 0.9V to 4V, linear scale, 100mV increments |
darienf | 20:6d2af70c92ab | 205 | 00000 = 0.9V |
darienf | 20:6d2af70c92ab | 206 | 00001 = 1.0V |
darienf | 20:6d2af70c92ab | 207 | … |
darienf | 20:6d2af70c92ab | 208 | 10000 = 2.5V |
darienf | 20:6d2af70c92ab | 209 | … |
darienf | 20:6d2af70c92ab | 210 | 11111 = 4.0V"); |
darienf | 20:6d2af70c92ab | 211 | // register 0x0b |
darienf | 20:6d2af70c92ab | 212 | Descriptions(0x0B).Add("Bit [7:5]", "LDOSeq[2:0]", @"LDO Enable Configuration (Read-Only) |
darienf | 20:6d2af70c92ab | 213 | 000 = Disabled |
darienf | 20:6d2af70c92ab | 214 | 001 = Enabled always when BAT/SYS is present |
darienf | 20:6d2af70c92ab | 215 | 010 = Enabled at 0% of Boot/POR Process Delay Control |
darienf | 20:6d2af70c92ab | 216 | 011 = Enabled at 25% of Boot/POR Process Delay Control |
darienf | 20:6d2af70c92ab | 217 | 100 = Enabled at 50% of Boot/POR Process Delay Control |
darienf | 20:6d2af70c92ab | 218 | 101 = Disabled |
darienf | 20:6d2af70c92ab | 219 | 110 = Controlled by LEN (MAX14750) |
darienf | 20:6d2af70c92ab | 220 | 111 = Controlled by LDOEn[1:0] after 100% of Boot/POR Process Delay Control"); |
darienf | 20:6d2af70c92ab | 221 | Descriptions(0x0B).Add("Bit 4", "LDOActDsc", @"LDO Active Discharge Control |
darienf | 20:6d2af70c92ab | 222 | 0: LDO output will be discharged only entering off and hard-reset modes. |
darienf | 20:6d2af70c92ab | 223 | 1: LDO output will be discharged only entering off and hard-reset modes and when the enable is low."); |
darienf | 20:6d2af70c92ab | 224 | Descriptions(0x0B).Add("Bit 3", "LDOActDsc", @"LDO Active Discharge Control |
darienf | 20:6d2af70c92ab | 225 | 0: LDO output will be actively discharged only entering off and hard-reset modes. |
darienf | 20:6d2af70c92ab | 226 | 1: LDO output will be actively discharged only entering off and hard-reset modes and when the enable is low."); |
darienf | 20:6d2af70c92ab | 227 | Descriptions(0x0B).Add("Bit [2:1]", "LDOEn[1:0]", @"LDO Enable Configuration (effective only when LDOSeq[2:0] == 111) |
darienf | 20:6d2af70c92ab | 228 | 00 = Disabled |
darienf | 20:6d2af70c92ab | 229 | 01 = Enabled |
darienf | 20:6d2af70c92ab | 230 | 10 = Enabled when MPC is high |
darienf | 20:6d2af70c92ab | 231 | 11 = Reserved"); |
darienf | 20:6d2af70c92ab | 232 | Descriptions(0x0B).Add("Bit 0", "LDOMode", @"LDO Mode Control |
darienf | 20:6d2af70c92ab | 233 | 0 = Normal LDO operating mode |
darienf | 20:6d2af70c92ab | 234 | 1 = Load switch mode. FET is either fully on or off depending on the state of LDOEn. When FET is on, the |
darienf | 20:6d2af70c92ab | 235 | output is unregulated and is not affected by UVLO’s control block. This setting is internally latched and can |
darienf | 20:6d2af70c92ab | 236 | change only when the LDO is disabled."); |
darienf | 20:6d2af70c92ab | 237 | // register 0x0c |
darienf | 20:6d2af70c92ab | 238 | Descriptions(0x0C).Add("Bit [7:5]", "SWSeq[2:0]", @"SW Enable Configuration (Read-Only) |
darienf | 20:6d2af70c92ab | 239 | 000 = Disabled |
darienf | 20:6d2af70c92ab | 240 | 001 = Enabled always when BAT/SYS is present |
darienf | 20:6d2af70c92ab | 241 | 010 = Enabled at 0% of Boot/POR Process Delay Control |
darienf | 20:6d2af70c92ab | 242 | 011 = Enabled at 25% of Boot/POR Process Delay Control |
darienf | 20:6d2af70c92ab | 243 | 100 = Enabled at 50% of Boot/POR Process Delay Control |
darienf | 20:6d2af70c92ab | 244 | 101 = Disabled |
darienf | 20:6d2af70c92ab | 245 | 110 = Controlled by SWEN (MAX14750) |
darienf | 20:6d2af70c92ab | 246 | 111 = Controlled by SWEn[1:0] after 100% of Boot/POR Process Delay Control"); |
darienf | 20:6d2af70c92ab | 247 | Descriptions(0x0C).Add("Bit [2:1]", "SWSoftStart", @"SW Enable Configuration (effective only when SWSeq[2:0] == 111) |
darienf | 20:6d2af70c92ab | 248 | 00 = Disabled |
darienf | 20:6d2af70c92ab | 249 | 01 = Enabled |
darienf | 20:6d2af70c92ab | 250 | 10 = Enabled when MPC is high |
darienf | 20:6d2af70c92ab | 251 | 11 = Reserved"); |
darienf | 20:6d2af70c92ab | 252 | // register 0x0d |
darienf | 20:6d2af70c92ab | 253 | Descriptions(0x0d).Add("Bit [5:4]", "BCVTm[1:0]", @"Battery Cell Voltage Timing |
darienf | 20:6d2af70c92ab | 254 | 00: Skip battery measurement |
darienf | 20:6d2af70c92ab | 255 | 01: Take battery measurement after 10ms delay |
darienf | 20:6d2af70c92ab | 256 | 10: Take battery measurement after 100ms delay |
darienf | 20:6d2af70c92ab | 257 | 11: Take battery measurement after 1000ms delay"); |
darienf | 20:6d2af70c92ab | 258 | Descriptions(0x0d).Add("Bit [3:2]", "OCVTm[1:0]", @"Battery Open Cell Voltage Timing |
darienf | 20:6d2af70c92ab | 259 | If this step is skipped, LCV measurement will be taken with switch closed |
darienf | 20:6d2af70c92ab | 260 | 00: Skip OCV measurement |
darienf | 20:6d2af70c92ab | 261 | 01: Take OCV measurement after 10ms delay |
darienf | 20:6d2af70c92ab | 262 | 10: Take OCV measurement after 100ms delay |
darienf | 20:6d2af70c92ab | 263 | 11: Take OCV measurement after 1000ms delay"); |
darienf | 20:6d2af70c92ab | 264 | Descriptions(0x0d).Add("Bit [1:0]", "LCVTm[1:0]", @"Battery Loaded Cell Voltage Timing |
darienf | 20:6d2af70c92ab | 265 | 00: Skip LCV measurement |
darienf | 20:6d2af70c92ab | 266 | 01: Take LCV measurement after 10ms delay |
darienf | 20:6d2af70c92ab | 267 | 10: Take LCV measurement after 100ms delay |
darienf | 20:6d2af70c92ab | 268 | 11: Take LCV measurement after 1000ms delay"); |
darienf | 20:6d2af70c92ab | 269 | // register 0x0e |
darienf | 20:6d2af70c92ab | 270 | Descriptions(0x0e).Add("Bit 7", "BIA", @"Battery Impedance Active |
darienf | 20:6d2af70c92ab | 271 | Write 1 to start battery impedance measurement. If the measurement is already running, the write is ignored. |
darienf | 20:6d2af70c92ab | 272 | Bit will remain high until the measurement is completed. |
darienf | 20:6d2af70c92ab | 273 | 0: Battery impedance measurement is not ongoing |
darienf | 20:6d2af70c92ab | 274 | 1: Battery impedance measurement is ongoing"); |
darienf | 20:6d2af70c92ab | 275 | Descriptions(0x0e).Add("Bit 6", "BIMAbort", @"Battery Impedance Measurement Skip |
darienf | 20:6d2af70c92ab | 276 | Write 1 to immediately abort the battery impedance measurement |
darienf | 20:6d2af70c92ab | 277 | 0: Battery impedance measurement is aborted |
darienf | 20:6d2af70c92ab | 278 | 1: Battery impedance measurement is not aborted yet"); |
darienf | 20:6d2af70c92ab | 279 | Descriptions(0x0e).Add("Bit 3", "LcvDly2Skip", @"Write 1 to skip the second delay time (equal again to LCVTm) after LCV Measurement is taken. This second |
darienf | 20:6d2af70c92ab | 280 | delay time allows VCC to recover its unloaded value before closing the power switch again. |
darienf | 20:6d2af70c92ab | 281 | 0: Wait second delay time |
darienf | 20:6d2af70c92ab | 282 | 1: Skip second delay time"); |
darienf | 20:6d2af70c92ab | 283 | Descriptions(0x0e).Add("Bit [2:0]", "BatimpCur[2:0]", @"Battery Impedance Current |
darienf | 20:6d2af70c92ab | 284 | 000: 0 |
darienf | 20:6d2af70c92ab | 285 | 001: 250µA |
darienf | 20:6d2af70c92ab | 286 | 010: 500µA |
darienf | 20:6d2af70c92ab | 287 | 011: 1mA |
darienf | 20:6d2af70c92ab | 288 | 100: 2mA |
darienf | 20:6d2af70c92ab | 289 | 101: 4mA |
darienf | 20:6d2af70c92ab | 290 | 110: 8mA |
darienf | 20:6d2af70c92ab | 291 | 111: Reserved"); |
darienf | 20:6d2af70c92ab | 292 | // register 0x0f |
darienf | 20:6d2af70c92ab | 293 | Descriptions(0x0f).Add("Bit [7:0]", "BatV[7:0]", @"Battery Voltage Measurement Result |
darienf | 20:6d2af70c92ab | 294 | 8-bit battery voltage measurement: VCC = [ 2.6 * (BCV[7:0]/255) + 1.1 ] V |
darienf | 20:6d2af70c92ab | 295 | If BCVTm[2:0] = 00, BCV[7:0] = 0000 0000. |
darienf | 20:6d2af70c92ab | 296 | If error occurs or the measurement is aborted, BCV[7:0] =1111 1111."); |
darienf | 20:6d2af70c92ab | 297 | // register 0x10 |
darienf | 20:6d2af70c92ab | 298 | Descriptions(0x10).Add("Bit [7:0]", "BatOCV[7:0]", @"Battery Voltage Measurement Result |
darienf | 20:6d2af70c92ab | 299 | 8-bit battery voltage measurement: VCC = [2.6 x (OCV[7:0]/255) + 1.1] V |
darienf | 20:6d2af70c92ab | 300 | If OCVTm[2:0] = 00, OCV[7:0] =0000 0000. |
darienf | 20:6d2af70c92ab | 301 | If error occurs or the measurement is aborted, OCV[7:0] =1111 1111."); |
darienf | 20:6d2af70c92ab | 302 | // register 0x11 |
darienf | 20:6d2af70c92ab | 303 | Descriptions(0x11).Add("Bit [7:0]", "LCV[7:0]", @"Battery Voltage Measurement Result |
darienf | 20:6d2af70c92ab | 304 | 8 bit battery voltage measurement: VCC = [2.6 x ( LCV[7:0]/255) + 1.1] V |
darienf | 20:6d2af70c92ab | 305 | If LCVTm[2:0] = 00, BCV[7:0] = 0000 0000. |
darienf | 20:6d2af70c92ab | 306 | If error occurs or the measurement is aborted, LCV[7:0] =1111 1111."); |
darienf | 20:6d2af70c92ab | 307 | // register 0x19 |
darienf | 20:6d2af70c92ab | 308 | Descriptions(0x19).Add("Bit 7", "MonEn", @"Monitor Enable |
darienf | 20:6d2af70c92ab | 309 | 0 = Monitor function disabled |
darienf | 20:6d2af70c92ab | 310 | 1 = Monitor function enabled"); |
darienf | 20:6d2af70c92ab | 311 | Descriptions(0x19).Add("Bit 3", "MONtHiZ", @"MON OFF MODE Condition |
darienf | 20:6d2af70c92ab | 312 | 0 = Pulled Low by a 100k Pulldown Resistor |
darienf | 20:6d2af70c92ab | 313 | 1 = Hi-Z"); |
darienf | 20:6d2af70c92ab | 314 | Descriptions(0x19).Add("Bit [2:0]", "MONCtr[2:0]", @"MON Pin Source Selection |
darienf | 20:6d2af70c92ab | 315 | 000 = MON connected to SWIN |
darienf | 20:6d2af70c92ab | 316 | 001 = MON connected to SWOUT |
darienf | 20:6d2af70c92ab | 317 | 010 = MON connected to BIN |
darienf | 20:6d2af70c92ab | 318 | 011 = MON connected to BOUT |
darienf | 20:6d2af70c92ab | 319 | 100 = MON connected to HVIN |
darienf | 20:6d2af70c92ab | 320 | 101 = MON connected to HVOUT |
darienf | 20:6d2af70c92ab | 321 | 110 = MON connected to LIN |
darienf | 20:6d2af70c92ab | 322 | 111 = MON connected to LOUT"); |
darienf | 20:6d2af70c92ab | 323 | // register 0x1a |
darienf | 20:6d2af70c92ab | 324 | Descriptions(0x1a).Add("Bit [7:4]", "PwrRstCfg[4:0]", @"0000: Pin Controlled (MAX14750) |
darienf | 20:6d2af70c92ab | 325 | 0110: Push-Button Monitor (MAX14720)"); |
darienf | 20:6d2af70c92ab | 326 | Descriptions(0x1a).Add("Bit 3", "SftRstCfg", @"Soft Reset Register Default |
darienf | 20:6d2af70c92ab | 327 | 0 = Registers do not reset to default values on soft reset |
darienf | 20:6d2af70c92ab | 328 | 1 = Registers reset to default values on soft reset"); |
darienf | 20:6d2af70c92ab | 329 | Descriptions(0x1a).Add("Bit 2", "PFNPUDCfg", @"KIN Pullup/Pulldown Configuration |
darienf | 20:6d2af70c92ab | 330 | 0 = Pullups and pulldowns on control lines disabled |
darienf | 20:6d2af70c92ab | 331 | 1 = Selective pullups and pulldowns enabled on KIN pin"); |
darienf | 20:6d2af70c92ab | 332 | Descriptions(0x1a).Add("Bit [1:0]", "BootDly[1:0]", @"Boot/POR Process tRESET Delay Control |
darienf | 20:6d2af70c92ab | 333 | 00 = 80ms |
darienf | 20:6d2af70c92ab | 334 | 01 = 120ms |
darienf | 20:6d2af70c92ab | 335 | 10 = 220ms |
darienf | 20:6d2af70c92ab | 336 | 11 = 420ms"); |
darienf | 20:6d2af70c92ab | 337 | // register 0x1b |
darienf | 20:6d2af70c92ab | 338 | Descriptions(0x1a).Add("Bit 3", "/KIN", @"Input State |
darienf | 20:6d2af70c92ab | 339 | 0 = Pin low |
darienf | 20:6d2af70c92ab | 340 | 1 = Pin high"); |
darienf | 20:6d2af70c92ab | 341 | Descriptions(0x1a).Add("Bit 2", "/KOUT", @"Input State |
darienf | 20:6d2af70c92ab | 342 | 0 = Pin low |
darienf | 20:6d2af70c92ab | 343 | 1 = Pin high"); |
darienf | 20:6d2af70c92ab | 344 | Descriptions(0x1a).Add("Bit 1", "MPC", @"Input State |
darienf | 20:6d2af70c92ab | 345 | 0 = Pin low |
darienf | 20:6d2af70c92ab | 346 | 1 = Pin high"); |
darienf | 20:6d2af70c92ab | 347 | Descriptions(0x1a).Add("Bit 0", "/RST", @"Input State |
darienf | 20:6d2af70c92ab | 348 | 0 = Pin low |
darienf | 20:6d2af70c92ab | 349 | 1 = Pin high"); |
darienf | 20:6d2af70c92ab | 350 | // register 0x1c |
darienf | 20:6d2af70c92ab | 351 | Descriptions(0x1c).Add("Bit 7", "BoostHysOff", @"Boost Hysteresis Off |
darienf | 20:6d2af70c92ab | 352 | 0 = Enable comparator hysteresis |
darienf | 20:6d2af70c92ab | 353 | 1 = Disable comparator hysteresis (recommended to reduce voltage ripple)"); |
darienf | 20:6d2af70c92ab | 354 | Descriptions(0x1c).Add("Bit 6", "BoostPacDsc", @"Boost Passive Discharge Control |
darienf | 20:6d2af70c92ab | 355 | 0: Boost output will be discharged only when entering off and hard-reset modes. |
darienf | 20:6d2af70c92ab | 356 | 1: Boost output will be discharged only when entering off and hard-reset modes and when BoostEn is set to 00."); |
darienf | 20:6d2af70c92ab | 357 | Descriptions(0x1c).Add("Bit 5", "BoostActDsc", @"Boost Active Discharge Control |
darienf | 20:6d2af70c92ab | 358 | 0: Boost output will be discharged only when entering off and hard-reset modes. |
darienf | 20:6d2af70c92ab | 359 | 1: Boost output will be discharged only when entering off and hard-reset modes and when BoostEn is set to 00."); |
darienf | 20:6d2af70c92ab | 360 | Descriptions(0x1c).Add("Bit 2", "BuckActDsc", @"Buck Passive Discharge Control |
darienf | 20:6d2af70c92ab | 361 | 0: Buck output will be discharged only when entering off and hard-reset modes. |
darienf | 20:6d2af70c92ab | 362 | 1: Buck output will be discharged only when entering off and hard-reset modes and when BuckEn is set to 00."); |
darienf | 20:6d2af70c92ab | 363 | Descriptions(0x1c).Add("Bit 1", "BuckActDsc", @"Buck Active Discharge Control |
darienf | 20:6d2af70c92ab | 364 | 0: Buck output will be discharged only when entering off and hard-reset modes. |
darienf | 20:6d2af70c92ab | 365 | 1: Buck output will be discharged only when entering off and hard-reset modes and when BuckEn is set to 00."); |
darienf | 20:6d2af70c92ab | 366 | Descriptions(0x1c).Add("Bit 0", "BuckFScl", @"Buck Force FET scaling (it reduces IQ by lowering the nMOS power to 20% of the nominal value) |
darienf | 20:6d2af70c92ab | 367 | 0: FET Scaling only enabled during the buck turn-on sequence |
darienf | 20:6d2af70c92ab | 368 | 1: FET Scaling enabled during the buck turn-on sequence and also in the buck active state."); |
darienf | 20:6d2af70c92ab | 369 | // register 0x1d |
darienf | 20:6d2af70c92ab | 370 | Descriptions(0x1d).Add("Bit 7", "StartOff", @"Start In Off |
darienf | 20:6d2af70c92ab | 371 | 1: The device will start in the off mode. |
darienf | 20:6d2af70c92ab | 372 | 0: The device begins the power-on sequence after a VCC power on reset."); |
darienf | 20:6d2af70c92ab | 373 | Descriptions(0x1d).Add("Bit 6", "GlbPasDsc", @"Global Passive Discharge |
darienf | 20:6d2af70c92ab | 374 | 0: Passive discharge loads are disabled in off mode. |
darienf | 20:6d2af70c92ab | 375 | 1: Passive discharge loads are enabled in off mode."); |
darienf | 20:6d2af70c92ab | 376 | Descriptions(0x1d).Add("Bit 0", "StayOn", @"Processor Handshake |
darienf | 20:6d2af70c92ab | 377 | This bit is used to ensure that the processor booted correctly. This bit must be set within 5s of power-on to |
darienf | 20:6d2af70c92ab | 378 | prevent the part from shutting down and returning to the power-off condition. This bit has no effect after being |
darienf | 20:6d2af70c92ab | 379 | set. |
darienf | 20:6d2af70c92ab | 380 | 0 = Shutdown 5s after power-on |
darienf | 20:6d2af70c92ab | 381 | 1 = Stay on"); |
darienf | 20:6d2af70c92ab | 382 | // register 0x1e |
darienf | 20:6d2af70c92ab | 383 | Descriptions(0x1e).Add("Bit 1", "BBBUVLOSel", @"Buck/Buck-Boost UVLO Select |
darienf | 20:6d2af70c92ab | 384 | 0: Buck and buck-boost are turned off/on according to LIN_UVLO thresholds |
darienf | 20:6d2af70c92ab | 385 | 1: Buck and buck-boost are turned off/on according to BIN_UVLO thresholds"); |
darienf | 20:6d2af70c92ab | 386 | Descriptions(0x1e).Add("Bit 0", "LDOUVLOsel", @"LDO UVLO Select |
darienf | 20:6d2af70c92ab | 387 | 0: LDO is turned off/on according to LIN_UVLO thresholds |
darienf | 20:6d2af70c92ab | 388 | 1: LDO is turned off/on according to BIN_UVLO thresholds"); |
darienf | 20:6d2af70c92ab | 389 | // register 0x1f |
darienf | 20:6d2af70c92ab | 390 | Descriptions(0x1f).Add("Bit [7:0]", "PWROFFCMD[7:0]", @"Power-Off Command |
darienf | 20:6d2af70c92ab | 391 | Writing 0xB2 to this register will place the part in the off state/seal mode. Waking up the device from this mode |
darienf | 20:6d2af70c92ab | 392 | requires a low pulse on /KIN. |
darienf | 20:6d2af70c92ab | 393 | All other codes = Do nothing"); |
darienf | 20:6d2af70c92ab | 394 | } |
darienf | 20:6d2af70c92ab | 395 | } |
darienf | 20:6d2af70c92ab | 396 | } |