漫话UDS之Service 11

对于80后,你是否遇到过这样的场景:

在以往去街面上网吧玩,由于是花钱,恨不得充分利用手头电脑,比如在玩游戏时,会打开自己感兴趣的视频播放,在游戏空闲期或者开个小窗口两不误。这种场景下经常会遇到电脑屏幕蓝屏或者卡死😄。

这个时候第一反应就是大喊一声:“网管”,而对于网管,高兴的时候会跑到出问题电脑旁边查看问题,遇到正在起兴玩游戏的,则会回复一句:“重启”。

电脑重启,如同人在身心俱疲状态,大睡一觉后的满血复活,电脑在重启后也会将运行的各种程序进程中断,让CPU回复到初始值状态。

对于车载控制器范畴,作为行车电脑的ECU类同于电脑CPU,在运行过程中会出现非工况情况,这个时候经常也是ECU重置(重启),恢复至ECU初始状态。

此处也引申一个概念:在OEM对于DTC(故障码)需求定义时,会有一类故障是定义成车钥匙Ignition off-on可以解决的,这里就是通过ECU重置,解决该故障,不需要去往4S店进行保养修理。



本文分享如下内容,辅助了解UDS协议Service在汽车电子诊断范畴的应用


1. UDS协议中Service 11定义

2.用图形说明Service11

3.CDD数据库编辑

4. 手动测试

5.CAPL(with CDD and without CDD)


一、UDS协议中Service 11定义

UDS协议对Service 11开篇有云:

The ECUReset service is used by the client to request a serverreset.

ECU作为Server端,执行Client发送来ECU Reset请求中重启的类型(通过子服务区分)。对于UDS协议关于处理该请求的逻辑,没有强制性定义:

A:ECU收到ECUReset

request message后是先执行重启动作再ECUReset

positive response message;

B:ECU收到ECUReset

request message后,先回复ECUReset

positive response message再执行动作;

没有强制性定义,但是有强烈建议(注意语气词是强烈嗷):

ECU收到ECUReset request message后,先回复ECUReset positive response message再执行动作;


协议中关于该服务的请求格式如下:


其中关于子服务详细定义如下:


关于如上内容,有以下注意点:

1、    hardReset

硬重置,该诊断服务子服务执行策略时断开服务器与电源(汽车内部电池)的连接后再执行上电/启动顺序。该执行策略对于ECU带来的影响,在UDS协议中没有做定义,需要根据各家OEM的诊断需求自行定义(比如重置后对于掉电易失存储器和掉电非易失存储器的值是都初始化预定值)

2、    keyOffOnReset

该子服务对应的动作类似于驾驶员用车钥匙关闭打开点火钥匙的情况。在UDS协议中没有做定义,需要根据各家OEM的诊断需求自行定义,通常做法:

非易失性存储位置的值会保留;

 易失性存储器将被初始化。

3、    softReset

该子服务将会使Server端立即启动应用程序。在UDS协议中没有做定义,需要根据各家OEM的诊断需求自行定义,典型的操作:

在不重新初始化先前的配置数据,自适应因素和其他长期调整的情况下重新启动应用程序。

4、    enableRapidPowerShutDown

该子功能适用于不是由点火驱动而是仅由电池驱动的ECU。因此,关机会强制进入睡眠模式,而不是关闭电源。睡眠表示电源已关闭,但仍准备唤醒(电池供电)。子功能的目的是减少点火开关转到关闭位置后ECU的待机时间。此值请求服务器启用并执行“快速关闭电源”功能。一旦“钥匙/点火开关”关闭,服务器应立即执行该功能;当服务器执行掉电功能时,应直接或在定义的待机时间后过渡到睡眠模式。响应消息,并且服务器已经准备好执行“快速关闭电源”功能,则服务器应在“快速关闭电源”功能启动之前发送肯定响应消息。或“点火开关打开”信号终止“快速电源关闭”功能。

注意此子功能仅适用于支持待机模式的服务器。


5、    User Specific

在OEM在定义诊断需求规范时,除了上述内容外,还有其他特殊ECU重启执行逻辑,可以在UDS规定的范围内自定义该子服务,并明确执行逻辑让Supplier实现即可!

对于该服务的响应格式如下:


其中PowerDownTime此参数向客户端表明ECU Server端在电源关闭序列中将保留的待机序列的最短时间。





二、用图形说明Service11




对于安全访问影响


三、CDD数据库编辑

首先在CANdelaStudio工具中勾选ECU Reset这个Class:


本文以新建11 02为例:


对该子服务命名:Key_off_on_Reset


编辑服务难度不大,只是该服务执行后对诊断范畴内两个重要的状态机影响比较大:

1、若ECU当前处于非默认会话模式,Client(Tester)发送Service 11,这个时候在会话模式状态设置不应该是“Yse”或者“No”,应该是编辑执行Service 11后ECU的状态——Default Session;

2、若ECU当前处于解锁状态,Client (Tester)发送Service,这个时候在安全访问模式状态设置不应该是“Yse”或者“No”,应该是编辑执行Service 11后ECU的状态——Locked;


四、手动测试

手动测试是将数据库加载到PC端测试设备,本文以CANoe为例:

首先将数据库加载到CANoe中


在诊断控制台发送Service 11并Trace显示:

五、CAPL(with CDD and without CDD)半自动化测试

WithCDD to test (CAPL)

首先解释下半自动的意思,就是手动编辑测试脚本,自动化运行这些测试脚本,所以叫半自动化测试。

本文分享使用CDD数据库发送Service10 01和不使用数据库发送Service10 01两种情况:

A:使用数据库CDD文件

新建工程,并加载数据库CDD文件


编辑脚本如下:

voidMainTest()

{

 Testrequest();

}

Testrequest()

{

 diagRequestABS_ESP.HardReset_Reset step1;

 diagSetTarget ("ABS_ESP");

 diagSendRequest (step1);

}

运行后Trace截图如下:



Without CDD to test (CAPL)

1、首先加载OSEK.dll文件:


2、在CAPL Browser中编辑所需脚本:

voidMainTest ()

{

 longhandle;

 byteDefaultSession[2]={0x11,01};

 handle =CanTpCreateConnection(0);

 CanTpSetTxIdentifier(handle,0x610);

 CanTpSetRxIdentifier(handle,0x612);

 CanTpSendData(handle,DefaultSession,2);

 testWaitForTimeout(2000);

}

具体CAPL函数功能可以查询CANoe Help文档辅助学习,当然也可以发邮件给我,同行沟通!!!


相信时间的力量,

做一个长期主义者!




-----------------------------------

作者简介|穿拖鞋的汉子

汽车电子工程师

Wechat:车载诊断技术

chuantuoxiedehanzi@163.com

来,每天进步一点点!

©著作权归作者所有,转载或内容合作请联系作者
  • 序言:七十年代末,一起剥皮案震惊了整个滨河市,随后出现的几起案子,更是在滨河造成了极大的恐慌,老刑警刘岩,带你破解...
    沈念sama阅读 216,997评论 6 502
  • 序言:滨河连续发生了三起死亡事件,死亡现场离奇诡异,居然都是意外死亡,警方通过查阅死者的电脑和手机,发现死者居然都...
    沈念sama阅读 92,603评论 3 392
  • 文/潘晓璐 我一进店门,熙熙楼的掌柜王于贵愁眉苦脸地迎上来,“玉大人,你说我怎么就摊上这事。” “怎么了?”我有些...
    开封第一讲书人阅读 163,359评论 0 353
  • 文/不坏的土叔 我叫张陵,是天一观的道长。 经常有香客问我,道长,这世上最难降的妖魔是什么? 我笑而不...
    开封第一讲书人阅读 58,309评论 1 292
  • 正文 为了忘掉前任,我火速办了婚礼,结果婚礼上,老公的妹妹穿的比我还像新娘。我一直安慰自己,他们只是感情好,可当我...
    茶点故事阅读 67,346评论 6 390
  • 文/花漫 我一把揭开白布。 她就那样静静地躺着,像睡着了一般。 火红的嫁衣衬着肌肤如雪。 梳的纹丝不乱的头发上,一...
    开封第一讲书人阅读 51,258评论 1 300
  • 那天,我揣着相机与录音,去河边找鬼。 笑死,一个胖子当着我的面吹牛,可吹牛的内容都是我干的。 我是一名探鬼主播,决...
    沈念sama阅读 40,122评论 3 418
  • 文/苍兰香墨 我猛地睁开眼,长吁一口气:“原来是场噩梦啊……” “哼!你这毒妇竟也来了?” 一声冷哼从身侧响起,我...
    开封第一讲书人阅读 38,970评论 0 275
  • 序言:老挝万荣一对情侣失踪,失踪者是张志新(化名)和其女友刘颖,没想到半个月后,有当地人在树林里发现了一具尸体,经...
    沈念sama阅读 45,403评论 1 313
  • 正文 独居荒郊野岭守林人离奇死亡,尸身上长有42处带血的脓包…… 初始之章·张勋 以下内容为张勋视角 年9月15日...
    茶点故事阅读 37,596评论 3 334
  • 正文 我和宋清朗相恋三年,在试婚纱的时候发现自己被绿了。 大学时的朋友给我发了我未婚夫和他白月光在一起吃饭的照片。...
    茶点故事阅读 39,769评论 1 348
  • 序言:一个原本活蹦乱跳的男人离奇死亡,死状恐怖,灵堂内的尸体忽然破棺而出,到底是诈尸还是另有隐情,我是刑警宁泽,带...
    沈念sama阅读 35,464评论 5 344
  • 正文 年R本政府宣布,位于F岛的核电站,受9级特大地震影响,放射性物质发生泄漏。R本人自食恶果不足惜,却给世界环境...
    茶点故事阅读 41,075评论 3 327
  • 文/蒙蒙 一、第九天 我趴在偏房一处隐蔽的房顶上张望。 院中可真热闹,春花似锦、人声如沸。这庄子的主人今日做“春日...
    开封第一讲书人阅读 31,705评论 0 22
  • 文/苍兰香墨 我抬头看了看天上的太阳。三九已至,却和暖如春,着一层夹袄步出监牢的瞬间,已是汗流浃背。 一阵脚步声响...
    开封第一讲书人阅读 32,848评论 1 269
  • 我被黑心中介骗来泰国打工, 没想到刚下飞机就差点儿被人妖公主榨干…… 1. 我叫王不留,地道东北人。 一个月前我还...
    沈念sama阅读 47,831评论 2 370
  • 正文 我出身青楼,却偏偏与公主长得像,于是被迫代替她去往敌国和亲。 传闻我的和亲对象是个残疾皇子,可洞房花烛夜当晚...
    茶点故事阅读 44,678评论 2 354

推荐阅读更多精彩内容