<?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: MK64 UART5 is prone to have a receiver overrun error. in Kinetis Microcontrollers</title>
    <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/MK64-UART5-is-prone-to-have-a-receiver-overrun-error/m-p/1543689#M64217</link>
    <description>&lt;P&gt;I‘ve solved this.&lt;/P&gt;&lt;P&gt;the fifo depth of UART5&amp;nbsp; is only 1 dataword,while UART1 is 4 datawords.&lt;/P&gt;&lt;P&gt;But the fifo depth is read only,it's too small for UART5 to work even the baudrate is 38400.I have to disable the fifo.&lt;/P&gt;&lt;P&gt;The effect of the UART fifo is to speed up the process of data receiving.&lt;/P&gt;&lt;P&gt;but in the DMA mode,does it also need to have a receive fifo?&lt;/P&gt;</description>
    <pubDate>Wed, 26 Oct 2022 02:23:23 GMT</pubDate>
    <dc:creator>jake111</dc:creator>
    <dc:date>2022-10-26T02:23:23Z</dc:date>
    <item>
      <title>MK64 UART5 is prone to have a receiver overrun error.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/MK64-UART5-is-prone-to-have-a-receiver-overrun-error/m-p/1542582#M64204</link>
      <description>&lt;P&gt;I'm using MK64FN1M0VMD12.On this chip,UART0~3 support bidirectional DMA channels,which means DMA_TX and DMA_RX can be used simultaneously.While UART4~5 can only choose one-direction DMA,so I implement UART5_RX to DMA channel to receive data,and call UART_WriteBlocking() to send data.&lt;/P&gt;&lt;P&gt;My program just do a UART-echo,PC-&amp;gt;MK64 UART5-RX then MK64 UART5-TX-&amp;gt;PC.The baudrate is 115200,and I send at the speed of 1000Bps.After a while,UART5 overruns.(Even if I don't use EDMA to receive,it also overruns when using the ringbuffer way in the SDK.).It can work about 10min when I set the baudrate to 38400 on UART5.But it works well on UART0 and UART1.I havn't tested UART2~4 due to hardware design.&lt;/P&gt;&lt;P&gt;What's the difference between UART0~3 and UART4~5.I know the difference that the clock frequency of UART0~1 is 120MHz,and UART3~5 is 60MHz,but I think 60MHz is enough.Besides,UART4~5 don't support bidirectional DMA channels,are the performance of UART4~5 not that good?such as smaller fifo.&lt;/P&gt;&lt;P&gt;Here is the register changes after overrunning.&lt;/P&gt;&lt;P&gt;UART5_S1 OR = 1&lt;/P&gt;&lt;P&gt;UART5_SFIFO RXOF = 1&lt;/P&gt;&lt;P&gt;------------&lt;/P&gt;&lt;P&gt;In the DMA receiving process,I've set the UART_RxIdle inturrupt to receive whenever rx is idle.&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;LI-CODE lang="markup"&gt;UART_ClearStatusFlags(base, kUART_IdleLineFlag);
UART_TransferAbortReceiveEDMA(); //abort EDMA to copy data
DMABuf_TO_ReadBuf();             //copy data to read buffer
UART_ReceiveEDMA();              //enable EDMA for next receive&lt;/LI-CODE&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;&amp;nbsp;&lt;/P&gt;&lt;P&gt;I find that an overrun occurs before enabling EDMA as the code above.That is to say,new data comes when copying data.So the case that higher baudrate like 115200 will cause an overrun seem to make sense.But how can I receive when rx is idle and no overrun occurs,and why do UART0~1 work well?&lt;/P&gt;</description>
      <pubDate>Tue, 25 Oct 2022 08:51:21 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/MK64-UART5-is-prone-to-have-a-receiver-overrun-error/m-p/1542582#M64204</guid>
      <dc:creator>jake111</dc:creator>
      <dc:date>2022-10-25T08:51:21Z</dc:date>
    </item>
    <item>
      <title>Re: MK64 UART5 is prone to have a receiver overrun error.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/MK64-UART5-is-prone-to-have-a-receiver-overrun-error/m-p/1543689#M64217</link>
      <description>&lt;P&gt;I‘ve solved this.&lt;/P&gt;&lt;P&gt;the fifo depth of UART5&amp;nbsp; is only 1 dataword,while UART1 is 4 datawords.&lt;/P&gt;&lt;P&gt;But the fifo depth is read only,it's too small for UART5 to work even the baudrate is 38400.I have to disable the fifo.&lt;/P&gt;&lt;P&gt;The effect of the UART fifo is to speed up the process of data receiving.&lt;/P&gt;&lt;P&gt;but in the DMA mode,does it also need to have a receive fifo?&lt;/P&gt;</description>
      <pubDate>Wed, 26 Oct 2022 02:23:23 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/MK64-UART5-is-prone-to-have-a-receiver-overrun-error/m-p/1543689#M64217</guid>
      <dc:creator>jake111</dc:creator>
      <dc:date>2022-10-26T02:23:23Z</dc:date>
    </item>
    <item>
      <title>Re: MK64 UART5 is prone to have a receiver overrun error.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/MK64-UART5-is-prone-to-have-a-receiver-overrun-error/m-p/1544101#M64223</link>
      <description>&lt;P&gt;Hi&amp;nbsp;&lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/206427"&gt;@jake111&lt;/a&gt;&amp;nbsp;&lt;/P&gt;
&lt;P&gt;I am Miguel.&lt;/P&gt;
&lt;P&gt;I'm glad you find a solution for your initial problem, I was investigating it. I'll look into the DMA fifo you are asking, as soon I find something I will let you know.&lt;/P&gt;
&lt;P&gt;Best Regards, Miguel.&lt;/P&gt;</description>
      <pubDate>Wed, 26 Oct 2022 14:07:17 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/MK64-UART5-is-prone-to-have-a-receiver-overrun-error/m-p/1544101#M64223</guid>
      <dc:creator>Miguel04</dc:creator>
      <dc:date>2022-10-26T14:07:17Z</dc:date>
    </item>
    <item>
      <title>Re: MK64 UART5 is prone to have a receiver overrun error.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/MK64-UART5-is-prone-to-have-a-receiver-overrun-error/m-p/1546364#M64243</link>
      <description>&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Hi &lt;a href="https://community.nxp.com/t5/user/viewprofilepage/user-id/206427"&gt;@jake111&lt;/a&gt;&amp;nbsp;&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"&gt;&amp;nbsp;&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;After doing some research I found that the DMA does not need a receive FIFO, it could work getting the data directly from the UART data register.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Let me know if you have any other question.&lt;/FONT&gt;&lt;/P&gt;
&lt;P style="margin: 0in; font-family: Calibri; font-size: 11.0pt;"&gt;&lt;FONT face="arial,helvetica,sans-serif"&gt;Best Regards, Miguel.&lt;/FONT&gt;&lt;/P&gt;</description>
      <pubDate>Mon, 31 Oct 2022 14:54:58 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/MK64-UART5-is-prone-to-have-a-receiver-overrun-error/m-p/1546364#M64243</guid>
      <dc:creator>Miguel04</dc:creator>
      <dc:date>2022-10-31T14:54:58Z</dc:date>
    </item>
    <item>
      <title>Re: MK64 UART5 is prone to have a receiver overrun error.</title>
      <link>https://community.nxp.com/t5/Kinetis-Microcontrollers/MK64-UART5-is-prone-to-have-a-receiver-overrun-error/m-p/1546387#M64244</link>
      <description>Thanks for your researching,I've no other question.</description>
      <pubDate>Mon, 31 Oct 2022 15:36:04 GMT</pubDate>
      <guid>https://community.nxp.com/t5/Kinetis-Microcontrollers/MK64-UART5-is-prone-to-have-a-receiver-overrun-error/m-p/1546387#M64244</guid>
      <dc:creator>jake111</dc:creator>
      <dc:date>2022-10-31T15:36:04Z</dc:date>
    </item>
  </channel>
</rss>

