- 相關推薦
一種實現載波監(jiān)聽多點接入/沖突檢測的多主RS485總線
摘要:提出了一種附加硬件設備,配合軟件實現了RS485總線上的載波監(jiān)聽多點接入/沖突檢測協議。滿足了系統的穩(wěn)定性和可靠性,并且提高了系統的實時性。關鍵詞:RS485總線 半雙工 載波監(jiān)聽多點接入/沖突檢測
智能儀表和現場總線的出現標志著工業(yè)控制領域網絡時代的到來,成為工業(yè)控制的主流。目前國際上已經出現了多種現場總線和相應的通信協議,但是其系統造價對于許多中小型應用仍顯過高。而RS485總線以其構造簡單、造價低廉、可選芯片多、便于維護等特點在眾多工業(yè)控制系統中得到應用。
1 RS485總線及現有工作方式的特點
RS485總線以雙絞線為物理介質,工作在半雙工的通信狀態(tài)下[1],即同一時刻,總線上只能有一個節(jié)點成為主節(jié)點而處于發(fā)送狀態(tài),其他所有節(jié)點必須處于接收狀態(tài)。如果同一時刻有兩個以上的節(jié)點處于發(fā)送狀態(tài),將導致所有發(fā)送方的數據發(fā)送失敗,即所謂總線沖突。為了避免總線沖突,RS485總線具有以下特點:
以工作模式來說,一般的RS485總線工作在主從模式下。整個通信總線系統由一個主節(jié)點、若干個從節(jié)點組成,由主節(jié)點不斷地輪流查詢從節(jié)點是否有通信需求。如果有則將總線控制權交給某一從節(jié)點,從節(jié)點發(fā)送完畢后立刻交還總線控制權。另外還有一種“輪主輪從”的工作方式,即讓總線控制權在各個節(jié)點間以類似令牌環(huán)的方式傳遞[3],得到控制權的節(jié)點成為主節(jié)點,其它節(jié)點成為從節(jié)點。一個節(jié)點在發(fā)送完數據的同時,將總線控制權交給相鄰的節(jié)點,而這個節(jié)點在處理完本節(jié)點的通信需求后再把控制權向下傳遞。令牌環(huán)式的RS485工作方式如圖1所示。
從通信節(jié)點來講,RS485總線上的節(jié)點必須具備將自己的驅動器切換到高阻態(tài)的功能?眼1?演,以便在發(fā)送完數據后不會對總線狀態(tài)造成影響。這種驅動器實行發(fā)送態(tài)—高阻態(tài)切換的一個影響是?押從發(fā)送數據完畢到設備切換為高阻態(tài),需要一個轉換延遲。這個轉換延遲是2線制通信中一個很重要的參數。這個時間不能太短,否則發(fā)出的字符的最后一部分因為尚未在總線上建立起來而導致丟失。同時這個時間也不能太長,否則在發(fā)送端還未轉為高阻態(tài)時其他設備已經開始發(fā)送數據,會導致總線沖突。因此2線制RS485總線上的主設備必須知道所有從設備的反應時間,并保證在從設備反應之前把驅動器設為高阻態(tài),以接收從設備的數據。常用設備的轉換延遲是當前波特率發(fā)送一個字節(jié)的時間。
以上為適應RS485總線的特殊之處而采用的工作方式也引入了一些不足。首先,上面提到的兩種總線工作方式在很多對實時性、可靠性要求高的工業(yè)控制場合有較大的局限性。主要原因是主從式總線的從節(jié)點無發(fā)起通信的權利,相互之間的通信需要通過主節(jié)點中轉。而“輪主輪從”總線上的各個節(jié)點由于等待總線控制權的時間未知,實時性也無法保證。同時,如果主從式的主節(jié)點或者是“輪主輪從”式的獲取令牌的節(jié)點出現故障,整個總線的工作將癱瘓,風險過于集中。其次,對驅動器實行“發(fā)送態(tài)—高阻態(tài)”切換以及考慮切換延遲等要求使編程變得復雜。在上電瞬間、CPU損壞或者是程序跑飛的情況下,還需要考慮復雜的故障保護等問題[2],否則將容易引起總線故障。
2 RS485總線上CSMA/CD的實現
為了解決各個節(jié)點主動獲取總線控制權的問題,人們想到了利用監(jiān)聽總線狀態(tài)的方式實現總線控制權的本地判斷和獲取,也就是CSMA/CD協議實際上做的工作[
[1] [2] [3]
【一種實現載波監(jiān)聽多點接入/沖突檢測的多主RS485總線】相關文章:
航空電子總線測試系統的設計與實現04-29
多串口卡·什么是總線接口04-26
多徑效應對GPS載波相位觀測量的影響04-30
基于USB總線通信數據采集器的設計與實現04-26
多點關心多點愛作文04-27
汽車安全檢測系統的設計與實現04-27