| |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
-> 嵌入式 -> SPI硬件设计、协议、速率全解析 -> 正文阅读 |
|
[嵌入式]SPI硬件设计、协议、速率全解析 |
SPI硬件电路SPI(Serial Peripheral Interface)是一种嵌入式产品常用的板级高速、全双工通信总线。 它采用1主多从的方式进行通信。 整个通信的物理层通常需要(3+N)根线。 3指的是:SCK、MOSI、MISO N指的是片选线:片选线的数量取决于具体的从机数量及从机配置模式; 1从机时: 只需要1根片选 多从机时:如果支持菊花链模式,也仅需要1根片选;如果不支持菊花链,则每个从机都需要独立的片选。 S\S\ : Slave Select SCK : Serial Clock MOSI: Master Output, Slave Input MISO: Master Input, Slave Output 空闲状态下SCK的电平由CPOL控制、总线运行时的数据采样时刻由CPHA决定,关于CPOL和CPHA的定义在SPI总线标准中的描述如下: CPOL — SPI Clock Polarity Bit 1 = Active-low clocks selected. In idle state SCK is high. 0 = Active-high clocks selected. In idle state SCK is low. CPHA — SPI Clock Phase Bit 1 = Sampling of data occurs at even edges (2,4,…,16) of the SCK clock 0 = Sampling of data occurs at odd edges (1,3,…,15) of the SCK clock 简介总结为: CPOL: Clock POLarity 时钟极性 CPHA: Clock PHAse 时钟相位 CPOL: 决定总线空闲时CLK时钟的极性(0为低电平,1为高电平) CPHA: 决定数据何时进行采样(0为在时钟的第1个跳变边沿进行采样,1位在时钟的第2个跳变边沿采样) 由此,可以定义出SPI通信时的4种传输模式:
SPI时序讲解一、SPI主从通信:SPI的基本结构相当于两个8位移位寄存器的首尾相接,构成16位的环形移位寄存器,从而实现了主机与从机的数据交换; 二、SPI通讯模式SPI有4种不同的传输时序,取决于时钟极性CPOL和时钟相位CPHA的组合。 CPHA是用来控制数据是在第一个跳变沿还是第二个跳变沿采集的。 通过上图可以看到: CPHA=0的时候,数据是在第一个跳变沿的时候就会被采集。 那问题来了,到底是上升沿还是下降沿采集? 这个就由CPOL来决定了: CPOL=1的时候是上升沿采集。CPOL=0的时候是下降沿采集。 除此以外,CPOL还决定了我们时钟线SCLK空闲时的状态。 CPOL=0的时候表示SCLK在空闲时为低电平。 Ok,明白了这个,我们再分析4种模式的时序图。 1.模式0(CPOL=0 CPHA=0)CPOL = 0:时钟线空闲时是低电平,第1个跳变沿是上升沿,第2个跳变沿是下降沿 CPHA = 0:数据在第1个跳变沿(上升沿)采样 时序图如下: 2.模式1(CPOL=0 CPHA=1)CPOL = 0:空闲时是低电平,第1个跳变沿是上升沿,第2个跳变沿是下降沿 CPHA = 1:数据在第2个跳变沿(下降沿)采样 时序图如下: 3.模式2(CPOL=1 CPHA=0)CPOL = 1:空闲时是高电平,第1个跳变沿是下降沿,第2个跳变沿是上升沿 CPHA = 0:数据在第1个跳变沿(下降沿)采样 时序图如下: 4.模式3(CPOL=1 CPHA=1)CPOL = 1:空闲时是高电平,第1个跳变沿是下降沿,第2个跳变沿是上升沿 CPHA = 1:数据在第2个跳变沿(上升沿)采样 时序图如下: 三、示例分析实际芯片的Datasheet中,大部分是不会给出SPI时序图工作模式,此时需要根据时钟和数据读取方式判断工作模式。 从CLK看支持Mode 0,空闲时低电平,第一个上升沿采样。 时序分析如下:
本文来源于网络,参考原文:《SPI时序,看不懂你打我》 补充知识1-多从机配置模式SPI多从机配置模式菊花链模式? ? 参考原文:《深入剖析 SPI 通信原理及应用》 补充知识2-SPI通信速率SPI通信速率SPI的作为master或者slave时可以达到的最大传输速率是多少呢? I2C协议v2.1规定了100K,400K和3.4M三种速率(bps)。 因此SPI的最大传输速率主要受到以下几个条件影响: |
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
89C51单片机与DAC0832 |
基于51单片机宠物自动投料喂食器控制系统仿 |
《痞子衡嵌入式半月刊》 第 68 期 |
多思计组实验实验七 简单模型机实验 |
CSC7720 |
启明智显分享| ESP32学习笔记参考--PWM(脉冲 |
STM32初探 |
STM32 总结 |
【STM32】CubeMX例程四---定时器中断(附工 |
|
上一篇文章 下一篇文章 查看所有文章 |
|
开发:
C++知识库
Java知识库
JavaScript
Python
PHP知识库
人工智能
区块链
大数据
移动开发
嵌入式
开发工具
数据结构与算法
开发测试
游戏开发
网络协议
系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程 数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁 |
360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 | -2024/11/26 0:32:08- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |