I am trying to communicate with some batteries that uses SMBus. In the documens of batteries it only specifies the SMBus version which is SMBus v1.1 and do not mention about addresses nor the baudrate they use. When I ask to company they tell these information is enough and I do not need address or Baudrate. So my question is: Is there a default SMBus address or baudrate that SMBus v1.1 uses (which I do not believe)? For example in CANBUS J1939 default baudrate is 250 kbps. I wonder if it's also a case for SMBus. Thanks.
1 Answer
SMBus is derived from I2C and, therefore, is a synchronous protocol with its own clock signal. Therefore, any bit rate, within the allowed range, will work and can even change from bit to bit. Thus, there is no need for a defined bit rate.
SMBus v 2.0 adds dynamic addressing to I2C but you say that it uses v1.1. However, the specification gives a fixed address for smart batteries: 0001 011. This is probably what you need to use.
Here is an NXP app note that talks about SMBus and discusses these issues: nxp.com
-
\$\begingroup\$ Does that mean I do not need to know Baudrate and Baudrates do not need to match but I need to know addresses of batteries? \$\endgroup\$ Feb 26, 2019 at 7:47
-
\$\begingroup\$ @GünkutAğabeyoğlu It is fully synchronous so the master defines the bit rate and the slave uses the clock line to stay synchronized. As for the addressing, see the edit I just made. \$\endgroup\$ Feb 26, 2019 at 7:48
-
\$\begingroup\$ But it is v2.0, is it also applicable for SMBus v1.1? \$\endgroup\$ Feb 26, 2019 at 7:56