江协科技stm32————11-1SPI通信协议

目录

SPI通信

硬件电路

移位示意图

SPI时序基本单元

模式0 

模式1

SPI时序

发送指令

指定地址写 

指定地址读


SPI通信

四根通信线:

SCK(Serial Clock):串行时钟线

MOSI(Master Output Slave Input):主机输出从机输入

MISO(Master Input Slave Output):主机输入从机输出

SS(Slave Select):从机选择

同步:同步时序

全双工 :发送和接收单独分别用两条线路

硬件电路

  • 主机要指定谁,就将连接的ss线置低电平
  • 输出引脚配置为推挽输出(有很强的驱动能力,使SPI引脚信号的上、下降沿非常迅速)从机未被选中时,MISO输出为高阻态,避免产生冲突
  • 输入引脚配置为浮空或上拉输入 ,

移位示意图

高位先行,主机移位寄存器向左移动一位通过MOSI移动到从机寄存器的右边;从机寄存器向左移动一位通过MOSO移动到从机寄存器的右边

当时钟上升沿来时,移位寄存器向左移动一位,数据存放在输出数据寄存器中

当时钟的下降沿来时,主机和从机都会进行数据采样输入 

重复该过程,直到主机和从机的字节完成数据交换,可以实现发送一个字节(只看从机)、接收一个字节(只看主机)以及发送同时接收一个字节 

SPI时序基本单元

模式0 

数据交换的超前时钟信号半个周期 

 模式1

ss开启前MISO为高阻态,避免冲突,ss关闭后MISO变为高阻态

SCK第一个边沿,MOSI和MISO移出最高位,SCK第二个边沿,之前移出的最高位进入对方的最低位

SPI时序

发送指令

采用指令码加读写数据的模型

从机中有一个指令集(起始后第一个字节发送指令码,指导从机完成相应的功能)

该图中,从机获得MOSI的0x06,写使能的指令 

指定地址写 

 首先发送0x02指定地址写的指令,后面的24位跟着指定的地址,然后写入数据 

 指定地址读

 指定地址后,主机给从机0xFF交换得到从机数据

  • 3
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值