| |
|
开发:
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的通信原理很简单,一般主从方式工作,这种模式通常有一个主设备和一个或者多个从设备,通常采用的是4根线,它们是MISO(数据输入,针对主机来说)、MOSI(数据输出,针对主机来说)、SCLK(时钟,主机产生)、CS/SS(片选,一般由主机发送或者直接使能,通常为低电平有效)
SCK:时钟信号,由主设备产生,所以主设备SCK信号为输出模式,从设备的SCK信号为输入模式 CS:使能信号,由主设备控制从设备,所以主设备CS信号为输出模式,从设备的CS信号为输入模式。 MOSI:主设备数据输出,从设备输入,所以主设备MOSI信号为输出模式,从设备的MOSI信号为输入模式 MISO:主设备数据输入,从设备数据输出,所以主设备MISO信号为输入模式,从设备的MISO信号为输出模式
注意:MOSI和MISO不能交叉连接(可以把主从机理解为一个整体系统,MOSI为系统主机发送从机接收的数据线,MISO为主机接收从机发送的数据线)
SPI作为全双工的串行通信协议,数据传输时高位在前,低位在后。主机和从机公用由主机产生的SCK信号,所以在每个时钟周期内主机和从机有1bit的数据交换(因为MOSI和MISO数据线上的数据都是在时钟的边沿处被采样)。如下图 SPI协议规定数据采样是在SCK的上升沿或下降沿时刻(由SPI模式决定,下面会说到),观察上图,在SCK的边沿处(上升沿或下降沿),主机会在MISO数据线上采样(接收来从机的数据),从机会在MOSI数据线上采样(接受来自主机的数据),所以每个时钟周期中会有一bit的数据交换。 ?SPI传输模式SPI总线传输一共有4种模式,这4种模式分别由时钟极性(CPOL)和时钟相位(CPHA)来定义。 ?CPOL:规定了SCK时钟信号空闲状态的电平 CPHA:规定了数据是在SCK时钟的奇数边沿还是偶数边沿被采样 模式0:CPOL=0,CPHA=0 SCK空闲为低电平,数据在SCK的上升沿被采样(提取数据)。 模式1:CPOL=0,CPHA=1 SCK空闲为低电平,数据在SCK的下降沿被采样(提取数据) 模式2:CPOL=1,CPHA=0 SCK空闲为高电平,数据在SCK的下降沿被采样(提取数据) 模式3:CPOL=1,CPHA=1 SCK空闲为高电平,数据在SCK的上升沿被采样(提取数据) 以模式0为例,SCK空闲为低电平,数据在SCK的上升沿被采样(提取数据),在SCK的下降沿奇幻数据线的数据。
MOSI上数据为1,则在此边沿从机采样,数据为1,采样点在MOSI数据线的中间 MISO上数据为0,则在此边沿从机采样,数据为0,采样点在MISO数据线的中间
MOSI上数据由1切换为0,数据在时钟的下降沿时切换数据 MISO上数据由0切换为1,数据在时钟的下降沿时切换数据
模拟SPI程序初始化代码
模拟SPI4种工作模式:
|
|
嵌入式 最新文章 |
基于高精度单片机开发红外测温仪方案 |
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 8:54:05- |
|
网站联系: qq:121756557 email:121756557@qq.com IT数码 |