<?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>Kinetis Microcontrollers中的主题 Re: FRDM-KL03 - Create an Interrupt Driven Short Time Base</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL03-Create-an-Interrupt-Driven-Short-Time-Base/m-p/851664#M51174</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Andrew&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried to generate a 1us TPM interrupt period and get 1.6us with the uTasker TPM driver. This is a limitation of the processor since it can't handle these interrupts much faster than that and on top of it are GPIO access delays when measuring the interrupt duration on GPIO pins (the attached binary can be loaded the FRDM-KL03Z and toggles the red LED at this speed), plus the fact that it is running interrupt code in Flash and this is probably slower than full speed (running the ISR code in SRAM may help improve speed a little).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See also&lt;BR /&gt;&lt;A href="https://www.nxp.com/docs/en/application-note/AN12078.pdf" target="test_blank"&gt;https://www.nxp.com/docs/en/application-note/AN12078.pdf&lt;/A&gt;&lt;BR /&gt;&lt;A href="https://community.nxp.com/thread/424714" target="test_blank"&gt;https://community.nxp.com/thread/424714&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At 48MHz the limit is around 650ns for an interrupt (interrupt latency going in and returning, plus the interrupt code itself) so 200ns..300ns is not achievable and would require a more powerful processor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Complete Kinetis solutions, training and support: &lt;A href="http://www.utasker.com/kinetis.html" target="test_blank"&gt;http://www.utasker.com/kinetis.html&lt;/A&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;Kinetis KL02/KL03/KL05:&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;- &lt;A href="http://www.utasker.com/kinetis/FRDM-KL02Z.html" target="test_blank"&gt;http://www.utasker.com/kinetis/FRDM-KL02Z.html&lt;/A&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;- &lt;A href="http://www.utasker.com/kinetis/FRDM-KL03Z.html" target="test_blank"&gt;http://www.utasker.com/kinetis/FRDM-KL03Z.html&lt;/A&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;- &lt;A href="http://www.utasker.com/kinetis/FRDM-KL05Z.html" target="test_blank"&gt;http://www.utasker.com/kinetis/FRDM-KL05Z.html&lt;/A&gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 12 Mar 2019 23:03:05 GMT</pubDate>
    <dc:creator>mjbcswitzerland</dc:creator>
    <dc:date>2019-03-12T23:03:05Z</dc:date>
    <item>
      <title>FRDM-KL03 - Create an Interrupt Driven Short Time Base</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL03-Create-an-Interrupt-Driven-Short-Time-Base/m-p/851663#M51173</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Is there a way to create a short time base, e.g. 200-300 ns ticks using the TPM with an ISR? I have my TPM using a 48 MHz clock, with an ISR once the timer overflows, but am unable to generate time bases shorter than 2.8 us using the FRDM-KL03 tpm_simple_pwm driver example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-Andrew&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Mar 2019 19:57:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL03-Create-an-Interrupt-Driven-Short-Time-Base/m-p/851663#M51173</guid>
      <dc:creator>aboss</dc:creator>
      <dc:date>2019-03-12T19:57:00Z</dc:date>
    </item>
    <item>
      <title>Re: FRDM-KL03 - Create an Interrupt Driven Short Time Base</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL03-Create-an-Interrupt-Driven-Short-Time-Base/m-p/851664#M51174</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Andrew&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried to generate a 1us TPM interrupt period and get 1.6us with the uTasker TPM driver. This is a limitation of the processor since it can't handle these interrupts much faster than that and on top of it are GPIO access delays when measuring the interrupt duration on GPIO pins (the attached binary can be loaded the FRDM-KL03Z and toggles the red LED at this speed), plus the fact that it is running interrupt code in Flash and this is probably slower than full speed (running the ISR code in SRAM may help improve speed a little).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;See also&lt;BR /&gt;&lt;A href="https://www.nxp.com/docs/en/application-note/AN12078.pdf" target="test_blank"&gt;https://www.nxp.com/docs/en/application-note/AN12078.pdf&lt;/A&gt;&lt;BR /&gt;&lt;A href="https://community.nxp.com/thread/424714" target="test_blank"&gt;https://community.nxp.com/thread/424714&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;At 48MHz the limit is around 650ns for an interrupt (interrupt latency going in and returning, plus the interrupt code itself) so 200ns..300ns is not achievable and would require a more powerful processor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;Complete Kinetis solutions, training and support: &lt;A href="http://www.utasker.com/kinetis.html" target="test_blank"&gt;http://www.utasker.com/kinetis.html&lt;/A&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;Kinetis KL02/KL03/KL05:&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;- &lt;A href="http://www.utasker.com/kinetis/FRDM-KL02Z.html" target="test_blank"&gt;http://www.utasker.com/kinetis/FRDM-KL02Z.html&lt;/A&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;- &lt;A href="http://www.utasker.com/kinetis/FRDM-KL03Z.html" target="test_blank"&gt;http://www.utasker.com/kinetis/FRDM-KL03Z.html&lt;/A&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;EM&gt;- &lt;A href="http://www.utasker.com/kinetis/FRDM-KL05Z.html" target="test_blank"&gt;http://www.utasker.com/kinetis/FRDM-KL05Z.html&lt;/A&gt;&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 12 Mar 2019 23:03:05 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FRDM-KL03-Create-an-Interrupt-Driven-Short-Time-Base/m-p/851664#M51174</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2019-03-12T23:03:05Z</dc:date>
    </item>
  </channel>
</rss>

