當前位置:首頁 > 通信技術 > 通信技術
[導讀]摘要:由于CAN總線的獨特優(yōu)勢,CAN已成為工業(yè)數據通信的主流技術之一,這就要求它具有良好的實時性和可靠性。但是隨著CAN總線控制網絡復雜化,控制節(jié)點的增多,帶寬分配不均問題也隨之凸顯,使得總線上低優(yōu)先級的站點

摘要:由于CAN總線的獨特優(yōu)勢,CAN已成為工業(yè)數據通信的主流技術之一,這就要求它具有良好的實時性和可靠性。但是隨著CAN總線控制網絡復雜化,控制節(jié)點的增多,帶寬分配不均問題也隨之凸顯,使得總線上低優(yōu)先級的站點數據傳輸延時增加。提出了動態(tài)優(yōu)先級算法,它能夠動態(tài)改變站點優(yōu)先級,解決帶寬分配不均問題,實現(xiàn)數據實時傳輸;簡要介紹時間觸發(fā)CAN(TTCAN)協(xié)議,并通過實驗與動態(tài)優(yōu)先級算法和標準CAN協(xié)議進行比較,得出網絡延時特征。
關鍵詞:實時性;動態(tài)優(yōu)先級;TTCAN;網絡延時

0 引言
    控制局域網(Controner Aera Net,CAN)是德國Boasch公司于1983年為汽車應用而開發(fā)的一種有效支持分布式控制的串行控制網絡。盡管CAN最初是為汽車電子系統(tǒng)設計的,但由于它在開放性和技術方面的獨特優(yōu)勢,在航天、電力、石化等領域都得到了廣泛應用。在火車、輪船、樓宇自動化、過程自動化儀表中,都有CAN技術的身影。CAN已成為工業(yè)數據通信的主流技術之一。
    CAN總線具有多主發(fā)送、采用確定性的優(yōu)先級仲裁機制等特點,保證了CAN總線數據通信的可靠性、實時性和靈活性。在數據通信過程中,如果出現(xiàn)碰撞,低優(yōu)先級的節(jié)點會主動退出,而最高優(yōu)先級的節(jié)點可以不受影響繼續(xù)傳輸數據,從而大大節(jié)省了總線沖突仲裁時間,保證了傳輸數據的實時性。但是這種靜態(tài)優(yōu)先級機制的一個缺點就是不能均等地為高優(yōu)先級和低優(yōu)先級站點分配帶寬,在網絡負載很大時,低優(yōu)先級站點會在多次競爭總線使用權時失敗,從而導致低優(yōu)先級站點消息傳輸產生不確定的延時,甚至無法發(fā)送。本文針對CAN的這個問題,在參考文獻的基礎上,結合消息型和事件型消息,提出了動態(tài)優(yōu)先級算法和基于時間觸發(fā)的TTCAN靜態(tài)調度算法。通過仿真實驗,將動態(tài)優(yōu)先級算法、靜態(tài)優(yōu)先級調度算法和標準CAN進行比較,得到網絡延時特性。

1 CAN協(xié)議幀及仲裁機制
    為了提高CAN總線傳輸數據的可靠性和傳輸距離,CAN采用差分方式輸出。雙絞線的一根為CANH,另外一根為CANL。CAN總線具有兩種邏輯電平:顯性電平和隱性電平。在傳輸一個顯性位時,總線呈現(xiàn)顯性狀態(tài);在傳輸一個隱性位時,總線呈現(xiàn)隱性狀態(tài)。隱性狀態(tài)時,CANH和CANL兩條線之間的差分電壓Vdiff近似為0;顯性狀態(tài)時,CANH和CANL兩條線之間的差分電壓Vdiff的幅值一般為2~3 V,明顯高于隱性狀態(tài)時的差分電壓值。CAN總線上的位電平如圖1所示。


    在CAN總線上,顯性位可以改寫隱性位。當總線上2個不同節(jié)點在同一位時間分別強加顯性和隱性時,總線上呈現(xiàn)顯性位,即顯性位可以覆蓋修改隱性位。顯性位一般表示邏輯0,隱性位一般表示邏輯。
    CAN采用載波監(jiān)聽多路訪問、逐位仲裁的非破壞性總線仲裁技術。按CAN總線上節(jié)點對實時性要求的緊急程度,可預先將節(jié)點分成不同的優(yōu)先級。優(yōu)先級編號越大,其站點的優(yōu)先級越低。優(yōu)先級編號作為標識符的組成部分被置于報文仲裁場。在總線仲裁期間,優(yōu)先級較低的節(jié)點會主動退出發(fā)送,而優(yōu)先級可不受影響繼續(xù)傳輸數據,簡化了總線的沖突仲裁過程,在一定程度上提高了通信的確定性和實時性。其仲裁規(guī)則為:
    (1)預發(fā)幀的字節(jié),當總線在空閑時同時發(fā)送幀且同步于SOF的上升沿;
    (2)各幀的標識符字段在總線同時相遇,借助總線使標識字段逐位“線與”,根據其結果進行沖突仲裁;
    (3)如果發(fā)送節(jié)點沒有檢測到沖突,則繼續(xù)發(fā)送下一位;
    (4)如果發(fā)送節(jié)點檢測到沖突,則立即中斷,不再繼續(xù)后面位的發(fā)送;
    (5)各標識字段逐位“線與”結束后,未監(jiān)測到沖突的字節(jié)便獲得優(yōu)先發(fā)送權,可以發(fā)送數據幀后邊的字段;如檢測到沖突的節(jié)點,則不能發(fā)送后邊的數據字段,而等待下一次發(fā)送。
    CAN數據幀由7個不同的位場組成,即幀起始、仲裁場、控制場、數據場、CRC場、應答場和幀尾。數據幀中數據場的長度可以為0。數據幀的位場排列如圖2所示。數據幀的結構有兩種格式,即標準格式和擴展格式。這兩種幀格式的主要區(qū)別在于標識符的長度,標準格式數據幀具有11位標識符,擴展格式數據幀具有29位標識符。本文以擴展格式為例進行論述。幀的開始有起始標志位表示,它僅由一個顯位組成;接下來是仲裁場,當發(fā)生沖突時,兩個不同優(yōu)先級站點同時競爭總線的使用權,并且由高位開始,逐位比較下去,當出現(xiàn)優(yōu)先級不同位時,標識符位為0的勝出,獲得總線使用權,所以標識符數值越小,優(yōu)先級越高。


    目前有很多文獻關于CAN協(xié)議的改進,基本都是局限于周期型消息的處理,但是在實際工業(yè)現(xiàn)場有很多諸如報警、故障等突發(fā)型消息,這些都是事件型消息,都未能有效處理?;诖耍疚募骖欀芷谛秃褪录拖?,以CAN 2.0B擴展幀格式為例,通過重新定義ID字段的含義來解決帶寬分配不均的問題。這種重新定義的幀并未改變擴展幀的格式,所以能與其他CAN系統(tǒng)兼容,如圖3所示。擴展格式幀的ID字段被重新定義為3個部分:類間優(yōu)先級域(1b)、類內優(yōu)先級域(8b)、內容標示域(20b)。


    圖3中,類間優(yōu)先級域為1 b,在實際應用中將0分給事件型消息,使其具有最高優(yōu)先級,將1分給周期型消息;類內優(yōu)先級域為8 b,用于標示同種類型消息的優(yōu)先級大小,數值越小,優(yōu)先級越高;內容標識符域為20 b,可以根據實際的需要對其進行定義,在類間優(yōu)先級和類內優(yōu)先級大小都一樣的情況少,也可進一步起到輔助仲裁的作用。

2 動態(tài)優(yōu)先級調度算法
    CAN總線的特點之一就是多主發(fā)送,各個站點在任何時候都可以隨機發(fā)送數據,如果在某一個時刻有2個或都2個以上的站點要發(fā)送數據,就要通過非破壞性仲裁機制進行仲裁來競爭總線的使用權,標識符數值小的站點即優(yōu)先級較高的站點可以獲得總線使用權,競爭失敗的站點則需等待下次重新競爭,當網絡負載較大時,優(yōu)先級較低的站點很可能在多次競爭中失敗,從而數據不能及時發(fā)送,或有時發(fā)送產生沖突有時順利發(fā)送,造成發(fā)送延時的不確定性,這就是帶寬分配不均所造成的。為了解決隨著網絡負載增加所造成的帶寬分配不均,本文提出了動態(tài)優(yōu)先級算法。動態(tài)優(yōu)先級算法是一種隨著時間推移動態(tài)改變各個站點優(yōu)先級的算法,與原有的靜態(tài)分配優(yōu)先級算法相比,該算法可使每個站點均等地競爭總線的使用權,即能夠均等地分配帶寬,從而保證消息的實時傳輸。方法如下:初始情況下各個站點均有事先分配好的優(yōu)先級,在不發(fā)生沖突的情況下,按原有優(yōu)先級來完成數據的傳送。當發(fā)生沖突之后,高優(yōu)先級站點可以順利完成數據發(fā)送,為了能讓競爭失敗的站點在下次競爭中成功的概率變大,可以將競爭失敗的站點提高一個優(yōu)先等級參加下次競爭,即使失敗了若干次,這時該站點的優(yōu)先級也很高了,競爭勝出的概率會很大。但是需要注意的是優(yōu)先級較低的站點在提高優(yōu)先級的情況下獲得總線使用權并順利完成數據發(fā)送之后,需要將優(yōu)先級降低為初始優(yōu)先級,以保證網絡的正常運行。
    如果把CAN總線上要發(fā)送數據的站點看成一個隊列,某個節(jié)點j在隊列的位置可表示為:
    Pj=P0-f(n)
    式中:Pj為節(jié)點j某時刻在隊列中的位置,即節(jié)點在此時刻的優(yōu)先級;P0為節(jié)點j在隊列中的初始位置,即初始優(yōu)先級。圖3中類內優(yōu)先級分配了8位,當優(yōu)先級最低時,P0=28-1=255;f(n)為優(yōu)先級晉升項,為關于競爭失敗次數n的函數,可取正比例函數、指數函數等。在本文中取的為正比例函數,即f(n)=kn,k為系數項,決定著晉升優(yōu)先級的快慢程度,一般取為CAN系統(tǒng)中節(jié)點的個數。由此可得:
    Pj=28-1-kn=255-kn
    采用該算法還可以避免當節(jié)點優(yōu)先級提高之后出現(xiàn)2個或2個以上優(yōu)先級相同的情況,例如,在某個網絡中節(jié)點個數為5,即k=5,所以Pj=255-5n,則各站點初始及晉升之后優(yōu)先級如表1所示。


    可見,在競爭失敗提升優(yōu)先級的情況下,不會出現(xiàn)優(yōu)先級相同的情況,因此不會產生相應的錯誤。該算法的實現(xiàn)流程圖如圖4所示。


    CAN網絡已經有很多控制芯片??刂菩酒梢酝瓿蒀AN協(xié)議轉換。要想通過動態(tài)優(yōu)先級來改進CAN實時性,就要針對不同芯片的應用特性來實現(xiàn)。本文的仿真是利用Philips公司的SJA1000來實現(xiàn)的。

3 TTCAN協(xié)議
    TTCAN(時間觸發(fā)CAN)是CAN協(xié)議的另外一種擴展,它依賴一個靜態(tài)的TDMA時間表來保證確定的響應時間。將系統(tǒng)中所有發(fā)送周期型數據的節(jié)點至少發(fā)送1次的時間稱為系統(tǒng)周期,系統(tǒng)周期又由n個基本周期組成。TTCAN中一個特殊的節(jié)點即時間主控節(jié)點周期性地發(fā)送使各個節(jié)點同步的消息,并且將CAN的通信分割在基本周期內。每個基本周期開始于一個參考消息,并且由下一個參考消息的開始作為結束。在每個基本周期內,主定時器又將每個基本周期的信道使用時間分為一個個的時間窗口,分給不同的信號,特定的信號只能在特定的時間窗口內進行傳輸,避免了信號之間的干擾,其結構如圖5所示。參考信息是由主定時器發(fā)送的,控制基本周期的時態(tài),它的發(fā)送表明一個基本周期的開始;獨占窗口是為特定信號預留的特定時問窗口,只有特定的信號才能在該時間窗口內傳輸,為了使系統(tǒng)具有一定的靈活性,獨占窗口在一個基本周期內可以重復出現(xiàn),但是為了保證數據傳輸的確定性,CAN幀的自動重發(fā)功能在獨占窗口內被禁止。分配給隨機發(fā)送信息的時間窗口叫競爭窗口,一個競爭時窗可以分配給多個信息幀,競爭時窗的數據碰撞采用CAN的位仲裁機制,在這里發(fā)送的每個信息幀都具有固定的優(yōu)先級,位仲裁機制決定網絡中哪個信息幀取得總線的訪問權。基于和獨占窗口相同的原因,CAN的自動重發(fā)機制也被禁止。自由窗口是為網絡的進一步擴展預留的窗口。

4 仿真實驗及結果分析
    為了驗證動態(tài)優(yōu)先級算法和TTCAN算法在提高CAN總線實時性方面的性能,設計了如圖6所示的實驗平臺。分析網絡延時時間,并進行兩種算法的性能分析。仿真系統(tǒng)設計8個節(jié)點,每個節(jié)點由AT89S52單片機、SJA1000和PCA82C250組成,通過向每個節(jié)點發(fā)送消息型和時間型消息,在改變網絡負載率的情況下,分別在標準CAN,TTCAN、動態(tài)優(yōu)先級算法3種調度算法下進行實驗,比較節(jié)點的延遲時間。


    向各個節(jié)點發(fā)送消息型和事件型信息幀各200幀,得到各幀的延遲時間,以其中一個節(jié)點為例,統(tǒng)計結果如表2所示。


    通過實驗數據可以看出,隨著負載率的升高,動態(tài)優(yōu)先級下周期型消息的延時時間也隨之增加,TTCAN下周期型消息的延遲時間很穩(wěn)定;隨著負載率的升高,動態(tài)優(yōu)先級下事件型消息的延遲時間增加較小,TTCAN下事件型消息的延遲時間明顯增加。動態(tài)優(yōu)先級調度算法相對于標準CAN調度算法,在網絡實時性方面有了一定的提高,隨著網絡負載率的增加,低優(yōu)先級節(jié)點獲得總線使用權的幾率增加。TTCAN調度算法能明顯降低周期型信息的延遲時間。

5 結語
    本文通過分析CAN協(xié)議、分析CAN總裁機制,提出了動態(tài)優(yōu)先級調度算法和TTCAN調度算法。通過搭建仿真平臺,比較數據幀在標準CAN、動態(tài)優(yōu)先級調度算法、TTCAN調度算法3種算法下的傳輸延遲時間得出如下結論:相同負載率下,TTCAN調度算法下周期型消息的傳輸延遲時間要比動態(tài)優(yōu)先級調度算法下周期型消息的延遲時間??;相同負載率下,動態(tài)優(yōu)先級調度算法下事件型消息的傳輸延遲時間要比TTCAN調度算法下事件型消息的傳輸延遲時間小。TTCAN調度算法適合于確定性硬實時系統(tǒng)的消息調度;動態(tài)優(yōu)先級算法可以靈活適應系統(tǒng)的變化,提高CAN網絡實時性的要求,減小優(yōu)先級較低站點的數據傳輸延遲。

本站聲明: 本文章由作者或相關機構授權發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點,本站亦不保證或承諾內容真實性等。需要轉載請聯(lián)系該專欄作者,如若文章內容侵犯您的權益,請及時聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或將催生出更大的獨角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關鍵字: 阿維塔 塞力斯 華為

加利福尼亞州圣克拉拉縣2024年8月30日 /美通社/ -- 數字化轉型技術解決方案公司Trianz今天宣布,該公司與Amazon Web Services (AWS)簽訂了...

關鍵字: AWS AN BSP 數字化

倫敦2024年8月29日 /美通社/ -- 英國汽車技術公司SODA.Auto推出其旗艦產品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開發(fā)耗時1.5...

關鍵字: 汽車 人工智能 智能驅動 BSP

北京2024年8月28日 /美通社/ -- 越來越多用戶希望企業(yè)業(yè)務能7×24不間斷運行,同時企業(yè)卻面臨越來越多業(yè)務中斷的風險,如企業(yè)系統(tǒng)復雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務連續(xù)性,提升韌性,成...

關鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據媒體報道,騰訊和網易近期正在縮減他們對日本游戲市場的投資。

關鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國國際大數據產業(yè)博覽會開幕式在貴陽舉行,華為董事、質量流程IT總裁陶景文發(fā)表了演講。

關鍵字: 華為 12nm EDA 半導體

8月28日消息,在2024中國國際大數據產業(yè)博覽會上,華為常務董事、華為云CEO張平安發(fā)表演講稱,數字世界的話語權最終是由生態(tài)的繁榮決定的。

關鍵字: 華為 12nm 手機 衛(wèi)星通信

要點: 有效應對環(huán)境變化,經營業(yè)績穩(wěn)中有升 落實提質增效舉措,毛利潤率延續(xù)升勢 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務引領增長 以科技創(chuàng)新為引領,提升企業(yè)核心競爭力 堅持高質量發(fā)展策略,塑強核心競爭優(yōu)勢...

關鍵字: 通信 BSP 電信運營商 數字經濟

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺與中國電影電視技術學會聯(lián)合牽頭組建的NVI技術創(chuàng)新聯(lián)盟在BIRTV2024超高清全產業(yè)鏈發(fā)展研討會上宣布正式成立。 活動現(xiàn)場 NVI技術創(chuàng)新聯(lián)...

關鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會上,軟通動力信息技術(集團)股份有限公司(以下簡稱"軟通動力")與長三角投資(上海)有限...

關鍵字: BSP 信息技術
關閉
關閉