新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于K線/CAN總線的KWP2000協議分析及其協議棧的開

        基于K線/CAN總線的KWP2000協議分析及其協議棧的開

        作者: 時間:2016-09-12 來源:網絡 收藏

        圖6 協議棧開發及測試流程

        在MATLAB/Simulink/StateFlow中進行協議棧仿真開發是協議棧開發過程中的關鍵環節,在這一過程中必須嚴格遵照協議標準來實現通訊邏輯,往往需要經過多次“設計-仿真-修改”循環才能使系統最終趨于完善。MATLAB的圖形界面提供了方便快捷的仿真輸入/輸出接口,可大幅度加快開發進度。

        協議棧開發完成后可利用CANoe作為標準進行系統集成測試,CANoe的協議測試環境如圖7所示。

        1.jpg

        圖7 CANoe的測試環境示意圖

        CANoe中的KWP2000實際指的是基于的KWP2000,即15765協議。由于CANoe默認的硬件板卡是CAN卡,因此在建立仿真程序時,只需將ECU的網絡模塊設置為kwp2000.dll即可進行的KWP2000服務測試。kwp2000.dll中包含15765應用層協議中規定的服務請求、服務指示、服務響應和服務確認接口函數,用戶調用這些函數即可完成Tester端和ECU端的KWP2000診斷服務。此外,該模塊中的功能函數還可對ECU的源地址、目標地址、尋址模式等參數進行動態設置。需要注意的是,kwp2000.dll目前只提供了部分KWP2000服務的接口函數,如果用戶需要進行其它的KWP2000服務測試,必須根據KWP2000應用層協議構造服務報文數據,然后調用該模塊中的 KWP_DataReq()和KWP_GetRxData()函數進行報文的發送和接收。

        進行基于K線的KWP2000服務測試時,需要將KLineCPL.dll模塊加入CANoe仿真環境,并使用一個代理節點來實現CAN網絡和K線之間的報文轉發。此時CANoe使用計算機的串口,并通過一個串口/K線轉換器與實際的ECU相連,如圖8所示。

        圖8 CANoe中基于K線的KWP2000測試連接示意圖

        6 結束語

        KWP2000是一套非常完善的車載故障診斷協議標準,協議的分層結構使得KWP2000診斷服務并不依賴于某種特定的網絡介質,其應用層可以移植到任何一種物理層和數據鏈路層協議之上?;?a class="contentlabel" href="http://www.104case.com/news/listbylabel/label/CAN總線">CAN總線的KWP2000順應了目前車載網絡發展的大趨勢,將逐步取代K線診斷協議,成為下一代車載診斷協議的主流之一。

        MATLAB/Simulink/Stateflow為協議棧開發提供了方便直觀的圖形用戶接口和功能強大的仿真調試環境及代碼生成工具,為嵌入式開發開辟了一條高效快捷之路。Vector公司的CANoe和相關硬件板卡是一個功能強大的應用開發平臺,可針對基于K線和CAN總線的KWP2000進行 ECU和診斷設備的上層協議開發、測試及仿真。


        上一頁 1 2 3 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 同江市| 余干县| 阿拉善左旗| 额济纳旗| 满洲里市| 哈巴河县| 田林县| 宾川县| 中宁县| 徐州市| 郎溪县| 修武县| 雷波县| 鄂州市| 江陵县| 宁海县| 松江区| 呼玛县| 阿荣旗| 商洛市| 湖南省| 鲁山县| 大连市| 当雄县| 望奎县| 鲁甸县| 城固县| 海丰县| 天全县| 新泰市| 吕梁市| 巴青县| 天台县| 高碑店市| 景泰县| 休宁县| 略阳县| 彩票| 廊坊市| 锡林郭勒盟| 泽库县|