《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計 > 設(shè)計應(yīng)用 > 基于PROFIBUS-DP現(xiàn)場總線的光電收發(fā)器設(shè)計
基于PROFIBUS-DP現(xiàn)場總線的光電收發(fā)器設(shè)計
摘要: PROFIBUS-DP現(xiàn)場總線以其高速、低成本等優(yōu)點而廣泛應(yīng)用于制造業(yè)自動化、流程工業(yè)自動化和樓宇自動化等行業(yè),它的物理層數(shù)據(jù)傳輸依賴RS-485接口。RS-485接口是一種工業(yè)領(lǐng)域內(nèi)廣泛使用的串行通信接口,可采用“差分”方式在屏蔽雙絞線中傳輸信號,因而具有較好的抗共模干擾能力,通信距離可達千米。PROFIBUSDP總線信號也可使用屏蔽雙絞線傳輸,數(shù)據(jù)速率為9.6kbps時的理論傳輸距離為1200米,波特率為12:Mbps時的理論傳輸距離為100米。
Abstract:
Key words :

  O 引言

  PROFIBUS-DP現(xiàn)場總線以其高速、低成本等優(yōu)點而廣泛應(yīng)用于制造業(yè)自動化、流程工業(yè)自動化和樓宇自動化等行業(yè),它的物理層數(shù)據(jù)傳輸依賴RS-485接口。RS-485接口是一種工業(yè)領(lǐng)域內(nèi)廣泛使用的串行通信接口,可采用“差分”方式在屏蔽雙絞線中傳輸信號,因而具有較好的抗共模干擾能力,通信距離可達千米。PROFIBUSDP總線信號也可使用屏蔽雙絞線傳輸,數(shù)據(jù)速率為9.6 kbps時的理論傳輸距離為1200米,波特率為12:Mbps時的理論傳輸距離為100米。但是,由于工業(yè)現(xiàn)場情況錯綜復(fù)雜,各種干擾相互疊加,且RS-485標(biāo)準(zhǔn)規(guī)定單段網(wǎng)絡(luò)最多可支持32個節(jié)點(標(biāo)準(zhǔn)負載),因此,有必要使用一種中繼設(shè)備來將信號更準(zhǔn)確、更完整地傳輸?shù)竭h端設(shè)備。而光纖和其他傳輸介質(zhì)相比具有寬頻、低損耗、屏蔽電磁輻射、重量輕等優(yōu)點,因此,用光電收發(fā)器實現(xiàn)兩線制DP(RS-485)差分信號數(shù)據(jù)與光信號之間的轉(zhuǎn)換,能夠有效的提高信號傳輸距離和傳輸質(zhì)量,從而提高系統(tǒng)的可靠性與穩(wěn)定性。

  1 光電收發(fā)模塊的配置原理

  本光電收發(fā)模塊的使用配置如圖1所示。從物理層來說,原來的一個網(wǎng)段被光纖分成兩段,此時。收發(fā)器應(yīng)視為相應(yīng)段的總線末端,因此,在收發(fā)器中默認內(nèi)置了有終端匹配電阻,以使負載端輸入阻抗與傳輸線的特征阻抗相匹配,從而達到消除負載端信號反射的目的。每一個光電收發(fā)器在電氣性能上都占一個節(jié)點,因此,每段總線上最多可以帶30個標(biāo)準(zhǔn)RS-485負載設(shè)備。

  

 

 

  2 總體設(shè)計方案

  圖2所示是光電收發(fā)器的硬件結(jié)構(gòu)框圖。該設(shè)計方案整體上由DP總線數(shù)據(jù)收發(fā)部分、光纖數(shù)據(jù)收發(fā)部分和數(shù)據(jù)傳輸方向控制部分組成。 FPGA作為主控制器負責(zé)控制數(shù)據(jù)傳輸?shù)姆较?、檢測波特率和數(shù)據(jù)交換功能。其中電源部分采用隔離的DC/DC來減少外部電路的影響。電端DP總線的RS-485收發(fā)器可選用SN75HVD06D,該芯片可支持10 Mbps數(shù)據(jù)速率;而光端的數(shù)據(jù)接收器和發(fā)送器則可選擇AVAGO公司的光發(fā)送器HFBR-14x4Z和光接收器HFBR-24x2Z,它們在50mA電流驅(qū)動下,其62.5/125μm的多模光纖傳輸距離可達2 km。FPGA芯片選用ALTERA公司的Cvclone系列芯片EPlC3T144C8N,該芯片有2910個LE單兀、1個PLL和144個IO引腳,且性價比較高。

  

 

  3 FPGA邏輯設(shè)計

  FPGA包括數(shù)據(jù)傳輸方向檢測功能塊、波特率檢測功能塊、數(shù)據(jù)交換功能塊等三個邏輯功能塊。它們的電端和光端都默認為接收狀態(tài)。數(shù)據(jù)傳輸方向檢測功能塊用于判斷哪個端口先來數(shù)據(jù),然后把該端口數(shù)據(jù)輸出到波特率檢測功能塊以檢測其數(shù)據(jù)波特率,數(shù)據(jù)交換功能塊可根據(jù)確定好的數(shù)據(jù)傳輸方向和波特率來切換RS-485收發(fā)器的收發(fā)狀態(tài),并最終實現(xiàn)數(shù)據(jù)的光電轉(zhuǎn)換傳輸。該三個邏輯功能塊之間的關(guān)系如圖3所示。

  

 

  3.1 數(shù)據(jù)傳輸方向檢測邏輯

  PROHBUS-DP總線協(xié)議的傳輸依賴RS-485接口,故在總線空閑狀態(tài)下,依靠RS-485接口前端的上拉和下拉電阻即可保證總線上的電平為“1”,RS-485收發(fā)器一般默認為接收狀態(tài)。由于RS-485數(shù)據(jù)傳輸為半雙工方式,同一時刻。線上的數(shù)據(jù)傳輸方向是單向的,且傳輸數(shù)據(jù)字節(jié)的起始位為低電平,這樣,就可以根據(jù)電端接收數(shù)據(jù)和光端接收數(shù)據(jù)的低電平到來的先后順序來判斷數(shù)據(jù)的傳輸方向是從電端到光端,還是從光端到電端。為了避免由于線路上的干擾或者數(shù)據(jù)收發(fā)元器件的特性造成的毛刺,可對接收到的電端數(shù)據(jù)和光端數(shù)據(jù)先進行濾波去抖動處理。圖4所示為數(shù)據(jù)傳輸方向檢測流程圖。

  

 

  3.2 波特率檢測邏輯

  首先應(yīng)對由數(shù)據(jù)傳輸方向檢測功能塊選擇輸出的數(shù)據(jù)進行濾波。不同的波特率分別用相應(yīng)的時鐘對濾波后的數(shù)據(jù)進行采樣,若采到連續(xù)16個“1”,則說明總線目前處于空閑狀態(tài),下一個到來的低電平既是數(shù)據(jù)字節(jié)的起始位,之后即可開始接收數(shù)據(jù),在一個字節(jié)(8 bits)的數(shù)據(jù)接收完畢后,即可判斷接收到的數(shù)據(jù)是否為關(guān)鍵字(關(guān)鍵字為PROFIBUS-DP總線協(xié)議數(shù)據(jù)幀的開始定界符SDx)。如果某一波特率連續(xù)找到3次關(guān)鍵字,則將其它波特率連續(xù)找到關(guān)鍵字的次數(shù)清零。并將原來已經(jīng)確定的波特率位清零。而當(dāng)該波特率連續(xù)找到6次關(guān)鍵字時,則代表找到了新的波特率,此時可將剛找到的波特率確定為當(dāng)前系統(tǒng)通訊速率,并將相應(yīng)標(biāo)志位置1。

  3.3 數(shù)據(jù)交換邏輯

  數(shù)據(jù)傳輸方向和波特率確定之后,就可以進行電端和光端的數(shù)據(jù)交換了。當(dāng)數(shù)據(jù)傳輸方向為電端到光端時,電端RS-485收發(fā)器處于接收狀態(tài),數(shù)據(jù)由電端經(jīng)光發(fā)送器發(fā)送到光端線線路上;當(dāng)數(shù)據(jù)傳輸方向為光端到電端時,在起始位數(shù)據(jù)“0”發(fā)送完畢之后,即可將電端RS-485收發(fā)器改為發(fā)送狀態(tài),在經(jīng)過10個當(dāng)前通訊波特率的bit時間后,再將RS-485收發(fā)器改為接收狀態(tài),并等待接收新的數(shù)據(jù)。圖5所示為數(shù)據(jù)交換流程圖。

  

 

  4 結(jié)束語

  該設(shè)計的創(chuàng)新點在于其采用FPGA硬件實現(xiàn)光電信號之間的轉(zhuǎn)換,可以自適應(yīng)波特率變化,并自動檢測波特率變化。能支持PROFIBUS-DP協(xié)議規(guī)定的所有波特率,且轉(zhuǎn)發(fā)數(shù)據(jù)無錯包。與一般的RS-485中繼設(shè)備相比,不但在傳輸距離和總線的負載能力上有很大提高。而且在抗干擾和通訊的穩(wěn)定性方面也有突出優(yōu)勢,可用于各種的PROFIBUS-DP總線工業(yè)現(xiàn)場。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。