<?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: HVI (ADC) measure in S12 / MagniV Microcontrollers</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HVI-ADC-measure/m-p/636990#M13569</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Aaron,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I was wrong in my previous answer. Sorry for that. Your measurement is correct.&lt;/P&gt;&lt;P&gt;The HVI circuit has a standoff voltage. So, the HVI cannot reach the full scale of the ADC.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 25 Apr 2017 19:18:38 GMT</pubDate>
    <dc:creator>danielmartynek</dc:creator>
    <dc:date>2017-04-25T19:18:38Z</dc:date>
    <item>
      <title>HVI (ADC) measure</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HVI-ADC-measure/m-p/636987#M13566</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 HVI0 to measure 0~30VDC. But I can not measure 22.2~30V.&lt;/P&gt;&lt;P&gt;The ADC result:&lt;/P&gt;&lt;P&gt;8bit ADC&lt;/P&gt;&lt;P&gt;5V ==&amp;gt; 43&lt;/P&gt;&lt;P&gt;10V ==&amp;gt; 86&lt;/P&gt;&lt;P&gt;15V ==&amp;gt; 129&lt;/P&gt;&lt;P&gt;20V ==&amp;gt; 172&lt;/P&gt;&lt;P&gt;22.1V ==&amp;gt; 190&lt;/P&gt;&lt;P&gt;25V ==&amp;gt; 190 (I got wrong value, It should be around 215)&lt;/P&gt;&lt;P&gt;30V ==&amp;gt; 190&amp;nbsp;&lt;SPAN&gt;(I got wrong value, It should be around 255&lt;SPAN&gt;)&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;10bit ADC&lt;/P&gt;&lt;P&gt;5V ==&amp;gt; 172&lt;/P&gt;&lt;P&gt;10V ==&amp;gt; 343&lt;/P&gt;&lt;P&gt;15V ==&amp;gt; 515&lt;/P&gt;&lt;P&gt;20V ==&amp;gt; 687&lt;/P&gt;&lt;P&gt;22.2V ==&amp;gt; 762&lt;/P&gt;&lt;P&gt;25V ==&amp;gt; 762 (I got wrong value, It should be around 859)&lt;/P&gt;&lt;P&gt;30V ==&amp;gt; 762 (I got wrong value, It should be around 1023)&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;What problem in my code?&lt;/SPAN&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;#include &amp;lt;hidef.h&amp;gt; /* for EnableInterrupts macro */&lt;BR /&gt;#include "derivative.h" /* include peripheral declarations */&lt;BR /&gt;#include "ADC.h"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#define HVI0 0x0D //Internal_5 - High voltage input port L0&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;unsigned int ADC_Vin_VALUE=0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void main(void) {&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;unsigned int result=0;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;unsigned char digit[4];&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;DIENL_DIENL0= 0; // PL0: DISABLE Digital Input&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;PTAENL_PTAENL0=1; // PL0: ENABLE ADC&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;PTADIRL_PTADIRL0= 0; // PL0: DISABLE Direct-Mode&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;PIRL_PIRL0=0; // PL0: H_HVI (Ratio 6:1)&lt;BR /&gt; &lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ADC_init();&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;for(;;){&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC_Vin_VALUE = ADC_read(HVI0);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;result = ADC_Vin_VALUE;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;digit[0] = result % 10;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;digit[1] = ((result - digit[0]) / 10) % 10;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;digit[2] = ((result - digit[1]*10 - digit[0]) /100) % 10;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;digit[3] = ((result - digit[2]*100 - digit[1]*10 - digit[0]) /1000) % 10;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;}&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;/*&lt;BR /&gt; * ADC.c&lt;BR /&gt; *&lt;BR /&gt; * Created on: Dec 1, 2015&lt;BR /&gt; * Author: B55840&lt;BR /&gt; */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;#include "derivative.h"&lt;BR /&gt;#include "ADC.h"&lt;BR /&gt;#include "GPIO.h"&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* ADC list directions value*/&lt;/P&gt;&lt;P&gt;volatile unsigned char adc0_cmdlist[1][4] = {0xC0,0xD0,0xA0,0x00};&lt;BR /&gt;volatile unsigned int adc0_results[1];&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;void ADC_init(void){&lt;BR /&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0CTL_0 = 0x0D; /*Dual Access mode and trigger mode selected */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0CTL_1 = 0x00; /* Single command and result value list */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0TIM = 0x0F; /*No prescale selected */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0FMT = 0x80; /* Left justified and 8 bit resolution */&lt;BR /&gt;// ADC0FMT = 0x82; /* Left justified and 10 bit resolution */&lt;BR /&gt;// ADC0FMT = 0x84; /* Left justified and 12 bit resolution */&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;/* ADC0 Command &amp;amp; Result Base Pointers */&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0CBP_0 = (unsigned char)(((long)adc0_cmdlist) &amp;gt;&amp;gt; 16);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0CBP_1 = (unsigned char)(((long)adc0_cmdlist) &amp;gt;&amp;gt; 8);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0CBP_2 = (unsigned char)((long)adc0_cmdlist);&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;// ADC0 Result Base Pointer&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0RBP_0 = (unsigned char)(((long)adc0_results) &amp;gt;&amp;gt; 16);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0RBP_1 = (unsigned char)(((long)adc0_results) &amp;gt;&amp;gt; 8);&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0RBP_2 = (unsigned char)((long)adc0_results);&lt;BR /&gt;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0CTL_0_ADC_EN= 1; /*Enables the ADC */&lt;BR /&gt;}&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;unsigned int ADC_read(unsigned int channel){&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;adc0_cmdlist[0][1] = 0xC0|channel;&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0FLWCTL_RSTA = 1; // Restart Event&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;while(0x00 == ADC0CONIF){} //wait until conversion is complete&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;ADC0CONIF = ADC0CONIF;//clear flag&lt;BR /&gt; &amp;nbsp;&amp;nbsp;&amp;nbsp;return adc0_results[0];&lt;BR /&gt;}&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Apr 2017 03:46:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HVI-ADC-measure/m-p/636987#M13566</guid>
      <dc:creator>aaronlee</dc:creator>
      <dc:date>2017-04-24T03:46:30Z</dc:date>
    </item>
    <item>
      <title>Re: HVI (ADC) measure</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HVI-ADC-measure/m-p/636988#M13567</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regarding code, there is an example on the community:&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-333414"&gt;High Voltage Input (HVI) SW examples for MagniV devices.&lt;/A&gt;&lt;/P&gt;&lt;P&gt;So, you can try the code and see if you get same result.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I have noticed that your cmdlist and result list is not aligned __attribute__ ((aligned (4))) which should be. And you comment that the result is “left justified” but 0x8x stands for “right justified”.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Make sure you use a 10k serial resistor on HVI pin.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Apr 2017 16:39:28 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HVI-ADC-measure/m-p/636988#M13567</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2017-04-24T16:39:28Z</dc:date>
    </item>
    <item>
      <title>Re: HVI (ADC) measure</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HVI-ADC-measure/m-p/636989#M13568</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;Thanks a lot.&lt;/P&gt;&lt;P&gt;I make sure 10k serial resistor on HVI pin.&lt;/P&gt;&lt;P&gt;I modify some code as follow. The result of ADC is the same.&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #f6f6f6;"&gt;volatile unsigned char adc0_cmdlist[1][4] &lt;SPAN style="background-color: #ffffff;"&gt;__attribute__ ((aligned (4)))&amp;nbsp;&lt;/SPAN&gt;= {0xC0,0xD0,0xA0,0x00};&lt;/SPAN&gt;&lt;BR style="color: #51626f; background-color: #f6f6f6;" /&gt;&lt;SPAN style="color: #51626f; background-color: #f6f6f6;"&gt;volatile unsigned int adc0_results[1] &lt;SPAN style="background-color: #ffffff;"&gt;__attribute__ ((aligned (4)))&lt;/SPAN&gt;;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BLOCKQUOTE&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;SPAN&gt;ADC0FMT = 0x80; /* Right justified and 8 bit resolution */&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;I use the&amp;nbsp;&lt;A _jive_internal="true" data-containerid="11493" data-containertype="14" data-content-finding="Community" data-objectid="333414" data-objecttype="102" href="https://community.nxp.com/docs/DOC-333414" style="color: #5e89c1; background-color: #ffffff; border: 0px; padding: 1px 0px 1px calc(12px + 0.35ex);"&gt;High Voltage Input (HVI) SW examples for MagniV devices.&lt;/A&gt;&amp;nbsp;&lt;SPAN&gt;The result of ADC is the same, too.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN&gt;I think the voltage above 22V&amp;nbsp;has&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&amp;nbsp;been clipped. Why?&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="background-color: #f6f6f6; color: #51626f;"&gt;I try to change ratio=2.&lt;/SPAN&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;SPAN style="background-color: #f6f6f6;"&gt;PIRL_PIRL0=1; // PL0: L_HVI (Ratio 2:1)&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;The voltage above 7.8V has been clipped, too.&lt;/P&gt;&lt;P&gt;How can I do?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Aaron&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Apr 2017 04:58:20 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HVI-ADC-measure/m-p/636989#M13568</guid>
      <dc:creator>aaronlee</dc:creator>
      <dc:date>2017-04-25T04:58:20Z</dc:date>
    </item>
    <item>
      <title>Re: HVI (ADC) measure</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HVI-ADC-measure/m-p/636990#M13569</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Aaron,&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I was wrong in my previous answer. Sorry for that. Your measurement is correct.&lt;/P&gt;&lt;P&gt;The HVI circuit has a standoff voltage. So, the HVI cannot reach the full scale of the ADC.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 25 Apr 2017 19:18:38 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HVI-ADC-measure/m-p/636990#M13569</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2017-04-25T19:18:38Z</dc:date>
    </item>
    <item>
      <title>Re: HVI (ADC) measure</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HVI-ADC-measure/m-p/636991#M13570</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Dear Daniel,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;BLOCKQUOTE class="jive_macro_quote jive-quote jive_text_macro"&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;The HVI circuit has a standoff voltage. So, the HVI cannot reach the full scale of the ADC.&lt;/SPAN&gt;&lt;/BLOCKQUOTE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;This answer is important &lt;/SPAN&gt;for me. I&amp;nbsp;&lt;SPAN&gt;get &lt;/SPAN&gt;&lt;SPAN&gt;a&lt;/SPAN&gt;&lt;SPAN&gt; deeper understanding&lt;/SPAN&gt; o&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;SPAN style="color: #000000;"&gt;f the HVI.&lt;/SPAN&gt;&amp;nbsp;Thank you.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;I will use ratio H_HVI=6 to measure my signal (0~10V). And use 12-bit to increase resolution.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Now, I understand the Num.26 of Table G-1&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_6.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/14881i7AD79224FA5F92DA/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_6.png" alt="pastedImage_6.png" /&gt;&lt;/span&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Best Regards,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; background-color: #ffffff;"&gt;Aaron&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 26 Apr 2017 06:26:30 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/HVI-ADC-measure/m-p/636991#M13570</guid>
      <dc:creator>aaronlee</dc:creator>
      <dc:date>2017-04-26T06:26:30Z</dc:date>
    </item>
  </channel>
</rss>

