Why "TIMEOUT" has been defined in SMBus that forces the minimum frequency to be 10kHz? Please tell a solid industrial application.

  • \$\begingroup\$ It’s a standard. Why would you want to go slower? \$\endgroup\$ Aug 12 '20 at 15:11
  • \$\begingroup\$ I just want to know why such a constraint is there? What is its application? \$\endgroup\$ Aug 12 '20 at 15:15
  • 1
    \$\begingroup\$ If there is no minimum frequency, you cannot distinguish between a failure/hung device and a very slow device. \$\endgroup\$
    – Justin
    Aug 12 '20 at 15:30
  • \$\begingroup\$ There is no benefit to going slower yet there is a delay penalty \$\endgroup\$ Aug 12 '20 at 15:59

The timeout has been defined, so that if something gets hung up during a transaction, all the chips on the bus can determine (in hardware, or in software) that it is time to cancel and ignore the current transaction and wait for new transaction.

This resolves the problem if the bus does get hung up.

SMBUS and derivative buses that are based on SMBUS are mainly on computer products, from low-end consumer motherboards to high-end server products, so there might be very few "industrial applications" for it, as they tend to use buses more suited to "industrial applications" (RS485, CAN).

  • \$\begingroup\$ This makes Sense. Thank!! You \$\endgroup\$ Aug 12 '20 at 16:07
  • \$\begingroup\$ The timeout also fixes the problem in I2C (from which it is roughly derived); I2C is specified to DC and can (and will usually) hang on an incomplete transaction. \$\endgroup\$ Aug 13 '20 at 8:16

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.