串口通訊介紹
RS-232串行通訊介紹
RS-232串行通訊是由美國電子工業協會定制的一種串口通訊協議,RS-232的通訊端口是每臺計算機上的必要配置,
通常含有COM1端口。
RS-232C接口定義(9針)
針腳 定義 作用
2 接收數據(RXD) 此引腳會將檢驗儀器所傳送過來的數據接收進來
3 發送數據(TXD) 此引腳將計算機的數據發送到檢驗儀器
4 數據終端準備好(DTR) 此引腳由計算機控制,用以通知檢驗儀器可以進行傳輸,
高電位時表示計算機已準備就緒,隨時可以接收數據。
5 信號地(Ground) 此引腳為地線
6 數據準備好(DSR) 此引腳由檢驗儀器控制,檢驗儀器用這個引腳的高電位通知計算機一切
均準備就緒,可以傳輸數據過來。
7 請求發送(RTS) 此引腳由計算機控制,用以通知檢驗儀器馬上發送數據到計算機。
8 清除以發送(CTS) 此引腳由檢驗儀器控制,用以通知計算機將欲發送的數據送至檢驗儀器。
計算機與檢驗儀器的連線方式
簡單的連線方式
計算機 檢驗儀器
2----------------------2
3----------------------3
5----------------------5
對于簡單的連線方式,檢驗儀器直接把數據發送到計算機,檢驗儀器不理會計算機是否能夠正確地接收到數據
具有流量控制的連線方式
計算機 檢驗儀器
2----------------------3
3----------------------2
4----------------------6
5----------------------5
6----------------------4
7----------------------8
8----------------------7
所謂流量控制,是為了保證傳輸雙方都能正確地傳送和接收數據而不會丟失。傳輸工作進行時,傳送速度如果大于
接收速度,則接收緩沖區必定會在一定時間后溢出,因此造成后來傳送過來地數據無法進入緩沖區,要解決這個問
題,接收方必須有一個方法告訴發送端何時傳送,而又應于何時暫停傳送,以便接收端有充裕的時間可以處理數據,
此即為流量控制。
當檢驗儀器的傳送速度大于計算機的接收速度,計算機的接收緩沖區已滿時的流量控制步驟如下
(1)計算機將4腳降為低電位。
(2)檢驗儀器檢測到計算機4腳為低電位,暫停數據的傳輸,同時計算機也會繼續處理位于緩沖區的數據。
(3) 待計算機的接收緩沖區中數據量下降到一定程度后,計算機將4腳升為高電位。
(4) 檢驗儀器檢測到計算機4腳為高電位后,隨即繼續傳送數據給計算機。
串口通訊參數介紹
1. 數據的傳送速度
通常將傳輸數度稱為波特率(bps),指的是每一秒所傳送的位數,檢驗儀器經常用到的波特率是9600bps。
2. 數據的傳輸單位
一般串行通訊端口所傳送的數據是字符類型,工業界使用到的有ASCII字符碼和JIS字符碼,ASCII使用了8個位形成
一個字符,而JIS碼則以7個位形成一個字符。歐美的設備一般采用ASCII字符碼,日本的設備一般采用JIS字符碼。
3. 起始位和停止位
為了便于接收數據,在傳輸字符時,發送端會在所送出的字符前后分別加上高電位的起始位及低電位的停止位,它們分
別是所謂的起始位和停止位。起始位固定為1個位,而停止位則有1、1.5、2個位等多種選擇。
4.校驗位
校驗位是用來檢查所傳送數據正確性的一種核對碼,其中分為奇檢驗和偶校驗,分別是檢查字符碼中1的數目是奇數或
偶數。
下面舉例說明數據的傳輸格式
假設在傳輸時用了1個起始位、傳送字符為8個位、1個停止位、不使用檢驗位,這時每次所傳輸的數據位格式為:
1個起始位+8個數據位+0個檢驗位+1個停止位
總共10個位,如果采用9600bps的傳輸速度,每秒便可以傳輸9600/10=960字節的數據。
串口通訊傳輸數據方式介紹
1. 單通道方式
單通道方式指的是檢驗儀器直接把數據傳輸到計算機,檢驗儀器不理會計算機是否能夠正確地接收到數據。
2. 雙通道方式
雙通道方式指的是檢驗儀器傳輸數據包到計算機,計算機對數據包進行校驗檢查,如果檢查的結果正確,
計算機就會回送確認字符給檢驗儀器,檢驗儀器接收到確認字符后就會傳輸下一個數據包到計算機。如果
檢查的結果錯誤,計算機就會回送否認字符給檢驗儀器,檢驗儀器接收到否認字符后就會重新傳輸之前的
數據包到計算機。
計算機對數據包進行校驗檢查一般是采用檢驗和的方法。檢驗和的方法就是將所有要傳送字符的ASCII碼做加
法運算,計算其總和后將此數目與一數字(通常是255)做除法運算,再取其余數,并將此余數組合成傳送字符串
的一部分而傳送出去;同樣地,接收數據的一方也以相同地方式將所傳送過來的字符串做ASCII碼的加法運算,
其結果與255相除取余數,并與傳送方所送過來的值比較,如果其值一樣,則代表傳送的字符串是正確的,反之
則是錯誤的。
例如被傳送的字符串為”ABCDEF123”,它們的ASCII碼相加的結果是(以十進制表示):
65+66+67+68+69+70+49+50+51=555, 與255相除后取余數為45;因此傳送此字符串時,必須在其字符串的尾端再加
上一個ASCII碼為45的字符,加上后的字符串為”ABCDEF123”+chr(45),加上之后的字符再傳送出去。對方收到所
傳送的字符串后,會再依以上的方式再進行一次計算,如果計算出來也是45的話,表示此次傳送的字符串是正確的。
檢驗儀器與計算機聯機的步驟
首先確定檢驗儀器與計算機的聯機線,到目前為止發現了四種不同接法的聯機線,其中常用的接法有兩種。
然后設置檢驗儀器的通訊參數: 數據的傳送速度、數據的傳輸單位、停止位、校驗位,對于一些高檔的儀器,
還要設置流量控制、傳輸數據方式。
|
|