当前位置: 首页 > news >正文

SPI通讯简介

一、基本概念
SPI是串行外设接口(Serial Peripheral Interface)的缩写,是一种高速的,全双工,同步的通信总线,主要应用在EEPROM,FLASH,实时时钟,AD转换器,多MCU间通讯等等,SPI端口可以在多主器件环境下工作,最多可以与4个其它SPI兼容器件接口;既可用作主器件,也可用作从器件SPI一边使用四线实现全双工通讯:
MISO:主设备输入/从设备输出引脚。该引脚在从模式下发送数据,在主模式下接收数据。
MOSI:主设备输出/从设备输入引脚。该引脚在从模式接收数据,在从模式下发送数据。
SCLK:串行时钟信号,由主设备产生。
CS/SS:从设备片选信号,有主设备控制。让主设备可以单独的与特定从设备通讯,避免数据线上的冲突。
二、SPI与I2C差异:
在这里插入图片描述
三、SPI总线拓扑:一对一或一对多。
主设备与从设备都有一个串行移位寄存器,主设备移位寄存器数据经过MOSI将数据写入从设备的移位寄存器,此时从设备的串行移位寄存器的数据也通过MISO传给了主设备,实现两个移位寄存器的数据交换,发送和接收都是同步进行。
1、如果主设备只对从设备进行写操作,主设备忽略从设备接收到的数据即可。
2、如果主设备要读取从设备数据,主设备需要发送一个空数据来引发从设备发送数据。
在这里插入图片描述
四、SPI通讯有4种通讯模式,时钟极性SCLK Polarity(CPOL)定义了时钟空闲状态电平,时钟相位SCLK Phase(CPHA)定义数据的采集时间。
在这里插入图片描述
模式1:CPOL=0,CPHA=0:此时空闲态时,SCLK处于低电平,数据采样在第一个边沿,即SCLK由低电平到高电平跳变,数据接收在上升沿,数据发送在下降沿。在这里插入图片描述
模式2:CPOL=0,CPHA=1:此时空闲态时,SCLK处于低电平,数据发送在第1个边沿,即SCLK由低电平到高电平跳变,数据发送在上升沿,数据接收在下降沿。
模式3:CPOL=1,CPHA=0:此时空闲态时,SCLK处于高电平,数据采样在第1个边沿,即SCLK由高电平到低电平跳变,数据接收在下降沿,数据发送在上升沿。
在这里插入图片描述
模式4:CPOL=1,CPHA=1:此时空闲态时,SCLK处于高电平,数据采样在第1个边沿,即SCLK由高电平到低电平跳变,数据发送在下降沿,数据接收在上升沿。
五、ADSP-214xx的SPI特性
1、4线接口,包括两个数据引脚、一个设备选择引脚和时钟引脚
2、特殊的数据格式,可容纳小端、大端数据,不同单词长度和包装模式。
3、主设备和多个从设备,其中ADSP-214xx主处理器最多可连接4个其他SPI设备。
4、可对波特率、时钟极性、相位(SPI模式0-3)进行编程。
六、ADSP-214xx寄存器
1、SPI控制寄存器(SPICTLx):配置传输启动模式(core或DMA),并配置定位位、使能SPI端口。
2、SPI DMA控制寄存器(SPIDMACx):控制SPI上DMA通道,相应状态位提供状态或错误信息。
3、SPI标志(SPIFLAGx):启用主模式下的芯片选择输出并返回多处理器系统中错误状态。
4、SPI状态(SPISTATx):提供传输错误的信息。
5、SPI波特率(SPIBAUDx):对于主设备,确定时钟速率通过波特率寄存器(SPIBAUDx)的15位值,对于从设备,忽略。SPI模块的基本定时时钟是外围时钟/4
(PCLK/4)用于从属模式,外围时钟/8(PCLK/8)用于主模式。主波特率=PCLK/(4×BAUDR)。
在这里插入图片描述
公式:SPI波特率=PCLK+200 MHz;

http://www.lryc.cn/news/12983.html

相关文章:

  • Python 迭代器
  • Python语言零基础入门教程(二十七)
  • Redis基础操作以及数据类型
  • 自抗扰控制ADRC之反馈控制律(NLSEF)
  • “生成音乐“ 【循环神经网络】
  • 能否手写vue3响应式原理-面试进阶
  • 前端工程师leetcode算法面试必备-简单的二叉树
  • 【什么程度叫熟悉linux系统】
  • 编译安装MySQL
  • Kubernetes一 Kubernetes之入门
  • SQLServer2000 断电后数据库suspect“置疑”处理
  • 多模态机器学习入门Tutorial on MultiModal Machine Learning——第一堂课个人学习内容
  • Java ~ Collection/Executor ~ LinkedBlockingDeque【总结】
  • .NET7的AOT的使用
  • 分布式缓存的问题
  • golang入门笔记——内存管理和编译器优化
  • GEE学习笔记 七十:【GEE之Python版教程四】Python基础编程二
  • 股票投资新出发之知识体系构建导论
  • 蓝桥杯算法训练合集 十六 1.首字母变大写2.盾神计科导作业3.Cinema4.接水问题
  • 密码的世界
  • 如何用一句话感动测试工程师?产品和技术都这么说!
  • 3|物联网控制|计算机控制-刘川来胡乃平版|第2章:计算机控制系统中的检测设备和执行机构-2.1传感器和变送器|课堂笔记|ppt
  • MySQL中使用索引优化
  • Linux C/C++ 多线程TCP/UDP服务器 (监控系统状态)
  • 【JavaScript】JavaScript基本使用方法
  • Python数据容器、list列表、tuple元组、str字符串、数据容器(序列)切片、set集合、dict字典、字符串大小比较
  • Python urllib
  • Centos7安装Python3
  • [U3D ShaderGraph] 全面学习ShaderGraph节点 | 第四课 | Input/Lighting
  • SpringBoot升级到3.0