鄭 磊, 藍建華, 何景林, 嚴法東, 劉丹丹, 嚴 瓊
(1.合肥長安汽車有限公司, 安徽 合肥 231283;2.重慶長安汽車股份有限公司, 重慶 401120)
近年來,隨著國家油耗標準的提高,智能發(fā)電機和怠速啟停功能開始被廣泛應用,蓄電池傳感器也逐漸成為汽車的標配零部件。通常,一個型號的蓄電池傳感器默認對應一種蓄電池的狀態(tài),但由于車企對各個車型定位的區(qū)別及汽車配置的豐富程度差異,所用蓄電池類型不同,導致蓄電池傳感器的型號也不斷增加,需要根據零件號區(qū)分采購、安裝,成本高,管理難。為了解決這一系列問題,開始對蓄電池傳感器的通用化設計及實現方法進行研究。
當前,大多數的蓄電池傳感器 (EBS) 都是通過LIN線和LIN的主節(jié)點 (通常為EMS) 進行通信,EMS通過CAN與整車其他控制器和外設進行通信。
上述架構使得基于UDS的LIN診斷開發(fā)出通用性強的智能蓄電池傳感器(IBS) 成為可能[1]。整體開發(fā)思路為:EOL設備通過CAN診斷服務向EMS發(fā)送讀取/寫入請求,EMS收到請求后,使用LIN診斷服務對IBS發(fā)送讀取/寫入請求進行請求信息傳遞;ISB接收到請求后,對EMS進行響應,EMS在接收到IBS響應時,將響應情況通過CAN診斷服務對EOL設備進行響應,傳遞結果信息。
IBS集成不同的蓄電池狀態(tài)檢測程序,通過UDS診斷服務進行蓄電池的ID配置,并永久保存。實現程序的準確選擇。
在LIN網絡中,主節(jié)點(本文為EMS) 和IBS之間通信的診斷報文中的NAD為0x47。
設計IBS提供下列默認會話控制下的UDS診斷服務,見表1。
表1 IBS的讀/寫診斷服務列表
定義蓄電池代碼的DID為0x00B2,數據長度為1Byte,如圖1所示。
根據主機廠的需求將所有在用的蓄電池信息提前預設到IBS軟件中,用于后續(xù)通過UDS對蓄電池Battery Code 內容改寫,選擇不同蓄電池ID的程序數據[2]。表2為蓄電池預置程序列表。
圖1 蓄電池Code數據結構定義
表2 蓄電池預置程序列表
EOL設備/診斷儀和EMS之間通過CAN診斷會話實現交互[3]。EOL/診斷儀在配置IBS或者讀取IBS信息時,EMS作為CAN/LIN之間的網關,起到EOL/診斷儀的診斷命令和IBS響應數據之間的CAN/LIN轉換的作用。對EMS的服務列表進行如表3設計[4]。
表3 EMS診斷服務列表
設定EMS接收的診斷請求CAN標識符為0x7E0,EMS發(fā)送的診斷響應CAN標識符為0x7E8;IBS的LIN診斷請求標識符為0x3C,IBS的LIN診斷響應標識符為0x3D。讀取IBS蓄電池ID的診斷過程如圖2所示。寫入IBS蓄電池ID的診斷配置過程如圖3所示。
圖2 讀取蓄電池ID診斷方式
圖3 寫入蓄電池ID診斷方式
借助工廠在線EOL設備,能夠根據車輛VIN,連接MASH服務器自動識別車輛配置的功能,設計電檢流程如圖4所示。
圖4 EOL設備電檢流程圖
按照圖4流程進行EOL設備軟件開發(fā),設備可以根據車輛VIN碼自動識別電池信息,自動在線刷寫對應的蓄電池ID完成IBS配置,EOL設備完成在線刷寫的運行結果如圖5所示。
圖5 EOL設備在線刷寫結果
通過基于LIN診斷的蓄電池傳感器的通用化設計,配合工廠EOL設備開發(fā)對應的電檢流程。能夠做到針對不同車型,主機廠只采購一種蓄電池傳感器,對應所有車型所應用的蓄電池,提高了生產效率,降低了物料管理成本、現場管理成本和售后備件的管理成本。實際應用中,在主機廠降本增效方面具有重要意義。