<?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>ColdFire/68K Microcontrollers and Processors中的主题 Re: PLL error with a bad Reset</title>
    <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/PLL-error-with-a-bad-Reset/m-p/174887#M6723</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;static void mcf5223x_pll_init(void) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//MCF_CLOCK_CCHR = 0x05; // The PLL pre divider -&amp;gt; 25MHz / 5 = 5MHz &lt;B&gt;(This is wrong)&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* The PLL pre-divider affects this!!!&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; * Multiply 25Mhz reference crystal /CCHR by 12 to acheive system clock of 60Mhz&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;MCF_CLOCK_SYNCR = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//|MCF_CLOCK_SYNCR_LOLRE&amp;nbsp;&amp;nbsp; &amp;nbsp;// No reset on Loss Of Lock&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| MCF_CLOCK_SYNCR_MFD(4)&amp;nbsp;&amp;nbsp; &amp;nbsp;// CLK * 12&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| MCF_CLOCK_SYNCR_RFD(0)&amp;nbsp;&amp;nbsp; &amp;nbsp;// CLK / 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//| MCF_CLOCK_SYNCR_LOCRE&amp;nbsp;&amp;nbsp; &amp;nbsp;// No reset on Loss Of Clock&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//| MCF_CLOCK_SYNCR_LOCEN&amp;nbsp;&amp;nbsp; &amp;nbsp;// Loss Of Clock Disabled&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//| MCF_CLOCK_SYNCR_DISCLK&amp;nbsp;&amp;nbsp; &amp;nbsp;// CLKOUT Enabled&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//| MCF_CLOCK_SYNCR_FWKUP&amp;nbsp;&amp;nbsp; &amp;nbsp;// Wait PLL is locked&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| MCF_CLOCK_SYNCR_CLKSRC&amp;nbsp;&amp;nbsp; &amp;nbsp;// PLL Drive System Clock&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| MCF_CLOCK_SYNCR_PLLMODE&amp;nbsp;&amp;nbsp; &amp;nbsp;// PLL Mode&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| MCF_CLOCK_SYNCR_PLLEN;&amp;nbsp;&amp;nbsp; &amp;nbsp;// PLL Enabled &lt;B&gt;(this is absolutely necesary to do enable before)&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;MCF_CLOCK_CCHR = MCF_CLOCK_CCHR_CCHR(4); // The PLL pre divider -&amp;gt; 25MHz / 5 = 5MHz &lt;B&gt;(This is Good)&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Reset PLL to use CCHR &lt;B&gt;(and Disable and RE-Enable)&lt;BR /&gt;&lt;/B&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;MCF_CLOCK_SYNCR &amp;amp;= ~MCF_CLOCK_SYNCR_PLLEN;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;MCF_CLOCK_SYNCR |= MCF_CLOCK_SYNCR_PLLEN;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while (!(MCF_CLOCK_SYNSR &amp;amp; MCF_CLOCK_SYNSR_LOCK)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// PLL not locked&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;Bye and good luck all.&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 10 Jan 2008 20:31:06 GMT</pubDate>
    <dc:creator>JasminG_</dc:creator>
    <dc:date>2008-01-10T20:31:06Z</dc:date>
    <item>
      <title>PLL error with a bad Reset</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/PLL-error-with-a-bad-Reset/m-p/174883#M6719</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;SPAN&gt;If the vcc drop to 1.25V on my PCB de LVD do a reset but the PLL timing is wrong after the reset.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The timing for UART is corrupt.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Wath is the register corrupt the PLL on bad reset.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jasmin.&lt;/SPAN&gt;&lt;BR /&gt;&lt;DIV&gt; &lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Dec 2007 21:47:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/PLL-error-with-a-bad-Reset/m-p/174883#M6719</guid>
      <dc:creator>JasminG_</dc:creator>
      <dc:date>2007-12-21T21:47:51Z</dc:date>
    </item>
    <item>
      <title>Re: PLL error with a bad Reset</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/PLL-error-with-a-bad-Reset/m-p/174884#M6720</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Jasmin,&lt;BR /&gt;&lt;BR /&gt;Which ColdFire part are you using?&lt;BR /&gt;&lt;BR /&gt;Some of the PLLs come up with a default setting that you might be overriding by accident with a Codewarrior init (which is what you perceive to be the correct operation), and after a reset your code is not setting up the PLL the same way that Codewarrior does and therefore your baud rate is no longer correct.&lt;BR /&gt;&lt;BR /&gt;So if you could provide a few more details then we may be able to help.&lt;BR /&gt;&lt;BR /&gt;1. Which ColdFire part.&lt;BR /&gt;2. Which debugger and IDE are you using.&lt;BR /&gt;3. Are you using any of the free pieces of code like Linux or CMX stack or I-niche stack?&lt;BR /&gt;&lt;BR /&gt;Thanks&lt;BR /&gt;-JWW&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 28 Dec 2007 09:22:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/PLL-error-with-a-bad-Reset/m-p/174884#M6720</guid>
      <dc:creator>JWW</dc:creator>
      <dc:date>2007-12-28T09:22:20Z</dc:date>
    </item>
    <item>
      <title>Re: PLL error with a bad Reset</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/PLL-error-with-a-bad-Reset/m-p/174885#M6721</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;The IC is MCF52235CAL60.&lt;BR /&gt;The IDE is Codewarior for Coldfire 6.4 in WinXP.&lt;BR /&gt;I use a Bacnet Stack and a Ethernet Stack.&lt;BR /&gt;Jasmin.&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 04 Jan 2008 23:09:22 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/PLL-error-with-a-bad-Reset/m-p/174885#M6721</guid>
      <dc:creator>JasminG_</dc:creator>
      <dc:date>2008-01-04T23:09:22Z</dc:date>
    </item>
    <item>
      <title>Re: PLL error with a bad Reset</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/PLL-error-with-a-bad-Reset/m-p/174886#M6722</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;Ok, I found the bug.&lt;BR /&gt;It's necesary to enable the pll before disable.&lt;BR /&gt;After this you write the new value and re-enable the PLL.&lt;BR /&gt;&lt;BR /&gt;This error is present in the code source with M52235EVB.&lt;BR /&gt;At the first boot the value dosn't load.&lt;BR /&gt;After a bad reset the PLL in enable and the code disable correctly the PLL.&lt;BR /&gt;&lt;BR /&gt;In the fact if I don't put the bad value in PLL in acordance with the code coments, I never found the error.&lt;BR /&gt;&lt;BR /&gt;Bye.&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Jan 2008 04:59:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/PLL-error-with-a-bad-Reset/m-p/174886#M6722</guid>
      <dc:creator>JasminG_</dc:creator>
      <dc:date>2008-01-10T04:59:59Z</dc:date>
    </item>
    <item>
      <title>Re: PLL error with a bad Reset</title>
      <link>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/PLL-error-with-a-bad-Reset/m-p/174887#M6723</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;static void mcf5223x_pll_init(void) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;//MCF_CLOCK_CCHR = 0x05; // The PLL pre divider -&amp;gt; 25MHz / 5 = 5MHz &lt;B&gt;(This is wrong)&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;/* The PLL pre-divider affects this!!!&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; * Multiply 25Mhz reference crystal /CCHR by 12 to acheive system clock of 60Mhz&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp; */&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;MCF_CLOCK_SYNCR = 0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//|MCF_CLOCK_SYNCR_LOLRE&amp;nbsp;&amp;nbsp; &amp;nbsp;// No reset on Loss Of Lock&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| MCF_CLOCK_SYNCR_MFD(4)&amp;nbsp;&amp;nbsp; &amp;nbsp;// CLK * 12&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| MCF_CLOCK_SYNCR_RFD(0)&amp;nbsp;&amp;nbsp; &amp;nbsp;// CLK / 1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//| MCF_CLOCK_SYNCR_LOCRE&amp;nbsp;&amp;nbsp; &amp;nbsp;// No reset on Loss Of Clock&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//| MCF_CLOCK_SYNCR_LOCEN&amp;nbsp;&amp;nbsp; &amp;nbsp;// Loss Of Clock Disabled&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//| MCF_CLOCK_SYNCR_DISCLK&amp;nbsp;&amp;nbsp; &amp;nbsp;// CLKOUT Enabled&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;//| MCF_CLOCK_SYNCR_FWKUP&amp;nbsp;&amp;nbsp; &amp;nbsp;// Wait PLL is locked&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| MCF_CLOCK_SYNCR_CLKSRC&amp;nbsp;&amp;nbsp; &amp;nbsp;// PLL Drive System Clock&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| MCF_CLOCK_SYNCR_PLLMODE&amp;nbsp;&amp;nbsp; &amp;nbsp;// PLL Mode&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;| MCF_CLOCK_SYNCR_PLLEN;&amp;nbsp;&amp;nbsp; &amp;nbsp;// PLL Enabled &lt;B&gt;(this is absolutely necesary to do enable before)&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;MCF_CLOCK_CCHR = MCF_CLOCK_CCHR_CCHR(4); // The PLL pre divider -&amp;gt; 25MHz / 5 = 5MHz &lt;B&gt;(This is Good)&lt;/B&gt;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;// Reset PLL to use CCHR &lt;B&gt;(and Disable and RE-Enable)&lt;BR /&gt;&lt;/B&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;MCF_CLOCK_SYNCR &amp;amp;= ~MCF_CLOCK_SYNCR_PLLEN;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;MCF_CLOCK_SYNCR |= MCF_CLOCK_SYNCR_PLLEN;&lt;BR /&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;while (!(MCF_CLOCK_SYNSR &amp;amp; MCF_CLOCK_SYNSR_LOCK)) {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;// PLL not locked&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &amp;nbsp;}&lt;BR /&gt;}&lt;BR /&gt;&lt;BR /&gt;Bye and good luck all.&lt;BR /&gt;&lt;BR /&gt;&lt;DIV&gt;&lt;/DIV&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 10 Jan 2008 20:31:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/ColdFire-68K-Microcontrollers/PLL-error-with-a-bad-Reset/m-p/174887#M6723</guid>
      <dc:creator>JasminG_</dc:creator>
      <dc:date>2008-01-10T20:31:06Z</dc:date>
    </item>
  </channel>
</rss>

