2 總體設計
2.1 使用場合及功能簡述
RS-485光電收發(fā)器模塊工作在物理層,設計的每個模塊內有兩路相互完全獨立的光電收發(fā)器,每路作用是實現將兩線制RS-485差分信號數據與光信號轉換。當兩線制RS-485傳輸線長度超過400 m時,信號質量下降,并且很容易受到外部電磁場干擾,此時使用光電收發(fā)器作為中繼設備連接現場總線,不僅能夠增強傳輸距離,而且可以保證傳輸中由外部電磁場造成的干擾減小到最低。
2.2 通信系統(tǒng)框架
如圖l所示,從物理層來看,整個總線被光纖分成兩段。此時每路收發(fā)器應視為相應段的末端,因此需要在每路收發(fā)器中內置終端匹配電阻,使負載端輸入阻抗與傳輸線的特征阻抗相匹配,達到消除負載端反射的目的。與此同時,每一路光電收發(fā)器在電氣性能上占一個節(jié)點,因此.每一段總線上所加的485負載應小于30個。
當現場比較分散時,或RS-485總線兩端的設備不在同一建筑物內時,相關設備和模塊可以采用如圖2所示的方式進行連接,依現場環(huán)境而定。
3 設計原理
由于RS-485是半雙工雙向總線,具有多點、雙向通信能力,即允許多個I/O模塊同時連接到總線上,而且信號傳輸線上的傳輸方向不定。因此,在設計RS-485光電收發(fā)器模塊時,首先重點考慮的就是控制好RS-485收發(fā)器的信號傳遞方向。
3.1 常見的3種RS-485光電收發(fā)器原理
現有已應用到現場的RS-485光電收發(fā)器通常采用以下方法實現:
(1)采用RC充放電延遲電路配合整形電路控制RS-485收發(fā)器的數據收發(fā)方向。
(2)將單片機作為定時器定時控制RS-485收發(fā)器數據收發(fā)方向。
(3)采用FPGA(CLPD)監(jiān)視總線上的數據,當接收端有數據上傳時,通過邏輯控制將RS-485收發(fā)器調整到接收狀態(tài),接收完畢后返回。
第1種方法采用硬件電路實現,使用阻容延遲電路。缺點是電阻電容本身有一定的誤差,使用一段時間后由于老化或其他環(huán)境因素,容易導致延遲時間的變化,使模塊準確性降低;而且這種方法在傳輸過程中以字節(jié)為單位。要求2個字節(jié)之間的通信時間間隔必須大于1個字節(jié)數據的通信時間,才能確保不丟失數據,因此降低了通信速率。
第1、2種方法采用軟件控制收發(fā)器狀態(tài)。第2種方法中用單片機檢測接收到數據的起始位,單片機中斷響應需要時間,并且這個時間必須小于RS-485總線上一個數據位的時間,這樣才能夠保證不漏掉每一個數據位,因此對傳輸速率有了一定的限制。第3種方法實際上是對收發(fā)器接收的到通信內容進行分析、判斷,與此同時控制收發(fā)器狀態(tài),這種方法屬于數據鏈路層的處理,軟件運行時間降低了系統(tǒng)的實時性,同時使得整個通信系統(tǒng)變得更加復雜,也增加了模塊成本。
3.2 波特率自適應RS-485光電收發(fā)器原理
3.2.1 硬件原理框圖
該模塊采用硬件電路搭建,包括方向控制和整形電路如圖3所示。其工作原理:①24 V電源經過隔離DC/DC轉換成5 V直流給整個模塊供電。②雙絞線傳輸的RS-485信號通過端子引入RS-485差分數據收發(fā)器(此處選用SN75HVD06D),支持最大10 MHz傳輸速率)??臻e狀態(tài)下RS-485收發(fā)器默認狀態(tài)為收,即接收外部傳來的差分信號,將其轉換為Rx數字信號,加以驅動后傳給HFBR1414轉換為光信號,通過光纖傳輸出去。相反,當有信號輸入模塊時,首先HFBR2412光頭將光信號轉換為數字Tx信號,經過整形、延遲處理后,同時控制收發(fā)器兩個使能端DE、RE。(③T作在半雙工方式的RS-485總線,主控單元與從站之間只能采用主從方式交換數據,而工作在總線上的光電收發(fā)器,也只能通過光頭的輸入信號判斷信號的傳輸方向。因此,為了不占用總線的空閑時間,需要對方向控制門的波形作適當整形,可利用上拉下拉電阻保證總線上“1”的狀態(tài),而當光頭接收到“0”時,則打開方向控制門,使驅動器總線產生“0”。
圖4為工作過程中的波形.方向控制門默認為低,接收端數據默認為高。當發(fā)送端發(fā)送數據位“1”時,方向控制門關閉:發(fā)送數據位“0”時,方向控制門延遲一小段時間后打開。此時,接收端完全接收發(fā)送過來的數據,直到方向控制門關閉。
3.2.2 波特率自適應原理
波特率自適應光電收發(fā)器的設計思路是:通過方向控制門控制RS-485收發(fā)器收發(fā)狀態(tài),以一個數據位的時間寬度為單元,若收發(fā)狀態(tài)時間寬度適應于任意波特率,則該光電收發(fā)器可以適應任何速率的數據傳輸,電路結構目如網5所示。
圖5中外部數字信號流入模塊時,首先通過一個RC延遲電路將信號延遲一小段時間(R×C),然后通過一個二輸入與非門接入RS-85 收發(fā)器的兩個使能端,使能端通過下拉電阻R2保證默認狀態(tài)為RE使能,即默認為收(數據從左向右);當有“0”信號流入時,收發(fā)器自動切換到DE使能,即為發(fā)送狀態(tài)(數據從右向左),此時收發(fā)器將完全接收外部輸入的信號,而當輸入由“0”變?yōu)椤?”時,方向控制門關閉,RS-485收發(fā)器呈現高阻狀態(tài)。此時設置在差分信號端的匹配電阻構成偏置電路,為差分信號提供高電平。
由圖5可看出,這樣做會對信號的完整性造成一定的損失,但是如果延遲時間與數據位的時間相比很小時,這種處理方法便不會影響數據的準確性。因此,應當根據最大傳輸速率選好尺,R3、C1的值和延遲時間,才能保證在波特率自適應過程中不會對信號質量造成影響。
3.3 光電轉換簡介
該模塊采用HFBR-1414、HFBR-2412光電收發(fā)器,兩器件配對使用,將電信號和光信號進行互轉,一收一發(fā),實現模塊功能。
對于一般的工業(yè)場合,在帶寬不是很大的情況下,多模光纖已經能夠達到工業(yè)級要求,其傳輸距離可以達到幾公里,對于RS-485總線來說已經綽綽有余。同時考慮到成本因素,該模塊推薦使用多模光纖為介質進行傳輸。
4 結語
經測試,該模塊能夠在500 Kb/s及以下的速率正常運行,達到了設計要求。相對于軟件方法實現的中繼設備更加簡潔和準確。該模塊和一般的RS-485、RS-232中繼設備相比,不但在傳輸距離上有很大提高,而且由于使用光纖,在抗干擾度方面也有突出優(yōu)勢,可用于工業(yè)現場的任何一個環(huán)節(jié)。