SPI

转自https://blog.youkuaiyun.com/eZiMu/article/details/55657774 

对SPI协议的掌握,重点有下面几点: 
1、SPI是同步串行通信的理解 
2、SPI的4线全双工通信理解。4线分别是:

(1)SDI – 主设备数据输入,从设备数据输出;
(2)SDO – 主设备数据输出,从设备数据输入;
(3)SCLK – 时钟信号,由主设备产生;
(4)CS – 从设备使能信号,由主设备控制。
另外还有种表示SDI和SDO的: 
M:代表主机;S代表从设备;O代表输出;I代表输入 
- MOSI:表示主机输出接从设备输入 
- MISO:表示主机输入接从设备输出

3、SPI的3线半双工通信: 
- (1)SDIO – 主从设备数据输出输入共用; 
- (2)SCLK – 时钟信号,由主设备产生; 
- (3)CS – 从设备使能信号,由主设备控制。

4、SPI主从关系,一个主设备可以有一个或多个从设备,根据硬件支持情况,主从可以动态互换。

5、SPI时序理解

  • (1)CPOL(时钟极性)表示时钟信号(SCLK)空闲极性

CPOL = 0 表示时钟信号空闲为低电平。
CPOL = 1 表示时钟信号空闲为高电平。
(2)CPHA(时钟相位)表示时钟前沿后沿与采集数据输出数据关系

CPHA = 0 表示时钟前沿采集数据,时钟后沿输出数据。
CPHA = 1 表示时钟前沿输出数据,时钟后沿采集数据。 
个人理解,时钟前沿,是指时钟信号从空闲到开始传输数据时的第一个边沿(CPOL=0是上升,CPOL=1是下降),第二个边缘就是时钟后沿,然后就是周期性的,前后,前后。。。 
如下图: 

è¿éåå¾çæè¿°

CPOL和CPHA有4种组合,对应4种时序。具体根据从设备来配置这两个值。4种时序(先传输高位后传输低位),如下图: 

è¿éåå¾çæè¿°
其中红色小圈,标注的地方,都是数据输出的地方。 
图3,CPHA = 0 第一位数据(绿色标注的AC),要先放到数据线上,然后才开始第一个边沿(因为第一个边沿就是采集数据)。然后第二个边沿是输出数据(绿色标注的BD) 
图4,CPHA = 1 第一位数据(绿色标注的EG),是在第一个边沿到来后放到数据线上的(因为,第一个边沿是输出数据),然后第二个边沿采集数据,再然后输出数据到数据线上(绿色标注的FH)。

6、SPI速率 
全双工通信,传输速率可达几Mbps水平。具体看应用场合了,如用在flash,lcd的就是比较高的速率。 
各种通信速率可以参考博客: 
各类总线传输速率

7、SPI应用 
SPI接口主要应用在 EEPROM,FLASH,实时时钟,AD转换器,还有数字信号处理器和数字信号解码器之间。

SPI参考资料: 
SPI 
SPI接口

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值