Novena DVT to PVT ECO List
- 1 Novena DVT to PVT changes
- 1.1 ECO1: Fix Gig-E termination
- 1.2 ECO2: Remove FPGA clock termination
- 1.3 ECO3: Clarify D14D orientation
- 1.4 ECO4: Add clock margin to Gbit ethernet
- 1.5 ECO5: Swap switch to more robust and cheaper version
- 1.6 ECO6: 32.768kHz crystal EOL
- 1.7 ECO7: 12.0000 MHz wrong PN
- 1.8 ECO8: Clarify 47uF 1206 capacitor AVL
- 1.9 ECO9: FPGA SEEPROM is EOL
- 1.10 ECO10: Eliminate Audio Pop on Power-up
- 1.11 ECO11: Resolve 5V instability during power ramp with high voltage supply
- 1.12 ECO12: Resolve PCI-E double-series capacitor
- 1.13 ECO13: Bolster power to expansion card
- 1.14 ECO14: Fix DDC SCL buffer resistor value
- 1.15 ECO15: DDR3 SDRAM on FPGA EOL issue
- 1.16 ECO16: Fix typo in part number
- 1.17 ECO17: Move PMIC from beta silicon PN to production PN
- 1.18 ECO18: Add options for D11F
- 1.19 ECO19: Change rating of ESD protection diodes
- 1.20 ECO20: Refactor battery comms interface
Novena DVT to PVT changes
This is a list of all the changes applied to the board from DVT1 to PVT1 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: Fix Gig-E termination
KSZ9021RN refclk output pull-up drive is weak. Terminate with a 300-ohm pull-up, instead of the proposed AC termination network.
|R20S 49.9, 1% / REC1005N||DNP||Gigabit ethernet|
|C16S 2200pF, X7R, 50V, 10% / CAPC1005N||DNP||Gigabit ethernet|
|added||300, 1% / RES1005N||Gigabit ethernet|
ECO2: Remove FPGA clock termination
Use internal FPGA differential termination for clock. Electrically superior to discrete solution.
|R57B 100, 1% / REC1005N||DNP||FPGA|
ECO3: Clarify D14D orientation
Added fab note on bottom silkscreen layer (outside PCB but inside assy dwg) to indicate that D14D is a side-firing LED. Fab was orienting LED accidentally as vertically firing LED.
ECO4: Add clock margin to Gbit ethernet
RGMII spec assumes an extra 10 inch delay added to the clock wire versus data wire, required to be implemented on the PCB. This is software-compensated by tweaking PHY parameters in the Micrel PHY, but we add these delay line options just in case that option turns out to be unworkable.
TXC line gets 5" added by default in this configuration because it's impossible to measure if the TXC line is adequately delayed and out of paranoia we split the difference.
|Added||R24G 0 ohm / RES1005N||RX clock path (0 inch option)|
|Added||R22G 0 ohm (DNP)||Rx clock path (5 inch option)|
|Added||R23G 0 ohm (DNP)||Rx clock path (5 inch option)|
|Added||R30G 0 ohm (DNP) / RES1005N||TX clock path (0 inch option)|
|Added||R28G 0 ohm||Tx clock path (5 inch option)|
|Added||R29G 0 ohm||Tx clock path (5 inch option)|
|Added||R27G 0 ohm||Tx clock path (5 inch option)|
|Added||R25G 0 ohm (DNP)||Tx clock path (10 inch option)|
|Added||R26G 0 ohm (DNP)||Tx clock path (10 inch option)|
In addition to these components, a trace is run through the PCB adding these delays.
ECO5: Swap switch to more robust and cheaper version
Change out switch to pushbutton type available via HQB. No change in PCB, just BOM swap.
|SW11B TS-1187A, Chi Fung (DNP)||TL3342F160QG/TR (DNP)||or equiv (see trigger on chibitronics)|
|SW10B TS-1187A, Chi Fung||TL3342F160QG/TR||or equiv|
|SW10S TS-1187A, Chi Fung||TL3342F160QG/TR||or equiv|
|SW11S TS-1187A, Chi Fung||TL3342F160QG/TR||or equiv|
ECO6: 32.768kHz crystal EOL
Swap out Y11B for part that is not slated for EOL. This does involve a footprint swap.
|Y11B ABS10-32.768KHZ-7-T 7pF CL||ABS06-32.768KHZ-T 12.5pF CL|
ECO7: 12.0000 MHz wrong PN
The part numbers for Y10U and Y11U are for the wrong package size.
|Y10U 12.0000 MHz (SaRonix-eCera F9, 30ppm, 8pF)||12.0000 MHz (NDK NX5032GB-12MHZ-STD-CSK-5, 30ppm, 8pF)|
|Y11U 12.0000 MHz (SaRonix-eCera F9, 30ppm, 8pF)||12.0000 MHz (NDK NX5032GB-12MHZ-STD-CSK-5, 30ppm, 8pF)|
ECO8: Clarify 47uF 1206 capacitor AVL
The wrong package type (1210) is being ordered for this 1206 part. Added a suggested AVL to prevent this problem from happening in the future.
|C43M 47uF, 6.3V, 20% X5R||47uF, 6.3V, 20% X5R (CL31A476MQHNNNE)|
|C44M 47uF, 6.3V, 20% X5R||47uF, 6.3V, 20% X5R (CL31A476MQHNNNE)|
|C45M 47uF, 6.3V, 20% X5R||47uF, 6.3V, 20% X5R (CL31A476MQHNNNE)|
|C18M 47uF, 6.3V, 20% X5R||47uF, 6.3V, 20% X5R (CL31A476MQHNNNE)|
|C52C 47uF, 6.3V, 20% X5R||47uF, 6.3V, 20% X5R (CL31A476MQHNNNE)|
ECO9: FPGA SEEPROM is EOL
The SPINOR SEEPROM on the FPGA has been obsoleted. Replace with a current part number.
ECO10: Eliminate Audio Pop on Power-up
The speakers make an audible pop on power-up (despite the amps being anti-pop). Add resistors that enable independent muting of the speakers from the audio codec.
|Added||R28A 0 ohm||KEY_ROW1 now used to control amp power-down|
|Added||R30A 0 ohm (DNP)||backup option in case the above doesn't work|
|Added||R33A 100k, 1%||Pull-down to ensure PA starts in mute state until CPU I/O is initialized|
ECO11: Resolve 5V instability during power ramp with high voltage supply
Power supplies with voltage greater than 12V have an inconsistent power-on behavior. This is due to some sort of extra noise or ringing on the 5V regulated line during the first few ms of power-on. Resolved by adding an extra 22uF capacitance on the output node, verified via oscilloscope (no ringing leading to shutdown visible).
|C22N 22uF, 10V, X5R, 20% (DNP)||22uF, 10V, X5R, 20%|
ECO12: Resolve PCI-E double-series capacitor
PCI express diff pairs are AC coupled. The convention, it turns out, is for the Tx side to have the capacitor. I had incorrectly assumed that the convention was to put the caps on the motherboard side. Correct this by replacing caps with 0 ohm jumpers.
|C21X 0.1uF, 6.3V, X5R 0201||0 ohm 0201|
|C22X 0.1uF, 6.3V, X5R 0201||0 ohm 0201|
ECO13: Bolster power to expansion card
Expansion card power budgets are now exceeding 7.5W. Bolster the power budget by an additional 10W by adding a leaf-spring power connector.
Two options are provided for, one via a Wurth 331051472057 leaf-spring connector, and one via a Millmax 0990-3-50-20-75-14-11-0 pogo-pin style connector. Both are one-sided contacts, rated for about 2A max. These connectors go on the expansion board side -- this ECO simply provides for an open, gold landing area for these headers.
No ground connector is provided because there are ample grounds provided on the connector already.
ECO14: Fix DDC SCL buffer resistor value
R33L, the pull-up on the NMOS inverter designed to prevent trivial DoS attacks via HDMI port and introduced in the DVT rev, is too weak. Strengthen it so that the circuit operates. Originally, the value 47k was chosen to minimize leakage as this pull-up operates not off of the switched 3.3V, but the always-on 3.3V. This is because the DDC I2C bus is used to program the PMIC. Changing value to 4.7k increase leakage but the impact is minor, about 630uA, much less than 0.01% of a typical battery capacity.
Goes to show you, even the simplest ECO can be messed up.
|R33L 47k, 1%||4.7k, 1%|
ECO15: DDR3 SDRAM on FPGA EOL issue
The DDR3 part used on the FPGA was EOL'd. Change the P/N to an active part. This is a minor impact, just a die rev of the DDR3 memory.
ECO16: Fix typo in part number
P16D has a typo in the part number. Fix it.
|P16D HRS F19SC-8S-0.5SH||HRS FH19SC-8S-0.5SH(05)||note missing H and (05)|
ECO17: Move PMIC from beta silicon PN to production PN
U200, the PMIC, is now in production. Change the part number from engineering sample to production part numbering.
ECO18: Add options for D11F
CDBMT220L-G was hard to source on occasion. Add an alternate to the P/N so CM has more leeway on the AVL.
|D11F CDBMT220L-G||CDBMT220L-G or CDBMT240-HF|
ECO19: Change rating of ESD protection diodes
I thought, for some reason, it would be a good idea to use 2.5V ESD diodes on 3.3V lines. I think it's because I was looking at the stand-off voltage, instead of the breakdown voltage. Anyways, it seems that the current 2.5V choice isn't bad per se, but if the diode cornered in the wrong direction it would cause excess leakage. So, we fix it.
ECO20: Refactor battery comms interface
After hacking on the battery a bit, it was decided that there are advantages to exposing the SMB interface on the battery board directly to the CPU. So, we refactor the interface on the connector.
This involves a series of changes, including moving the reflash/reset pins and swapping them with the I2C pins.
The new basic behavior is now both a UART and I2C is available over the signal lanes of the connector. One of the currently NC 3.3V lines is repuprosed as a reset line to the MCU on the battery board. The reflash line is eliminated, under the logic that to improve security and reliability, a button is introduced on the battery board. When the host CPU wants to reflash the MCU, it will prompt the user via a UI cue to hold down the reflash button, and then toggle the reset pin, thereby putting the MCU into reflash mode. This "safety" step is introduced to prevent malicious code from reflashing the MCU without the user's consent.
However, the exposure of the I2C bus now to the main board does still allow malicious code to modify some parameters, such as the charge current, termination voltage, etc. that could lead to malfunction of the PCB. However, due to secondary protections built into the PCB, it is very unlikely that any amount of tampering can cause the unit to actually catch fire; it will just cause the unit to fail to operate from or charge the battery.
The benefit of exposing the I2C interface is that a standard set of primitives for reading gas gauges is now revealed to the OS layer, so that the gas gauging becomes drop-in compatible with a broad suit of tools that already exist for this purpose.
|Added||D17N ESD5Z3.3T1||protect SMB_SDA|
|R21N 47k, 1%||330, 1%||repurpose for SMB_SCL use|
|Added||J11L testpoint (DNP)||BATT_REFLASH_ALRT moved to test point|
Note that there are only a few BOM changes because most of the components were re-used from the previous interface revision.
This change makes the EVT version of the battery board (now dubbed Senoko) incompatible with the PVT version of Novena. A revision to the battery board is also mandatory!