485接口具有很好的抗噪音抗干擾、長距離傳輸和多站能力特性,使其為工控行業(yè)首選串行接口。485規(guī)定的電氣特性為2線,半雙工多點(diǎn)通信。它的電氣特性是有線纜兩端的電壓差來決定的。由于半雙工模式,通訊時(shí)需要切換收發(fā)狀態(tài),485電路大多分為如下幾種:
1.傳統(tǒng)RS485電路(帶收發(fā)控制腳非隔離RS-485電路):
2.傳統(tǒng)的485應(yīng)用電路如下圖所示,TTL電平端采用3線控制,常見的控制方式為:
1.
從接收狀態(tài)向發(fā)送狀態(tài)轉(zhuǎn)換時(shí),先禁止MCU內(nèi)部UART的接收使能,再打開485的發(fā)送器使能,然后允許MCU內(nèi)部UART的發(fā)送使能,開始發(fā)送數(shù)據(jù);
從發(fā)送狀態(tài)向接收狀態(tài)轉(zhuǎn)換時(shí),先禁止MCU內(nèi)部UART的發(fā)送使能,再關(guān)閉485的發(fā)送使能,如果485的接收使能被禁止,則緊跟著打開485的接收使能,再延時(shí)一段時(shí)間后,才打開MCU內(nèi)部UART的接收使能。
2.自收發(fā)切換電路非隔離RS-485電路:
從上面的分析可以知道,帶收發(fā)控制腳的485產(chǎn)品在編程上操作是很復(fù)雜的,為了操作方便,用戶常常將電路改為自動收發(fā)電路,如圖 2為常見的采用分立元件搭建非隔離自動收發(fā)RS485電路。自動收發(fā)RS485的優(yōu)點(diǎn)在于控制簡單,收發(fā)控制腳不需要軟件干預(yù)。
雖然采用分立元件搭建的非隔離RS485自動收發(fā)電路解決了帶收發(fā)控制腳非隔離RS485電路編程上操作復(fù)雜的問題,但受三極管切換速度、收發(fā)器內(nèi)部接口阻抗等影響,分立元件搭建的自動收發(fā)切換電路,往往不能跑很高的波特率。
3.收發(fā)切換隔離RS485電路:
帶有隔離電路的485是最穩(wěn)定的設(shè)計(jì),需要選擇隔離485芯片以及隔離電源,此方案成本相對于前兩種方案會高很多。
本文介紹485硬件切換電路,硬件切換電路節(jié)省了單片機(jī)成本及軟件編程時(shí)間,功能上面和軟件切換邏輯及所實(shí)現(xiàn)的功能一致,如下圖:
485芯片采用8pinMAX485芯片,電路使用NPN三極管開切換收發(fā)。控制原理是:MCU的UART的TX,RX引腳需要上拉電阻(TX和RX在沒有收據(jù)時(shí)均是高電平),防止剛上電TX和RX引腳電平不穩(wěn)定引起收到擾亂數(shù)據(jù)。A上拉電阻B下拉電阻,終端并聯(lián)120歐姆電阻,D10、D11、D12為三個(gè)防雷防浪涌的TVS管。
接收:默認(rèn)沒有數(shù)據(jù)時(shí),UART_TX為高電平,三極管導(dǎo)通,MAX485芯片RE低電平使能,RO收數(shù)據(jù)有效,此時(shí)從485AB口收到什么數(shù)據(jù)就會通過RO通道傳到MCU,完成了接收數(shù)據(jù)。
發(fā)送:當(dāng)發(fā)送數(shù)據(jù)時(shí),UART_TX會有一個(gè)下拉的電平,表示開始發(fā)送數(shù)據(jù),此時(shí)三極管截止,DE為高電平發(fā)送使能。當(dāng)發(fā)送數(shù)據(jù)‘0’時(shí),由于DI口連接地,此時(shí)數(shù)據(jù)‘0’就會傳輸?shù)紸B口 A-B<0,傳輸‘0’,完成了低電平的傳輸。當(dāng)發(fā)送‘1’時(shí),此時(shí)三極管導(dǎo)通,按理說RO使能,此時(shí)由于還處在發(fā)送數(shù)據(jù)中,這種狀態(tài)下MAX485處于高阻態(tài),此時(shí)的狀態(tài)通過A上拉B下拉電阻決定,此時(shí)A-B>0傳輸‘1’,完成高電平的傳輸。
PS:此時(shí)有人肯定也會有疑惑,發(fā)送數(shù)據(jù)‘1’,三極管導(dǎo)通RE低電平有效應(yīng)該是接收使能,為什么芯片會是高阻狀態(tài)?
因?yàn)閁ART發(fā)送收據(jù)會有一定的格式,TX和RX數(shù)據(jù)線均已“位”為最小單位進(jìn)行傳輸?shù)摹T谑瞻l(fā)數(shù)據(jù)之前,UART之間要約定好數(shù)據(jù)的傳輸速率(即每位所占據(jù)的時(shí)間,其倒數(shù)為波特率)、數(shù)據(jù)的傳輸格式(有多少數(shù)據(jù)位、是否有校驗(yàn)位、奇校驗(yàn)還是偶校驗(yàn)、是否有停止位)。
平時(shí)數(shù)據(jù)線處于“空閑狀態(tài)”(1狀態(tài))。當(dāng)發(fā)送數(shù)據(jù)時(shí),TX由‘1’變?yōu)椤?’維持1位的時(shí)間,這樣收方檢測開始位后,再等待1.5位時(shí)間就開始一位一位的進(jìn)行數(shù)據(jù)傳輸。意思是說,已經(jīng)確定好發(fā)送狀態(tài),電路發(fā)送‘1’此時(shí)RE有效,接收有效但有由于它處于發(fā)送階段,此時(shí)芯片會處于高阻狀態(tài)。
審核編輯 黃昊宇
-
工控
+關(guān)注
關(guān)注
6文章
251瀏覽量
29188 -
485
+關(guān)注
關(guān)注
0文章
74瀏覽量
33107
發(fā)布評論請先 登錄
相關(guān)推薦
如何自動切換RS485 RTS引腳
PSOC5 UART 485硬件啟用正確嗎?
嵌入式系統(tǒng)應(yīng)用中如何實(shí)現(xiàn)RS485的方向切換?
RS485 Modbus協(xié)議的硬件電路有哪些
RS485自動切換電路的數(shù)據(jù)收發(fā)原理是什么
RS485總線接口電路

【RS-485收發(fā)切換】使用RS-485要注意的一個(gè)問題

RS485自動切換電路:數(shù)據(jù)收發(fā)原理

485發(fā)送接收切換問題討論

3種硬件切換485電路詳解
科山芯創(chuàng)的COS13487 芯片實(shí)現(xiàn) 485 收發(fā)功能自動切換

評論