首先,KWP2000现在已经不流行了。在欧洲,已规定自2008年起,新下线的车不再使用基于KWP2000的诊断系统,使用基于ISO 15765的诊断系统;在国内,UDS基本上处于主要地位,且有发展为统治地位的趋势。
规定这两种诊断方式的相关ISO标准的区别:
KWP2000:ISO14230
UDSonCAN:ISO14229
从OSI分层中的网络层来讲,这两者的区别:
KWP2000无相关协议对网络层进行规定,需要由使用者自定义,这将增加使用难度,而UDSonCAN架构里有ISO15765-2定义网络层的相关内容, 已定义完善的通信错误处理机制和总线仲裁机制,使用起来比较方便.
从OSI分层中的物理层层来讲,这两者的区别:
KWP2000:
有两种实现方式,一种是只有一根K线,另一种是有一根K线和一根L线。但常用的实现方式为第一种。
UDSonCAN:
物理层基于CAN总线,至于CAN线的物理层这里就不赘述了。
通信速率:
KWP2000: 慢,最大达10.4 kbit/s
UDSonCAN: 快,最大达1 Mbit/s
诊断报文最大长度:
KWP2000:255Byte
UDSonCAN:4095Byte
应用层的服务方面来讲:
UDS设置了“禁止肯定响应位”,更符合功能寻址的要求;
UDS根据实际的需要,对服务项进行了完善和扩充,可用的服务更多一些,如28、85等;
UDS对多数服务的格式及内容进行了明确的定义;
UDS采用3字节的DTC码,而KWP的为2字节的DTC,UDS能提供更详细的故障信息。