SPI通信协议

一、基本概念

       1、定义: SPI(Serial Peripheral Interface)是由Motorola公司开发的一种通用高速数据总线,是串行外设接口。SPI有四根通信线分别为:SCK(时钟线) , MOSI (主设备输出,从设备输入), MISO(主设备输入,从设备输出) , SS(片选信号,用于主片选中从片)。同步,全双工模式。

        同步:主从设备间有时钟线,主设备提供时钟信号。

        全双工:接收数据和发送数据有单独的线,可以同时收发数据。

        主机多条ss控制不同的从机。

        2、通信原理:主机和从机利用SPI通信时,主要是通过移位寄存器来置换主机和从机的数据,也就是通过交换一个字节来实现数据的同时接收与发送。

【注:输出引脚配置为推挽输出,输入引脚配置为浮空或上拉输入,数据是高位先行】

二、数据帧

1、基本时序单元

①起始信号:

ss下降沿

②终止信号:

ss上升沿

③SPI的四种模式(一般用模式0)

模式0:->交换一个字节

CPOL=0 :空闲状态时, SCK 为低电平
CPHA=0: SCK第一个边沿移入数据(上升沿),第二个边沿移出数据(下降沿)

模式1:->交换一个字节

           CPOL=0:空闲状态时,SCK为低电平 

           CPHA=1:SCK第一个边沿移出数据(上升沿),第二个边沿移入数据(下降沿)

模式2:->交换一个字节

CPOL=1 :空闲状态时, SCK 为高电平
CPHA=0 SCK 第一个边沿移入数据(下降沿),第二个边沿移出数据(上升沿)

模式3:->交换一个字节

           CPOL=1:空闲状态时,SCK为高电平

CPHA=1 :SCK第一个边沿移出数据(下降沿),第二个边沿移入数据(上升沿)

 

【注:在SS高电平期间,由于多个从机挂在MOSI总线上,若同时开始输出会引起冲突,因此在不对从机进行通信时,保持MISO为高阻态。】

④地址读/写

向ss指定的设备,发送读/写指令(Address),然后在指定的地址位读取/写入从机数据

【注:指令也是需要通过主机发送】

三、STM32中的SPI外设

 1、外设介绍:

2、 

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值