485接口具有很好的抗噪音抗干擾、長距離傳輸和多站能力特性,使其為工控行業首選串行接口。485規定的電氣特性為2線,半雙工多點通信。它的電氣特性是有線纜兩端的電壓差來決定的。由于半雙工模式,通訊時需要切換收發狀態,485電路大多分為如下幾種:
傳統RS485電路(帶收發控制腳非隔離RS-485電路) :
傳統的485應用電路如下圖所示,TTL電平端采用3線控制,常見的控制方式為:
從接收狀態向發送狀態轉換時,先禁止MCU內部UART的接收使能,再打開485的發送器使能,然后允許MCU內部UART的發送使能,開始發送數據;
從發送狀態向接收狀態轉換時,先禁止MCU內部UART的發送使能,再關閉485的發送使能,如果485的接收使能被禁止,則緊跟著打開485的接收使能,再延時一段時間后,才打開MCU內部UART的接收使能。
2.自收發切換電路非隔離RS-485電路 :
從上面的分析可以知道,帶收發控制腳的485產品在編程上操作是很復雜的,為了操作方便,用戶常常將電路改為自動收發電路,如圖 2為常見的采用分立元件搭建非隔離自動收發RS485電路。自動收發RS485的優點在于控制簡單,收發控制腳不需要軟件干預。
雖然采用分立元件搭建的非隔離RS485自動收發電路解決了帶收發控制腳非隔離RS485電路編程上操作復雜的問題,但受三極管切換速度、收發器內部接口阻抗等影響,分立元件搭建的自動收發切換電路,往往不能跑很高的波特率。
3.收發切換隔離RS485電路:
帶有隔離電路的485是最穩定的設計,需要選擇隔離485芯片以及隔離電源,此方案成本相對于前兩種方案會高很多。
本文介紹485硬件切換電路,硬件切換電路節省了單片機成本及軟件編程時間,功能上面和軟件切換邏輯及所實現的功能一致,如下圖:
485芯片采用8pinMAX485芯片,電路使用NPN三極管開切換收發。控制原理是:MCU的UART的TX,RX引腳需要上拉電阻(TX和RX在沒有收據時均是高電平),防止剛上電TX和RX引腳電平不穩定引起收到擾亂數據。A上拉電阻B下拉電阻,終端并聯120歐姆電阻,D10、D11、D12為三個防雷防浪涌的TVS管。
接收 :默認沒有數據時,UART_TX為高電平,三極管導通,MAX485芯片RE低電平使能,RO收數據有效,此時從485AB口收到什么數據就會通過RO通道傳到MCU,完成了接收數據。
發送 :當發送數據時,UART_TX會有一個下拉的電平,表示開始發送數據,此時三極管截止,DE為高電平發送使能。當發送數據‘0’時,由于DI口連接地,此時數據‘0’就會傳輸到AB口 A-B<0,傳輸‘0’,完成了低電平的傳輸。當發送‘1’時,此時三極管導通,按理說RO使能,此時由于還處在發送數據中,這種狀態下MAX485處于高阻態,此時的狀態通過A上拉B下拉電阻決定,此時A-B>0傳輸‘1’,完成高電平的傳輸。
PS:此時有人肯定也會有疑惑,發送數據‘1’,三極管導通RE低電平有效應該是接收使能,為什么芯片會是高阻狀態?因為UART發送收據會有一定的格式,TX和RX數據線均已“位”為最小單位進行傳輸的。在收發數據之前,UART之間要約定好數據的傳輸速率(即每位所占據的時間,其倒數為波特率)、數據的傳輸格式(有多少數據位、是否有校驗位、奇校驗還是偶校驗、是否有停止位)。
平時數據線處于“空閑狀態”(1狀態)。當發送數據時,TX由‘1’變為‘0’維持1位的時間,這樣收方檢測開始位后,再等待1.5位時間就開始一位一位的進行數據傳輸。意思是說,已經確定好發送狀態,電路發送‘1’此時RE有效,接收有效但有由于它處于發送階段,此時芯片會處于高阻狀態。
審核編輯:湯梓紅
-
應用電路
+關注
關注
9文章
430瀏覽量
49538 -
接口
+關注
關注
33文章
8497瀏覽量
150835 -
RS485
+關注
關注
39文章
1142瀏覽量
82137
原文標題:3種硬件切換485電路
文章出處:【微信號:電路一點通,微信公眾號:電路一點通】歡迎添加關注!文章轉載請注明出處。
發布評論請先 登錄
相關推薦
評論