<?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 Re: MC56F8023 I2C does not meet timing in CodeWarrior for MCU</title>
    <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/MC56F8023-I2C-does-not-meet-timing/m-p/493653#M12639</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Hi J Nguyen,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;You can set-up the internal clocks of the I2C module - it is derived from SystemBusClock. This set-up shows you the communication speed on the I2C line. The SDA pin is controlled by the internal I2C module and all timing depends on the I2C internal clock. The internal hardware maintains the proper functionality of the both SCL and SDA pins during communication.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;First of all it must be set the values in the SSLCNT and SSHCNT registers. Then the first step in the communication is to change the the MSTEN bit to 1 (the SLVDIS must be =1), then write data into I2C data register. The hold time is automatically set to right value. The SDA line can be changed only while the SCL = 0. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;The duty cycle of the SDA line is not a matter. It depends on the set communication speed and I2C line electrical properties. Also it depends on the I2C slave properties. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Best Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Stano.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 11 Feb 2016 12:46:47 GMT</pubDate>
    <dc:creator>Stano</dc:creator>
    <dc:date>2016-02-11T12:46:47Z</dc:date>
    <item>
      <title>MC56F8023 I2C does not meet timing</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/MC56F8023-I2C-does-not-meet-timing/m-p/493650#M12636</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tried to contact NXP support for this issue, but they are dreadfully slow at replying.&amp;nbsp; I hope you guys are better!&amp;nbsp; &lt;SPAN aria-label="Happy" class="emoticon_happy emoticon-inline" style="height:16px;width:16px;"&gt;&lt;/SPAN&gt; &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;We are having issues with the MC56F8023 doing I2C.&amp;nbsp; It looks like the SDA is falling at the same time as SCL, resulting in a negative hold time.&amp;nbsp; Section 10.12 of the spec says that the hold time (tHD; DAT) is at least 0.&amp;nbsp; If SDA and SCL fall at the same time, that is impossible to be 0 because Figure 10-14 shows that tHD; DAT is defined when SCL is at VIL and SDA is at VIH.&amp;nbsp; We have looked at the waveforms using an oscilloscope and it shows a negative hold time.&amp;nbsp; In addition, we've connected the pins to an I2C analyzer and it also affirms that the hold time is negative and it is incorrectly reading data because of this. &lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I tend to believe that we have something set wrong in CodeWarrior, as I find it hard to believe that NXP/Freescale would so obviously miss something like this and release this chip with a huge flaw.&amp;nbsp; Where can I set the hold time in CodeWarrior or what are we doing wrong?&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 05 Feb 2016 18:41:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/MC56F8023-I2C-does-not-meet-timing/m-p/493650#M12636</guid>
      <dc:creator>jnguyen</dc:creator>
      <dc:date>2016-02-05T18:41:55Z</dc:date>
    </item>
    <item>
      <title>Re: MC56F8023 I2C does not meet timing</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/MC56F8023-I2C-does-not-meet-timing/m-p/493651#M12637</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi J Nguyen,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;the simplest way to properly set the internal peripherals in the 56F8023 DSC is to use the QuickStart v.2.63 tool. You can reach it on web:&lt;/P&gt;&lt;P&gt;&lt;A href="https://www.nxp.com/webapp/Download?colCode=DSC56800EXQUICKSTARTSW&amp;amp;appType=license&amp;amp;location=null&amp;amp;Parent_nodeId=1174298861874711459669&amp;amp;Parent_pageType=product" title="https://www.nxp.com/webapp/Download?colCode=DSC56800EXQUICKSTARTSW&amp;amp;appType=license&amp;amp;location=null&amp;amp;Parent_nodeId=1174298861874711459669&amp;amp;Parent_pageType=product"&gt;https://www.nxp.com/webapp/Download?colCode=DSC56800EXQUICKSTARTSW&amp;amp;appType=license&amp;amp;location=null&amp;amp;Parent_nodeId=117429886…&lt;/A&gt; &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Here is the window from this tool:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/60411iE65CF8C75EDC3CF3/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;You can simply set all peripherals and the output is in "appconfig.h" file:&lt;/P&gt;&lt;P&gt;Example for I2C:&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/*.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; IIC Configuration&lt;/P&gt;&lt;P&gt;--------------------------------------------&lt;/P&gt;&lt;P&gt;.*/&lt;/P&gt;&lt;P&gt;#define IIC_ENBL_INIT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0001U&lt;/P&gt;&lt;P&gt;#define IIC_CTRL_INIT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0063U&lt;/P&gt;&lt;P&gt;#define IIC_SAR_INIT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0055U&lt;/P&gt;&lt;P&gt;#define IIC_RXFT_INIT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000U&lt;/P&gt;&lt;P&gt;#define IIC_TXFT_INIT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0000U&lt;/P&gt;&lt;P&gt;#define IIC_SSHCNT_INIT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x009BU&lt;/P&gt;&lt;P&gt;#define IIC_SSLCNT_INIT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x009CU&lt;/P&gt;&lt;P&gt;#define IIC_FSHCNT_INIT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0023U&lt;/P&gt;&lt;P&gt;#define IIC_FSLCNT_INIT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x0024U&lt;/P&gt;&lt;P&gt;#define IIC_IENBL_INIT&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x08FFU&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Stano.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 08 Feb 2016 12:33:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/MC56F8023-I2C-does-not-meet-timing/m-p/493651#M12637</guid>
      <dc:creator>Stano</dc:creator>
      <dc:date>2016-02-08T12:33:21Z</dc:date>
    </item>
    <item>
      <title>Re: MC56F8023 I2C does not meet timing</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/MC56F8023-I2C-does-not-meet-timing/m-p/493652#M12638</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Stano,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you so much for the reply!&amp;nbsp; I am not sure I understand fully.&amp;nbsp; There is no direct line showing hold time.&amp;nbsp; Are you saying that if I adjust the SCL high/low time that the SDA high/low time does not change?&amp;nbsp; I guess I'm asking if the SDA remains at 50% duty cycle even as the SCL high/low times change?&amp;nbsp; Otherwise, I don't see how to adjust the hold times in this window.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 10 Feb 2016 18:11:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/MC56F8023-I2C-does-not-meet-timing/m-p/493652#M12638</guid>
      <dc:creator>jnguyen</dc:creator>
      <dc:date>2016-02-10T18:11:05Z</dc:date>
    </item>
    <item>
      <title>Re: MC56F8023 I2C does not meet timing</title>
      <link>https://community.nxp.com/t5/CodeWarrior-for-MCU/MC56F8023-I2C-does-not-meet-timing/m-p/493653#M12639</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Hi J Nguyen,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;You can set-up the internal clocks of the I2C module - it is derived from SystemBusClock. This set-up shows you the communication speed on the I2C line. The SDA pin is controlled by the internal I2C module and all timing depends on the I2C internal clock. The internal hardware maintains the proper functionality of the both SCL and SDA pins during communication.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;First of all it must be set the values in the SSLCNT and SSHCNT registers. Then the first step in the communication is to change the the MSTEN bit to 1 (the SLVDIS must be =1), then write data into I2C data register. The hold time is automatically set to right value. The SDA line can be changed only while the SCL = 0. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;The duty cycle of the SDA line is not a matter. It depends on the set communication speed and I2C line electrical properties. Also it depends on the I2C slave properties. &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Best Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Stano.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 11 Feb 2016 12:46:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/CodeWarrior-for-MCU/MC56F8023-I2C-does-not-meet-timing/m-p/493653#M12639</guid>
      <dc:creator>Stano</dc:creator>
      <dc:date>2016-02-11T12:46:47Z</dc:date>
    </item>
  </channel>
</rss>

