<?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>S12 / MagniV MicrocontrollersのトピックRe: MC9S12ZVML128_BLDC_Sensorless adding ADC</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702447#M14565</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;I try the way that you recomand.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, It doesn't work.&amp;nbsp; I get only ADC ch 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, I solve the problem by other way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I add the code below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void AppStop(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: #ff0000;"&gt;ADC0FLWCTL_TRIG = 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After adding the code, I get ADC ch 0 and ch 1 when motor is stop state.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, I dont know it is &lt;SPAN lang="en"&gt;&lt;SPAN&gt;appropriate&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt; way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want your comment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 20 Nov 2017 08:31:55 GMT</pubDate>
    <dc:creator>sohyunjang</dc:creator>
    <dc:date>2017-11-20T08:31:55Z</dc:date>
    <item>
      <title>MC9S12ZVML128_BLDC_Sensorless adding ADC</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702437#M14555</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;I use MC9S12ZVML128_BLDC_Sensorless example project.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to add ADC (AN0_3(position sensor (sin)), AN1_3(position sensor (cos)).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And then, I modified a&amp;nbsp;code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PR_SECTION(ptuTrigE)&lt;BR /&gt;&amp;nbsp; volatile short PTUTriggerEventList[PTU_TOT_TRIGGERs_GEN_NO][PTU_TOT_LISTS_NO][&lt;SPAN style="color: #ff0000;"&gt;4&lt;/SPAN&gt;] = {&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;&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;&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; /*DelayT0 */&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;&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;&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; {0x0100,0x0200,&lt;SPAN style="color: #ff0000;"&gt;0x0300&lt;/SPAN&gt;,0x0000},{0x0000,0x0000,0x0000,0x0000}&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;&amp;nbsp;&amp;nbsp; {0x0100,&lt;SPAN style="color: #ff0000;"&gt;0x0200&lt;/SPAN&gt;,0x0000,0x0000},{0x0000,0x0000,0x0000,0x0000}&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;&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;&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;&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; }&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;&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;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;volatile char ADC0CommandList[6][4] = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x40,0xD0,0x00,0x00},&amp;nbsp;// current sense channel, end of sequence [D0]&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #ff0000;"&gt;{0x40&lt;/SPAN&gt;,0xCB,0x00,0x00},&amp;nbsp;// end of list + no int [C0], HD voltage [CB], 4 clock cycles sample time [00], reserved [00]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: #ff0000;"&gt; {0xC0,0xD3,0x00,0x00},&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00,0x00,0x00},&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00,0x00,0x00},&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0x00,0x00,0x00,0x00}&lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PR_SECTION(adcLists)&lt;BR /&gt;&amp;nbsp; volatile char ADC1CommandList[6][4] = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #ff0000;"&gt;{0x40&lt;/SPAN&gt;,0xCA,0x00,0x00}, // [end of list] + no int [C0], phase voltage [CA], 4 clock cycles sample time [00], reserved [00]&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp; {0xC0,0xD3,0x00,0x00},&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00,0x00,0x00},&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00,0x00,0x00},&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00,0x00,0x00},&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0x00,0x00,0x00,0x00}&lt;BR /&gt;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Getting ADC value is OK, but BLDC motor is not ruuing.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how can I modify the code?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Aug 2017 02:01:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702437#M14555</guid>
      <dc:creator>sohyunjang</dc:creator>
      <dc:date>2017-08-21T02:01:41Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12ZVML128_BLDC_Sensorless adding ADC</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702438#M14556</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;You did it well, however, there is one thing you need to do to make it run. You have set up both the trigger list and the command lists correctly, but please note that the trigger list is intended to be changed in runtime based on the PWM edges. You may find the UpdateDutycycle() function, which updates triggers based on the PMFVAL0. Thanks to that, the DC link current is always measured in the center of the PWM pulse and the backEMF is sensed at a certain percentage of the duty cycle (see the formula in the code). In your code, these two values were updated correctly, but the additional triggers remained static, occasionally placed before the backEMF triggers, which resulted in misplaced measurement of backEMF. What you need to do is to update your additional triggers with a new value as follows:&lt;/P&gt;&lt;TABLE class="j-table jiveBorder" style="border: 1px solid #c6c6c6;" width="100%"&gt;&lt;THEAD&gt;&lt;TR style="background-color: #efefef;"&gt;&lt;TH&gt;Code&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;void UpdateDutycycle(void)
{
tU16 delay1, delay2;

PMFVAL0 = duty_cycle;

delay1 = duty_cycle &amp;gt;&amp;gt; 2; // middle of the pulse - DC Bus current
 if (delay1 &amp;lt; MIN_ADC_TRIGGER_FIRST) delay1 = MIN_ADC_TRIGGER_FIRST;
 PTUTriggerEventList[0][0][0] = delay1;

delay2 = MLIB_Mul(duty_cycle,BEMF_SENSING_POINT_FRAC,F16); // end of the pulse
 PTUTriggerEventList[1][0][0] = delay2; // ADC1 - phase voltage

if (delay2 &amp;lt; (delay1 + MIN_ADC_TRIGGER_SECOND)) delay2 = delay1 + MIN_ADC_TRIGGER_SECOND;
 PTUTriggerEventList[0][0][1] = delay2; // ADC0 second sample - DC Bus Voltage

&lt;SPAN style="color: #ff0000;"&gt; PTUTriggerEventList[0][0][2] = delay2 + 35; //&amp;nbsp;Update trigger for resolver sin-channel&lt;/SPAN&gt;
&lt;SPAN style="color: #ff0000;"&gt; PTUTriggerEventList[1][0][1] = delay2 + 35; // Update trigger for resolver cos-channel&lt;/SPAN&gt;

PTUC_PTULDOK = 1;
}&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Please note that the " + 35" is directly connected with the bus frequency and it should be at least 2.5 us&amp;nbsp;@ 8.3 MHz sampling frequency as required by ADC in terms of the time between two samples (see the reference manual for more details).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope it helps. In case of any additional questions, please place a comment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Matej&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 21 Aug 2017 12:31:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702438#M14556</guid>
      <dc:creator>pachamatej</dc:creator>
      <dc:date>2017-08-21T12:31:08Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12ZVML128_BLDC_Sensorless adding ADC</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702439#M14557</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN lang="en"&gt;&lt;SPAN&gt;Thank you for your answer.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: none;"&gt;So, &lt;/SPAN&gt;I have one more question.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I also use MTRCKTSPNZVM128 (single shunt, AN5327) SW.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and I use same way to add adc value&amp;nbsp;(AN0_1(sensor1), AN0_3(position sensor (sin)), AN1_3(position sensor (cos), AN1_2(sensor)).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;and then, I modified code :&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PR_SECTION(adcLists)&lt;BR /&gt;&amp;nbsp; volatile char ADC0CommandList[COMMAND_NO][COMMAND_LENGTH] = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x40,0xD0,0x00,0x00},&amp;nbsp;// end of sequence [40], current sense channel [D0] - dc bus current on op-amp0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x40,0xD0,0x00,0x00},&amp;nbsp;// end of sequence [40], current sense channel [D0] - dc bus current on op-amp0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x40,0xD0,0x00,0x00},&amp;nbsp;// end of sequence [40], current sense channel [D0] - dc bus current on op-amp0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;SPAN style="color: #ff0000;"&gt;0x40&lt;/SPAN&gt;,0xD0,0x00,0x00},&amp;nbsp;// end of list + no int [C0], current sense channel [D0] - dc bus current on op-amp0&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;SPAN style="color: #ff0000;"&gt;0x40,0xD1&lt;/SPAN&gt;,0x00,0x00}, // sensor1&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;SPAN style="color: #ff0000;"&gt;0xC0,0xD3&lt;/SPAN&gt;0x00,0x00}, //&amp;nbsp;position sensor (sin)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00,0x00,0x00},&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; {0x00,0x00,0x00,0x00}&lt;BR /&gt;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;&amp;nbsp; volatile char ADC1CommandList[COMMAND_NO][COMMAND_LENGTH] = {&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x40,0xCB,0x00,0x00},&amp;nbsp;// end of sequence + no int [40], DC-Link VOltage&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;SPAN style="color: #ff0000;"&gt;0x40&lt;/SPAN&gt;,0xC9,0x00,0x00},&amp;nbsp;// end of List + no int [C0], TEMP [C9], 4 clock cycles sample time [00], reserved [00]&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;SPAN style="color: #ff0000;"&gt;0x40,0xD2&lt;/SPAN&gt;,0x00,0x00},&amp;nbsp;//sensor2&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {&lt;SPAN style="color: #ff0000;"&gt;0xC0,0xD3&lt;/SPAN&gt;,0x00,0x00},&amp;nbsp;// position sensor (cos)&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00,0x00,0x00},&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00,0x00,0x00},&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00,0x00,0x00},&lt;BR /&gt;&amp;nbsp;&amp;nbsp; {0x00,0x00,0x00,0x00}&lt;BR /&gt;&amp;nbsp; };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;volatile short ptuTriggerList0[PTU_LISTS_NO][&lt;SPAN style="color: #ff0000;"&gt;7&lt;/SPAN&gt;] =&amp;nbsp; {{125,250,375,500,&lt;SPAN style="color: #ff0000;"&gt;625, 750, 0x0000&lt;/SPAN&gt;},{200,400,600,800,&lt;SPAN style="color: #ff0000;"&gt; 1000, 1200, 0x0000&lt;/SPAN&gt;}}; // !_! for 50 MHz bus clock&lt;BR /&gt;volatile short ptuTriggerList1[PTU_LISTS_NO][&lt;SPAN style="color: #ff0000;"&gt;7&lt;/SPAN&gt;] =&amp;nbsp; {{150,500, &lt;SPAN style="color: #ff0000;"&gt;600, 700, 0x0000,0x0000,0x0000&lt;/SPAN&gt;},{150,500, &lt;SPAN style="color: #ff0000;"&gt;600, 700,0x0000,0x0000,0x0000&lt;/SPAN&gt;}};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;is it right? there ara ADC fault.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="en"&gt;&lt;SPAN&gt;How&amp;nbsp;can I change the code additionally?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="en"&gt;&lt;SPAN&gt;Waiting for your answer.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="display: none;"&gt;Th&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Aug 2017 02:00:52 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702439#M14557</guid>
      <dc:creator>sohyunjang</dc:creator>
      <dc:date>2017-08-25T02:00:52Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12ZVML128_BLDC_Sensorless adding ADC</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702441#M14559</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;thanks your commend.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, there are ADC Interrupt Flag problem.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ADC 0&amp;nbsp;Error Interrupt Flag Register (ADCEIF)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp;RSTAR_EIF bits[&amp;nbsp; 2:2&amp;nbsp; ] = 1&amp;nbsp;Restart request error situation occurred.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ADC 0&amp;nbsp;Interrupt Flag Register (ADCIF)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp;SEQAD_IF&amp;nbsp; bits[&amp;nbsp; 7:7&amp;nbsp; ] = 1&amp;nbsp;A conversion sequence abort request occurred.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;ADC&amp;nbsp;1&amp;nbsp;Error Interrupt Flag Register (ADCEIF)&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp;TRIG_EIF&amp;nbsp; bits[&amp;nbsp; 3:3&amp;nbsp; ] = 1&amp;nbsp;A trigger error occurred.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;It is very helpfult to your answer.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;Thank you.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #000000;"&gt;Waiting for&amp;nbsp;your answer.&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Aug 2017 07:13:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702441#M14559</guid>
      <dc:creator>sohyunjang</dc:creator>
      <dc:date>2017-08-25T07:13:49Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12ZVML128_BLDC_Sensorless adding ADC</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702442#M14560</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;these error flags indicate that the sequence of ADC conversions is longer than planned by the ADC-command-list-restart event. In other words, if you put additional commands after the last PTU trigger, it might happen that these additional triggers are placed after the PWM reload, when a new set of triggers is loaded. If a restart event occurs while the sequence is not finished, the RSTAR_EIF is set and the sequence is aborted indicated by SEQAD_IF.&lt;/P&gt;&lt;P&gt;Please use FreeMASTER or in-the-code watch for maximum of the last trigger in the list. It should be less than 2500 (which is the period of PWM).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regarding the ADC1 TRIG_EIF, it usually occurs if a new&amp;nbsp;trigger is asserted while previous conversion is still ongoing. I can see that your triggers in the ptuTriggerList1 are only 100 ptu ticks apart. For 50 MHz bus and 8.33 MHz ADC clock with 12bit conversion, the maximal ADC conversion time is 2.5us, in terms of PTU ticks it is 125. Please set the PTU triggers as follows:&lt;/P&gt;&lt;TABLE class="j-table jiveBorder" style="border: 1px solid #c6c6c6;" width="100%"&gt;&lt;THEAD&gt;&lt;TR style="background-color: #efefef;"&gt;&lt;TH&gt;PTU trigger list 1&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;volatile short ptuTriggerList1[PTU_LISTS_NO][&lt;SPAN style="color: #000000; border: 0px; font-weight: inherit; padding: 0px;"&gt;PTU_COMMANDS&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff; border: 0px; padding: 0px;"&gt;] =&amp;nbsp; {{150,500,&lt;SPAN style="border: 0px; font-weight: inherit; padding: 0px;"&gt;&amp;nbsp;&lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;625&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #000000;"&gt;&lt;SPAN style="background-color: #ffffff; border: 0px; padding: 0px;"&gt;&lt;SPAN style="color: #ff0000;"&gt;&lt;STRONG&gt;, 750&lt;/STRONG&gt;&lt;/SPAN&gt;, 0x0000,0x0000,0x0000&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; border: 0px; padding: 0px;"&gt;},{150,500, &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN style="border: 0px; padding: 0px; color: #ff0000; font-weight: inherit;"&gt;&lt;STRONG&gt;625&lt;/STRONG&gt;&lt;/SPAN&gt;&lt;SPAN style="background-color: #ffffff; border: 0px; padding: 0px; color: #ff0000;"&gt;&lt;STRONG&gt;, 750&lt;/STRONG&gt;&lt;/SPAN&gt;, 0x0000,0x0000,0x0000&lt;SPAN style="background-color: #ffffff; border: 0px; padding: 0px;"&gt;}};&lt;/SPAN&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;Matej&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Aug 2017 07:42:46 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702442#M14560</guid>
      <dc:creator>pachamatej</dc:creator>
      <dc:date>2017-08-25T07:42:46Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12ZVML128_BLDC_Sensorless adding ADC</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702443#M14561</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;So, if I don't want to modify the motor runing &lt;SPAN lang="en"&gt;&lt;SPAN&gt;algorithm, &lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="en"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="en"&gt;&lt;SPAN&gt;Can I modify HW :&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;AN0_1(sensor1), AN0_3(position sensor (sin)) -&amp;gt; AN1 ch ?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Aug 2017 08:13:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702443#M14561</guid>
      <dc:creator>sohyunjang</dc:creator>
      <dc:date>2017-08-25T08:13:58Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12ZVML128_BLDC_Sensorless adding ADC</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702444#M14562</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;If you are using our&amp;nbsp;S12ZVMLEVBLIN (or devKit), it is easy to reroute the signals to the ADC1. For example POS_SIN can be routed to PAD7 (jumper J46 and J51) and POS_COS (jumper J50 and J52) can be routed to PAD8. Then, you have to set the triggers for ADC1 (ADC0 changes will be reverted to the original version).&lt;/P&gt;&lt;P&gt;Since the SIN and COS signals will be sampled with a delay of 2.5us, some error in the position sensing will be introduced. However, this error should not be significant to the control algorithm (depending on the motor properties and the control dynamics).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Matej&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 25 Aug 2017 08:39:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702444#M14562</guid>
      <dc:creator>pachamatej</dc:creator>
      <dc:date>2017-08-25T08:39:55Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12ZVML128_BLDC_Sensorless adding ADC</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702445#M14563</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/pachamatej"&gt;pachamatej&lt;/A&gt;‌&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks your comment,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I running MC9S12ZVML128_BLDC_Sensorless adding ADC by bleow setting.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PR_SECTION(adcLists)volatile char ADC0CommandList[6][4] = {&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;{ 0x40, 0xD0, 0x00,&amp;nbsp;0x00 },&amp;nbsp;// cu{ 0x40, 0xD0, 0x00,&amp;nbsp;0x00 },&amp;nbsp;// current sense channel, end of sequence [D0]rrent sense channel, end of sequence [D0]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0xCB, 0x00, 0x00 },&amp;nbsp;// end of list + no int [C0], HD voltage [CB], 4 clock cycles sample time [00], reserved [00]&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;{ 0xC0, 0xD3, 0x00, 0x00 }, //Linear&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0x00, 0x00, 0x00 }, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0x00, 0x00, 0x00 }, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0x00, 0x00, 0x00 }};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PR_SECTION(adcLists)volatile char ADC1CommandList[6][4] = {&amp;nbsp;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0xCA, 0x00,&amp;nbsp;0x00 },&amp;nbsp;// [end of list] + no int [C0], phase voltage [CA], 4 clock cycles sample time [00], reserved [00]&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0xD0, 0x00, 0x00 }, //압력 D0&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0xD1, 0x00, 0x00 }, //온도 D1&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="color: #ff0000;"&gt;&amp;nbsp;&amp;nbsp;{ 0xC0, 0xD3, 0x00, 0x00 }, //Linear&lt;/SPAN&gt;&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0x00, 0x00, 0x00 }, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0x00, 0x00,&amp;nbsp;0x00 }};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PR_SECTION(ptuTrigE)volatile short PTUTriggerEventList[PTU_TOT_TRIGGERs_GEN_NO][PTU_TOT_LISTS_NO][4] =&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ { /*DelayT0 */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x0100, 0x0200, 0x0000, 0x0000 }, { 0x0000, 0x0000, 0x0000, 0x0000 } }, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ { 0x0100,0x0000, 0x0000, 0x0000 }, { 0x0000, 0x0000, 0x0000, 0x0000 } } };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Motor running is OK.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, there are problem&amp;nbsp;when motor is not runnig, stop status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I can only get ADC chennel 0 while motor is stop status.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I cannot get ADC chennel 1 while motor is not running.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;what is problem?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;how can I fix the code?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I wait your comment.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Nov 2017 05:53:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702445#M14563</guid>
      <dc:creator>sohyunjang</dc:creator>
      <dc:date>2017-11-16T05:53:00Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12ZVML128_BLDC_Sensorless adding ADC</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702446#M14564</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;The issue is clear to me. The thing is, the demo code was created long time ago and there has been some workaround to suppress the ADC error when the motor is stopped. In this mode, the ADC1 result is not needed in the demo code.&lt;/P&gt;&lt;P&gt;Let me describe what is happening:&lt;/P&gt;&lt;P&gt;The ADC is triggered by the PTU based on the duty cycle setting in UpdateDutycycle() function.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;TABLE class="j-table jiveBorder" style="border: 1px solid #c6c6c6;" width="100%"&gt;&lt;THEAD&gt;&lt;TR style="background-color: #efefef;"&gt;&lt;TH&gt;Before&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;UpdateDutycycle&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
 tU16 delay1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; delay2&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 PMFVAL0 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; duty_cycle&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Set PMF value0 duty cycle sets value1 to value5 as well&lt;/SPAN&gt;
 
 &lt;SPAN class="comment token"&gt;// Trigger calculation to capture DC bus current&lt;/SPAN&gt;
 delay1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; duty_cycle &lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// middle of the pulse - DC Bus current&lt;/SPAN&gt;
 &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;delay1 &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt; MIN_ADC_TRIGGER_FIRST&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MIN_ADC_TRIGGER_FIRST&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 PTUTriggerEventList&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; delay1&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 
 &lt;SPAN class="comment token"&gt;// Trigger calculation to capture phase voltage&lt;/SPAN&gt;
 delay2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;MLIB_Mul&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;duty_cycle&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;BEMF_SENSING_POINT_FRAC&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;F16&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// end of the pulse&lt;/SPAN&gt;
 PTUTriggerEventList&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; delay2&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// ADC1 - phase voltage&lt;/SPAN&gt;
 
 &lt;SPAN class="comment token"&gt;// Trigger calculation to capture DC bus voltage&lt;/SPAN&gt;
 &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;delay2 &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;delay1 &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; MIN_ADC_TRIGGER_SECOND&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; delay1 &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; MIN_ADC_TRIGGER_SECOND&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 PTUTriggerEventList&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; delay2&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// ADC0 second sample - DC Bus Voltage&lt;/SPAN&gt;
 PTUC_PTULDOK &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Reload PTU triggers&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The very first PTU trigger should be at least 16 PTU ticks to let the PTU and ADC settle after the restart. If this condition is not met, the ADC RSTAR error occurs.&lt;/P&gt;&lt;P&gt;The ADC0 triggering is already protected from a very low values - see "Before", line 8-9 and 17-18. However, the ADC1 triggering is not protected and the trigger = 0 occurs whenever the duty cycle is zero.&lt;/P&gt;&lt;P&gt;To fix this issue, the code should look like the following (see lines 14-15):&lt;/P&gt;&lt;TABLE class="j-table jiveBorder" style="border: 1px solid #c6c6c6;" width="100%"&gt;&lt;THEAD&gt;&lt;TR style="background-color: #efefef;"&gt;&lt;TH&gt;After&lt;/TH&gt;&lt;/TR&gt;&lt;/THEAD&gt;&lt;TBODY&gt;&lt;TR&gt;&lt;TD&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;UpdateDutycycle&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="keyword token"&gt;void&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;{&lt;/SPAN&gt;
 tU16 delay1&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; delay2&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 PMFVAL0 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; duty_cycle&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Set PMF value0 duty cycle sets value1 to value5 as well&lt;/SPAN&gt;
 
 &lt;SPAN class="comment token"&gt;// Trigger calculation to capture DC bus current&lt;/SPAN&gt;
 delay1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; duty_cycle &lt;SPAN class="operator token"&gt;&amp;gt;&amp;gt;&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;2&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// middle of the pulse - DC Bus current&lt;/SPAN&gt;
 &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;delay1 &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt; MIN_ADC_TRIGGER_FIRST&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay1 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MIN_ADC_TRIGGER_FIRST&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 PTUTriggerEventList&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; delay1&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 
 &lt;SPAN class="comment token"&gt;// Trigger calculation to capture phase voltage&lt;/SPAN&gt;
 delay2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;MLIB_Mul&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;duty_cycle&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;BEMF_SENSING_POINT_FRAC&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;F16&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// end of the pulse&lt;/SPAN&gt;
 &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;delay2 &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt; MIN_ADC_TRIGGER_FIRST&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp; delay2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; MIN_ADC_TRIGGER_FIRST&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 PTUTriggerEventList&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; delay2&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// ADC1 - phase voltage&lt;/SPAN&gt;
 
 &lt;SPAN class="comment token"&gt;// Trigger calculation to capture DC bus voltage&lt;/SPAN&gt;
 &lt;SPAN class="keyword token"&gt;if&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;delay2 &lt;SPAN class="operator token"&gt;&amp;lt;&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;delay1 &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; MIN_ADC_TRIGGER_SECOND&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; delay2 &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; delay1 &lt;SPAN class="operator token"&gt;+&lt;/SPAN&gt; MIN_ADC_TRIGGER_SECOND&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
 PTUTriggerEventList&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;[&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;]&lt;/SPAN&gt; &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; delay2&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// ADC0 second sample - DC Bus Voltage&lt;/SPAN&gt;

 PTUC_PTULDOK &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;1&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt; &lt;SPAN class="comment token"&gt;// Reload PTU triggers&lt;/SPAN&gt;
&lt;SPAN class="punctuation token"&gt;}&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;/TD&gt;&lt;/TR&gt;&lt;/TBODY&gt;&lt;/TABLE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope it will help. Please let me know how it goes.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best regards,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Matej&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 16 Nov 2017 13:48:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702446#M14564</guid>
      <dc:creator>pachamatej</dc:creator>
      <dc:date>2017-11-16T13:48:49Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12ZVML128_BLDC_Sensorless adding ADC</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702447#M14565</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;I try the way that you recomand.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, It doesn't work.&amp;nbsp; I get only ADC ch 0.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So, I solve the problem by other way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I add the code below.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void AppStop(void)&lt;/P&gt;&lt;P&gt;{&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&lt;SPAN style="color: #ff0000;"&gt;ADC0FLWCTL_TRIG = 1;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;After adding the code, I get ADC ch 0 and ch 1 when motor is stop state.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But, I dont know it is &lt;SPAN lang="en"&gt;&lt;SPAN&gt;appropriate&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;SPAN&gt;&lt;/SPAN&gt; way.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want your comment.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thank you.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 20 Nov 2017 08:31:55 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702447#M14565</guid>
      <dc:creator>sohyunjang</dc:creator>
      <dc:date>2017-11-20T08:31:55Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12ZVML128_BLDC_Sensorless adding ADC</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702448#M14566</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;In my opinion, once it works with no consequences, it's ok to do it. However, it's always a good idea to watch for errors. Please enable the ADC error interrupts in the initADC()&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;ADC1EIE &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="number token"&gt;0xEE&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN class="comment token"&gt;// enable all error interrupts‍&lt;/SPAN&gt;&lt;SPAN class="line-numbers-rows"&gt;&lt;SPAN&gt;‍&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;and watch for the AdcErrorXXXX variables. If they are not changing, then you did well.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Just a note: I have tried my previous solution and it works. Maybe we have a different configuration - my is based on the original BLDC devKit software.&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;Matej&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 21 Nov 2017 09:00:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702448#M14566</guid>
      <dc:creator>pachamatej</dc:creator>
      <dc:date>2017-11-21T09:00:27Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12ZVML128_BLDC_Sensorless adding ADC</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702449#M14567</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;Can you explain more about the '+35' under here??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #ff0000;"&gt;PTUTriggerEventList[0][0][2] = delay2 + 35; //&amp;nbsp;Update trigger for resolver sin-channel&lt;BR /&gt;&lt;/SPAN&gt;&lt;SPAN style="color: #ff0000;"&gt; PTUTriggerEventList[1][0][1] = delay2 + 35; // Update trigger for resolver cos-channel&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;What's the meaning of this code and why is it '+35'??&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I want to use ADC module to get AMP0 and AN1_0 in same example code.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;My codes are&amp;nbsp;like this,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void initGDU()&lt;/P&gt;&lt;P&gt;{&lt;BR /&gt;&amp;nbsp;GDUE_GCSE0 = 1; // enable Current Sense Amplifier 0&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void initGPIO(void)&lt;BR /&gt;{&lt;BR /&gt;&amp;nbsp;DDRADH_DDRADH0 = 1; /*AN1_3 set*/&lt;BR /&gt;&amp;nbsp;PTAD_PTADH0 = 1;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;volatile short PTUTriggerEventList[PTU_TOT_TRIGGERs_GEN_NO][PTU_TOT_LISTS_NO][4] ={ &lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ /*DelayT0 */&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{0x0100, 0x0200, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000} &lt;BR /&gt;&amp;nbsp;&amp;nbsp;}, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ &lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;{0x0100, 0x0200, 0x0000, 0x0000}, {0x0000, 0x0000, 0x0000, 0x0000} &lt;BR /&gt;&amp;nbsp;&amp;nbsp;} &lt;BR /&gt;};&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;volatile char ADC0CommandList[6][4] = { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x40, 0xD0, 0x00, 0x00 },&amp;nbsp;// current sense channel, end of sequence [D0]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0xC0, 0xCB, 0x00, 0x00 },&amp;nbsp;// end of list + no int [C0], HD voltage [CB], 4 clock cycles sample time [00], reserved [00]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0x00, 0x00, 0x00 }, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0x00, 0x00, 0x00 }, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0x00, 0x00, 0x00 }, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0x00, 0x00, 0x00 } };&lt;BR /&gt;PR_SECTION(adcLists)&lt;/P&gt;&lt;P&gt;volatile char ADC1CommandList[6][4] = { &lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x40, 0xCA, 0x00, 0x00 },&amp;nbsp;// [end of list] + no int [C0], phase voltage [CA], 4 clock cycles sample time [00], reserved [00]&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0xC0, 0x50, 0x00, 0x00 }, // ADC1 AN1_0&lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0x00, 0x00, 0x00 }, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0x00, 0x00, 0x00 }, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0x00, 0x00, 0x00 }, &lt;BR /&gt;&amp;nbsp;&amp;nbsp;{ 0x00, 0x00, 0x00, 0x00 } };&lt;/P&gt;&lt;P&gt;volatile unsigned short ADC0ResultList[6] = { 0, 0, 0, 0, 0, 0 };&lt;BR /&gt;volatile unsigned short ADC1ResultList[6] = { 0, 0, 0, 0, 0, 0 };&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void UpdateDutycycle(void) {&lt;BR /&gt;&amp;nbsp;tU16 delay1, delay2;&lt;/P&gt;&lt;P&gt;&amp;nbsp;PMFVAL0 = duty_cycle;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;delay1 = duty_cycle &amp;gt;&amp;gt; 2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// middle of the pulse - DC Bus current&lt;BR /&gt;&amp;nbsp;if (delay1 &amp;lt; MIN_ADC_TRIGGER_FIRST)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;delay1 = MIN_ADC_TRIGGER_FIRST;&lt;BR /&gt;&amp;nbsp;PTUTriggerEventList[0][0][0] = delay1;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;delay2 = MLIB_Mul(duty_cycle,BEMF_SENSING_POINT_FRAC,F16);&amp;nbsp;// end of the pulse&lt;BR /&gt;&amp;nbsp;if (delay2 &amp;lt; MIN_ADC_TRIGGER_FIRST)&lt;BR /&gt;&amp;nbsp;&amp;nbsp;delay2 = MIN_ADC_TRIGGER_FIRST;&lt;BR /&gt;&amp;nbsp;PTUTriggerEventList[1][0][0] = delay2;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;// ADC1 - phase voltage&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;if (delay2 &amp;lt; (delay1 + MIN_ADC_TRIGGER_SECOND))&lt;BR /&gt;&amp;nbsp;&amp;nbsp;delay2 = delay1 + MIN_ADC_TRIGGER_SECOND;&lt;BR /&gt;&amp;nbsp;PTUTriggerEventList[0][0][1] = delay2;&amp;nbsp;// ADC0 second sample - DC Bus Voltage&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;BR /&gt;&amp;nbsp;PTUTriggerEventList[1][0][1] = delay2+35;&lt;/P&gt;&lt;P&gt;&amp;nbsp;PTUC_PTULDOK = 1;&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;It looks like that the ADC values are measured, but the BLDC motor is not rotating normally(repeat stop and go).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;what's the problem of my code?? I beg your opinion.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 09 Mar 2018 07:12:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702449#M14567</guid>
      <dc:creator>subinkim</dc:creator>
      <dc:date>2018-03-09T07:12:00Z</dc:date>
    </item>
    <item>
      <title>Re: MC9S12ZVML128_BLDC_Sensorless adding ADC</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702450#M14568</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;Hello,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;please see the comment in my first response:&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #f0fade;"&gt;Please note that the " + 35" is directly connected with the bus frequency and it should be at least 2.5 us&amp;nbsp;@ 8.3 MHz sampling frequency as required by ADC in terms of the time between two samples (see the reference manual for more details).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;It is related to a mandatory delay between two samples of ADC, which should be at least 2.5us if 12bit conversion and 8.3MHz clock is used with ADC.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;If the motor is not running, please test it step by step from the original code, through the changes to the final code. If the reason is the ADC error, then the timing of the ADC sampling should checked and changed. Please use the PTU trigger debug signals to investigate the distance between triggers (see&amp;nbsp;PTUDEBUG description in the reference manual).&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;Please let me know if it helps.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #ffffff; color: #51626f;"&gt;Matej&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 26 Mar 2018 08:52:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/MC9S12ZVML128-BLDC-Sensorless-adding-ADC/m-p/702450#M14568</guid>
      <dc:creator>pachamatej</dc:creator>
      <dc:date>2018-03-26T08:52:59Z</dc:date>
    </item>
  </channel>
</rss>

