無極性RS422/RS485網絡的接線設計
1、問題提出
本文引用地址:http://www.ex-cimer.com/article/155462.htm現(xiàn)在的很多測控系統(tǒng)是使用RS422或RS485總線互連的。RS422/485總線信號是由4(2)根有極性的差分信號來傳輸的,不能將其反接。當網絡傳輸距離長或節(jié)點多時,在線路上的分續(xù)線盒也會很多,很容易將信號線在傳輸途中接反,從而造成信號無法正常傳輸。雖然可以查出故障點,但在分線盒很多時,也是一件很費時的事情。為了布線方便,分續(xù)線盒的數量往往大于總線上的模塊數。對于室內系統(tǒng),網絡線路一般外加PVC線槽甚至暗埋于墻體內;對于室外系統(tǒng),線路一般架空或地下走線,造成對線路反接問題的查找和修正很困難。另一方面,為了施工方便,也應允許在途中隨意接線,不分極性。為此,需要各模塊既能接收圖1(b)所示的正相信號,也能接收圖1(c)所示的極性可能反相的RS422、RS485信號。
圖1 傳輸線反接錯誤所引起的接收端信號波形改變
對于那些采取未經任何編碼調制的基帶信號來傳輸數據的RS422/485系統(tǒng),圖1中由于接線錯誤將造成收信方無法正確接收數據;但如對信號進行適當的調制后,即使途中出現(xiàn)接線錯誤,收方仍然能正確接收到數據,即在布線施工中可以無極性布線。
下面分別給出使用未調制信號和調制信號傳輸數據2種情況下的無極性接線設計方法。先討論使用未編碼調制信號的情況。
2 、RS422信號線的無極性接線設計
RS422總線使用收發(fā)分開的信號線傳輸,各為2根信號線。為了使RS422接收器能夠接收總線上傳來的2種極性的信號,見圖1(b)和圖1(c),首先要檢測到接線的錯誤,其次才是更正接線錯誤。這里希望通過網絡模塊電路來修正接線錯誤,而不是通過更正錯誤的傳輸線連接。
(1) 人工修正方法
對于MCU的UART來說,無信號傳送時,TX引腳為1電平,因此,RS422驅動器的A端會為高電平,B端為低電平,此時,在接收模塊的A端也應為固定高電平。圖2電路中,在一個接收端和GND之間連接一個LED,從而可以據此判斷該端是和發(fā)送端A相連,還是和發(fā)送端B相連,然后通過4位撥碼開關SW來人工調整模塊總線和接收模塊中RS422驅動器接收輸入的連接。
圖2 RS422總線傳輸中的無極性接收電路
人工修正方法需要發(fā)送模塊在軟件上進行配合。在調整時,發(fā)送方不能發(fā)送數據,也就是總線上的差動電壓為固定的。這種方法,雖然有些麻煩,但在一些情況下,比起檢查和修正線路來還是要簡便一些。
(2) 自動修正方法
如果在總線輸入端子和RS422驅動器之間用電磁繼電器(或模擬開關)代替拔碼開關SW,就可以通過軟件來自動控制總線A、B端的切換。檢查是否存在錯誤接線也可通過軟件進行,只要發(fā)送端發(fā)送一個和收方約定的固定內容數據,如果收方不能正確收到,則表明接線錯誤,就控制繼電器切換總線連接;否則,不切換。必須注意的是,使用模擬開關時,應注意對線路阻抗和傳輸速度的影響。
3、RS485信號線的無極性接線設計
RS485總線中的發(fā)送和接收信號共用一對線,使用的驅動器可分為兩類:一類是像SN75176之類的驅動器,在驅動器內部已經將Rx和Tx信號接到一起;另一類是使用RS422方式的驅動器,如發(fā)送和接收使用2個芯片,如SN75177(接收驅動器)加SN75178(發(fā)送驅動器),或者收發(fā)驅動器集成在1個芯片上,如SNLBC75179、MAX488、MAX490等,這種情況下,在線路板上將收發(fā)的同相端短接。對于后者(使用收發(fā)引腳獨立的驅動器),無極性設計的方法仍然類同于RS422方式;對于前者,由于收發(fā)信號的同相端在驅動器內部已經短路,無法在接收驅動器增加電路,不能達到無極性信號傳輸的目的。
可見,在RS485網絡中,模塊必須使用獨立收發(fā)引腳的驅動器時,才能增加無極性設計電路。
評論