2.4G射頻的CAN總線汽車故障診斷儀設計
上位機的應用程序首要實現(xiàn)的功能是,要實現(xiàn)對TMU3100端點的讀寫,用VC++語言編寫,可以把USB設備當成文件來操作。用CreateFiile ()函數(shù)獲得USB句柄,為讀訪問或寫訪問打開指定端點。用DeviceControl()來進行控制操作,用ReadFile()從指定端點讀取數(shù)據(jù),用WriteFile()向端點寫入數(shù)據(jù)。
當CAN總線上的數(shù)據(jù)被采集到PC后,就可以進行故障診斷了。故障診斷代碼是依照KWP2000應用層規(guī)定的故障代碼設計的,是目前國際上通用的,現(xiàn)將其應用于CAN的應用層,將來可以用全新的CAN上層協(xié)議取代。故障診斷代碼定義在SSF14230中。SAE J1979中,由車輛制造商或系統(tǒng)供應者定義的服務標志符數(shù)值的不同范圍,如表1所列。
此表中以十六進制數(shù)表示的服務標志符,同數(shù)據(jù)鏈路層中數(shù)據(jù)字節(jié)內的SID服務識別字節(jié)對應。不同的SID值代表不同的服務請求,故障診斷程序必須符合此應用層標準,才能識別不同的十六進制代碼所代表的不同的故障信息。
4 結論
本文設計的2.4G無線車載CAN總線故障診斷儀,由于采用了自動跳頻的空中協(xié)議,所以誤碼率幾乎接近零,在14 m內仍能進行可靠的工作。系統(tǒng)使用國際上通用的診斷代碼,使程序具有通用性和實用性;以PC作為硬件平臺,無需專門開發(fā)硬件平臺,可大大降低開發(fā)成本并且易于實現(xiàn)設備的升級和維護;使用USB接口和2.4G無線通信,具有即插即用、不受空間限制、數(shù)據(jù)傳輸實時性強的特點。
評論