Hello,
I am a complete Arduino and SMBus/I2C novice. I have an Arduino Uno R3.
I have an Nvidia RTX 2080 graphics card which shuts down due to PWM controller IC UP9512 detecting a fault and protection mode being triggered.
The datasheet shows that the IC is connected to an SMBus and stores protection trigger information at address 0x3B. This would reveal what fault has been detected, aiding me in repairing the card.
I bought a CP2112 usb to SMBus bridge but it doesn’t seem to be giving me correct data and I’m out of my depth, so I want to try Arduino.
Although I have what should be the address of the UP9512 on the SMBus (0x4A) I would like to scan the SMBus for all devices and their respective addresses.
I would then like to be able to retrieve the data from 0x3B to see what protection has been triggered. I gather from the datasheet that I should get 8 bits, with 5 of those bits referring to the different protection triggers?
Can someone please help? The more I have Googled this, the more confused and overwhelmed I’ve become. I need simple instructions to follow. I really don’t understand any of it.
The UP9512 datasheet is here: https://datasheet.lcsc.com/lcsc/2303211100_uPI-Semiconductor-uP9512PQGJ_C5361858.pdf
Page 22 of the datasheet refers to register address 0x3B.
Thanks