0
\$\begingroup\$

In my design for PCIE to USB converter board. I use VL805 Host Controller to do the conversion.

the chip needs a firmware that I flash it to SPI FLASH (U25) using DediProg. I added a special 6-pin header (J14) to which I connect wires to DediProg.

my plan is to flash the firmware through the header, and supply voltage to the SPI by using Dediprog VCC.

at the flashing time, VL805 won't be connected to power. the signals {SPICS#, SPICK, SPISI, SPISO} are connected to that Host controller.

I was wondering if there could be a problem with the connection at the intersection between the SPI FLASH and the HEADER although the signals {SPICS#, SPICK, SPISI, SPISO} will be connected to a device that has no power.

enter image description here

enter image description here

My Solution:

Note: the VL805 sits on a PCB that will be connected as an external device to mini-PC motherboard.

Since there is a possibility of having ESD protection diodes at the SPI pins inside VL805 Chip, if we decide that we turn off the motherboard (3V3AUX_IN will be off) then turn on the programmer (DEDIPROG) in order to flash, we can risk powering up the chip again by supplying voltage to 3V3AUX_IN when the SPI signals {SPICS#, SPCIK, SPISI, SPISO} are high:

enter image description here

NOTE: that's just an image for clarification, I still have no information about whether ESD protection diodes exist in the VL805 or not.

So, to fix that, I thought of adding an N-MOSFET transistor that will pull down the (Power on Reset - PONRST) pin which will reset the chip at the time the Programmer device (DEDIPROG) is ON and is delivering VCC_DEDIPROG (which eventually will turn ON 3V3AUX_IN, and that's O.K because we want the CHIP to be ON when we do reset):

enter image description here

This means VCC_DEDIPROG will supply voltage to 3V3AUX_IN (which in a normal mode it should come the motherboard, but the motherboard at the flashing time is turned off) and that will help the transistor pull the PONRST node down.

the DIODE 101 will prevent current from passing to the programming device when 3v3AUX_IN is supplied from the motherboard (which we will turn it on after we finish flashing the SPI ROM).

Diode D100 will help discharging the C601 capacitor in cases where 3V3AUX_IN is suddenly down as result of power being cut-off or noise, in that case a system reset should be performed through PONRST pin.

What do you think of my solution?

\$\endgroup\$

1 Answer 1

1
\$\begingroup\$

Yes, there could be problems when unpowered chip sits on the same bus.

IO pins usually have protection diodes to supply voltage, so the unpowered chip can try to load the SPI bus down as it tries to power up via the current it draws from the SPI pins.

Also in general having voltages on IO pins while a chip is unpowered is not normal and if the voltages or current exceed rated safe limits there can be permanent damage.

If the 3V3AUX power is off, the flashing will not work.

\$\endgroup\$
4
  • \$\begingroup\$ regarding "IO pins usually have protection diodes to supply voltage, so the unpowered chip can try to load the SPI bus down as it tries to power up via the current it draws from the SPI pins." I couldn't understand what's the problem you're addressing here. when the chip will power up, DediProg will be turned off and the Flash will get voltage from 3V3AUX_In. "If the 3V3AUX power is off, the flashing will not work." \$\endgroup\$ Jan 21, 2021 at 12:54
  • \$\begingroup\$ "If the 3V3AUX power is off, the flashing will not work." is that becase the WP# and HOLD# are not connected to VCC_DEDIPROG? \$\endgroup\$ Jan 21, 2021 at 13:26
  • 1
    \$\begingroup\$ I am addressing the problem that your programming interface will try to power up the unpowered chip via SPI bus. WP is most likely not an issue if you don't enable WP, but it is if you enable WP. HOLD is an issue. \$\endgroup\$
    – Justme
    Jan 21, 2021 at 15:53
  • \$\begingroup\$ Thanks, I understand. I have thought of an alternative. can you please check my edit? \$\endgroup\$ Jan 23, 2021 at 19:41

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.