<?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: LIN/DMA transfer of a RX frame? (MPC55XX) in MPC5xxx</title>
    <link>https://community.nxp.com/t5/MPC5xxx/LIN-DMA-transfer-of-a-RX-frame-MPC55XX/m-p/719689#M9609</link>
    <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="img.PNG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/2167i819D40CBC9259BAA/image-size/large?v=v2&amp;amp;px=999" role="button" title="img.PNG" alt="img.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
    <pubDate>Wed, 07 Feb 2018 13:43:10 GMT</pubDate>
    <dc:creator>abdelwadoudmabr</dc:creator>
    <dc:date>2018-02-07T13:43:10Z</dc:date>
    <item>
      <title>LIN/DMA transfer of a RX frame? (MPC55XX)</title>
      <link>https://community.nxp.com/t5/MPC5xxx/LIN-DMA-transfer-of-a-RX-frame-MPC55XX/m-p/719686#M9606</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;Hi everybody,&lt;/P&gt;&lt;P&gt;I want to develop a &lt;STRONG&gt;LIN/DMA&lt;/STRONG&gt; Transfer of RX frame. I tried to realize it but unfortunately without success. I cannot receive Data.&lt;/P&gt;&lt;P&gt;Has anyone worked on this before?&lt;/P&gt;&lt;P&gt;Thankyou in advance.&lt;/P&gt;&lt;P&gt;Regards,&amp;nbsp;&lt;/P&gt;&lt;P&gt;Wadoud&amp;nbsp;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Tue, 06 Feb 2018 15:08:37 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/LIN-DMA-transfer-of-a-RX-frame-MPC55XX/m-p/719686#M9606</guid>
      <dc:creator>abdelwadoudmabr</dc:creator>
      <dc:date>2018-02-06T15:08:37Z</dc:date>
    </item>
    <item>
      <title>Re: LIN/DMA transfer of a RX frame? (MPC55XX)</title>
      <link>https://community.nxp.com/t5/MPC5xxx/LIN-DMA-transfer-of-a-RX-frame-MPC55XX/m-p/719687#M9607</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;as you mentioned MPC55xx, the eSCI is used and you want to do Master receiving using a DMA?&lt;/P&gt;&lt;P&gt;Two DMA channels can be used when executing an RX frame: one to transfer the header/control information from a memory location to the ESCIx_LTR, and one to transfer the incoming data bytes from the ESCIx_LRR to a table in memory.&lt;/P&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="pastedImage_1.png"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/793i4EE767618822A9F4/image-size/large?v=v2&amp;amp;px=999" role="button" title="pastedImage_1.png" alt="pastedImage_1.png" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;P&gt;&amp;nbsp;After the last byte from the RX frame has been stored, the DMA controller can indicate completion to the CPU.&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;BR, Petr&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Feb 2018 09:41:51 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/LIN-DMA-transfer-of-a-RX-frame-MPC55XX/m-p/719687#M9607</guid>
      <dc:creator>PetrS</dc:creator>
      <dc:date>2018-02-07T09:41:51Z</dc:date>
    </item>
    <item>
      <title>Re: LIN/DMA transfer of a RX frame? (MPC55XX)</title>
      <link>https://community.nxp.com/t5/MPC5xxx/LIN-DMA-transfer-of-a-RX-frame-MPC55XX/m-p/719688#M9608</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN&gt;Hi Petr,&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN&gt;Thank you for your answer.&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN&gt;I tried to configure a lin and to generate a TX/LIN frame.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;The frame is sent but the data were wrong.&lt;/SPAN&gt;&lt;BR /&gt;&lt;SPAN&gt;What can I do to correct this? (I don't know where i made a mistake! Someone please help me. thanks :smileyhappy:&lt;/SPAN&gt;&lt;/SPAN&gt;)&lt;/P&gt;&lt;P&gt;&lt;SPAN class="" lang="en"&gt;&lt;SPAN class=""&gt;Here is my code and a screenshot of what I sent (using LinTool).&lt;/SPAN&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;&lt;SPAN lang="en"&gt;&lt;/SPAN&gt;&lt;/P&gt;&lt;P&gt;/* Init eSCI B for LIN */&lt;BR /&gt;void initESCI_BLIN(/*baudrate*/)&lt;BR /&gt;{&lt;BR /&gt; //Enable LIN_EN&lt;BR /&gt; SIU.GPDO[184].B.PDO = 1;&lt;BR /&gt; /*The following setup applies for the LIN:*/&lt;BR /&gt; //The module is enabled by writing the ESCIB_CR2[MDIS]&lt;BR /&gt; ESCI_B.CR2.B.MDIS = 0;&lt;BR /&gt; //Both transmitter and receiver are enabled (ESCIB_CR1[TE] = 1; ESCIB_CR1[RE] = 1)&lt;BR /&gt; ESCI_B.CR1.B.TE = 1;&lt;BR /&gt; ESCI_B.CR1.B.RE = 1;&lt;BR /&gt; //The data format bit ESCIB_CR1[M], is set to 0 (8 data bits), and the parity is disabled (PE = 0)&lt;BR /&gt; ESCI_B.CR1.B.M = 0;&lt;BR /&gt; ESCI_B.CR1.B.PE = 0;&lt;BR /&gt; //ESCIB_CR1[TIE], ESCIB_CR1[TCIE], ESCIB_CR1[RIE] interrupt enable bits schould be used.&lt;BR /&gt; ESCI_B.CR1.B.TIE = 0;&lt;BR /&gt; ESCI_B.CR1.B.TCIE = 0;&lt;BR /&gt; ESCI_B.CR1.B.RIE = 0;&lt;BR /&gt; //Switch eSCI to lin mode (ESCIB_LCR[LIN] = 1)&lt;BR /&gt; ESCI_B.LCR.B.LIN = 1;&lt;BR /&gt; /*The LIN standart requires that the break character always be 13 bits long (ESCIB_CR2[BRK13] = 1).&lt;BR /&gt; the eSCI will work with BRK13 = 0. but it will violate LIN 2.0.*/&lt;BR /&gt; ESCI_B.CR2.B.BRK13 = 1;&lt;BR /&gt; /*Normally, bit errors should cause the LIN FSM to reset, stop driving the bus immediately, and&lt;BR /&gt; stop further DMA requests until the BERR flag has been cleared. Set ESCIx_LCR[LDBG] =&lt;BR /&gt; 0, ESCIx_CR2[SBSTP] = 1, and ESCIx_CR2[BSTP] = 1 to accomplish these functions.*/&lt;BR /&gt; ESCI_B.LCR.B.LDBG = 0;&lt;BR /&gt; ESCI_B.CR2.B.SBSTP = 1;&lt;BR /&gt; ESCI_B.CR2.B.BSTP = 1;&lt;BR /&gt; /*Fast bit error detection provides superior error checking, so ESCIx_CR2[FBR] should be set;&lt;BR /&gt; normally it will be used with ESCIx_CR2[BESM13] = 1.*/&lt;BR /&gt; ESCI_B.CR2.B.BESM13 = 1;&lt;BR /&gt; /*The error indicators NF, FE, BERR, STO, PBERR, CERR, CKERR, and OVFL should be enabled.*/&lt;BR /&gt; ESCI_B.SR.B.NF = 1;&lt;BR /&gt; ESCI_B.SR.B.FE = 1;&lt;BR /&gt; ESCI_B.SR.B.STO = 1;&lt;BR /&gt; ESCI_B.SR.B.PBERR = 1;&lt;BR /&gt; ESCI_B.SR.B.CERR = 1;&lt;BR /&gt; ESCI_B.SR.B.CKERR = 1;&lt;BR /&gt; ESCI_B.SR.B.OVFL = 1;&lt;BR /&gt; ESCI_B.CR2.B.FBR = 1;&lt;BR /&gt; //Baud Rate value&lt;BR /&gt; ESCI_B.CR1.B.SBR = 0x01A1; // Baud Rate value = System Clock(128 MhH) / (16 * 19200)&lt;BR /&gt; /* Reset the internal transmitter controller using bit SCI_LCR[LRES] */&lt;BR /&gt; ESCI_B.LCR.B.LRES = 0;&lt;BR /&gt; ESCI_B.LCR.B.PRTY = 1;&lt;BR /&gt; /*Enable the transmit DMA feature */&lt;BR /&gt; ESCI_B.CR2.B.TXDMA = 1;&lt;BR /&gt; /*Enable the receive DMA feature */&lt;BR /&gt; ESCI_B.CR2.B.RXDMA = 1;&lt;/P&gt;&lt;P&gt;}&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;&lt;BR /&gt;/*&lt;BR /&gt; * This function generates a LIN TX frame.&lt;/P&gt;&lt;P&gt;*uint8_t id = 0x2;&lt;BR /&gt;*uint8_t ch[] = {0x12, 0x25, 0x18, 0x19, 0x12, 0x14, 0x69, 0x15};&lt;BR /&gt;*uint8_t length = 8;&lt;BR /&gt;*LINTxFrame(id,length, &amp;amp;ch[0]);&lt;BR /&gt; */&lt;BR /&gt;void LINTxFrame(uint8_t id, uint8_t length, uint8_t *payload)&lt;BR /&gt;{&lt;BR /&gt; uint8_t DMATxFrame[length + 3];&lt;/P&gt;&lt;P&gt;/*Write LIN TX frame header and control information */&lt;BR /&gt; DMATxFrame[0] = id;&lt;BR /&gt; DMATxFrame[1] = length;&lt;BR /&gt; DMATxFrame[2] = 0xD0; /* For LIN TX frame, TD must be set to 1 LIN 2.0*/&lt;BR /&gt; memcpy(&amp;amp;DMATxFrame[3], payload, (length * sizeof(uint8_t)));&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EDMA.TCD[DMA_CH].SADDR = (vuint32_t)&amp;amp;DMATxFrame[0];&lt;BR /&gt; EDMA.TCD[DMA_CH].SSIZE = 0;&lt;BR /&gt; EDMA.TCD[DMA_CH].SOFF = 1;&lt;BR /&gt; EDMA.TCD[DMA_CH].SLAST = -(length + 3);&lt;BR /&gt; EDMA.TCD[DMA_CH].SMOD = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EDMA.TCD[DMA_CH].DADDR = ((vuint32_t)&amp;amp;ESCI_B.LTR.R);&lt;BR /&gt; EDMA.TCD[DMA_CH].DSIZE = 0;&lt;BR /&gt; EDMA.TCD[DMA_CH].DOFF = 0;&lt;BR /&gt; EDMA.TCD[DMA_CH].DLAST_SGA = 0;&lt;BR /&gt; EDMA.TCD[DMA_CH].DMOD = 0;&lt;/P&gt;&lt;P&gt;&lt;/P&gt;&lt;P&gt;EDMA.TCD[DMA_CH].NBYTES = 1;&lt;BR /&gt; EDMA.TCD[DMA_CH].BITER = length + 3;&lt;BR /&gt; EDMA.TCD[DMA_CH].CITER = length + 3;&lt;BR /&gt; EDMA.TCD[DMA_CH].CITERE_LINK = 0;&lt;BR /&gt; EDMA.TCD[DMA_CH].D_REQ = 1;&lt;BR /&gt; EDMA.TCD[DMA_CH].INT_HALF = 0;&lt;BR /&gt; EDMA.TCD[DMA_CH].INT_MAJ = 0;&lt;BR /&gt; EDMA.TCD[DMA_CH].CITERE_LINK = 0;&lt;BR /&gt; EDMA.TCD[DMA_CH].BITERE_LINK = 0;&lt;BR /&gt; EDMA.TCD[DMA_CH].MAJORLINKCH = 0;&lt;BR /&gt; EDMA.TCD[DMA_CH].E_SG = 0;&lt;BR /&gt; EDMA.TCD[DMA_CH].BWC = 0;&lt;BR /&gt; EDMA.TCD[DMA_CH].START = 0;&lt;BR /&gt; EDMA.TCD[DMA_CH].DONE = 0;&lt;BR /&gt; EDMA.TCD[DMA_CH].ACTIVE = 0;&lt;/P&gt;&lt;P&gt;EDMA.SERQR.R = DMA_CH; /* Enable EDMA channel */&lt;BR /&gt;}&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Feb 2018 13:03:26 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/LIN-DMA-transfer-of-a-RX-frame-MPC55XX/m-p/719688#M9608</guid>
      <dc:creator>abdelwadoudmabr</dc:creator>
      <dc:date>2018-02-07T13:03:26Z</dc:date>
    </item>
    <item>
      <title>Re: LIN/DMA transfer of a RX frame? (MPC55XX)</title>
      <link>https://community.nxp.com/t5/MPC5xxx/LIN-DMA-transfer-of-a-RX-frame-MPC55XX/m-p/719689#M9609</link>
      <description>&lt;HTML&gt;&lt;HEAD&gt;&lt;/HEAD&gt;&lt;BODY&gt;&lt;P&gt;&lt;span class="lia-inline-image-display-wrapper" image-alt="img.PNG"&gt;&lt;img src="https://community.nxp.com/t5/image/serverpage/image-id/2167i819D40CBC9259BAA/image-size/large?v=v2&amp;amp;px=999" role="button" title="img.PNG" alt="img.PNG" /&gt;&lt;/span&gt;&lt;/P&gt;&lt;/BODY&gt;&lt;/HTML&gt;</description>
      <pubDate>Wed, 07 Feb 2018 13:43:10 GMT</pubDate>
      <guid>https://community.nxp.com/t5/MPC5xxx/LIN-DMA-transfer-of-a-RX-frame-MPC55XX/m-p/719689#M9609</guid>
      <dc:creator>abdelwadoudmabr</dc:creator>
      <dc:date>2018-02-07T13:43:10Z</dc:date>
    </item>
  </channel>
</rss>

