【Autosar】学习总结-MCAL

本文详细介绍了MCAL层的配置,包括微控制器抽象层的IO驱动、存储器驱动、通信驱动、ADC、CAN、SPI、MCU时钟以及GPT和ICU的配置。通过EB-Tresos工具,针对具体芯片的PINMap进行配置,如PORT、DIO、ADC采样频率、CAN波特率、PWM输出和ICU输入捕获等功能。MCAL配置是实现设备硬件功能的关键步骤,确保了软件与硬件的正确交互。

一、简介

MCAL:微控制器抽象层;位于BSW层中的最下层;

MCAL细分,可将驱动分为:微控制器驱动、存储器驱动、通信驱动、IO驱动:

二、MCAL的配置(EB-Tresos)

1.PORT

我理解的PORT:MCAL层中的IO驱动组中的pin脚总体配置:

Port就是芯片上的每个pin脚,可以配置成DIO ADC PWM ICU等单引脚的功能,也能配置成CAN的TX或者RX、SPI的MOSI等等其他功能的单个pin脚功能;

总之,PORT就是芯片上的具体的某个引脚。

配置如下:

PortPinId: 	逻辑上的Id值,从1递增
PinId:对应[芯片XX]芯片手册的pin引脚ID,根据实际使用选择对应的pin引脚
Mux: 选择PortPin用作哪个功能,最多八个,选择复用的功能需要查看TRM来选 择
InputSelect: 根据实际pin使用功能决定输入选择;比如Port用作IO Input 则选择SEL_NONE;比如用作CANFD1_Rx,则选择对应的CANFD1_Rx(参考 [芯片XX]_Procesor_TRM_Rev_00.06_For_xxx.pdf的IO Control/PINCTRL_SAFETY/Input Source Select)
PadSetting: 需要根据该Port用作的功能进行选择,如果是GPIO则选择PAD_SETTING_DEFAULT,如果是CAN则选择PAD_SETTING_CAN;有些pin比较特殊,建议沿用之前的配置。
OpenDrain: 是否启用开漏,选择是启用。
PortPinModeChangeable:是否启用在APP中更改PortPin的模式,一些特定场合会用到。
PortPinDirection: Port的方向,输入:PORT_PIN_IN, 输出: PORT_PIN_OUT
PortPinDirectionChangeable: 是否可以在程序运行过程中改变PortPin的方向(输入,输出)。
PortPinLevelValue:设置PortPin的初始化,只对Outout有效
PortPinInitialMode: 不需要配置

 

2.Dio

Dio一共分为五组,如下图所示:

Dio没什么好配置的,只需要按照对应的ChannelId 更改下Name就好了。

3.ADC 

[芯片XX]只有一个ADC内含8个通道,最大支持12位精度(8,10,12);

AdcPrescale: [公司]的[芯片XX]是填的199, BaseClock = 400MHz ,基于400MHz进行分频。 

AdcLogicalChannelId: 逻辑通道从0递增
AdcPhysicalChannelId: 物理通道和逻辑通道保持一致,否则数据读取不正确
AdcChannelResolution: 选择ADC的采样精度8/10/12
AdcSampleFrequency(Hz): 通道的采样频率,ADC一共八个通道,代码中配置每个通道采样两次(MCAL暂时不能配置),内部FIFO的Water Level = 64, 按照配置中的800Hz来算   (1/800hz*16)*64 = 5ms

 

AdcGroupConversionMode: 配置连续采样和单次采样,目前[芯片XX]只支持连续采样
AdcGroupTriggsrc: ADC_TRIGG_SRS_SW: 由软件API调用促发的组
ADC_TRIGG_SRC_HW: 由硬件触发的组
AdcNotification: [芯片XX]ADC采样必须使用中断模式,所以配置一个Notification进行数据处理。

4.CAN

4.1 CAN-General

VirtualCanEnable: 指定CAN消息是否由(SDPE)半驱动器包引擎路由。如果启用,所有的CAN驱动程序将由SDPE处理
CanDevErroDetect:指定是否在每个API中启用错误检测
CanIndec: 对于[芯片XX]系列CAN驱动,该参数应该始终是0
CanLPduReceiveCalloutFunction:当收到帧时调用用户回调函数
CanMainFunctionBusoffPeriod:指定调用Can_MainFunction_BusOff的周期
CanMainFu
评论 19
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值