<?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 FTM2 PTA10 will output different PWM waveform under FTM2_MOD=249 in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM2-PTA10-will-output-different-PWM-waveform-under-FTM2-MOD-249/m-p/648911#M39455</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear, we test MK20DX256VLQ10, use FTM2 PTA10 output PWM, and find that when FTM2 mode work at 246 or 247 or 248, 250, 251,252, the PWM will continue output, but find when FTM2_MOD is 249, the PWM output is discontinuous.&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;System clock: 100M, Bus clock:50M. External crystal is 25Mhz.&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below is the test code, and also attached the test project under KDS IDE.&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* SIM_SCGC3: FTM2=1 */&lt;BR /&gt;&amp;nbsp; SIM_SCGC3 |= SIM_SCGC3_FTM2_MASK;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; FTM2_MODE = (FTM_MODE_FAULTM(0x00) | FTM_MODE_WPDIS_MASK); /* Set up mode register */&lt;BR /&gt;&amp;nbsp; FTM2_SC = (FTM_SC_CLKS(0x00) | FTM_SC_PS(0x00)); /* Clear status and control register */&lt;BR /&gt;&amp;nbsp; /* FTM2_CNTIN: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,INIT=0 */&lt;BR /&gt;&amp;nbsp; FTM2_CNTIN = FTM_CNTIN_INIT(0x00);&amp;nbsp;&amp;nbsp; /* Clear counter initial register */&lt;BR /&gt;&amp;nbsp; /* FTM2_CNT: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,COUNT=0 */&lt;BR /&gt;&amp;nbsp; FTM2_CNT = FTM_CNT_COUNT(0x00);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Reset counter register */&lt;BR /&gt;&amp;nbsp; /* FTM2_C0SC: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,CHF=0,CHIE=0,MSB=0,MSA=0,ELSB=0,ELSA=0,??=0,DMA=0 */&lt;BR /&gt;&amp;nbsp; FTM2_C0SC = 0x00U;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clear channel status and control register */&lt;BR /&gt;&amp;nbsp; /* FTM2_C1SC: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,CHF=0,CHIE=0,MSB=0,MSA=0,ELSB=0,ELSA=0,??=0,DMA=0 */&lt;BR /&gt;&amp;nbsp; FTM2_C1SC = 0x00U;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clear channel status and control register */&lt;BR /&gt;&amp;nbsp; /* FTM2_MOD: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,MOD=0xFFFF */&lt;BR /&gt;&amp;nbsp; FTM2_MOD = 249;//250;//FTM_MOD_MOD(0xFFFF);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set up modulo register */&lt;BR /&gt;&amp;nbsp; /* FTM2_C0SC: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,CHF=0,CHIE=0,MSB=1,MSA=0,ELSB=1,ELSA=1,??=0,DMA=0 */&lt;BR /&gt;&amp;nbsp; FTM2_C0SC = (FTM_CnSC_MSB_MASK | FTM_CnSC_ELSB_MASK | FTM_CnSC_ELSA_MASK); /* Set up channel status and control register */&lt;BR /&gt;&amp;nbsp; /* FTM2_C0V: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,VAL=0x30D4 */&lt;BR /&gt;&amp;nbsp; FTM2_C0V = 125;//FTM_CnV_VAL(0x30D4);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set up channel value register */&lt;BR /&gt;&amp;nbsp; /* PORTA_PCR10: ISF=0,MUX=3 */&lt;BR /&gt;&amp;nbsp; PORTA_PCR10 = (uint32_t)((PORTA_PCR10 &amp;amp; (uint32_t)~(uint32_t)(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_PCR_ISF_MASK |&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_PCR_MUX(0x04)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )) | (uint32_t)(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_PCR_MUX(0x03)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ));&lt;BR /&gt;&amp;nbsp; /* FTM2_SC: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,TOF=0,TOIE=0,CPWMS=0,CLKS=1,PS=2 */&lt;BR /&gt;&amp;nbsp; FTM2_SC = (FTM_SC_CLKS(0x01) | FTM_SC_PS(0x02)); /* Set up status and control register */&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 19 Oct 2016 00:33:29 GMT</pubDate>
    <dc:creator>hansonhe</dc:creator>
    <dc:date>2016-10-19T00:33:29Z</dc:date>
    <item>
      <title>FTM2 PTA10 will output different PWM waveform under FTM2_MOD=249</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM2-PTA10-will-output-different-PWM-waveform-under-FTM2-MOD-249/m-p/648911#M39455</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear, we test MK20DX256VLQ10, use FTM2 PTA10 output PWM, and find that when FTM2 mode work at 246 or 247 or 248, 250, 251,252, the PWM will continue output, but find when FTM2_MOD is 249, the PWM output is discontinuous.&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;System clock: 100M, Bus clock:50M. External crystal is 25Mhz.&lt;/P&gt;&lt;P style="min- padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below is the test code, and also attached the test project under KDS IDE.&lt;/P&gt;&lt;P&gt;&amp;nbsp; /* SIM_SCGC3: FTM2=1 */&lt;BR /&gt;&amp;nbsp; SIM_SCGC3 |= SIM_SCGC3_FTM2_MASK;&amp;nbsp;&lt;BR /&gt;&amp;nbsp; FTM2_MODE = (FTM_MODE_FAULTM(0x00) | FTM_MODE_WPDIS_MASK); /* Set up mode register */&lt;BR /&gt;&amp;nbsp; FTM2_SC = (FTM_SC_CLKS(0x00) | FTM_SC_PS(0x00)); /* Clear status and control register */&lt;BR /&gt;&amp;nbsp; /* FTM2_CNTIN: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,INIT=0 */&lt;BR /&gt;&amp;nbsp; FTM2_CNTIN = FTM_CNTIN_INIT(0x00);&amp;nbsp;&amp;nbsp; /* Clear counter initial register */&lt;BR /&gt;&amp;nbsp; /* FTM2_CNT: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,COUNT=0 */&lt;BR /&gt;&amp;nbsp; FTM2_CNT = FTM_CNT_COUNT(0x00);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Reset counter register */&lt;BR /&gt;&amp;nbsp; /* FTM2_C0SC: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,CHF=0,CHIE=0,MSB=0,MSA=0,ELSB=0,ELSA=0,??=0,DMA=0 */&lt;BR /&gt;&amp;nbsp; FTM2_C0SC = 0x00U;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clear channel status and control register */&lt;BR /&gt;&amp;nbsp; /* FTM2_C1SC: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,CHF=0,CHIE=0,MSB=0,MSA=0,ELSB=0,ELSA=0,??=0,DMA=0 */&lt;BR /&gt;&amp;nbsp; FTM2_C1SC = 0x00U;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Clear channel status and control register */&lt;BR /&gt;&amp;nbsp; /* FTM2_MOD: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,MOD=0xFFFF */&lt;BR /&gt;&amp;nbsp; FTM2_MOD = 249;//250;//FTM_MOD_MOD(0xFFFF);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set up modulo register */&lt;BR /&gt;&amp;nbsp; /* FTM2_C0SC: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,CHF=0,CHIE=0,MSB=1,MSA=0,ELSB=1,ELSA=1,??=0,DMA=0 */&lt;BR /&gt;&amp;nbsp; FTM2_C0SC = (FTM_CnSC_MSB_MASK | FTM_CnSC_ELSB_MASK | FTM_CnSC_ELSA_MASK); /* Set up channel status and control register */&lt;BR /&gt;&amp;nbsp; /* FTM2_C0V: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,VAL=0x30D4 */&lt;BR /&gt;&amp;nbsp; FTM2_C0V = 125;//FTM_CnV_VAL(0x30D4);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; /* Set up channel value register */&lt;BR /&gt;&amp;nbsp; /* PORTA_PCR10: ISF=0,MUX=3 */&lt;BR /&gt;&amp;nbsp; PORTA_PCR10 = (uint32_t)((PORTA_PCR10 &amp;amp; (uint32_t)~(uint32_t)(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_PCR_ISF_MASK |&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_PCR_MUX(0x04)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; )) | (uint32_t)(&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; PORT_PCR_MUX(0x03)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; ));&lt;BR /&gt;&amp;nbsp; /* FTM2_SC: ??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,??=0,TOF=0,TOIE=0,CPWMS=0,CLKS=1,PS=2 */&lt;BR /&gt;&amp;nbsp; FTM2_SC = (FTM_SC_CLKS(0x01) | FTM_SC_PS(0x02)); /* Set up status and control register */&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 19 Oct 2016 00:33:29 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM2-PTA10-will-output-different-PWM-waveform-under-FTM2-MOD-249/m-p/648911#M39455</guid>
      <dc:creator>hansonhe</dc:creator>
      <dc:date>2016-10-19T00:33:29Z</dc:date>
    </item>
    <item>
      <title>Re: FTM2 PTA10 will output different PWM waveform under FTM2_MOD=249</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM2-PTA10-will-output-different-PWM-waveform-under-FTM2-MOD-249/m-p/648912#M39456</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hanson,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have checked customer KDS project. Looks like they are not configuring FTM in PWM mode, instead they configure it in output compare mode and set output on match. Please double check what they wanted.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/4423iADD8EB3AEE990786/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also you can let customer try running the same configuration by change the output pin to other FTM output pin and if they see the same behavior.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hao&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Oct 2016 08:14:42 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM2-PTA10-will-output-different-PWM-waveform-under-FTM2-MOD-249/m-p/648912#M39456</guid>
      <dc:creator>cutworth</dc:creator>
      <dc:date>2016-10-21T08:14:42Z</dc:date>
    </item>
    <item>
      <title>Re: FTM2 PTA10 will output different PWM waveform under FTM2_MOD=249</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM2-PTA10-will-output-different-PWM-waveform-under-FTM2-MOD-249/m-p/648913#M39457</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Hanson,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried to add the PE generated code into one KSDK2.0 project for checking FTM function customer intended to use. But I did not find the problem you mentioned that when MOD=249, PWM output is discontinuous. Also I noticed with generated PE code, it's actually configured in edge-aligned PWM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Do you have waveform measured to show the issue when MOD=249?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Hao&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Oct 2016 10:04:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/FTM2-PTA10-will-output-different-PWM-waveform-under-FTM2-MOD-249/m-p/648913#M39457</guid>
      <dc:creator>cutworth</dc:creator>
      <dc:date>2016-10-24T10:04:32Z</dc:date>
    </item>
  </channel>
</rss>

