"); //-->
诊断和通信管理功能单元(Diagnostic and communication management functional unit)包含10种服务,本篇博文将详细讲解SecurityAccess Service(SID:0X27)的特性和协议。

本篇博文素材来源于:ISO 14229-1-2020:规范和要求。
在学习本篇博文之前推荐学习:
详解UDS CAN诊断:什么是UDS(ISO 14229)诊断?
详解UDS CAN诊断:DiagnosticSessionControl Service(SID:0X10)
很多关联知识已经详细讲解过,这里不再赘述了。
客户端使用SecurityAccess Service请求安全解锁服务端,SecurityAccess Service用于将客户端的数据上传到服务端或者将服务器的数据下载到服务端时候的安全访问。
客户端使用SecurityAccess Service请求安全解锁服务端流程如下所示:
第1步:客户端发送seed请求;
第2步:服务端发出seed;
第3步:客户端发送key密钥,依据服务端发出的seed进行处理;
第4步:服务端解析客户端发过来的key密钥,如果无误则完成安全解锁功能。
1
诊断请求
客户端发送seed请求协议:0X27 0X** 0X&&(A_Data.A_PCI.SI和A_Data.Parameter 1~k数据)。

其中:
0X27是服务ID(SID),1字节;
0X**是服务的子功能,当requestSeed为奇数时发送send命令,范围为:0X01~0X7F中的奇数,1字节;
0X&&是可选项,用于在请求种子信息时将数据传输到服务器,它可以包含服务端中验证的客户端标识,长度不固定。
客户端发送key密钥协议:0X27 0X** 0X&&(A_Data.A_PCI.SI和A_Data.Parameter 1~k数据)。

其中:
0X27是服务ID(SID),1字节;
0X**是服务的子功能,当sendKey为偶数时发送key密钥命令,范围为:0X01~0X7F中的偶数,1字节;
0X&&的值是通过将获取服务端发出seed数值进行安全算法生成的,所以这个值是随着服务端发出seed数值的变化而变化,长度不固定。
在ISO 14229-1-2020协议中规定了各类requestSeed和sendKey的意义和使用场景,如下所示:

标准中也规定了seed请求和key密钥的对应关系:

2
诊断响应
诊断响应有肯定响应和否定响应两种类型。
2.1、肯定响应
肯定响应表示服务端回复客户端请求成功,响应协议:0X67 0X** 0X&&(A_Data.A_PCI.SI和A_Data.Parameter 1~k数据)。

其中:
0X67是响应服务的SID,相当于0X27+0X40,1字节;
0X**是响应服务的子功能,范围为:0X00~0X7F,1字节。例如,客户端使用0X01子服务,此时肯定响应的子服务就是0X01;
0X&&的存在取决于securityAccessType参数,seed参数是服务端发来的数据,客户端在安全访问服务端时需要使用该值计算密钥,长度不固定。
2.2、否定响应
否定响应表示客户端或者服务端存在问题,否定响应会提示失败原因。
响应协议:0X7F 0X** 0X&&(A_Data.A_PCI.NR_SI、A_Data.A_PCI. SI和A_Data.Parameter 1数据)。
其中:
0X7F是否定响应固定数值,1字节;
0X**是诊断服务ID(SID),本篇博文使用的是0X27服务,则否定响应会返回0X27,1字节;
0X&&是NRC错误码,描述了返回错误的原因,1字节。
SecurityAccess Service(SID:0X27)有8种类型错误,如下所示:


*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。
相关推荐
车载以太网 10BASE-T1S 迎来升级,太比特级传输速率已提上日程
CAN简介与Atmel Start上CAN驱动开发培训教程
ARM,CAN 请问:我在你们那买的ARM-CAN接口板上用的是什么型号光耦?
集成以太网、CAN、USB、加密技术功能的闪存微控制器
ZLGCAN,ARM,CAN 请教ZLGCAN有关ARM-CAN问题
CAN 教程
国内首颗:纳芯微CAN FD收发器NCA1044-Q1通过丰田VeLIO认证
ARM,CAN ARM-CAN接口板
Microchip推出集成式紧凑型CAN FD系统基础芯片解决方案,专为空间受限应用而设计
驱动汽车电子创新:RIGOL CAN-FD总线分析解决方案
南芯科技推出车规级高速CAN/CAN FD协议收发器
使用 3.3V CAN 收发器在工业系统中实现可靠的数据传输
低速串行总线调试-CAN译码
一文读懂|CAN总线为何要加终端电阻
ISO 16845标准详解
CAN-RS232通信转换模块的设计与实现
集成隔离式 CAN 收发器 - ISO1050
创新的现场总线CAN-bus实验室
CAN资料
dsPIC33EV 5V CAN-LIN入门工具包
高工作电压5.7 kV rms隔离式CAN FD收发器
FullCAN函数库V1.0
PHILIPS_CAN_控制器SJA1000的BasicCAN控制模块
MC34901: 面向工业应用的高速CAN收发器
FlexRay线控制动参考设计
如何配置控制器局域网络(CAN)位时序实现系统性能优化?
BCM系统解决方案
CAN入门书
基础知识之CAN总线
ARM7MCU提供以太网、CAN、USB、加密技术