自学内容网 自学内容网

AUTOSAR SPI详解

 

1.SPI通信

1)SPI通信脚

  • SCLO:串行时钟sclk。
  • MTSR:主向从方向数据MTSR(主发送从接收)。
  • MRST:从向主方向数据MRST(主接收从发送)。
  • SLSO:从选择信号SLS,支持16路片选控制。

2) SPI状态机

2.SPI通信波形

在主机模式,QSPI模块产生定时,串行时钟,和从选择信号。

配置QSPI通信阶段长度的可能性:定时延迟、数据长度、占空比和数据采样。

QSPI帧从激活一个从选择信号SLSO(从空闲到前导延迟阶段)开始,到终止(从拖后延迟到等待或空闲阶段)。它是一个由五个阶段组成的序列:空闲延迟、前导延迟、数据阶段、结束延迟和一个可选的等待阶段。IDLE阶段细分为两个长度相等的阶段:IDLE A和IDLE B。

WAIT:等待阶段只是一个循环,等待Tx FIFO,没有预定义的持续时间,也没有定义位域。

IDLE:空闲延迟,IDLE位域定义了两个长度相同的子阶段IDLEA和IDLEB。

LEAD:前导延迟

DATA:数据段

TRAIL:结束延迟

1) 时间延迟

公式里的LPRE和LEAD的值分别对应MCAL的 SpiDelayParamLeadPre 和 SpiDelayParamLeadLength的配置值。

Leading delay 取决于LPRE、LEAD和TPER,如都配置为一样。

可以查看两个模块通道对应的BACON寄存器的实际配置值确认一下。

2) SPI四种时序

SPI模式选择:

CPOL是用来决定SCK时钟信号空闲时的电平,CPHA是用来决定采样时刻的。

CPOL=0,空闲电平为低电平,CPOL=1时,空闲电平为高电平。

CPHA=0,在每个周期的第一个时钟沿采样,CPHA=1,在每个周期的第二个时钟沿采样。

(图片来源于百度百科)

SPI模式设定:主机与从机选择的时钟极性(CPOL)和时钟相位(CPHA)要相同。

slave通信波形,在SLSO信号选择后立即提供第一个比特的有效值。在这种情况下,使用帧中的第一个时钟边缘锁存第一个比特"first data bit"。第二条边传递第二个比特值,以此类推。帧中的最后一条边传递了一个不在乎的比特。

相位:CPH = 0,CPOL = 1

相位:CPH = 1,CPOL = 1

3) 达芬奇配置

(1).配置时钟

SPI模式主机与从机选择的时钟极性(CPOL)和时钟相位(CPHA)要相同。

Data Shift Edge : LEADING / TRAILING                    

Shift Clock IDLE Level: LOW / HIGH

(2).配置时间延迟

通过修改Idle Time、Time Clk2 Cs、Trailing Time改变通信的整个时间长度。

4) 生成代码

3.SPI的一主多从

1)概述

1.AURIX芯片TC3xx的QSPI支持一主与16路从机分别通信,通过片选脚(SLSO)进行切换选择。

2.支持一主分别与时钟极性(CPH)与时钟相位(CPOL)不同的从机分别通信。

3.主从之间配置为异步通信必须使用DMA,同步通信则可以不需要配置DMA。

2)说明

QSPI架构如图所示支持16路片选脚

示意图如下

3)达芬奇配置

AURIX芯片为主机模式,从机的片选脚连接在P22.2管脚。

(1)Port口配置为GPIO模式

(2)配置SPI外设驱动

保持主机与从机在同一时钟模式下。

SpiExternalDevices:配置SPI的外设驱动,此处配置主机与外设从机通信参数与SLSO脚选择。

配置主机与外设从机通信参数

选择SLSO脚为P22.2脚


原文地址:https://blog.csdn.net/qq_29986979/article/details/136383852

免责声明:本站文章内容转载自网络资源,如本站内容侵犯了原著者的合法权益,可联系本站删除。更多内容请关注自学内容网(zxcms.com)!