国产毛片a精品毛-国产毛片黄片-国产毛片久久国产-国产毛片久久精品-青娱乐极品在线-青娱乐精品

車用CAN總線網絡快速原型的設計實現

發布時間:2010-3-16 17:25    發布者:嵌入式公社
關鍵詞: CAN , 設計 , 網絡 , 原型 , 總線
1 引言

隨著車用網絡中被控節點數量和控制復雜度的不斷增加,為了滿足控制要求、降低控制系統開發成本,汽車生產廠商和汽車設計單位對車用嵌入式軟件開發工具的要求越來越高。目前,市場上已經存在一些針對這一應用領域的軟件開發技術和軟件開發工具,例如基于快速原型的軟件設計技術和MATLAB/Simulink、dSPACE開發工具。基于快速原型的軟件設計技術是指軟件設計者通過創建和維護嵌入式軟件的功能模型來描述軟件功能,并且使用面向微處理器的自動代碼生成技術實現下位機代碼快速生成的軟件開發方法。使用這一技術可以提高嵌入式軟件的開發效率,降低開發成本。

但是目前的軟件開發工具都側重于單電控單元(ECU)建模和驗證軟件在單ECU環境下的執行效率和性能;對控制策略在網絡場景下的魯棒性和特征分析支持有限。另一方面,網絡協議仿真和分析工具,如OPNET雖然可以提供網絡場景下協議性能的分析 [6],但是由于OPNET上開發的仿真代碼無法直接移植到控制器上,所以開發工作不能方便地實現針對目標系統的重用。

如果我們針對車用CAN總線網絡的應用場景,將基于快速原型的嵌入式軟件設計和基于網絡仿真的分析相結合,實現車用CAN總線網絡的快速原型。在設計前期用模型定義的虛擬硬件代替沒有設計完成或者擁有成本太高的實際硬件,進行初期的系統設計分析;當相應的硬件到位后,替換虛擬硬件,將模型代碼轉化成面向目標系統的目標代碼,進行更接近實際系統的驗證分析;最后當所有實際控制軟件、控制器硬件和被控硬件都完成時,進行集成的全系統實時仿真。這樣可以解決使用相互獨立的工具開發模型和進行仿真驗證所存在的問題。

本文通過對車用CAN總線網絡快速原型的設計實現,提供了一種對車用CAN總線網絡進行設計、仿真和性能分析的系統;系統使用虛擬硬件的方法,通過在Simulink中構造典型車用環境相關的控制器模型和被控對象模型,以及在Windows環境下構造CAN卡仿真程序TH-CAN-Vcard和CAN總線分析工具TH-CAN_Scope,針對車用CAN總線網絡場景,實現了CAN總線網絡環境下控制策略仿真分析和控制代碼生成的有機結合。

2 系統設計與實現

2.1 車用CAN總線網絡的特征分析

CAN 總線是一種串行通信總線。使用帶有沖突檢測的載波偵聽多路訪問方式(即CSMA/CD)進行總線仲裁與控制。為了對車用CAN總線在網絡場景下的性能進行規范,國際標準化組織ISO和美國汽車工程師協會SAE對CAN通信診斷的基準環境都制訂了相關的國際標準。這些標準依據CAN協議的分層結構,從不同層次定義基準測試要求。例如:SAE J2012和ISO/DIS 15031-6對應應用層故障診斷的定義;[3] [7]ISO/DIS15765-2對應網絡層通信協議,通過定義無應答分段數據傳送協議(USDT)提供長消息數據分段/重組、帶流量控制的數據傳輸和板上控制單元與板外測試工具間消息的超時處理控制。[2]

另一方面,各個汽車生產廠家也根據這些國際標準制訂了自己的企業標準,用以規范ECU產品供應商的產品。如戴姆勒克萊斯勒-奔馳集團的CAN通信標準軟件模型分為車輛診斷相關的模塊和與車輛診斷無關的模塊兩部分。其中車輛診斷相關的模塊又分為診斷協議服務(KWP2000)和網絡傳輸協議服務 (ISO-15765-2) ,分別對應應用層服務和網絡層服務的功能描述,定義相關的基準環境參數和測試消息序列。[2]

這些標準對于車用環境下基于CAN總線的診斷服務的內容、網絡傳送消息序列間的邏輯關系和時延要求給出了詳細定義。而依據這些要求,提供一個CAN總線網絡快速原型,真實地模擬具有給定特征的消息序列和數據流,再現可能出現的干擾和誤碼信號就是本設計的核心技術工作。這一工作成果可以提供對網絡流量、網絡效率和網絡響應間相互關系的分析功能,仿真和驗證車用CAN網絡環境中ECU控制代碼的魯棒性和實時性。

2.2 快速原型系統的結構與實現

本快速原型系統有三類節點:有物理CAN硬件接口的實際CAN節點、由TH-CAN-Vcard與Simulink模型組成的虛擬CAN節點和運行TH-CAN-Scope分析工具的監控節點。在設計仿真實驗時,節點的數目沒有限制,僅受具體的CAN應用層的編址方案影響。第一類節點是我們通常使用的CAN節點,這里重點描述后兩類節點的實現。

2.2.1 虛擬CAN節點

虛擬CAN節點由TH-CAN-Vcard與Simulink模型組成,節點實現如圖1所示。當物理CAN卡不存在時,采用虛擬硬件技術,通過選擇CAN卡驅動庫提供的虛擬CAN通道,同時將開發的VCANCtrl控制對象實例化成COM服務器(COM Server)就可以在單機下建立COM服務器與MATLAB中模型(作為COM客戶機)間的聯系。虛擬接收/發送CAN消息到CAN總線的過程,為 Simulink下建立的模型提供基本的CAN通信測試功能。

當物理CAN卡存在時,可以直接將模型中的目標CAN通道進行修改,從而使MATLAB中的模型具備與其它物理CAN節點通信的功能,這時多個位于不同PC機上的模型和多個ECU硬件上的控制器代碼可以通過CAN總線建立一個車用CAN網絡仿真分析環境。


圖1 虛擬CAN節點的實現

TH-CAN-Vcard則是在Windows環境下使用 Visual Studio .NET和KVASER公司CAN卡驅動庫開發的CAN卡仿真程序。我們通過ActiveX技術開發了VCANCtrl控制對象,并在VCANCtrl中實現了以下的內部函數:

VCAN_Read 報文接收函數;入口參數為CAN通道句柄、返回參數為在接收緩沖區中的CAN報文的ID、數據包、長度、標識和時間戳。

VCAN_Write 報文發送函數;入口參數為CAN通道句柄,以及待發送CAN報文的ID、數據包、長度和標識。

VCAN_Start CAN卡初始化函數;入口參數為所選CAN通道號、波特率、通道開啟模式、同步模式和同步段,以及CAN控制器工作模式。

VCAN_Close CAN卡關閉函數;入口參數是CAN卡初始化成功時所返回的句柄。

2.2.2 監控節點

監控節點是進行CAN總線消息序列監測和控制的節點,運行TH-CAN-Scope - CAN消息仿真分析工具。TH-CAN-Scope是仿真CAN消息序列和進行仿真結果記錄分析的工具,是使用KVASER公司的CANLIB SDK開發的 Windows 下的應用程序。

TH-CAN-Scope的CAN消息處理功能包括:創建/編輯消息流序列、CAN通信管理、CAN消息序列跟蹤、控制臺人機接口和用于消息序列管理的數據庫維護。其中創建/編輯消息流序列、CAN消息序列跟蹤、控制臺人機接口和與數據庫操作相關的消息序列管理使用用戶線程。而CAN通信管理對實時性要求較高,使用獨立的工作線程,兩個線程通過使用Windows 下的消息處理機制相互通信。

另外,TH-CAN-Scope提供的分析功能包括:在線顯示CAN報文、在線統計CAN總線的使用情況、記錄總線上的CAN報文、主動發送/循環發送CAN擾動報文。并且將一段時間內收集的CAN報文記錄在數據庫中,可以進行更詳細深入的性能分析,通過使用 CAN報文編輯工具,可以指定監控節點在時間觸發(在指定的相對時間發送某個/某組CAN消息)和事件觸發(收到某個CAN報文或收到某類CAN報文時發送指定的CAN報文序列)機制下發送觸發報文,以考察CAN總線的性能。

2.3 系統實現技術

2.3.1 MATLAB外部程序接口的實現

TH-CAN-Vcard為MATLAB下的控制器模型和被控模型提供CAN通信的功能,采用了COM 技術。與用DDE技術實現的Matlab外部通信方式相比[4], COM技術的性能更好,在Emanuele Ruffaldi等人所做的測試中, COM與DDE相比,寫性能提高了10倍,讀性能提高了30多倍[5]; 另外MATHWORKS 對 DDE接口現在也不再進行繼續的開發,而推薦使用COM接口。

具體使用時,首先我們在Simulink中構造VCAN發送模塊和 VCAN接收模塊,使用M語言中的actxcontrol命令將VCANCtrl COM對象實例化,獲得其句柄,然后就可以通過這個實例化句柄調用COM對象中相應的VCAN_Write和VCAN_Read函數,實現Matlab中控制模型的CAN通信支持,在使用上等同于一個有句柄的設備。

2.3.2 數據流模擬和節點同步的實現

為了在CAN總線上產生指定的CAN消息序列,我們通過TH-CAN-Scope定義需要的報文序列,然后通過時間觸發和事件觸發相結合的方式,定義對總線上的CAN消息的響應操作,而相應的控制邏輯,則通過Simulink模型來實現。所以實際的控制策略類似于分布于各個CAN節點中。

節點間的同步是指在總線上的所有CAN節點應該能夠在某一時刻同時產生各自指定的消息序列。使用由TH-CAN-Scope廣播發送自定義的 CAN同步發送消息,啟動各節點計時器的方式,可以實現一定精度的節點同步。

2.3.3 CAN總線性能分析的實現

在進行CAN總線的性能分析時,我們實現了以下的分析功能:考察總線負載(包括節點數、各節點信息量和各節點設置的總線速率)的影響;考察節點優先級策略的影響;考察容錯策略(例如發送接收錯誤率過高的節點應該主動退出CAN總線網絡)的影響;以及考察CAN網絡實時性能,主要包括網絡報文消息時延的大小范圍以及報文消息時延的變化。其中,時延大小描述了報文時延的靜態特性,而時延變化則描述了報文時延的動態特性。

3 系統功能測試與分析

為了驗證快速原型系統對多ECU下虛擬硬件和實際硬件混合仿真的支持,我們設計了圖2所示的系統功能測試實驗平臺:其中ECU-A和ECU-B是兩個獨立的硬件ECU,采用實驗室開發的TH-ECU2003控制器;ECU-C和ECU-D是在Simulink中開發的兩個獨立的控制模型,通過VCAN發送模塊和VCAN接收模塊實現軟件仿真CAN卡功能,是虛擬硬件。在測試中,通過在各節點過濾接收到的CAN消息,控制通信流程如圖2所示,即ECU-A -> ECU-B -> ECU-C ->ECD-D -> ECU-A。從而驗證虛擬硬件和實際硬件混合仿真下的所有場景。


圖2 快速原型系統功能測試的實驗平臺

實驗中,使用TH-CAN-Scope作為監控軟件,對 CAN總線上的數據進行了5s的數據采集,并對節點間2000多條CAN消息報文的時延均值和標準方差進行分析(這里的時延包括了節點的處理時延和節點間的傳輸時延),分析結果見表1,實驗證明系統中任意兩個節點間都能進行正常的通信,滿足測試要求,驗證了系統設計的有效性。

表1 實驗中的CAN消息報文時延分析


4 結論

本文針對現有ECU軟件開發工具側重于單ECU建模和現有網絡仿真工具中的開發代碼在目標系統上重用比較困難的問題,設計并實現了車用CAN總線網絡快速原型系統。最后,通過用THECU-2003硬件平臺與Simulink下的控制模型共同組成的仿真環境驗證了快速原型系統設計的有效性。

參考文獻

1. Anthony M Phillips Functional Decomposition in a Vehicle Control System 2002
2. 林粵偉.魏權利 基于GSM 短信息的無線網絡環保監測系統的研制 [期刊論文] -微計算機信息2005(1)

作者:石琦文  孫曉民(100084,北京市清華大學計算機系智能實驗室)
來源:微計算機信息 2006 22(5)
本文地址:http://m.qingdxww.cn/thread-9457-1-1.html     【打印本頁】

本站部分文章為轉載或網友發布,目的在于傳遞和分享信息,并不代表本網贊同其觀點和對其真實性負責;文章版權歸原作者及原出處所有,如涉及作品內容、版權和其它問題,我們將根據著作權人的要求,第一時間更正或刪除。
您需要登錄后才可以發表評論 登錄 | 立即注冊

廠商推薦

  • Microchip視頻專區
  • PIC32CM LS00 Curiosity Pro評估工具包
  • PIC32CM LS60 Curiosity Pro評估工具包
  • 實時控制解決方案的正確選擇——數字信號控制器(DSC)或通用MCU
  • dsPIC® DSC:攻克各種觸摸傳感挑戰的電容式觸摸解決方案
  • 貿澤電子(Mouser)專區

相關在線工具

相關視頻

關于我們  -  服務條款  -  使用指南  -  站點地圖  -  友情鏈接  -  聯系我們
電子工程網 © 版權所有   京ICP備16069177號 | 京公網安備11010502021702
快速回復 返回頂部 返回列表
主站蜘蛛池模板: 午夜特级毛片| 亚洲欧美一区二区视频| 一级毛片日韩| 欧美国产精品一区二区免费| 亚洲欧美v国产一区二区| 亚洲a视频在线| 日本一区二区三区四区公司| 青草娱乐极品免费视频| 欧美成片vs欧美| 色污淫免费| 一级毛片60分钟| 欧美理论片在线观看一区二区 | 一级啪啪| 亚洲看片网站| 一级a级毛片| 亚洲综合免费视频| 奇米777视频二区中文字幕| 亚洲欧美日韩国产精品26u| 三级免费黄| 青青青在线观看视频免费播放| 天堂成人在线视频| 亚洲精品美女久久久久| 手机看片日韩高清1024| 人人爱人人爽| 我要看免费的毛片| 亚洲日韩精品欧美一区二区一| 欧美一级淫片免费播放40分钟| 全免费一级午夜毛片| 日本a视频在线观看| 亚洲综合欧美日韩| 四虎国产在线| 欧美激情一区二区| 亚洲成人综合在线| 一及毛片| 日韩精品在线第一页| 亚洲综合极品香蕉久久网| 日韩欧一级毛片在线播无遮挡| 一道本高清香蕉网| 日本三级网络| 亚洲欧美日韩一区二区在线观看 | 欧美一级片在线观看|