This post is older than 2 years and might not be relevant anymore
More Info: Consider searching for newer posts

nRF52832 SPI voltage level switch circuit doesn't work

I met a big issue when implement the voltage level switch. I used nRF52832's SPI to communicate with an ECG sensor which has 1.8V SPI. The issue is that, 3.3V signal from nRF can switch to 1.8V in ECG side (such as ECG_SPI_SCLK and ECG_SPI_DOUT), but the 1.8V signal from ECG side CAN'T change to 3.3V in nRF side (such as ECG_SPI_DIN). TXS0108 has been used several times in my design and works very well. Is there any tricky I don't know in nRF application?

Thanks image description

image description

Parents
  • Hi. Understand this is an old thread so you may have a resolution by now. If not, our experience with the TXS parts was miserable and led to the cancellation of a road map due to the drive ability of this component. Believe that your issue is the same, this part (TXS prefix) requires the use of pull-up resistors to work correctly. Review the TXB series from TI in your project which we understand from a known to be working example, is suitable for SPI level shifting. Personally, recommend that you take your UNIDIRECTIONAL signals such as the SPI, START, INT lines and apply push-pull level shifters with dual voltage. For example, SN74LVC2T45DCTT is a 2 bit solution and there may be a 4 or 8 bit version. This level shifter offers some current drive ability as well which is a bonus. For the I2C level shifting, yes, consider the TXS / TXB series but be sure from TI FAE that it is suitable for your I2C project. Avoid auto-direction level shifters as we can guarantee are horrible for any cable driving. Ok for PCB and have seen them on Intel ref designs (Galileo) and a few others. All on the PCB only.

    One part that is intended for level shifting for I2C lines is the ONSEMI (Fairchild) FXWA9306. The datasheet specifically offers this guarantee. Hope this helps.

Reply
  • Hi. Understand this is an old thread so you may have a resolution by now. If not, our experience with the TXS parts was miserable and led to the cancellation of a road map due to the drive ability of this component. Believe that your issue is the same, this part (TXS prefix) requires the use of pull-up resistors to work correctly. Review the TXB series from TI in your project which we understand from a known to be working example, is suitable for SPI level shifting. Personally, recommend that you take your UNIDIRECTIONAL signals such as the SPI, START, INT lines and apply push-pull level shifters with dual voltage. For example, SN74LVC2T45DCTT is a 2 bit solution and there may be a 4 or 8 bit version. This level shifter offers some current drive ability as well which is a bonus. For the I2C level shifting, yes, consider the TXS / TXB series but be sure from TI FAE that it is suitable for your I2C project. Avoid auto-direction level shifters as we can guarantee are horrible for any cable driving. Ok for PCB and have seen them on Intel ref designs (Galileo) and a few others. All on the PCB only.

    One part that is intended for level shifting for I2C lines is the ONSEMI (Fairchild) FXWA9306. The datasheet specifically offers this guarantee. Hope this helps.

Children
No Data
Related