RS232串列埠通訊詳解

2021-08-09 13:36:44 字數 2869 閱讀 5749

rs232串列埠通訊詳解

串列埠是計算機上一種非常通用的裝置通訊協議。

---------------------------------

串列埠的引腳定義:

9芯 訊號方向來自 縮寫 描述 1 數據機 cd 載波檢測 2 數據機 rxd 接收資料 3 pc txd 傳送資料 4 pc dtr 資料終端準備好 5

gnd 訊號地 6 數據機 dsr 通訊裝置準備好 7 pc rts 請求傳送 8 數據機 cts 允許傳送 9 數據機 ri 響鈴指示器 兩個串列埠連線時,接收資料針腳與傳送資料針腳相連,彼此交叉,訊號地對應相接即可。

---------------------------------

串列埠的電氣特性:

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)當訊號再次變為低時,開始進入下一幀的檢測。

---------------------------------

微控制器常用11.0592m的的晶振,這個奇怪數字是有來歷的:

波特率為9600bps每位位寬t1=1/9600s

晶振週期t2=1/11.0592/1000000s

微控制器機器週期t3=12*t2

t1/t3=96

即對於9600bps的串列埠,微控制器對其以96倍的速率進行取樣。

如果微控制器晶振用的不正確,會對串列埠接受產生誤碼。

---------------------------------

rs485和rs422

rs485匯流排,在要求通訊距離為幾十公尺到上千公尺時,廣泛採用rs-485 序列匯流排標準。rs485採用平衡傳送和差分接收,因此具有抑制共模干擾的能力。加上匯流排收發器具有高靈敏度,能檢測低至200mv的電壓,故傳輸訊號能在千公尺以外得到恢復。rs485採用半雙工工作方式,任何時候只能有一點處於傳送狀態,因此,傳送電路須由使能訊號加以控制。rs485用於多點互連時非常方便,可以省掉許多訊號線。應用rs485可以聯網構成分布式系統,其允許最多併聯32臺驅動器和32臺接收器。

rs422匯流排,rs485和rs422電路原理基本相同,都是以差動方式傳送和接受,不需要數字地線。差動工作是同速率條件下傳輸距離遠的根本原因,這正是二者與rs232的根本區別,因為rs232是單端輸入輸出,雙工工作時至少需要數字地線傳送線和接受線三條線(非同步傳輸),還可以加其它控制線完成同步等功能。rs422通過兩對雙絞線可以全雙工工作收發互不影響,而rs485只能半雙工工作,發收不能同時進行,但它只需要一對雙絞線。rs422和rs485在19kpbs下能傳輸1200公尺。用新型收發器線路上可連線臺裝置。

RS232串列埠通訊詳解

rs232串列埠通訊詳解 引腳定義,電氣特性,傳輸格式,接收過程,微控制器晶振,rs485,rs422 轉 2010 03 13 15 47 串列埠是計算機上一種非常通用的裝置通訊協議。串列埠的引腳定義 9芯訊號方向來自 縮寫描述 1數據機 cd載波檢測 2數據機 rxd接收資料3pc txd傳送資...

RS232串列埠通訊詳解

串列埠是計算機上一種非常通用的裝置通訊協議。兩個串列埠連線時,接收資料針腳與傳送資料針腳相連,彼此交叉,訊號地對應相接即可。rs 232介面 通常適合於資料傳輸頻率在0 20000bps範圍的通訊。是點對點的通訊方式,在pc機上通常都是com串列埠。不足 抗干擾能力差,通訊距離短,速率低。rs 42...

RS232串列埠通訊模組

應為工作需要自己編寫的rs232通訊模組,該模組已經編寫了蠻久,在實際使用中可能有沒有考慮和不完善的地方。如果使用該模組請保留該注釋,如果被修改或編輯請將修改後的 傳送乙份給我 編寫 戴琪英 e mail qiyingdai 163.com 2000 09 01 unit r232comm inte...