How to Increase the size of transfer buffer using DMA for UART?

cancel
Showing results for 
Show  only  | Search instead for 
Did you mean: 

How to Increase the size of transfer buffer using DMA for UART?

1,651 Views
Amit_Kumar1
Senior Contributor II

Hi

Using the below PE settings I am able to transfer 8 bytes of data but my buffer contains 15 bytes of data. So whats the process of transferring all the data present in the buffer? I have used DMAT_Ldd component from PE. I am using FRDM-K20D50M board with codewarrior 10.5.

dma.jpg

Kind Regards

Amit Kumar

6 Replies

910 Views
marek_neuzil
NXP Employee
NXP Employee

Hello Amit,

You are using DMATransfer_LDD component that has been replaced by the new DMAChannel_LDD (already available in the CW MCU 10.5). See the thread https://community.freescale.com/thread/328100 (response from Marek Varecha).

Best Regards,

Marek Neuzil

0 Kudos

910 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Amit,

I didn't figure out the problem after I had a brief look through the screenshot you provided,

So I'm wondering if you could upload your project to the community.

I'm looking forward to your reply.
Have a great day,
Ping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

910 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Amit,

I think I've found the reason of why only 8 bytes have been transfered.

From your project, you set the [Transfer control]: Single transfer, when triger source:UART transmit exist, then DMA will transfer all 16 bytes to UART data register immediately.

However the UART0 have only 8-entry transmint FIFO which mean it can store 8 bytes and the FIFO will bypass other bytes.

Final, we've just received 8 byte from UART0.

Wish my support help.

Have a great day,
Ping

-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

910 Views
Amit_Kumar1
Senior Contributor II

HI Jeremyzhou

Thanks for the response, SO according to u if I change the transfer from single transfer to nested transfer it should work? I will test this and will update it soon.

Regards

Amit Kumar

0 Kudos

910 Views
Amit_Kumar1
Senior Contributor II

Hi

Thanks for the concern. Please find the attachment. The issue is when executing this program, the o/p i am getting is "hello wo" which is only 8 char, but my buffer size is 16 char. Following is the o/p.

terminal output.jpg

Thanks & Regards

Amit Kumar

0 Kudos

910 Views
jeremyzhou
NXP Employee
NXP Employee

Hi Amit,

Thanks for your reply.

I will test this project with FRDM-K20D50 and inform you immediately if I figure out this problem.

Have a nice day!

Ping

0 Kudos