Better I2C bus management #25
renzenicolai
started this conversation in
MCH2025 ideas
Replies: 1 comment
-
(Added to design document) |
Beta Was this translation helpful? Give feedback.
0 replies
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
-
I'd love to separate the different I2C interfaces of the badge so that a connected SAO or Qwiic board does not interfere with the on-board sensors and functionality of the badge without taking up extra GPIOs of the application processor.
We could use a device called an I2C switch, the switch chip linked below (30 cents in quantity) allows for both switching four different I2C busses as well as level shifting, allowing the external device and bus to run at 5v logic level, allowing for greater compatibility.
https://www.lcsc.com/product-detail/Interface-Specialized_NXP-Semicon-PCA9546APW-118_C149507.html
On previous badges we've made the I2C bus externally accessible via the SAO connector and a Qwiic connector. It would be cool to also break out the I2C bus via the USB-C connector, this can be done by using the otherwise unused sideband pins (SBU1 and SBU2). Because of the reversible nature of the USB-C connector it would be nice if SCL and SDA could both be mapped to either of the SBU pins. We can do that by connecting two of the four switched busses to the SBU pins, one with SCL and SDA in the "normal" orientation and one with the two pins crossed. Enabling one of the two at a time enables switching the function of both SBU pins between SCL and SDA. The other two switched busses could in turn be the SAO connector and the Qwiic connector.
Beta Was this translation helpful? Give feedback.
All reactions