UART、RS232、RS485协议
文章目錄
- 一、UART
- 1.1 UART幀格式
- 1.2 UART電路的連接
- 1.3 串口存在的問題
- 二、RS232協議
- 2.0 RS232協議介紹
- 2.1 RS232的幀格式
- 2.2 RS232電路連接
- 2.3 RS232存在的問題
- 三、RS485協議
- 3.0 RS485協議介紹
- 3.1 RS485幀格式
- 3.2 RS485電路連接
- 3.3 RS485的優勢
- 四、RS485編程。
- 4.1 收發器SP3485及其電路連接
- 收發器SP3485
- 收發器SP3485的電路連接
- 4.2 代碼
在電腦之間,我們常用RS232來通訊;在工業上,我們經常會用到RRS485總線。這RS232和RS485到底是什么東西?它與常用的串口通信有什么聯系嗎?下面我們就來看看他們之間的聯系。
一、UART
1.1 UART幀格式
1.2 UART電路的連接
1.3 串口存在的問題
想一想 串口會存在什么問題?
串口傳輸距離近,容易受到干擾。在一般的項目中我們很少用到串口區通信的。
具體的問題如下:
??UART只是對信號的時序進行了定義,而未定義接口的電氣特性;
??UART通信時一般直接使用處理器使用的電平,即TTL電平,但不同的處理器使用的電平存在差異,所以不同的處理器使用UART通信時一般不能直接相連;
??UART沒有規定不同器件連接時連接器的標準,所以不同器件之間通過UART通信時連接很不方便;
??UART一般直接使用TTL信號來表示0和1,但TTL信號的抗干擾能力較差,數據在傳輸過程中很容易出錯
??因為TTL信號的抗干擾能力較差,所以其通信距離也很短,一般只能用于一個電路板上的兩個不芯片之間的通信
二、RS232協議
2.0 RS232協議介紹
RS232協議
??RS232協議是在1970年由美國電子工業協會(EIA)聯合貝爾系統、調制解調器廠家、計算機終端生產廠家共同制定的用于串行通訊的標準。
??該標準規定采用一個標準的連接器。標準中對連接器的每個引腳的作用加以規定,還對信號的電平加以規定;
-
RS232接口
??該標準規定采用一個25引腳的DB-25連接器,標準中對連接器的每個引腳的信號內容加以規定)還對各種信號的電平加以規定;后來IBM的PC機將RS232簡化成了DB-9維接器,后來成為事實標準;現在工業控制的RS-232接口一般只使用RXD、TXD、GND三條線; -
信號
??該標準規定邏輯“1”的電平為-5v到-15v,邏輯“0”的電平為+5v到+15v,選用該電氣標準的目的在于提高抗干擾能力,增大通信距離,其傳送距離一般可達15m;
2.1 RS232的幀格式
RS232幀格式與UART串口通信一樣。他們只是在電氣的特性上不同。
2.2 RS232電路連接
??雖然很多處理器中都會集成UART控制器,但處理器產生的信號一般都是TTL信號并不是符合RS232標準的信號,所以一般我們還需要在處理器外部去添加電路對信號的電平進行轉換;經過芯片的電平轉換后,TTL信號就變成了RS232信號。我們想要發送的信息就以RS232的信號的方式發送給接收方,接收方也需要一個RS232轉TTL電平的電平轉換器,把RS232信號轉換位TTL電平。
??現在的電腦上,一般也很少用RS232了,現在電腦上主要是以USB為主。但是在嵌入式中,RS232還是經常使用的。
2.3 RS232存在的問題
??RS232相當于串口來說,只是電氣的層面不同,在幀格式上都是相同的,即軟件編程都是相同的。
RS232存在以下幾個問題:
- 容易燒壞芯片
??接口的信號電平值較高,易損壞接口電路的芯片,又因為與TTL電平不兼容,所以需要使用電平轉換芯片才能與TTL電路連接 - 通信速度較低
- 易產生共模干擾,抗噪聲干擾性弱
- 傳輸距離較短(15m)
三、RS485協議
3.0 RS485協議介紹
??為了解決RS232的通信易受到干擾,傳輸距離短問題,又定義了一種新的協議-RS485協議。
??該標準由電信行業協會和電子工業聯盟定義;使用該標準的通信網絡能在遠距離條件下以及電子噪聲大的環境下有效傳輸信號。該標準允許連接多個收發器,即具有多站能力,這樣可以利用單一的RS485接口方便地建立起一個設備網絡。
??RS485在工業上經常使用到。
- 信號
??RS485標準規定采用差分信號(差分信號是指用兩根線的電平差表示0、1)進行數據傳輸,兩線間的電壓差為+2v到+6v表示邏輯“1”,兩線間的電壓差為-2v到-6v表示邏輯“0”;
??使用差分信號能有效地減少噪聲信號的干擾(因為如果受到干擾,兩根線都會受到相同的干擾,所以受到干擾后這兩根線的電平差仍然能正確的表示0或1),延長通信距離,RS485的通信距離可以達到1500m;RS485接口信號的電平比RS232降低了,所以不易損壞接口電路的芯片,且該電平與TTL電平兼容,可方便地與TTL電路連接 - 接口
??RS485采用兩線制,這種接線方式為總線式拓撲結構,在同一總線上可以同時存在多個節點;
??因為采用兩線制,數據的發送和接收都要使用這對差分信號線,發送和接收不能同時進行,所以只能采用半雙工的方式工作,編程時也需要加以處理。
??這兩根線采用雙絞線,這樣更加減少干擾。
3.1 RS485幀格式
??RS485都是基于串口的,幀格式與串口的相同。與串口和RS232只是電氣的特性不同,軟件的編程都是差不多的。
??由于采用了差分信號,RS485 只能采用半雙工的方式工作,只能同一時間發送數據或者接收數據。在編程48時,需要注意這一點。
3.2 RS485電路連接
??雖然很多處理器中都會集成UART控制器,但處理器產生的信號一般都是TTL信號并不是符合RS485標準的信號,所以一般我們還需要在處理器外部去添加電路將TTL信號轉換成差分信號;
??RS485的接口是A對A,B對B。
3.3 RS485的優勢
- 安全,不易燒芯片
??接口的信號電平值較低,不易損壞接口電路的芯片,且與TTL電平兼容,可方便地與TTL電路連接 - 通信速度快
- 抗噪聲干擾性強
使用了差分信號,雙絞線 - 傳輸距離較遠(1500m)
- 可實現多節點組網
在RS485總線上可以掛多個設備。
四、RS485編程。
4.1 收發器SP3485及其電路連接
收發器SP3485
我們開發板采用SP3485作為收發器,該芯片支持3.3V供電,最大傳輸速度可達10Mbps,支持多達32-個節點,并且有輸出短路保護。該芯片的框圖如圖
- 圖中A、 B總線接口,用于連接485總線。
- RO是接收輸出端,DI是發送數據收入端,。
- RE是接收使能信號(低電平有效),DE是發送使能信號(高電平有效)
收發器SP3485的電路連接
- 一個引腳決定RS485數據收發
??RS485是半雙工的方式,RE、DE可以連接在一起,MCU用一個引腳來控制RS485的收發。
??如上圖:RS485_RE=1,表示發送數據。RS485_RE=0,表示接收數據。 - A、B口接偏置電阻,保證空閑電壓差大于200mV
??R14和R17是兩個偏置電阻,用來保證總線空閑時,AB之間的電壓差都會大于200mV,避免總線空閑時壓差不定邏輯混亂。 - 兩個485接口連接,A連接A,B連接B。
4.2 代碼
代碼網絡上都有,
注意串口波特率得設置相同,不然接收到的數據都是00
總結
以上是生活随笔為你收集整理的UART、RS232、RS485协议的全部內容,希望文章能夠幫你解決所遇到的問題。
- 上一篇: 全球TOP100电子杂志整理
- 下一篇: 树莓派十周年,回顾它的发展历程