串口是計算機上一種非常通用的設備通信協議。
串口的引腳定義:
兩個串口連接時,接收數據針腳與發送數據針腳相連,彼此交叉,信号地對應相接即可。
串口的電氣特性:
1)RS-232串口通信最遠距離是50英尺
2)RS232可做到雙向傳輸,全雙工通訊,最高傳輸速率20kbps
3)RS-232C上傳送的數字量采用負邏輯,且與地對稱 邏輯1:-3 ∼-15V
邏輯0: 3∼ 15V
所以與單片機連接時常常需要加入電平轉換芯片:
串口通信參數:
a)波特率:RS-232-C标準規定的數據傳輸速率為每秒50、75、 100、150、300、600、1200、2400、
4800、9600、19200波特。 b)數據位:标準的值是5、7和8位,如何設置取決于你想傳送的信息。比如,标準的ASCII碼是0∼127(7位);擴 展的ASCII碼是0∼255(8位)。
c)停止位:用于表示單個包的最後一位,典型的值為1,1.5和2位。由于數是在傳輸線上定時的,并且每一個設備 有其自己的時鐘,很可能在通信中兩台設備間出現了小小的不同步。因此停止位不僅僅是表示傳輸的結束,并且提 供計算機校正時鐘同步的機會。 d)奇偶校驗位:在串口通信中一種簡單的檢錯方式。對于偶和奇校驗的情況,串口會設置校驗位(數據位後面的 一位),用一個值确保傳輸的數據有偶個或者奇個邏輯高位。例如,如果數據是011,那麼對于偶校驗,校驗位為
0,保證邏輯高的位數是偶數個。如果是奇校驗,校驗位位1,這樣就有3個邏輯高位。
串口通信的傳輸格式:
串行通信中,線路空閑時,線路的TTL電平總是高,經反向RS232的電平總是低。一個數據的開始RS232線路為高 電平,結束時Rs232為低電平。數據總是從低位向高位一位一位的傳輸。示波器讀數時,左邊是數據的高位。
例如,對于16進制數據55aaH,當采用8位數據位、1位停止位傳輸時,它在信号線上的波形如圖1(TTL電平)和圖
2(RS-232電平)所示。
55H=01010101B,取反後10101010B,加入一個起始位1,一個停止位0,55H的數據格式為1010101010B;
aaH=10101010B,取反後01010101B,加入一個起始位1,一個停止位0,55H的數據格式為1101010100B;
串口通信的接收過程:
(異步通信:接收器和發送器有各自的時鐘;同步通信:發送器和接收器由同一個時鐘源控制。RS232是異步通信)
(1)開始通信時,信号線為空閑(邏輯1),當檢測到由1到0的跳變時,開始對“接收時鐘”計數。
(2)當計到8個時鐘時,對輸入信号進行檢測,若仍為低電平,則确認這是“起始位”,而不是幹擾信号。
(3)接收端檢測到起始位後,隔16個接收時鐘,對輸入信号檢測一次,把對應的值作為D0位數據。若為邏輯1, 作
為數據位1;若為邏輯0,作為數據位0。
(4)再隔16個接收時鐘,對輸入信号檢測一次,把對應的值作為D1位數據。….,直到全部數據位都輸入。
(5)檢測校驗位P(如果有的話)。
(6)接收到規定的數據位個數和校驗位後,通信接口電路希望收到停止位S(邏輯1),若此時未收到邏輯1,說明出現 了錯誤,在狀态寄存器中置“幀錯誤”标志。若沒有錯誤,對全部數據位進行奇偶校驗,無校驗錯時,把數據位從移 位寄存器中送數據輸入寄存器。若校驗錯,在狀态寄存器中置奇偶錯标志。
(7)本幀信息全部接收完,把線路上出現的高電平作為空閑位。
(8)當信号再次變為低時,開始進入下一幀的檢測。
RS485和RS422
RS485總線,在要求通信距離為幾十米到上千米時,廣泛采用RS-485 串行總線标準。RS485采用平衡發送和差分接 收,因此具有抑制共模幹擾的能力。加上總線收發器具有高靈敏度,能檢測低至200mV的電壓,故傳輸信号能在千米以外得到恢複。RS485采用半雙工工作方式,任何時候隻能有一點處于發送狀态,因此,發送電路須由使能信号 加以控制。RS485用于多點互連時非常方便,可以省掉許多信号線。應用RS485可以聯網構成分布式系統,其允許 最多并聯32台驅動器和32台接收器。
RS422總線,RS485和RS422電路原理基本相同,都是以差動方式發送和接受,不需要數字地線。差動工作是同速率 條件下傳輸距離遠的根本原因,這正是二者與RS232的根本區别,因為RS232是單端輸入輸出,雙工工作時至少需 要數字地線發送線和接受線三條線(異步傳輸),還可以加其它控制線完成同步等功能。RS422通過兩對雙絞線可 以全雙工工作收發互不影響,而RS485隻能半雙工工作,發收不能同時進行,但它隻需要一對雙絞線。RS422 和RS485在19kpbs下能傳輸1200米。用新型收發器線路上可連接台設備。
來源:網絡整理,如涉及版權問題,請及時聯系删除
,更多精彩资讯请关注tft每日頭條,我们将持续为您更新最新资讯!