Tool/software:
Hi,
I'm trying to get some external telemetry from a motherboard by using an Aardvark I2C controller to master the SMBUS via test pins and communicate with an RT3674AE regulator. Through trial and error, I believe the bus topology looks like this:
[CPU] ---- [ i2c controller ] ---- [ PCA9545A 3] ---- [RT3674AE] ------[other devices]
[ 2] ---- [Test pins] ---- [Aardvark]
[(disabled) 1] ----
[ 0] ----
When I use a Linux shell to communicate with the RT3674AE (from upstream of the switch), I get expected values. When I use the Aardvark (downstream of the switch), I can read and write some registers like chip id and page, but any time I try to read the voltage I get a value that doesn't make sense, and is different from what I get using a Linux shell. I have probed the bus with i2cdetect and I don't think there's an address conflict, though I can't be certain.
I asked the same question on stack exchange here (https://electronics.stackexchange.com/questions/720343/i2c-regulator-returns-different-values-upstream-and-downstream-of-switch?noredirect=1#comment1916321_720343) and a responder said it was improper to master the bus from downstream of the switch.
Is it indeed the case that I should not expect valid values if I'm mastering the bus from downstream of the PCA9545A?
Thanks.