SPI Voltage Level Shifter 0.5-10Mhz?

Thread Starter

snowboy

Joined Oct 4, 2014
10
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?
 

Papabravo

Joined Feb 24, 2006
21,158
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?
 

Thread Starter

snowboy

Joined Oct 4, 2014
10
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?
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.

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?
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?
 

Papabravo

Joined Feb 24, 2006
21,158
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:

Thread Starter

snowboy

Joined Oct 4, 2014
10
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
The description says that this thing will work with 2.8 volts and 1.8 volts devices (which is what I think you have): https://www.sparkfun.com/products/12009

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..
 

shteii01

Joined Feb 19, 2010
4,644
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..
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.
 

Thread Starter

snowboy

Joined Oct 4, 2014
10
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.
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.
 
Top