Advantages & Disadvantages of I2C | Bus Arbitration In I2C | Clock Stretching In I2C

Поділитися
Вставка
  • Опубліковано 13 січ 2025

КОМЕНТАРІ • 39

  • @samba438
    @samba438 7 місяців тому

    Nice Video, Thank you for providing more clear about Bus Arbitration
    tech.

  • @meenamurthy1503
    @meenamurthy1503 8 місяців тому

    Helpful! Thanks for posting

  • @jryan4895
    @jryan4895 2 роки тому +2

    Hi, excellent video, but I have one query : which master supplies the clock?

  • @mtoufiq59
    @mtoufiq59 Рік тому

    Very clear explain

  • @thomewatcher517
    @thomewatcher517 3 місяці тому

    Can there be a case where the master trying to read lower address slave is given priority and the higher address read is stuck waiting?

  • @kavitajoshi1289
    @kavitajoshi1289 4 роки тому +2

    Hi Akshay.... Here I am facing same problem of scl pulling low in i2c bus...
    How can I use clock streching technique at my code, please explain

    • @FoolishEngineer
      @FoolishEngineer  4 роки тому +1

      Please send us your code and entire description on foolishengineer7@gmail.com
      Our teammate will help you

    • @FoolishEngineer
      @FoolishEngineer  4 роки тому

      @kavita
      Clock stretching, sometimes referred to as clock synchronization, is a mechanism used by an I2C slave to notify the master to slow down the clock speed.
      I2C devices can slow down communication by stretching SCL: During an SCL low phase, any I2C device on the bus may additionally hold down SCL to prevent it from rising again, enabling it to slow down the SCL clock rate or to stop I2C communication for a while. This is also referred to as clock synchronization.
      This situation may happen when the slave is waiting for its internal operation to finish, such as EEPROM read/write, sensor data calculation, internal state machine to settle down, and so on.
      The master, on the other hand, is required to read back the clock signal after releasing it to the high state and wait until the line has actually gone high.
      As described above, to implement clock stretching mode (a.k.a blocking mode) in a master side, it is required to read back the SCL after releasing it to the high state, and wait until the line has actually gone high.
      If you are using a I2C controller as a master, the clock stretching is usually handled by the I2C controller in hardware level. But if the master communicates with the slave via GPIO, it needs to be accomplished in software level (driver code).

  • @hpmaity4919
    @hpmaity4919 Рік тому

    what if there is a no recovery form the clock streaching,
    what if the slave is not responsive?

  • @shawnshaw9859
    @shawnshaw9859 2 роки тому

    can you please do i3c as well

  • @eldadck6329
    @eldadck6329 3 роки тому +1

    Hey, your explanations are very nice and clear.
    I have a question, in your example you gave a situation where two masters want to send information to two different slaves but what happens when two masters want to send information to the same slave which master gets priority? And why? , Thanks.

    • @pafvero4596
      @pafvero4596 Рік тому +1

      @user-md3fu8iu4x your answer is not correct, at least you must understand the question.💩

    • @InfinityGamingjayant
      @InfinityGamingjayant Рік тому +1

      I have the same question. I am guessing it will keep on comparing or checking the SDL line even after the slave address and if there is a difference in the address of the internal register address for both microcontroller then priority might be given on that basis. And if the register address is also same then both will receive the same data they requested and if they are writing then again there will be comparison i think this is how it must work. Not sure though!

    • @KrishnaBanarasi
      @KrishnaBanarasi 5 місяців тому

      The bus arbitration logic will take place at address or data phase itself.

  • @PJ-TechSolutions
    @PJ-TechSolutions 2 роки тому

    Nice explanation

    • @FoolishEngineer
      @FoolishEngineer  2 роки тому

      Thank you so much for watching!! Please don't forget to subscribe to our channel

  • @veerabalaji5031
    @veerabalaji5031 Рік тому

    @Foolish_Engineer can you post video for AMBA AXI protocol.

  • @SurajSingh-ph4ze
    @SurajSingh-ph4ze 3 роки тому

    Will using fast mode if 400 Khz consume more power, we are readint sensor data at 100, but battery power is also important

  • @differentthoughts1640
    @differentthoughts1640 3 роки тому

    Good work man

  • @kevinhaest3538
    @kevinhaest3538 3 роки тому

    Is there a posibility to communicate from one I2C master to another I2C master?

  • @vinod-xy1cu
    @vinod-xy1cu 4 роки тому

    HI FOOLISH ENGINEER
    WE are working on our project of developing hybrid e-vechile
    shall u help us in selecting controller

    • @FoolishEngineer
      @FoolishEngineer  3 роки тому +1

      Hi Srv Vinodh,
      You find the product as per requirement on this site:
      www.sevcon.com/
      I have used their controller in my career and I have good feedback about it.

  • @priteshpawar9807
    @priteshpawar9807 3 роки тому

    @Foolish Engineer Can you one video on Programming view for I2C communication ?

  • @chethank8716
    @chethank8716 10 місяців тому

    small correction, 5. Bus top(not l)ology

  • @shreyatirpude8171
    @shreyatirpude8171 4 роки тому

    how i2c will work for changing sound volume in intelligent speakers.

    • @FoolishEngineer
      @FoolishEngineer  4 роки тому

      @Shreya
      Thanks for your question.
      Can you please elaborate more?
      What is your project and which speaker are you talking about? If you give us the link or name of such speaker we can help you further.
      Thanks

  • @pafvero4596
    @pafvero4596 Рік тому

    hi Foolish Engineer,
    since one year you don't answer the question:
    I have a question, in your example, you have a situation where two masters want to send information to two different slaves but what happens when two masters want to send information to the same slave which master gets priority? And why?.
    easily you can say that you don't know🤔

  • @sivakrishna6485
    @sivakrishna6485 3 роки тому

    Can protocol

  • @mtoufiq59
    @mtoufiq59 Рік тому

    Brother you can make Hindi language video