<?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: PLL0 PDEC calculation in LPC Microcontrollers</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/PLL0-PDEC-calculation/m-p/587494#M21640</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by jgorsk on Mon Oct 29 04:53:55 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I think there is an error in the LPC43xx user manual regarding &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the PDEC calculation. P_Max in the algorithm should be 0x20 not 0x200.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;At least that's the case for PLL0AUDIO, I haven't checked PLL0USB&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 19:11:13 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T19:11:13Z</dc:date>
    <item>
      <title>PLL0 PDEC calculation</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/PLL0-PDEC-calculation/m-p/587492#M21638</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by jgorsk on Tue Oct 23 04:31:59 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Is the PLL0 PDEC calculation&amp;nbsp; pseudo-code correct? It's producing different&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;values of PDEC than this tool (PLL Dialog)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;&lt;A class="jive-link-external-small" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.lpcware.com%2Fcontent%2Fnxpfile%2Faudio-pll-settings-calculation-tool" rel="nofollow" target="_blank"&gt;http://www.lpcware.com/content/nxpfile/audio-pll-settings-calculation-tool&lt;/A&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;P_max=0x00000200, x=0x00000010;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;switch (P) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;case 0: x = 0xFFFFFFFF;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;case 1: x = 0x00000062;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;case 2: x = 0x00000042;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;default: for (i = P; i &amp;lt;= P_max; i++)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;x = (((x ^ (x&amp;gt;&amp;gt;2)) &amp;amp; 1) &amp;lt;&amp;lt; 4) | ((x&amp;gt;&amp;gt;1) &amp;amp; 0xF); }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;PDEC[6:0] = x;&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The values generated by PLL Dialog are correct.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:11:11 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/PLL0-PDEC-calculation/m-p/587492#M21638</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:11:11Z</dc:date>
    </item>
    <item>
      <title>Re: PLL0 PDEC calculation</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/PLL0-PDEC-calculation/m-p/587493#M21639</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by jgorsk on Wed Oct 24 23:40:41 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Is anybody using PLL0AUDIO on the LPC43? Are the PDEC calculations working well for you?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:11:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/PLL0-PDEC-calculation/m-p/587493#M21639</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:11:12Z</dc:date>
    </item>
    <item>
      <title>Re: PLL0 PDEC calculation</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/PLL0-PDEC-calculation/m-p/587494#M21640</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by jgorsk on Mon Oct 29 04:53:55 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;I think there is an error in the LPC43xx user manual regarding &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the PDEC calculation. P_Max in the algorithm should be 0x20 not 0x200.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;At least that's the case for PLL0AUDIO, I haven't checked PLL0USB&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:11:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/PLL0-PDEC-calculation/m-p/587494#M21640</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:11:13Z</dc:date>
    </item>
    <item>
      <title>Re: PLL0 PDEC calculation</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/PLL0-PDEC-calculation/m-p/587495#M21641</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by NXP_Paul on Tue Oct 30 06:50:16 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;We will be replacing the pseudo code found in the LPC18xx and LPC43xx User's Manuals with actual code:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PLL0_PSEL_MAX (1&amp;lt;&amp;lt;5)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PLL0_NSEL_MAX (1&amp;lt;&amp;lt;8)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PLL0_MSEL_MAX (1&amp;lt;&amp;lt;15)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* post-divider: compute pdec from psel */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned pdec_new (unsigned psel) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; unsigned x=0x10, ip;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; switch (psel) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 0: return 0xFFFFFFFF;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 1: return 0x62;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 2: return 0x42;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:for (ip = psel; ip &amp;lt;= PLL0_PSEL_MAX; ip++) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x = ((x^x&amp;gt;&amp;gt;2) &amp;amp; 1)&amp;lt;&amp;lt;4 | x&amp;gt;&amp;gt;1 &amp;amp; x3F;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; return x;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* pre-divider: compute ndec from nsel */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned ndec_new (unsigned nsel) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; unsigned x=0x80, in;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; switch (nsel) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 0: return 0xFFFFFFFF;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 1: return 0x302;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 2: return 0x202;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default:for (in = nsel; in &amp;lt;= PLL0_NSEL_MAX; in++)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x = ((x^x&amp;gt;&amp;gt;2^x&amp;gt;&amp;gt;3^x&amp;gt;&amp;gt;4) &amp;amp; 1) &amp;lt;&amp;lt; 7 | x&amp;gt;&amp;gt;1 &amp;amp; 0xFF;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; return x; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* multiplier: compute mdec from msel */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned mdec_new (unsigned msel) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; unsigned x=0x4000, im;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; switch (msel) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 0: return 0xFFFFFFFF;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 1: return 0x18003;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; case 2: return 0x10003;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; default: for (im = msel; im &amp;lt;= PLL0_MSEL_MAX; im++)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; x = ((x^x&amp;gt;&amp;gt;1) &amp;amp; 1)&amp;lt;&amp;lt; 14 | x&amp;gt;&amp;gt;1 &amp;amp; 0xFFFF;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; return x;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* bandwidth: compute seli from msel */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned anadeci_new (unsigned msel) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; unsigned tmp;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if (msel &amp;gt; 16384) return 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if (msel &amp;gt;&amp;nbsp; 8192) return 2;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if (msel &amp;gt;&amp;nbsp; 2048) return 4;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if (msel &amp;gt;=&amp;nbsp; 501) return 8;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if (msel &amp;gt;=&amp;nbsp;&amp;nbsp; 60) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; tmp=1024/(msel+9);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; return (1024==(tmp*(msel+9)))==0 ? tmp*4:(tmp+1)*4 ;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; }&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; return (msel &amp;amp; 0x3c) + 4;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;/* bandwidth: compute selp from msel */&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;unsigned anadecp_new (unsigned msel) {&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; if (msel &amp;lt; 60) return (msel&amp;gt;&amp;gt;1) + 1;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;&amp;nbsp;&amp;nbsp; return 31;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;}&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thank you for bringing this to our attention.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;NXP Technical Support&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:11:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/PLL0-PDEC-calculation/m-p/587495#M21641</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:11:13Z</dc:date>
    </item>
    <item>
      <title>Re: PLL0 PDEC calculation</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/PLL0-PDEC-calculation/m-p/587496#M21642</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by jgorsk on Tue Oct 30 09:50:26 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;When is the next revision of LPC43 User Manual going to be released? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Could you also add some more details regarding using SGPIO with DMA?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:11:14 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/PLL0-PDEC-calculation/m-p/587496#M21642</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:11:14Z</dc:date>
    </item>
    <item>
      <title>Re: PLL0 PDEC calculation</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/PLL0-PDEC-calculation/m-p/587497#M21643</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by NXP_Paul on Wed Oct 31 08:33:31 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;jgorsk&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;I don't have a date when the next version of the LPC43xx User's Manual will be released.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;We are aware that the SGPIO section of the manual needs improvement, and it is being addressed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;SGPIO example code is something that the NXP applications engineers are working on.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:11:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/PLL0-PDEC-calculation/m-p/587497#M21643</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:11:15Z</dc:date>
    </item>
    <item>
      <title>Re: PLL0 PDEC calculation</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/PLL0-PDEC-calculation/m-p/587498#M21644</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by jgorsk on Wed Oct 31 11:06:35 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for the update NXP_Paul.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Would you be able to give a brief idea of how to use SGPIO with DMA?&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 19:11:15 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/PLL0-PDEC-calculation/m-p/587498#M21644</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T19:11:15Z</dc:date>
    </item>
  </channel>
</rss>

