亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于CANoe的can總線通信模擬研究

        2014-04-29 00:00:00徐雨晨
        科技創(chuàng)新與應(yīng)用 2014年2期

        摘 要:文章介紹基于CANoe環(huán)境,來模擬控制器與ECU控制單元在can總線上的數(shù)據(jù)通信過程。

        關(guān)鍵詞:can總線;信號;消息;環(huán)境變量

        1 引言

        CAN,全稱為“Controller Area Network”,即控制器局域網(wǎng),是國際上應(yīng)用最廣泛的現(xiàn)場總線之一,在自動化領(lǐng)域的應(yīng)用非常廣泛,其特點是結(jié)構(gòu)簡單、成本低,但速度高、實時性和可靠性好。

        CANoe是德國Vector公司開發(fā)的一款功能非常強大的CAN總線開發(fā)測試軟件,可以實現(xiàn)真實總線的實時監(jiān)控,半實物仿真和全虛擬總線的仿真。它包含CAN網(wǎng)絡(luò)數(shù)據(jù)庫編輯器CANdb++,虛擬節(jié)點CANPL語言編程,用戶自定義面板組件 Panel Generator以及一些集成的調(diào)試監(jiān)控組件,能滿足各種開發(fā)測試的需要。本文將介紹如何基于這些工具模擬CAN總線的數(shù)據(jù)通信,實現(xiàn)特定的一些功能。

        2 CAN總線數(shù)據(jù)庫的設(shè)計

        CANdb++是CANoe內(nèi)置的工具,用來描述CAN總線的一些對象,這些對象包括:(1)CAN節(jié)點。具體包括CAN總線網(wǎng)絡(luò)中所有節(jié)點的名稱以及通信ID。(2)信號signal。信號signal代表一種類型的變量,一般用消息中的一位或者幾位來表示。一般包含的主要信息有:startbit,即開始位;length,即這個變量的長度是多少位的。除此之外還有最大值最小值的設(shè)置等等。(3)消息Message。Message的實質(zhì)就是在CAN總線上通信的數(shù)據(jù)幀,一個Message包含的主要信息有:ID,表明這個數(shù)據(jù)幀是從哪個節(jié)點發(fā)出的;DLC,也就是數(shù)據(jù)幀的長度,即多少個字節(jié)(Byte);信號signal,一個消息一般含有一個或多個信號。(4)環(huán)境變量(environment variables)。環(huán)境變量是信號的另一個身份,用以在CANPL編程和Panel面板時進行變量綁定。

        在使用CANdb++之前,首先需要在CANoe中建立一個CAN總線的節(jié)點網(wǎng)絡(luò)。將兩個虛擬節(jié)點分別命名為CAB和ECU,用來表示控制器單元和ECU單元。如圖1所示。

        圖1

        打開CANdb++,建立數(shù)據(jù)庫。其中重要的幾個項目是Environment variables,network nodes,Message和Signals。在CANdb++的左側(cè)欄可以查看。

        首先建立兩個節(jié)點,分別為cab_node和ECU_node,然后建立兩個Message,分別表示CAB發(fā)給ECU的消息和ECU發(fā)給CAB的消息。根據(jù)我們實際采集的通信數(shù)據(jù),將兩個Message的ID分別設(shè)置為0x2A4和0x2A5(16進制),DLC設(shè)置為3,表示每個消息長度為3個字節(jié)。

        然后再建立所需要的信號。根據(jù)需要,建立了5個信號,并將這5個信號都綁定到CAB_to_ECU這個消息上,每個信號長度為1bit,即都只占用CAB_to_ECU這個消息的1位。具體是第幾位根據(jù)采集的實際通信數(shù)據(jù)經(jīng)過分析可以得到,并做相應(yīng)的設(shè)置。最終建好的數(shù)據(jù)庫如圖2所示。

        3 基于 Panel Desinger的界面設(shè)計

        在CANoe的主界面中點擊file->open Panel Desinger即可打開Panel Designer組件。Panel Designer是一個很簡單易學(xué)的工具,通過拖拽控件和屬性設(shè)置即可完成界面的設(shè)計和變量的綁定。

        ToolBox是各種常用的顯示控件,包括有按鈕,指示燈開關(guān),復(fù)選框,文本框,靜態(tài)文本等等。

        通過拖拽ToolBox里的指示燈和靜態(tài)文本控件,我們建立一個如圖3所示的界面。

        圖3

        界面完成后,需要在Properties中進行一些設(shè)置。Display Only屬性表示是否只顯示,在這里可以設(shè)置為true,指示燈不需要進行操作,只需要讀取變量進行顯示;State Count 設(shè)置為2,表示只有兩個狀態(tài);Switch Value設(shè)置為0:1,表示指示燈只有0或1的取值;Symbol Filter設(shè)置為Environment Variables,然后點擊Symbol,會出現(xiàn)一個列表,一一綁定到數(shù)據(jù)庫中相應(yīng)的環(huán)境變量。完成之后點擊保存,保存好的文件為.xvp格式的文件。類似地設(shè)置CAB端的界面,并將所有控件與數(shù)據(jù)庫中相應(yīng)的環(huán)境變量綁定。

        4 基于CANPL編程語言進行通信模擬

        CANPL全稱為CAN Access Programming Language,是一種類C語言的編程語言,語法與C語言基本相同,不同的是,它是一種面向事件的編程語言,有自己特定的程序結(jié)構(gòu)。

        CANPL的事件語句大體上分為三種,即總線事件,鍵盤事件,時間事件。

        總線事件:on message Message{……} 表示接受到指定消息時執(zhí)行。

        鍵盤事件:on key 'a'表示按鍵盤'a'時反應(yīng)。

        時間事件:timer Mytimer 將Mytimer申明為以秒為單位的定時器;setTimer(Mytimer,20)表示將定時器設(shè)置為20秒間隔,并啟動。

        通過編寫CANPL程序,實現(xiàn)CAB和ECU雙節(jié)點的數(shù)據(jù)通信,在Canoe的Trace版面下可以查看模擬過程中的實時數(shù)據(jù)。最終數(shù)據(jù)如圖4。

        參考文獻

        [1]史久根.CAN現(xiàn)場總線系統(tǒng)設(shè)計技術(shù),2004年.

        [2]陳覺曉,孫澤昌.基于canoe的實時can總線數(shù)據(jù)紀錄軟件的設(shè)計方法[J].測控技術(shù),2006 vol25(2):45-47.

        [3]CANoe Manual Verion 52.[R].Germany:Vector InformatikGmbH,2005.

        作者簡介:徐雨晨(1990-),男,安徽省合肥市,同濟大學(xué)軟件工程專業(yè),碩士,研究方向:多媒體與虛擬現(xiàn)實。

        亚洲国产成人av在线观看| 日韩不卡的av二三四区| 久久亚洲中文字幕乱码| 蜜桃视频在线观看免费亚洲| 日本一本免费一二区| 午夜精品射精入后重之免费观看| 亚洲国产成人片在线观看无码| 成全高清在线播放电视剧| 亚洲爆乳无码专区| 亚洲精品美女久久久久久久 | 国产喷白浆精品一区二区豆腐 | 国产剧情亚洲一区二区三区| 麻婆视频在线免费观看| 美女露出自己的性感大胸一尤内衣| 国产精品毛片va一区二区三区| 久久国产精品99精品国产| 波多野结衣乳巨码无在线| 日韩激情小视频| 日产精品一区二区三区| 激情人妻中出中文字幕一区| 97久久综合精品国产丝袜长腿| 久久精品亚洲熟女av麻豆| 午夜精品久久久久久久| 久久综合狠狠色综合伊人| 婷婷丁香五月亚洲| 国产对白刺激在线观看| 亚洲一区二区三区1区2区| av网站免费线看精品| 性无码专区无码| 蜜桃成人无码区免费视频网站| 国产日韩亚洲欧洲一区二区三区| 久久中文字幕av第二页| 亚洲视频在线观看第一页| 国产精品亚洲第一区二区三区| ā片在线观看免费观看 | 91国产精品自拍视频| 婷婷久久国产综合精品| 日韩aⅴ人妻无码一区二区| 亚洲欧美综合在线天堂| 亚洲欧美日韩国产综合久| 精品亚洲视频免费观看网站|