《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 設計應用 > 基于主控同步的CAN總線多點實時數據采集技術
基于主控同步的CAN總線多點實時數據采集技術
2016年微型機與應用第18期
王軍1,2,曾獻輝1,2
1. 東華大學 信息科學與技術學院,上海 201620; 2.數字化紡織服裝技術教育部工程研究中心,上海 201620
摘要: RS-485總線與CAN總線是工業現場數據采集最常用的有線組網方式,它們均有各自的局限性。針對一類多節點網絡的數據實時采集問題,提出了基于主控同步的CAN總線多點實時數據采集技術,將RS485總線主控思想應用于CAN總線的數據通信中,通過對各節點發送數據時間的同步,有效地避免了節點間數據沖突問題。實驗結果證明了該方案能有效地提高數據傳輸的實時性和可靠性,解決了CAN總線訪問沖突。
Abstract:
Key words :

  王軍1,2,曾獻輝1,2

  (1. 東華大學 信息科學與技術學院,上海 201620; 2.數字化紡織服裝技術教育部工程研究中心,上海 201620)

       摘要:RS-485總線與CAN總線是工業現場數據采集最常用的有線組網方式,它們均有各自的局限性。針對一類多節點網絡的數據實時采集問題,提出了基于主控同步的CAN總線多點實時數據采集技術,將RS485總線主控思想應用于CAN總線的數據通信中,通過對各節點發送數據時間的同步,有效地避免了節點間數據沖突問題。實驗結果證明了該方案能有效地提高數據傳輸的實時性和可靠性,解決了CAN總線訪問沖突。

  關鍵詞:數據采集;CAN總線;主控同步;實時性

0引言

  現場數據采集一般有CAN總線與RS485總線[1]兩種有線組網方式,但是RS485采用主從多址輪詢的方式,實現多址接入,輪詢周期隨著節點數量的增大而加長,影響數據傳輸的實時性。而CAN總線是一種有效支持分布式控制或實時控制的串行通信網絡,它可靠性高,且網絡內的節點個數在理論上不受限制,各節點之間實現自由通信。CAN總線[2-3]具有多主發送、采用確定性的優先級仲裁機制等特點,保證了CAN總線數據通信的可靠性、實時性和靈活性。在數據通信過程中,如果出現碰撞,低優先級的節點會主動退出,而最高優先級的節點可以不受影響繼續傳輸數據,從而大大節省了總線訪問沖突[45]仲裁時間,保證了傳輸數據的實時性。但是,在數據采集這種特殊環境下,由于各個節點的數據的優先級都是相同的,因此本文在標準CAN總線的基礎上,結合RS485的工作模式,提出了基于主控同步的CAN總線多點實時數據采集技術,它可以解決數據采集過程中總線沖突的問題,提高數據傳輸的可靠性與實時性。

  1RS-485工作模式

  RS-485是半雙工的工作模式,任何時候只能有一點處于發送狀態,它采用主從式多址輪詢方式實現多址接入,也就是說所有的節點共用一條總線,主節點按照地址依次輪流查詢各個從節點,被查詢的從節點返回數據或者空操作。由此可以看出,隨著節點的增多,輪詢的周期也會變長,這對數據的實時性傳輸具有很大的影響。RS-485的網絡結構示意圖如圖1所示。

圖像 001.png

2CAN總線協議和仲裁機制

  CAN是一種有效支持分布式控制或實時控制的串行通信網絡,CAN總線具有多主發送、采用確定性的優先級仲裁機制等特點,保證了CAN總線數據通信[6-7]的可靠性、實時性和靈活性。CAN總線的網絡結構示意圖如圖2所示。

圖像 002.png

  報文信號使用差分電壓[8]傳送,可以提高CAN總線傳輸數據的可靠性和傳輸距離。兩條信號線分別為CANH與CANL。這兩根線之間的電位差可以對應兩個不同的邏輯狀態進行編碼。如果CANH-CANL>2,此時狀態表示為邏輯 0,也可以叫作顯性。如果CANH-CANL=0,此時狀態表示為邏輯1,也可以叫作隱性。當總線上2個不同節點在同一位時間分別強加顯性和隱性時,總線上呈現顯性位,即顯性位可以覆蓋修改隱性位。電平標稱值如圖3所示。

圖像 003.png

  在數據傳輸過程中,如果出現碰撞,低優先級的節點會主動退出,而最高優先級的節點可以不受影響繼續傳輸數據,從而大大節省了總線沖突仲裁時間,保證了傳輸數據的實時性。但是這種靜態優先級機制[9-10]的一個缺點就是不能均等地為高優先級和低優先級站點分配帶寬,在網絡負載很大時,低優先級站點會在多次競爭總線使用權時失敗,從而導致低優先級站點消息傳輸產生不確定的延時,甚至無法發送。而在數據采集的環境下,各個節點采集到的數據沒有優先級之分,所以CAN總線的靜態優先級機制對于數據采集來說并不是最好的機制。

3主控同步的CAN總線

圖像 004.png

  CAN總線的特點之一就是多主發送,各個站點在任何時候都可以隨機發送數據,如果在某一個時刻有2個或2個以上的站點要發送數據,就要通過非破壞性仲裁機制進行仲裁來競爭總線的使用權,標識符數值小的站點即優先級較高的站點可以獲得總線使用權,競爭失敗的站點則需等待下次重新競爭。在數據采集中,每個節點的優先級都是相同的,所以本文提出了主控同步的CAN總線多點實時數據采集技術,流程圖如圖4所示。

  RS-485是主從結構,采用主從輪詢的方式,主節點依次詢問每個從節點。主從同步的CAN總線就是將主控節點應用在CAN總線上。

  3.1靜態主控同步CAN總線

  靜態主控同步CAN總線就是對CAN總線上的所有節點進行編號分別為1,2,3,…,n,所有節點都發送1次數據的時間稱為周期T,每個節點發送數據時間為t=T/n,主控節點可以控制開始發送數據的時間,在總線空閑時,總線廣播一次,此時可以發送數據,然后所有節點依次在自己規定的時間發送數據,第一個節點發送數據的時間為0-T/n,如果它的數據沒有發送完就停止發送,則在T/n時刻第二個節點開始發送數據,在2T/n時刻第三個節點發送數據,以此類推下去,直到最后個節點發送完數據,只要保證T/n合適,就可以讓每個節點順利地傳輸數據。每個節點發送數據的時刻與時間段如圖5所示。

圖像 005.png

  CAN總線上的節點并不一定都是同時在線或者不在線,有可能突然故障或者斷線,也有可能突然上線,這樣節點發送數據就容易產生沖突。所以規定每個節點都是T/n的時間,不管該節點是否在線都占用T/n的時間段,以此來避免某個節點上線或者下線產生沖突。這是最簡單的也是最容易實現的結構,雖然提高了數據傳輸的可靠性,但是會浪費時間,不管幾個節點在線都需要一個周期T的時間才能進行下次數據的發送,傳輸的效率不高,對數據的實時性有一定的影響。

  3.2動態主控同步CAN總線

  由于靜態主控同步的缺陷性,在其基礎上本文又提出動態主控同步CAN總線來提高數據發送的實時性。在CAN總線初始化的時候,所有在線節點給主控節點報告自己在線的信息,此時,主控節點知道總線中所有節點的狀態,然后將所有節點狀態廣播給每個節點。總線上所有上下線的節點如圖6所示。

圖像 006.png

  假如此時3和4號節點未上線,其余都正常上線且不會突然下線,那么,1號和2號正常發送數據,5號節點在2t~3t時間段內發送數據,其余的依次類推,則所有節點發完一次數據的時間為T-2t,比靜態主控同步少了2t,總線的周期從T變成了T-2t,提高了數據傳輸的實時性。w是每個上線節點給主控節點匯報所需要的時間,V=Xw,X是不在線節點的個數,Y為在線節點的個數,X+Y=n,Y×t=T1。在實際情況中不可避免地會出現某些節點(假如節點5)突然下線的情況,如圖7所示。

圖像 007.png

  此時如果節點5突然從在線變成下線,所有節點收到的廣播還是只有3和4不在線,其余都在線,那么5號節點仍會占用一個t,6號節點仍然在第4個時間段t發送數據,保證了所有節點都可以按照自己的編號依次發送數據,當所有在線節點發送完數據后,主控節點根據收到的數據就可以判斷哪些節點(例如5號節點)中途下線,然后將這些信息再廣播到總線,之后其余在線節點就可以調節自己發送數據的時刻,那些下個周期下線的節點(5號)就不占用時間段,從而減少了時間的浪費,縮短了數據發送時間周期。

  某個節點(4號)突然上線時,此時主控節點廣播的時候還是3與4號節點不在線,其余節點都在線的狀態,如圖6所示。此時如果4號節點突然上線,但是所有節點收到的廣播還是3與4號節點不在線,實際上4號節點已經在線,如圖8所示。

圖像 008.png

  所有節點在依次發送完數據后會暫停時間段V,使得上線節點可以及時向總線匯報,使其在下個周期可以發送數據。

  開始時主控節點廣播當前上線和下線的節點,每個在線節點收到的信息應該還是3和4號節點不在線,其余節點都在線,而實際上4號節點已經上線,要將自己的狀態匯報給主控節點,如果沒有緩沖時間片V,在2號節點發送完數據后5號節點發送數據,此時就會出現5號節點發送數據,同時4號節點也發送自己上線的信息,從而發生沖突。時間片V就解決了發送數據與匯報狀態的沖突問題。如圖8所示,如果只有3和4號節點不在線,那么V=2w,在第一個w里,由于4號節點上線,會向主控節點匯報自己在線,下個周期主控節點會將最新的從節點狀態廣播到總線上,因此從節點會重新安排上線節點(4號)發送數據的時刻與順序。如果出現連續兩個節點上線,那么這兩個節點就會出現仲裁,號數小的節點會優先向主控節點匯報,號數大的節點在下個w時間段內匯報給主控節點。這樣就解決了匯報狀態與發送數據的沖突問題。下個周期主控節點會刷新節點狀態廣播給所有的在線節點,剛上線的節點就擁有一個t時間段來發送數據,這樣就解決了動態主控同步CAN總線的節點突然上下線的問題。

4設計仿真實驗及結果分析

  為了驗證在數據采集時,主控同步的CAN總線可以解決沖突問題和提高數據可靠性,設計了圖9所示的仿真平臺。

圖像 009.png

  主控同步的CAN總線在采控集數據時,當時間周期為T時,所有節點都發送一次采集的數據的時間就是T,T越小,每個節點所分到的時間t就越短,當T小到某一個值時,可能會出現所有節點的數據都無法發送完,就會出現數據采集失敗。所以只有當t≥tmax時,每個節點都可以順利地向總線發送數據,tmax為所有測試節點中正常發送數據所需時間最長的時間。同時T=T1+V=Yt+Xw,由于w<t,因此T=T1+V<nt,隨著X的增多,Y的減少,T=T1+V越來越小,動態地減小了數據發送的周期,提高了實時性。

  對于標準CAN,由于每個節點之間是不相關的,因此它們是獨立同分布的。假設總線空閑時每個節點發送數據的概率為P,數據發送過程中會發生沖突的概率為Px,總線空閑同時也沒有節點發送數據的概率為P0=C0nP0(1-P)n,總線空閑同時只有一個節點會發送數據的概率為P1=C1nP1(1-P)n-1,則Px=1-P0-P1=1-C0nP0(1-P)n-C1nP1(1-P)n-1=1-(1-P)n-nP(1-P)n-1。但是主控同步的CAN因為主控節點的緣故使得發生沖突的概率為0。標準CAN與主控同步CAN的實驗結果對比如表1所示。

圖像 010.png

  通過表1對比可以看出主控同步CAN總線的沖突的概率為0,優于標準CAN,靜態主控同步CAN的數據傳輸的實時性比動態的差,因為在t和w變化的條件下,X和Y也動態地變化,從而動態地改變了總體消耗的時間T=T1+V,最終提高了數據傳輸的實時性,由此看出動態主控同步CAN更加適合數據采集的環境。

5結論

  本文通過分析RS485和CAN總線的仲裁機制,在標準CAN的基礎上提出了基于主控同步的CAN總線,它能

  夠解決數據沖突的問題,避免了仲裁,提高數據傳輸的實時性與可靠性。靜態主控同步的CAN總線可以提高數據的可靠性,但是會浪費一些時間段T/n,所以在此基礎上提出了動態主控同步的CAN總線。通過對比發現,動態主控同步可以提高數據傳輸的實時性和可靠性,所以在數據采集這個特殊的背景下,動態主控同步的CAN總線有著自己獨特的優勢。

  參考文獻

  [1] 彭剛,徐慶江.基于STM32單片機的RS485總線分布式數據采集系統設計[J].伺服控制,2011(2):64-66.

  [2] 龍志強.CAN總線技術與應用系統設計[M].北 京: 機械工業出版社,2013.

  [3] 鄧婕.CAN 總線通信原理分析[J].電子設計工程,2012,20(7):104-106.

  [4] 劉向明,方建安.CAN總線網絡的實時性研究和改進[J].現代電子技術,2011,34(22):46-49.

  [5] DVIS R I,BURNS A,BRIL R J,et al.Controller area network (CAN) schedulability analysis:refuted,revisited and revised[J].RealTime Systems,2007,-35(3):239-272.

  [6] 紀文志,陳國忠,唐加山.基于 CAN 總線智能節點的設計與實現[J].微型機與應用,2012,31(2):44-46.

  [7] 陳瑛,宋俊磊,王典洪.CAN 總線在野外地震數據傳輸中的應用[J].電子技術應用,2013,39(9):34-36.

  [8] 牛躍聽.CAN總線應用層協議實例解析[D].北京:北京航空航天大學,2014.

  [9] 孫鵬,沈顯慶,周杰.CAN總線協議的改進及 性能驗證[J].現代科學儀器,2010(5):35-37.

  [10] 陳飛,謝建.基于CAN總線的網絡監控系統調度算法研究與改進[J].計算機與現代化,2015(1):92-95.


此內容為AET網站原創,未經授權禁止轉載。
主站蜘蛛池模板: 亚洲欧美日韩国产专区一区 | 亚洲图片视频在线观看 | 欧美一区日韩精品 | 成年视频在线播放 | 777久久| 亚洲国产午夜精品理论片的软件 | 我想看一级黄色大片 | 亚洲国产成人久久精品动漫 | 久久亚洲成人 | 黄色在线观看视频网站 | 亚洲国产成人精品一区二区三区 | 亚洲精选在线观看 | 丁香在线 | 久久精品成人国产午夜 | 中国一级毛片特级毛片 | 热e国产| 欧美日韩视频一区二区在线观看 | 激情文学综合丁香 | 特级毛片永久久免费观看 | 国产欧美日韩专区 | 久久亚洲最大成人网4438 | 成 人 黄 色 视频165 | 澳门毛片免费播放 | xxxxxx日本人免费 | 日本一区二区不卡久久入口 | 高清女女同性一区二区 | 日日操日日摸 | 国产真实伦偷精品 | 欧美cao| 久久免费网| 性无遮挡高清视频免费 | 黄黄的网站在线观看 | 波多野结衣四虎精品影库 | 一级做a爱片久久蜜桃 | 亚州国产| 在线免费视频你懂的 | 夜夜爽66| 亚洲中字| 日本黄色链接 | 国产成人福利免费视频 | 韩国视频在线 |