《電子技術應用》
您所在的位置:首頁 > 通信與網絡 > 業界動態 > 在RS485總線上用沖突檢測方式實現對等網數據傳輸

在RS485總線上用沖突檢測方式實現對等網數據傳輸

2009-09-08
作者:段 騫

  摘? 要: 利用以太網的沖突檢測方式在RS485總線上連接的多個設備之間采用多主方式對等傳輸數據,并給出了這種方法的硬件設計方案和軟件流程。

  關鍵詞: RS485總線? 對等網? 沖突檢測

?

  目前以RS485總線為基礎組建的各類網絡中,多采用主從式通信。但在一些組網中,采用對等式的通信方式更符合設計要求,效率更高。例如在一套由人機接口、紅外控制模塊(用于遙控家電)、三表集抄模塊、安防模塊和家居網關服務終端(與互聯網及電話相聯)等組成的智能家居服務系統中,該家居系統內部采用什么樣的數據傳輸方式,怎樣可靠和高效地傳輸數據,對整個家居系統的正常運轉至關重要。因為總線上發起通信的數據有外界的遙控指令、人機接口處傳來的控制和查詢指令以及一些模塊主動上傳的指令(如報警),這些指令大多數是隨機的,若采用主從式難以符合要求,而采用多主方式的對等網可以符合數據傳輸的要求,使數據及時發送。同時由于各個設備是對等的關系,實行分布式控制,所以一個模塊損壞,不會影響其他模塊工作,因此不存在主站損壞導致整個通信線路癱瘓的問題,從而使通信的可靠性大大增加。

1? 多主式對等網數據傳輸方案的選擇

  在采用多主方式后,掛接在總線上的各設備之間是對等的關系,各節點在發送數據時存在總線競爭問題,需要考慮設備之間的優先發送數據問題以及傳送效率問題。要解決總線競爭問題,可以考慮用以太網的沖突檢測方案或令牌總線方案。在以太網的沖突檢測方案中,當總線上有不同節點同時發送數據時,會由于信號疊加而造成信號紊亂,即信號的沖突。要避免這種情況,節點在發送數據前要偵聽一下總線是否忙,不忙時才發送,以減少沖突。當發生沖突時,可以用二進制指數退避算法來解決沖突。令牌總線方案是通過令牌的傳送來控制每個節點發送的時間,從而解決總線的競爭。它雖然不存在沖突問題,但要不斷地傳送令牌,某一節點要發送數據,必須等到獲得令牌才能發送,這會延誤重要數據的發送,并加大數據量和等待時間。在輕載荷時效率低,而且其協議比沖突檢測方案復雜,初始化時間長。綜合考慮,以太網的沖突檢測方案在輕載荷時效率高,且協議較令牌總線方案簡單。考慮到智能家居項目中總線上負荷不大,沖突量少,因此采用以太網的沖突檢測方式來實現多主方式數據傳輸。

2? 多主式數據傳輸的硬件設計

2.1 器件的選擇

  系統的主控單片機采用AT89C52。AT89C52能夠與51系列單片機兼容,具有8KB Flash程序存儲器、256B數據存儲器,以及串口中斷和定時器。這些完全能夠滿足系統對中斷、數據存儲器和程序存儲器容量的需求。RS485收發器可考慮用SN75LBC184,該芯片具有很好的抗干擾性能,可靠性高。

2.2 設計原理

  硬件原理圖如圖1所示。單片機AT89C52的串口數據線與SN75LBC184的收發端口相連。SN75LBC184的使能端由單片機I/O口控制,通過RS485收發器進行單片機信號與RS485信號的轉換。利用AT89C52有一個全雙工串口通信端口的特性,在發送1個字節后,緊接著從總線收一次數據,并比較2個數據是否相同。若相同,則認為沒有產生沖突;否則認為產生了沖突,去執行相應的沖突處理。此時RS485收發器要收發同時使能,可讓收(/RE)一直使能,發使能(DE)用一個單片機I/O口(P11)控制。為了減小RS485總線上的盲區狀態,加強通信的可靠性,在RS485總線的出口處加3個保護電阻,分別是上拉電阻750Ω、接地電阻750Ω和2條信號線之間的電阻130Ω。

3?多主式數據傳輸的軟件設計

  下面將介紹采用RS485總線組建對等網,利用沖突檢測方式傳送數據的原理及軟件流程。該總線傳輸速率為38.4kbps,采用多主發送方式。

3.1 發送流程

  由于采用類似以太網的沖突檢測方式來發送數據,因此為了減少沖突,數據在發送之前應先進行總線偵聽,即確定總線是否有數據正在發送。若有,則等待到線路空閑;否則可發送,這樣可以減少沖突發生的概率。按傳輸速率為38.4kbps計算,每位的發送時間為26μs,以每個字節為10位計(起始位和結束位各1位,數據位8位),則發送每個字節需260μs。發送1幀32字節數據最少需8320μs。在總線偵聽時,若500μs沒有接收中斷,則認為總線空閑,可以發送數據,等待時間很短,在數據量小時效率高。當某些數據幀要求有回應時,要發送回應幀,若回應幀滿足以下條件:

  (1)發送1個字節要260μs,1幀最大32字節數據至少要8320μs,取10ms。

  (2)對方接收到的時間取10ms。

  (3)程序處理時間取10ms。

  (4)對方發送時間按10次沖突算,則(210-1)×3×500=1534500,取1.54s。

  (5)接收回應幀時間10ms。

  則等待時間T=10+10+1534+10=1564ms,可取1.6s。

  若要求回應幀的數據等待一段時間后還沒收到回應幀,則重發數據,這樣可減少誤碼率。若多次無法通信,則各裝置要置出錯信息,作相應處理或向外界報警。具體發送流程如圖2所示。當有數據要發送時,先判斷線路是否忙,若不忙,則可以發送數據。在發送途中檢測是否有沖突,若在發送中發現有數據沖突,則進行沖突處理,算出退避時間,等待退避時間后重傳數據,最多10次;若無沖突,則發送完成,在設定的時間內等待回應幀,若在規定時間內沒收到回應幀,則置相應標志選擇重傳本幀數據或放棄;若收到回應幀,則本次通信成功。

?

3.2 接收流程

  串口通信采用異步傳送方式。字符是按幀格式進行傳送的,每幀數據中起始位和結束位各占1位(用于建立發送與接收之間的同步),數據位8位,無校驗位。接收流程圖如圖3所示。在串口收到數據后,按格式去判別所接收的數據是否正確,即先找到起始符,然后判斷是否為發給自己的數據,并按自定義協議的數據要求和范圍逐個進行檢驗。若為有效數據則放入接收緩沖區,置接收標志,讓應用層處理,有需要回應的,應用層處理完后發送相應的回應幀。對接收到的數據進行處理時,先看是否符合通信格式,CRC校驗是否通過,然后才譯碼。若其中一個數據不合要求,就清緩沖區,認為數據無效,有些數據需返回錯誤信息。在通信中可能有一些異常狀態,如接收數據出錯或1幀數據沒有收完。在此情況下,若數據之間的間隔超過最大等待時間,則需把接收數據緩沖區清空,認為數據無效。

?

3.3 沖突檢測流程

  若2個設備同時在空閑的電纜上發送數據,就會發生數據沖突,此時系統要能檢測出總線上的沖突。在發送時把數據賦給一個變量,進入發送中斷后等待接收中斷標志(若超時也認為發生了沖突),然后從串口取數,與變量中的數比較即可判斷有無沖突。沖突檢測流程圖如圖4所示。進入串口中斷后,如果是發送中斷,則清TI(發送中斷)標志,等待RI(接收中斷)標志。若超過設定時間(500ms)沒收到RI標志為1的信號,則認為發生了沖突。在接收到RI標志后,把串口緩沖區的數據與發送前存的數據比較,若二者相同,則不存在沖突;若不同,則認為發生了沖突。

3.4 沖突處理流程

  在發送數據中,若檢測到一次收發數據不同,就認為總線上有數據沖突,要進行沖突處理。沖突處理流程圖如圖5所示。發送過程中,當檢測到總線上有數據沖突,則所有設備停止發送,計算出等待的時間,退出串口中斷,在等待一段退避時間后,重新發送。等待時間的計算采用改進的二進制指數退避算法。

?

  在二進制指數退避算法中退避時延T=(2i-1)×基本時間間隔×優先系數。

  其中i為沖突次數,最大取10,基本時間間隔定為500μs。優先系數是考慮讓一些重要數據在發生沖突后可以優先發出,各站中越重要的數據優先系數越低,這是對以太網二進制指數退避算法的改進。優先系數根據系統需求確定。根據總線上各設備的情況,以智能家居系統為例,可考慮把通信信息優先級分為3級。如安防報警信息優先級別最高,優先系數最小,可設為1,其他設備的優先系數可根據情況設為2或3。當發生一次沖突時,安防優先系數為1,基本時間間隔取500μs。當等待500μs后,若總線空閑,則可重新發送,即只等待1ms。計算后的計數值在單片機的定時器中計數,計時時間到,則再次總線偵聽,發送數據。

4? 結束語

  該方案已經在一套智能家居系統中得到實現,同時也可作為其他項目的通信參考方案。該方案不僅可在RS485總線上使用,經一定的修改之后還可以用于電力載波等方式,因此具有很好的兼容性。

?

參考文獻

1? Forouzan B,Coombs C,Fegan S C著,潘仡,朱丹宇,周正康譯.數據通信與網絡.北京:機械工業出版社,2000

2? FAILSAFE Biasing of Differential Buses.National?Semiconductor Corporation,1998

本站內容除特別聲明的原創文章之外,轉載內容只為傳遞更多信息,并不代表本網站贊同其觀點。轉載的所有的文章、圖片、音/視頻文件等資料的版權歸版權所有權人所有。本站采用的非本站原創文章及圖片等內容無法一一聯系確認版權者。如涉及作品內容、版權和其它問題,請及時通過電子郵件或電話通知我們,以便迅速采取適當措施,避免給雙方造成不必要的經濟損失。聯系電話:010-82306118;郵箱:aet@chinaaet.com。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美一区二区高清| 午夜精品久久99蜜桃的功能介绍| 一区二区三区蜜桃网| 亚洲福利免费| 狠狠色狠狠色综合日日五| 国产欧美精品xxxx另类| 国产精品久久久久aaaa九色| 欧美日本一区二区三区| 欧美国产精品久久| 欧美精品午夜视频| 欧美另类高清视频在线| 欧美日韩三级视频| 欧美特黄一级| 国产精品久久国产愉拍| 国产精品久久久久久久久久免费| 欧美午夜一区二区| 国产精品久久久久99| 国产精品一二三四| 国产日韩精品一区二区三区在线| 国产精品尤物| 国产亚洲精品久久久| 国产日韩欧美成人| 国产一区二区三区直播精品电影| 国产主播一区二区| 尤物九九久久国产精品的特点| 亚洲第一页中文字幕| 亚洲精品乱码久久久久久蜜桃麻豆| 亚洲精品少妇30p| 国产精品99久久久久久久久久久久| 亚洲视频axxx| 欧美一区二区免费| 亚洲国内高清视频| 一本色道久久综合亚洲精品不| 中文一区在线| 午夜一区二区三区不卡视频| 欧美制服第一页| 开心色5月久久精品| 欧美精品久久久久久久久久| 欧美天天视频| 国产欧美在线看| 亚洲二区视频在线| 亚洲视频综合| 久久国产一区二区| 99视频热这里只有精品免费| 亚洲一级网站| 久久久久久九九九九| 欧美国产日韩精品| 国产精品日韩在线| 在线观看亚洲视频| 亚洲网友自拍| 亚洲国产精品一区二区第一页| 99热在线精品观看| 欧美一区二区三区喷汁尤物| 久久中文欧美| 欧美四级剧情无删版影片| 国产亚洲人成网站在线观看| 亚洲黄色影片| 一级日韩一区在线观看| 久久国产精品高清| 亚洲视频一二| 美女图片一区二区| 国产精品久久网| 亚洲国产高清视频| 亚洲综合导航| 亚洲免费电影在线| 久久久www成人免费无遮挡大片| 性色av一区二区三区在线观看 | 欧美视频日韩视频| 国产视频一区在线观看| 亚洲人体大胆视频| 久久国产精品久久久久久电车| 亚洲激情在线激情| 欧美一区二区免费视频| 在线视频一区观看| 久热精品视频在线观看一区| 欧美日本亚洲韩国国产| 国内视频一区| 亚洲视频精品| 亚洲免费观看在线观看| 久久成人精品无人区| 欧美日韩xxxxx| 精品福利电影| 午夜精品久久久久影视| 中文有码久久| 免费观看成人www动漫视频| 欧美日产一区二区三区在线观看 | 亚洲欧美激情诱惑| 一区二区成人精品 | 日韩一级成人av| 久久天天躁狠狠躁夜夜爽蜜月| 欧美视频一区二区三区四区| 激情欧美日韩一区| 亚洲综合精品一区二区| 在线亚洲欧美| 老司机久久99久久精品播放免费| 国产精品入口夜色视频大尺度 | 欧美三级网址| 伊人成年综合电影网| 亚洲欧美成人精品| 亚洲私人影院在线观看| 欧美专区中文字幕| 欧美性生交xxxxx久久久| 亚洲人成毛片在线播放女女| 亚洲欧美影音先锋| 午夜国产不卡在线观看视频| 欧美视频一区二区在线观看| 最新国产成人在线观看| 老司机精品导航| 欧美激情一区二区三区不卡| 好吊日精品视频| 性亚洲最疯狂xxxx高清| 小黄鸭精品aⅴ导航网站入口 | 国产一区二区久久久| 香蕉久久久久久久av网站| 亚洲免费一区二区| 欧美久久久久中文字幕| 国产真实精品久久二三区| 欧美在线亚洲一区| 久久亚洲午夜电影| 在线观看91精品国产入口| 亚洲国产高清视频| 蜜桃伊人久久| 亚洲欧洲一区二区三区在线观看 | 亚洲精品1区2区| 你懂的亚洲视频| 亚洲国产一区二区三区a毛片| 亚洲国产精品一区制服丝袜 | 欧美高清视频www夜色资源网| 在线观看国产成人av片| 亚洲午夜精品一区二区三区他趣| 亚洲专区欧美专区| 国产精品亚洲综合色区韩国| 亚洲永久免费精品| 久久久久国产一区二区三区四区| 国产主播精品| 亚洲精品乱码久久久久久蜜桃91| 欧美激情精品久久久久久变态| 亚洲精选国产| 亚洲一区二区视频| 国产老肥熟一区二区三区| 香蕉成人啪国产精品视频综合网| 久久激情视频| 亚洲大胆女人| 亚洲天堂男人| 国产精品永久免费| 久久狠狠婷婷| 欧美精品在线免费观看| 在线综合亚洲欧美在线视频| 正在播放亚洲一区| 国产欧美一区视频| 亚洲欧洲日韩在线| 欧美国产日韩一区二区| 一区二区三欧美| 久久成人精品电影| 亚洲大胆视频| 亚洲在线视频一区| 国产字幕视频一区二区| 亚洲日本久久| 国产精品福利网站| 欧美专区亚洲专区| 欧美日韩国产综合视频在线观看中文| 亚洲天堂av在线免费观看| 久久精品五月婷婷| 亚洲靠逼com| 欧美在线一区二区三区| 亚洲国产婷婷综合在线精品 | 久久国产精品一区二区三区四区| 久久综合九色综合欧美就去吻| 欧美午夜精彩| 欧美亚日韩国产aⅴ精品中极品| 亚洲欧美日韩精品久久| 免费日本视频一区| 一区二区三区四区国产精品| 久久精品国产视频| 亚洲伦伦在线| 久久精品视频va| 日韩天堂在线观看| 久久久噜噜噜久久中文字幕色伊伊| 伊人久久婷婷色综合98网| 亚洲精选视频在线| 国产亚洲福利一区| 一区二区三区蜜桃网| 国产亚洲一级| 亚洲综合精品自拍| 国产日本精品| 一区二区三区久久| 有码中文亚洲精品| 欧美在线|欧美| 亚洲人成人一区二区三区| 欧美伊人精品成人久久综合97| 亚洲国产一区二区精品专区| 欧美怡红院视频一区二区三区| 亚洲激情国产精品| 久久久久久999| 亚洲午夜免费视频| 欧美精品麻豆| 亚洲国产高清一区| 国产欧美日韩精品a在线观看| 一本色道久久综合狠狠躁的推荐| 韩曰欧美视频免费观看|