<?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: Pins/GPIO maximum frequency LPC4337</title>
    <link>https://community.nxp.com/t5/LPC-Microcontrollers/Pins-GPIO-maximum-frequency-LPC4337/m-p/552451#M14386</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by HCTEK on Mon Aug 04 07:40:56 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello bavarian,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks for the reply.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I did not find any references about the time that an ISR need to be answered. However, I imagined that it could be the main factor.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The 12 cycles is for any type of ISR? Where I can find that information?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hugo&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 18:34:59 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T18:34:59Z</dc:date>
    <item>
      <title>Pins/GPIO maximum frequency LPC4337</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Pins-GPIO-maximum-frequency-LPC4337/m-p/552448#M14383</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by HCTEK on Mon Jul 28 07:56:46 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi!&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am trying to discover the pins maximum frequency for I/O processes. From what it is exposed on user manual chapter 16 (16.3.5), I think that the "normal" frequency is 50/80 MHz.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;In order to verify the I/0 frequency of 1 MHz I used the code below (CLK_MX_TIMER1 = 204 MHz). It is a simple timer that when occur a match (MAT0) toggle the pin P5_4. Using a oscilloscope it is noted a frequency deviation of 8 KHz (see image). If I increase the frequency the deviation will also increase. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I want to use GPIO as I/O with frequencies around 20 MHz and 40 MHz. &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I am using LPCOpen and I am not using an external clock. My micro is the LPC 4337. This is "normal" when using the internal clock??&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;DIV class="j-rte-table"&gt;&lt;TABLE border="1"&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD bgcolor="#cacaca" style="border:1px solid black;background-color:#cacaca;border:1px solid black;background-color:#cacaca;background-color:#cacaca;border:1px solid black;"&gt; &lt;PRE&gt;
void GPIO0_IRQHandler(void){
Chip_PININT_ClearIntStatus(LPC_GPIO_PIN_INT, PININTCH(0));
Board_LED_Toggle(1);
LPC_TIMER1-&amp;gt;IR = 1;
LPC_TIMER1-&amp;gt;TCR = 3;
LPC_TIMER1-&amp;gt;TCR = 1;
}

void TIMER1_IRQHandler(void){
LPC_TIMER1-&amp;gt;IR = 1 &amp;lt;&amp;lt; 0;
}

int main(void){
/* Generic Initialization */
SystemCoreClockUpdate();

/* Board_Init calls Chip_GPIO_Init and enables GPIO clock if needed,
&amp;nbsp;&amp;nbsp; Chip_GPIO_Init is not called again */
Board_Init();

Chip_SCU_PinMux(5, 4, SCU_PINIO_FAST, 5); // P5_4 - T1_MAT0

/* Configure channel interrupt as edge sensitive and falling edge interrupt */
Chip_SCU_GPIOIntPinSel(0, KEY1_GPIO_PORT, KEY1_GPIO_BIT);
Chip_PININT_ClearIntStatus(LPC_GPIO_PIN_INT, PININTCH(0));
Chip_PININT_SetPinModeEdge(LPC_GPIO_PIN_INT, PININTCH(0));
Chip_PININT_EnableIntLow(LPC_GPIO_PIN_INT, PININTCH(0));

/* Enable interrupt in the NVIC */
NVIC_ClearPendingIRQ(PIN_INT0_IRQn); //KEY 0
NVIC_EnableIRQ(PIN_INT0_IRQn);

/* Timer 1 with rising edge every TICKRATE_S seconds */
Chip_TIMER_Init(LPC_TIMER1);
Chip_RGU_TriggerReset(RGU_TIMER1_RST);
while (Chip_RGU_InReset(RGU_TIMER1_RST)) {}
LPC_TIMER1-&amp;gt;CTCR = 0;
LPC_TIMER1-&amp;gt;PR = 0;
LPC_TIMER1-&amp;gt;MR[0] = Chip_Clock_GetRate(CLK_MX_TIMER1) / (2*1000000);
LPC_TIMER1-&amp;gt;MCR = 3;
LPC_TIMER1-&amp;gt;EMR = 0x3 &amp;lt;&amp;lt; 4; //toggle

/* Spin in a loop here.&amp;nbsp; All the work is done in ISR. */
while (1) {
__WFI();
} 

return 0;
}
&lt;/PRE&gt; &lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;/DIV&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hugo&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:34:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Pins-GPIO-maximum-frequency-LPC4337/m-p/552448#M14383</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:34:57Z</dc:date>
    </item>
    <item>
      <title>Re: Pins/GPIO maximum frequency LPC4337</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Pins-GPIO-maximum-frequency-LPC4337/m-p/552449#M14384</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by bavarian on Mon Aug 04 04:53:56 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello Hugo,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;please consider one thing: processing an interrupt takes time. Whatever the GPIO pad is physically able to do, the determining factor is the time you spend on going into the ISR and run the ISR. It takes you 12 cycles to get into the ISR, so even if you run at 204MHz and do nearly nothing in the ISR you could achieve maybe a 10MHz turnaround period.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;If you want to achieve frequencies of 20 to 40MHz you need to work without interrupts (just use the timer as PWM generator, use handwritten linear code to toggle the GPIO in some way or use the SCT block to do things (hardware controlled state machine).&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The IO pads on the LPC4330 are normally good for 120MHz, as many of them are used for the external memory interface which can run on this frequency. But the typical values provided in the user manual should be the basis for your design.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The internal oscillator should be accurate within its specification of +/- 1%, so there could be a deviation.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;This can be further trimmed, if this is not sufficient an external crystal must be used.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;NXP Support Team&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:34:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Pins-GPIO-maximum-frequency-LPC4337/m-p/552449#M14384</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:34:58Z</dc:date>
    </item>
    <item>
      <title>Re: Pins/GPIO maximum frequency LPC4337</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Pins-GPIO-maximum-frequency-LPC4337/m-p/552450#M14385</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by starblue on Mon Aug 04 07:30:51 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: bavarian&lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;If you want to achieve frequencies of 20 to 40MHz you need to work without interrupts (just use the timer as PWM generator, use handwritten linear code to toggle the GPIO in some way or use the SCT block to do things (hardware controlled state machine).&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Don't forget SGPIO.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Jürgen&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:34:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Pins-GPIO-maximum-frequency-LPC4337/m-p/552450#M14385</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:34:59Z</dc:date>
    </item>
    <item>
      <title>Re: Pins/GPIO maximum frequency LPC4337</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Pins-GPIO-maximum-frequency-LPC4337/m-p/552451#M14386</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by HCTEK on Mon Aug 04 07:40:56 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello bavarian,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;thanks for the reply.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I did not find any references about the time that an ISR need to be answered. However, I imagined that it could be the main factor.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;The 12 cycles is for any type of ISR? Where I can find that information?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Best Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Hugo&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:34:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Pins-GPIO-maximum-frequency-LPC4337/m-p/552451#M14386</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:34:59Z</dc:date>
    </item>
    <item>
      <title>Re: Pins/GPIO maximum frequency LPC4337</title>
      <link>https://community.nxp.com/t5/LPC-Microcontrollers/Pins-GPIO-maximum-frequency-LPC4337/m-p/552452#M14387</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by bavarian on Mon Aug 04 09:35:40 MST 2014&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;Hello Hugo,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;how about "Google it"&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ;-) &lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;It is Cortex-M4 specific and is well documented, for example here:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://http://community.arm.com/docs/DOC-2607"&gt;http://community.arm.com/docs/DOC-2607&lt;/A&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Regards,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;NXP Support Team&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 18:35:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPC-Microcontrollers/Pins-GPIO-maximum-frequency-LPC4337/m-p/552452#M14387</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T18:35:00Z</dc:date>
    </item>
  </channel>
</rss>

