新聞中心

EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 高可靠性隔離型RS422接口的設(shè)計(jì)方案

高可靠性隔離型RS422接口的設(shè)計(jì)方案

作者: 時(shí)間:2011-05-19 來(lái)源:網(wǎng)絡(luò) 收藏

  1 引言

  現(xiàn)代工業(yè)測(cè)控系統(tǒng)中,系統(tǒng)之間以及系統(tǒng)內(nèi)部經(jīng)常需要進(jìn)行數(shù)據(jù)通信。通信分無(wú)線和有 線兩種方式,由于無(wú)線通信的可靠性不及有線通信,因此在工業(yè)環(huán)境中一般選用有線通信。 對(duì)于有線通信既可以采用并行數(shù)據(jù)總線方式進(jìn)行,也可以采用串行數(shù)據(jù)總線方式來(lái)進(jìn)行,不 同的總線適合不同的應(yīng)用環(huán)境。一般我們?cè)谠O(shè)計(jì)接口方案的時(shí)候,總是在滿足系統(tǒng)需求的前 提下選擇成熟穩(wěn)定可靠且易于實(shí)現(xiàn)接口方案。

  在我們開(kāi)發(fā)的分布式監(jiān)測(cè)系統(tǒng)中,傳感器節(jié)點(diǎn)需要盡可能將信號(hào)無(wú)失真穩(wěn)定可靠得傳 輸?shù)浇尤牍?jié)點(diǎn)。從通信的可靠性考慮我們放棄了布點(diǎn)靈活方便的無(wú)線通信方式,選擇了有線 通信??紤]到實(shí)際的應(yīng)用情況,傳感器需要分布在監(jiān)測(cè)范圍的各個(gè)角落,各個(gè)傳感器與接入 節(jié)點(diǎn)直接的通信距離不一,從幾米到上百米均有可能。如果傳感器和接入節(jié)點(diǎn)直接選用模擬 信號(hào)直接傳輸?shù)姆绞?,?duì)于那些傳輸距離遠(yuǎn)的傳感器節(jié)點(diǎn),其信號(hào)衰減會(huì)很?chē)?yán)重,信噪比會(huì) 降低很多,同時(shí)傳輸過(guò)程中也會(huì)引入干擾,因此傳感器節(jié)點(diǎn)需要將采集到的信號(hào)數(shù)字化,然 后通過(guò)數(shù)字接口將信號(hào)發(fā)送出去。由于數(shù)字信號(hào)抗干擾性強(qiáng),可以無(wú)失真的傳輸,因此信號(hào) 失真只存在傳感器對(duì)其數(shù)字化的過(guò)程中。有線數(shù)字通信的方式比較多,如果采用并行數(shù)據(jù)總 線,那么傳感器節(jié)點(diǎn)和接入節(jié)點(diǎn)之間的連線數(shù)量會(huì)較串行總線大大增加,會(huì)給布點(diǎn)帶來(lái)不便 和增加成本,因此在工程上長(zhǎng)距離通信時(shí)一般都采用串行通信。由于分布式監(jiān)測(cè)系統(tǒng)中傳感 器節(jié)點(diǎn)和接入節(jié)點(diǎn)之間的通信對(duì)傳輸距離有一定要求,對(duì)可靠性要求高,但對(duì)通信速率要求 不高,最后我們選用了實(shí)現(xiàn)簡(jiǎn)單、抗干擾性強(qiáng)、通信距離遠(yuǎn)的RS422接口。雖然RS422采用的 是差分傳輸方式,抗干擾能力強(qiáng),但如果只是簡(jiǎn)單的采用一般的設(shè)計(jì)方案,在溫濕度及電磁 環(huán)境十分惡劣的工業(yè)環(huán)境下仍會(huì)出現(xiàn)接口故障甚至損壞,因此有必要從軟硬件上面引入更多 的抗干擾、保護(hù)、偵錯(cuò)等措施來(lái)提高接口的可靠性。

  2 RS422 標(biāo)準(zhǔn)及分布式監(jiān)測(cè)系統(tǒng)介紹

  RS422是一種在工程中廣泛使用的接口標(biāo)準(zhǔn),它采用差分傳輸方式,也稱為“平衡傳輸”,標(biāo)準(zhǔn)全稱是“平衡電壓數(shù)字接口電路的電氣特性”??梢?jiàn)RS422定義的是接口電路的電氣特 性,而對(duì)數(shù)據(jù)格式?jīng)]有做定義。RS422是全雙工通信,通信的雙方均含有一個(gè)發(fā)送驅(qū)動(dòng)器和 接收驅(qū)動(dòng)器。其中接收驅(qū)動(dòng)器的兩個(gè)平衡線連接端點(diǎn)定義為A和B,發(fā)送驅(qū)動(dòng)器的兩個(gè)平衡線 連接端點(diǎn)定義為Y和Z,一般使用平衡雙絞線將一端的Y和A、Z和B連接起來(lái)。通常情況下,發(fā) 送驅(qū)動(dòng)器端Y、Z之間的正電平在+2~+6V,代表正邏輯,負(fù)電平在-6~-2V,代表負(fù)邏輯。在 接收端,當(dāng)A、B之間有大于+200mV 的電平時(shí),輸出正邏輯電平,小于-200mV 時(shí),輸出負(fù)邏 輯電平。RS422最大傳輸距離為4000英尺(約1219米),最大傳輸速率為10Mb/s。其中平衡雙 絞線的長(zhǎng)度與傳輸速率成反比,在100Kb/s速率下,才能達(dá)到最大傳輸距離。只有在很短的 距離下才能獲得最高速率傳輸。一般100米長(zhǎng)的雙絞線能獲得的最大傳輸速率為1Mb/s。

  本文中所設(shè)計(jì)的RS422接口方案主要用于工控環(huán)境中的分布式監(jiān)測(cè)系統(tǒng),此系統(tǒng)的結(jié)構(gòu) 示意圖如圖1所示。該系統(tǒng)主要可分為四個(gè)層次結(jié)構(gòu):服務(wù)器、交換機(jī)、接入節(jié)點(diǎn)、傳感器 節(jié)點(diǎn)。其中傳感器節(jié)點(diǎn)負(fù)責(zé)采集信號(hào),首先對(duì)信號(hào)進(jìn)行放大和抗混疊濾波,然后通過(guò)A/D芯 片將模擬信號(hào)轉(zhuǎn)換為數(shù)字信號(hào),最后通過(guò)RS422接口將采集到的數(shù)據(jù)傳送給接入節(jié)點(diǎn);接入 節(jié)點(diǎn)一方面負(fù)責(zé)接收來(lái)自服務(wù)器的命令,對(duì)各個(gè)傳感器節(jié)點(diǎn)進(jìn)行管理,另一方面將來(lái)自于近 端的各個(gè)傳感器節(jié)點(diǎn)的有效數(shù)據(jù)通過(guò)以太網(wǎng)接口發(fā)送給遠(yuǎn)端的服務(wù)器;交換機(jī)主要作用是將 服務(wù)器和各個(gè)接入節(jié)點(diǎn)通過(guò)以太網(wǎng)連接起來(lái);服務(wù)器則負(fù)責(zé)數(shù)據(jù)的接收、分析、存儲(chǔ)并顯示 結(jié)果以及對(duì)整個(gè)系統(tǒng)的管理。

  


  3 RS422 接口硬件電路設(shè)計(jì)

  為保證接口的可靠性,電路設(shè)計(jì)中要考慮到芯片的選擇、接地、阻抗匹配、電氣保護(hù)等 問(wèn)題。市面上可供選擇的RS422接口芯片種類很多,為了防止瞬態(tài)高壓對(duì)接口的破壞以及有 效隔離各個(gè)系統(tǒng)模塊直接的相互干擾,本方案選用的是美信公司的隔離型RS422接口芯片 MAX1490 AEPG。采用隔離的設(shè)計(jì)方案可以將瞬態(tài)高壓轉(zhuǎn)移到隔離接口中的電隔離層上,由于 隔離層的高絕緣電阻不會(huì)產(chǎn)生損害性的浪涌電流,可以有效防止浪涌及靜電對(duì)接口的損害。

  MAX1490A轉(zhuǎn)換速率可達(dá)5.5Mbps,隔離電壓可以到2500V,可以承受高電壓持續(xù)時(shí)間較長(zhǎng)的瞬 態(tài)干擾。同時(shí)MAX1490A是將高頻變壓器、光耦、MAX490等元件集成到一個(gè)IC里面的單芯片, 電路實(shí)現(xiàn)起來(lái)也比較容易。MAX1490 AEPG是MAX1490A系列中的一款工業(yè)級(jí)芯片,使用溫度范 圍較商用級(jí)更廣,為-40°C 到 +85°C。使用MAX1490AEPG設(shè)計(jì)的電路原理圖如圖2:


  圖2 MAX1490A 硬件電路圖

  此原理圖參考了MAX1490A的數(shù)據(jù)手冊(cè)的典型應(yīng)用電路圖。其中接口電路采用5V供電,C1、 C2是去耦電容,R3、R5、R6、R8取數(shù)據(jù)手冊(cè)建議參考值。R1、R2為匹配電阻,可以降低信號(hào) 反射。R1、R2的取值取決于采用的傳輸數(shù)據(jù)線的阻抗,通常數(shù)雙絞線特性阻抗大約在100 至 120 之間,所以R1、R2通常取120歐姆。實(shí)際應(yīng)用中,匹配電阻并不一定需要。由于接收器 是在每個(gè)數(shù)據(jù)位的中點(diǎn)采樣數(shù)據(jù)的,只要反射信號(hào)在開(kāi)始采樣時(shí)衰減到足夠低就可以不考慮 匹配。具體而言R1、R2是否需要取決于數(shù)據(jù)傳輸速率、電纜長(zhǎng)度及信號(hào)轉(zhuǎn)換速率,有一條經(jīng) 驗(yàn)性的準(zhǔn)則可用來(lái)判斷在什么樣的數(shù)據(jù)速率和電纜長(zhǎng)度時(shí)需要進(jìn)行匹配:當(dāng)信號(hào)的上升或下 降時(shí)間超過(guò)電信號(hào)沿總線單向傳輸所需時(shí)間的3倍以上時(shí)就可以不加匹配。例如對(duì)MAX1490A 而言,輸出信號(hào)的上升或下降時(shí)間典型值為15ns,通常雙絞線上的信號(hào)傳輸速率約為 0.2m/ns, 當(dāng)電纜長(zhǎng)度不超過(guò)1米的時(shí)候可以不用焊接R1、R2。RS422接口的接地是一個(gè)非 常重要的問(wèn)題,接地處理不當(dāng)經(jīng)常會(huì)導(dǎo)致不能穩(wěn)定工作甚至危及系統(tǒng)安全,沒(méi)有一個(gè)合理的 接地系統(tǒng)可能會(huì)使系統(tǒng)的可靠性大打折扣,尤其是在工作環(huán)境比較惡劣的情況下對(duì)于接地的 要求更為嚴(yán)格。很多設(shè)計(jì)者認(rèn)為RS422采用差分傳輸,通信鏈路可以不需要信號(hào)地,從而只 是簡(jiǎn)單地用一對(duì)雙絞線將對(duì)應(yīng)數(shù)據(jù)端口連接起來(lái)。這種接線方法在一般情況下也可以工作, 但給系統(tǒng)埋下了極大的隱患,主要會(huì)導(dǎo)致EMC和共模干擾導(dǎo)致數(shù)據(jù)出錯(cuò)兩個(gè)問(wèn)題。RS422 接 口采用差分方式傳輸信號(hào),只需檢測(cè)兩線之間的電位差就可以判斷數(shù)據(jù)值,但前提是收發(fā)驅(qū) 動(dòng)器只有在共模電壓不超出一定范圍(-7V 至+12V )的條件下才能正常工作,當(dāng)共模電壓 超出此范圍就會(huì)導(dǎo)致接收驅(qū)動(dòng)器接收數(shù)據(jù)出錯(cuò),甚至有可能損壞接口。另外驅(qū)動(dòng)器輸出信號(hào) 中的共模部分需要一個(gè)返回通路,如果沒(méi)有一個(gè)低阻的返回通道(信號(hào)地),就會(huì)以輻射的 形式返回源端,整個(gè)總線就會(huì)像一個(gè)巨大的天線向外輻射電磁波,同樣傳輸線也很容易受到 外界的電磁干擾。因此圖2中的RS422接口的隔離地線需要通過(guò)傳輸線纜的屏蔽層連接起來(lái), 另外在設(shè)計(jì)PCB布線和覆銅的時(shí)候需要注意將信號(hào)地和隔離地之間保持一定的距離,最好在 芯片下面的PCB導(dǎo)一個(gè)長(zhǎng)方形的槽,這樣可以有效防止爬電,以保證MAX1490A的2500V隔離效 果。穩(wěn)壓管D1~D8的作用是把數(shù)據(jù)傳輸線的電壓牢牢限制在-7V至+12V,以有效保護(hù)RS422 接口。增加D9和D10的目的主要是為了防止浪涌電壓損壞接口。

  4 通訊接口的軟件實(shí)現(xiàn)

  RS422標(biāo)準(zhǔn)只對(duì)接口的電氣特性做出規(guī)定而不涉及協(xié)議,因此我們可以定義自己的高層 通信協(xié)議。在本設(shè)計(jì)方案中,傳感器節(jié)點(diǎn)和接入節(jié)點(diǎn)在底層以字節(jié)為單位通信,采用ASCII 協(xié)議,數(shù)據(jù)長(zhǎng)度為11位:1位起始位+8位數(shù)據(jù)+1位偶校驗(yàn)+1位停止位。在上層協(xié)議中采用數(shù) 據(jù)包為單位通信。通信協(xié)議中使用了三種通信數(shù)據(jù)包:數(shù)據(jù)包、命令包和應(yīng)答包。其中數(shù)據(jù) 包定義為:長(zhǎng)度為100個(gè)字節(jié),前面98個(gè)字節(jié)為數(shù)據(jù)字節(jié),后面2個(gè)字節(jié)為校驗(yàn)字節(jié),校驗(yàn)字 節(jié)為前98個(gè)字節(jié)以每2個(gè)為一組進(jìn)行異或所得值;命令包定義為:長(zhǎng)度為10個(gè)字節(jié),第1個(gè)字 節(jié)固定為0X02,代表這個(gè)數(shù)據(jù)包為命令包,第2個(gè)字節(jié)為命令類型標(biāo)志字節(jié),用來(lái)表明命令 的類型,如請(qǐng)求發(fā)送數(shù)據(jù)命令、請(qǐng)求發(fā)送狀態(tài)命令等。第2到第7字節(jié)為保留字節(jié),暫時(shí)沒(méi)有 定義,固定為0,可以留待以后擴(kuò)充功能。最后兩個(gè)字節(jié)為校驗(yàn)字節(jié),校驗(yàn)字節(jié)為前8個(gè)字節(jié) 以每2個(gè)為一組進(jìn)行異或所得值;應(yīng)答包定義為:長(zhǎng)度為10個(gè)字節(jié),第1個(gè)字節(jié)固定為0X01, 表明這個(gè)數(shù)據(jù)包為應(yīng)答包,第2字節(jié)為接收是否正常標(biāo)志字節(jié),為0X01代表正常,0X00代表 不正常。第3字節(jié)為接入節(jié)點(diǎn)和服務(wù)器通信故障是否錯(cuò)誤標(biāo)志字節(jié),值0X01代表正常,0X00 代表故障。第3到第7字節(jié)為保留字節(jié),暫時(shí)沒(méi)有定義,固定為0,留待以后擴(kuò)充功能。最后 兩個(gè)字節(jié)為校驗(yàn)字節(jié),校驗(yàn)字節(jié)為前8個(gè)字節(jié)以每2個(gè)為一組進(jìn)行異或所得值。每種數(shù)據(jù)包均 引入字節(jié)偶校驗(yàn)和幀校驗(yàn),這樣可以有效得檢測(cè)到通信中的數(shù)據(jù)錯(cuò)誤。

  本系統(tǒng)中,傳感器節(jié)點(diǎn)和接入節(jié)點(diǎn)可雙向通信,考慮到實(shí)際情況下主要是傳感器節(jié)點(diǎn)通 過(guò)RS422接口向接入節(jié)點(diǎn)發(fā)送大量的數(shù)據(jù),而接入節(jié)點(diǎn)主要向傳感器節(jié)點(diǎn)發(fā)送少量的狀態(tài)和 命令,協(xié)議中設(shè)計(jì)了兩種通信模式。

  通信模式A:接入節(jié)點(diǎn)主動(dòng)發(fā)起通信,接入節(jié)點(diǎn)首先主動(dòng)發(fā)送一個(gè)請(qǐng)求傳感器節(jié)點(diǎn)發(fā)送 數(shù)據(jù)的命令包給傳感器節(jié)點(diǎn),傳感器節(jié)點(diǎn)收到此命令包后發(fā)送一個(gè)數(shù)據(jù)包給接入節(jié)點(diǎn),完成 一次通信,接入節(jié)點(diǎn)負(fù)責(zé)無(wú)應(yīng)答錯(cuò)誤和數(shù)據(jù)錯(cuò)誤的檢查。此模式下接入節(jié)點(diǎn)端程序流程圖如 圖3左圖所示,傳感器節(jié)點(diǎn)端接收流程圖如圖3右圖所示。


  圖3:模式A接入節(jié)點(diǎn)端程序流程圖(左)與傳感器節(jié)點(diǎn)端流程圖(右)

  通信模式B:傳感器節(jié)點(diǎn)主動(dòng)發(fā)起通信,傳感器節(jié)點(diǎn)首先發(fā)出數(shù)據(jù)包給接入節(jié)點(diǎn),接入 節(jié)點(diǎn)收到數(shù)據(jù)包后發(fā)送一個(gè)應(yīng)答包,傳感器節(jié)點(diǎn)收到應(yīng)答包后完成一次通信,無(wú)應(yīng)答錯(cuò)誤和 數(shù)據(jù)錯(cuò)誤的檢查由傳感器節(jié)點(diǎn)負(fù)責(zé)。此模式下傳感器節(jié)點(diǎn)端程序流程圖如圖4左圖所示,接 入端接收流程圖如圖4右圖所示。


  圖4:模式B接入節(jié)點(diǎn)端程序流程圖(左)與傳感器節(jié)點(diǎn)端流程圖(右)

  正常情況下,接入節(jié)點(diǎn)與傳感器節(jié)點(diǎn)均處于接收狀態(tài)。當(dāng)接入節(jié)點(diǎn)主動(dòng)發(fā)起通信時(shí)進(jìn)入 通信模式A,當(dāng)傳感器節(jié)點(diǎn)主動(dòng)發(fā)起通信時(shí)進(jìn)入通信模式B。

  實(shí)際做穩(wěn)定性測(cè)試時(shí),采用一臺(tái)普通PC機(jī)作為上位機(jī)服務(wù)器,傳感器節(jié)點(diǎn)循環(huán)發(fā)送三角 波數(shù)據(jù),服務(wù)器顯示三角波波形,傳感器節(jié)點(diǎn)和服務(wù)器均記錄傳輸?shù)臄?shù)據(jù)包數(shù)量,系統(tǒng)連續(xù) 運(yùn)行8小時(shí),實(shí)驗(yàn)結(jié)果顯示服務(wù)器收到的數(shù)據(jù)包數(shù)目和傳感器節(jié)點(diǎn)發(fā)送的數(shù)據(jù)包數(shù)目相同, 數(shù)據(jù)傳輸丟失率為0.0%。另外在整個(gè)系統(tǒng)做高溫、低溫、濕熱等環(huán)境試驗(yàn)和靜電放電、浪 涌沖擊、電場(chǎng)輻射抗擾度、工頻磁場(chǎng)抗擾度等電磁兼容可靠性試驗(yàn)中,RS422接口也表現(xiàn)十 分可靠,沒(méi)有出現(xiàn)差錯(cuò)。

  5 總結(jié)

  本設(shè)計(jì)方案在芯片選型上選用了美信公司的隔離型RS422芯片MAX1490AEPG,可以有效從 電氣上隔離系統(tǒng)各個(gè)子模塊的相互干擾,電路設(shè)計(jì)上考慮了接口兩側(cè)接地的隔離距離以防止 爬電,兩個(gè)對(duì)接的RS422接口共地可以很好的抑制傳輸線的共模電壓干擾以及取得良好的EMC 性能,傳輸線終端的匹配電阻可以減少信號(hào)的反射,增加穩(wěn)壓和瞬態(tài)抑制二極管可以解決防 浪涌、靜電放電等問(wèn)題;在通信協(xié)議設(shè)計(jì)中引入的字節(jié)的偶校驗(yàn)、數(shù)據(jù)幀的校驗(yàn)可以有效得 檢測(cè)數(shù)據(jù)出錯(cuò),無(wú)應(yīng)答計(jì)數(shù)器和數(shù)據(jù)錯(cuò)誤計(jì)數(shù)器的引入可以偵測(cè)到通訊線路故障和批量數(shù)據(jù) 出差以及避免軟件死鎖,采取以上措施使RS422接口的通信可靠性得到極大的保障。該設(shè)計(jì) 方案可以廣泛用于對(duì)可靠性有一定要求的工控、醫(yī)療、軍事場(chǎng)合。

  本文作者創(chuàng)新點(diǎn):本文提出的接口設(shè)計(jì)方案在硬件上對(duì)普通的RS422接口電路進(jìn)行改善,在 軟件上亦加入了多種檢錯(cuò)措施。從軟硬件兩方面整體來(lái)提高RS422接口的可靠性,使其在惡 劣的工控環(huán)境更加穩(wěn)定可靠。

linux操作系統(tǒng)文章專題:linux操作系統(tǒng)詳解(linux不再難懂)


評(píng)論


相關(guān)推薦

技術(shù)專區(qū)

關(guān)閉