SPI协议学习笔记

SPI协议学习笔记SPI优点与缺点优点:支持全双工,通信简单,数据传输速率快缺点:在数据可靠性上存在一定的缺陷,因为它不像I2C一样有ACK应答机制SPI总线的构成及信号类型SPI总线只需四条线(如图1所示)就可以完成MCU与各种外围器件的通讯:1)MOSI–Master数据输出,Slave数据输入2)MISO–Master数据输入,Slave数

大家好,又见面了,我是你们的朋友全栈君。如果您正在找激活码,请点击查看最新教程,关注关注公众号 “全栈程序员社区” 获取激活教程,可能之前旧版本教程已经失效.最新Idea2022.1教程亲测有效,一键激活。

Jetbrains全系列IDE稳定放心使用

SPI优点与缺点
优点:支持全双工,通信简单,数据传输速率快
缺点:在数据可靠性上存在一定的缺陷,因为它不像I2C一样有ACK应答机制
SPI总线的构成及信号类型
SPI总线只需四条线(如图1所示)就可以完成MCU与各种外围器件的通讯:
1)MOSI – Master数据输出,Slave数据输入
2)MISO – Master数据输入,Slave数据输出
3)SCK – 时钟信号,由Master产生
4)/CS – Slave使能信号,由Master控制。
这里写图片描述
每个SPI的slave和MCU都有一个i/o口连接,当我们的Master和某个slave通信时将需
要将从设备对应的片选引脚电平拉低或者是拉高。
通信模式
SPI通信有4种不同的模式,通信双方必须是工作在同一模式。不同的从设备可能在出厂是就是配
置为某种模式,不可改变;所以一般要将Master的SPI模式进行配置,通过CPOL(时钟极性)和CPHA(时钟相位)来控制Master的通信模式。
时钟极性CPOL是用来配置SCLK的电平出于哪种状态时是空闲态或者有效态,时钟相位CPHA 是用来配置数据采样是在第几个边沿,具体如下::
CPOL=0,表示当SCLK=0时处于空闲态,所以有效状态就是SCLK处于高电平时
CPOL=1,表示当SCLK=1时处于空闲态,所以有效状态就是SCLK处于低电平时
CPHA=0,表示数据采样是在第1个边沿,数据发送在第2个边沿
CPHA=1,表示数据采样是在第2个边沿,数据发送在第1个边沿
在一个SPI时钟周期内,会完成如下操作:
1) Master通过MOSI线发送1位数据,同时Slave通过MOSI线读取这1位数据
2) Slave通过MISO线发送1位数据,同时Master通过MISO线读取这1位数据
Master和Slave各有一个移位寄存器,如图4所示,而且这两个移位寄存器连接成环状。依照SCK的变化,数据以MSB first的方式依次移出Master寄存器和Slave寄存器,并且依次移入Slave寄存器和Master寄存器。当寄存器中的内容全部移出时,相当于完成了两个寄存器内容的交换。
这里写图片描述
SPI注意点
1)Slave的时钟极性和相位决定了Master时钟极性和相位,在时钟极性的配置上一定要确定Slave是在SCK的下降沿还是上升沿输出数据,是在SCK的上升沿还是下降沿接收数据,就是说,Master的通信模式要向Slave看齐
2)Slave时钟频率小于Master时钟频率时,如果Master的SCK的速率太快,会出现Slave接收到的数据不正确,而SPI接口又没有应答机制确认Slave是否接收到数据从而导致通信传输数据错误。

版权声明:本文内容由互联网用户自发贡献,该文观点仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请联系我们举报,一经查实,本站将立刻删除。

发布者:全栈程序员-站长,转载请注明出处:https://javaforall.net/183566.html原文链接:https://javaforall.net

(0)
全栈程序员-站长的头像全栈程序员-站长


相关推荐

  • TP框架自带的正则验证的规则

    TP框架自带的正则验证的规则

    2021年9月18日
    55
  • goland2021 激活码-激活码分享

    (goland2021 激活码)2021最新分享一个能用的的激活码出来,希望能帮到需要激活的朋友。目前这个是能用的,但是用的人多了之后也会失效,会不定时更新的,大家持续关注此网站~IntelliJ2021最新激活注册码,破解教程可免费永久激活,亲测有效,下面是详细链接哦~https://javaforall.net/100143.html…

    2022年3月30日
    290
  • 智能小车设计方案_智能小车研究目的及意义

    智能小车设计方案_智能小车研究目的及意义简介智能循迹小车是基于自动引导机器人系统,用以实现小车自动识别路线,以及选择正确的路线。智能循迹小车是一个运用传感器、单片机、电机驱动及自动控制等技术来实现按照预先设定的模式下,不受人为管理时能够自动实现循迹导航的高新科技。方案论证系统总体方案一、小车控制系统的结构框图二、程序流程框图三、循迹原理的简单描述循迹是指小车在白色地板上,循黑线行走通常采取的方法是红外探测法,红外探测法即利用红外线光遇到白色物体表面具有不同的反射性质的特点,在小车行驶过程…

    2022年10月18日
    2
  • mysql自定义函数写法_mysql多实例部署

    mysql自定义函数写法_mysql多实例部署本文实例讲述了mysql自定义函数原理与用法。分享给大家供大家参考,具体如下:本文内容:什么是函数函数的创建函数的调用函数的查看函数的修改函数的删除首发日期:2018-04-18什么是函数:函数存储着一系列sql语句,调用函数就是一次性执行这些语句。所以函数可以降低语句重复。【但注意的是函数注重返回值,不注重执行过程,所以一些语句无法执行。所以函数并不是单纯的sql语句集合。】mysql函数有自己…

    2022年9月8日
    2
  • 微服务架构的分布式事务解决方案「建议收藏」

    微服务架构的分布式事务解决方案

    2022年3月13日
    87
  • 查看php的配置文件Php.ini的位置

    查看php的配置文件Php.ini的位置

    2021年9月25日
    119

发表回复

您的邮箱地址不会被公开。 必填项已用 * 标注

关注全栈程序员社区公众号