SPI Voltage Level Shifter 0.5-10Mhz?

Discussion in 'The Projects Forum' started by snowboy, Oct 4, 2014.

  1. snowboy

    Thread Starter New Member

    Oct 4, 2014
    10
    0
    Trying to find some easy(?) circuits for level shifting SPI from 1.8v master to 3.3v slave.
    Currently I have some resistors based dividers, but it's not working that well. At the moment its running 0.5Mhz clock rate, but I would like to pump it up to 1Mhz at least if not up to 10Mhz. Resistor divers are out of question I believe?
     
  2. Alec_t

    AAC Fanatic!

    Sep 17, 2013
    5,763
    1,099
    Shifting from 1.8 to 3.3 can't be done with a voltage divider; or did you mean shifting from 3.3 to 1.8?
     
  3. Papabravo

    Expert

    Feb 24, 2006
    10,135
    1,786
    You need a buffer with a wide range Vcc (1.65V-5.5V) ,with TTL thresholds, and inputs tolerant of levels above Vcc. Why on earth did you think you could do it with resistors? Did you find that gem in the SPI specification?
     
  4. snowboy

    Thread Starter New Member

    Oct 4, 2014
    10
    0
    Atm im only down shifting miso from slave and running slave at 2.6v. To get it closer to 1.8v. I can read from slave, but i get errors. And actually resistor is not doing anything. So took it out.

    I actually was pretty sure it's not going to work. But gave it a go in lack of better ideas and parts.

    Do you remember off hand some easily sourced partnumbers that would do the job?
     
  5. Papabravo

    Expert

    Feb 24, 2006
    10,135
    1,786
    My knowledge of specific parts is probably out of date by now. Basically they are single gates in small packages like SOT23-5, That's a 5 pin SOT23 package; it was originally designed for transistors and later adapted to parts requiring Vcc and GND. I would check product selectors on www.ti.com, www.onsemi.com, and www.fairchild.com I've posted links to the parts before on this forum. You're not the first person to ask the question.

    Edit:
    http://www.onsemi.com/pub_link/Collateral/NL27WZ14-D.PDF
    http://www.ti.com/lit/ds/symlink/sn74lvc2g14.pdf
    http://www.onsemi.com/pub_link/Collateral/MC74VHC1GT50-D.PDF
    http://www.ti.com/lit/ds/symlink/sn74lvc1g14.pdf

    BTW: in going from 1.8V to 3.3V you might need to use two buffers. The first one would have a Vcc of 1.8V and the second one would have a Vcc of 3.3V with CMOS thresholds
     
    Last edited: Oct 4, 2014
  6. shteii01

    AAC Fanatic!

    Feb 19, 2010
    3,375
    494
  7. snowboy

    Thread Starter New Member

    Oct 4, 2014
    10
    0

    Thanks for the references and keywords :) Found that my local parts shop was carrying txb0108 and managed to piece it together. My oscilloscope now says that levels are within 1.8v system, but still I am not able to get good readings from the chip. To minimize the errors I am running it @50khz, but nothing changes. I'm starting to think my samsung exynos spi stack is broken somehow. Tested the slave on other 3v3 board and it was still working on that. Wish I had a logic analyzer..
     
  8. shteii01

    AAC Fanatic!

    Feb 19, 2010
    3,375
    494
    Are you sure you have connected it right?

    The A side needs its power, the B side needs its power. The A side must be equal or less than B side. So for you application the 1.8 volt signals would be on A side, the 3.3 volt signals would be on B side.

    Also there is the Output Enable (OE) feature. It is used to turn the chip on.
     
  9. snowboy

    Thread Starter New Member

    Oct 4, 2014
    10
    0
    I am driving B side from slave (3.3v) vcc and A side from masters VCC_IO=1.8v pin. Oscilloscope says p2p 1.82-1.92, which is little odd as, VCC_IO is pretty stable at 1.82v.
     
Loading...