<?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>LPCXpresso IDE中的主题 Re: LPC1788 Interrupt Speed Increase</title>
    <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1788-Interrupt-Speed-Increase/m-p/566684#M18565</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by micrio on Mon Dec 31 22:35:07 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;There are a number of factors that go into the speed that interrupts are handled.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;How many registers must be pushed before the interrupt code can be run.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;How is the code aligned in memory which affects how fast the cache will&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;operate.&amp;nbsp;&amp;nbsp; How complicated is your interrupt handler.&amp;nbsp;&amp;nbsp; If you are the single &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the highest priority then you should not be blocked by other interrupts.&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Does any code disable interrupts.&amp;nbsp;&amp;nbsp; Are you using locking which might&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;block interrupts?&amp;nbsp;&amp;nbsp; Are you calling any library functions that might block&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;interrupts?&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;That is probably not an exhaustive list but that is all that I can&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;think of now.&amp;nbsp;&amp;nbsp; It becomes somewhat tricky when you are trying to count&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;machine cycle times.&amp;nbsp;&amp;nbsp;&amp;nbsp; You could use the CPU clock cycle counter&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;to help you time these things.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Pete.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 15 Jun 2016 22:25:27 GMT</pubDate>
    <dc:creator>lpcware</dc:creator>
    <dc:date>2016-06-15T22:25:27Z</dc:date>
    <item>
      <title>LPC1788 Interrupt Speed Increase</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1788-Interrupt-Speed-Increase/m-p/566679#M18560</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by irvind on Sun Dec 30 19:26:24 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 would need help on LPC1788 interrupt speed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Is there any way we can increase interrupt speed of MCU? Or how to calculate interrupt speed of my MCU?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I have some missing pulse when MCU triggered with some high speed signal. If I slow down my pulse speed, I see more triggered count than using machine speed.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Currently my MCU running at 120MHz. I have changed peripheral clock from 60Mhz to 120Mhz but it doesn't help in this case.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;#define PCLKSEL_Val&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; 0x00000001 //0x00000002&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Please advise. Thanks.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:25:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1788-Interrupt-Speed-Increase/m-p/566679#M18560</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:25:23Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1788 Interrupt Speed Increase</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1788-Interrupt-Speed-Increase/m-p/566680#M18561</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by TheFallGuy on Mon Dec 31 02:06:13 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;First, look at the maximum frequency of your pulses. Is it possible to service those quickly enough?&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Next, look at your interrupt handling code. Make sure you are doing the minimum amount of processing&amp;nbsp; possible.Also:&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- clear the interrupt early, so another pulse can cause an interrupt&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;- before returning from your handler, look to see if another is pending and service it (this will save a small amount of time - although Cortex-M parts do tail-chaining, so it doesn't stack and unstack registers unnecessarily)&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:25:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1788-Interrupt-Speed-Increase/m-p/566680#M18561</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:25:24Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1788 Interrupt Speed Increase</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1788-Interrupt-Speed-Increase/m-p/566681#M18562</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by irvind on Mon Dec 31 12:06:04 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: TheFallGuy&lt;/STRONG&gt;&lt;BR /&gt;First, look at the maximum frequency of your pulses. Is it possible to service those quickly enough?&lt;BR /&gt;&lt;BR /&gt;Next, look at your interrupt handling code. Make sure you are doing the minimum amount of processing&amp;nbsp; possible.Also:&lt;BR /&gt;- clear the interrupt early, so another pulse can cause an interrupt&lt;BR /&gt;- before returning from your handler, look to see if another is pending and service it (this will save a small amount of time - although Cortex-M parts do tail-chaining, so it doesn't stack and unstack registers unnecessarily)&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Hi FallGuy,&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks for your reply.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;my input signal varies from time to time based on machine speed, so I can't give an exact speed right now. Currently I just increase a counter in ISR to check if any missing pulse.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;I would like to know if any parameter to configure GPIO interrupt speed? How to calculate the fastest interrupt speed of GPIO?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:25:25 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1788-Interrupt-Speed-Increase/m-p/566681#M18562</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:25:25Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1788 Interrupt Speed Increase</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1788-Interrupt-Speed-Increase/m-p/566682#M18563</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by micrio on Mon Dec 31 14:42:26 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;If you are concerned if you might not be fast enough they you should try&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;polled mode and count the pulses.&amp;nbsp;&amp;nbsp; If you still miss some then either they&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;are too fast for a 120 MHz CPU or you have hardware problems.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;If it passes that test then try your interrupt routine.&amp;nbsp;&amp;nbsp; If the interrupt routine&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;is not fast enough then try moving it into RAM which will save on the&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;wait states imposed by FLASH.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Best of luck,&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Pete.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:25:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1788-Interrupt-Speed-Increase/m-p/566682#M18563</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:25:26Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1788 Interrupt Speed Increase</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1788-Interrupt-Speed-Increase/m-p/566683#M18564</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by irvind on Mon Dec 31 19:47:01 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: micrio&lt;/STRONG&gt;&lt;BR /&gt;If you are concerned if you might not be fast enough they you should try&lt;BR /&gt;polled mode and count the pulses.&amp;nbsp;&amp;nbsp; If you still miss some then either they&lt;BR /&gt;are too fast for a 120 MHz CPU or you have hardware problems.&lt;BR /&gt; &lt;BR /&gt;If it passes that test then try your interrupt routine.&amp;nbsp;&amp;nbsp; If the interrupt routine&lt;BR /&gt;is not fast enough then try moving it into RAM which will save on the&lt;BR /&gt;wait states imposed by FLASH.&lt;BR /&gt; &lt;BR /&gt;Best of luck,&lt;BR /&gt;Pete.&lt;/SPAN&gt;&lt;HR /&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;Thanks pete for your reply.&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;SPAN&gt;So there is no parameter or specification to tell the speed of GPIO interrupt?&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:25:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1788-Interrupt-Speed-Increase/m-p/566683#M18564</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:25:26Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1788 Interrupt Speed Increase</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1788-Interrupt-Speed-Increase/m-p/566684#M18565</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by micrio on Mon Dec 31 22:35:07 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;There are a number of factors that go into the speed that interrupts are handled.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;How many registers must be pushed before the interrupt code can be run.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;How is the code aligned in memory which affects how fast the cache will&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;operate.&amp;nbsp;&amp;nbsp; How complicated is your interrupt handler.&amp;nbsp;&amp;nbsp; If you are the single &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;the highest priority then you should not be blocked by other interrupts.&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Does any code disable interrupts.&amp;nbsp;&amp;nbsp; Are you using locking which might&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;block interrupts?&amp;nbsp;&amp;nbsp; Are you calling any library functions that might block&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;interrupts?&amp;nbsp;&amp;nbsp; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;That is probably not an exhaustive list but that is all that I can&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;think of now.&amp;nbsp;&amp;nbsp; It becomes somewhat tricky when you are trying to count&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;machine cycle times.&amp;nbsp;&amp;nbsp;&amp;nbsp; You could use the CPU clock cycle counter&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;to help you time these things.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt; &lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;Pete.&lt;/SPAN&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:25:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1788-Interrupt-Speed-Increase/m-p/566684#M18565</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:25:27Z</dc:date>
    </item>
    <item>
      <title>Re: LPC1788 Interrupt Speed Increase</title>
      <link>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1788-Interrupt-Speed-Increase/m-p/566685#M18566</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;STRONG&gt;Content originally posted in LPCWare by Ex-Zero on Mon Dec 31 22:55:20 MST 2012&lt;/STRONG&gt;&lt;BR /&gt;&lt;SPAN&gt;And last but not least:&lt;/SPAN&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;A href="http://"&gt;http://infocenter.arm.com/help/topic/com.arm.doc.ddi0337g/DDI0337G_cortex_m3_r2p0_trm.pdf:&lt;/A&gt;&lt;BR /&gt;&lt;HR /&gt;&lt;SPAN style="color: #0000ff;"&gt;&lt;STRONG&gt;Quote: &lt;/STRONG&gt;&lt;BR /&gt;&lt;BR /&gt;Figure 5-2 shows that there is a [COLOR=Red]12-cycle latency[/COLOR] from asserting the interrupt to the first instruction of the ISR executing.&lt;BR /&gt;&lt;/SPAN&gt;&lt;HR /&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 15 Jun 2016 22:25:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/LPCXpresso-IDE/LPC1788-Interrupt-Speed-Increase/m-p/566685#M18566</guid>
      <dc:creator>lpcware</dc:creator>
      <dc:date>2016-06-15T22:25:27Z</dc:date>
    </item>
  </channel>
</rss>

