Senoko changes EVT to DVT

From Studio Kousagi Wiki
Revision as of 14:04, 14 October 2013 by Bunnie (talk | contribs) (ECO6: Add bootstrap mechanism for "cold pack" swaps)
Jump to: navigation, search

Senoko EVT to DVT changes

This is a list of all the changes applied to the board from EVT1 to DVT1 release. If it's not on this list, it didn't happen.

Each change has the format of issue summary/resolution, and specific change

ECO1: Make default behavior to power on Novena

R108 tied to 3.3_UC instead of GND so default/unprogrammed behavior is to pass power through from AC to power connector. Note that "factory-new" unprogrammed behavior also makes the battery inert so it will neither charge nor discharge. Furthermore note that if the gas gauge/charger has previously been programmed prior to MCU going into reflash mode, that behavior *will* stick, so beware! When reflashing the MCU, first put the gas gauge and charger into "inert"/safe states.

No BOM change to report, just netlist change.

ECO2: Modify connector pin-out to match Novena PVT

Novena PVT pinout changed on battery connector to reveal SMBus and also eliminate reflash pin. Change Senoko design accordingly.

Added Q102 BSS138 Isolates charger's SMBus SDA from Novena, so when Novena is powered down it doesn't jam the local bus. This is important for bootstrapping the gas gauge, etc. from a powered-down state.
Added Q103 BSS138 Isolates charger's SMBus SCL from Novena, so when Novena is powered down it doesn't jam the local bus. This is important for bootstrapping the gas gauge, etc. from a powered-down state.

Non-BOM (netlist only) changes include moving PM_NRST to its new home on the SATA-like connector (J100), and adding the HOST_SMB_xxx pins to the B-/B+ signal pins on J100.

ECO3: Add switch for MCU programming authorization

As part of connector refactor, PM_REFLASH_ALRT is disconnected from the CPU, preventing the CPU from putting the MCU into a code download mode. Instead, add a switch where if the user presses the button simultaneous to the CPU resetting the MCU, the MCU can enter a code download mode.

Added SW101 TL3342F160QG/TR

ECO4: Change switch AVL to new switch type

The old switch was flaky and expensive. Change to new switch vendor.

SW100 TS-1187A, Chi Fung SW100 TL3342F160QG/TR
SW300 TS-1187A, Chi Fung SW300 TL3342F160QG/TR

ECO5: Improve AC In detection margin

Currently, CHG_ACIN barely triggers with an input voltage of 18V. Since 3-cell operation is the new norm for target operation, allow detection of AC_IN down to 14V.

Set divider to 66.5k under 316k, so trip threshold is 13.8V. This is 1.2V over the charge termination voltage for a 3-cell Li-Ion pack -- a bit close, but I think it's good to keep the margin somewhat close to allow a broader range of adapters, and definitely high enough that a 12V adapter at +10% rating won't trigger ACIN.

R214 430k, 1% R214 316k, 1%

ECO6: Add bootstrap mechanism for "cold pack" swaps

If the battery pack is removed with no AC power available, it is impossible to bootstrap the system.

This is because the gas gauge shuts itself down when the battery pack is removed, and when a new battery is attached it needs to be programmed with the battery parameters before allowing *any* discharge operation (this is a reasonable and safe behavior, actually).

A momentary pushbutton switch plus a diode is provided on the load side of R300 (a 300 ohm resistor) so that a user can depress the switch to force a limited-current connection from the battery pack to BAT_PROTECTED, which in turn trickles into the MCU. The user must hold down this switch long enough for the MCU to boot and program the gas gauge with reasonable parameters so that discharge is allowed from the pack (should take less than a dozen milliseconds, so for all intents and purposes any key press is enough).

Note this means the maximum draw of the MCU is about 20mA @ battery voltage, which if put through a switching regulator should be plenty to power the MCU.

A switch is used vs. a permanent connection through the diode because we do want a full disconnect possibility of the load from the battery pack in case of deep discharge, and so the normally open switch makes sure that the load FETs can still perform this protective action (at least during long-term storage scenarios).

A diode is used to prevent false charging of the battery in the case that the user decides to press the button even when the system is running, and AC power is plugged in. The user's not supposed to press it then, but you have to anticipate users doing anything, even if it doesn't make sense.

Added SW301 TL3342F160QG/TR
Added D307 BAS16