RS485是工業(yè)控制場(chǎng)景下,應(yīng)用得非常廣泛的通信協(xié)議,RS485的差分物理信號(hào)在電磁環(huán)境復(fù)雜的工業(yè)現(xiàn)場(chǎng),有強(qiáng)大的抗干擾能力。
對(duì)于平時(shí)專(zhuān)注于應(yīng)用軟件開(kāi)發(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”。信號(hào)電平比RS232降低了,不易損壞接口芯片。另有“使能”控制信號(hào),可使收發(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,只有滿(mǎn)足該條件,整個(gè)網(wǎng)絡(luò)才能正常工作。當(dāng)網(wǎng)絡(luò)線路中共模電壓超出此范圍時(shí)就會(huì)影響通信的穩(wěn)定,甚至損壞接口。
RS485收發(fā)控制方法
RS485屬于半雙工總線,在實(shí)際使用時(shí)一般采用主機(jī)輪詢(xún)或令牌傳遞的方法來(lái)分配總線控制權(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)。
這種方式簡(jiǎn)單易行,不需增加額外成本,這種方法很多人都會(huì)知道并且基本上都用的方法。
第二種:自動(dòng)換向
但是,當(dāng)我們采用某種硬件平臺(tái)的工控主板或核心板進(jìn)行二次開(kāi)發(fā)時(shí),由于工控主板或核心板上沒(méi)有預(yù)留出足夠的I/O端口,使得RS485收發(fā)的程序換向方法無(wú)法實(shí)現(xiàn)。
在某些特定的情況下,開(kāi)發(fā)平臺(tái)的底層驅(qū)動(dòng)未對(duì)外開(kāi)放,難以對(duì)底層進(jìn)行二次開(kāi)發(fā),這種情況下即便有足夠的I/O端口也無(wú)法實(shí)現(xiàn)程序換向。
為此,我們需要采用另外一種換向技術(shù),即自動(dòng)換向技術(shù)。
自動(dòng)換向其實(shí)就是對(duì)使能引腳不需要單獨(dú)的I/O口來(lái)控制,而是由發(fā)送引腳發(fā)送數(shù)據(jù)時(shí)候順便控制了。
要實(shí)現(xiàn)這種方法可以使能那里加一個(gè)反相器,如下圖,在空閑狀態(tài)下,串口的發(fā)送信號(hào)TXD2為高電平,經(jīng)過(guò)反相器后輸出低電平,使SN65LBC184處于接收狀態(tài),而RS485總線由于上下拉電阻的作用處于A高B低的狀態(tài)。
當(dāng)發(fā)送數(shù)據(jù)時(shí),TXD2信號(hào)線上的低電平比特位控制SN65LBC184進(jìn)入發(fā)送狀態(tài),將該比特發(fā)送出去。而高電平比特位則使SN65LBC184處于接收狀態(tài),由RS485總線上下拉電阻把總線置于A高B低的狀態(tài),即表示發(fā)送了高電平。
反相器也可以用三極管代替,如下圖所示,工作原理和加反相器一樣。
但是這種方法在發(fā)送高電平時(shí)的驅(qū)動(dòng)能力有限,因此會(huì)限制通訊距離,一般適用于距離不遠(yuǎn)場(chǎng)合。
其實(shí),為了省去控制的麻煩,也可以采用專(zhuān)門(mén)的、帶有AutoDirection功能的485芯片,比如MAX13487E,它省去了常用的485使能信號(hào),從而簡(jiǎn)化了設(shè)計(jì)電路。
-
工業(yè)
+關(guān)注
關(guān)注
3文章
1977瀏覽量
47572 -
收發(fā)機(jī)制
+關(guān)注
關(guān)注
0文章
2瀏覽量
6070 -
RS485通信
+關(guān)注
關(guān)注
1文章
35瀏覽量
7656
發(fā)布評(píng)論請(qǐng)先 登錄
相關(guān)推薦
工業(yè)現(xiàn)場(chǎng)經(jīng)常用到的 RS485 通信,原來(lái)它的收發(fā)機(jī)制是這樣的
RS485通信原理是什么?RS485應(yīng)用存在哪些問(wèn)題?
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通信的可靠性?

評(píng)論