relationship between I2C drawn energy / power consumption and data rate

The name of the pictureThe name of the pictureThe name of the pictureClash Royale CLAN TAG#URR8PPP











up vote
1
down vote

favorite












Referring to just what the I2C lines draw, am I wrong thinking that the higher the clock frequency the shorter the time there will be (the same amount of) current flowing through the pullups and thus lower power consumed?




side qeustion



I don't think I am going to reach 100 kHz, that's way over the limit of my hardware. I am alternating between about 32 and 4 kHz. Will the same resistor value (3.3k @ 3V) be good for both ?










share|improve this question



























    up vote
    1
    down vote

    favorite












    Referring to just what the I2C lines draw, am I wrong thinking that the higher the clock frequency the shorter the time there will be (the same amount of) current flowing through the pullups and thus lower power consumed?




    side qeustion



    I don't think I am going to reach 100 kHz, that's way over the limit of my hardware. I am alternating between about 32 and 4 kHz. Will the same resistor value (3.3k @ 3V) be good for both ?










    share|improve this question

























      up vote
      1
      down vote

      favorite









      up vote
      1
      down vote

      favorite











      Referring to just what the I2C lines draw, am I wrong thinking that the higher the clock frequency the shorter the time there will be (the same amount of) current flowing through the pullups and thus lower power consumed?




      side qeustion



      I don't think I am going to reach 100 kHz, that's way over the limit of my hardware. I am alternating between about 32 and 4 kHz. Will the same resistor value (3.3k @ 3V) be good for both ?










      share|improve this question















      Referring to just what the I2C lines draw, am I wrong thinking that the higher the clock frequency the shorter the time there will be (the same amount of) current flowing through the pullups and thus lower power consumed?




      side qeustion



      I don't think I am going to reach 100 kHz, that's way over the limit of my hardware. I am alternating between about 32 and 4 kHz. Will the same resistor value (3.3k @ 3V) be good for both ?







      i2c frequency energy power-consumption clock-speed






      share|improve this question















      share|improve this question













      share|improve this question




      share|improve this question








      edited 31 mins ago

























      asked 1 hour ago









      kellogs

      29817




      29817




















          4 Answers
          4






          active

          oldest

          votes

















          up vote
          4
          down vote













          Your thinking is correct, as long as you can achieve a higher speed with the same pull up resistors.






          share|improve this answer




















          • How about my side question ?
            – kellogs
            30 mins ago






          • 1




            @kellogs cannot answer that as I have no idea what your lines capacitance is. So I can only tell you that we are running 100 kHz with 100 kOhm resistors in one of our products with no problems. I would guess that you are fine.
            – Arsenal
            21 mins ago










          • any way to guesstimate it ?
            – kellogs
            14 mins ago






          • 1




            @kellogs well, 10 pF for any pin connected to the bus, 50 pF per meter for the length of the line would be a conservative guess I think. If your I²C bus is on a single PCB I have a hard time to imagine why it wouldn't work with 3k3 pull up resistors.
            – Arsenal
            9 mins ago

















          up vote
          4
          down vote













          The I2C data and clock lines draw power when they get pulled low. Because then power is sunk through the pull-up resistors.



          While a line is pulled low it will draw 5V/4.7k$~Omega approx$ 1mA. Assuming 5V VCC and 4.7k pullup resistors.



          The clock line will have a 50% duty cycle. The data line is low at least 1 out of every 9 clock cycles (every ack for a successful byte) but you are rarely going to send/receive only 0xff bytes. It's more likely going to be pulled low 75% of the time.



          But indeed faster clock means shorter transmission which means less power lost through the pull-ups. However faster transmission may require lower value resistors to overcome the parasitic capacitance between the lines and ground.






          share|improve this answer




















          • It also takes energy to charge and discharge the parasitic capacitance. I think another factor that affects power consumption is active time percentage of the bus.
            – Long Pham
            42 mins ago










          • How about my side question ?
            – kellogs
            30 mins ago










          • The power drawn charging and discharging the capacitance would (assuming you do not change the circuit and that your clock is slow enough for this happen to effective completion) be determined by the number of clock cycles but not by the clock rate.
            – Chris Stratton
            11 mins ago

















          up vote
          1
          down vote













          Higher clock frequency usually require lower pull-up value, thus increasing the current.



          Increasing the clock frequency from 100kHz to 400kHz usually requires the pull-up to be reduced with a factor of 4-5.



          Since the power is inverse proportional to the resistance the power consumed will be almost the same.






          share|improve this answer




















          • How about my side question ?
            – kellogs
            30 mins ago

















          up vote
          1
          down vote













          As @ratchet-freak stated, In terms of time, you could have 75% of the time the bus pulled-down, hence, if you increase the clock rate, your consumption by the bus will decrease as long as you have the same value for pull-up resistors. But, at higher speeds, resistor values should be reduced.



          Having this, the consumption of the bus will be lower, but slaves and masters devices could increase their consumption depending on the clock rate.



          Regarding your side question, if 3.3kohms suits both 4khz and 32khz, you have to check the capacitance of your bus. This capacitance depends on the length of the bus, the distance between lines and the number of devices attached to it. It could be difficult to calculate the real capacitance, but you can check the waveform of your data in the bus at both frequencies and see if there is any distortion of the signal at 32khz using 3.3k.






          share|improve this answer






















          • How about my side question ?
            – kellogs
            30 mins ago










          Your Answer





          StackExchange.ifUsing("editor", function ()
          return StackExchange.using("mathjaxEditing", function ()
          StackExchange.MarkdownEditor.creationCallbacks.add(function (editor, postfix)
          StackExchange.mathjaxEditing.prepareWmdForMathJax(editor, postfix, [["\$", "\$"]]);
          );
          );
          , "mathjax-editing");

          StackExchange.ifUsing("editor", function ()
          return StackExchange.using("schematics", function ()
          StackExchange.schematics.init();
          );
          , "cicuitlab");

          StackExchange.ready(function()
          var channelOptions =
          tags: "".split(" "),
          id: "135"
          ;
          initTagRenderer("".split(" "), "".split(" "), channelOptions);

          StackExchange.using("externalEditor", function()
          // Have to fire editor after snippets, if snippets enabled
          if (StackExchange.settings.snippets.snippetsEnabled)
          StackExchange.using("snippets", function()
          createEditor();
          );

          else
          createEditor();

          );

          function createEditor()
          StackExchange.prepareEditor(
          heartbeatType: 'answer',
          convertImagesToLinks: false,
          noModals: true,
          showLowRepImageUploadWarning: true,
          reputationToPostImages: null,
          bindNavPrevention: true,
          postfix: "",
          imageUploader:
          brandingHtml: "Powered by u003ca class="icon-imgur-white" href="https://imgur.com/"u003eu003c/au003e",
          contentPolicyHtml: "User contributions licensed under u003ca href="https://creativecommons.org/licenses/by-sa/3.0/"u003ecc by-sa 3.0 with attribution requiredu003c/au003e u003ca href="https://stackoverflow.com/legal/content-policy"u003e(content policy)u003c/au003e",
          allowUrls: true
          ,
          onDemand: true,
          discardSelector: ".discard-answer"
          ,immediatelyShowMarkdownHelp:true
          );



          );













           

          draft saved


          draft discarded


















          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f405888%2frelationship-between-i2c-drawn-energy-power-consumption-and-data-rate%23new-answer', 'question_page');

          );

          Post as a guest






























          4 Answers
          4






          active

          oldest

          votes








          4 Answers
          4






          active

          oldest

          votes









          active

          oldest

          votes






          active

          oldest

          votes








          up vote
          4
          down vote













          Your thinking is correct, as long as you can achieve a higher speed with the same pull up resistors.






          share|improve this answer




















          • How about my side question ?
            – kellogs
            30 mins ago






          • 1




            @kellogs cannot answer that as I have no idea what your lines capacitance is. So I can only tell you that we are running 100 kHz with 100 kOhm resistors in one of our products with no problems. I would guess that you are fine.
            – Arsenal
            21 mins ago










          • any way to guesstimate it ?
            – kellogs
            14 mins ago






          • 1




            @kellogs well, 10 pF for any pin connected to the bus, 50 pF per meter for the length of the line would be a conservative guess I think. If your I²C bus is on a single PCB I have a hard time to imagine why it wouldn't work with 3k3 pull up resistors.
            – Arsenal
            9 mins ago














          up vote
          4
          down vote













          Your thinking is correct, as long as you can achieve a higher speed with the same pull up resistors.






          share|improve this answer




















          • How about my side question ?
            – kellogs
            30 mins ago






          • 1




            @kellogs cannot answer that as I have no idea what your lines capacitance is. So I can only tell you that we are running 100 kHz with 100 kOhm resistors in one of our products with no problems. I would guess that you are fine.
            – Arsenal
            21 mins ago










          • any way to guesstimate it ?
            – kellogs
            14 mins ago






          • 1




            @kellogs well, 10 pF for any pin connected to the bus, 50 pF per meter for the length of the line would be a conservative guess I think. If your I²C bus is on a single PCB I have a hard time to imagine why it wouldn't work with 3k3 pull up resistors.
            – Arsenal
            9 mins ago












          up vote
          4
          down vote










          up vote
          4
          down vote









          Your thinking is correct, as long as you can achieve a higher speed with the same pull up resistors.






          share|improve this answer












          Your thinking is correct, as long as you can achieve a higher speed with the same pull up resistors.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 48 mins ago









          Arsenal

          12k11240




          12k11240











          • How about my side question ?
            – kellogs
            30 mins ago






          • 1




            @kellogs cannot answer that as I have no idea what your lines capacitance is. So I can only tell you that we are running 100 kHz with 100 kOhm resistors in one of our products with no problems. I would guess that you are fine.
            – Arsenal
            21 mins ago










          • any way to guesstimate it ?
            – kellogs
            14 mins ago






          • 1




            @kellogs well, 10 pF for any pin connected to the bus, 50 pF per meter for the length of the line would be a conservative guess I think. If your I²C bus is on a single PCB I have a hard time to imagine why it wouldn't work with 3k3 pull up resistors.
            – Arsenal
            9 mins ago
















          • How about my side question ?
            – kellogs
            30 mins ago






          • 1




            @kellogs cannot answer that as I have no idea what your lines capacitance is. So I can only tell you that we are running 100 kHz with 100 kOhm resistors in one of our products with no problems. I would guess that you are fine.
            – Arsenal
            21 mins ago










          • any way to guesstimate it ?
            – kellogs
            14 mins ago






          • 1




            @kellogs well, 10 pF for any pin connected to the bus, 50 pF per meter for the length of the line would be a conservative guess I think. If your I²C bus is on a single PCB I have a hard time to imagine why it wouldn't work with 3k3 pull up resistors.
            – Arsenal
            9 mins ago















          How about my side question ?
          – kellogs
          30 mins ago




          How about my side question ?
          – kellogs
          30 mins ago




          1




          1




          @kellogs cannot answer that as I have no idea what your lines capacitance is. So I can only tell you that we are running 100 kHz with 100 kOhm resistors in one of our products with no problems. I would guess that you are fine.
          – Arsenal
          21 mins ago




          @kellogs cannot answer that as I have no idea what your lines capacitance is. So I can only tell you that we are running 100 kHz with 100 kOhm resistors in one of our products with no problems. I would guess that you are fine.
          – Arsenal
          21 mins ago












          any way to guesstimate it ?
          – kellogs
          14 mins ago




          any way to guesstimate it ?
          – kellogs
          14 mins ago




          1




          1




          @kellogs well, 10 pF for any pin connected to the bus, 50 pF per meter for the length of the line would be a conservative guess I think. If your I²C bus is on a single PCB I have a hard time to imagine why it wouldn't work with 3k3 pull up resistors.
          – Arsenal
          9 mins ago




          @kellogs well, 10 pF for any pin connected to the bus, 50 pF per meter for the length of the line would be a conservative guess I think. If your I²C bus is on a single PCB I have a hard time to imagine why it wouldn't work with 3k3 pull up resistors.
          – Arsenal
          9 mins ago












          up vote
          4
          down vote













          The I2C data and clock lines draw power when they get pulled low. Because then power is sunk through the pull-up resistors.



          While a line is pulled low it will draw 5V/4.7k$~Omega approx$ 1mA. Assuming 5V VCC and 4.7k pullup resistors.



          The clock line will have a 50% duty cycle. The data line is low at least 1 out of every 9 clock cycles (every ack for a successful byte) but you are rarely going to send/receive only 0xff bytes. It's more likely going to be pulled low 75% of the time.



          But indeed faster clock means shorter transmission which means less power lost through the pull-ups. However faster transmission may require lower value resistors to overcome the parasitic capacitance between the lines and ground.






          share|improve this answer




















          • It also takes energy to charge and discharge the parasitic capacitance. I think another factor that affects power consumption is active time percentage of the bus.
            – Long Pham
            42 mins ago










          • How about my side question ?
            – kellogs
            30 mins ago










          • The power drawn charging and discharging the capacitance would (assuming you do not change the circuit and that your clock is slow enough for this happen to effective completion) be determined by the number of clock cycles but not by the clock rate.
            – Chris Stratton
            11 mins ago














          up vote
          4
          down vote













          The I2C data and clock lines draw power when they get pulled low. Because then power is sunk through the pull-up resistors.



          While a line is pulled low it will draw 5V/4.7k$~Omega approx$ 1mA. Assuming 5V VCC and 4.7k pullup resistors.



          The clock line will have a 50% duty cycle. The data line is low at least 1 out of every 9 clock cycles (every ack for a successful byte) but you are rarely going to send/receive only 0xff bytes. It's more likely going to be pulled low 75% of the time.



          But indeed faster clock means shorter transmission which means less power lost through the pull-ups. However faster transmission may require lower value resistors to overcome the parasitic capacitance between the lines and ground.






          share|improve this answer




















          • It also takes energy to charge and discharge the parasitic capacitance. I think another factor that affects power consumption is active time percentage of the bus.
            – Long Pham
            42 mins ago










          • How about my side question ?
            – kellogs
            30 mins ago










          • The power drawn charging and discharging the capacitance would (assuming you do not change the circuit and that your clock is slow enough for this happen to effective completion) be determined by the number of clock cycles but not by the clock rate.
            – Chris Stratton
            11 mins ago












          up vote
          4
          down vote










          up vote
          4
          down vote









          The I2C data and clock lines draw power when they get pulled low. Because then power is sunk through the pull-up resistors.



          While a line is pulled low it will draw 5V/4.7k$~Omega approx$ 1mA. Assuming 5V VCC and 4.7k pullup resistors.



          The clock line will have a 50% duty cycle. The data line is low at least 1 out of every 9 clock cycles (every ack for a successful byte) but you are rarely going to send/receive only 0xff bytes. It's more likely going to be pulled low 75% of the time.



          But indeed faster clock means shorter transmission which means less power lost through the pull-ups. However faster transmission may require lower value resistors to overcome the parasitic capacitance between the lines and ground.






          share|improve this answer












          The I2C data and clock lines draw power when they get pulled low. Because then power is sunk through the pull-up resistors.



          While a line is pulled low it will draw 5V/4.7k$~Omega approx$ 1mA. Assuming 5V VCC and 4.7k pullup resistors.



          The clock line will have a 50% duty cycle. The data line is low at least 1 out of every 9 clock cycles (every ack for a successful byte) but you are rarely going to send/receive only 0xff bytes. It's more likely going to be pulled low 75% of the time.



          But indeed faster clock means shorter transmission which means less power lost through the pull-ups. However faster transmission may require lower value resistors to overcome the parasitic capacitance between the lines and ground.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 47 mins ago









          ratchet freak

          2,5001011




          2,5001011











          • It also takes energy to charge and discharge the parasitic capacitance. I think another factor that affects power consumption is active time percentage of the bus.
            – Long Pham
            42 mins ago










          • How about my side question ?
            – kellogs
            30 mins ago










          • The power drawn charging and discharging the capacitance would (assuming you do not change the circuit and that your clock is slow enough for this happen to effective completion) be determined by the number of clock cycles but not by the clock rate.
            – Chris Stratton
            11 mins ago
















          • It also takes energy to charge and discharge the parasitic capacitance. I think another factor that affects power consumption is active time percentage of the bus.
            – Long Pham
            42 mins ago










          • How about my side question ?
            – kellogs
            30 mins ago










          • The power drawn charging and discharging the capacitance would (assuming you do not change the circuit and that your clock is slow enough for this happen to effective completion) be determined by the number of clock cycles but not by the clock rate.
            – Chris Stratton
            11 mins ago















          It also takes energy to charge and discharge the parasitic capacitance. I think another factor that affects power consumption is active time percentage of the bus.
          – Long Pham
          42 mins ago




          It also takes energy to charge and discharge the parasitic capacitance. I think another factor that affects power consumption is active time percentage of the bus.
          – Long Pham
          42 mins ago












          How about my side question ?
          – kellogs
          30 mins ago




          How about my side question ?
          – kellogs
          30 mins ago












          The power drawn charging and discharging the capacitance would (assuming you do not change the circuit and that your clock is slow enough for this happen to effective completion) be determined by the number of clock cycles but not by the clock rate.
          – Chris Stratton
          11 mins ago




          The power drawn charging and discharging the capacitance would (assuming you do not change the circuit and that your clock is slow enough for this happen to effective completion) be determined by the number of clock cycles but not by the clock rate.
          – Chris Stratton
          11 mins ago










          up vote
          1
          down vote













          Higher clock frequency usually require lower pull-up value, thus increasing the current.



          Increasing the clock frequency from 100kHz to 400kHz usually requires the pull-up to be reduced with a factor of 4-5.



          Since the power is inverse proportional to the resistance the power consumed will be almost the same.






          share|improve this answer




















          • How about my side question ?
            – kellogs
            30 mins ago














          up vote
          1
          down vote













          Higher clock frequency usually require lower pull-up value, thus increasing the current.



          Increasing the clock frequency from 100kHz to 400kHz usually requires the pull-up to be reduced with a factor of 4-5.



          Since the power is inverse proportional to the resistance the power consumed will be almost the same.






          share|improve this answer




















          • How about my side question ?
            – kellogs
            30 mins ago












          up vote
          1
          down vote










          up vote
          1
          down vote









          Higher clock frequency usually require lower pull-up value, thus increasing the current.



          Increasing the clock frequency from 100kHz to 400kHz usually requires the pull-up to be reduced with a factor of 4-5.



          Since the power is inverse proportional to the resistance the power consumed will be almost the same.






          share|improve this answer












          Higher clock frequency usually require lower pull-up value, thus increasing the current.



          Increasing the clock frequency from 100kHz to 400kHz usually requires the pull-up to be reduced with a factor of 4-5.



          Since the power is inverse proportional to the resistance the power consumed will be almost the same.







          share|improve this answer












          share|improve this answer



          share|improve this answer










          answered 35 mins ago









          Peter Karlsen

          44128




          44128











          • How about my side question ?
            – kellogs
            30 mins ago
















          • How about my side question ?
            – kellogs
            30 mins ago















          How about my side question ?
          – kellogs
          30 mins ago




          How about my side question ?
          – kellogs
          30 mins ago










          up vote
          1
          down vote













          As @ratchet-freak stated, In terms of time, you could have 75% of the time the bus pulled-down, hence, if you increase the clock rate, your consumption by the bus will decrease as long as you have the same value for pull-up resistors. But, at higher speeds, resistor values should be reduced.



          Having this, the consumption of the bus will be lower, but slaves and masters devices could increase their consumption depending on the clock rate.



          Regarding your side question, if 3.3kohms suits both 4khz and 32khz, you have to check the capacitance of your bus. This capacitance depends on the length of the bus, the distance between lines and the number of devices attached to it. It could be difficult to calculate the real capacitance, but you can check the waveform of your data in the bus at both frequencies and see if there is any distortion of the signal at 32khz using 3.3k.






          share|improve this answer






















          • How about my side question ?
            – kellogs
            30 mins ago














          up vote
          1
          down vote













          As @ratchet-freak stated, In terms of time, you could have 75% of the time the bus pulled-down, hence, if you increase the clock rate, your consumption by the bus will decrease as long as you have the same value for pull-up resistors. But, at higher speeds, resistor values should be reduced.



          Having this, the consumption of the bus will be lower, but slaves and masters devices could increase their consumption depending on the clock rate.



          Regarding your side question, if 3.3kohms suits both 4khz and 32khz, you have to check the capacitance of your bus. This capacitance depends on the length of the bus, the distance between lines and the number of devices attached to it. It could be difficult to calculate the real capacitance, but you can check the waveform of your data in the bus at both frequencies and see if there is any distortion of the signal at 32khz using 3.3k.






          share|improve this answer






















          • How about my side question ?
            – kellogs
            30 mins ago












          up vote
          1
          down vote










          up vote
          1
          down vote









          As @ratchet-freak stated, In terms of time, you could have 75% of the time the bus pulled-down, hence, if you increase the clock rate, your consumption by the bus will decrease as long as you have the same value for pull-up resistors. But, at higher speeds, resistor values should be reduced.



          Having this, the consumption of the bus will be lower, but slaves and masters devices could increase their consumption depending on the clock rate.



          Regarding your side question, if 3.3kohms suits both 4khz and 32khz, you have to check the capacitance of your bus. This capacitance depends on the length of the bus, the distance between lines and the number of devices attached to it. It could be difficult to calculate the real capacitance, but you can check the waveform of your data in the bus at both frequencies and see if there is any distortion of the signal at 32khz using 3.3k.






          share|improve this answer














          As @ratchet-freak stated, In terms of time, you could have 75% of the time the bus pulled-down, hence, if you increase the clock rate, your consumption by the bus will decrease as long as you have the same value for pull-up resistors. But, at higher speeds, resistor values should be reduced.



          Having this, the consumption of the bus will be lower, but slaves and masters devices could increase their consumption depending on the clock rate.



          Regarding your side question, if 3.3kohms suits both 4khz and 32khz, you have to check the capacitance of your bus. This capacitance depends on the length of the bus, the distance between lines and the number of devices attached to it. It could be difficult to calculate the real capacitance, but you can check the waveform of your data in the bus at both frequencies and see if there is any distortion of the signal at 32khz using 3.3k.







          share|improve this answer














          share|improve this answer



          share|improve this answer








          edited 21 mins ago

























          answered 38 mins ago









          gustavovelascoh

          1756




          1756











          • How about my side question ?
            – kellogs
            30 mins ago
















          • How about my side question ?
            – kellogs
            30 mins ago















          How about my side question ?
          – kellogs
          30 mins ago




          How about my side question ?
          – kellogs
          30 mins ago

















           

          draft saved


          draft discarded















































           


          draft saved


          draft discarded














          StackExchange.ready(
          function ()
          StackExchange.openid.initPostLogin('.new-post-login', 'https%3a%2f%2felectronics.stackexchange.com%2fquestions%2f405888%2frelationship-between-i2c-drawn-energy-power-consumption-and-data-rate%23new-answer', 'question_page');

          );

          Post as a guest













































































          Comments

          Popular posts from this blog

          What does second last employer means? [closed]

          List of Gilmore Girls characters

          Confectionery