SPl数据寄存器SPID功能描述
发表:2023-08-29 12:00:10 阅读:53

SPl数据寄存器SPID功能描述:通过检查SPl发送缓冲器空标志(SPlEF=1),然后向主SPl器件的SPl数据寄存器(SPID)写入一个字节的数据,可以发起一个SPl传输。当SPl移位寄存器可用时,这个字节的数据从发送数据缓冲器被移动到移位器中,置位SPTEF用以表明缓冲器内有空间来排列另一个需要发送的字符,并启动SPl串行传输。

在SPl传输期间,在MIS0引脚的某个SPSCK边沿,数据会被采样(读取)和移位,半个SPSCK周期后,改变MOSl引脚的位值。8个SPSCK周期后,位于主器件移位寄存器中的数据已经被移出MOSl引脚,转移到从器件,同时,8位数据从MIS0引脚的移位寄存器移位至主器件移位寄存器中。在传输结束时,接收到的数据字节从移位寄存器转移到接收数据缓冲器内,且SPRF被置位,以表示数据可以通过读SPID被读取。如果在传输结束时有另一个字节的数据在发送缓冲器内等待,该数据就会继续保存在移位寄存器中,SPTEF被置位,新的一次传输便开始了。

通常,SPl数据从最高有效位(MSB)开始被传送。如果最低有效位优先使能位(LSBFE=1)被置位,则SPl数据从LSB开始移位。当SPl被配置为从模式时,它的SS引脚在传输开始之前必须被驱动为低电平,且在整个传输过程中SS必须保持低平。如果所选时钟格式的位置有CPHA-0,在连续传输之间,SS必须被驱动为逻辑1。如果CPHA=1,SS可以在连续传输中保持低平。

因为发送器和接收器是双缓冲器,所以,除当前正在被移出的字节外,另一个字节,可以被排列进入发送数据缓冲器,并且,当一个新的字符被移入时,先前接收到的字符可以在接收数据缓冲器内。SPTEF标志指示发送缓冲器内何时有空间接受一个新的字符。SPRF标志指示在接收数据缓冲器内一个已接收的字符何时是可用的。

这个接收到字符必须在下一个传输完成或接收丢包错误发生之前,从接收缓冲器中被读出(读取SPID)。在接收丢包的情况下,因为接收缓冲器仍然保持先前的字符,尚未准备好接收新数据,所以,新的数据会丢失。对于这种丢包情况,没有标志位被置位来告诉你发生丢包,所以,对于应用系统设计者来说,必须确保先前数据在新的传输开始之前已经从接收缓冲器中被读取。

 

阅读更多请您关注:

SPl波特率寄存器SPIBR

状态寄存器SPIS

SPl数据寄存器SPID

freescale代理