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

AUTOSAR Mcal SPI - EB工具配置介绍

文章目录

  • 1. General
  • 2. SpiChannel
  • 3. SpiJob
  • 4. SpiSequence
  • 5. SpiExternalDevice
  • 6. SpiHwConfiguratio

此处针对SPI模块关键配置项进行讲解,具体开发过程中,可根据实际情况配置相应功能。
SPI模块详细介绍见:

AUTOSAR Mcal SPI -模块介绍

1. General

在这里插入图片描述
①SpiSystemClock:关联Mcu配置的时钟,用于生成波特率参数
②SpiChannelBuffersAllowed:设置SPI模块支持的Buffer类型,例如配置为0时,设置Channel属性时只能选择IB。
③SpiInterruptibleSeqAllowed:可中断序列功能支持,仅Level1 or Level2下可配,此处配置后,Seq下的SpiInterruptibleSequence参数才能配置
④SpiLevelDelivered:设置SPI模块支持同步/异步/同步+异步哪种模式,会影响静态代码裁剪
⑤SpiSupportConcurrentSyncTransmit:同步并发传输,使能后,多核或多任务下,可以发起多个同步数据传输(前提是Seq使用的Module是空闲的)
⑥SpiSyncTransmitTimeoutDuration:同步发送一个数据块的超时时间,一个Channel下可能有多个数据块(数据块:一个2~23bit的数据)

2. SpiChannel

设置软件Channel使用的Buffer类型、数据宽度、数据块个数、大小端格式、默认值等配置。
在这里插入图片描述
备注:未配置默认值时,工具默认生成0;配置的默认值不能超过数据宽度,比如此处宽度设置为8,默认值不能超过255。

3. SpiJob

在这里插入图片描述
①SpiFrameBasedCS:每发送完一个数据块后,是否拉高片选,基本用不上,默认配置为false即可。
②SpiJobPriority:Job优先级,值越大,优先级越高
③SpiDeviceAssignment:关联到需要发送的硬件
④SpiJobEndNotification:Job执行完成后的回调函数,可不配
⑤SpiChannelList:当前Job关联的Channel

4. SpiSequence

相对简单,异步模式下,可配置Seq是否运行可中断。此处需要注意的是Job的关联顺序需要按优先级降序进行排列。
在这里插入图片描述

5. SpiExternalDevice

在这里插入图片描述
①SpiBaudrate:SpiAutoCalcBaudParams配置为True时,工具根据SpiBaudrate自动计算硬件TQ、Q、A、B、C参数。
②SpiBaudrateParams:SpiAutoCalcBaudParams配置为False时,用户自行计算TQ、Q、A、B、C,并填入对应的配置项。
③SpiCsIdentifier:硬件通道号,Ifx QSPI模块最多支持16路Channel
④SpiHwUnit:硬件模块号,TC37x 支持5个QSPI模块
⑤SpiCsPolarity:片选极性,发起传输时是拉高 or 拉低片选,一般都是拉低
⑥SpiDataShiftEdge:时钟相位,决定那个边沿移动数据,LEADING是第一个边沿移位数据。
⑦SpiShiftClockIdleLevel:时钟极性,空闲时,SCLK引脚电平
⑧SpiEnableCs:CS引脚是否可配置,勾选后,SpiCsSelection可选择是硬件自动控制,还是软件灵活控制GPIO,配置为GPIO时,需通过SpiCsGpio容器指定具体的GPIO。
⑨SpiIdleTime、SpiTrailingTime、SpiTimeClk2Cs:分别对应硬件的IDLE、TRAIL、LEAD Delay,SpiAutoCalcDelayParams配置为Ture时,工具自动计算硬件参数
⑩SpiDelayParams:SpiAutoCalcDelayParams配置为False时,用户自行计算硬件参数。
⑪SpiParitySupport:可选不校验、奇校验、偶校验三种

6. SpiHwConfiguratio

在这里插入图片描述
Ifx新增的配置容器,用于补充标准SpiExternalDevice容器中未覆盖的配置项,具体如下:
①SpiHwConfigKernel:针对那个QSPI模块进行配置
②SpiJobQueueLengthQspix :异步模式下,每个Module分配多大的队列(以Job为单位)
③SpiSleepEnableQspix:是否响应系统的睡眠信号,是否进行睡眠模式依赖系统级的信号。此处是配置硬件的CLC.EDIS位域。
④SpiHWPinMRSTQspix:配置MRST硬件,注意此处只是针对QSPI自己模块的配置,SCLK、MTSR、MRST、SLSO输入、输出、复用配置需要在Port中进行。
⑤SpiExternalDemux、SpiSLSO0StrobeDelay:硬件支持外部扩展模式,芯片直接输出SLSO0~4,五根信号线,外部通过译码器解码后,在给到具体的外设。
⑥SpiHwDmaConfigurationQspi:异步模式下,必须使用DMA进行收发数据,此处关联接收和发送的DMA通道
外部扩展详细信息见Ifx用户手册“37.3.2.7 External Slave Select Expansion”框图如下:
在这里插入图片描述

http://www.dtcms.com/a/303471.html

相关文章:

  • Android Handler 完全指南
  • 手游遇攻击为何要用游戏盾SDK?
  • Linux学习--C语言(指针3)
  • 第三阶段—8天Python从入门到精通【itheima】-139节(pysqark实战-前言介绍)
  • linux du、df命令使用教程
  • AWS Bedrock Claude 3 API的完整指南
  • 基于STM32设计的智慧果园云监测系统_256
  • 从像素到频率:OpenCV傅里叶变换
  • 扑克洗牌
  • NVMe高速传输之摆脱XDMA设计18:PRP控制模块设计
  • NVMe高速传输之摆脱XDMA设计21:PCIe请求模块设计(下)
  • 机器学习基础-matplotlib
  • clock_nanosleep系统调用及示例
  • node后端-JWT认证
  • Excel VBA宏的使用
  • 大模型应用班-第3课 从Excel到大屏:AI编程实战全解析 HW3 从零到一:香港疫情数据看板开发实战指南
  • 【GoLang #4】:Go 语言 函数详述(定义调用 | 匿名函数 闭包 | defer)
  • windows clion远程连接ubuntu运行调试nginx-1.22.1版本
  • 【优先级高,先补充】基于文本增强跨模态特征交互注意网络的多模态情感分析
  • SVN与GIT的区别,分别使用与哪些管理场景?
  • 《汇编语言:基于X86处理器》第10章 结构和宏(2)
  • Linux——线程池的模拟实现
  • 解决c++静态成员编译报错:‘xxx‘ is not a member of ‘xxx‘ 问题
  • 第五届先进算法与神经网络国际学术会议(AANN 2025)
  • vue项目进首页不加载全部资源
  • 【数据结构初阶】--二叉树(三)
  • ICDC自动化部署方案概述
  • 如何规范化项目执行
  • 2024年7月19日全国青少年信息素养大赛图形化(Scratch)编程小学低年级组复赛真题+答案解析
  • KubeSphere离线部署Kubernetes集群