Interfacing 3.3V Serial FLASH to 4.2V MCU

Discussion in 'General Electronics Chat' started by Sensacell, Oct 1, 2012.

  1. Sensacell

    Thread Starter Well-Known Member

    Jun 19, 2012
    1,132
    267
    I am integrating a serial flash memory (SST25V016B) into a MCU board with a PIC18F46K22 processor running @ 4.2 Vdd. - See attached schematic.

    The flash part has a Vdd Max of 3.6V so I am using a 3.3V LDO regulator (AP7313) to knock the Vdd down to size.

    The serial data line OUT from the flash will meet the input spec as-is, so that one is easy.

    The 3 lines driving the flash need level shifting down, I am using a simple voltage divider to accomplish this but I wish there was a cleaner way to do this than adding 6 resistors to the BOM.

    I have seen those cute level shift gates, but this seems like overkill in this situation?- and more expensive.

    Anyone have a clever suggestion?
     
    Last edited: Oct 1, 2012
  2. Papabravo

    Expert

    Feb 24, 2006
    10,152
    1,794
    A voltage divider is asking for a boatload of trouble if the loads are not constant and reasonably high impedance. I would use tiny logic gates in SOT23-5 packages with TTL Thresholds. For the lines going to the 3.3V part use the 3.3V VCC and the inputs will be OK with the 4.2V input and the switching thresholds will be 0.8 and 2.0V instead of Vcc/2.

    Sometimes there is just no substitute for the right part, so suck it up an quitcher wining.
     
    Sensacell likes this.
  3. Sensacell

    Thread Starter Well-Known Member

    Jun 19, 2012
    1,132
    267
    A boatload of trouble is to be avoided!

    Looking at the data sheet for the Flash Memory; pin input capacitance is 6 pf max, the Zout of the resistor divider is about 320 ohms, so the RC time constant is about 2 ns. fast enough? The parts will be about 30 mm away on the board, so the C-stray should not be too bad, am I missing other hidden pitfalls ?
     
  4. Papabravo

    Expert

    Feb 24, 2006
    10,152
    1,794
    Depends on the output driver. You do know that TTL outputs will sink current in the low state and only source micro amps in the high state. If the output cannot source enough current to the voltage divider then the inputs to the memory chip will not go where they need to go. It is not enough to worry about voltage. Good designers are always worried about currents in and out.

    You also have to worry about leakage current from the input. If you put a big resistor to ground on a gate input as part of a voltage divider the leakage current could be enough to raise the input above threshold.

    Believe me you will tie yourself in knots worrying about what is going on when that serial memory starts to act funny.

    In general voltage dividers are for analog and transistor circuits with a constant voltage input and a constant load.
     
    Last edited: Oct 2, 2012
    Sensacell likes this.
  5. THE_RB

    AAC Fanatic!

    Feb 11, 2008
    5,435
    1,305
    There should not be any TTL outputs, all outputs and inputs will likely be CMOS. The PIC CMOS output inpedance will be very low, <50 ohms at 5v and probably still <65 ohms when run from 4.2v.

    I've seen lots of commercial stuff using 2 resistors to adapt a 5v output to a 3.3v input, especially cost and size sensitive designs.

    Of course, you could run the PIC from a 3.6v regulator, saving 6 resistors AND a 3.3v regulator from the design, and probably reducing PIC current consumption too?
     
    Sensacell likes this.
  6. Sensacell

    Thread Starter Well-Known Member

    Jun 19, 2012
    1,132
    267
    There are a bunch of other subsystems interfacing @ 4.2 V, so this is the lesser of evils- only 3 lines to deal with @ 3.3 V

    This is a cost-sensitive production design, so the resistor idea is appealing and has less of that scary supply chain impact.

    I appreciate knowing others use this method, all my calculations indicate that it will work fine, the PIC does source and sink currents appropriately to ensure that the levels will be met under worst case conditions.
     
  7. Papabravo

    Expert

    Feb 24, 2006
    10,152
    1,794
    Let us know what happens.
     
  8. ScottWang

    Moderator

    Aug 23, 2012
    4,855
    767
    1. You can reduce the resistor, as R27~R29 use 390Ω.
    4.2V x (1.5K/(1.5K+390Ω)) = 4.2V x 0.7936 =3.333V
    The error rate is : 0.033V/3.3V=0.01= 1%

    2. Another easy way is only use R27~R29, and change their value from 430Ω to 5.1K
    I_limit = (4.2V - 3.3V) / 5.1K = 176uA, there is no much current, it won't hurt the input of SST25V016B

    3. Long time ago, I even saw as above used in notebook, CPU(+5V) between buffer IC(+3.3V) only used 33Ω, because the buffers need more current provide to other ICs.
     
Loading...