KWP2000協議學習筆記(一)



KWP2000協議是汽車行業最常用的通信協議之一,屬於標準OBDII協議的一種,KWP又稱爲關鍵字協議,下面從通信過程,物理層特性,系統進入,幀結構、命令交互、交互時間參數、常用命令來介紹。以後會針對這些要素具體分析,比如物理層特性具體深入到硬件電路方面,現在先簡單大概的描述下。
通訊過程
診斷儀在K-線上傳送一個喚醒模式(WUP)的信號該信號在一段空閒時間以後以25ms的低電平開始在TWUP的時間後接着第一個下降沿診斷儀發送啓動通信服務的第一個位,診斷儀必須使用10416的波特率進行初始化和通信
物理層特性
通常採用波特率10416;
空閒電平通常爲12V;數據位格式爲1+8+1,沒有校驗位。
系統進入初始化
有快速初始化和5bps初始化兩種方式。其中5bp初始化常是車型年限較老的,或者柴油卡車類型。
快速初始化:由診斷儀發送25ms的拉低電平(常態是高電平),然後是25ms的高電平,再發送系統進入數據,系統進入數據通常爲5個字節,ECU響應7個字節,完成系統初始化交互。具體參見下圖:
快速初始化
5bps初始化:診斷儀發送5bps的地址碼,回饋若干個字節作爲迴應,回饋的字節來源於字節,回饋的第一字節是0x55,ECU響應0x55方波,測試儀根據測試此方波的時間間隔來計算波特率KW1,KW2,設備對KW2取反發回給ECU(也可能不發,如果不發,這初始化直接完成),ECU對地址碼取反發回給設備,完成系統初始化交互。其中0x55這個字節用來規定後面的通信波特率。
慢速初始化
幀結構
幀格式:FMT(幀頭) TRG(目標地址)SRC(源地址)LEN(長度)DATA(數據)CS(校驗碼)
舉例:

發送:81 10 f1 01 81 03
接收:81 f1 10 01 c1 43
  • 1
  • 2

命令交互
回覆的格式通常是pos位(有效位)+0X40,目標地址和源地址互換
5bps協議的會比較特殊
各個車型各個系統的系統ID不一樣,通常需要要採集數據,比如發動機0xE0對應0xE8
交互時間參數
ECU應答的字節間隔時間間隔P1,通常爲5ms
診斷儀請求和ECU應答或兩個ECU應答的間隔時間P2,通常爲0ms
ECU應答結束和新的診斷儀請求開始間隔時間P3,通常爲75ms~90ms
診斷儀請求的字節間隔時間P4,通常爲20ms
P1必須大於實際偵測到的字節間間隔,一般情況比實際偵測到的字節間間隔多3ms
服務命令
系統進入:0x81
系統退出:0x82
寫數據流:0x3b
通信保持:0x3E
讀故障碼狀態:0x17
清除故障碼:0x14
讀版本信息:0x1A
讀數據流:0x21
讀故障碼:0x18
讀凍結幀:0x12
輸入輸出控制:0x30
開始運行時:0x31
停止運行時:0x32
請求運行時結果:0x33
請求下載:0x34
傳遞數據:0x36
請求傳輸退出:0x37
加密:0x27
訪問通信參數:0x83

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章