诊断模式配置(0x10服务)诊断模式
本文最后更新于2 天前,其中的信息可能已经过时,如有错误请留言评论。

1. 诊断模式

基础说明请参考0X10服务配置

2. 会话执行

当受到会话请求后,检查当前条件是否可以执行诊断模式切换,只有成功发送肯定响应报文之后(网络层使用N_USData.con 向应用层确认 N_Result = N_Success),ECU才激活所请求的诊断模式,否则诊断模式维持不变;如果当前不能执行模式切换,服务器需要发送否定响应报文,并维持原诊断模式不变。
诊断模式切换需要执行以下操作:
如果 ECU 处于默认会话模式下,客户端发送进入 defaultSession 请求报文(图中过程 b),诊断服务器收到该请求后,执行完全的初始化,复位所有在 defaultSession 模式下激活的事件,设置和控制等操作,但并不包括已经编程固化到非易失性存储位置的操作。
如果 ECU 处于默认会话模式下,客户端发送进入非默认会话模式请求报文(图中过程 c),诊断服务器收到该请求后配置基本不需复位。
如果 ECU 处于非默认会话模式下,客户端发送进入非默认会话模式请求报文(图中过程 e、f、g),服务器收到该请求后安全状态切换到锁定状态,但通过Communication Control (0x28)和ControlDTCSetting(0x85)进行的设置保持不变。
如果 ECU 处于非默认会话模式下,客户端发送进入 defaultSession 请求报文(图中过程 d),诊断服务器收到该请求后,将安全状态切换到锁定状态,由ReadDataByPeriodicIdentifier(0x2A 服务)配置的周期调度被禁止,通过 Communication Control (0x28)和 ControlDTCSetting(0x85)进行的设置均被复位。即服务器需执行完全的初始化,复位所有在非默认模式下激活的事件,设置和控制等操作,但并不包括已经编程固化到非易失性存储位置的操作。

3. 配置流程

10 服务的需求如下:支持 10 服务及其 01 、02 、03 子服务,10 服务及其子服务01 、02 、03不需要安全解锁访问。 01 子服务不允许跳转到 Bootloader , P2ServerTimer 通常设置为 0.05s , P2*ServerTimer 为 5s (或者看具体需求进行配置)。配置如下(所有配置皆需根据实际需求配置):

3.1 DcmConfigSet

3.1.1 DcmDsd配置

DcmDsdRequestManufacturerNotificationEnabled::启用制造商接口(关闭)

DcmDsdRequestSupplierNotificationEnabled:启用供应商接口(关闭)

注:根据实际需求配置

3.1.2 DcmDsdServiceTables

1 根据需求创建诊断服务(0x10, 0x11等)的配置表(DSD参数)

2 配置诊断服务和子服务

在DcmDsdSubService上右键选择“Create DcmDsdSubService ”新建子功能,具体如图所示

  • DcmDsdSidTabFnc:工具自带的回调函数,调用静态代码包中的服务函数
  • DcmDsdSidTabServiceId:诊断SID
  • DcmDsdSidTabSubfuncAvail:有子功能的服务选“true”,支持抑制响应,则对应会生成该服务下的所有子功能对应的抑制响 应位为 1 的子功能,即生成 81、82、83 子功能;
  • DcmRbDsdSidTabSidInitFunction:服务初始化函数的函数指针,此服务不选。
  • DcmDsdSidTabSecurityLevelRef:该服务支持的安全等级(27服务)
  • DcmDsdSidTabSessionLevelRef:该服务支持的会话

3.1.3 DcmDspSession 的配置

DcmDspSessionForBoot 为 DCM_NO_BOOT , 01 诊断会话子服务不允许跳转到 Bootloader ;
DcmDspSessionLevel 为 1 , 01 诊断会话的 session 的等级 1 ;
DcmDspSessionP2ServerMax 为 0.05 , P2ServerTimer 为 0.05 秒;
DcmDspSessionP2StarServerMax 为 5 , P2*ServerTimer 为 5 秒。
另外两个会话配置类似,如果需要支持 Bootloader 更新功能,则需要支持 02 子服务(如图),用
于切换到编程会话,那么DcmDspSessionForBoot配置为 DCM_OEM_BOOT

文末附加内容
暂无评论

发送评论 编辑评论


				
|´・ω・)ノ
ヾ(≧∇≦*)ゝ
(☆ω☆)
(╯‵□′)╯︵┴─┴
 ̄﹃ ̄
(/ω\)
∠( ᐛ 」∠)_
(๑•̀ㅁ•́ฅ)
→_→
୧(๑•̀⌄•́๑)૭
٩(ˊᗜˋ*)و
(ノ°ο°)ノ
(´இ皿இ`)
⌇●﹏●⌇
(ฅ´ω`ฅ)
(╯°A°)╯︵○○○
φ( ̄∇ ̄o)
ヾ(´・ ・`。)ノ"
( ง ᵒ̌皿ᵒ̌)ง⁼³₌₃
(ó﹏ò。)
Σ(っ °Д °;)っ
( ,,´・ω・)ノ"(´っω・`。)
╮(╯▽╰)╭
o(*////▽////*)q
>﹏<
( ๑´•ω•) "(ㆆᴗㆆ)
😂
😀
😅
😊
🙂
🙃
😌
😍
😘
😜
😝
😏
😒
🙄
😳
😡
😔
😫
😱
😭
💩
👻
🙌
🖕
👍
👫
👬
👭
🌚
🌝
🙈
💊
😶
🙏
🍦
🍉
😣
Source: github.com/k4yt3x/flowerhd
颜文字
Emoji
小恐龙
花!
上一篇
下一篇