USART + CRC with ping-pong DMA

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

USART + CRC with ping-pong DMA

832 Views
pck20
Contributor I

Hi All

I would like to do ping-pong DMA with CRC, ie.,
USART6 -> buffer1 -> CRC -> USART6 -> buffer0 ->CRC.
UM11126 user manual chapter has provided instruction on how to do chain DMA.
Nonetheless, I followed the instructions and demo codes from LPC55S69 but I am not able to configure to the ping-pong USART6 with CRC

The reason that I am not able to do the ping-pong DMA with USART + CRC is that
in order to do ping-pong config, dma_xfercfg_t needs reload=true, clrtrig=false, whereas for
chain DMA to work, clrtrig=true, but this breaks ping-pong config.
Can someone help to see if this is something that is fundamental limitation to the LPC55S66 MCU. If not, can I get help in how to configure it properly?

I have attached the code. The macro definition #define TRY_CRC 1 will work for single uart+crc transfer but not in ping-pong config. Setting TRY_CRC  0 will do ping-pong but not CRC transfer.

Thank you in advance for all the help.

Ping.

0 Kudos
Reply
2 Replies

780 Views
pck20
Contributor I

Hi XiangJun,

 

Thank you for your response. Can I assume that then the documentation from UM11126.pdf which I did a screen capture below is not correct then?

The user guide explicitly use a UART + CRC DMA as an example.

Thanks
Regards
Ping

 

pck20_0-1632769115224.png

 

0 Kudos
Reply

821 Views
xiangjun_rong
NXP TechSupport
NXP TechSupport

Hi,

As you said that the DMA channel chain requires to set the CLRTRIG in the
channel's transfer configuration in the descriptor, but DMA ping-pong mode requires to clear the CLRTRIG bit, so I think you can not use the same DMA channel to set up both channel chain and ping-pong mode.

Hope it can help you

BR

XiangJun Rong

Tags (1)
0 Kudos
Reply