【通信协议】一文搞懂SPI |
您所在的位置:网站首页 › profigold信号线 › 【通信协议】一文搞懂SPI |
SPI总线简介
SPI(Serial Peripheral Interface)是 Motorola 公司推出的一种同步串行接口技术,是一种高速的,全双工,同步的通信总线。 接口定义SPI接口共有4根信号线,分别是:片选信号、时钟信号、串行输出信号、串行输入信号。 MOSI:Master数据输出,Slave数据输入 MISO:Master数据输入,Slave数据输出 SCLK :时钟信号,由Master产生 SS:片选信号,由Master控制 时钟极性和时钟相位在SPI操作中,最重要的两项设置就是时钟极性(CPOL)和时钟相位(CPHA)。 时钟极性: 时钟空闲时的电平。 时钟相位: 采样数据的时钟沿。 SPI模式 CPOLCPHA模式000模式101模式210模式311CPOL: SPI空闲时的时钟信号电平(1:高电平, 0:低电平) CPHA: SPI在时钟第几个边沿采样(1:第二个边沿开始, 0:第一个边沿开始) 模式0空闲状态CLK为低电平,CLK上升沿采样(这时候数据不能改变)。 模式1空闲状态CLK为低电平,CLK下降沿采样(这时候数据不能改变)。 模式2空闲状态CLK为高电平,CLK下升沿采样(这时候数据不能改变)。 *注意: 上图的第一个CLK下降沿应该往右移动一点更准确,因为采样时数据不应该改变。 模式3空闲状态CLK为高电平,CLK上降沿采样(这时候数据不能改变)。 注意: 当CPHA为0时,采集数据发生在时钟周期的前边沿(第一个边沿,可能是上升沿也可能是下降沿,由CPOL决定); 当CPHA为1时,采集数据发生在时钟周期的后边沿(第二个边沿,可能是上升沿也可能是下降沿,由CPOL决定); 所以不能说CPHA=0就是上升沿或下降沿采集数据,要根据CPOL才能确定。 总结当我们写某SPI芯片的驱动时,主要要关注外设芯片的SPI模式(时钟极性和时钟相位),以及寄存器,这些在datasheet中都会体现。 往期推荐: 嵌入式到底应该选择驱动开发,还是应用开发? 【通信协议】一文搞懂I2C 如何实现一个Linux命令 推荐几款串口监控软件 一文搞懂UART |
今日新闻 |
点击排行 |
|
推荐新闻 |
图片新闻 |
|
专题文章 |
CopyRight 2018-2019 实验室设备网 版权所有 win10的实时保护怎么永久关闭 |