通过STM32-SPI通讯

      最后更新:2021-10-30 11:48:28 手机定位技术交流文章

      1 SPI基本介绍

      1. SPI导言

      SPI是英文的串行近光接口,是一个由Mototola在其MC68HCXX系列CPU中最初定义的系列外围装置接口。
      SPI主要为MCU和一些外部通信设置所使用,如EPROM、Flash、AD转换器,以及数字信号处理器和数字信号解码器。 SPI是一个高速、全时同步的通信总线,仅使用芯片主干脚上的四根电线,这是指同时接收和发送设备,与CAN总线或RS585有区别,后者只能同时单向传输数据。 换句话说,数据只能同时接收或发送给一个设备。 同步通信是指一种略为同步的通信技术,需要同一频率的发送方和接收方同时发出时钟信号,由SPI通过CLK和阶段实现。 SPI节省芯片的主干脚,同时便利多氯联苯布局的空间,正因为这一简单易用的特点,现在有更多的芯片被纳入这一通信协议。
      SPI 界面分为两类, SPI 通信系统必须包含一个( 只有一个) 主设备, 一个或一个以上的设备。 主设备启动 SPI 界面的读写。 当存在多个设备时, 它会通过从自己的部件中选择信号来操作 。
      惠益包括全时两用通信支持、简便通信和快速数据传输速度。
      缺陷:由于没有具体的流量控制,也没有反应机制确保数据接收,因此与国际投资协定公共汽车协议相比,数据可靠性存在某些缺陷。
      STM32中的 SPI 界面特性:
      (1) 实时同时传送三条线;
      (2) 选择8位或16位传输框架格式;
      3) 初级或实际操作,支持多种主导模式;

      (4) 由软件或硬件处理NSS的主要模型的动态和运作模式;
      5. 时钟极性和阶段性是可以编程的。
      6) 数据顺序可编程性,数据顺序之前的MSB,或数据顺序之后的LSB;
      7) 发送和接收造成中断的信号;
      8) SPI公共汽车拥挤不堪的国家标志;
      9) 为可靠的通信提供硬件支持
      10) 造成中断的主要模式失灵、超载和CRC误差指标;
      11) 发送和接收一个字节的缓冲,以便DMA功能:发送和接收请求。

      2 SPI协议

      SPI 第2号引文通知

      SPI通信原则很简单;它以主模式运作,通常包括一个主装置和一台或多台设备,至少需要四条线,其中三条(单向传输)可以。

      SPI各根线的描述
      名称 描述
      MISO 主机主机输出输入主机输出,主机主机通过直线接收和传送机器数据
      MOSI 主机输出是从机器输入的,主机发送和接收来自机器的数据。
      SCLK 连续时钟同步输出、数据传输和使用主机输出
      CS 视频选择、主机输出和机器选择

      CS: 控制芯片是否被选中, 也就是说, 芯片的动作只有在单个选中的信号是预设启用信号( 通常定在低水平) 的情况下才会有效, 允许许多 SPI 设备连接到同一个总线 。
      换句话说,如果设备不止一个件,因为每件设备都连接到主设备,那么当我们的主要设备和一些设备从设备中通信时,就需要从设备的相应部件中滴下管子。

      MISO/MOSI/SCLK:通信是通过数据交换完成的,首先理解SPI是一个连续通信协议,即数据由一人传输。 这就是为什么存在SCLK时钟线的原因,因为SCLK时钟线提供时钟脉冲,而MOSI则根据此脉冲完成数据传输。Data输出是通过MOSI线进行的,随着时钟上升或沿线下降,数据被取样。
      要注意的是:
      1SCLK信号背心完全由主设备控制,不能由设备控制,同样,在以SPI为基础的设备中,至少有一个总控制装置。
      SPI接口不需要点对点通信的现场搜索操作,对全时双重工作通信来说既简单又有效,在设备的许多系统中,每套设备需要单独的推进器信号的硬件都比I2C系统复杂一些。
      4线SPI接线:设备之间的主要SPI连接在下图中说明。

      在这里插入图片描述

      3线SPI接线:三线SPI将由设备SS实施,节约芯片资源和减少电线。

      在这里插入图片描述

      SPI(1)的一个重要链接:通过将每件设备从SS与主模式设备连接到主模式设备,主模式设备可用于控制不止一个主设备。

      在这里插入图片描述

      SPI有一个主连接器(2):在这项战略中增加一个翻译,可有助于减少选定的信号数量,同时降低芯片在主模式装置中的足迹。

      在这里插入图片描述

      SPI 协议第2号时间序列号

      SPI时间序列也被称为工作模式。 SPI有四种工作模式,通常从机器到机器都固定下来,主机必须调整自己的工作模式以适应机器的工作模式,以便完成彼此之间的交流。 我们必须以同样的模式工作,这样我们就可以确定我们主要设备的SPI模式,并通过CPOL(时极)和CPHA(时段)管理我们主要设备的通信模式,具体如下:

      SPI模式 CPOL CPHA 空闲状态时钟极性 采样跳变沿
      0 0 0 低电平 采样后会出现奇数,而产出后会出现偶数。
      1 0 0 低电平 偶数跟随输出,而偶数则跟随抽样。
      2 1 1 高电平 甚至数字都来自抽样之后,而奇数则来自产出之后。
      3 1 1 高电平 偶数跟随输出,而偶数则跟随抽样。

      1) CCLPOL时钟极极选择:=0 表示公交车免费到低层(SCLK时钟可自由改变MOSI和 MISO的数据);=1 表示公交车空到高层(SCLK时钟可自由改变MOSI和 MISO的数据); 调整POL时钟极地选择:=0 表示公交车免费到低层(SCLK时钟可自由改变MOSI和 MISO的数据); =1 表示公交车空到高层(SCLK时钟可自由改变MOSI和 MISO的数据)。
      2) CPHA时钟阶段选择,=0将改变在SCLK中取样的第一次跳跃,在输出的第二次跳跃;=1将改变在SCLK中取样的第二次跳跃,在输出的第一次跳跃。上述语句不易理解,其表达方式可以是:0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0=0
      以下是对模型的年表的彻底审查:
      模式0:
      如图所示,自由水平是低水平的,取样边缘沿奇数移动,而如图所示,即使数字持续水平的输出也是低水平的,取样边缘按奇数移动,产出按偶数移动。

      在这里插入图片描述

      模式1:
      免费公寓是低层,如图像所示;奇异的跳跃沿着输出,偶的跳跃沿着样本跳动。

      在这里插入图片描述

      模式2:
      如图所示,免费公寓是高平面;取样的奇数跳动,输出的偶数跳动。

      在这里插入图片描述

      模式3:
      如图所示,免费公寓是高公寓;产出是按奇数跳跃进行,抽样是按偶数跳跃进行。

      在这里插入图片描述

      SPI 内部运作机制 2.3

      SPI的基本工作程序见下文有关SPI单个主机与一台机器连接的地图:

      ①硬件上为4根线;
      (a) 主机和服务器都有一个序列迁移登记簿,主机开始将一个字节写入其SPI序列记录器。
      三行转换登记册通过MOSI信号线向机器发送字节,同时通过MISO信号线将链转换登记册的内容退回主机。
      4 额外的书写和读数同时进行。 如果只写字, 主机会忽略收到的字节; 反之, 如果主机要读机器的字节, 则必须给空字节来触发机器的传输 。
      顶部的程序是动画式的:初始状态

      主机读取一点进程 :

      交换后:

      换句话说,SPI是一个环形公共汽车结构,由CS、SCLK、MISO和MOSI组成,其时间序列实际上相当基本,主要是在SSLK的指导下,数据从主机登记册传送到底部,然后从服务器传送到主机。当登记册的所有内容被删除时,相当于交换两个发报机的内容。
      据信8个主机配备了需要传输的数据,10 010101010, 上下10 0101010, 上下10 0101010, 上下10 01010, 上下10 0101010, 高空接收和发送。 当第一次升起之后, 主机将由MOSI信号线从机器的顶部传输到010101010x的自动接收器。 同时, MISO 信号线从机器向主机传输数据, 在8小时脉冲后,
      在现阶段,要么有疑问,要么有确定性:
      为什么主机同时向计算机发送数据电文和从机器通过 MISO 向主机返回数据?
      解释:数据主机和发送器同时完成,数据接收器也同时完成。也就是说,当数据沿着主机发送时,数据也从机器中传输。
      因此,为了保证主人从机器上适当通信,应给它们配配同样的钟杆和钟。

      3个接口 STM32 SPI

      SPI可分为两个主要模式,支持全时模式,这也使STM32中的SPI界面更为复杂。 例如,将SPI配置为主要模式,将SPI配置为模式,将SPI配置为单一工作通信,将SPI配置为双工作通信,将SPI配置为双工作通信,等等。

      三. 单个 SPI 接口框

      3.2 SPI引脚

      STM32 SPI接口通过四个引信与外部装置连接,并遵守标准SPI协议:
      1 MISO:主要设备输入/产出指导。主脚提供模式数据,并从主模式接收数据。
      2 MOSI:主要设备输出/设备介绍。主脚提供模式数据并从模式接收数据。
      3SCK:将设备中的连续时钟输入主设备;
      4NSS: 从设备中选择。 这是选择主控/ 从设备中选择主控/ 从设备中选择的诱导。 它的作用是作为“ 狙击脚 ”, 让主控设备单独与特定设备互动, 同时避免数据线冲突 。
      从选中处管理脚本( NSS)
      有2种NSS模式:
      1) 软件NSS 模式:该模式通过配置 SPI_CR1 登记册中的 SSM 位置来激活。在此模式中,为此使用了NSS 脚,而内部NSS 信号级别则通过在 SPI_CR1 中写入 SSI 位数来控制。
      (2) 两种情况下的硬件NSS模式:
      当 STM32F10xx 被用作主要 SPI 和 NSS 输出由 SPI_ CR2 注册的 SSOE 部分启用时, NSS 脚被降低, 与主 SPI NNS 脚连接并配置为硬件NSS SPI 设备的所有NSS 领先基点被自动转换成 SPI 设备。 当 SPI 设备必须传输广播数据时, 它必须降低 NSS 信号, 通知所有其他设备它是主设备; 如果它不能降低NSS, 这表明另一个主设备在公共汽车上, 导致硬件故障 。
      2NSS 输出关闭:它可能在不同情况下运作。

      3.3 数据帧格式

      1) 输出数据比特可以与左(MSB对齐)或右(LSB对齐)对齐,基于 SPI_CR1 登记册 LSBFIRST 位。
      (2) 每个数据框架的长度可能为8或16位元,视 SPI_CR1 登记册中的 DFF 位数而定。选择的数据框架格式对发送和接收都有效。

      3.4 状态标志

      该方案可以使用三个状况指标,对斯皮尔斯公共汽车的状况进行彻底监测:
      1) 发送空缓冲指示(TXE)。
      此符号用于信号发送者为空, 您可以写入下一个数据, 并传送到缓冲。 在写入 SPI_ DR 后, TXE 标记将被删除 。
      (2) 无空接收缓冲器(RXNE)
      当这个符号是 1 时, 它表示接收器缓冲中有合法的接收数据 。 读取 SPI 数据登记册后, 此符号将被删除 。
      2) Mark相当忙碌。
      SPI电信层用BSY表示,用硬件设置和删除(写作无效)。
      当设定为 1 时, 它表示 SPI 忙于通信, 只有一个例外: 主要模式双向接收模式( MSTR=1, BDM=1, BDOE=0) 在整个接收期间, BSY 信号仍然很低 。
      在软件关闭 SPI 模块并进入关闭模式(或停止设备钟)之前,使用 BSY 指示来识别传输的结束,防止先前传输中断,并需要严格遵守下文详述的方法是可行的。

      3.5 SPI中断

      STM32 SPI 4 -STM32踢脚

      SPPI 足足位置4.1

      4.2 更多GPIO配置

      与 SPI 相关的 5 配置仓库功能

      5.11 启动程序

      激活:具有重大意义的SPI初始化设置,如定向(全时)、模式硕士、数据大小、CCPOL、CPHA、电影选择软件模型、频率前因素等等。

      5.2 3个使能功能

      激活包括以下步骤:启动SPI接口,促成SPI中断,以及使SPIDMA具备能力。

      有5.32个数据传输功能。

      激活:单独用于SPI传输和数据接收。

      5.44 状态位数

      激活:前两个用于获取和清除不同的SPI地点;后两个用于SPI断裂标记。

      6 SPI一般步骤

      例如,初始化是一个实验目标。 使用 SPI2 。
      (1) 通过配置相应脚的重新使用特性,启用 SPIx 时钟。void GPIO_Init();
      2) SPIx初始化, 配置 SPIX 运行模式。 Call 函数 :void SPI_Init();
      (3) 激活 SPIx.Call 函数:void SPI_Cmd();
      (4) SPI发送数据。void SPI_I2S_SendData();uint16_t SPI_I2S_ReceiveData();
      5) 显示 SPI 传输状态。 Call 函数 :SPI_I2S_GetFlagStatus(SPI2, SPI_I2S_FLAG_RXNE)。
      根据这项一般程序,这里是基本SPI方案:

      本文由 在线网速测试 整理编辑,转载请注明出处,原文链接:https://www.wangsu123.cn/news/12495.html

          热门文章

          文章分类