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

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脚

相关文章:

AUTOSAR SPI详解

1.SPI通信 1)SPI通信脚 SCLO:串行时钟sclk。MTSR:主向从方向数据MTSR(主发送从接收)。MRST:从向主方向数据MRST(主接收从发送)。SLSO:从选择信号SLS,支持16路片选控制。 2) SPI状态机 2.SPI通信波形 在主…...

SpringBoot快速入门(黑马学习笔记)

需求 需求:基于SpringBoot的方式开发一个Web应用,浏览器发起请求/hello后,给浏览器返回字符串"Hello World~"。 开发步骤 第一步:创建SpringBoot工程项目 第二步:定义HelloController类,添加方…...

压力测试工具Jmeter的下载与使用

1、进入官网下载Jmeter https://jmeter.apache.org/ 国内镜像(下载的慢的话可以用国内镜像下载) https://mirrors.cloud.tencent.com/apache/jmeter/binaries/ 2、跳转到下载页面 3、根据不同系统下载相应版本的Jmeter压缩包,Linux系统下载…...

kubectl 陈述式资源管理方法

目录 陈述式资源管理方法 项目的生命周期 1.创建kubectl create命令 2.发布kubectl expose命令 service的4的基本类型 查看pod网络状态详细信息和 Service暴露的端口 查看关联后端的节点 ​编辑 查看 service 的描述信息 ​编辑在 node01 节点上操作,查看…...

从 iOS 设备恢复数据的 20 个iOS 数据恢复工具

作为 iPhone、iPad 或 iPod 用户,您可能普遍担心自己可能会丢失存储在珍贵 iOS 设备中的所有宝贵数据。数据丢失的原因多种多样,这里列出了一些常见原因: 1. iOS 软件更新 2. 恢复出厂设置 3. 越狱 4. 误操作删除数据 5. iOS 设备崩溃 …...

cpp基础学习笔记03:类型转换

static_cast 静态转换 用于类层次结构中基类和派生类之间指针或者引用的转换。up-casting (把派生类的指针或引用转换成基类的指针或者引用表示)是安全的;down-casting(把基类指针或引用转换成子类的指针或者引用)是不安全的。用于基本数据类型之间的转换&#xff…...

H3C OSPF 外部路由引入实验

H3C OSPF 外部路由引入实验 实验拓扑 实验需求 按照图示配置 IP 地址R1,R2,R3 运行 OSPF 使内网互通,所有接口(公网接口除外)全部宣告进 Area 0;要求使用环回口作为 Router-id业务网段不允许出现协议报文…...

ARM简介

ARM:ARM是Advanced RISC Machine的缩写,意为高级精简指令集计算机。 英国ARM公司,2016年被软银创始人孙正义斥资320亿美元收购了。现在是软银旗下的芯片设计公司,总部位于英国剑桥,专注于设计芯片,卖芯片生…...

MySQL(基础篇)——事务

一.事务简介 事务是一组操作的集合,他是一个不可分割的单位,事务会把所有的操作作色一个整体一起向系统提交或撤销操作请求,即这些操作要么同时成功,要么同时失败。 默认MySQL的事务是自动提交的,也就是说&#xff0c…...

XGB-15:调参注意事项

参数调优是机器学习中的一门黑艺术,一个模型的最优参数可能取决于许多情境。因此,要为此提供全面的指南是不可能的。 了解偏差-方差权衡Bias-Variance Tradeoff 当能允许模型变得更加复杂(例如更深),模型具有更好的拟…...

蓝桥杯_定时器的基本原理与应用

一 什么是定时器 定时器/计数器是一种能够对内部时钟信号或外部输入信号进行计数,当计数值达到设定要求时,向cpu提出中断处理请求,从而实现,定时或者计数功能的外设。 二 51单片机的定时/计数器 单片机外部晶振12MHZ,…...

【跨境电商须知】FP独立站的特点和痛点有哪些?

无论是做独立站,还是做亚马逊,都有各自的难点。自己做独立站若要在跨境行业长足发展,既要知道FP独立站有什么特点,要清楚FP独立站的痛点并一一克服。 一、FP独立站的特点 与依赖第三方平台相比,拥有自己的域名、服务器…...

js 精确计算(解决js四则运算精度缺失问题)

js的小数的运算,可能会得到一个不精确的结果,因为所有的运算都要转换成二进制去计算,然而,二进制无法精确表示1/10。 var a 0.1 0.2; console.log(a); //打印结果:0.30000000000000004因此需要使用以下方法实现精确…...

SpringBoot之统一事务管理配置

SpringBoot之自定义Jackson反序列化日期类型转换配置类 文章目录 SpringBoot之自定义Jackson反序列化日期类型转换配置类1. SpringBoot版本2. 统一事务管理配置类3. 主启动类加入开启事务的注解 统一事务管理配置 1. SpringBoot版本 <parent><groupId>org.springfr…...

荒岛生存:以牙签为核心资源的生存策略与思考

设想一下&#xff0c;当你不幸流落荒岛&#xff0c;随身携带的唯一物品是一盒牙签&#xff0c;面对极端环境与匮乏资源&#xff0c;如何运用这一看似微不足道的工具进行生存&#xff0c;成为了一项严峻的挑战。本文旨在探讨如何最大限度地发挥牙签在荒岛生存中的作用&#xff0…...

云计算 2月26号 (进程管理和常用命令)

一、权限扩展 文件权限管理之&#xff1a; 隐藏权限防止root误删除 文件属性添加与查看 [rootlinux-server ~]# touch file1 file2 file3 1.查看文件属性 [rootlinux-server ~]# lsattr file1 file2 file3 ---------------- file1 ---------------- file2 ---------------- f…...

Pytorch中,dim形象化的确切意义是什么?

在Pytorch中涉及张量的操作都会涉及“dim”的设置&#xff0c;虽然也理解个大差不差&#xff0c;但是偶尔还是有点犯迷糊&#xff0c;究其原因还是没有形象化的理解。 首先&#xff0c;张量的维度排序是有固定顺序的&#xff0c;0&#xff0c;1&#xff0c;2&#xff0c;.....…...

跨域引起的两个接口的session_id不是同一个

来源场景&#xff1a; RequestMapping(“/captcha”)接口设置了SESSION_KEY&#xff0c;也能获取到&#xff0c;但是到了PostMapping(“/login”)接口就是空的&#xff0c;由于跨域导致的两个session_id不是同一个 /*** 系统用户 前端控制器*/ Controller CrossOrigin(origins…...

解释一下前端框架中的虚拟DOM(virtual DOM)和实际DOM(real DOM)之间的关系。

聚沙成塔每天进步一点点 ⭐ 专栏简介 前端入门之旅&#xff1a;探索Web开发的奇妙世界 欢迎来到前端入门之旅&#xff01;感兴趣的可以订阅本专栏哦&#xff01;这个专栏是为那些对Web开发感兴趣、刚刚踏入前端领域的朋友们量身打造的。无论你是完全的新手还是有一些基础的开发…...

【MyBatis-Plus】之queryWrapper.apply用法

目录 一、queryWrapper.apply的含义及其用法 二、其他方法 三、注意事项 官网地址&#xff1a;MyBatis-Plus https://baomidou.com/ 一、queryWrapper.apply的含义及其用法 QueryWrapper.apply() 是 MyBatis-Plus 提供的方法&#xff0c;用于构建动态 SQL 查询条件。它允许…...

Debian12系统下fcitx5中文输入法的安装与优化配置指南

1. 为什么选择fcitx5输入法&#xff1f; 在Linux系统上折腾中文输入法&#xff0c;相信是很多用户刚接触Debian时的必经之路。我自己从Debian 9一路用到现在的Debian 12&#xff0c;尝试过ibus、fcitx4等各种方案&#xff0c;最终发现fcitx5确实是最优解。相比旧版fcitx4&#…...

3分钟掌握AKShare:用Python轻松获取免费金融数据

3分钟掌握AKShare&#xff1a;用Python轻松获取免费金融数据 【免费下载链接】akshare AKShare is an elegant and simple financial data interface library for Python, built for human beings! 开源财经数据接口库 项目地址: https://gitcode.com/gh_mirrors/aks/akshare…...

KeymouseGo深度解析:如何通过Python实现跨平台鼠标键盘自动化

KeymouseGo深度解析&#xff1a;如何通过Python实现跨平台鼠标键盘自动化 【免费下载链接】KeymouseGo 类似按键精灵的鼠标键盘录制和自动化操作 模拟点击和键入 | automate mouse clicks and keyboard input 项目地址: https://gitcode.com/gh_mirrors/ke/KeymouseGo K…...

3个技巧优化你的CFD自动化工作流:PyFluent实战指南

3个技巧优化你的CFD自动化工作流&#xff1a;PyFluent实战指南 【免费下载链接】pyfluent Pythonic interface to Ansys Fluent 项目地址: https://gitcode.com/gh_mirrors/pyf/pyfluent PyFluent作为Ansys Fluent的Python接口&#xff0c;正在改变工程师处理计算流体动…...

别再死记硬背AR模型公式了!用Python实战AR(1)和AR(2)模型,5分钟搞懂平稳性判断

用Python实战AR模型&#xff1a;5分钟掌握平稳性判断与核心概念可视化 刚接触时间序列分析时&#xff0c;那些复杂的AR模型公式总让人望而生畏。但当我第一次用Python代码生成模拟数据并看到自相关图规律摆动时&#xff0c;突然理解了所谓"延迟算子"不过是数据记忆效…...

RTX5 | 事件标志组实战 - 多按键协同触发(逻辑与模式)

1. 事件标志组与多按键协同触发的实战场景 想象一下你正在设计一个智能家居控制面板&#xff0c;需要同时长按三个物理按键才能激活系统初始化流程——这种多重条件确认机制在工业控制、医疗设备等安全敏感场景中非常常见。RTX5实时操作系统的事件标志组&#xff08;Event Flag…...

基于纯逻辑的AD9361多片同步系统设计与实现

1. AD9361多片同步系统概述 在无线通信系统中&#xff0c;多通道同步是一个关键需求。AD9361作为一款高性能射频收发器&#xff0c;广泛应用于MIMO系统、相控阵雷达等场景。当需要扩展通道数量时&#xff0c;如何实现多片AD9361的高精度同步就成为了系统设计的核心挑战。 我曾在…...

Win10设置打不开?别急着重装!手把手教你修复SystemSettings.exe(0x9d9d9332)报错

Win10设置闪退终极修复指南&#xff1a;从报错0x9d9d9332到系统重生 那天下午&#xff0c;小李正准备调整显示器分辨率时&#xff0c;发现Win10的设置应用怎么也打不开——除了"更新与安全"能勉强点开&#xff0c;其他选项全都成了摆设。作为普通用户的小李顿时手足无…...

Wi-Fi 6和5G里都在用的PAPR抑制技术,到底是怎么让手机更省电的?

Wi-Fi 6和5G中的PAPR抑制技术&#xff1a;如何让手机续航更持久&#xff1f; 每次打开手机设置里的电池健康度页面&#xff0c;总能看到"峰值性能容量"这个让人又爱又恨的指标。作为普通用户&#xff0c;我们可能不知道的是&#xff0c;现代通信技术背后有一群工程师…...

ZLUDA终极指南:让非NVIDIA显卡也能运行CUDA程序的完整教程

ZLUDA终极指南&#xff1a;让非NVIDIA显卡也能运行CUDA程序的完整教程 【免费下载链接】ZLUDA CUDA on non-NVIDIA GPUs 项目地址: https://gitcode.com/GitHub_Trending/zl/ZLUDA 你是否曾因为手头没有昂贵的NVIDIA显卡而无法体验CUDA加速的AI训练&#xff1f;是否想过…...