AUTOSAR Layered Architecture
In AUTOSAR, software is componentized and application software reusability is improved. AUTOSAR's layered architecture and details of each layer are shown below.
AUTOSAR Layered Architecture
Description of Layers
Layer name | Overview | Purpose | Features | ||
---|---|---|---|---|---|
Mounting | High-order interface | ||||
Runtime Environment (RTE) | Middleware layer providing communication services for AUTOSAR software components (SWC) and applications containing AUTOSAR sensor/actuator parts. | Make AUTOSAR software components (SWC) independent of mapping to specific ECU. | Specialized for ECU and application. Generated for each ECU. | Interface is completely independent of ECU. | |
Basic Software (BSW) | Services Layer | Highest basic software layer; provides the following functions:
|
Provide basic services and basic software modules for applications. | Specialized for microcontroller (MCU), part of ECU hardware, and application. | Interface is independent of microcontroller (MCU) and ECU hardware. |
ECU Abstraction Layer | Interface with MCAL (including external device driver); provides the following:
|
Make upper software layer independent of ECU hardware layout. | Mounting is independent of microcontroller (MCU) and dependent on ECU hardware | Interface is independent of microcontroller (MCU) and ECU hardware. | |
Complex Drivers | Layer used for complex functions not found on other layers. This layer accesses the microcontroller (MCU) directly. Examples: Injection control, control of electrical values, position increase detection, etc. |
Fulfills special functions and timing requirements needed to operate complex sensors and actuators. | Highly dependent on microcontroller (MCU), ECU and application. | Interface is standardized and mounted according to AUTOSAR (AUTOSAR interface). | |
Microcontroller Abstraction Layer (MCAL) | Software module that directly accesses on-chip microcontroller (MCU) peripheral modules and external devices that are mapped to memory. | Make upper software layer independent of microcontroller (MCU). | Dependent on microcontroller (MCU). | Interface is independent of standardized microcontroller (MCU). |