歡迎您訪問鄭州興邦電子股份有限公司官方網(wǎng)站!
阿里巴巴誠信通企業(yè)
全國咨詢熱線:40000-63966
興邦電子,中國水控機第一品牌

聯(lián)系興邦電子

全國咨詢熱線:40000-63966

售后:0371-55132951/55132952

工廠:河南省 鄭州市 高新區(qū)蓮花街電子電器產(chǎn)業(yè)園

基于CAN一卡通系統(tǒng)總線調(diào)度策略建模與仿真

文章出處:http://compasssalessolutions.com 作者: 人氣: 發(fā)表時間:2011年09月13日

[文章內(nèi)容簡介]:在設計一卡通系統(tǒng)線性混合總線調(diào)度算法的基礎上,運用網(wǎng)絡仿真系統(tǒng)OPNET設計了一種改進的CANCSMA/CA模型。應用該模型對所設計的總線調(diào)度算法的效率和穩(wěn)定性進行了仿真分析和比較。

    摘要:基于控制器局域網(wǎng)(CAN)的測控系統(tǒng)需要采用恰當?shù)目偩€調(diào)度策略以滿足數(shù)據(jù)傳輸?shù)膶崟r性要求,其建模與仿真能對網(wǎng)絡設計進行評估和優(yōu)化。在設計一卡通系統(tǒng)線性混合總線調(diào)度算法的基礎上,運用網(wǎng)絡仿真系統(tǒng)OPNET設計了一種改進的CAN CSMA/CA模型。應用該模型對所設計的總線調(diào)度算法的效率和穩(wěn)定性進行了仿真分析和比較。結果表明,該算法能夠有效地滿足一卡通系統(tǒng)數(shù)據(jù)傳輸?shù)膶崟r性要求。
    關鍵詞:一卡通系統(tǒng);CAN;總線調(diào)度;建模與仿真;OPNET

    控制器局域網(wǎng)(CAN,control area network)是基于事件觸發(fā)機制的多主系統(tǒng),需要根據(jù)實際系統(tǒng)的要求采用恰當?shù)目偩€調(diào)度策略以滿足數(shù)據(jù)傳輸?shù)膶崟r性要求[10]。

    在CAN總線調(diào)度策略的建模與仿真研究方面,Tindell和Wellings將固定優(yōu)先級排隊理論拓展到CAN上,建立了CAN數(shù)學模型[3],并逐步改善了CAN響應時間模型[4、5]。目前國內(nèi)在該領域的研究集中于模型的理論分析,且多基于CSMA協(xié)議,未能反映CAN CSMA/CA總線調(diào)度策略本質。筆者運用OPNET設計了一種改進的CSMA/CA模型,該模型能夠有效支持CAN總線調(diào)度策略仿真分析和比較。在此基礎上,對一卡通系統(tǒng)線性混合總線調(diào)度算法進行了仿真分析。結果表明該算法能夠很好地滿足一卡通系統(tǒng)數(shù)據(jù)傳輸?shù)膶崟r性要求。

    1基于CAN的一卡通系統(tǒng)

    1.1 CAN總線調(diào)度策略

    CAN總線的介質訪問控制方式為帶沖突避免的載波偵聽多址訪問(CSMA/CA)。在非破壞性總線逐位仲裁規(guī)則下,幀ID值越小,優(yōu)先級越高。因此,總線調(diào)度策略的實現(xiàn)依賴于幀ID的設計。

    1.2 CAN幀ID設計

    系統(tǒng)采用擴展幀,ID長度為29位。各域分配如圖1所示。

    D28一D24為優(yōu)先級動態(tài)(PD,priority dynamic)域。PD域占5位,根據(jù)CAN協(xié)議高速標準IS011898,一條CAN總線最多掛接30個節(jié)點,因此至少需要30個優(yōu)先級。

圖1 CAN幀ID

    D23~D16為POS機號域,系統(tǒng)中每個節(jié)點都有一個唯一的地址號,使用8位二進制數(shù)表示,最多容納256個終端POS機。優(yōu)先級最高的地址(全0)作為廣播地址,其他地址依次分配給各POS機。機號可以在POS機上設定,初始值為0,是系統(tǒng)中的唯一編號。

    D15~Dl為幀號域。一條應用層命令必須拆分成多個幀進行傳輸,第一幀的幀號為命令流水號,其后幀的幀號是前一幀的幀號加1。

    幀號域占15位,在聯(lián)機情況下,POS機在發(fā)送一幀后,會在其后的1024個幀間隔內(nèi)得到數(shù)據(jù)中心響應。根據(jù)系統(tǒng)應用層協(xié)議,一條應用層命令最多被拆分成23幀,為了避免屬于不同命令的兩個幀的幀號相同,規(guī)定每一命令流水號是前一命令流水號加32。

    D0為第1幀信息域,標識該幀是否為第l幀。若為第1幀,幀數(shù)據(jù)段第1字節(jié)為應用層命令字。D0為1表示第l幀;為0表示不是第l幀。

    1.3混合總線調(diào)度算法

    在1.2節(jié)描述的幀ID中,對于每一個幀,D23~DO是固定不變的,D28~D24根據(jù)幀已等待發(fā)送時間動態(tài)變化。據(jù)此設計了一種動態(tài)和靜態(tài)相結合的混合總線調(diào)度算法。

    根據(jù)實時性要求的不同,系統(tǒng)中不同POS機分配不同的初始發(fā)送優(yōu)先級PRI_INITi,i為節(jié)點編號。為不失一般性,設PD域占用的位數(shù)為n,則必須滿足PRI_INITi≤2n-1.分配PRI_INITi時,考慮POS機所屬的不同類型。系統(tǒng)由充值機和消費機構成,充值機實時性要求高于消費機,其PRI_INITi取較小值。

    節(jié)點開始發(fā)送幀時,把數(shù)值PRI_INITi復制到PD域,此時總線的狀態(tài)存在下面3種情況:

    ①若此時只有該節(jié)點偵聽到總線空閑,則成功發(fā)送;
    ②若此時有多個節(jié)點同時偵聽到總線空閑,根據(jù)仲裁規(guī)則,仲裁獲勝的節(jié)點繼續(xù)發(fā)送,仲裁失利的節(jié)點調(diào)整自身的發(fā)送優(yōu)先級,將欲發(fā)送的幀置入其發(fā)送等待隊列,同時轉入接收狀態(tài);
    ③若此時該節(jié)點偵聽到總線忙,則直接將欲發(fā)送的幀置人發(fā)送等待隊列,同時轉入接收狀態(tài)。
情況②中節(jié)點在仲裁失利后,采用下述策略調(diào)整發(fā)送優(yōu)先級。i為節(jié)點編號;M為在成功發(fā)送一幀過程中節(jié)點參與總線競爭總次數(shù);m為次數(shù)編號;J為所發(fā)送幀類型對應的調(diào)節(jié)比。幀類型與優(yōu)先級調(diào)節(jié)比的對應關系如表1所示。

    表1 幀類型與優(yōu)先級調(diào)節(jié)比對應表

    式(3)為一種抽象表達式,可選擇如下具體函數(shù)形式

    式(4)為線性混合總線調(diào)度算法,式(5)為常量混合總線調(diào)度算法。為比較混合調(diào)度策略與靜態(tài)調(diào)度策略,式(6)為靜態(tài)總線調(diào)度算法。

    2 CAN網(wǎng)絡建模

    2.1 CAN子網(wǎng)模型

    CAN子網(wǎng)有2個充值機節(jié)點,編號為1和2;28個消費機節(jié)點,編號從3到30;各節(jié)點編號用i表示,其初始發(fā)送優(yōu)先級為i-1。為了統(tǒng)計總線流量和吞吐率,增加一個統(tǒng)計節(jié)點,它只接收不發(fā)送幀。CAN子網(wǎng)拓撲結構如圖2所示。

CAN子網(wǎng)拓撲結構模型

圖2 CAN子網(wǎng)拓撲結構模型

    基于總線調(diào)度策略,圖2中充值機節(jié)點和消費機節(jié)點模型只考慮發(fā)送部分,如圖3所示。

 CAN子網(wǎng)節(jié)點模型

圖3 CAN子網(wǎng)節(jié)點模型

    圖3中,gen為節(jié)點信源模塊,根據(jù)擴展幀格式,幀最長128 b。因此packet size設置成constant(128)。

    2.2處理機模型

    在CSMA基礎上,引入總線調(diào)度策略,設計如圖4所示的改進的CSMA/CA處理機模型。

第1頁第2頁

本文關鍵詞:CAN一卡通,CAN總線,一卡通系統(tǒng),總線調(diào)度,CAN
回到頂部