Bootstrap

AUTOSAR CP MCAL微控制器抽象层介绍

在这里插入图片描述

AUTOSAR(Automotive Open System Architecture)即汽车开放系统架构,它将汽车电子控制单元(ECU)的软件底层做了一个标准的封装,使得开发者能够共用一套底层软件,并通过修改参数来匹配不同的硬件和应用层软件。AUTOSAR CP(Classic Platform)是AUTOSAR架构中的一个重要组成部分。在AUTOSAR CP中,MCAL(Microcontroller Abstraction Layer,微控制器抽象层)规范占据着核心地位。以下是对MCAL规范的介绍,包括一个具体的例子以及使用工具进行MCAL配置的过程和配置文件的内容。

1、MCAL规范内容

MCAL位于AUTOSAR软件架构的最底层,与微控制器的内部单元及其外设紧密相关。它接收来自上层的指令,完成对硬件的直接操作,并获取硬件的相关状态反馈给上层。MCAL对上层屏蔽了硬件的具体特征,只提供对应的操作接口。

MCAL的主要功能包括:

1) 硬件抽象:将微控制器的寄存器操作封装成统一的API,供上层调用。
2). 驱动实现:实现各种外设的驱动,如ADC(模数转换器)、PWM(脉冲宽度调制)、GPIO(通用输入输出)等。
3.) 状态反馈:将硬件的状态(如中断、错误等)反馈给上层。

2. 配置工具

AUTOSAR工具链(如Vector DaVinci Configurator或EB tresos Studio)提供了用于配置MCAL模块的可视化工具,通过这些工具可以生成符合AUTOSAR规范的ARXML文件。这些工具一般提供以下功能:

  1. 模块选择:用户可以选择需要配置的MCAL模块(如Port、Adc)。
  2. 参数设置:用户可以配置模块的参数,例如CAN的波特率,ADC的分辨率等。
  3. 生成配置文件:工具自动生成相应的ARXML文件,描述所有配置的详细信息。

3. ARXML配置文件示例

以下是一个MCAL模块(Port模块)的ARXML文件示例,展示了如何为Port模块配置引脚。

<AUTOSAR xmlns="http://autosar.org/schema/r4.0">
  <AR-PACKAGES>
    <AR-PACKAGE>
      <SHORT-NAME>MCAL_PortConfig</SHORT-NAME>
      <ELEMENTS>
        <PORT-DRIVER-CONGIFURATION>
          <SHORT-NAME>PortConfigSet</SHORT-NAME>
          <PORT-CONTFIGURATION>
            <SHORT-NAME>PinConfig_01</SHORT-NAME>
            <PORT-PIN>PortPinA0</PORT-PIN>
            <PORT-PIN-DIRECTION>INPUT</PORT-PIN-DIRECTION>
            <PORT-PIN-LEVEL>LOW</PORT-PIN-LEVEL>
          </PORT-CONTFIGURATION>
          <PORT-CONTFIGURATION>
            <SHORT-NAME>PinConfig_02</SHORT-NAME>
            <PORT-PIN>PortPinA1</PORT-PIN>
            <PORT-PIN-DIRECTION>OUTPUT</PORT-PIN-DIRECTION>
            <PORT-PIN-LEVEL>HIGH</PORT-PIN-LEVEL>
          </PORT-CONTFIGURATION>
        </PORT-DRIVER-CONGIFURATION>
      </ELEMENTS>
    </AR-PACKAGE>
  </AR-PACKAGES>
</AUTOSAR>
4. 配置说明
  • <AUTOSAR>:根元素,包含所有的MCAL配置。
  • <AR-PACKAGES>:用于将配置进行逻辑分组。
  • <AR-PACKAGE>:MCAL配置的具体包,示例中为Port模块。
  • <PORT-DRIVER-CONGIFURATION>:定义了Port模块的具体配置。
  • <PORT-CONTFIGURATION>:定义具体的引脚配置,每个引脚的设置包括引脚名称、方向(INPUT或OUTPUT)和默认电平(HIGH或LOW)。

5. 示例解析

在此例子中,我们定义了两个引脚的配置:

  • PortPinA0:配置为输入引脚,默认电平为低电平。
  • PortPinA1:配置为输出引脚,默认电平为高电平。

6. 配置流程小结

  1. 选择MCAL模块:选择需要配置的MCAL模块,如Port模块。
  2. 设置参数:为每个引脚设置方向、电平等参数。
  3. 生成ARXML文件:配置完成后使用工具生成ARXML文件,并导入至AUTOSAR开发环境中。

7. 总结

MCAL规范是AUTOSAR CP中的重要组成部分,它实现了对微控制器硬件的抽象和驱动。通过使用专门的配置工具(如Davinci等),开发者可以方便地配置MCAL模块,并生成相应的代码。配置文件(如arxml文件)则用于描述MCAL的配置参数和关系。在实际项目中,开发者需要根据具体的硬件和软件需求进行详细的配置和测试。

;