I.MXRT1061 LPSPI连续传输模式只能在接收到一个新的命令时,才能结束传输吗?

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

I.MXRT1061 LPSPI连续传输模式只能在接收到一个新的命令时,才能结束传输吗?

372 Views
TheSix
Contributor I

TheSix_0-1713341517179.png

按参考手册中的描述,似乎只有在接收到一个新命令的时候连续传输才会结束。有其他的方法可以结束连续传输吗?

Labels (1)
0 Kudos
Reply
2 Replies

333 Views
Gavin_Jia
NXP TechSupport
NXP TechSupport

Hi @TheSix ,

感谢你联系NXP技术支持!

在master模式下,使能连续传输,会使PCS在帧大小的末尾保持有效,直到接收到开始新帧的命令字为止。也就是说,这时候传输的某一帧是确定的,新的命令字会更新下一帧的传输配置,而不是终止连续传输的作用。

如果当前是连续传输模式,我们想要终止它,那么可以这样做:

1. 等待当前传输帧结束
- 在连续模式(CONT=1)下,LPSPI会一直保持PCS有效,直到当前帧传输完成

2. 在下一个命令字(command word)中设置CONT=0和CONTC=0
- 将CONT=0,确保在当前帧结束后不再保持PCS
- 将CONTC=0,这将终止当前的连续传输,忽略之前CONT的值

3. 写入新的命令字到LPSPI的传输命令寄存器TCR
- 新命令字生效后,当前帧结束,LPSPI不再启动新的传输

4. 轮询状态,确保没有剩余的传输
- 可以检查LPSPI的状态标志和FIFO计数

5. 禁用LPSPI传输,进入空闲状态

 

Best regards,
Gavin

 

0 Kudos
Reply

327 Views
TheSix
Contributor I
请问一下第一种等待当前传输帧结束,当前传输帧结束的标志是什么呢?是传输完FRAMESIZE大小的数据吗?但是似乎在连续传输模式下,传输完FRAMESIZE大小的数据以后,PCS信号仍然会保持有效状态传输不会结束,是这样的吗?
0 Kudos
Reply