日日行不怕万里路远,时时做不惧万事艰难。
本文介绍使用EB Tresos配置AutoSAR MCAL SPI模块,SPI是汽车软件架构AUTOSAR中的关键组件,负责管理和控制SPI(Serial Peripheral Interface)通信。SPI是一种常用于微控制器和外围设备之间的同步串行通信协议。在AUTOSAR架构中,MCAL SPI模块提供了一个标准化的接口,以支持不同硬件平台上的SPI通信。
1、Port配置
查找芯片手册,配置Portpin Mscr。
- Port配置方法与Uart一致,除了MISO引脚配置成输入,其他引脚都配置成输出
- 需要注意的是CS片选信号,由主机发送,以便于控制与哪个从机进行通信,通常是低电平有效信号,默认要配置为高电平。
2、SPI配置
2.1、Spi Gengral配置
自动拉引脚,使用gpio代替外设自带的片选信号勾选这项,使用外设自带片选信号不勾选。
2.2、SpiChannel配置
①SpiChannel Type
选择通道类型,IB/EB。依赖于SpiChannelBuffersAllowed参数,
- SpiChannelBuffersAllowed=0,SpiChannel Type应该为IB.
- SpiChannelBuffersAllowed=1,SpiChannel Type应该为EB.
- SpiChannelBuffersAllowed=2,SpiChannel Type可能是IB或者EB.
2.3、SpiExternalDevice配置
①SpiCsIdentifier
此参数是标识分配给该Job的Chip Select (CS)的符号名称,可以直接通过配置PORT实现。
②SpiCsPolarity
配置片选信号激活时的电平,低电平有效。
③SpiCsSelection
这个参数指定片选信号是使用外设自带的CS引脚还是通过通用IO处理,一般都会选择CS_VIA_PERIPHERAL_ENGINE,除非对应的IO被异常占用。
④SpiDataShiftEdge
spi时钟相位,LEADING代表第一个跳变沿采样,TRAILING代表第二个跳变沿采样。
⑤SpiEnableCs
启用片选引脚,如果使用外设自带的CS引脚要勾选,使用通用GPIO不勾选。
⑥SpiHwUnit
Port配置CS0,这里使用CSIB0。
⑦SpiShiftClockIdleLevel
spi时钟极性,时钟空闲电平。
⑧SpiCsBehavior
由于软件版本问题,有的版本叫SpiCsContinous,连续模式,在发送完一帧数据后CS是否保持
除了Port和Spi模块,还需使能外设时钟和中断,可以参考之前写过的Uart配置,这里不再赘述。
若你觉得本文对你有帮助或者有错误需要改进,欢迎点赞,收藏,留言讨论。