Announcement

Collapse
No announcement yet.

Clock stretching

Collapse
X
 
  • Filter
  • Time
  • Show
Clear All
new posts

  • Clock stretching

    Hey everyone,

    I am trying to read data from a smart battery via I2C-Bus using the display as a master.
    Currently, there are very long stretches between data packages (see image: red= clock, blue=data).
    I figured clock stretching might be the issue.


    Does the Gen4-uLCD-43DT support clock stretching? And if so, is there the possibility to enable/disable clock stretching?
    I think Arduino supports such a function, maybe it is applicable here, too?

    Regards
    Ali31


  • #2
    Good day,

    There is no available clock stretching function for the I2C functions of the Diablo16 processor. Can you post here the smart battery specifications or datasheet to see how its I2C communication is handled.

    Best Regards,

    Comment


    • #3
      Good morning,

      thanks for the reply! This already helps me a lot, as the smart battery is able to hold the clock line low. So might be a timing problem.
      You can find the datasheet here: http://www.sbs-forum.org/specs/sbdat110.pdf

      Best regards
      Ali31

      Comment


      • #4
        Good day,

        The Diablo16 processor has no way of checking if the clock line is being held down low by the slave, so it might not be able to utilize SMBus for this as it involves low level modifications.

        Best Regards

        Comment


        • #5
          Hello,

          thank you for your support!
          I would still like to use one of your displays, is there any chance that a display with another processor can handle clock stretching?
          I cannot find this information on the datasheet.

          Best Regards

          Comment


          • #6
            Hi,

            The other graphics processor Goldelox, Picaso, Pixxi28/44, also has no support for clock stretching. The other workaround that will perform best that I can suggest is to add another processor to handle decoding the smart battery data.

            Best Regards,

            Comment


            • #7
              Hi,

              One thing you could try is use the PA14 and PA15 pins for I2C on the Diablo16. This will share with the touch controller but potentially could handle clock stretching. You might want to disable touch on your test just to check if it works with the smart battery.

              Best Regards,

              Comment


              • #8
                Hey,

                I will definitely try changing the pins, thanks for the suggestion. Meanwhile I slowed down the clock to 10kHz and so far it is actually working, but I will do some more tests.

                Best Regards
                Last edited by Ali31; 1 week ago.

                Comment

                Working...
                X