<?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: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322645#M14652</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;BR /&gt;&lt;BR /&gt;If you don't enable the SYSTICK you don't need to disable it...&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Thu, 24 Jan 2019 20:57:12 GMT</pubDate>
    <dc:creator>mjbcswitzerland</dc:creator>
    <dc:date>2019-01-24T20:57:12Z</dc:date>
    <item>
      <title>Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322628#M14635</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The use of the STOP based low power modes has been investigated for systems that have continuous UART demands (that is, there is one or more UART that can receive at "any time" and the Kinetis SW may be sending data of its own to one or more UART outputs). At the same time the general power consumption needs to be held as low as possible (eg. in a battery operated system).&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;The VLPS mode was identified as a potentially very good compromise since it achieves low current consumption but allows UARTs to wake the system on any detected activity.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;There are a few discussions about using this mode and also some examples eg.:&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" data-containerid="2019" data-containertype="14" data-objectid="320599" data-objecttype="1" href="https://community.nxp.com/thread/320599#comment-388502"&gt;Re: Re: K60, UART and Low Power Interrupt enabled, but UART not responding to fopen - help!&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" data-containerid="2019" data-containertype="14" data-objectid="101064" data-objecttype="1" href="https://community.nxp.com/thread/101064#comment-379316"&gt;Re: Waking from VLPS&lt;/A&gt;&lt;/P&gt;&lt;P&gt;however these don't actually allow a randomly operating system to achieve the requirement of optimising power by staying in a low power stop mode for as much time as possible but still responding to any data (eg. at 115200 Baud) that can occur at any time (including when moving to the low power state) without risk of loss of data.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Below are notes made during tests of the design and implementation of such a system. Initially the K, KL and KE family low power modes are compared and currents measured and then the task of achieving the operation specifically for the FRDM-K64F as test vehicle is briefly documented.&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;The result of the study was a system operating on the FRDM-K64F that would automatically utilise either the normal or low power STOP modes but neither corrupt UART transmissions in progress nor lose UART receptions that can wake up the processor from such a mode at any point in time (or "during" the change to the low power mode). &lt;SPAN style="color: #575757; text-decoration: underline;"&gt;Attached is a binary file that can be loaded to the board&lt;/SPAN&gt; showing that the LED blinks and the UART command line interface responds identically in any of the modes (showing no indication that low power modes are in use). Connect to the UART0 at 115kBaud via the virtual COM connection and command low power mode changes in the "Administrator" menu (menu 4) whereby "set_lp 0" commands the standard WAIT mode, "set_lp 1" commands the normal STOP mode and "set_lp 3" commands the VLPS mode ("show_lp" shows the modes available and the one that is presently being used - WAIT is the default).&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;The current measured at J20 shows that that the typical 28mA current (when not utilising any low power modes at 50MHz clock) is reduced to 14.4mA in WAIT mode, to 0.8mA in STOP mode and &amp;lt; 200uA in VLPS mode operation strategies. [&lt;SPAN style="text-decoration: underline;"&gt;The output on J1-2 can be connected to an oscilloscope to monitor the time that the processor is in the RUN mode ('0') and in the chosen low power mode ('1')&lt;/SPAN&gt;].&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;This mode of operation (automatically controlled by the low power task and to be extended to various other peripherals with asynchronous wakeup capability) has been added to the uTasker project and is operational on KE, KL and K devices in interrupt or DMA modes (not KE since it don't support DMA) and will be included in the next release. Pilot projects are in the test phase and users with such low power requirements are welcome to join in the pilot scheme.&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" href="https://community.nxp.com/external-link.jspa?url=http%3A%2F%2Fwww.utasker.com%2Fkinetis.html" rel="nofollow" target="_blank"&gt;µTasker Kinetis support&lt;/A&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;===============================STOP based modes =============================================================&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;Basis comparison of mode when a simple project flashes and LED based on SYSTICK and controls a command line menu on a UART that allows the low power modes to be changed:&lt;/P&gt;&lt;P&gt;The low power mode is entered whenever there is no system activity (controlled by a low power task) and any interrupt causes the mode to be exited.&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;FRDM-KE06Z - normal RUN mode 40MHz 14.0mA VDD_KE06Z; with basic low power mode enabled (WAIT) 5.6mA .&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;With STOP mode enabled 0.4mA measured when commanded (SYSTICK and UART stop operating)&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;FRDM-KL02Z - normal RUN mode 48MHz 7.5mA. With basic low power mode enabled 3.4mA &lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;With STOP mode enabled 0.2mA &lt;EM&gt;&lt;STRONG&gt;(SYSTICK and UART stop operating)&lt;/STRONG&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;With VLPS mode enabled approx. 0mA &lt;EM&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;STRONG&gt;(SYSTICK and UART stop operating)&lt;/STRONG&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;FRDM-K64F - normal RUN mode 120MHz 45mA ; with basic low power mode enabled (WAIT) 26mA.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;With STOP mode enabled 0.8mA. &lt;EM&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;STRONG&gt;(SYSTICK and UART stop operating)&lt;/STRONG&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;BR /&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;With VLPS mode enabled 0.2mA. &lt;EM&gt;&lt;STRONG&gt;&lt;EM&gt;&lt;STRONG&gt;(SYSTICK and UART stop operating)&lt;/STRONG&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Since some settings are preserved between resets and some registers can only be written once it is generally necessary to perform a power cycle to start testing a different mode of low power operation.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Attempt to achieve full UART operation in low power modes.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;- It was found that the PLL stops in any STOP based modes. If MCG_C5_PLLSTEN0 is set in MCG_C5 the PLL continues running in "normal" STOP mode but is still stopped in VLPS.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;- It is necessary to allow UART transmissions to terminate before moving to a STOP mode otherwise the transmitter freezes at the point of present transmission (since clocks are stopped). For this reason the STOP mode was blocked when a UART transmission is still in progress; this means that the system is at full power during the transmission but can then utilise STOP or VLPS, etc. without transmission corruption.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;- In normal WAIT mode low power mode operation of 24mA is reduced to 2.8mA in normal STOP mode. Using a low power timer as TICK (RTC was provisonally used) further UART transmissions were possible after wake up to full-speed RUN mode, returning each time to the STOP mode after they had completed.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;- In VLPS mode the PLL is always out of lock after wakeup so the system clock was 50MHz rather than the original 120MHz. Re-locking the PLL will take a little time during which the UART Baud rate will be incorrect so it may be best to not use the PLL but instead run from an input clock (as in the 50MHz external clock case). Apart from the loss of PLL clock after wakeup the VLPS mode also allowed UART transmission between VLPS/RUN modes with about 200uA current consumption measured.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;The PLL relock time was measured to recover form VLPS mode on the FRDM-K64F, normally operating at 120MHz with 50MHz clock source. This was found to be around 400us and shows that recovery can effect peripheral operating frequencies between the wakeup event and full operation., In STOP mode there is no (noticeable) recovery time required if the option to not disable the PLL in normal STOP mode is used.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Tests were repeated using the 50MHz external clock as system clock (16.66MHz flash clock): WAIT mode current 14.5mA; STOP mode current 0.9mA; VLPS &amp;lt; 0.2mA. In this case there&amp;nbsp; is however no PLL recovery time and so it is much more suitable to being woken by peripherals that must immediately be able to receive.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;The final step of unrestricted UART operation with automatic low power operation was to allow UART receptions to wake the processor from VLPS. Since the UARTs are not clocked in STOP based modes the edge wakeup on the UART Rx line must be used. This requires its interrupt to be configured before entering the STOP state and using it as a single shot wakeup interrupt since an interrupt on each edge is not desired in normal operation.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;It was found that UART input would now wake the processor from the STOP mode without losing an input at 115kBaud. Furthermore, no interrupts were needed to actually be handled since it could be disabled after the wakeup had occurred, before re-enabling processor interrupts.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;In STOP based modes the SYSTICK is also frozen and so, to ensure that TICK operation also continued correctly, a low power timer needs to be used. Initially the RTC was used (with fixed 1s) but the low power timer is generally preferred due to much greater flexibility. For this reason an option was added to allow the low power timer to operate as TICK timer, rather than the SYSTICK, which is then left disabled.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;The low power timer can be used with various clocks The first test was using the 50MHz external clock, divided by 64 to get a high accuracy 50ms TICK.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;- wait mode 14.7mA&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;- Stop mode 1.6mA&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;- VLPS 0.9mA&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;Now the system reacted identically in the STOP based modes since the tick timer was always active but the VLPS current is higher due to the fact that the low power timer is being clocked at a fast rate.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;When the low power timer was clocked by the 1kHz low power RC clock (not as accurate as crystal based but adequate for many applications) the results gave optimal VLPS current consumption with normal system&amp;nbsp; behaviour at all times.&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;- wait mode 14.2mA&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;- Stop mode 0.8mA&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;EM&gt;&lt;STRONG&gt;- VLPS &amp;lt; 0.2mA&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;&lt;EM&gt;The result is a system that works unrestricted with regards to the UARTs and automatically moves between the Run and VLPS modes automatically, spending as much time in the VLPS mode (&amp;lt; 0.2mA) as possible. When UART transmission is in progress (also when using DMA) the RUN mode (about 28mA) is held until complete. When in a low power stop mode any edge on the UART reception line immediately causes a change to the RUN mode so that the reception completes and can be handled.&lt;/EM&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P style="min-height: 8pt; padding: 0px;"&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;See the following for a discussion of PLL lock time required when exiting the VLPS mode that can be restrictive to UART (or general peripheral) operation:&lt;/P&gt;&lt;P&gt;&lt;A _jive_internal="true" data-containerid="2019" data-containertype="14" data-objectid="327590" data-objecttype="1" href="https://community.nxp.com/thread/327590"&gt;Question about recovery time from VLPS mode (or stop mode when PLL is stopped) - K and KL parts&lt;/A&gt;&lt;/P&gt;&lt;P&gt;&lt;STRONG&gt;Original Attachment has been moved to: &lt;A _jive_internal="true" href="https://community.nxp.com/docs/DOC-337358"&gt;uTaskerV1.4.8_FRDM_K64F_LOW_POWER_UART.bin.zip&lt;/A&gt;&lt;/STRONG&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 20 Jul 2014 02:36:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322628#M14635</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2014-07-20T02:36:48Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322629#M14636</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi All&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have am update where it looks that 57600 Baud is the limiting case for the unrestricted operation in this exact mode. First the finding and reasoning is shown and then a workaround is suggestedif 115200Baud (or higher) are required.&lt;/P&gt;&lt;P&gt;During testing it was noticed that occasionalls the first reception character waking the processor would be corrupted. It is believed that thsi is due to the power transistion delay between the normal STOP or VLPS modes to the RUN mode. The reasoning for thsi believe is below, based on the fact that test characters of 0x31 always resulted in a bad character of 0x98,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;&lt;SPAN lang="EN-GB" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: #1f497d;"&gt;The first reason is that the data sheet specifies max. 4.5us for the power mode transition which would be about half a Baud period at 115kBaud, thus so putting the sampling pretty much on a data edge (sometimes it would be Ok but in the worst case it could sample bits with one bit delay). The data sheets show the worst case transition delay:&lt;/SPAN&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="data1.bmp"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/45126iF06851D81D5432E5/image-size/large?v=v2&amp;amp;px=999" role="button" title="data1.bmp" alt="data1.bmp" /&gt;&lt;/span&gt;&lt;BR /&gt;&lt;BR /&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN lang="EN-GB" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: #1f497d;"&gt;The second reason is that I measured the corrupted character as the content of the correct one but shifted by 1 bit, which would confirm that the processor was indeed woken by the falling edge of the start bit but its bit synchronisation is up to 1 bit delayed. See the following for the effect of the delay that I believe is taking place:&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="charOK.bmp"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/45128iC562F8A38926F201/image-size/large?v=v2&amp;amp;px=999" role="button" title="charOK.bmp" alt="charOK.bmp" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;Normal case&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="charErr.bmp"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/45127i1A66880ED13C1F0C/image-size/large?v=v2&amp;amp;px=999" role="button" title="charErr.bmp" alt="charErr.bmp" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-GB" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: #1f497d;"&gt;Worst case transition delay causes a single bit shift to give the error value that was also sometimes seen.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-GB" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: #1f497d;"&gt;I increased the Flash clock speed from 16.666MHz to 25MHz (it didn’t change the current consumption values that I could measure – 25MHz is the max. possible) and was surprised that the effect actually got worse. The error seems to occur slightly more often and when it does the error character is 0xcc, which would mean that there is a 2 bit shift!!! I can’t explain why the flash speed setting may cause this effect - I didn’t see 1 bit shift errors – either correct or 2 bits…(?) but it does show that the limiting case must be carefully checked when such parameters are modified. With 57600Baud I didn’t get any errors (also a little strange due to the bigger shift)&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="EN-GB" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: #1f497d;"&gt;I am finally thinking that if a system does &lt;SPAN style="text-decoration: underline;"&gt;need&lt;/SPAN&gt; to be able to operate at 115kBaud the following may solve this issue:&lt;/SPAN&gt;&lt;/P&gt;&lt;OL style="list-style-type: decimal;"&gt;&lt;LI&gt;&lt;SPAN lang="EN-GB" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: #1f497d;"&gt;Connect the RXD line input to a wake up port which is used to wake the processor from the STOP mode rather than the RxD edge.&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN lang="EN-GB" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: #1f497d;"&gt;Add a delay line between this point and the UART Rx input (a 2..3us delay may be reliable with as simple RC circuit assuming that the inputs have hysteresis) &lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN lang="EN-GB" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: #1f497d;"&gt;This would give the UART power mode transition an extra 2..3us to complete and probably allow 115kBaud to operate reliably&lt;/SPAN&gt;&lt;/LI&gt;&lt;LI&gt;&lt;SPAN lang="EN-GB" style="font-size: 11.0pt; font-family: 'Calibri','sans-serif'; color: #1f497d;"&gt;Higher speeds would need a better (low power) digital delay line (on all UART inputs – ANDed with one wakeup input) but should result in a solution where high Baud rates can still utilise the VLPS mode’s power savings!&lt;/SPAN&gt;&lt;/LI&gt;&lt;/OL&gt;&lt;P&gt;&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;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sun, 20 Jul 2014 22:52:35 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322629#M14636</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2014-07-20T22:52:35Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322630#M14637</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have done something almost identical on K and KL parts and concur with your maximum 57600 baud for the same reason you gave.&amp;nbsp; I ended up always using the FLL with VLPS to get a &amp;lt;4uA current usage at room temp for some KL parts (this is quite sensitive to temperature and be careful not to touch the PCB; the oil from your skin can noticeably increase the current draw).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To have a faster baud rate it is possible to get external UART buffers (I don't know the part numbers; I was told about such things by a H/W engineer when I reported this limitation of my implementation) that are always on but consume very little power and contain a FIFO to help the microprocessor to cope with the data flow with baud rate conversion and control interfacing via GPIO (data available, overflow notification, transmit from FIFO and baud rate configuration).&amp;nbsp; I think these things were first designed when almost all RX FIFOs were small and high data transfer speeds (~1 Mbaud??) were wanted but the SW wouldn't be able keep up during a reception burst.&amp;nbsp; If anyone knows of some part numbers then please post them as they might be useful once again to help with low power mode UARTs!&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 23 Jul 2014 12:41:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322630#M14637</guid>
      <dc:creator>nurichard</dc:creator>
      <dc:date>2014-07-23T12:41:31Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322631#M14638</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How did you use the "&lt;EM&gt;low power timer to operate as TICK timer, rather than the SYSTICK"? I am trying to do this on K24 but could not get it to work.&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Dec 2015 01:04:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322631#M14638</guid>
      <dc:creator>jamesmasamoto</dc:creator>
      <dc:date>2015-12-31T01:04:57Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322632#M14639</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;How did you use the "&lt;EM&gt;low power timer to operate as TICK timer, rather than the SYSTICK"? I am trying to do this on K24 but could not get it to work.&lt;/EM&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Dec 2015 01:06:02 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322632#M14639</guid>
      <dc:creator>jamesmasamoto</dc:creator>
      <dc:date>2015-12-31T01:06:02Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322633#M14640</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;Below is the configuration and handling code in the uTasker project (when configured to use LPTMR as Tick).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; POWER_UP(5, SIM_SCGC5_LPTIMER);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ensure that the timer can be accessed
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPTMR0_CSR = LPTMR_CSR_TCF;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // reset the timer and ensure no pending interrupts
&amp;nbsp;&amp;nbsp;&amp;nbsp; #if defined LPTMR_CLOCK_LPO&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // define the low power clock speed for calculations
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPTMR0_PSR = (LPTMR_PSR_PCS_LPO | LPTMR_PSR_PBYP);
&amp;nbsp;&amp;nbsp;&amp;nbsp; #elif defined LPTMR_CLOCK_INTERNAL_30_40kHz
&amp;nbsp;&amp;nbsp;&amp;nbsp; MCG_C2 &amp;amp;= ~MCG_C2_IRCS;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // select slow internal reference clock
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPTMR0_PSR = (LPTMR_PSR_PCS_MCGIRCLK; | LPTMR_PSR_PBYP);
&amp;nbsp;&amp;nbsp;&amp;nbsp; #elif defined LPTMR_CLOCK_INTERNAL_4MHz
&amp;nbsp;&amp;nbsp;&amp;nbsp; MCG_C2 |= MCG_C2_IRCS;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // select fast internal reference clock
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPTMR0_PSR = (LPTMR_PSR_PCS_MCGIRCLK | LPTMR_PSR_PBYP);
&amp;nbsp;&amp;nbsp;&amp;nbsp; #elif defined LPTMR_CLOCK_EXTERNAL_32kHz
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPTMR0_PSR = (LPTMR_PSR_PCS_ERCLK32K | LPTMR_PSR_PBYP);
&amp;nbsp;&amp;nbsp;&amp;nbsp; #else&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // LPTMR_CLOCK_OSCERCLK
&amp;nbsp;&amp;nbsp;&amp;nbsp; OSC0_CR |= (OSC_CR_ERCLKEN | OSC_CR_EREFSTEN);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // enable the external reference clock and keep it enabled in stop mode
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #if defined LPTMR_PRESCALE
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPTMR0_PSR = (LPTMR_PSR_PCS_OSC0ERCLK | ((LPTMR_PRESCALE_VALUE) &amp;lt;&amp;lt; LPTMR_PSR_PRESCALE_SHIFT)); // program prescaler
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #else
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPTMR0_PSR = (LPTMR_PSR_PCS_OSC0ERCLK | LPTMR_PSR_PBYP);
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; #endif
&amp;nbsp;&amp;nbsp;&amp;nbsp; #endif
&amp;nbsp;&amp;nbsp;&amp;nbsp; fnEnterInterrupt(irq_LPT_ID, LPTMR0_INTERRUPT_PRIORITY, (void (*)(void))_RealTimeInterrupt); // enter interrupt handler
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPTMR0_CSR |= LPTMR_CSR_TIE;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // enable timer interrupt
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPTMR0_CMR = LPTMR_MS_DELAY(TICK_RESOLUTION);&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // TICK period
&amp;nbsp;&amp;nbsp;&amp;nbsp; #if defined _WINDOWS
&amp;nbsp;&amp;nbsp;&amp;nbsp; if (LPTMR0_CMR &amp;gt; 0xffff) {
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; _EXCEPTION("LPTMR0_CMR value too large (16 bits)");
&amp;nbsp;&amp;nbsp;&amp;nbsp; }
&amp;nbsp;&amp;nbsp;&amp;nbsp; #endif
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPTMR0_CSR |= LPTMR_CSR_TEN;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // enable the low power timer&lt;/PRE&gt;&lt;PRE&gt;static __interrupt void _RealTimeInterrupt(void)
{
&amp;nbsp;&amp;nbsp;&amp;nbsp; LPTMR0_CSR = LPTMR0_CSR;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // clear pending interrupt
&amp;nbsp;&amp;nbsp;&amp;nbsp; uDisable_Interrupt();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // ensure tick handler cannot be interrupted
&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; fnRtmkSystemTick();&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; // operating system tick
&amp;nbsp;&amp;nbsp;&amp;nbsp; uEnable_Interrupt();
}&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 31 Dec 2015 03:42:09 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322633#M14640</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2015-12-31T03:42:09Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322634#M14641</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;I want to configure the MKL16Z64 to low power VLPS mode. But in the low power configuration in proessor expert i can see only LLS and VLLSx. Please provide me some info.&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Jul 2017 13:58:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322634#M14641</guid>
      <dc:creator>karthikbandi</dc:creator>
      <dc:date>2017-07-21T13:58:07Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322635#M14642</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;Your question is not that relevant to the thread so it may be best to create a new topic.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;But basically if you need to use PE (which I believe is being dropped by NXP) you may have to accept that you can't do everything.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;If you can however also program code yourself you should be able to do it with 3 of lines as follows (possibly interpreting the defines suitably):&lt;/P&gt;&lt;P&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SMC_PMPROT |= SMC_PMPROT_AVLP;&amp;nbsp;&amp;nbsp;&amp;nbsp; &lt;SPAN style="color: #ff0000;"&gt;// warning - can only be written once!&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SMC_PMCTRL = (SMC_PMCTRL_RUNM_NORMAL | SMC_PMCTRL_STOPM_VLPS | SMC_PMCTRL_LPWUI);&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN style="font-family: courier new,courier,monospace; font-size: 13px;"&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; SYSTEM_CONTROL_REGISTER |= SLEEPDEEP;&lt;/SPAN&gt;&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;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 21 Jul 2017 22:29:36 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322635#M14642</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2017-07-21T22:29:36Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322636#M14643</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello,&lt;/P&gt;&lt;P&gt;Thanks for your reply, So can i use LLS mode and use UART0 to wake up the MCU from low power mode. For UART0 i want to use RXD line to wake up the MCU.&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Jul 2017 07:22:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322636#M14643</guid>
      <dc:creator>karthikbandi</dc:creator>
      <dc:date>2017-07-24T07:22:58Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322637#M14644</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;The UART can't wake the processor from LLS mode. You can use a LLWU input connected in parallel to cause it to wake but this tends to be slow (to wake and move back to RUN mode with all clocks stabilised) and so the Baud rate would be limited to (very) low speeds.&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;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Jul 2017 08:56:31 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322637#M14644</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2017-07-24T08:56:31Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322638#M14645</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hai,&lt;/P&gt;&lt;P&gt;So what i understood is that i can use UART0 to wake the MCU from low power mode only when its in VLPS mode. But how can i configure it, PE doesnot support to configure VLPS mode. I want to use UART0 to wakeup the MCU from lowpower mode. Which low power mode do i need to use and how i can configure it.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Jul 2017 09:03:07 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322638#M14645</guid>
      <dc:creator>karthikbandi</dc:creator>
      <dc:date>2017-07-24T09:03:07Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322639#M14646</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;See my previous answer for LLS mode setting.&lt;/P&gt;&lt;P&gt;VLPS can be used up to a certain Baud rate, with the UART's starting edge interrupt waking - see previous report.&lt;/P&gt;&lt;P&gt;You can get all code needed in the uTasker Open Source project.&lt;/P&gt;&lt;P&gt;If you need to do it with PE I can't help but you could open a service request or wait until it is added, or do it with a different processor than the one that you are using where it is supported and move the code over to yours.&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;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 24 Jul 2017 13:28:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322639#M14646</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2017-07-24T13:28:59Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322640#M14647</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Do You need to disable the systick interrupt?&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Jan 2019 19:21:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322640#M14647</guid>
      <dc:creator>thasin_akhand</dc:creator>
      <dc:date>2019-01-17T19:21:12Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322641#M14648</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Thasin&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;LPTMR and SYSTICK can be used together so if one needs to be disabled or not will depend on the exact application's requirements.&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;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 17 Jan 2019 21:45:18 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322641#M14648</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2019-01-17T21:45:18Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322642#M14649</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Mark,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;The reason why I ask is I tried to make the tick driven by LPTMR instead of the SysTick because I go to VLPS quite often and the Systick does not work when cpu goes into VLPS mode. Whenever I try to disable the Systick Interrupt. LPTMR does not work? I was wondering if you knew anything about this?&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Fri, 18 Jan 2019 15:51:27 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322642#M14649</guid>
      <dc:creator>thasin_akhand</dc:creator>
      <dc:date>2019-01-18T15:51:27Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322643#M14650</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Thasin&lt;BR /&gt;&lt;BR /&gt;I am sorry but I have never experienced such a difficulty.&lt;BR /&gt;&lt;BR /&gt;Regards&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Sat, 19 Jan 2019 00:21:59 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322643#M14650</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2019-01-19T00:21:59Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322644#M14651</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;"&lt;EM style="color: #51626f; background-color: #ffffff; border: 0px;"&gt;&lt;STRONG style="border: 0px; font-weight: bold;"&gt;allow the low power timer to operate as TICK timer, rather than the SYSTICK, which is then left disabled."&amp;nbsp;&lt;/STRONG&gt;&lt;/EM&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;How do you disable the SYSTICK?&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Jan 2019 20:35:13 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322644#M14651</guid>
      <dc:creator>thasin_akhand</dc:creator>
      <dc:date>2019-01-24T20:35:13Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322645#M14652</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi&lt;BR /&gt;&lt;BR /&gt;If you don't enable the SYSTICK you don't need to disable it...&lt;BR /&gt;&lt;BR /&gt;Regards&lt;BR /&gt;&lt;BR /&gt;Mark&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Jan 2019 20:57:12 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322645#M14652</guid>
      <dc:creator>mjbcswitzerland</dc:creator>
      <dc:date>2019-01-24T20:57:12Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322646#M14653</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;I don't enable it, but I still see systick still running the interrupt request. xPortSysTickHandler is still running.&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Jan 2019 21:44:48 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322646#M14653</guid>
      <dc:creator>thasin_akhand</dc:creator>
      <dc:date>2019-01-24T21:44:48Z</dc:date>
    </item>
    <item>
      <title>Re: Using Kinetis Low Power Stop Modes with unrestricted UART operation - a report</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322647#M14654</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Ok I believe this function, xPortStartScheduler,&lt;/P&gt;&lt;P&gt;is starting the systick, we had a systick_config function that was used and then removed, so I was thinking systick should not have been configured, but in&amp;nbsp;&lt;SPAN&gt;xPortStartScheduler, I believe it is driving the systick.&amp;nbsp;&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Thu, 24 Jan 2019 21:47:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/Using-Kinetis-Low-Power-Stop-Modes-with-unrestricted-UART/m-p/322647#M14654</guid>
      <dc:creator>thasin_akhand</dc:creator>
      <dc:date>2019-01-24T21:47:51Z</dc:date>
    </item>
  </channel>
</rss>

