SPI总线通信协议.pptx
串行外设接口SPI,serial peripheral interface,通常SPI通过4个引脚与外部器件相连: MISO:主设备输入/ 从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。 MOSI:主设备输出/ 从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。 SCK:串口时钟,作为主设备的输出,从设备的输入 NSS:从设备选择。这是一个可选的引脚,用来选择主/ 从设备。它的功能是用来作为“片选引脚”,让主设备可以单独地与特定从设备通讯,避免数据线上的冲突。,串行外设接口SPI,NSS引脚,软件模式:NSS引脚做普通I/O口 硬件模式: SPI 主控方式 输出:低电平 输入:高电平 SPI 从控方式 输入:低电平,串行外设接口SPI,串行外设接口SPI,SPI_CR寄存器的CPOL和CPHA位 CPOL(时钟极性):在没有数据传输时时钟的空闲电平 CPHA(时钟相位):SCK时钟的第一个(或第二个)边沿进行数据位的采样,数据在第一个(或第二个)时钟边沿被锁存。,时钟信号的相位和极性,CPOL,CPHA两位决定数据捕捉的时边沿,时钟信号的相位和极性,CPOL,CPHA两位决定数据捕捉的时边沿,时钟信号的相位和极性,配置步骤 : 1. 配置数据位。(每帧数据8位或16位) 2. 配置CPOL和CPHA。 3. 配置帧格式。( MSB在前,还是LSB在前) 4. 配置从设备管理是硬件模式还是软件模式(NSS) 5. 配置为从模式。(清除MSTR位) 6. 使能SPI。(使相应引脚工作于SPI模式下) 前三项主、从设备配置相同,配置SPI为从模式,MSB: most significant bit LSB: lest significant bit,数据发送过程 : 将数据写入发送缓冲器。 当从设备收到时钟信号,发送过程开始。 当发送缓冲器中的数据传输到移位寄存器时,(SPI_SP寄存器的TXE标志被设置,如果设置了SPI_CR2寄存器的TXEIE位),将会产生发送寄存器空中断。 数据接收过程 : 对于接收器,当数据接收完成时: 移位寄存器中的数据传送到接收缓冲器, SPI_SR 寄存器中的RXNE标志被设置。 如果设置了 SPI_CR2寄存器中的RXNEIE位,则产生中断。,配置SPI为从模式,配置步骤 : 1. 配置波特率 2. 配置数据位。(每帧数据8位或16位) 3. 配置CPOL和CPHA。 4. 配置帧格式。( MSB在前,还是LSB在前) 5. 配置NSS引脚输出模式。 6. 配置为主模式。(置位MSTR位) 7. 使能SPI。(使相应引脚工作于SPI模式下) 2-4项主、从设备配置相同,配置SPI为主模式,数据发送过程 : 将数据写入发送缓冲器,发送过程开始。 当发送缓冲器中的数据传输到移位寄存器时,(SPI_SP寄存器的TXE标志被设置,如果设置了SPI_CR2寄存器的TXEIE位),将会产生发送寄存器空中断。 数据接收过程 : 对于接收器,当数据接收完成时: 移位寄存器中的数据传送到接收缓冲器, SPI_SR 寄存器中的RXNE标志被设置。 如果设置了 SPI_CR2寄存器中的RXNEIE位,则产生中断。,配置SPI为主模式,3线全双工同步传输 带或不带第3根双向数据线的双线单工同步传输 8或16位传输帧格式选择 主或从操作 支持多主模式 8个主模式波特率预分频系数(最大为fPCLK/2) 从模式频率 (最大为fPCLK/2) 主模式和从模式的快速通信 主模式和从模式下均可以由软件或硬件进行 NSS管理:主/从操作模式的动态改变 可编程的时钟极性和相位,SPI特征,最大18M,可编程的数据顺序, MSB在前或LSB在前 可触发中断的专用发送和接收标志 SPI总线忙状态标志 支持可靠通信的硬件 CRC 在发送模式下,CRC值可以被作为最后一个字节发送 在全双工模式中对接收到的最后一个字节自动进行CRC校验 可触发中断的主模式故障、过载以及 CRC错误标志 支持 DMA功能的1字节发送和接收缓冲器:产生发送和接受请求,SPI特征,可以用于,在关闭SPI前查询是否发送完毕。,SPI 多机通讯,SPI Serial Memory AT25F512AT25F1024,