BSW: Dcm模块配置--28服务

本文介绍了UDS通信控制服务28的配置过程,涉及DCM、BSWM、COM和RTE模块。主要内容包括DCM模块的Enable Mode Declaration Support和DSD、DSP配置,BSWM模块的ModeRequestPort、ModeCondition、LogicalExpression、Action和ActionList设置,以及Com模块的PduGroup管理和RTE配置。配置中强调了根据客户需求和工具链特点进行选择,并给出了静态代码接口调用的示例。

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

前文:

这个章节讲解下UDS中的28服务(Communcation Control)的配置,顾名思义,对当前ECU的通讯状态进行变更,主要设置应用报文,网络管理报文的收发控制,通常应用在刷写APP软件时,降低总线负载。

这里首先要提醒的一点是,28服务几乎不需要手写代码,只有在客户需求要求前置条件不满足时报特定NRC时才需要填充代码。

Note:不同的工具链静态代码可能不同,但配置基本相同。

正文:

实际配置中主要涉及的模块有DCM,BSWM,COM,RTE.

1.DCM模块的配置

<1>DcmGeneral

下面的选项是需要勾选。

Enable Mode Declaration SupportIf enabled, the Dcm acts as a mode manager and is responsible for providing the modes of the ModeDeclarationGroupPrototypes it defines in its Basic Software Module Description:

Enable RTE usage: Enables RTE functionality usage by the Dcm.

<2>DSD

配置支持的子服务,安全等级,会话模式等,这里的配置需要熟悉UDS服务。

<3>DSP

在Com Control中需要reference Com channel,如果项目中启用了网络管理,这里的通道要和网络管理的通道一致。

2.BswM模块的配置
2.1.BswMModeRequestPort

这里要注意的有以下两点:

BswMRequestProcessing:This parameter defines if the processing of the mode arbitration shall be done immediately when a mode request is received or if it shall be deferred to the processing of the main function of BswM.选择立即处理还是在mainfunction中轮询到再处理。

BswMModeRequestSource :这里我推荐选择的是BswMBswModeNotification,因为前面勾选了Enable Mode Declaration Support也有的同学会去选择BswMDcmComModeCurrentState或者BswMDcmComModeRequest.这里先不详细展开,文末我们再来讨论区别

2.2.BswMModeCondition

BswConditionType: 选择BSWM_EQUALS,等价于=。

BswMCondtionMode:这里关联前面创建的ModeRequestPort.,做为条件判断的输入。BswCondtionValue:因为勾选了Enable Mode Declaration Support,所以这里选择BswModeDeclaration,如果选择其他类型

### AUTOSAR BSW 中用户需提供的配置或实现 在 AUTOSAR (Automotive Open System Architecture) 的基本软件模块 (Basic Software Module, BSW) 开发过程中,用户需要根据具体的项目需求和应用环境提供一系列的配置和实现。以下是详细的说明: #### 1. **BSW 模块的选择** 用户需要通过脚本编辑工具选择所需的 BSW 模块并对其进行配置[^3]。这些模块可能包括但不限于诊断服务管理器 (Dcm),通信管理器 (ComM),以及以太网状态管理器 (Ethernet State Manager)[^2]。 #### 2. **模块参数的定义** 对于选定的每一个 BSW 模块,用户都需要为其定义相应的参数。例如,在 Ethernet 状态管理器中,用户可以启用或禁用与地址哈希表过滤相关的功能,并设置 `EthIf->EthifVirtualAddressFilterSize` 参数来调整哈希表深度[^4]。 #### 3. **接口函数的具体实现** 用户通常需要为某些高级功能提供自定义逻辑。比如,在配置车载诊断系统 (OBD Mode $06) 时,用户应确保 Dcm 能够支持访问特定组件/系统的连续和非连续监测测试结果[^5]。这涉及编写额外的应用程序代码或修改现有 API 实现。 #### 4. **硬件抽象层的相关配置** 在 ECUs 抽象层面,特别是针对通信硬件部分,用户还需完成必要的初始化工作及驱动级设定。这部分往往依赖 MCAL 层的支持,因此也需要同步考虑如何适配底层资源。 ```python def configure_bsw_module(module_name, parameters): """ 配置指定名称的基本软件模块及其相关联参数 :param module_name: str 类型,表示要操作的基础软件模块:param parameters: dict 类型,键值对形式存储该模块所需各项配置项 """ if not isinstance(parameters, dict): raise ValueError("Parameters must be provided as a dictionary.") configuration = { 'module': module_name, 'settings': parameters } return configuration ``` 上述 Python 函数展示了简化版的 BSW 模块配置方法示例,实际工业场景下会更加复杂且严格遵循标准流程文档指导执行。 ---
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值