G+_Chris O'Riley Posted October 2, 2018 Share Posted October 2, 2018 Hi everyone, I'm hoping someone can answer a question regarding 3.3v to 5v level shifting. When I've needed to communicate with a 3.3v i2C device from a 5v one, I've used BSS138 FETs with 10k pullups and all is right with the world. Well, now I'm working on something with a 3.3v real time clock and in addition to the i2C lines, I want to use the square wave and interrupt outputs as well. The question is do they need to be shifted to 5v too, or does the fact that they'll only be read as an input (to the 5v microcontroller) mean that I can just wire them direct, and will the microcontroller read the 3.3v high state from the RTC as a high signal, or does it need 5v? If all 4 lines need to be translated, I'd probably investigate a dedicated level shifting IC with 4 channels vs. 4 separate BSS138's and their pullups. The RTC is the ST M41T62, and I'm just not seeing any schematics with it connected to a 5v microcontroller. Thanks in advance. Link to comment Share on other sites More sharing options...
G+_Paul Hutchinson Posted October 2, 2018 Share Posted October 2, 2018 Depends on the microcontroller, many, probably most, microcontrollers running @ 5V will have a minimum Vih of around 2V so no level shifting needed with 3.3V in. Best to check the data sheet Vih spec for the particular microcontroller. Link to comment Share on other sites More sharing options...
G+_Chris O'Riley Posted October 2, 2018 Author Share Posted October 2, 2018 Thanks Paul, I think I should be good then. The datasheet lists a minimum input high signal voltage as 0.7v. That explains why I see so many sensor boards with only level shifting on the SDA/SCL lines and nothing on other pins. It makes sense since those pins are always output only, so they'll never be sourcing from a microcontroller running at a higher voltage. Just wanted to make sure I didn't burn out my RTC chips! Link to comment Share on other sites More sharing options...
Recommended Posts