SPI通信协议

1.串行外设接口概述 SPI

2.基本概念

SPI---串行外设接口----Motorola公司

全双工----采用主从模式(Master—Slave)架构,支持一个或多个Slave设备

3.引脚定义

(1)MISO:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。

(2)MOSI:主设备输出/从设备输入引脚。该引脚在主模式下发送数据,在从模式下接收数据。

(3)SCK:串口时钟,作为主设备的输出,从设备的输入。

(4)NSS:从设备选择。这是一个可选的引脚,用来选择主/从设备。它的功能是用来作为片选引脚,让主设备可以单独地与特定从设备通信,避免数据线上的冲突。

4.通信结构

初始状态

主机读取一个bit过程

当读取7次后,也就是读取7位后

总结:

没有读和写的说法,因为实质上每次SPI主从设备在交换数据。也就是说,你发一个数据必然会收到一个数据;你要收一个数据必须也要先发一个数据。

5.通信速率

对比一下

IIC--速率--100KHz 400KHz

SPI--速率--是由从机决定   0MHz~10MHz的速率(只有少数模块能达到10MHz的速率)

可以看到SPI1外设的通信速率可以高达42Mbps,SPI2和SPI3也可以达到21Mbps,但是一些外围器件的通信速率最高也就是10Mbps左右,极少数可以超过10Mbps(W25Q128芯片)。

6.工作模式

7.时钟极性

控制的是初始电平状态

8.时钟相位

取的边沿状态---(边沿检测器)

9.工作模式选择

工作模式的选择依赖的模块规定(数据手册有规定使用哪一种模式)

模式0

模式1

模式2

模式3

CPOL极性

0

0

1

1

CPHA相位

0

1

0

1

描述

初始低电平,取第一边沿(上升沿)

  • RFID模块

规定模式0

  • 2.4G无线通信模块

规定模式0

  • 串行Flash芯片

W25Q128--规定模式0 或者模式3

10.数据格式

11.SPI编程

方法一:看 how to use

方法二:看 帮助手册

12.数据发送

你发一个数据必然会收到一个数据;你要收一个数据必须也要先发一个数据。

对比所学

引脚

速率

传输方向

时钟

串口

TX/RX

波特率决定

全双工

异步

单总线DHT11

DATA

-

半双工

异步

IIC

SCL/SDA

100KHz/400KHz

半双工

同步

SPI

SCK/MISO/MOSI/CS

10MHZ  <APB2/2

全双工

同步

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

玄月初二丶

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值