MPC5777C DSPI Master transmit using DMA

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

MPC5777C DSPI Master transmit using DMA

1,643 Views
Dong_Luo
NXP Employee
NXP Employee

Hi, 

I'm working on the DSPI master transmit using DMA which based on SDK.  I just used DSPI0 loopback mode that connects SOUT to SIN,  and no idea about the TX additional DMA channel.

pastedImage_1.png

I checked the SDK user manual that explains this channel is used to push commands in the corresponding FIFO, but as for the specify DMA channel, which channel should I choose? I have confirmed that channel 33 is not working. And when I choose the other channel such as channel 35, it will conflict with ESCI_1_RX request. 

pastedImage_2.png

Labels (1)
Tags (2)
0 Kudos
5 Replies

1,540 Views
Dong_Luo
NXP Employee
NXP Employee

I think it might be ProcessorExpert issues. It is working when I modified the txAdditionalDMAChannel manually before call DSPI_MasterInit. 

pastedImage_1.png

0 Kudos

1,540 Views
lukaszadrapa
NXP TechSupport
NXP TechSupport

Hi Dong,

there's no DMA MUX on this device, the peripheral requests are hardwired to given DMA channels. That means you must use channels 32 and 33 for DSPI TX and RX:

pastedImage_1.png

The additional DMA channel does not use hardware request from DSPI peripheral. Linking is used from channel 32. The "Request" field obviously shows corresponding hardware request regardless of this configuration.

It should be possible to use any DMA channel which is not used yet.

Regards,

Lukas

0 Kudos

1,540 Views
Dong_Luo
NXP Employee
NXP Employee

Hi Lukas,

I agree with the additional DMA channel should be linked to the channel which is not used yet. But when I used DMA channel 35 and configured the ProcessorExpert by adding it to the Channels list in dmaController and selecting channel 35 for TX additional DMA channel in dspi0, the ProcessorExpert reported the error for dmaController so that can't generate code successfully. As shown in the following figures.

pastedImage_2.png

pastedImage_3.pngpastedImage_4.png

To generate code successfully, I had to select the channel 32 as TX additional DMA channel, and then changed it to channel 35 manually in the code to ensure that the additional DMA channel can successfully transfer the master command to TX PUSHR. I have confirmed this operation is OK.  

pastedImage_1.png

So is it an issue for SDK or there are other operations to configure this additional channel?

0 Kudos

1,540 Views
razva_tilimpea
NXP Employee
NXP Employee

Hi Dong,

Can you share the error message?

Best regards,

Razvan

0 Kudos

1,540 Views
Dong_Luo
NXP Employee
NXP Employee

Hi Razvan-nicolae,

Here are some screen captures for error message.

pastedImage_1.png

pastedImage_2.png

0 Kudos