新聞中心

        EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > RS422/RS485網絡的無極性接線設計與實現

        RS422/RS485網絡的無極性接線設計與實現

        作者: 時間:2014-02-26 來源:網絡 收藏
          1 問題提出

          現在的很多測控系統(tǒng)是使用或RS485總線互連的。/485總線信號是由4(2)根有極性的差分信號來傳輸的,不能將其反接。當網絡傳輸距離長或節(jié)點多時,在線路上的分續(xù)線盒也會很多,很容易將信號線在傳輸途中接反,從而造成信號無法正常傳輸。雖然可以查出故障點,但在分線盒很多時,也是一件很費時的事情。為了布線方便,分續(xù)線盒的數量往往大于總線上的模塊數。對于室內系統(tǒng),網絡線路一般外加PVC線槽甚至暗埋于墻體內;對于室外系統(tǒng),線路一般架空或地下走線,造成對線路反接問題的查找和修正很困難。另一方面,為了施工方便,也應允許在途中隨意接線,不分極性。為此,需要各模塊既能接收圖1(b)所示的正相信號,也能接收圖1(c)所示的極性可能反相的、RS485信號。

          

          圖1 傳輸線反接錯誤所引起的接收端信號波形改變

          對于那些采取未經任何編碼調制的基帶信號來傳輸數據的RS422/485系統(tǒng),圖1中由于接線錯誤將造成收信方無法正確接收數據;但如對信號進行適當的調制后,即使途中出現接線錯誤,收方仍然能正確接收到數據,即在布線施工中可以無極性布線。

          下面分別給出使用未調制信號和調制信號傳輸數據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ā)信號的同相端在驅動器內部已經短路,無法在接收驅動器增加電路,不能達到無極性信號傳輸的目的。

          可見,在中,模塊必須使用獨立收發(fā)引腳的驅動器時,才能增加無極性設計電路。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區(qū)

        關閉
        主站蜘蛛池模板: 额济纳旗| 阳春市| 广平县| 黎城县| 玉屏| 民权县| 公主岭市| 宁夏| 连平县| 黎城县| 康马县| 锡林郭勒盟| 微博| 湖州市| 大埔县| 治多县| 会泽县| 楚雄市| 太白县| 新丰县| 黔江区| 临沭县| 绩溪县| 博罗县| 黎川县| 准格尔旗| 沛县| 密云县| 临邑县| 芮城县| 凤凰县| 丰原市| 郧西县| 秦安县| 安阳市| 百色市| 会东县| 靖远县| 高平市| 梁山县| 莱州市|