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