SLUA475 November   2016 BQ2060A , BQ20Z80 , BQ40Z50-R1 , BQ40Z50-R2 , BQ40Z60 , BQ78350-R1 , BQ78350-R1A

 

  1.   SMBus Made Simple
    1.     Trademarks
    2. 1 Getting to Know SMBus
      1. 1.1 Closer Inspection
      2. 1.2 Final Considerations
        1. 1.2.1 Clock Stretching
        2. 1.2.2 Broadcasting (Master Mode Messages)
        3. 1.2.3 PEC
          1. 1.2.3.1 How to Calculate PEC
        4. 1.2.4 Examples
          1. 1.2.4.1 Example 1
          2. 1.2.4.2 Example 2
          3. 1.2.4.3 Example 3
          4. 1.2.4.4 Example 4
    3. 2 Most Common Problems
    4. 3 Glossary
    5. 4 References
  2.   A SMBus Reference Sheet
    1.     19

Example 3

interpreted_lua475.gifFigure 9. Example 3

Figure 9 shows Example 3, an oscilloscope plot of a read word. This data poses the question of why the bq2060 was pulling the data line low as shown with the arrow. Available snooper data showed an ACK and then a STOP bit. The problem was the host did not intend to send a PEC byte, but because it sent an ACK (host pulled data line low at the clock), the bq2060 interpreted this as send another byte of data, which in this case, was the PEC byte. Therefore, the bq2060 held the data line low (trying to send a 0), waiting for clocks from the host. The host tried to send a stop bit because of the confusion. The solution to this issue was to make the host send a NACK after the high byte of data.