SPI and DMA CS does not disable

取消
显示结果 
显示  仅  | 搜索替代 
您的意思是: 
已解决

SPI and DMA CS does not disable

跳至解决方案
1,892 次查看
pietrodicastri
Senior Contributor II

Good morning..

I am testing on the FRDM-K64.

I have initialized the SPI and DMA to transfer. The transfer is looking ok on the scope with one problem.

The second CS signal remain in the enable status in the end of the transfer, I would like to see it disabled as the other.

Suggestions???

Thank you

Pietro

标签 (1)
标记 (3)
0 项奖励
回复
1 解答
1,558 次查看
adriancano
NXP Employee
NXP Employee

Hi,

I apologize for the late response, I am not aware of an issue like this. But I have some points to check.

It is probably that your configuration has the continuous mode enable in the last transmission and this is causing the PCSx line remains low waiting for the next frame. Please check the status your are configuring for the PUSHR[CONT] bit in the last transfer.

Also, you need to ensure that in the last transfer the PUSHR[EOQ] bit is set to indicate is the last one in the queue and the bus becomes free.

Hope this information can help you

Best Regards,
Adrian Sanchez Cano
Technical Support Engineer
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

在原帖中查看解决方案

0 项奖励
回复
4 回复数
1,558 次查看
adriancano
NXP Employee
NXP Employee

Hi,

I do not completely understand what do you mean with the second CS? Can you please be more specific?

You can refer to this document, it might be useful for your application:

Using the DMA module in Kinetis Devices


Hope this information can help you

Best Regards,
Adrian Sanchez Cano
Technical Support Engineer
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复
1,558 次查看
pietrodicastri
Senior Contributor II

Hello Adrian

Thank You for the assistance.

The signal I mean are the SPI0_PCS1 and SPI0_PCS0.

Everything is working with the surprise that the last transfer updates all of the PCSx signal as requested

only when the transfer begins, not when the transfer ends. The enabled PCSx in the last transfer remain enabled

when the transfer stops.

The trick is to add a dummy transfer with all of the PCSx signal disabled, but I don t like to do. I suppose a solution exists.

Thank You

0 项奖励
回复
1,559 次查看
adriancano
NXP Employee
NXP Employee

Hi,

I apologize for the late response, I am not aware of an issue like this. But I have some points to check.

It is probably that your configuration has the continuous mode enable in the last transmission and this is causing the PCSx line remains low waiting for the next frame. Please check the status your are configuring for the PUSHR[CONT] bit in the last transfer.

Also, you need to ensure that in the last transfer the PUSHR[EOQ] bit is set to indicate is the last one in the queue and the bus becomes free.

Hope this information can help you

Best Regards,
Adrian Sanchez Cano
Technical Support Engineer
-----------------------------------------------------------------------------------------------------------------------
Note: If this post answers your question, please click the Correct Answer button. Thank you!
-----------------------------------------------------------------------------------------------------------------------

0 项奖励
回复
1,558 次查看
pietrodicastri
Senior Contributor II

Yes...

That's it

Thank You

0 项奖励
回复