Orchard EVT1 to DVT1

From Studio Kousagi Wiki
Revision as of 10:05, 26 April 2015 by Bunnie (talk | contribs) (ECO8: Add low-speed USB option)
Jump to: navigation, search

ECO1: Fix Microphone mirroring

Microphone schematic symbol was mirrored. No BOM change, board layout change only.

ECO2: Make battery easier and safer to solder

Space battery terminals wider, increase pad size, and add solder mask openings around the battery tabs. This makes it less likely to short wires together during a botched soldering operation.

ECO3: Fix gas gauge topology

Gas gauge goes between the charger and battery, not between the charger and the system. Oops!

ECO4: Add isolation resistors on SPI to OLED

For independent I2C operation of the OLED and complete dedication of the SPI bus to BLE, isolation resistors are needed on SPI1_SCK and SPI1_MOSI to the OLED display.

EVT DVT Notes
added R19D 0 ohm
added R20D 0 ohm

ECO5: Add USB adapter presence logic

There is no reliable way to detect the presence of a USB power source due to the VUSB boost mode supply of the BQ24260 (observing VUSB isn't helpful because BQ24260 supplies it when the USB power is disconnected).

Add provisions for a 10k ohm pull-up resistor to USB_P and a 100k pull-down resistor to USB_N. Wire USBD_P and USBD_N via 0-ohm jumpers to spare ADC inputs on the Kinetis-W.

Expected behavior when using pull-ups and pull-downs:

  • When no USB host is attached, USB_P goes to 3.0V
  • When a USB host is attached, USB_P is pulled down to somewhere around 2.2V
  • When a USB dedicated charger is atached, USB_P is pulled down to around 2.8V
  • The only failure case is if the charging source does nothing with the D+/D- lines, but that is out of spec.

A software loop will need to sample USB_P and USB_N pins and toggle between boost and charge mode.

Initially, however, the pull-ups and pull-downs are not installed. The preferred embodiment is to use the internal pullup/pulldown networks on the GPIOs on the Kinetis-W to apply test currents to the D+/D- pins when detection needs to be run. This allows the native D+/D- detection from the charger IC to run without interference of static pullup/downs. The hard-wired resistors are kept in place just in case the tolerance of the internal Kinetis-W resistors are too large and/or the algorithm to do port detection turns out to be too difficult to implement.

EVT DVT Notes
added R29B 10k, 1% (DNP) pull-up on USB_P
added R31B 100k, 1% (DNP) pull-down on USB_N
added R17M 0 ohm allow spare ADC input (ADC0_SE12) on Kinetis-W to sample USB_P
added R16M 0 ohm allow spare ADC input (ADC0_SE9) on Kinetis-W to sample USB_N

ECO6: Improve boost ripple performance

Add another 10uF cap on VUSB to improve ripple performance during boost mode.

EVT DVT Notes
added C28B 10uF, 10V X5R

ECO7: Fix DAC0 availability

For unspecified reasons, the documentation claims in 4.3.2.3 that PTE30 is the preferred pin for controlling RF reset. However, this is also the only pin to which DAC0 is available. Seems like a waste to not make DAC0 available.

We're assuming this is just a brainfart on the reference firmware developer, and if we make our own stack we should be able to pick any pin we want. So, move RF_RESET to a more generic pin, but allow DAC0 to be wired over via 0-ohm jumper option in case there is an actual reason this pin is needed to be RF_RESET.

EVT DVT Notes
added R14M 0 ohm
added R15M 0 ohm (DNP) unpopulated option to bring PTE30 to RESET

ECO8: Add low-speed USB option

Since we've wired USB D+/D- pins to the microcontroller, might as well add the pull-up resistor that allows detection of the microcontroller as a low speed device, in case someone wants to use the port to write a bit-bang USB implementation. "It's just one resistor, anyways."

Note: Voh(min) is 2.8V with a 15k pull-down load. VDD for the MCU is 3.0V +/-5% or so, so we're pretty marginal on meeting that spec. So this should be considered a hack!

EVT DVT Notes
added R30B 1.5k 1% (DNP)