4、AUTOSAR基础软件层

AUTOSAR基础软件层主要由MCAL、ECU抽象层、服务层和复杂驱动组成,提供硬件访问接口、后台服务和标准化功能。MCAL包含硬件驱动,ECU抽象层提供统一访问,服务层包括操作系统和各种服务。基础软件层由系统、内存、通信等组件构成,提供标准化服务。模块分为驱动、接口、处理和管理器,分别负责硬件控制、抽象、多路访问管理和数据服务。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

AUTOSAR基础软件层的结构主要由四部分组成,即微控制器抽象层(Microcontroller Abstraction Layer,MCAL)、ECU抽象层(ECU Abstraction Layer)、服务层(Service Layer)以及复杂驱动(Complex Driver)。各部分在AUTOSAR基础软件层的位置如下图所示。

         其中,MCAL包含了与硬件相关的驱动程序,可以用来访问内存、通讯和I/O等;ECU抽象层负责提供统一的访问接口实现对通信、内存或者I/O的访问;服务层提供各种类型的后台服务,如网络服务、内存管理和总线通信服务等,且操作系统也位于该层中。

        AUTOSAR基础软件层主要用于提供基础软件服务,包括标准化的系统功能以及功能接口,并且由一系列的基础服务软件组件构成,包括系统服务(System Service)、存储器服务(Memory Service)、通信服务(Communication Service)等,如下图所示。

        基础软件层的组件及其功能分别为:

1)系统(System):提供标准化的规定(针对操作系统、定时器以及错误存储器)、ECU特定的服务(ECU状态管理、看门狗管理)和库函数

2)内存(Memory):对内部和外部的内存(非易失性存储器)的访问入口进行标准化;

3)通信(Communication):对汽车网络系统、ECU通信系统和ECU内部软件的访问入口进行标准化

4)输入/输出(I/O):对传感器、执行器以及ECU外设的访问入口进行标准化;

        基础软件层的模块按照类型分为驱动模块、接口模块、处理模块和管理器,各个模块的功能分别是:

1、驱动模块

        驱动模块包含了控制和使用内部和外部器件的功能,分为内部驱动和外部驱动。

        1)内部驱动

        内部驱动位于微控制器的内部,比如内部EEPROM、内部CAN控制器、内部ADC模块等。

        内部驱动程序就是针对微控制器内部器件资源的驱动程序,因此该部分驱动程序属于微控制器抽象层(MCAL)

        2)外部驱动

        外部器件指的是微控制器外部的ECU硬件,如外部EEPROM、外部看门狗、外部Flash等。外部驱动程序就是针对微控制器外部硬件资源的驱动程序,因此属于ECU抽象层。外部驱动程序需要通过微控制器抽象层(MCAL)驱动程序来实现对外部器件的驱动。

2、接口模块(Interface)

        接口模块包含了对其次级模块进行抽象的功能,比如对一个特定功能的硬件进行抽象。它提供一个通用的接口函数来访问一种特定的器件类型,且与该器件类型的数目无关,同时也与器件的具体硬件实现无关。接口模块不会改变数据的内容,一般来说,接口模块属于ECU抽象层

3、处理模块(Handle)

        处理模块作为专用接口,其控制着一个或多个客户端对一个或多个驱动程序的并行、多重和异地访问。也就是说,它起着缓冲、队列、仲裁以及多路复用的功能。处理模块通常会并入驱动程序或者接口模块中。

4、管理器(Manager)

        管理器为多重的客户端提供特定的服务,同时也对数据内容进行评估、改变,或是适应数据内容。一般来说,管理器属于服务层。

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值