Autosar学习----AUTOSAR_SWS_BSWGeneral(七)

💥💥🔍 🔍 欢迎来到本博客❤️❤️💥💥
🐡优势:❤️博客内容尽量做到通俗易懂,逻辑清晰。
⛳️座右铭:恒心,耐心,静心。
⛳️ 欢迎一起交流分享

目录

Imported types

当新增新的类型时,需要新增对应的表格,用来描述新增类型的定义头文件、类型含义等等,表格规范如下:
在这里插入图片描述

8.2 Type definitions

8.2 类型定义总结

在AUTOSAR基本软件模块的规范中,8.2节主要涉及数据类型的定义,具体内容如下:

  1. 命名约定

    • 所有由BSW模块定义的数据类型(除了ConfigType)应遵循命名约定:<Ma>_<Tn>Type,其中<Ma>是模块缩写,<Tn>是类型名称,采用驼峰命名法。
  2. 示例

    • 示例类型包括Eep_LengthTypeDio_SignalTypeNm_StateType
  3. 基本AUTOSAR类型

    • 基本AUTOSAR类型不需要遵循上述命名约定。
  4. 类型定义模板

    • 类型定义应包括以下信息:
      • 名称:类型的名称。
      • 类型:允许的条目,包括枚举、结构、指向类型的引用和AUTOSAR整数数据类型。
      • 范围:合法值的范围。
      • 描述:对该类型用途的非正式描述。
      • 常量:该类型的预定义名称(可选)。

在这里插入图片描述

  1. 避免重复定义

    • 为避免在BSW模块和软件组件中重复和不一致的类型定义,公共数据类型应在RTE类型头文件中定义。
  2. 接口数据类型

    • 标准化接口和标准化AUTOSAR接口中使用的数据类型应仅在RTE类型头文件中定义。

这一节强调了数据类型的标准化和一致性,以确保在AUTOSAR环境中模块间的兼容性和可维护性。

8.3 Function definitions

  • 该模块的函数定义在各自的BSW模块规范第8章中指定。
  • 函数的定义使用以下模板

8.3.1 General specification on API functions在这里插入图片描述

可重入性术语和定义 (reentrancy)

规定

  • 并发安全:允许无限制地并发执行此接口,包括抢占和多核系统上的并行执行。
  • 可重入:在单核系统上允许此接口的伪并发执行(即抢占)。
  • 不可重入:不允许并发执行此接口。
  • 条件可重入:在某些条件下可能允许并发执行此接口,这些条件作为API规范的一部分
  • 建议:禁止使用局部变量和全局变量,如必须使用,需确保安全;使用stack variables
其他注意事项
  • API参数检查:开发错误检测启用时,所有API服务应启用参数检查。
  • NULL指针检查:开发错误检测启用时,指针参数应检查是否为NULL。
  • 不传递函数指针:API参数中不应传递函数指针。
  • 基于索引的API服务:不同实例的BSW模块应通过索引访问其API。

8.3.2 初始化函数

  • BSW模块在一个单独的初始化函数中初始化变量和硬件资源。
  • API名称遵循Init作为服务名称的模式。
  • 示例:
  • CanIf_Init()
  • Eep_21_LDExt_Init()
  • 只有ECU状态管理器和基础软件模式管理器可以调用初始化函数。
  • BSW模块的状态应在初始化函数结束时相应设置。
  • 检查初始化函数的入参,如发现有错误,抛出开发错误

8.3.3 反初始化函数

  • 反初始化函数用于ECU关闭或睡眠阶段。
  • API名称遵循DeInit作为服务名称的模式。
  • 只有ECU状态管理器和基础软件模式管理器可以调用反初始化函数。
  • BSW模块的状态应在反初始化函数开始时相应设置。

8.3.4 获取版本信息

  • 获取版本信息函数应同步执行,并且是可重入的。
  • 它只具有一个参数,用于返回类型为Std_VersionInfoType的BSW模块版本信息。
  • 此API的可用性在每个BSW模块的预编译时可配置。

8.4 回调通知

  • 回调是用于通知其他模块的函数。
  • 如果BSW模块提供的回调函数是AUTOSAR服务,其签名应遵循RTE提供的签名。
  • 回调函数应避免返回除void以外的类型,除非它们是AUTOSAR服务。

8.5 调度函数

  • 许多BSW模块具有需要周期性或事件触发的调度函数。
  • 调度函数没有返回值和参数。
  • 它们不得进入任何等待状态,通常不可重入。
    在这里插入图片描述

8.6 预期接口

在这里插入图片描述

8.6.1 强制接口

  • 每个BSW模块的强制接口列表是特定的。

8.6.2 可选接口

  • 每个BSW模块的可选接口列表是特定的。

8.6.3 可配置接口

  • 在目标功能可以配置的地方列出可配置接口。

8.7 服务接口

  • 定义模式声明组的AUTOSAR服务、ECU抽象和复杂驱动程序组件应在其SwcBswMapping中定义synchronizedModeGroup
### 回答1: AUTOSAR是一种汽车电子系统的标准化架构,SWS代表的是Software Specification,即软件规范。而Diagnostic Event Manager(DEM)是一种应用于车载诊断系统的软件,主要用于监控车辆中的各种故障诊断事件,例如发动机故障代码、传感器故障等等。 Demo作为一个基本的软件单元,属于Diagnostic Communication Manager(DCM)的一部分,主要有三个任务:监测车辆中的各种故障诊断事件、生成并发送伴随信息到其他汽车电子控制单元(ECU)以便进行故障诊断和修复、与其他的DCM实例交换信息,以便协同处理。 在AUTOSAR框架下,DEM的功能是由DCM提供,并与其他ECU同步工作以确保整个车辆的状态与性能都处于最佳状态。实现这个功能需要DEM与DCM之间的数据交互、状态传递和控制。同时,DEM还必须能够处理各种诊断类别和事件类型的数据,包括:DTC(Diagnostic Trouble Code)、FM(Failure Memory)、PIP(Permanent Initialization Fields)、FDC(Fault Detection and Counter)等等。 总之,AUTOSAR-SWS-DiagnosticEventManager是用于汽车电子控制单元(ECU)的诊断系统中的一个重要模块,它通过DSA(Diagnostic Services Active)和DSD(Diagnostic Services Data)表示的诊断信息来监测车辆各种故障情况,并与其他ECU进行数据交互和状态控制,成为整个电子系统的关键组成部分。 ### 回答2: AUTOSAR(汽车开放系统和网络联盟)是一个全球跨越商业和学术行业的合作组织,分别由汽车制造商、供应商和工具供应商组成。AUTOSAR旨在创建一个标准的软件架构和平台,以支持汽车电子系统开发,从而提高可重复性、互操作性和可维护性。其中一个AUTOSAR的子系统就是软件诊断系统(SW-Diagnostic)。 AUTOSAR-SWS-DiagnosticEventManager是AUTOSAR软件诊断事件管理器(Diagnostic Event Manager,DEM)的标准化实现。它主要的作用是监测发生在车辆中的故障,并向车辆系统的其他模块或外部设备(例如诊断工具)提供相关信息,以便及时进行故障排查和维修。其具体功能包括以下内容: 1. 故障代码管理:管理诊断事件的故障代码,包括与发生的故障相关的描述、优先级和故障类型等信息。 2. 事件管理与分类:管理和分类所有SW-Diagnostic中的事件,确保不重复且能够追踪事件。 3. 事件信息提供:向其他模块和外部设备提供SW-Diagnostic事件的相关信息,包括诊断会话的控制和管理。 4. 接口统一:为不同类型的诊断功能提供一个统一的接口,以方便进行故障检测和维修工作。 5. 自愈能力支持:提供自我诊断和故障排查的相关信息,以支持自愈能力的实现。 总之,AUTOSAR-SWS-DiagnosticEventManager是SW-Diagnostic的关键组件之一,其标准化实现可以使车辆系统的诊断和维修能力得到大大提升,同时也可以支持车辆智能化和自主驾驶等新技术的发展。 ### 回答3: AUTOSAR SWS DiagnosticEventManager是汽车行业中广泛使用的一种系统管理软件。主要用于故障诊断和错误处理等相关的功能。它的目标是提高汽车系统诊断效率和确保更加可靠的错误检测、管理和处理。该软件主要包含以下几个模块: 1. DtcStatusManager:负责管理汽车系统中的所有诊断事件的状态。它可以记录诊断事件的数量、类型和状态,并根据需要生成报告或警报。 2. Dem:负责实现汽车系统中的数据采集和故障诊断。它的主要职责是收集汽车各个部件的故障信息,并分析警告信息是否属于实际故障,从而快速定位故障点,减少故障排查时间。 3. DemEventParameter:是一个定义了不同故障事件对应的传输参数的类。它可以定义如何传输故障事件数据和信息,以实现故障诊断的效果。 4. DemEvent:是一个定义了诊断事件类型和数据信息的类。它可以记录汽车系统中发生的故障事件,包括故障代码、故障信息、故障类型等。 AUTOSAR SWS DiagnosticEventManager可以与其他汽车系统软件互相配合,优化和提高汽车整体性能。 例如,它可以与OBD系统相结合,从而实现更好的故障诊断和处理效果,同时也可以更加方便地对汽车故障信息进行采集和记录。该软件主要应用于汽车电子控制单元、汽车仪表盘显示模块、汽车音响等车载系统中。它的目标是帮助汽车制造商提高汽车诊断效率和检测水平,从而提高车辆安全性和可靠性。
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值