<?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>LPC MicrocontrollersのトピックRe: LPC4330 - How to Access the High Speed GPIO</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4330-How-to-Access-the-High-Speed-GPIO/m-p/563458#M16684</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Pacman on Tue Oct 23 10:59:01 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;@Alex: Usually, I would write the value directly to the port, rather than using SET/CLR, because I'd output a bytestream instead of single bits.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I know this is not my thread, but rocketdawg, you gave me valuable information. Thank you! :)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Now I know that I can go crazy on the GPIO pins. =)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;@rocketdawg: There will always be something you can use a quick toggle for, even though it doesn't seem to make sense at first. Someone (Igor Češko) made a bit-bang ethernet on an 8-bit 20MHz chip's I/O pins by toggling them alone. Anyway, toggling a LED at that speed.. *that* would make no sense. ;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 18:46:47 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T18:46:47Z</dc:date>
    <item>
      <title>LPC4330 - How to Access the High Speed GPIO</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4330-How-to-Access-the-High-Speed-GPIO/m-p/563454#M16680</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by arshs on Fri Sep 28 09:53:35 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi: &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I'm using the following functions to SET /CLR a GPIO pin (on the LPC4330 NGX Xplorer Board): &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void GPIO_SetValue(uint8_t portNum, uint32_t bitValue) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{ &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_GPIO_PORT-&amp;gt;SET[portNum] = bitValue; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;void GPIO_ClearValue(uint8_t portNum, uint32_t bitValue) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{ &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;LPC_GPIO_PORT-&amp;gt;CLR[portNum] = bitValue; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;while (1) &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;{ GPIO_ClearValue(LED1_PORT,(1&amp;lt;&amp;lt;LED1_BIT)); GPIO_SetValue(LED1_PORT,(1&amp;lt;&amp;lt;LED1_BIT)); &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;} &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The Core is running at 180MHz, but the GPIO switching rate is just 5MHz. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there something else that need to be enabled in the LPC4330 to switch the GPIO pins at a higher rate? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Can the AHB bus frequency be increased? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I noticed that the GPIO registers are NOT mapped to the same bit-banding memory locations as the LPC1700 family. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Are the LPC4300 GPIO really High Speed? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;What is the max switching frequency that can be obtained? &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for your response. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Alex&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:46:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4330-How-to-Access-the-High-Speed-GPIO/m-p/563454#M16680</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:46:45Z</dc:date>
    </item>
    <item>
      <title>Re: LPC4330 - How to Access the High Speed GPIO</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4330-How-to-Access-the-High-Speed-GPIO/m-p/563455#M16681</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by arshs on Thu Oct 04 13:30:10 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I double checked the actual Core Frequency, and noticed that it was running at 72MHz, instead of 180MHz.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;When fixing the PLL1 settings to run at 204MHz, the GPIO does indeed change at a high speed. I managed to toggle the pin every 29ns (204MHZ / 6 clock cycles to execute the instructions)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Alex &lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:46:45 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4330-How-to-Access-the-High-Speed-GPIO/m-p/563455#M16681</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:46:45Z</dc:date>
    </item>
    <item>
      <title>Re: LPC4330 - How to Access the High Speed GPIO</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4330-How-to-Access-the-High-Speed-GPIO/m-p/563456#M16682</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Pacman on Wed Oct 17 15:43:46 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;That sounds good to me. :)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;You may be able to get even better results.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;According to my understanding, the 43xx should be able to toggle GPIO-pins at the clock frequency / 4, which would mean 204/4 = 51MHz.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;(Can this be confirmed by NXP, please ?)&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:46:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4330-How-to-Access-the-High-Speed-GPIO/m-p/563456#M16682</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:46:46Z</dc:date>
    </item>
    <item>
      <title>Re: LPC4330 - How to Access the High Speed GPIO</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4330-How-to-Access-the-High-Speed-GPIO/m-p/563457#M16683</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by rocketdawg on Tue Oct 23 09:20:18 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;The GPIO is clocked at CLK_M4_GPIO which can be clocked at 204Mhz.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;And if your application could execute no code and never have any AHB bus arbitration, and do nothing useful other than toggle a pin, then theoretically it does not matter.&amp;nbsp; It is not realistic.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Certainly not with the code that was posted.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The fastest way MAY be to use the peripheral bit band alias to perform a write to a bit in the GPIO SET register.&amp;nbsp; And any AHB slave or DMA may take the bus.&amp;nbsp; Your milage may vary.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:46:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4330-How-to-Access-the-High-Speed-GPIO/m-p/563457#M16683</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:46:47Z</dc:date>
    </item>
    <item>
      <title>Re: LPC4330 - How to Access the High Speed GPIO</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4330-How-to-Access-the-High-Speed-GPIO/m-p/563458#M16684</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Pacman on Tue Oct 23 10:59:01 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;@Alex: Usually, I would write the value directly to the port, rather than using SET/CLR, because I'd output a bytestream instead of single bits.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I know this is not my thread, but rocketdawg, you gave me valuable information. Thank you! :)&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Now I know that I can go crazy on the GPIO pins. =)&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;@rocketdawg: There will always be something you can use a quick toggle for, even though it doesn't seem to make sense at first. Someone (Igor Češko) made a bit-bang ethernet on an 8-bit 20MHz chip's I/O pins by toggling them alone. Anyway, toggling a LED at that speed.. *that* would make no sense. ;)&lt;/SPAN&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:46:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4330-How-to-Access-the-High-Speed-GPIO/m-p/563458#M16684</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:46:47Z</dc:date>
    </item>
    <item>
      <title>Re: LPC4330 - How to Access the High Speed GPIO</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4330-How-to-Access-the-High-Speed-GPIO/m-p/563459#M16685</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Jg on Tue Oct 23 14:56:00 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;You can use the SGPIO, it can run at the full speed. And thanks to the double buffering this speed can easily be achieved for longer bit sequences.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:46:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/LPC4330-How-to-Access-the-High-Speed-GPIO/m-p/563459#M16685</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:46:48Z</dc:date>
    </item>
  </channel>
</rss>

