<?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: I2C bug hang up in MC9S08AW32 in 8-bit Microcontrollers</title>
    <link>https://community.nxp.com/t5/8-bit-Microcontrollers/I2C-bug-hang-up-in-MC9S08AW32/m-p/169705#M11264</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;Hi Peter,&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;Thanks for your response.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;One more thing I would like to know is, even if I correct my firmware to not to miss the ACK, there might be situations in the field where the I2C bus may hang up.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;What I read in many forums is that if we send 9 clock pulses followed by a stop signal on the I2C bus, it will unhang the bus.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;Since I am using the AW32 I2C module, I cannot use the pins directly to send 9 clocks.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;Is there any other way to unhang the bus?&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;Thanks and Regards&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;Vishu&lt;/FONT&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 06 Apr 2009 11:27:37 GMT</pubDate>
    <dc:creator>vishu</dc:creator>
    <dc:date>2009-04-06T11:27:37Z</dc:date>
    <item>
      <title>I2C bug hang up in MC9S08AW32</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/I2C-bug-hang-up-in-MC9S08AW32/m-p/169703#M11262</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms,geneva';"&gt;Hello,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms,geneva';"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms,geneva';"&gt;I am using I2C module in MC9S08AW32 to communicate with Freescale MMA7455L accelerometer. I am able to communicate with the accelerometer and read the values from it.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms,geneva';"&gt;But sometimes, I2C bus hangs up with SCL line high and SDA line low. After this state, I am not able to communicate with the accelerometer. Only when I cutoff the power to accelerometer for few seconds, it starts communicating again. How is that I can reset the I2C bus without resetting the whole board.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms,geneva';"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms,geneva';"&gt;regards&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: 'trebuchet ms,geneva';"&gt;Vishu&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 05 Apr 2009 13:25:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/I2C-bug-hang-up-in-MC9S08AW32/m-p/169703#M11262</guid>
      <dc:creator>vishu</dc:creator>
      <dc:date>2009-04-05T13:25:59Z</dc:date>
    </item>
    <item>
      <title>Re: I2C bug hang up in MC9S08AW32</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/I2C-bug-hang-up-in-MC9S08AW32/m-p/169704#M11263</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Vishu,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I believe you will find this is a missed ACK of some type.&amp;nbsp; I had a very similar problem a couple of years ago using a GP32 and ended up bit banging the interface so I could detect the problem and correct it in firmware since the module in the GP32 would just hang with no possible recovery except a power cycle.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You can probably catch this on a scope if you trigger on the rising edge of the SDA line and inspect the events after the final trigger up until the data stops.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Good Luck,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Peter House&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Apr 2009 08:11:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/I2C-bug-hang-up-in-MC9S08AW32/m-p/169704#M11263</guid>
      <dc:creator>PeterHouse</dc:creator>
      <dc:date>2009-04-06T08:11:55Z</dc:date>
    </item>
    <item>
      <title>Re: I2C bug hang up in MC9S08AW32</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/I2C-bug-hang-up-in-MC9S08AW32/m-p/169705#M11264</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;Hi Peter,&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;Thanks for your response.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;One more thing I would like to know is, even if I correct my firmware to not to miss the ACK, there might be situations in the field where the I2C bus may hang up.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;What I read in many forums is that if we send 9 clock pulses followed by a stop signal on the I2C bus, it will unhang the bus.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;Since I am using the AW32 I2C module, I cannot use the pins directly to send 9 clocks.&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;Is there any other way to unhang the bus?&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;Thanks and Regards&lt;/FONT&gt;&lt;/P&gt;&lt;P&gt;&lt;FONT face="trebuchet ms,geneva"&gt;Vishu&lt;/FONT&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Apr 2009 11:27:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/I2C-bug-hang-up-in-MC9S08AW32/m-p/169705#M11264</guid>
      <dc:creator>vishu</dc:creator>
      <dc:date>2009-04-06T11:27:37Z</dc:date>
    </item>
    <item>
      <title>Re: I2C bug hang up in MC9S08AW32</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/I2C-bug-hang-up-in-MC9S08AW32/m-p/169706#M11265</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Vishnu,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I could not get it to work on the GP32 and had to resort to replacing the module with my own code so I could clear the bus.&amp;nbsp; It is not very difficult and does not take a lot of CPU time to run.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I did spend a lot of time sending scope shots and such to Freescale only to have them blame the issue on the i2c chip or my code.&amp;nbsp; Funny, when I replaced their module it worked and is still working flawlessly!&amp;nbsp; I use a lot of Freescale CPUs and this module is the only one which has ever given me this much trouble.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Peter&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 06 Apr 2009 22:00:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/I2C-bug-hang-up-in-MC9S08AW32/m-p/169706#M11265</guid>
      <dc:creator>PeterHouse</dc:creator>
      <dc:date>2009-04-06T22:00:51Z</dc:date>
    </item>
    <item>
      <title>Re: I2C bug hang up in MC9S08AW32</title>
      <link>https://community.nxp.com/t5/8-bit-Microcontrollers/I2C-bug-hang-up-in-MC9S08AW32/m-p/169707#M11266</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Vishu,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Had a similar problem in the past with an IIC master on the QG4/8.&amp;nbsp; Turned out I was not polling the BUSY flag at the start of a transmission, and sometimes on back-to-back transmissions the new one would start before the signalling of the stop condition of the previous one was done(in software, we clear MST to signal a stop but don't poll until it's done).&amp;nbsp; This would cause the master to hang on the subsequent transmission.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;While I'm not sure of the IIC module on the AW32, I suspect its similar.&amp;nbsp; Before each IIC access, try to poll the BUSY flag until it's clear before sending a start condition.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Apr 2009 07:35:16 GMT</pubDate>
      <guid>https://community.nxp.com/t5/8-bit-Microcontrollers/I2C-bug-hang-up-in-MC9S08AW32/m-p/169707#M11266</guid>
      <dc:creator>Summerville</dc:creator>
      <dc:date>2009-04-15T07:35:16Z</dc:date>
    </item>
  </channel>
</rss>

