通信總線模塊:RS485、SP3232
學習目標
了解RS485和SP3232通信的方法,
典型的串行通訊標準是RS232和RS485,它們定義了電壓,阻抗等,但不對軟體協議給予定義,
RS485總線標準規定了總線介面的電氣特性標準即對于2個邏輯狀態的定義:正電平在+2V~+6V之間,表示一個邏輯狀態;負電平在-2V~-6V之間,則表示另一個邏輯狀態;數字信號采用差分傳輸方式,能夠有效減少噪聲信號的干擾,
由于RS-232-C介面標準出現較早,難免有不足之處,主要有以下四點:
(1)介面的信號電平值較高,易損壞介面電路的芯片,又因為與TTL電平不兼容,故需使用電平轉換電路方能與TTL電路連接,
(2)傳輸速率較低,在異步傳輸時,波特率為20Kbps,
(3)介面使用一根信號線和一根信號回傳線而構成共地的傳輸形式,這種共地傳輸容易產生共模干擾,所以抗噪聲干擾性弱,
(4)傳輸距離有限,最大傳輸距離標準值為50英尺,實際上也只能用在50米左右,
針對RS-232-C的不足,于是就不斷出現了一些新的介面標準,RS485就是其中之一,


一、RS485
RS485采用差分傳輸方式,也稱作平衡傳輸,+2V~+6V表示“0”,- 6V~- 2V表示“1”,它使用一對雙絞線,將其中一線定義為A,另一線定義為B,
RS485有兩線制和四線制兩種接線,四線制只能實作點對點的通信方式,現很少采用,現在多采用的是兩線制接線方式,這種接線方式為總線式拓樸結構在同一總線上最多可以掛接32個結點,
RS485的資料最高傳輸速率為10Mbps ,
在RS485通信網路中一般采用的是主從通信方式,即一個主機帶多個從機,
因RS485介面具有良好的抗噪聲干擾性,長的傳輸距離和多站能力等上述優點就使其成為首選的串行介面,

圖1 MAX485ESA+管腳圖
二、SP3232
SP3232是一種RS232標準的變種,只是碼制、波特率等等和RS232定義都是一樣的,只有一點不一樣,就是高低電平的定義,
單片機高電平一般是VCC,而低電平一般是GND,而RS232標準的高電平是負邏輯,而低電平是正邏輯,
電腦的COM口就是標準RS232介面,它的高電平定義為-12V,而低電平定義為+12V,所以單片機的串口必須經過電平轉換才可以和標準RS232通信,這個轉換芯片5V的一般是MAX232或SP232,3.3V的一般是MAX3232或SP3232,
要注意區分SP232/SP3232

圖2 SP3232管腳圖
三、UART與RS232/RS485之間的聯系
1.UART
UART是通用異步收發傳輸器(Universal Asynchronous Receiver/Transmitter),是一種異步收發傳輸器,是設備間進行異步通信的關鍵模塊,UART負責處理資料總線和串行口之間的串/并、并/串轉換,并規定了幀格式;通信雙方只要采用相同的幀格式和波特率,就能在未共享時鐘信號的情況下,僅用兩根信號線(Rx和Tx)就可以完成通信程序,因此也稱為異步串行通信,
若加入一個合適的電平轉換器,如SP3232E、SP3485、UART還能用于RS-232、RS-485通信,或與計算機埠連接,UART應用非常廣泛,手機、工業控制、PC等應用中都要用到UART,
2.UART原理
發送資料時,CPU將并行資料寫入UART,UART按照一定的格式在一根電線上串行發出;接收資料時,UART檢測另一根電線上的信號,串行收集然后放在緩沖區中,CPU即可讀取UART獲得這些資料,UART之間以全雙工方式傳輸資料,最精確的連線方法只有3根電線:TXD用于發送資料,RXD用于接收資料,GND用于給雙方提供參考電平,連線如下:

UART使用標準的TTL/COMS邏輯電平(0~5V、0~3.3V、0~2.5V或0~1.8V)來表示資料,高電平表示1,低電平表示0,為了增強資料的抗干擾能力、提高傳輸長度,通常將TTL/COMS邏輯電平轉換為RS232邏輯電平,3~12V表示0,-3~-12V表示1,
TXD、RXD資料線以位為最小單位傳輸資料,而幀由具有完整意義的、不可分割的若干位組成,它包含開始位、資料位、校驗位(需要的話)和停止位,發送資料之前,UART之間要約定好資料的傳輸速率(即每位占據的時間,其倒數稱為波特率)、資料的傳輸格式(即有多少個資料位、是否使用校驗位、是否奇校驗還是偶校驗、有多少個停止位),
資料傳輸流程如下:
①平時資料線處于空閑狀態(1狀態)
②當要發送資料時,UART改變TXD資料線的狀態(變為0狀態)并維持1位的時間,這樣接收方檢測到開始位后,在等待1.5位的時間就開始一位一位地檢測資料線的狀態得到所傳輸的資料,
③UART一幀中可以有5、6、7或8位的資料,發送方一位一位地改變資料線的狀態將它們發送出去,首先發送最低位,
④如果使用校驗功能,UART在發送完資料后,還要發送1位校驗位,有兩種校驗方法:奇校驗、偶校驗–資料位連同校驗位中,狀態1的數量等于奇數或者偶數,
⑤最后,發送停止位,資料線恢復到空閑狀態(1狀態),停止位的長度有三種:1位、1.5位或2位,
下圖演示了UART使用7個資料位、偶校驗、2個停止位的格式傳輸字符’A’(二進制位0100 0001)時,TTL/COMS邏輯電平和RS-232邏輯電平對應的波形,
TTL/COMS邏輯電平:0 1000001 0 11

RS232邏輯電平:0 1000001 0 11

轉載請註明出處,本文鏈接:https://www.uj5u.com/qita/271460.html
標籤:其他
上一篇:《觸點+時間》是一切交易的基本要素【用戶時間,是一切商業競爭的本質】(智能家居爭搶你在家的時間,車聯網爭搶上下班的時間)
