RS-485/RS-422接口為何在停止通信時接收器仍有數(shù)據(jù)輸出?
?RS485線和網(wǎng)線的主要區(qū)別在于它們的用途、傳輸特性、網(wǎng)絡(luò)拓撲結(jié)構(gòu)以及應用場景。??12用途和傳輸特性
?RS485線?:這是一種串行通信協(xié)議,主要用于工業(yè)自動化、樓宇自動化、安防監(jiān)控等領(lǐng)域。它支持多點通信,允許多個設(shè)備共享同一通信線路,具有很好的抗干擾能力。RS485線采用差分信號傳輸,能夠抑制共模干擾,適合長距離通信需求(最大可達1200米)。
?網(wǎng)線?:基于以太網(wǎng)技術(shù),廣泛應用于企業(yè)網(wǎng)絡(luò)和家庭網(wǎng)絡(luò)。它支持高速數(shù)據(jù)傳輸,適用于局域網(wǎng)和互聯(lián)網(wǎng)連接。網(wǎng)線通常用于需要大帶寬和復雜網(wǎng)絡(luò)拓撲結(jié)構(gòu)的應用,如視頻監(jiān)控、數(shù)據(jù)中心等。
網(wǎng)絡(luò)拓撲結(jié)構(gòu)
?RS485線?:采用總線型拓撲結(jié)構(gòu),不支持環(huán)形或星型網(wǎng)絡(luò)。它通過一條總線將各個節(jié)點串接起來,不支持復雜的網(wǎng)絡(luò)結(jié)構(gòu)。
?網(wǎng)線?:支持多種網(wǎng)絡(luò)拓撲結(jié)構(gòu),包括星型、環(huán)型等。這種靈活性使得網(wǎng)線在局域網(wǎng)和廣域網(wǎng)連接中具有更大的應用范圍。
應用場景
?RS485線?:適用于工業(yè)自動化控制系統(tǒng)、樓宇自動化(如電梯控制、照明控制)、遠程監(jiān)控系統(tǒng)(如安防監(jiān)控、環(huán)境監(jiān)測)等。由于其穩(wěn)定性和抗干擾能力,RS485在需要可靠通信的環(huán)境中非常受歡迎。
?網(wǎng)線?:廣泛應用于企業(yè)局域網(wǎng)和互聯(lián)網(wǎng)連接,適合高速數(shù)據(jù)傳輸需求,如視頻監(jiān)控、數(shù)據(jù)中心等。網(wǎng)線的帶寬大,支持復雜的網(wǎng)絡(luò)拓撲結(jié)構(gòu),能夠滿足大量數(shù)據(jù)的傳輸需求。
對RS-422與RS-485總線網(wǎng)絡(luò)一般要使用終接電阻進行匹配。但在短距離與低速率下可以不用考慮終端匹配。那么在什么情況下不用考慮匹配呢?理論上,在每個接收數(shù)據(jù)信號的中點進行采樣時,只要反射信號在開始采樣時衰減到足夠低就可以不考慮匹配。但這在實際上難以掌握,美國MAXIM公司有篇文章提到一條經(jīng)驗性的原則可以用來判斷在什么樣的數(shù)據(jù)速率和電纜長度時需要進行匹配:當信號的轉(zhuǎn)換時間(上升或下降時間)超過電信號沿總線單向傳輸所需時間的3倍以上時就可以不加匹配。例如具有限斜率特性的RS-485接口MAX483輸出信號的上升或下降時間最小為250ns,典型雙絞線上的信號傳輸速率約為0.2m/ns(24AWGPVC電纜),那么只要數(shù)據(jù)速率在250kb/s以內(nèi)、電纜長度不超過16米,采用MAX483作為RS-485接口時就可以不加終端匹配。
一般終端匹配采用終接電阻方法,前文已有提及,RS-422在總線電纜的遠端并接電阻,RS-485則應在總線電纜的開始和末端都需并接終接電阻。終接電阻一般在RS-422網(wǎng)絡(luò)中取100Ω,在RS-485網(wǎng)絡(luò)中取120Ω。相當于電纜特性阻抗的電阻,因為大多數(shù)雙絞線電纜特性阻抗大約在100~120Ω。這種匹配方法簡單有效,但有一個缺點,匹配電阻要消耗較大功率,對于功耗限制比較嚴格的系統(tǒng)不太適合。
另外一種比較省電的匹配方式是RC匹配,利用一只電容C隔斷直流成分可以節(jié)省大部分功率。但電容C的取值是個難點,需要在功耗和匹配質(zhì)量間進行折衷。
還有一種采用二極管的匹配方法,這種方案雖未實現(xiàn)真正的“匹配”,但它利用二極管的鉗位作用能迅速削弱反射信號,達到改善信號質(zhì)量的目的。節(jié)能效果顯著。
RS-422與RS-485的接地問題
電子系統(tǒng)接地是很重要的,但常常被忽視。接地處理不當往往會導致電子系統(tǒng)不能穩(wěn)定工作甚至危及系統(tǒng)安全。RS-422與RS-485傳輸網(wǎng)絡(luò)的接地同樣也是很重要的,因為接地系統(tǒng)不合理會影響整個網(wǎng)絡(luò)的穩(wěn)定性,尤其是在工作環(huán)境比較惡劣和傳輸距離較遠的情況下,對于接地的要求更為嚴格。否則接口損壞率較高。很多情況下,連接RS-422、RS-485通信鏈路時只是簡單地用一對雙絞線將各個接口的“A”、“B”端連接起來。而忽略了信號地的連接,這種連接方法在許多場合是能正常工作的,但卻埋下了很大的隱患,這有下面二個原因:
1、共模干擾問題:正如前文已述,RS-422與RS-485接口均采用差分方式傳輸信號方式,并不需要相對于某個參照點來檢測信號,系統(tǒng)只需檢測兩線之間的電位差就可以了。但人們往往忽視了收發(fā)器有一定的共模電壓范圍,如RS-422共模電壓范圍為-7~+7V,而RS-485收發(fā)器共模電壓范圍為-7~+12V,只有滿足上述條件,整個網(wǎng)絡(luò)才能正常工作。當網(wǎng)絡(luò)線路中共模電壓超出此范圍時就會影響通信的穩(wěn)定可靠,甚至損壞接口。以圖1為例,當發(fā)送驅(qū)動器A向接收器B發(fā)送數(shù)據(jù)時,發(fā)送驅(qū)動器A的輸出共模電壓為VOS,由于兩個系統(tǒng)具有各自獨立的接地系統(tǒng),存在著地電位差VGPD。那么,接收器輸入端的共模電壓VCM就會達到VCM=VOS+VGPD。RS-422與RS-485標準均規(guī)定VOS≤3V,但VGPD可能會有很大幅度(十幾伏甚至數(shù)十伏),并可能伴有強干擾信號,致使接收器共模輸入VCM超出正常范圍,并在傳輸線路上產(chǎn)生干擾電流,輕則影響正常通信,重則損壞通信接口電路。
2、(EMI)問題:發(fā)送驅(qū)動器輸出信號中的共模部分需要一個返回通路,如沒有一個低阻的返回通道(信號地),就會以輻射的形式返回源端,整個總線就會像一個巨大的天線向外輻射電磁波。
由于上述原因,RS-422、RS-485盡管采用差分平衡傳輸方式,但對整個RS-422或RS-485網(wǎng)絡(luò),必須有一條低阻的信號地。一條低阻的信號地將兩個接口的工作地連接起來,使共模干擾電壓VGPD被短路。
這條信號地可以是額外的一條線(非屏蔽雙絞線),或者是屏蔽雙絞線的屏蔽層。這是最通常的接地方法。
值得注意的是,這種做法僅對高阻型共模干擾有效,由于干擾源內(nèi)阻大,短接后不會形成很大的接地環(huán)路電流,對于通信不會有很大影響。當共模干擾源內(nèi)阻較低時,會在接地線上形成較大的環(huán)路電流,影響正常通信。筆者認為,可以采取以下三種措施:
(1)如果干擾源內(nèi)阻不是非常小,可以在接地線上加限流電阻以限制干擾電流。接地電阻的增加可能會使共模電壓升高,但只要控制在適當?shù)姆秶鷥?nèi)就不會影響正常通信。
(2)采用浮地技術(shù),隔斷接地環(huán)路。這是較常用也是十分有效的一種方法,當共模干擾內(nèi)阻很小時上述方法已不能奏效,此時可以考慮將引入干擾的節(jié)點(例如處于惡劣的工作環(huán)境的現(xiàn)場設(shè)備)浮置起來(也就是系統(tǒng)的電路地與機殼或大地隔離),這樣就隔斷了接地環(huán)路,不會形成很大的環(huán)路電流。
(3)采用隔離接口。有些情況下,出于安全或其它方面的考慮,電路地必須與機殼或大地相連,不能懸浮,這時可以采用隔離接口來隔斷接地回路,但是仍然應該有一條地線將隔離側(cè)的公共端與其它接口的工作地相連。
RS-422與RS-485的網(wǎng)絡(luò)失效保護
RS-422與RS-485標準都規(guī)定了接收器門限為±200mV。這樣規(guī)定能夠提供比較高的噪聲抑制能力,如前文所述,當接收器A電平比B電平高+200mV以上時,輸出為正邏輯,反之,則輸出為負邏輯。但由于第三態(tài)的存在,即在主機在發(fā)端發(fā)完一個信息數(shù)據(jù)后,將總線置于第三態(tài),即總線空閑時沒有任何信號驅(qū)動總線,使AB之間的電壓在-200~+200mV直至趨于0V,這帶來了一個問題:接收器輸出狀態(tài)不確定。如果接收機的輸出為0V,網(wǎng)絡(luò)中從機將把其解釋為一個新的啟動位,并試圖讀取后續(xù)字節(jié),由于永遠不會有停止位,產(chǎn)生一個幀錯誤結(jié)果,不再有設(shè)備請求總線,網(wǎng)絡(luò)陷于癱瘓狀態(tài)。除上述所述的總線空閑會造成兩線電壓差低于200mV的情況外,開路或短路時也會出現(xiàn)這種情況。故應采取一定的措施避免接收器處于不確定狀態(tài)。
通常是在總線上加偏置,當總線空閑或開路時,利用偏置電阻將總線偏置在一個確定的狀態(tài)(差分電壓≥-200mV)。如圖1。將A上拉到地,B下拉到5V,電阻的典型值是1kΩ,具體數(shù)值隨電纜的電容變化而變化。
上述方法是比較經(jīng)典的方法,但它仍然不能解決總線短路時的問題,有些廠家將接收門限移到-200mV/-50mV,可解決這個問題。
RS-422與RS-485的瞬態(tài)保護
前文提到的信號接地措施,只對低頻率的共模干擾有保護作用,對于頻率很高的瞬態(tài)干擾就無能為力了。由于傳輸線對高頻信號而言就是相當于電感,因此對于高頻瞬態(tài)干擾,接地線實際等同于開路。這樣的瞬態(tài)干擾雖然持續(xù)時間短暫,但可能會有成百上千伏的電壓。
實際應用環(huán)境下還是存在高頻瞬態(tài)干擾的可能。一般在切換大功率感性負載如電機、變壓器、繼電器等或閃電過程中都會產(chǎn)生幅度很高的瞬態(tài)干擾,如果不加以適當防護就會損壞RS-422或RS-485通信接口。對于這種瞬態(tài)干擾可以采用隔離或旁路的方法加以防護。
1、隔離保護方法。這種方案實際上將瞬態(tài)高壓轉(zhuǎn)移到隔離接口中的電隔離層上,由于隔離層的高絕緣電阻,不會產(chǎn)生損害性的浪涌電流,起到保護接口的作用。通常采用高頻變壓器、光耦等元件實現(xiàn)接口的電氣隔離,已有器件廠商將所有這些元件集成在一片IC中,使用起來非常簡便。這種方案的優(yōu)點是可以承受高電壓、持續(xù)時間較長的瞬態(tài)干擾,實現(xiàn)起來也比較容易,缺點是成本較高。
2、旁路保護方法。這種方案利用瞬態(tài)抑制元件(如TVS、MOV、氣體放電管等)將危害性的瞬態(tài)能量旁路到大地,優(yōu)點是成本較低,缺點是保護能力有限,只能保護一定能量以內(nèi)的瞬態(tài)干擾,持續(xù)時間不能很長,而且需要有一條良好的連接大地的通道,實現(xiàn)起來比較困難。實際應用中是將上述兩種方案結(jié)合起來靈活加以運用,如圖1。在這種方法中,隔離接口對大幅度瞬態(tài)干擾進行隔離,旁路元件則保護隔離接口不被過高的瞬態(tài)電壓擊穿。
采用RS485接口時,傳輸電纜的長度如何考慮?
在使用RS485接口時,對于特定的傳輸線徑,從發(fā)生器到負載其數(shù)據(jù)信號傳輸所允許的最大電纜長度是數(shù)據(jù)信號速率的函數(shù),這個長度數(shù)據(jù)主要是受信號失真及噪聲等影響所限制。最大電纜長度與信號速率的關(guān)系曲線是使用24AWG銅芯雙絞電話電纜(線徑為0.511mm),線間旁路電容為52。5PF/M,終端負載電阻為100歐時所得出。當數(shù)據(jù)信號速率降低到90Kbit/S以下時,假定最大允許的信號損失為6dBV時,則電纜長度被限制在1200M。在實用時是完全可以取得比它大的電纜長度。當使用不同線徑的電纜。則取得的最大電纜長度是不相同的。
如何實現(xiàn)RS-485/422多點通訊
RS-485總線上任何時候只能有一發(fā)送器發(fā)送。半雙工方式,主從只能一個發(fā)。全雙工方式,主站總可發(fā)送,從站只能有一個發(fā)送。
RS-485/RS422接口通訊時,在什么條件下需要采用終端匹配?電阻值如何確定?如何配置終端匹配電阻?
在長線信號傳輸時,一般為了避免信號的反射和回波,需要在接收端接入終端匹配電阻。其終端匹配電阻值取決于電纜的阻抗特性,與電纜的長度無關(guān)。
RS-485/RS-422一般采用雙絞線(屏蔽或非屏蔽)連接,終端電阻一般介于100至140Ω之間,典型值為120Ω。在實際配置時,在電纜的兩個終端節(jié)點上,即最近端和最遠端,各接入一個終端電阻,而處于中間部分的節(jié)點則不能接入終端電阻,否則將導致通訊出錯。
RS-485網(wǎng)不知道最遠站點是哪一個,應該如何接匹配電阻呢?
會出現(xiàn)這種情況,是由于用戶組成RS-485網(wǎng)時,沒有遵循站點至總線的連線應盡可能短的原則。如果總線布線遵循這一原則,就不存在不知道哪個站點是最遠的問題。而且要注意,這樣的布線,系統(tǒng)將會工作得不好。
RS-485/RS-422接口為何在停止通信時接收器仍有數(shù)據(jù)輸出?
由于RS-485/RS-422在發(fā)送數(shù)據(jù)完成后,要求所有的發(fā)送使能控制信號關(guān)閉且保持接收使能有效,此時,總線驅(qū)動器進入高阻狀態(tài)且接收器能夠監(jiān)測總線上是否有新的通信數(shù)據(jù)。但是由于此時總線處于無源驅(qū)動狀態(tài)(若總線有終端匹配電阻時,A和B線的差分電平為0,接收器的輸出不確定,且對AB線上的差分信號的變化很敏感;若無終端匹配,則總線處于高阻態(tài),接收器的輸出不確定),容易受到外界的噪聲干擾。當噪聲電壓超過輸入信號門限時(典型值±200mV),接收器將輸出數(shù)據(jù),導致對應的UART接收無效的數(shù)據(jù),使緊接著的正常通訊出錯;另外一種情況可能發(fā)生在打開/關(guān)閉發(fā)送使能控制的瞬間,使接收器輸出信號,也會導致UART錯誤地接收。
解決方法:
1)在通訊總線上采用同相輸入端上拉(A線)、反相輸入端下拉(B線)的方法對總線進行鉗位,保證接收器輸出為固定的“1”電平;
2)采用內(nèi)置防故障模式的MAX308x系列的接口產(chǎn)品替換該接口電路;
3)通過軟件方式消除,即在通信數(shù)據(jù)包內(nèi)增加2-5個起始同步字節(jié),只有在滿足同步頭后才開始真正的數(shù)據(jù)通訊。