RS-485總線具有結(jié)構(gòu)簡單、通信距離遠、通信速度高、成本低等優(yōu)點,廣泛應(yīng)用于工業(yè)通訊、電力監(jiān)控以及儀器儀表等行業(yè)。 一般RS485收發(fā)器會有兩個引腳來控制數(shù)據(jù)的收發(fā)方向,如果添加外圍電路將其設(shè)計成自動收發(fā)狀態(tài),會有什么常見問題?
RS485自動收發(fā)的原理
在各種通訊方式中,RS485總線是較為常見的一種,因其接口簡單,組網(wǎng)方便等特點,在工業(yè)控制、儀器、儀表、多媒體網(wǎng)絡(luò)、機電一體化產(chǎn)品等諸多領(lǐng)域得到廣泛應(yīng)用。
MCU通信一般使用TTL電平,如果外接設(shè)備使用的是485電平,那么兩者是無法直連進行通訊的,必須通過485收發(fā)器,進行電平轉(zhuǎn)換。由于485通信是半雙工通信,也就是說,數(shù)據(jù)不能同時進行收發(fā),所以485收發(fā)器通常會有控制收發(fā)方向的引腳。
下面我們來看一下,485收發(fā)器實現(xiàn)自動收發(fā)的外圍電路設(shè)計。
從原理圖中可以看出,自動收發(fā)主要是通過NPN三極管開關(guān)電路來實現(xiàn),具體的數(shù)據(jù)收發(fā)過程是怎樣的呢?
●發(fā)送數(shù)據(jù)時
發(fā)送數(shù)據(jù)時,使用的是MCU的TX引腳,假設(shè)我們想要發(fā)送數(shù)據(jù)0x55,那么轉(zhuǎn)換成二進制就是0b01010101,即在TX引腳上就體現(xiàn)為高、低電平之間的相互切換。
當(dāng)TX引腳為0時,三極管不導(dǎo)通,DE為高電平,進入發(fā)送模式。因為DI引腳接地,那么此時AB之間的差分電平邏輯就為0;
當(dāng)TX引腳為1時,三極管導(dǎo)通,RE為低電平,進入接收模式。此時收發(fā)器的A、B引腳進入高阻態(tài),因為上拉電阻R4、下拉電阻R3的作用,此時AB之間的差分電平邏輯為1。
所以保證了TX引腳輸出什么電平,AB之間的差分電平邏輯也保持一致。
●接收數(shù)據(jù)時 接收數(shù)據(jù)時,使用的是MCU的RX引腳。在接收數(shù)據(jù)過程中,TX引腳保持高電平,三極管導(dǎo)通,RE為低電平,進入接收模式,RX引腳會接收AB傳輸過來的數(shù)據(jù)。
自收發(fā)485電路常見問題
1. 通信速度慢
三極管的開啟延時為ns級別,關(guān)斷延時為us級別,會導(dǎo)致收發(fā)電路發(fā)送低電平的延時時間較長。
其次高電平的發(fā)送是通過外部上下拉電阻驅(qū)動的,電阻越大,上升沿越緩慢。
2. 高波特率通信時存在通訊風(fēng)險
假設(shè)TX引腳上一個發(fā)送的bit為0,即將發(fā)送的bit為1,由于高電平的發(fā)送是通過外部上下拉電阻驅(qū)動的,收發(fā)器會切換到接收狀態(tài)。此時AB線從低電平切換到高電平需要幾百ns,RX引腳在這段時間內(nèi)會接收到0。如果波特率太高,RX引腳接收到的低電平會被誤認(rèn)為是接收的起始位,導(dǎo)致通訊異常。
3. 外圍電路接結(jié)電容影響收發(fā)器通訊穩(wěn)定性
高電平的發(fā)送是通過外部上下拉電阻驅(qū)動,高電平輸出緩慢,如果外部保護電路的結(jié)電容又較高,會導(dǎo)致AB差分電壓幅值較低,當(dāng)幅值低于門限電平時,會導(dǎo)致通訊異常。
-
審核編輯:劉清
-
工業(yè)通訊
+關(guān)注
關(guān)注
0文章
61瀏覽量
11535 -
RS-485總線
+關(guān)注
關(guān)注
0文章
33瀏覽量
13940 -
TTL電平
+關(guān)注
關(guān)注
1文章
99瀏覽量
12001 -
RS485收發(fā)器
+關(guān)注
關(guān)注
0文章
9瀏覽量
2643
原文標(biāo)題:RS-485自動收發(fā)幾種常見異常
文章出處:【微信號:strongerHuang,微信公眾號:strongerHuang】歡迎添加關(guān)注!文章轉(zhuǎn)載請注明出處。
發(fā)布評論請先 登錄
相關(guān)推薦
評論