<?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>Kinetis MicrocontrollersのトピックRe: I2C Multimaster in FRDM-K64F with KDS and Processor Expert</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-Multimaster-in-FRDM-K64F-with-KDS-and-Processor-Expert/m-p/425404#M24508</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks! I am aware that there can be other reasons for an OnError call, and my software will deal with that. I just wonder if there is any way to make a test for bus arbitration loss. I am thinking on connecting the set input of a flip-flop to the SDA line (triggeting on trailing edge), with a push-button on reset line. Its output will be connected to an open-collector inverter, and its output to the SDa line. Thus, when my board lowers SDA, the flip-flop will lock this line on low, and my device will lose arbitration.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will let you know if that worked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks once more&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Antonio&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Fri, 24 Jul 2015 21:02:50 GMT</pubDate>
    <dc:creator>quevedo</dc:creator>
    <dc:date>2015-07-24T21:02:50Z</dc:date>
    <item>
      <title>I2C Multimaster in FRDM-K64F with KDS and Processor Expert</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-Multimaster-in-FRDM-K64F-with-KDS-and-Processor-Expert/m-p/425402#M24506</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I am working on a project for a FRDM-K64F board, using KDS 3.0 and Processor Expert (bare metal, no RTOS). I am using Processor Expert and added a Generic I2C component, that works on top of a I2C LDD component. I have enabled interrupts, and I have configured PE generic I2C to generate code for the OnError event. The peripheral is working on master/slave mode, since I want to place the board into a multimaster I2C bus.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have assembled a test jig, using a 24LC08 EEPROM IC, and a switch to put SDA line to GND. I can test if the bus is available reading the I2Cx_S register and checking the BUSY bit. However, I did not think of a way to test the simultaneous START signal from 2 masters, and to check arbitration loss. I also do not know if when one Kinetis I2C peripheral device loses arbitration, if it switches automatically to slave mode and if it responds as a slave when the ID sent by the other master matches the slave ID of the device that just lost arbitration.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I would like to know if someone has some example code working on the constraints presented above. &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks in advance.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Jul 2015 16:22:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-Multimaster-in-FRDM-K64F-with-KDS-and-Processor-Expert/m-p/425402#M24506</guid>
      <dc:creator>quevedo</dc:creator>
      <dc:date>2015-07-21T16:22:46Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Multimaster in FRDM-K64F with KDS and Processor Expert</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-Multimaster-in-FRDM-K64F-with-KDS-and-Processor-Expert/m-p/425403#M24507</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Antonio Quevedo:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I do not have example code to test this situation, but your assumption is correct, when the Kinetis I2C module loses arbitration it automatically switches to slave mode and should respond to a matching incoming address. This text is from K64 Reference Manual:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="K64_I2C.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/52199i5789125F14BA420E/image-size/large?v=v2&amp;amp;px=999" role="button" title="K64_I2C.png" alt="K64_I2C.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, be aware that arbitration lost is not the only cause for the &lt;STRONG&gt;OnError&lt;/STRONG&gt; event. You can find the error masks in &lt;STRONG&gt;PE_types.h&lt;/STRONG&gt;:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_3.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/52206i9466E1DE2EFD9016/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_3.png" alt="pastedImage_3.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards!,&lt;BR /&gt;Jorge Gonzalez&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;BR /&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;BR /&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 22 Jul 2015 23:15:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-Multimaster-in-FRDM-K64F-with-KDS-and-Processor-Expert/m-p/425403#M24507</guid>
      <dc:creator>Jorge_Gonzalez</dc:creator>
      <dc:date>2015-07-22T23:15:26Z</dc:date>
    </item>
    <item>
      <title>Re: I2C Multimaster in FRDM-K64F with KDS and Processor Expert</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-Multimaster-in-FRDM-K64F-with-KDS-and-Processor-Expert/m-p/425404#M24508</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks! I am aware that there can be other reasons for an OnError call, and my software will deal with that. I just wonder if there is any way to make a test for bus arbitration loss. I am thinking on connecting the set input of a flip-flop to the SDA line (triggeting on trailing edge), with a push-button on reset line. Its output will be connected to an open-collector inverter, and its output to the SDa line. Thus, when my board lowers SDA, the flip-flop will lock this line on low, and my device will lose arbitration.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I will let you know if that worked.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks once more&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Antonio&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 24 Jul 2015 21:02:50 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/I2C-Multimaster-in-FRDM-K64F-with-KDS-and-Processor-Expert/m-p/425404#M24508</guid>
      <dc:creator>quevedo</dc:creator>
      <dc:date>2015-07-24T21:02:50Z</dc:date>
    </item>
  </channel>
</rss>

