目录
1、0x28服务(通讯控制服务)
0x28服务的目的就是开启和关闭ECU中某些消息的传输和接收(例如,应用程序通讯消息)。
2、请求消息格式
请求消息的格式定义:
字节序号 | 参数值 | 约定 | 字节值 |
---|---|---|---|
#1 | CommunicationControl Request SID | M | 0x28 |
#2 | sub-function = [ controlType ] | M | 0x00-0xFF |
#3 | communicationType | M | 0x00-0xFF |
#4 | nodeIdentificationNumber (high byte) | C | 0x00-0xFF |
#5 | nodeIdentificationNumber (low byte) | C | 0x00-0xFF |
C表示子函数参数—控制类型[controlType]为0x04或者0x05时,nodeIdentificationNumber才有效。
请求消息中子函数参数定义说明:
子函数参数—controlType 包含了ECU如何修改通讯类型的信息,其具体的定义详见下表:
Bits 6-0 | 描述 | 约定 |
---|---|---|
0x00 | enableRxAndTx 使能报文发送和接收 | U |
0x01 | enableRxAndDisableTx 使能报文接收,抑制发送 | U |
0x02 | disableRxAndEnableTx 抑制接收,使能发送 | U |
0x03 | disableRxAndTx 抑制接收和发送 | U |
0x04 | enableRxAndDisableTxWithEnhancedAddressInformation 节点切换到诊断模式,使能接收,抑制发送 | U |
0x05 | enableRxAndTxWithEnhancedAddressInformation 节点切换到应用模式,使能报文接收和发送 | U |
0x06 - 0x3F | ISOSAEReserved ISO保留 | U |
0x40 - 0x5F | vehicleManufacturerSpecific 汽车制造厂商使用 | U |
0x60 - 0x7E | enableRxAndTx 供应商使用 | U |
0x7F | enableRxAndTx ISO保留 | U |
请求消息中数据参数定义说明:
请求消息中数据参数的定义说明详见下表:
定义 |
---|
communicationType 该参数表示被控制的通讯类型,是一个位编码型参数,其允许多种控制通讯类型参数。 Bit 0-1,0x01:正常应用报文;0x02:网络管理报文;0x03:应用与网络管理报文; Bits 4-7,0x0:使能或抑制DCM控制的comM通道;0x1-0xE:使能或抑制子网中控制的comM通道;0xF:仅控制接收该请求的comM通道; |
nodeIdentificationNumber 该参数是一个2字节参数,用于识别车辆中子网中节点,不能使用OSI中1-6层的寻址方法进行寻址。只有当子函数参数为0x04或者0x05时,这个参数才有效。 |
3、肯定应答消息
肯定应答消息格式定义如下:
字节序号 | 参数名称 | 约定 | 字节值 |
---|---|---|---|
#1 | CommunicationControl Response SID | M | 0x68 |
#2 | sub-function = [ controlType ] | M | 0x00 - 0x7F |
肯定应答消息数据参数定义:
Definition |
---|
controlType |
请求消息子函数参数中的 bits 6 - 0 |
4、支持的否定应答码(NRC_)
对于0x28服务,实施了如下否定应答码。哪些情况会产生哪些否定应答码具体如下表所示。当服务端在错误场景下使用该服务,以下否定应答码应该被使用。
NRC | 描述 |
---|---|
0x12 | sub-functionNotSupported 子函数参数不被支持时,会发送该NRC |
0x13 | incorrectMessageLengthOrInvalidFormat 消息长度不正确或格式无效时,会发送该NRC |
0x22 | conditionsNotCorrect 当ECU激活了正常的通讯模式,无法使能或抑制请求的通讯类型,会发送该NRC |
0x31 | requestOutOfRange 当在communicationType或者nodeIdentificationNumber参数中,检测到错误时,则会发送该NRC |
5、0x28服务(通讯控制服务)案例(抑制网络管理报文发送)使用说明
客户端通过设置suppressPosRspMsgIndicationBit(子函数参数中的Bit7)为“FALSE”(“0”),来请求应答报文,即不抑制正响应报文消息;
通讯控制服务请求报文使用案例如下,由客户端发向服务端(ECU):
字节顺序 | Description | 字节值 |
---|---|---|
#1 | CommunicationControl Request SID | 0x28 |
#2 | controlType = enableRxAndDisableTx, suppressPosRspMsgIndicationBit = FALSE | 0x01 |
#3 | communicationType = network management | 0x02 |
通讯控制服务肯定应答报文见下表,由服务端(ECU)发往客户端:
字节顺序 | Description | 字节值 |
---|---|---|
#1 | CommunicationControl Request SID | 0x68 |
#2 | controlType | 0x01 |
6、0x28服务(通讯控制服务)案例(控制远程网络地址节点仅进入诊断模式)使用说明
通讯控制服务请求报文使用案例如下,控制的远程网络节点地址为0x00AA,由客户端发向服务端(ECU):
字节顺序 | Description | 字节值 |
---|---|---|
#1 | CommunicationControl Request SID | 0x28 |
#2 | controlType = enableRxAndDisableTxWithEnhancedAddressInformation, suppressPosRspMsgIndicationBit = FALSE | 0x04 |
#3 | communicationType = normal messages | 0x01 |
#4 | nodeIdentificationNumber (high byte) | 0x00 |
#5 | nodeIdentificationNumber (low byte) | 0x0A |
通讯控制服务肯定应答报文见下表,由服务端(ECU)发往客户端:
字节顺序 | Description | 字节值 |
---|---|---|
#1 | CommunicationControl Request SID | 0x68 |
#2 | controlType = enableRxAndDisableTxWithEnhancedAddressInformation, suppressPosRspMsgIndicationBit = FALSE | 0x04 |
7、0x28服务(通讯控制服务)案例(控制子网节点进入应用模式)使用说明
通讯控制服务请求报文使用案例如下,控制的子网节点地址为0x00AA,进入应用模式,报文由客户端发向服务端(ECU):
字节顺序 | Description | 字节值 |
---|---|---|
#1 | CommunicationControl Request SID | 0x28 |
#2 | controlType = enableRxAndTxWithEnhancedAddressInformation, suppressPosRspMsgIndicationBit = FALSE | 0x05 |
#3 | communicationType = normal messages | 0x01 |
#4 | nodeIdentificationNumber (high byte) | 0x00 |
#5 | nodeIdentificationNumber (low byte) | 0x0A |
通讯控制服务肯定应答报文见下表,由服务端(ECU)发往客户端:
字节顺序 | Description | 字节值 |
---|---|---|
#1 | CommunicationControl Request SID | 0x68 |
#2 | controlType = enableRxAndTxWithEnhancedAddressInformation, suppressPosRspMsgIndicationBit = FALSE | 0x05 |