最后更新:2022-04-11 11:11:53 手机定位技术交流文章
SPI是串行周边界面的缩略语,这是一个连续外围装置界面,最初由Motoola(Motorola)在其 MC68HCXX CPU 系列中定义。
SPI,是一种全时、高速、同步的通信总线,芯片管脚上只有四根电线节约了芯片的管脚,它还节省了多氯联苯布局的空间。提供方便,它主要用于EEPROMs。FLASH,实时时钟,AD转换器,此外,数字信号处理器与数字信号解码器之间有一个鸿沟。
SPI分为两个模型,一个模型与另一个模型分离,另一个模型与另一个模型分离。SPI通信系统必须有一个单一(只有一个)主设备。一个或多个从设备。由时钟提供的主要设备(Master),装置(奴隶)是用来接收钟表的设备。SPI 读写界面动作,都是由主设备发起。当有不止一个装置时,通过在他们个人闪烁中进行信号选择的管理。
SPI是全时协议,没有设定速度限制;一般实现往往接近或超过10兆位/秒。
一. SPI接口一般通过四条信号线进行通信:
SDI(数据输入)、SDO(数据输出)、SCK(时钟)和CS(选择)为下列缩略语:SDI(数据输入)、SDO(数据输出)、SCK(时钟)和CS(选择):SDI(数据输入)、SDO(数据输出)、SCK(时钟)和CS(选择)
MISO它从该模式发送数据,从主模式接收数据,从设备输出的主要设备输入/腿接收数据。MOSI:该设备的主要设备输出/进入基座。主脚根据主模式提供数据,并从该模式接收数据。SCLK主设备生成序列时钟信号。CS/SS其作用将用作“狙击选脚”,即它从设备碎片中选择信号,并受主设备控制。 选择一个特定设备,使主设备能够与专门设备独立互动,同时避免数据线冲突。二. 硬件由四根电线组成。
SPI一对一
SPI一对多
SPI是一项[单一主 通信协议。这表明公共汽车只有一个中心设施能够启动通信。当 SPI 主设备想要读取或写入[ / 从设备读取或写入时,它最初将SS线调低[从设备](SS在低水平有效)。然后我们开始将工作脉冲传送到时钟线同样,关于该疾病对环境的影响的知识也很少。向MOSI发送“写字”信号。MISO 样本也可以以这种方式“读取” 。如下图:
斯皮尔主机和服务器上都有序列迁移登记册,主机开始通过将字节记录到其斯皮尔公司序列记录器进行传输。
与装置进行通讯,首先拉下SS的信号线
2. 主机指示机器通过发送 SSLK 时钟信号书写或读取数据。 必须指出, SSCLK 时钟信号可以是低级别或高层次的, 因为有四种 SPI 模式, 我们不久将讨论这些模式 。
主人将发送的三条数据已写入发送数据缓存 (Menory) 。移动登记册(0-7)跨越缓存地点。连续迁移登记册使用MOSI信号线向机器发送一个字节。,通过 MISO 接口收到的数据由一人输入接收缓存。
4 通过 MISO 信号线将奴隶系列迁移登记册(0-7) 的内容转换为主机。主机传输的数据同样通过MOSI 信号线接收,因此将两个移动器的内容转换为交换。
SPI完全以主要方式和模式为基础,没有文字可读或写,外部书写和阅读活动是同步的。
如果主机仅仅是写字, 收到的字节会被忽略; 如果主机要从机器读取字节, 必须给空字节来触发机器的传输。 也就是说, 您必须传输一个数据, 您必须先发送一个数据 。
四种SPI类型只是确定SCLK时钟线为合法信号的信号类型。
SPI通信有四种运作方式。这种设备与可能已从设施中搬走的设备之间的区别在于,按照特定模式编程。这一点不能改变;然而,我们都必须一致努力。因此,我们可以设定我们的主装置的 SPI 模型。通过CPOL(钟极)和CPHA(钟级)控制我们主要设备的通讯方式。具体如下:
空时钟水平由时钟极度( CPOL) 定义 :
CPOL=0,这意味着当SCLK = 0小时时,它处于闲置状态,当SCLK = 1小时时,它处于活动状态。CPOL=1,这表明闲置状态是当 SCLK = 1 时,活动状态是当 SCLK 处于低电解水平时。
数据收集的时间由时钟阶段(CPHA)确定。
CPHA=0,数据在时钟跳跃(上下)的第一行取样。数据沿着第二边缘发送。CPHA=1,数据在时钟跳跃(上下)的第二行取样。数据沿着第一边缘发送。示例:
Mode0CPOL=0,CPHA=0:在闲置状态期间,SCLK处于低水平,数据样本处于第一边缘,即SSLK从低水平向高水平的移动,因此数据样本上升(数据编制),数据(数据传输)下降。
Mode1:CPOL = 0,CPHA = 1:在闲置状态期间,SCLK处于低水平,数据沿第一边缘传输,即SSLK从低水平向高水平的移动,因此数据样本下降并发送数据。
Mode2CPOL=1,CPHA=0:在闲置状态期间,SCLK处于高水平,数据收集处于第一边缘,即SCLK从高水平向低水平的移动,因此数据收集正在减少,数据分配正在增加。
Mode3CPOL=1,CPHA=1:在闲置状态期间,SCLK处于高水平,数据沿第一边缘传输,即SCLK从高水平向低水平的移动,因此数据收集和数据发送增加。


区别在于它们指定时钟脉冲边缘的哪个信号。侧边的哪一边接收信号 当它沿着样品走过时时钟脉冲水平也是一致的(即时钟信号在不运行时是高是低)。每个模型都有一对参数它们被称为时钟杆和时钟周期。

主从设备为了正常运作,必须采用同样的工作方式——SCLK、CCPOL和CPHA。从设备他们以不同的方式工作,所以..主设备必须在读写不同从设备用于设备的模式应予修订,上文列出了SPI公共汽车协议的主要部分。
对于没有最高传输率、地址计划、通信响应机制和流动控制规则的斯皮尔斯公司来说,情况尤其如此。
SPI 模式是相同的, 只要四条信号线被适当连接。 拉下 CS/SS 信号线, 即直接通信, 一个字节传输, 读写数据同时, 即 SPI 。
某些通信控制必须是使用SPI装置自行产生的,而SPI装置与信号标准电压等物理接口的电气质量无关。
PS:
SPI接口还有另一个缺点:没有公开的流量控制,也没有确认数据接收的响应机制。
SPI以三种模式运作:运行、等待和停止。
运行模式 (运行模式) (运行模式)这是最基本的操作模式
等待模式(等待模式)SPI的工作正在等待模型作为低容量模型的配置。SPICR2登记册的SPISWAI空档可用于控制。在等待模式下,如果SPISWAI是明确的,SPI 操作与运行模式操作相同 。如果SPISWAI的地位是1,SPI转换为低功率模式。斯皮尔斯时钟就要结束了如果将 SPI 设为主机,所有的传输将停止,尽管如此, 当 CPU 进入操作模式时重新启动 。如果SPI被设置为一台机器他们将不断接收和传递一个字节。这将保证 PC 和主机同步 。
停止模式:为了降低功耗,在停止模式下,国家安全局无法运作。如果将 SPI 设为主机,当前传输将被终止 。然而,当 CPU 进入操作模式时,它会重新启动 。如果SPI被设置为一台机器他们会继续接收和发送字节这将保证 PC 和主机同步 。
SPI原理图连接
1 启动 GPIO 口,并配置对随行脚的重新使用,以便允许 SPIx 钟表。 Call 函数: 无效 GPIO_ Init ();
RCC_APB2 PeriphClockCmd (RCC_APB2Periph_SPI1, Enable) RCC_APB2 PeriphClockCd (RCC_APB2Periph_SPI1, Enable) RCC_APB2PeriphClockCmd (RCC_APB2P) RCC_APB2 PeriphClockCmd (RCC_APB2P)
3.配置SPI初始化的参数,设置SPI工作模式:SPI_Init(SPI1,&SPI_Initstructure)
SPI_Cmd (SPI1, Enable); SPI_Cmd (SPI1, Eniable); SPI_Cmd (SPI1, Eniable); SPI_Cmd (SPI1, Eniable); SPI_Cmd (SPI_Cmd)
SPI配置设置

SPI 传送(标准图书馆/HAL图书馆)功能
这篇论文基于SPI原则的超级详细版本,值得一看。
如果有违反规定的情况,请发电子邮件给我们,我们将删除该邮箱!
本文由 在线网速测试 整理编辑,转载请注明出处。