亚洲免费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面板時進(jìn)行變量綁定。

        在使用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進(jìn)制),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中進(jìn)行一些設(shè)置。Display Only屬性表示是否只顯示,在這里可以設(shè)置為true,指示燈不需要進(jìn)行操作,只需要讀取變量進(jìn)行顯示;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編程語言進(jìn)行通信模擬

        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。

        參考文獻(xiàn)

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

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

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

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

        中国久久久一级特黄久久久| 鲁鲁鲁爽爽爽在线视频观看| 精品性高朝久久久久久久| 中文字幕乱偷乱码亚洲| 熟女少妇丰满一区二区| av中国av一区二区三区av| 国产精品视频亚洲二区| 精品国产乱码久久久久久郑州公司| 无码aⅴ免费中文字幕久久| 国产精品亚洲一区二区在线观看 | 三上悠亚久久精品| 亚洲熟妇色xxxxx欧美老妇y| √最新版天堂资源在线| 99精品国产闺蜜国产在线闺蜜| 成年毛片18成年毛片| 亚洲综合一区二区三区久久| 亚洲男人综合久久综合天堂| 亚洲国产精品成人综合色| 欧美日韩亚洲tv不卡久久| 99在线播放视频| 国产69精品一区二区三区| 亚洲第一女人天堂av| 国产精品国产高清国产专区 | 久久女人精品天堂av影院麻| 日本入室强伦姧bd在线观看| 日日碰狠狠丁香久燥| 国产一区二区欧美丝袜| 免费精品人妻一区二区三区| 人妻仑乱a级毛片免费看| 色偷偷久久一区二区三区| 99国产精品视频无码免费| 亚洲av日韩一区二三四五六七| 蜜桃视频在线在线观看| 手机在线亚洲精品网站| 夜夜未满十八勿进的爽爽影院| 亚洲一区二区三区在线网站| 国产av普通话对白国语| 精品人妻一区二区三区浪人在线| 午夜成人精品福利网站在线观看 | 蜜桃成熟时在线观看免费视频| 国产伦精品一区二区三区|