1 引言
現代工業測控系統中,系統之間以及系統內部經常需要進行數據通信。通信分無線和有 線兩種方式,由于無線通信的可靠性不及有線通信,因此在工業環境中一般選用有線通信。 對于有線通信既可以采用并行數據總線方式進行,也可以采用串行數據總線方式來進行,不 同的總線適合不同的應用環境。一般我們在設計接口方案的時候,總是在滿足系統需求的前 提下選擇成熟穩定可靠且易于實現接口方案。
在我們開發的分布式監測系統中,傳感器節點需要盡可能將信號無失真穩定可靠得傳 輸到接入節點。從通信的可靠性考慮我們放棄了布點靈活方便的無線通信方式,選擇了有線 通信。考慮到實際的應用情況,傳感器需要分布在監測范圍的各個角落,各個傳感器與接入 節點直接的通信距離不一,從幾米到上百米均有可能。如果傳感器和接入節點直接選用模擬 信號直接傳輸的方式,對于那些傳輸距離遠的傳感器節點,其信號衰減會很嚴重,信噪比會 降低很多,同時傳輸過程中也會引入干擾,因此傳感器節點需要將采集到的信號數字化,然 后通過數字接口將信號發送出去。由于數字信號抗干擾性強,可以無失真的傳輸,因此信號 失真只存在傳感器對其數字化的過程中。有線數字通信的方式比較多,如果采用并行數據總 線,那么傳感器節點和接入節點之間的連線數量會較串行總線大大增加,會給布點帶來不便 和增加成本,因此在工程上長距離通信時一般都采用串行通信。由于分布式監測系統中傳感 器節點和接入節點之間的通信對傳輸距離有一定要求,對可靠性要求高,但對通信速率要求 不高,最后我們選用了實現簡單、抗干擾性強、通信距離遠的RS422接口。雖然RS422采用的 是差分傳輸方式,抗干擾能力強,但如果只是簡單的采用一般的設計方案,在溫濕度及電磁 環境十分惡劣的工業環境下仍會出現接口故障甚至損壞,因此有必要從軟硬件上面引入更多 的抗干擾、保護、偵錯等措施來提高接口的可靠性。
2 RS422 標準及分布式監測系統介紹
RS422是一種在工程中廣泛使用的接口標準,它采用差分傳輸方式,也稱為“平衡傳輸”,標準全稱是“平衡電壓數字接口電路的電氣特性”。可見RS422定義的是接口電路的電氣特 性,而對數據格式沒有做定義。RS422是全雙工通信,通信的雙方均含有一個發送驅動器和 接收驅動器。其中接收驅動器的兩個平衡線連接端點定義為A和B,發送驅動器的兩個平衡線 連接端點定義為Y和Z,一般使用平衡雙絞線將一端的Y和A、Z和B連接起來。通常情況下,發 送驅動器端Y、Z之間的正電平在+2~+6V,代表正邏輯,負電平在-6~-2V,代表負邏輯。在 接收端,當A、B之間有大于+200mV 的電平時,輸出正邏輯電平,小于-200mV 時,輸出負邏 輯電平。RS422最大傳輸距離為4000英尺(約1219米),最大傳輸速率為10Mb/s。其中平衡雙 絞線的長度與傳輸速率成反比,在100Kb/s速率下,才能達到最大傳輸距離。只有在很短的 距離下才能獲得最高速率傳輸。一般100米長的雙絞線能獲得的最大傳輸速率為1Mb/s。
本文中所設計的RS422接口方案主要用于工控環境中的分布式監測系統,此系統的結構 示意圖如圖1所示。該系統主要可分為四個層次結構:服務器、交換機、接入節點、傳感器 節點。其中傳感器節點負責采集信號,首先對信號進行放大和抗混疊濾波,然后通過A/D芯 片將模擬信號轉換為數字信號,最后通過RS422接口將采集到的數據傳送給接入節點;接入 節點一方面負責接收來自服務器的命令,對各個傳感器節點進行管理,另一方面將來自于近 端的各個傳感器節點的有效數據通過以太網接口發送給遠端的服務器;交換機主要作用是將 服務器和各個接入節點通過以太網連接起來;服務器則負責數據的接收、分析、存儲并顯示 結果以及對整個系統的管理。
3 RS422 接口硬件電路設計
為保證接口的可靠性,電路設計中要考慮到芯片的選擇、接地、阻抗匹配、電氣保護等 問題。市面上可供選擇的RS422接口芯片種類很多,為了防止瞬態高壓對接口的破壞以及有 效隔離各個系統模塊直接的相互干擾,本方案選用的是美信公司的隔離型RS422接口芯片 MAX1490 AEPG。采用隔離的設計方案可以將瞬態高壓轉移到隔離接口中的電隔離層上,由于 隔離層的高絕緣電阻不會產生損害性的浪涌電流,可以有效防止浪涌及靜電對接口的損害。
MAX1490A轉換速率可達5.5Mbps,隔離電壓可以到2500V,可以承受高電壓持續時間較長的瞬 態干擾。同時MAX1490A是將高頻變壓器、光耦、MAX490等元件集成到一個IC里面的單芯片, 電路實現起來也比較容易。MAX1490 AEPG是MAX1490A系列中的一款工業級芯片,使用溫度范 圍較商用級更廣,為-40°C 到 +85°C。使用MAX1490AEPG設計的電路原理圖如圖2:
圖2 MAX1490A 硬件電路圖
此原理圖參考了MAX1490A的數據手冊的典型應用電路圖。其中接口電路采用5V供電,C1、 C2是去耦電容,R3、R5、R6、R8取數據手冊建議參考值。R1、R2為匹配電阻,可以降低信號 反射。R1、R2的取值取決于采用的傳輸數據線的阻抗,通常數雙絞線特性阻抗大約在100 至 120 之間,所以R1、R2通常取120歐姆。實際應用中,匹配電阻并不一定需要。由于接收器 是在每個數據位的中點采樣數據的,只要反射信號在開始采樣時衰減到足夠低就可以不考慮 匹配。具體而言R1、R2是否需要取決于數據傳輸速率、電纜長度及信號轉換速率,有一條經 驗性的準則可用來判斷在什么樣的數據速率和電纜長度時需要進行匹配:當信號的上升或下 降時間超過電信號沿總線單向傳輸所需時間的3倍以上時就可以不加匹配。例如對MAX1490A 而言,輸出信號的上升或下降時間典型值為15ns,通常雙絞線上的信號傳輸速率約為 0.2m/ns, 當電纜長度不超過1米的時候可以不用焊接R1、R2。RS422接口的接地是一個非 常重要的問題,接地處理不當經常會導致不能穩定工作甚至危及系統安全,沒有一個合理的 接地系統可能會使系統的可靠性大打折扣,尤其是在工作環境比較惡劣的情況下對于接地的 要求更為嚴格。很多設計者認為RS422采用差分傳輸,通信鏈路可以不需要信號地,從而只 是簡單地用一對雙絞線將對應數據端口連接起來。這種接線方法在一般情況下也可以工作, 但給系統埋下了極大的隱患,主要會導致EMC和共模干擾導致數據出錯兩個問題。RS422 接 口采用差分方式傳輸信號,只需檢測兩線之間的電位差就可以判斷數據值,但前提是收發驅 動器只有在共模電壓不超出一定范圍(-7V 至+12V )的條件下才能正常工作,當共模電壓 超出此范圍就會導致接收驅動器接收數據出錯,甚至有可能損壞接口。另外驅動器輸出信號 中的共模部分需要一個返回通路,如果沒有一個低阻的返回通道(信號地),就會以輻射的 形式返回源端,整個總線就會像一個巨大的天線向外輻射電磁波,同樣傳輸線也很容易受到 外界的電磁干擾。因此圖2中的RS422接口的隔離地線需要通過傳輸線纜的屏蔽層連接起來, 另外在設計PCB布線和覆銅的時候需要注意將信號地和隔離地之間保持一定的距離,最好在 芯片下面的PCB導一個長方形的槽,這樣可以有效防止爬電,以保證MAX1490A的2500V隔離效 果。穩壓管D1~D8的作用是把數據傳輸線的電壓牢牢限制在-7V至+12V,以有效保護RS422 接口。增加D9和D10的目的主要是為了防止浪涌電壓損壞接口。
4 通訊接口的軟件實現
RS422標準只對接口的電氣特性做出規定而不涉及協議,因此我們可以定義自己的高層 通信協議。在本設計方案中,傳感器節點和接入節點在底層以字節為單位通信,采用ASCII 協議,數據長度為11位:1位起始位+8位數據+1位偶校驗+1位停止位。在上層協議中采用數 據包為單位通信。通信協議中使用了三種通信數據包:數據包、命令包和應答包。其中數據 包定義為:長度為100個字節,前面98個字節為數據字節,后面2個字節為校驗字節,校驗字 節為前98個字節以每2個為一組進行異或所得值;命令包定義為:長度為10個字節,第1個字 節固定為0X02,代表這個數據包為命令包,第2個字節為命令類型標志字節,用來表明命令 的類型,如請求發送數據命令、請求發送狀態命令等。第2到第7字節為保留字節,暫時沒有 定義,固定為0,可以留待以后擴充功能。最后兩個字節為校驗字節,校驗字節為前8個字節 以每2個為一組進行異或所得值;應答包定義為:長度為10個字節,第1個字節固定為0X01, 表明這個數據包為應答包,第2字節為接收是否正常標志字節,為0X01代表正常,0X00代表 不正常。第3字節為接入節點和服務器通信故障是否錯誤標志字節,值0X01代表正常,0X00 代表故障。第3到第7字節為保留字節,暫時沒有定義,固定為0,留待以后擴充功能。最后 兩個字節為校驗字節,校驗字節為前8個字節以每2個為一組進行異或所得值。每種數據包均 引入字節偶校驗和幀校驗,這樣可以有效得檢測到通信中的數據錯誤。
本系統中,傳感器節點和接入節點可雙向通信,考慮到實際情況下主要是傳感器節點通 過RS422接口向接入節點發送大量的數據,而接入節點主要向傳感器節點發送少量的狀態和 命令,協議中設計了兩種通信模式。
通信模式A:接入節點主動發起通信,接入節點首先主動發送一個請求傳感器節點發送 數據的命令包給傳感器節點,傳感器節點收到此命令包后發送一個數據包給接入節點,完成 一次通信,接入節點負責無應答錯誤和數據錯誤的檢查。此模式下接入節點端程序流程圖如 圖3左圖所示,傳感器節點端接收流程圖如圖3右圖所示。
圖3:模式A接入節點端程序流程圖(左)與傳感器節點端流程圖(右)
通信模式B:傳感器節點主動發起通信,傳感器節點首先發出數據包給接入節點,接入 節點收到數據包后發送一個應答包,傳感器節點收到應答包后完成一次通信,無應答錯誤和 數據錯誤的檢查由傳感器節點負責。此模式下傳感器節點端程序流程圖如圖4左圖所示,接 入端接收流程圖如圖4右圖所示。
圖4:模式B接入節點端程序流程圖(左)與傳感器節點端流程圖(右)
正常情況下,接入節點與傳感器節點均處于接收狀態。當接入節點主動發起通信時進入 通信模式A,當傳感器節點主動發起通信時進入通信模式B。
實際做穩定性測試時,采用一臺普通PC機作為上位機服務器,傳感器節點循環發送三角 波數據,服務器顯示三角波波形,傳感器節點和服務器均記錄傳輸的數據包數量,系統連續 運行8小時,實驗結果顯示服務器收到的數據包數目和傳感器節點發送的數據包數目相同, 數據傳輸丟失率為0.0%。另外在整個系統做高溫、低溫、濕熱等環境試驗和靜電放電、浪 涌沖擊、電場輻射抗擾度、工頻磁場抗擾度等電磁兼容可靠性試驗中,RS422接口也表現十 分可靠,沒有出現差錯。
5 總結
本設計方案在芯片選型上選用了美信公司的隔離型RS422芯片MAX1490AEPG,可以有效從 電氣上隔離系統各個子模塊的相互干擾,電路設計上考慮了接口兩側接地的隔離距離以防止 爬電,兩個對接的RS422接口共地可以很好的抑制傳輸線的共模電壓干擾以及取得良好的EMC 性能,傳輸線終端的匹配電阻可以減少信號的反射,增加穩壓和瞬態抑制二極管可以解決防 浪涌、靜電放電等問題;在通信協議設計中引入的字節的偶校驗、數據幀的校驗可以有效得 檢測數據出錯,無應答計數器和數據錯誤計數器的引入可以偵測到通訊線路故障和批量數據 出差以及避免軟件死鎖,采取以上措施使RS422接口的通信可靠性得到極大的保障。該設計 方案可以廣泛用于對可靠性有一定要求的工控、醫療、軍事場合。
評論
查看更多