Teensy 4.0 + 8 ADCs + GPIO extender = Voltage Level Translator/Shifters?

johngalt

Member
Hi all, and apologies in advance as I'm no EE so still grasping some concepts and learning to read datasheets. I'm designing a circuit with 8 ADCs (MCP3008) and 1 GPIO extender (MCP23S17) both communicated with Teensy 4.0 by SPI.

The MCP3008 will be receiving 5V signals and Teensy 4.0 SPI pins work up to 3.3V, so my idea is to put a TXB0108 between the 2 as this chip is specified for SPI applications and suitable of 5V to 3.3V and viceversa. I've been told that I can use 1 for the 3 main SPI data lines (CLCK, MOSI, MISO) and the other lines for every SS for every chip. That means 1 TXB0108 , having 8 lines, allows for 5 ADCs (+3 data lines). Can I just connect another one for the rest of SS lines of the other 3 ADCs and the GPIO extender? I somehow feel that it's a dirty trick or that it may blow up somewhere.

Bonus question: I read that this chip needs at least 0,2mA in its pins for it to work properly, is it suitable for the MCP3008 (320uA) and MCP23S17(?)?

Thanks!
 
I was about to edit it as it's a bit cumbersome to read, but I can't anymore, so the TLDR would be: can I use an appropriate level shifter/translator to connect multiple SPI devices to Teensy like this?

2.png
 
I'd run the MCP3008 at 3.3V, reducing analog input voltages with a voltage divider if they are > 3.3V.
 
Are voltage dividers reliable? Afaik they are only if the load of the circuit doesn't change, but I guess a pair of resistors for dozens of lines could be cheaper than Level Shifter ICs if the v.divider is reliable for signal lines or doesn't loose precision. I may be babbling stupid things tho I'm quite new to circuits
 
Back
Top