rs-485總線通信系統的可靠性措施_第1頁
全文預覽已結束

下載本文檔

版權說明:本文檔由用戶提供并上傳,收益歸屬內容提供方,若內容存在侵權,請進行舉報或認領

文檔簡介

1、RS-485總線通信系統的可靠性措施一、問題的提出在工業控制及測量領域較為常用的網絡之一就是物理層采用 RS-485通口所組成的工控設備網絡。這種通口可以十分方便地將許多設備組成一個控制網絡。從目前解決單片機之間中長距離通信的諸多方案分析來看,RS-485總線通信模式由于具有結構簡單、價格低廉、通信距離和數據傳輸速率適當等特點而被廣泛應用于儀器儀表、智能化傳感器集散控制、樓宇控制、等領域。但 RS485總線存在自適應、自保護功能脆弱等缺點,如不注意一些細節的處理,常出現通信失敗甚至系統癱瘓等故障,因此提高 RS-485總線的運行可靠性至關重要。二、硬件電路設計中需注意2.1 電路基本原理某節點

2、的硬件電路設計如圖1所示,在該電路中,使用了一種 RS-485接口芯片 SN75LBC184,它采用單一電源 Vcc,電壓在35.5 V 范圍內都能正常工作。與普通的 RS-485相比,它不但能抗雷電的沖擊而且能承受高達8 kV 的靜電放電沖擊,片內集成4個瞬時過壓保護管,可承受高達400 V 的瞬態脈沖電壓。因此,它能顯著提高防止雷電損壞器件的可靠性。對一些環境比較惡劣的現場,可直接與傳輸線相接而不需要任何外加保護元件。該還有一個獨特的設輸入端電纜有開路故計,當輸入端開路時,其輸出為,這樣可保證障時,不影響系統的正常工作。另外,它的輸入阻抗為倍(24 k),故可以在總線上連接64個收發器。R

3、S485標準輸入阻抗的2設計了限斜率驅動,使輸出信號邊沿不會過陡,使傳輸線上不會產生過多的高頻分量,從而有效扼制電磁干擾。在圖1中,四位一體的光電耦合器 TLP521讓單片機與 SN75LBC184之間完全沒有了電的聯系,提高了工作的可靠性。基本原理為:當單片機 P1.6=0時,光電耦合器的發光二極管發光,光敏三極管導通,輸出高電壓(5 V),選中RS485接口的 DE 端,允許發送。當單片機 P1.6=1時,光電耦合器的發光二極管不發光,光敏三極管不導通,輸出低電壓(0 V),選中 RS485接口的 RE端,允許接收。SN75LBC184的 R 端(接收端)和 D 端(發送端)的原理與上述類

4、似。2.2 RS-485的 DE 控制端設計在 RS-485總線構筑的半雙工通信系統中,在整個網絡中任一時刻只能有一個節點處于發送狀態并向總線發送數據,其他所有節點都必須處于接收狀態。如果有2個節點或2個以上節點同時向總線發送數據,將會導致所有發送方的數據發送失敗。因此,在系統各個節點的硬件設計中,應首先力求避免因異常情況而引起本節點向總線發送數據而導致總線數據。以 MCS51系列的單片機為例,因其在系統復位時,I/O 口都輸出,如果把 I/O 口直接與 RS-485接口的驅動器使能端 DE 相連,會在 CPU 復位期間使 DE 為高,從而使本節點處于發送狀態。如果此時總線上有其他節點正在發送

5、數據,則此次數據傳輸將被打斷而告失敗,甚至引起整個總線因某一節點的故障而通信阻塞,繼而影響整個系統的正常運行。考慮到通信的穩定性和可靠性,在每個節點的設計中應將控制 RS485總線接口的發送引腳設計成 DE 端的反邏輯,即控制引腳為邏輯“1”時,DE 端為“0”;控制引腳為邏輯“0”時,DE 端為“1”。在圖1中,將 CPU 的引腳 P1.6通過光電耦合器驅動 DE 端,這樣就可以使控制引腳為高或者異常復位時使SN75LBC184始終處于接收狀態,從而從硬件上有效避免節點因異常情況而對整個系統造成的影響。這就為整個系統的通信可靠奠定了基礎。此外,電路中還有1片看門狗 MAX813L,能在節點發

6、生死循環或其他故障時,自動復位程序,交出 RS-485總線控制權。這樣就保證整個系統不會因某一節點發生故障而獨占總線,導致整個系統癱瘓。2.3 避免總線的設計當一個節點需要使用總線時,為了實現總線通信可靠,在有數據需要發送的情況下先偵聽總線。在硬件接口上,首先將 RS-485接口的數據接收引腳反相后接至 CPU 的中斷引腳0。在圖1中,0是連至光電耦合器的輸出端。當總線上有數據正在傳輸時,SN75LBC184的數據接收端(R 端)表現為變化的高低電平,利用其產生的 CPU 下降沿中斷(也可采用查詢方式),能得知此時總線是 “忙”,即總線上是否有節點正在通信。如果“空閑”,則可以得到對總線的使用

7、權限,這樣就較好地解決了總線。在此基礎上,還可以定義各種消息的優先級,使高優先級的消息得以優先發送,從而進一步提高系統的實時性。采用這種工作方式后,系統中已經沒有主、從節點之分,各個節點對總線的使用權限是的,從而有效避免了個別節點通信負擔較重的情況。總線的利用率和系統的通信效率都得以大大提高,從而也使系統響應的實時性得到改善,而且即使系統中個別節點發生故障,也不會影響其他節點的正常通信和正常工作。這樣使得系統的“穩定性。”分散了,從某種程度上來說增強了系統的工作可靠性和2.4 RS-485輸出電路部分的設計在圖1中,VD1VD4為信號限幅二極管,其穩壓值應保證符合 RS-485標準, VD1和

8、 VD3取12 V,VD2 和 VD4取7 V,以保證將信號幅度限定在-7+12 V 之間,進一步提高抗過壓的能力。考慮到線路的特殊情況(如某一節點的 RS-485被擊穿短路),為防止總線中其他分機的通信受到影響,在 SN75LBC184的信號輸出端串聯了2個20 的電阻 R1和 R2,這樣本機的硬件故障就不會使整個總線的通信受到影響。在應用系統工程的現場施工中,由于通信載體是雙絞線,它的特性阻抗為120 左右,所以線路設計時,在 RS485網絡傳輸線的始端和末端應各接1個120 的匹配電阻(如圖1中的 R3),以減少線傳輸信號的反射。2.5 系統的電源選擇對于由單片機結合 RS-485組建的

9、測控網絡,應優先采用各節點獨立供電的方案,同時電源線不能與 RS-485信號線共用同一股多芯電纜。RS-485信號線宜選用截面積0.75 mm2以上的雙絞線而不是平直線,并且選用線性電源 TL750L05比選用開關電源更合適。TL750L05必須有輸出電容,若沒有輸出電容,則其輸出端的電壓為鋸齒波形狀,鋸齒波的上升沿隨輸入電壓變化而變化,加輸出電容后,可以抑制該現象。三、的編程SN75LBC184在接收方式時,A、B 為輸入,R 為輸出;在發送方式時,D 為輸入,A、B 為輸出。當傳送方向改變一次后,如果輸入未變化,則此時輸出為隨機狀態,直至輸入狀態變化一次,輸出狀態才確定。顯然,在由發送方式

10、轉入接收方式后,如果 A、B 狀態變化前,R 為低電平,在第一個數據起始位時,R 仍為低電平,CPU 認為此時無起始位,直到出現第一個下降沿,CPU 才開始接收第一個數據,這將導致接收錯誤。由接收方式轉入發送方式后,D 變化前,若A與B 之間為低電壓,發送第一個數據起始位時,A 與 B 之間仍為低電壓,A、B 引腳無起始位,同樣會導致發送錯誤。克服這種的方案是:主機連續發送兩個同步字,同步字要包含多次邊沿變化(如55H ,0AAH),并發送兩次(第一次可能接收錯誤而忽略) ,接收端收到同步字后,就可以傳送數據了,從而保證正確通信。為了更可靠地工作,在 RS485總線狀態切換時需要適當延時,再進

11、行數據的收發。具體的做法是在數據發送狀態下,先將控制端置“1”,延時0.5 ms 左右的時間,再發送有效數據,數據發送結束后,再延時0.5 ms,將控制端置“0”。這樣的處理會使總線在狀態切換時,有一個穩定的工作過程。數據通信程序基本流程圖如圖2所示。單片機通信節點的程序基本上可以分為6個主要部分,分別為預定義部分、初始化部分、主程序部分、設備狀態檢測部分、幀接收部分和幀發送部分。預定義部分主要定義了通信中使用的握手信號,用于保存設備信息的緩沖區和保存本節點設備號的變量。設備狀態檢測部分應能在程序初始化后,當硬件發生故障時,作出相應的反應。主程序部分應能接收命令幀,并根據命令內容作出相應的回應

12、。為縮短篇幅,這里僅給出主程序部分的代碼。如下所示:/* 主程序流程 */while(1) if(recv_cmd(&type)=0)/主循環/發生幀錯誤或幀地址與本機/地址不符,丟棄當前幀后返回continue; switch(type) case ACTIVE_:/主機詢問從機是否存在send_data( OK_, 0,dbuf);/發送應答信息 break;case GETDATA_:len = strlen(dbuf);send_data( S break;default:break;US_, len,dbuf);/發送狀態信息/命令類型錯誤,丟棄當前幀后返回RS-485 由于使用了差分電平傳輸信號,傳輸距離比 RS-232 更長,最多可以達到 3000 m,因此很適合工業環境下的應用。但與 CAN 總線等更為先進的現場工業總線相比,其處理錯誤的能力還稍顯遜色,所以在部分還需要進行

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯系上傳者。文件的所有權益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網頁內容里面會有圖紙預覽,若沒有圖紙預覽就沒有圖紙。
  • 4. 未經權益所有人同意不得將文件中的內容挪作商業或盈利用途。
  • 5. 人人文庫網僅提供信息存儲空間,僅對用戶上傳內容的表現方式做保護處理,對用戶上傳分享的文檔內容本身不做任何修改或編輯,并不能對任何下載內容負責。
  • 6. 下載文件中如有侵權或不適當內容,請與我們聯系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論