<?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: How to manually enable CAN RxFifo on KDS2.0 Pexpert? in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428943#M24776</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the reply and i think i selected &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;MK20DX256Zxxx10.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;What is difference between these two? &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Yaran&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Mon, 14 Sep 2015 17:50:39 GMT</pubDate>
    <dc:creator>yarannan</dc:creator>
    <dc:date>2015-09-14T17:50:39Z</dc:date>
    <item>
      <title>How to manually enable CAN RxFifo on KDS2.0 Pexpert?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428936#M24769</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi,&lt;/P&gt;&lt;P&gt;1. My project is using MK20DC256VLL10 and we found out it drops around 1.5% CAN frames.&lt;/P&gt;&lt;P&gt;2. The project is using KDS 2.0 and processor expert. &lt;/P&gt;&lt;P&gt;3. The project only has one CAN node ID enable.&lt;/P&gt;&lt;P&gt;4. Reference manual mentions that can enable MCR[RFEN] to enable RxFifo. (I am assuming&lt;/P&gt;&lt;P&gt;that is the reason of losing CAN frames).&lt;/P&gt;&lt;P&gt;5. Unfortunately, processor expert doesnt support to enable the feature of enabling RxFifo&lt;/P&gt;&lt;P&gt;6. I saw other people has the same problem in the forum. They suggested to enable manually.&lt;/P&gt;&lt;P&gt;7. I dont quite know how to enable them without effecting codes already generated.&lt;/P&gt;&lt;P&gt;8. Currently, CAN is read when the interrupt flag set up.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Does anyone have any suggestion about how to manually enable RxFifo or reduce losing CAN&lt;/P&gt;&lt;P&gt;messages? &lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yaran&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 10 Aug 2015 21:38:01 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428936#M24769</guid>
      <dc:creator>yarannan</dc:creator>
      <dc:date>2015-08-10T21:38:01Z</dc:date>
    </item>
    <item>
      <title>Re: How to manually enable CAN RxFifo on KDS2.0 Pexpert?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428937#M24770</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Yaran,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;To enable RxFIFO you could create a new function/define that accesses to CAN registers and sets RFEN bit in MCR register. For example, in your main.c:&lt;/P&gt;&lt;P&gt;(This is code generated in processor expert for Init_CAN component).&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code jive_text_macro _jivemacro_uid_14393257836817926" data-renderedposition="134_8_1232_96" jivemacro_uid="_14393257836817926" modifiedtitle="true"&gt;&lt;P&gt;#define CAN_PDD_EnableRxFIFO(PeripheralBase, State) ( \&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp; CAN_MCR_REG(PeripheralBase) = \&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (uint32_t)(( \&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (uint32_t)(CAN_MCR_REG(PeripheralBase) &amp;amp; (uint32_t)(~(uint32_t)CAN_MCR_RFEN_MASK))) | ( \&lt;/P&gt;&lt;P&gt;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp;&amp;nbsp; (uint32_t)((uint32_t)(State) &amp;lt;&amp;lt; CAN_MCR_RFEN_SHIFT))) \&lt;/P&gt;&lt;P&gt;&amp;nbsp; )&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;And this is used as follows:&lt;/P&gt;&lt;PRE __default_attr="c++" __jive_macro_name="code" class="jive_macro_code _jivemacro_uid_14393259022436488 jive_text_macro" data-renderedposition="272_8_1232_16" jivemacro_uid="_14393259022436488" modifiedtitle="true"&gt;&lt;P&gt;CAN_PDD_EnableRxFIFO(CAN1_BASE_PTR,1); /* Enable RxFIFO */&lt;/P&gt;&lt;/PRE&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Once RxFIFO is enabled, take care when polling for new incoming messages in CANx_IFLAG1 register, there are 3 flags BUF7I, BUF6I and BUF5I, BUF5I known as "Frames available in Rx FIFO", BUF6I "Rx FIFO Warning" and BUF7I "Rx FIFO Overflow".&lt;/P&gt;&lt;UL&gt;&lt;LI&gt;BUF5I (Frames availble in RxFIFO) is asserted when there is at least one frame available to be read from FIFO. (If interrupt for BUF5 is enabled in CANx_IMASK1 register)&lt;/LI&gt;&lt;LI&gt;BUF6I (Rx FIFO warning) is asserted when the number of unread messages is increased to 5 from 4.&lt;/LI&gt;&lt;LI&gt;BUF7I (Rx FIFO Overflow) is asserted when an incoming message was lost because the Rx FIFO is full.&lt;/LI&gt;&lt;/UL&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;So basically, you should modify current driver in order to polled for these flags.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;For more details, you can consult Rx FIFO section (Section 46.4.7 in Reference manual)&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this can help you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Isaac&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Aug 2015 20:57:00 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428937#M24770</guid>
      <dc:creator>isaacavila</dc:creator>
      <dc:date>2015-08-11T20:57:00Z</dc:date>
    </item>
    <item>
      <title>Re: How to manually enable CAN RxFifo on KDS2.0 Pexpert?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428938#M24771</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Yaran,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Also, K20_100MHz is supported in KSDK 1.2.0 software, you can download it from (&lt;A href="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=KINETIS-SDK&amp;amp;fsrch=1&amp;amp;sr=1&amp;amp;pageNum=1" title="http://www.freescale.com/webapp/sps/site/prod_summary.jsp?code=KINETIS-SDK&amp;amp;fsrch=1&amp;amp;sr=1&amp;amp;pageNum=1"&gt;Software Development Kit for Kinetis MCUs|Freescale&lt;/A&gt; )&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Inside this SDK, you will find a FlexCAN example (for TWR-K60D100M, but it will be the same that for K20) and can support Rx FIFO functionality.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You may check this example.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Regards,&lt;/P&gt;&lt;P&gt;Isaac&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 11 Aug 2015 21:12:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428938#M24771</guid>
      <dc:creator>isaacavila</dc:creator>
      <dc:date>2015-08-11T21:12:17Z</dc:date>
    </item>
    <item>
      <title>Re: How to manually enable CAN RxFifo on KDS2.0 Pexpert?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428939#M24772</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Issac,&lt;/P&gt;&lt;P&gt;Thanks for your information. The project contains a lot other features. It will be not easy &lt;/P&gt;&lt;P&gt;to use KSDK1.2.0 at the old project. By the first post you mentioned above, after i enable&lt;/P&gt;&lt;P&gt;RxFifo, how do i read data? Currently, I use LDD_CAN_TFrame RxFrame to store it. Once&lt;/P&gt;&lt;P&gt;I enable FIFO, does it mean i should read data manually too?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Thanks,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Yaran&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Aug 2015 19:50:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428939#M24772</guid>
      <dc:creator>yarannan</dc:creator>
      <dc:date>2015-08-12T19:50:10Z</dc:date>
    </item>
    <item>
      <title>Re: How to manually enable CAN RxFifo on KDS2.0 Pexpert?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428940#M24773</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hello Yaran,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Unfortunately I would say that you need to modify your driver.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;PE CAN driver polls and reads from different Message Buffers, however, when FIFO enable is used, All Incoming Messages will be read from same Message Buffer index (MB0), and other buffer memory is reserved for FIFO engine. (You can consult more details in Reference Manual, section 46.3.41 RxFIFO Structure). So PE CAN driver is not compliant with these considerations.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You should also modified the way you read Message Buffers status according to "Frames available in Rx FIFO", "RxFIFO Warning" and "Rx FIFO Overflow" flags.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this can help you.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Isaac&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;P&gt;Note: If this post answers your question, please click the Correct Answer button. Thank you!&lt;/P&gt;&lt;P&gt;-----------------------------------------------------------------------------------------------------------------------&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 12 Aug 2015 20:55:41 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428940#M24773</guid>
      <dc:creator>isaacavila</dc:creator>
      <dc:date>2015-08-12T20:55:41Z</dc:date>
    </item>
    <item>
      <title>Re: How to manually enable CAN RxFifo on KDS2.0 Pexpert?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428941#M24774</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Issac,&lt;/P&gt;&lt;P&gt;When I tried to create a KDS project on KDS3.0 and it wouldnt allow me &lt;/P&gt;&lt;P&gt;to select KSDK1.2.0 under the selection of processor MK20DX256VLL10.&lt;/P&gt;&lt;P&gt;Does it support MK20 for sure or I configured something wrong?&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, 14 Sep 2015 13:16:49 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428941#M24774</guid>
      <dc:creator>yarannan</dc:creator>
      <dc:date>2015-09-14T13:16:49Z</dc:date>
    </item>
    <item>
      <title>Re: How to manually enable CAN RxFifo on KDS2.0 Pexpert?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428942#M24775</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi Yaran,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Have you installed 'KSDK_1.2.0_Eclipse_Update'?&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;You can find the update file in 'C:\Freescale\KSDK_1.2.0\tools\eclipse_update' and instructions to install the file are described in 'C:\Freescale\KSDK_1.2.0\doc\Getting Started with Kinetis SDK (KSDK) v.1.2.pdf'&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I have tried creating a new project for MK20DX256xxx10 chip and it allows me to add KSDK 1.2 support.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Isaac&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Sep 2015 13:56:32 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428942#M24775</guid>
      <dc:creator>isaacavila</dc:creator>
      <dc:date>2015-09-14T13:56:32Z</dc:date>
    </item>
    <item>
      <title>Re: How to manually enable CAN RxFifo on KDS2.0 Pexpert?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428943#M24776</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Thanks for the reply and i think i selected &lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;MK20DX256Zxxx10.&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;What is difference between these two? &lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Thanks,&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN style="color: #51626f; font-family: arial, helvetica, 'helvetica neue', verdana, sans-serif;"&gt;Yaran&lt;/SPAN&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Sep 2015 17:50:39 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428943#M24776</guid>
      <dc:creator>yarannan</dc:creator>
      <dc:date>2015-09-14T17:50:39Z</dc:date>
    </item>
    <item>
      <title>Re: How to manually enable CAN RxFifo on KDS2.0 Pexpert?</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428944#M24777</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;HI Yaran,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Difference between them is silicion revision, the one that does not have 'Z' is the newest version, so we recommend you to use this one.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;I hope this can help you,&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;Best Regards,&lt;/P&gt;&lt;P&gt;Isaac&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Mon, 14 Sep 2015 17:52:57 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/How-to-manually-enable-CAN-RxFifo-on-KDS2-0-Pexpert/m-p/428944#M24777</guid>
      <dc:creator>isaacavila</dc:creator>
      <dc:date>2015-09-14T17:52:57Z</dc:date>
    </item>
  </channel>
</rss>

