<?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 LPC1768 PLL1 Lock USB in LPCXpresso IDE</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1768-PLL1-Lock-USB/m-p/571119#M20446</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by kiryat8 on Thu Apr 19 03:23:12 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using&amp;nbsp; a LPC1768 board (12MHz crystal) with Code Red CMSISv2.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This is a low power project so I must turn off both PLLs most of the time.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; My problem is that I do need the USB serial interface for parameter update after manual user input.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If I enable both defines PLL0_SETUP &amp;amp; PLL1_SETUP in the CMSIS lib file,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;my USB serial code (from example) works fine but I consume too much current.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If I enabled only PLL1_SETUP with PLL1CFG_Val the default 0x23 value but the USB does not work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I had thought to switch on PLL1 when I need USB and then switch it back off.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When both defines are zero and I then try to enable only PLL1, PLL1 does not lock after the first enable and loops forever. The LPC1768 is running from the Crystal at this stage.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can not see any problem in my code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Switch power to main crystal oscillator on&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;SCS = OSCEN;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; while ((LPC_SC-&amp;gt;SCS &amp;amp; OSCSTAT) == 0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1CFG&amp;nbsp;&amp;nbsp; = PLL1CFG_Val;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 0x23&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1FEED&amp;nbsp; = PLLFEED1;&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; // 0xAA&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1FEED&amp;nbsp; = PLLFEED2;&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; // 0x55&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // PLL1 Enable&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1CON&amp;nbsp;&amp;nbsp; = CLKPWR_PLL1CON_ENABLE; // 0x01&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1FEED&amp;nbsp; = PLLFEED1;&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; // 0xAA&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1FEED&amp;nbsp; = PLLFEED2;&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; // 0x55&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Wait for LOCK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; while (!(LPC_SC-&amp;gt;PLL1STAT &amp;amp; CLKPWR_PLL1STAT_PLOCK)); // (1&amp;lt;&amp;lt;10)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // PLL1 Enable &amp;amp; Connect&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1CON&amp;nbsp;&amp;nbsp; = CLKPWR_PLL1CON_ENABLE | CLKPWR_PLL1CON_CONNECT; // 0x01 | 0x02&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1FEED&amp;nbsp; = PLLFEED1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 0xAA&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1FEED&amp;nbsp; = PLLFEED2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 0x55&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Wait for PLLC1_STAT &amp;amp; PLLE1_STAT&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; while (!(LPC_SC-&amp;gt;PLL1STAT &amp;amp; (CLKPWR_PLL1STAT_PLLE | CLKPWR_PLL1STAT_PLLC)));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help would be appreciated.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 16 Jun 2016 01:02:43 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-16T01:02:43Z</dc:date>
    <item>
      <title>LPC1768 PLL1 Lock USB</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1768-PLL1-Lock-USB/m-p/571119#M20446</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by kiryat8 on Thu Apr 19 03:23:12 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using&amp;nbsp; a LPC1768 board (12MHz crystal) with Code Red CMSISv2.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This is a low power project so I must turn off both PLLs most of the time.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; My problem is that I do need the USB serial interface for parameter update after manual user input.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If I enable both defines PLL0_SETUP &amp;amp; PLL1_SETUP in the CMSIS lib file,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;my USB serial code (from example) works fine but I consume too much current.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If I enabled only PLL1_SETUP with PLL1CFG_Val the default 0x23 value but the USB does not work.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I had thought to switch on PLL1 when I need USB and then switch it back off.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;When both defines are zero and I then try to enable only PLL1, PLL1 does not lock after the first enable and loops forever. The LPC1768 is running from the Crystal at this stage.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I can not see any problem in my code.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Switch power to main crystal oscillator on&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;SCS = OSCEN;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; while ((LPC_SC-&amp;gt;SCS &amp;amp; OSCSTAT) == 0);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1CFG&amp;nbsp;&amp;nbsp; = PLL1CFG_Val;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 0x23&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1FEED&amp;nbsp; = PLLFEED1;&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; // 0xAA&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1FEED&amp;nbsp; = PLLFEED2;&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; // 0x55&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // PLL1 Enable&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1CON&amp;nbsp;&amp;nbsp; = CLKPWR_PLL1CON_ENABLE; // 0x01&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1FEED&amp;nbsp; = PLLFEED1;&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; // 0xAA&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1FEED&amp;nbsp; = PLLFEED2;&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; // 0x55&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Wait for LOCK&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; while (!(LPC_SC-&amp;gt;PLL1STAT &amp;amp; CLKPWR_PLL1STAT_PLOCK)); // (1&amp;lt;&amp;lt;10)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // PLL1 Enable &amp;amp; Connect&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1CON&amp;nbsp;&amp;nbsp; = CLKPWR_PLL1CON_ENABLE | CLKPWR_PLL1CON_CONNECT; // 0x01 | 0x02&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1FEED&amp;nbsp; = PLLFEED1;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 0xAA&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; LPC_SC-&amp;gt;PLL1FEED&amp;nbsp; = PLLFEED2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // 0x55&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; // Wait for PLLC1_STAT &amp;amp; PLLE1_STAT&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; //---------------------------------------------------------------------------&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp; while (!(LPC_SC-&amp;gt;PLL1STAT &amp;amp; (CLKPWR_PLL1STAT_PLLE | CLKPWR_PLL1STAT_PLLC)));&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Any help would be appreciated.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Jun 2016 01:02:43 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1768-PLL1-Lock-USB/m-p/571119#M20446</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-16T01:02:43Z</dc:date>
    </item>
  </channel>
</rss>

