<?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のトピックS12ZVML PMSM Temperature Measure  Source</title>
    <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML-PMSM-Temperature-Measure-Source/m-p/974459#M16837</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Everone!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;there is a problem relate to PMSM Sensorless Temperature Measure&amp;nbsp;,I&amp;nbsp;can not understand following Program:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="PMSM Meas_GetTemperature.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/64322i9706E5B5CF4AD087/image-size/large?v=v2&amp;amp;px=999" role="button" title="PMSM Meas_GetTemperature.png" alt="PMSM Meas_GetTemperature.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font: 200 14px/21px Arial, 'Microsoft YaHei', '微软雅黑', '宋体', 'Malgun Gothic', Meiryo, sans-serif; text-align: left; color: #333333; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; float: none; display: inline !important; white-space: normal; font-size-adjust: none; font-stretch: normal; background-color: #ffffff; -webkit-text-stroke-width: 0px;"&gt;Who can hellp me!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font: 200 14px/21px Arial, 'Microsoft YaHei', '微软雅黑', '宋体', 'Malgun Gothic', Meiryo, sans-serif; text-align: left; color: #333333; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; float: none; display: inline !important; white-space: normal; font-size-adjust: none; font-stretch: normal; background-color: #ffffff; -webkit-text-stroke-width: 0px;"&gt;Thanks!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Tue, 27 Aug 2019 08:15:24 GMT</pubDate>
    <dc:creator>rzkity</dc:creator>
    <dc:date>2019-08-27T08:15:24Z</dc:date>
    <item>
      <title>S12ZVML PMSM Temperature Measure  Source</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML-PMSM-Temperature-Measure-Source/m-p/974459#M16837</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Everone!&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;there is a problem relate to PMSM Sensorless Temperature Measure&amp;nbsp;,I&amp;nbsp;can not understand following Program:&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="PMSM Meas_GetTemperature.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/64322i9706E5B5CF4AD087/image-size/large?v=v2&amp;amp;px=999" role="button" title="PMSM Meas_GetTemperature.png" alt="PMSM Meas_GetTemperature.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font: 200 14px/21px Arial, 'Microsoft YaHei', '微软雅黑', '宋体', 'Malgun Gothic', Meiryo, sans-serif; text-align: left; color: #333333; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; float: none; display: inline !important; white-space: normal; font-size-adjust: none; font-stretch: normal; background-color: #ffffff; -webkit-text-stroke-width: 0px;"&gt;Who can hellp me!&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font: 200 14px/21px Arial, 'Microsoft YaHei', '微软雅黑', '宋体', 'Malgun Gothic', Meiryo, sans-serif; text-align: left; color: #333333; text-transform: none; text-indent: 0px; letter-spacing: normal; word-spacing: 0px; float: none; display: inline !important; white-space: normal; font-size-adjust: none; font-stretch: normal; background-color: #ffffff; -webkit-text-stroke-width: 0px;"&gt;Thanks!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 27 Aug 2019 08:15:24 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML-PMSM-Temperature-Measure-Source/m-p/974459#M16837</guid>
      <dc:creator>rzkity</dc:creator>
      <dc:date>2019-08-27T08:15:24Z</dc:date>
    </item>
    <item>
      <title>Re: S12ZVML PMSM Temperature Measure  Source</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML-PMSM-Temperature-Measure-Source/m-p/974460#M16838</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;The internal temperature sensor is described in the Reference Manual. You can find some basic information e.g. on the page No.324, where the voltage of the temperature sensor is calculated as VHT(temp) = VHT(150DgC) – (150 – temp)*dVHT.&lt;/P&gt;&lt;P&gt;The slope dVHT is defined in Table B-1, row #13, typically 5.25 mV/DgC. The VHT(150DgC) is defined by the same table, row #14, as 2.4 V without any trimming.&lt;/P&gt;&lt;P style="text-indent: .5in;"&gt;VHT(temp) = 2.4 – (150 – temp)*5.25E-3&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;As an example, if the temp is 20 DgC, the voltage would be&lt;/P&gt;&lt;P style="text-indent: .5in;"&gt;VHT(temp) = 2.4 – (150 – 20)*5.25E-3 = 1.7175 V&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Now, since the ADC is scaled to VDDA, typically 5 V, the full scale voltage (5 V) would mean&lt;/P&gt;&lt;P style="text-indent: .5in;"&gt;Temp = (VHT(temp) – 2.4 + 150*5.25E-3)/5.25E-3 = (5 – 2.4 + 0.7875)/5.25E-3 = 645.2381 DgC&lt;/P&gt;&lt;P&gt;However, this voltage should never occur since the chip would already burned out.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;You may notice that the characteristics obtained the way above will be shifted as indicated below by orange &lt;EM&gt;Original&lt;/EM&gt; line (ADC input relative, fitting the Frac16 format). To compensate this, a shift and slope needs to be added.&lt;/P&gt;&lt;P&gt;&lt;SPAN class="lia-inline-image-display-wrapper" image-alt="temp.png"&gt;&lt;IMG alt="temp.png" src="https://community.nxp.com/t5/image/serverpage/image-id/81954i9AE146EA06F57BFD/image-size/large?v=v2&amp;amp;px=999" title="temp.png" /&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The Original line can be expressed as:&lt;/P&gt;&lt;P style="text-indent: .5in;"&gt;VHT(temp) = 2.4 – (150 – temp)*5.25E-3&lt;/P&gt;&lt;P&gt;Scaled as:&lt;/P&gt;&lt;P style="text-indent: .5in;"&gt;VHT(temp) = (2.4 – (150 – temp)*5.25E-3)/5 = 0.48 – 0.1575 + 1.05E-3 * temp = ADC&lt;/P&gt;&lt;P style="text-indent: .5in;"&gt;ADC = temp * 1.05E-3 + 0.3225&lt;/P&gt;&lt;P&gt;To compensate, we would like to keep the maximum and have a zero output for zero temperature. Basically, we need to get from the input to the temperature through the Original line and then back to the input through the Compensated line.&lt;/P&gt;&lt;P&gt;Inverting the ADC function gives us:&lt;/P&gt;&lt;P style="text-indent: .5in;"&gt;Temp = (ADC – 0.3225) / 1.05E-3&lt;/P&gt;&lt;P&gt;The desired form of Compensated function is:&lt;/P&gt;&lt;P&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; ADC_comp = Temp / 645.2381 (the output is scaled to 1.0)&lt;/P&gt;&lt;P&gt;Combining these two functions in one, we get:&lt;/P&gt;&lt;P&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; ADC_comp = (ADC – 0.3225) / 1.05E-3 / 645.2381&lt;/P&gt;&lt;P&gt;To create a form of&lt;/P&gt;&lt;P&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; y = k * x + q&lt;/P&gt;&lt;P&gt;We simply need to extract the k and q values:&lt;/P&gt;&lt;P&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; k = 1/(1.05E-3 * 645.2381) = 1.476014&lt;/P&gt;&lt;P&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; q = - 0.3225/(1.05E-3 * 645.2381) = - 0.476014&lt;/P&gt;&lt;P&gt;These values are unfortunately outside of the Frac16 scale (outside of the -1.0 to 1.0 range). Therefore, let’s divide it by two (to be able to use bitwise shift).&lt;/P&gt;&lt;P&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; k = 0.738007&lt;/P&gt;&lt;P&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; q = - 0.238007&lt;/P&gt;&lt;P&gt;This operation is giving us the result divided by two. After the operation is done, we can multiply it again by two and get the compensated results.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The math concluded is:&lt;/P&gt;&lt;P&gt;ADC_comp = (0.738007 * (ADC) – 0.238007)*2&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE class="language-c line-numbers"&gt;&lt;CODE&gt;ptr&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;measured&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;f16Temp&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;raw &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;tFrac16&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ADC1ResultList&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="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
ptr&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;measured&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;f16Temp&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;filt &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;MLIB_Mul_F16&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ptr&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;measured&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;f16Temp&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;raw&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt;&lt;SPAN class="token function"&gt;FRAC16&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0.73801&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
ptr&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;measured&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;f16Temp&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;filt &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;MLIB_Sub_F16&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ptr&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;measured&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;f16Temp&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;filt&lt;SPAN class="punctuation token"&gt;,&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;FRAC16&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;&lt;SPAN class="number token"&gt;0.23801&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;)&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;;&lt;/SPAN&gt;
ptr&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;measured&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;f16Temp&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;filt &lt;SPAN class="operator token"&gt;=&lt;/SPAN&gt; &lt;SPAN class="token function"&gt;MLIB_ShL_F16&lt;/SPAN&gt;&lt;SPAN class="punctuation token"&gt;(&lt;/SPAN&gt;ptr&lt;SPAN class="operator token"&gt;-&amp;gt;&lt;/SPAN&gt;measured&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;f16Temp&lt;SPAN class="punctuation token"&gt;.&lt;/SPAN&gt;filt&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="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;/CODE&gt;&lt;/PRE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The calculation provided in the meas_s12zvm.c in the GetTemperature() function should be as above (in case it is not yet corrected in the examples provided online).&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 02 Nov 2020 14:29:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML-PMSM-Temperature-Measure-Source/m-p/974460#M16838</guid>
      <dc:creator>pachamatej</dc:creator>
      <dc:date>2020-11-02T14:29:56Z</dc:date>
    </item>
    <item>
      <title>Re: S12ZVML PMSM Temperature Measure  Source</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML-PMSM-Temperature-Measure-Source/m-p/974461#M16839</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;A _jive_internal="true" data-avatarid="29371" data-externalid="" data-online="false" data-presence="null" data-userid="266576" data-username="pachamatej" href="https://community.nxp.com/people/pachamatej"&gt;&lt;SPAN style="color: #0066cc; text-decoration: underline; "&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; &amp;nbsp;Matej Pacha&lt;/SPAN&gt;&lt;/A&gt; ,Thanks ! I understand the implications of this programs for your answer&lt;SPAN style="color: #666666; font-family: Arial;"&gt;.But how&amp;nbsp;do&amp;nbsp;i calculate&amp;nbsp;the temperature value via this variable.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #666666; font-family: Arial;"&gt;please help me !&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #666666; font-family: Arial;"&gt;Thangks!!&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 29 Aug 2019 02:37:56 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML-PMSM-Temperature-Measure-Source/m-p/974461#M16839</guid>
      <dc:creator>rzkity</dc:creator>
      <dc:date>2019-08-29T02:37:56Z</dc:date>
    </item>
    <item>
      <title>Re: S12ZVML PMSM Temperature Measure  Source</title>
      <link>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML-PMSM-Temperature-Measure-Source/m-p/974462#M16840</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello&lt;A class="jx-jive-macro-user" href="https://community.nxp.com/people/rzkity@163.com"&gt;rzkity@163.com&lt;/A&gt;,&lt;/P&gt;&lt;P&gt;Regarding the sensor, please refer to&amp;nbsp;AN3624&amp;nbsp;S12X Temperature Sensor&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="https://www.nxp.com/docs/en/application-note/AN3624.pdf" title="https://www.nxp.com/docs/en/application-note/AN3624.pdf"&gt;https://www.nxp.com/docs/en/application-note/AN3624.pdf&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;All MagniV S12Z MCU have the same sensor.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR, Daniel&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 10 Sep 2019 14:27:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/S12-MagniV-Microcontrollers/S12ZVML-PMSM-Temperature-Measure-Source/m-p/974462#M16840</guid>
      <dc:creator>danielmartynek</dc:creator>
      <dc:date>2019-09-10T14:27:47Z</dc:date>
    </item>
  </channel>
</rss>

