<?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 KV31 fixed point math in Kinetis Motor Suite</title>
    <link>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653178#M171</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;&amp;nbsp;&amp;nbsp;I am using FRDM-KV31F and FRDM-MC-LVPMSM boards to control a PMSM motor using Kinetis Motor Control, and I noticed that fixed point math is used for the FOC algorithm. Is it possible to use floating point math for the FOC algoritm? Why the fixed point math is used instead floating point, because as far as I know KV31 microcontroller has single precision floating point unit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 06 Apr 2017 10:37:17 GMT</pubDate>
    <dc:creator>mariusrad</dc:creator>
    <dc:date>2017-04-06T10:37:17Z</dc:date>
    <item>
      <title>KV31 fixed point math</title>
      <link>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653178#M171</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;&amp;nbsp;&amp;nbsp;I am using FRDM-KV31F and FRDM-MC-LVPMSM boards to control a PMSM motor using Kinetis Motor Control, and I noticed that fixed point math is used for the FOC algorithm. Is it possible to use floating point math for the FOC algoritm? Why the fixed point math is used instead floating point, because as far as I know KV31 microcontroller has single precision floating point unit.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Apr 2017 10:37:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653178#M171</guid>
      <dc:creator>mariusrad</dc:creator>
      <dc:date>2017-04-06T10:37:17Z</dc:date>
    </item>
    <item>
      <title>Re: KV31 fixed point math</title>
      <link>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653179#M172</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Marius,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;KMS on the KV31 is only available as a fixed-point solution. We have run benchmarks between fixed and floating point libraries and there is virtually no difference in performance or code size.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you are interested in motor control libraries that are floating point we do have them:&lt;/P&gt;&lt;P&gt;&lt;A class="link-titled" href="http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/kinetis-cortex-m-mcus/v-series-real-time-control-m0-plus-m4-m7/real-time-control-embedded-software-motor-control-and-power-conversion-libraries:RTCESL" title="http://www.nxp.com/products/microcontrollers-and-processors/arm-processors/kinetis-cortex-m-mcus/v-series-real-time-control-m0-plus-m4-m7/real-time-control-embedded-software-motor-control-and-power-conversion-libraries:RTCESL"&gt;Real Time Control Embedded Software Motor Control and Power Conversion Libraries|NXP&lt;/A&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But please notice that those are not the same libraries that are used in KMS. Those libraries are essentially considered "advanced" or for advanced users.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Let me know if you have further questions or comments.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Eduardo&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 06 Apr 2017 14:25:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653179#M172</guid>
      <dc:creator>eduardo_viramon</dc:creator>
      <dc:date>2017-04-06T14:25:09Z</dc:date>
    </item>
    <item>
      <title>Re: KV31 fixed point math</title>
      <link>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653180#M173</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Eduardo.&amp;nbsp; Do you have any specific data or white papers on the fix/floating point comparison?&amp;nbsp; Any application code examples utilizing the floating point libraries?&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks!&lt;/P&gt;&lt;P&gt;Ben&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Jun 2018 12:39:06 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653180#M173</guid>
      <dc:creator>bwillis</dc:creator>
      <dc:date>2018-06-18T12:39:06Z</dc:date>
    </item>
    <item>
      <title>Re: KV31 fixed point math</title>
      <link>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653181#M174</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Take a look at the Math Library Users Guide and other documents on the real time control libraries. &lt;A href="https://www.nxp.com/products/processors-and-microcontrollers/arm-based-processors-and-mcus/kinetis-cortex-m-mcus/v-seriesreal-time-ctlm0-plus-m4-m7/real-time-control-embedded-software-motor-control-and-power-conversion-libraries:RTCESL?fsrch=1&amp;amp;sr=2&amp;amp;pageNum=1"&gt;HERE&lt;/A&gt;&lt;/P&gt;&lt;P&gt;RTCESL: Real Time Control Embedded Software Motor Control and Power Conversion Libraries.&lt;/P&gt;&lt;P&gt;The KMS specifics are covered in the &lt;A href="https://www.nxp.com/docs/en/reference-manual/KMSRM.pdf"&gt;KMS API Reference Manual&lt;/A&gt;&amp;nbsp;in Chapter 24.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Philip&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 18 Jun 2018 19:19:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653181#M174</guid>
      <dc:creator>philip_drake</dc:creator>
      <dc:date>2018-06-18T19:19:00Z</dc:date>
    </item>
    <item>
      <title>Re: KV31 fixed point math</title>
      <link>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653182#M175</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks Philip, does one of those have benchmarking data regarding performance?&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 19 Jun 2018 15:32:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653182#M175</guid>
      <dc:creator>bwillis</dc:creator>
      <dc:date>2018-06-19T15:32:58Z</dc:date>
    </item>
    <item>
      <title>Re: KV31 fixed point math</title>
      <link>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653183#M176</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Sorry, but I don’t see any benchmark comparisons.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 22 Jun 2018 17:50:08 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653183#M176</guid>
      <dc:creator>philip_drake</dc:creator>
      <dc:date>2018-06-22T17:50:08Z</dc:date>
    </item>
    <item>
      <title>Re: KV31 fixed point math</title>
      <link>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653184#M177</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I've done a limited amount of this benchmarking / comparison. Based on our limited testing we've found no meaningful difference between floating point and fixed point FOC on the KV31. Unfortunately, I don't have data that is shareable.&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;A single-precision floating point number is limited to 24 significand bits. The fixed-point type used for all calculations requiring precision in KMS is a Q24 which maintains the exact same precision as a single-precision float. We spent quite a bit of time optimizing the fixed point math library to improve the execution speed of the basic math operations, so that the math execution speed is on-par with the standard library floating point operations.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The only advantage you could gain by running in floating point is that everything can be done using engineering units instead or normalized units.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jun 2018 01:34:47 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653184#M177</guid>
      <dc:creator>linestream-adam</dc:creator>
      <dc:date>2018-06-25T01:34:47Z</dc:date>
    </item>
    <item>
      <title>Re: KV31 fixed point math</title>
      <link>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653185#M178</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Great, thanks for the info.&amp;nbsp;&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 25 Jun 2018 20:18:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Motor-Suite/KV31-fixed-point-math/m-p/653185#M178</guid>
      <dc:creator>bwillis</dc:creator>
      <dc:date>2018-06-25T20:18:02Z</dc:date>
    </item>
  </channel>
</rss>

