<?xml version="1.0" encoding="UTF-8"?>
<rss xmlns:content="http://purl.org/rss/1.0/modules/content/" xmlns:dc="http://purl.org/dc/elements/1.1/" xmlns:rdf="http://www.w3.org/1999/02/22-rdf-syntax-ns#" xmlns:taxo="http://purl.org/rss/1.0/modules/taxonomy/" version="2.0">
  <channel>
    <title>topic I2C with internal GPIO pull-up in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-with-internal-GPIO-pull-up/m-p/957956#M54959</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any way to use I2C KL03Z peripheral with the internal GPIOs pull-up for the SDA &amp;amp; SCL lines? If so, how can I do this?&lt;/P&gt;&lt;P&gt;I've forgot to put the external ones in my custom board... :~(&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;BR /&gt;gaston&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 06 Aug 2019 15:24:01 GMT</pubDate>
    <dc:creator>gschelotto</dc:creator>
    <dc:date>2019-08-06T15:24:01Z</dc:date>
    <item>
      <title>I2C with internal GPIO pull-up</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-with-internal-GPIO-pull-up/m-p/957956#M54959</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Is there any way to use I2C KL03Z peripheral with the internal GPIOs pull-up for the SDA &amp;amp; SCL lines? If so, how can I do this?&lt;/P&gt;&lt;P&gt;I've forgot to put the external ones in my custom board... :~(&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance,&lt;BR /&gt;gaston&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Aug 2019 15:24:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-with-internal-GPIO-pull-up/m-p/957956#M54959</guid>
      <dc:creator>gschelotto</dc:creator>
      <dc:date>2019-08-06T15:24:01Z</dc:date>
    </item>
    <item>
      <title>Re: I2C with internal GPIO pull-up</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-with-internal-GPIO-pull-up/m-p/957957#M54960</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;You have to check the data sheet of the KL03Z how strong the pull-ups are. Typically they will be in the 100kOhm range, so while it 'can work', I never would use that in a product as they are too weak. It is simply not reliable. Depending on the devices on your bus and the lines, typically you need something in the 4.7-10k range. See as well &lt;A class="link-titled" href="http://www.ti.com/lit/an/slva689/slva689.pdf" title="http://www.ti.com/lit/an/slva689/slva689.pdf"&gt;http://www.ti.com/lit/an/slva689/slva689.pdf&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this helps,&lt;/P&gt;&lt;P&gt;Erich&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Aug 2019 17:33:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-with-internal-GPIO-pull-up/m-p/957957#M54960</guid>
      <dc:creator>BlackNight</dc:creator>
      <dc:date>2019-08-06T17:33:58Z</dc:date>
    </item>
    <item>
      <title>Re: I2C with internal GPIO pull-up</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-with-internal-GPIO-pull-up/m-p/957958#M54961</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN class="" title=""&gt;As one colleague would say: It's not a mistake, it's just a Hardware optimization.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;SPAN class=""&gt;&lt;SPAN class=""&gt;You're right. I'd need external pull-up resistors in the 4k7-10k range, as usual...&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN class="" title=""&gt;However, I have planned to investigate a little more to see how far I can go.&lt;/SPAN&gt; &lt;SPAN title=""&gt;The fact is that I'm finally able to use the I2C bus successfully and reliably using the internal pull-up.&lt;/SPAN&gt; &lt;SPAN title=""&gt;Of course, under certain considerations I will explain below.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class=""&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/DIV&gt;&lt;OL&gt;&lt;LI&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;Internal pull-up strength of KL03Z. Luckily, for this device family, they fall in the range of 20k-50k&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="Selection_024.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/86537i4D71ED27F057A67A/image-size/large?v=v2&amp;amp;px=999" role="button" title="Selection_024.png" alt="Selection_024.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;Bus capacitance and rise time: &lt;SPAN class="" title=""&gt;In my application, it is a single master-slave I2C bus without branches and with a length of 2mm (the microprocessor and the slave are placed together).&lt;/SPAN&gt; &lt;SPAN class="" title=""&gt;Therefore I can have a very small capacity that I can estimate in about 4pF+ 8pF x 2 of devices pin capacitance (Cb total 20pF). For the maximum rise time of SDA/SCL lines, the I2C spec for the standard mode (100KHz) is tr_max = 1000ns. Then the max pull-up resistance is Rpu_max = tr_max / (Cb x 0.8473) = 59k&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;&lt;SPAN class="" title=""&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;&lt;SPAN class="" title=""&gt;Finally, I don't need to go at 100KHz. For my application 10kHz is enough. Here's some results of the bus lines.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;&lt;SPAN class="" title=""&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;&lt;SPAN class="" title=""&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;&lt;SPAN class="" title=""&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;&lt;SPAN class="" title=""&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;&lt;SPAN class="" title=""&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pic_420_1.gif"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/86839iE512C648080A3CF8/image-size/large?v=v2&amp;amp;px=999" role="button" title="pic_420_1.gif" alt="pic_420_1.gif" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;&lt;SPAN class="" title=""&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pic_420_2.gif"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/87062i8F6579292BC81676/image-size/large?v=v2&amp;amp;px=999" role="button" title="pic_420_2.gif" alt="pic_420_2.gif" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;&lt;SPAN class="" title=""&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;&lt;SPAN class="" title=""&gt;Thanks for the given hints!&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN title=""&gt;&lt;SPAN class="" title=""&gt;regards,&lt;BR /&gt;gaston&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;DIV class=""&gt;&lt;DIV class=""&gt;&lt;/DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Aug 2019 10:07:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-with-internal-GPIO-pull-up/m-p/957958#M54961</guid>
      <dc:creator>gschelotto</dc:creator>
      <dc:date>2019-08-07T10:07:25Z</dc:date>
    </item>
    <item>
      <title>Re: I2C with internal GPIO pull-up</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-with-internal-GPIO-pull-up/m-p/957959#M54962</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi &lt;SPAN class=""&gt;&lt;A _jive_internal="true" class="" data-content-finding="Community" data-userid="227142" data-username="gschelotto" href="https://community.nxp.com/people/gschelotto"&gt;Gaston Schelotto&lt;/A&gt;&lt;/SPAN&gt;,&lt;/P&gt;&lt;P&gt;&amp;nbsp; Please also note, PTB3 and PTB4 is the true open drain pins, if you are using these two pins, you must add the external pull up resistor.&lt;/P&gt;&lt;P&gt;&amp;nbsp;Even with the internal pull up, in the practical project, it's better to add the external pull up resistor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;Have a great day,&lt;BR /&gt;Kerry&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-------------------------------------------------------------------------------&lt;BR /&gt;Note:&lt;BR /&gt;- If this post answers your question, please click the "Mark Correct" button. Thank you!&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;- We are following threads for 7 weeks after the last post, later replies are ignored&lt;BR /&gt; Please open a new thread and refer to the closed one, if you have a related question at a later point in time.&lt;BR /&gt;-------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Aug 2019 10:27:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-with-internal-GPIO-pull-up/m-p/957959#M54962</guid>
      <dc:creator>kerryzhou</dc:creator>
      <dc:date>2019-08-07T10:27:24Z</dc:date>
    </item>
  </channel>
</rss>

