<?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 Re: etimer sync in MPC5xxx</title>
    <link>https://community.nxp.com/t5/MPC5xxx/etimer-sync/m-p/849971#M12477</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Petr,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First of all, thanks for your kind reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I haven't set LOAD values, as the eTimer channels are using for capture.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I read CNTR register using Trace32.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding "disable prescaler before by clearing ENBL", I have no idea how to disable prescaler?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Hyuntae Choi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 03 Dec 2018 08:32:58 GMT</pubDate>
    <dc:creator>seize</dc:creator>
    <dc:date>2018-12-03T08:32:58Z</dc:date>
    <item>
      <title>etimer sync</title>
      <link>https://community.nxp.com/t5/MPC5xxx/etimer-sync/m-p/849969#M12475</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi, I have a question about synchronization of Etimer count. (MPC5744P)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;With Capture function of Etimer, I detect rising and falling edges of&amp;nbsp; 3 hole sensor signals to calculate Motor RPM.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Following is my Etimer setting,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;static void ETimer_Init(void)&lt;BR /&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.ENBL.R = 0x0; // disable Timer1 channels&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.CH[2].CNTR.R = 0x0000;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.CH[3].CNTR.R = 0x0000;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.CH[4].CNTR.R = 0x0000;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.CH[2].CTRL1.R = 0x3942; // Counts only rising edge of the MC_CLK (10MHz in RUN0), divide by 2, &amp;nbsp;&amp;nbsp;&amp;nbsp;(10Mhz/2 = 5000000hz)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.CH[2].COMP1.R = 65500; // Compare value for 1u second delay ((1/5000000Hz)*65500 = 0.0131 sec)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.CH[2].CCCTRL.R = 0x0264; // compare on COMP1 when counting up, CAPT1 on rising edge,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;E&amp;nbsp;TIMER_2.CH[3].CTRL1.R = 0x3943; // Counts only rising edge of the MC_CLK (10MHz in RUN0), divide by 2, &amp;nbsp;&amp;nbsp;&amp;nbsp;(10Mhz/2 = 5000000hz)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.CH[3].COMP1.R = 65500; // Compare value for 1u second delay ((1/5000000Hz)*65500 = 0.0131 sec)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.CH[3].CCCTRL.R = 0x0264; // compare on COMP1 when counting up, CAPT1 on rising edge,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.CH[4].CTRL1.R = 0x3944; // Counts only rising edge of the MC_CLK (10MHz in RUN0), divide by 2, &amp;nbsp;&amp;nbsp;&amp;nbsp;(10Mhz/2 = 5000000hz)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.CH[4].COMP1.R = 65500; // Compare value for 1u second delay ((1/5000000Hz)*65500 = 0.0131 sec)&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.CH[4].CCCTRL.R = 0x0264; // compare on COMP1 when counting up, CAPT1 on rising edge,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.ENBL.R = 0xffff; // Enable Timer1 channel&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.CH[2].CCCTRL.B.ARM = 1;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.CH[3].CCCTRL.B.ARM = 1;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ETIMER_2.CH[4].CCCTRL.B.ARM = 1;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;RPM&amp;nbsp;is calculated using captured values below.&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;U_R = ETIMER_2.CH[2].CAPT1.R;&amp;nbsp;&lt;BR /&gt; U_F = ETIMER_2.CH[2].CAPT2.R;&amp;nbsp;&lt;BR /&gt; V_R = ETIMER_2.CH[3].CAPT1.R;&lt;BR /&gt; V_F = ETIMER_2.CH[3].CAPT2.R;&lt;BR /&gt; W_R = ETIMER_2.CH[4].CAPT1.R;&lt;BR /&gt; W_F = ETIMER_2.CH[4].CAPT2.R;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;RPM didn't calculated well. So I checked CNTR values for each channel.&lt;/P&gt;&lt;P&gt;And I found that CNTR vaule of three Etimer channel were different at certain point.&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ETIMER_2.CH[2].CNTR&amp;nbsp; = FEE3&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ETIMER_2.CH[3].CNTR&amp;nbsp; =&amp;nbsp; 2D53&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;ETIMER_2.CH[4].CNTR&amp;nbsp; = 5C22&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How can I synchronize three Etimer channel?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 19 Nov 2018 10:21:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/etimer-sync/m-p/849969#M12475</guid>
      <dc:creator>seize</dc:creator>
      <dc:date>2018-11-19T10:21:26Z</dc:date>
    </item>
    <item>
      <title>Re: etimer sync</title>
      <link>https://community.nxp.com/t5/MPC5xxx/etimer-sync/m-p/849970#M12476</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;if you start eTimer channels in the way you have, using ENBL bits, then channel counters should be synchronized. Unless you have different LOAD values in each eTimer channel. But LOAD should be cleared upon reset.&lt;/P&gt;&lt;P&gt;How do you read CNTR registers? Did you disable prescaler before by clearing ENBL?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR, Petr&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Dec 2018 08:11:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/etimer-sync/m-p/849970#M12476</guid>
      <dc:creator>PetrS</dc:creator>
      <dc:date>2018-12-03T08:11:48Z</dc:date>
    </item>
    <item>
      <title>Re: etimer sync</title>
      <link>https://community.nxp.com/t5/MPC5xxx/etimer-sync/m-p/849971#M12477</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Petr,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;First of all, thanks for your kind reply.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I haven't set LOAD values, as the eTimer channels are using for capture.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I read CNTR register using Trace32.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding "disable prescaler before by clearing ENBL", I have no idea how to disable prescaler?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;Hyuntae Choi&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Dec 2018 08:32:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/etimer-sync/m-p/849971#M12477</guid>
      <dc:creator>seize</dc:creator>
      <dc:date>2018-12-03T08:32:58Z</dc:date>
    </item>
    <item>
      <title>Re: etimer sync</title>
      <link>https://community.nxp.com/t5/MPC5xxx/etimer-sync/m-p/849972#M12478</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;LOAD value is used to init&amp;nbsp;CNTR on compare event. So to have CNTR synchronized LOAD registers must be same.&lt;/P&gt;&lt;P&gt;Clear ENBL to stop counter on used channels , then read CNTR using debugger.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR, Petr&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 03 Dec 2018 08:39:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/etimer-sync/m-p/849972#M12478</guid>
      <dc:creator>PetrS</dc:creator>
      <dc:date>2018-12-03T08:39:23Z</dc:date>
    </item>
  </channel>
</rss>

