RS485是工業(yè)控制場景下,應(yīng)用得非常廣泛的通信協(xié)議,RS485的差分物理信號在電磁環(huán)境復(fù)雜的工業(yè)現(xiàn)場,有強(qiáng)大的抗干擾能力。
對于平時(shí)專注于應(yīng)用軟件開發(fā)的工程師,使用RS485進(jìn)行數(shù)據(jù)傳輸,只要關(guān)注串口的數(shù)據(jù)收發(fā)器即可,但其實(shí)在硬件層面,RS485通信的數(shù)據(jù)收發(fā),也需要遵循一定的機(jī)制。
RS485通信接口特點(diǎn)
作為工業(yè)領(lǐng)域上較常用的通信方式,RS485總線具有以下諸多特點(diǎn):
1、收發(fā)器輸出A、B之間的電平為+2V~+6V,是邏輯“1”;為-6V~-2V,是邏輯“0”。信號電平比RS232降低了,不易損壞接口芯片。另有“使能”控制信號,可使收發(fā)器處于高阻狀態(tài),切斷與傳輸線的連接。
2、接收器的輸入靈敏度為200mV。即在當(dāng)接收端A、B之間的電平相差200mV時(shí)即可輸出邏輯。
3、傳輸速率高(10Mbps),傳輸距離達(dá)到1200m)。
4、具有多站點(diǎn)傳輸能力,即總線上允許掛接多達(dá)128個(gè)收發(fā)器,可建立設(shè)備網(wǎng)絡(luò)。
5、RS485收發(fā)器共模電壓范圍為-7V~+12V,只有滿足該條件,整個(gè)網(wǎng)絡(luò)才能正常工作。當(dāng)網(wǎng)絡(luò)線路中共模電壓超出此范圍時(shí)就會影響通信的穩(wěn)定,甚至損壞接口。
RS485收發(fā)控制方法
RS485屬于半雙工總線,在實(shí)際使用時(shí)一般采用主機(jī)輪詢或令牌傳遞的方法來分配總線控制權(quán),RS485設(shè)備需要進(jìn)行發(fā)送和接收的方向轉(zhuǎn)換。
比較通用的做法是,每個(gè)RS485設(shè)備在平時(shí)均處于接收狀態(tài),只有在自己有數(shù)據(jù)要發(fā)送時(shí)才轉(zhuǎn)換到發(fā)送狀態(tài),數(shù)據(jù)發(fā)送完畢后再次切換回接收狀態(tài)。
第一種:程序換向控制
最常用的RS485收發(fā)換向方法是程序換向,即由MCU的一個(gè)I/O端口控制RS485收發(fā)器件的收發(fā)使能引腳,在平時(shí)使RS485收發(fā)器件處于接收狀態(tài)。
如下圖,這里485芯片用TI的SN65LBC184,最大速率達(dá)到250Kbps,當(dāng)有數(shù)據(jù)需要發(fā)送時(shí),MCU將RS485收發(fā)器件引腳(網(wǎng)絡(luò)RS485_EN2)置于發(fā)送狀態(tài),完成數(shù)據(jù)發(fā)送后,再把RS485收發(fā)器件切回接收狀態(tài)。
這種方式簡單易行,不需增加額外成本,這種方法很多人都會知道并且基本上都用的方法。
第二種:自動換向
但是,當(dāng)我們采用某種硬件平臺的工控主板或核心板進(jìn)行二次開發(fā)時(shí),由于工控主板或核心板上沒有預(yù)留出足夠的I/O端口,使得RS485收發(fā)的程序換向方法無法實(shí)現(xiàn)。
在某些特定的情況下,開發(fā)平臺的底層驅(qū)動未對外開放,難以對底層進(jìn)行二次開發(fā),這種情況下即便有足夠的I/O端口也無法實(shí)現(xiàn)程序換向。
為此,我們需要采用另外一種換向技術(shù),即自動換向技術(shù)。
自動換向其實(shí)就是對使能引腳不需要單獨(dú)的I/O口來控制,而是由發(fā)送引腳發(fā)送數(shù)據(jù)時(shí)候順便控制了。
要實(shí)現(xiàn)這種方法可以使能那里加一個(gè)反相器,如下圖,在空閑狀態(tài)下,串口的發(fā)送信號TXD2為高電平,經(jīng)過反相器后輸出低電平,使SN65LBC184處于接收狀態(tài),而RS485總線由于上下拉電阻的作用處于A高B低的狀態(tài)。
當(dāng)發(fā)送數(shù)據(jù)時(shí),TXD2信號線上的低電平比特位控制SN65LBC184進(jìn)入發(fā)送狀態(tài),將該比特發(fā)送出去。而高電平比特位則使SN65LBC184處于接收狀態(tài),由RS485總線上下拉電阻把總線置于A高B低的狀態(tài),即表示發(fā)送了高電平。
反相器也可以用三極管代替,如下圖所示,工作原理和加反相器一樣。
但是這種方法在發(fā)送高電平時(shí)的驅(qū)動能力有限,因此會限制通訊距離,一般適用于距離不遠(yuǎn)場合。
其實(shí),為了省去控制的麻煩,也可以采用專門的、帶有AutoDirection功能的485芯片,比如MAX13487E,它省去了常用的485使能信號,從而簡化了設(shè)計(jì)電路。
-
工業(yè)
+關(guān)注
關(guān)注
3文章
2011瀏覽量
47722 -
收發(fā)機(jī)制
+關(guān)注
關(guān)注
0文章
2瀏覽量
6075 -
RS485通信
+關(guān)注
關(guān)注
1文章
35瀏覽量
7700
發(fā)布評論請先 登錄
工業(yè)現(xiàn)場經(jīng)常用到的 RS485 通信,原來它的收發(fā)機(jī)制是這樣的
RS485通信原理是什么?RS485應(yīng)用存在哪些問題?
RS485通信硬件實(shí)現(xiàn)
RS485通信電纜選型經(jīng)驗(yàn)值推薦
RS485通信協(xié)議
RS485通信和Modbus協(xié)議

RS485通信原理的視頻教程詳細(xì)資料免費(fèi)下載

RS485通信編程的視頻教程資料免費(fèi)下載

RS485通信的詳細(xì)資料講解

rs485收發(fā)器芯片選擇?
RS485工業(yè)通信網(wǎng)關(guān)的原理是什么?
如何提高RS485通信的可靠性?

評論