当前位置: 首页 > article >正文

autosar bsw 的关键模块

AUTOSAR(AUTomotive Open System ARchitecture)的**基础软件层(BSW,Basic Software)**是汽车电子系统标准化的核心,负责提供硬件抽象、通信、诊断、安全等基础服务。以下是BSW的关键模块及其功能分类:


1. 微控制器抽象层(MCAL,Microcontroller Abstraction Layer)

  • 功能:直接驱动微控制器硬件,提供统一的硬件接口。

  • 关键模块

    • DIO:数字输入/输出驱动。

    • ADC:模数转换驱动。

    • PWM:脉宽调制驱动。

    • SPI/I2C:串行通信驱动。

    • CAN/LIN/Ethernet驱动:总线底层驱动。

    • Flash/EEPROM驱动:存储读写驱动。


2. ECU抽象层(ECU Abstraction Layer)

  • 功能:提供与ECU硬件无关的接口,屏蔽具体硬件差异。

  • 关键模块

    • 通信抽象

      • CanIfLinIfEthIf:为CAN、LIN、以太网提供统一接口。

    • 内存抽象

      • MemIf:统一访问Flash/EEPROM的接口。

    • I/O抽象

      • Port:配置I/O引脚模式。

      • Dio:数字信号读写。


3. 服务层(Services Layer)

  • 功能:提供系统级服务,支持应用层功能。

  • 关键模块

    • 操作系统(OS)

      • 多任务调度、中断管理、资源保护(符合OSEK标准)。

    • 系统服务

      • EcuM(ECU状态管理):控制ECU启动、休眠、唤醒。

      • WdgM(看门狗管理):监控软件运行状态,防止死锁。

      • BswM(基础软件管理):根据条件动态配置BSW模块。

    • 通信服务

      • Com:信号级通信(如信号打包/解包)。

      • PduR(协议数据单元路由):跨总线协议(CAN/LIN/Ethernet)路由数据。

      • CanSm/LinSm:管理CAN/LIN通信状态(激活/休眠)。

    • 诊断服务

      • DCM(诊断通信管理):处理UDS/KWP2000诊断请求。

      • DEM(诊断事件管理):记录故障码(DTC)和环境数据。

      • FIM(功能抑制管理):故障时禁用特定功能。

    • 存储管理

      • NvM(非易失性存储管理):管理EEPROM/Flash数据(如标定值、故障码)。

    • 安全服务

      • CSM(加密服务管理):提供加密算法(如AES、SHA)接口。

    • 网络管理

      • NM(网络管理):控制总线网络睡眠/唤醒(如CanNm、LinNm)。


4. 复杂设备驱动(CDD,Complex Device Drivers)

  • 功能:处理高实时性或非标准化硬件操作(如电机控制、传感器融合)。

  • 特点:允许直接访问硬件,不受AUTOSAR严格分层限制。


5. 总线相关模块

  • CAN总线

    • CanTrcv:CAN收发器驱动。

    • CanTp:传输层协议(ISO-TP)。

  • LIN总线

    • LinTrcv:LIN收发器驱动。

    • LinTp:LIN传输层。

  • 以太网

    • EthTrcv:以太网PHY驱动。

    • TCP/IP协议栈:支持DoIP(Diagnostic over IP)等。


6. 其他重要模块

  • IO硬件抽象(IoHwAb):统一传感器/执行器接口。

  • RTE(运行时环境):虽属于中间层,但负责BSW与应用层(SWC)的交互。


总结

BSW通过分层设计实现了硬件无关性和模块化,使汽车电子软件具备可移植性和可扩展性。理解这些模块的协作关系(如EcuM管理启动流程、BswM协调模块状态、NvM与DCM/DEM交互存储故障数据)是开发符合AUTOSAR标准ECU的关键。


http://www.kler.cn/a/526470.html

相关文章:

  • 12.udp
  • 什么是Maxscript?为什么要学习Maxscript?
  • 上位机知识篇---GitGitHub
  • 最新-CentOS 7 基于1 Panel面板安装 JumpServer 堡垒机
  • 【学术会议征稿-第二届生成式人工智能与信息安全学术会议(GAIIS 2025)】人工智能与信息安全的魅力
  • GSI快速收录服务:让你的网站内容“上架”谷歌
  • Nuitka打包python脚本
  • C++中常用的十大排序方法之1——冒泡排序
  • CF 761A.Dasha and Stairs(Java实现)
  • deb安装失败后,无法再安装别的包的解决方案
  • MyBatis 入门
  • 深度学习 Pytorch 神经网络的损失函数
  • AIGC(生成式AI)试用 20 -- deepseek 初识
  • 2024-10-26 进程间通信
  • Python 梯度下降法(三):Adagrad Optimize
  • 第27章 苏睿所长的关键沟通
  • CS1.5在Win10下有声音黑屏无图像如何设置
  • dify实现原理分析-rag-数据检索的实现
  • 基于强化学习的机器人自主导航与避障
  • 初阶数据结构:链表(二)
  • 电梯系统的UML文档14
  • 10.共享内存 信号量集 消息队列
  • 【2】阿里面试题整理
  • windows怎么查看进程运行时的参数?
  • 【Numpy核心编程攻略:Python数据处理、分析详解与科学计算】1.22 形状操控者:转置与轴交换的奥秘
  • (●ˇ∀ˇ●)思维导图计划~~~