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”框图如下: