RS -232通行方式允許簡單連線三線:Tx、Rx和地線。但是對於數據傳輸,雙方必須對數據定時採用使用相同的波特率。儘管這種方法對於大多數套用已經足夠,但是對於接收方過載的情況這種使用受到限制。這時需要串口的握手功能。在這一部分,我們討論三種最常用的RS-232握手形式:軟體握手、硬體握手和 Xmodem。
a,軟體握手:我們討論的第一種握手是軟體握手。通常用在實際數據是控制字元的情況,類似於GPIB使用命令字元串的方式。必須的線仍然是三根:Tx, Rx和地線,因為控制字元在傳輸線上和普通字元沒有區別,函式SetXModem允許用戶使能或者禁止用戶使用兩個控制字元XON和OXFF。這些字元在通信中由接收方傳送,使傳送方暫停。
例如:假設傳送方以高波特率傳送數據。在傳輸中,接收方發現由於CPU忙於其他工作,輸入buffer已經滿了。為了暫時停止傳輸,接收方傳送XOFF,典型的值是十進制19,即十六進制13,直到輸入buffer空了。一旦接收方準備好接收,它傳送XON,典型的值是十進制17,即十六進制11,繼續通信。輸入buffer半滿時,LabWindows傳送XOFF。此外,如果XOFF傳輸被打斷,LabWindows會在buffer達到75%和 90%時傳送XOFF。顯然,傳送方必須遵循此守則以保證傳輸繼續。
b,硬體握手:第二種是使用硬體線握手。和Tx和Rx線一樣,RTS/CTS和DTR/DSR一起工作,一個作為輸出,另一個作為輸入。第一組線是RTS (Request to Send)和CTS(Clear to Send)。當接收方準備好接收數據,它置高RTS線表示它準備好了,如果傳送方也就緒,它置高CTS,表示它即將傳送數據。另一組線是DTR(Data Terminal Ready)和DSR(Data Set Ready)。這些現主要用於Modem通信。使得串口和Modem通信他們的狀態。例如:當Modem已經準備好接收來自PC的數據,它置高DTR線,表示和電話線的連線已經建立。讀取DSR線置高,PC機開始傳送數據。一個簡單的規則是DTR/DSR用於表示系統通信就緒,而RTS/CTS用於單個數據包的傳輸。
在LabWindows,函式SetCTSMode使能或者禁止使用硬體握手。如果CTS模式使能,LabWindows使用如下規則:
當PC傳送數據:
RS-232庫必須檢測CTS線高后才能傳送數據。
當PC接收數據:
如果連線埠打開,且輸入佇列有空接收數據,庫函式置高RTS和DTR。
如果輸入佇列90%滿,庫函式置低RTS,但使DTR維持高電平。
如果連線埠佇列近乎空了,哭喊數置高RTS,但使DRT維持高電平。
如果連線埠關閉,庫函式置低RTS和DTR。
c,XModem握手:最後討論的握手叫做XModem檔案傳輸協定。這個協定在Modem通信中非常通用。儘管它通常使用在Modem通信中, XMODEM協定能夠直接在其他遵循這個協定的設備通信中使用。在LabWindows中,實際的XModem套用對用戶隱藏了。只要PC和其他設備使用 XModem協定,在檔案傳輸中就使用LabWindows的XModem函式。函式是XModemConfig,XModemSend和 XModemReceive。
XModem使用介於如下參數的協定:start_of_data、end_of_data、neg_ack、wait_delay、 start_delay、max_tries、packet_size。這些參數需要通信雙方認定,標準的XModem有一個標準的定義:然而,可以通過 XModemConfig函式修改,以滿足具體需要。這些參數的使用方法由接收方傳送的字元neg_ack確定。這通知傳送方其準備接收數據。它開始嘗試傳送,有一個逾時參數start_delay;當逾時的嘗試超過max_ties次數,或者收到接收方傳送的start_of_data,傳送方停止嘗試。如果從傳送方收到start_of_data,接收方將讀取後繼信息數據包。包中含有包的數目、包數目的補碼作為錯誤校驗、packet_size位元組大小的實際數據包,和進一步錯誤檢查的求和校驗值。在讀取數據後,接收方會調用wait_delay,然後想傳送方傳送回響。如果傳送方沒有收到回響,它會重新傳送數據包,直到收到回響或者超過重發次數的最大值max_tries。如果一直沒有收到回響,傳送方通知用戶傳輸數據失敗。
由於數據必須以pack_size個位元組按包傳送,當最後一個數據包傳送時,如果數據不夠放滿一個數據包,後面會填充ASCII碼NULL(0)位元組。這導致接收的數據比原數據多。在XModem情況下一定不要使用XON/XOFF,因為XModem傳送方發出包的數目很可能增加到XON/OFF控制字元的值,從而導致通信故障。
相關詞條
-
modem握手
dows的XModem函式。 fig,XModemSen XModemReceive。
-
AT命令
、傳真等方面的控制。90年代初,AT指令僅被用於Modem操作。沒有控制...相應的處理。背景網際網路剛出現時,人們都是用modem來進行連線。modem通常是在電話線兩端,由一個modem開始連線並結束操作。無論modem...
AT命令集 WindowsAT命令 -
寬頻
只能夠每秒鐘傳送64Kbps的數據,寬頻的ADSL和光纖Modem能夠...:在已有電話線路的情況下,只要加裝一台ADSL MODEM和一個話音分離器...和ADSL MODEM就可以上網,無需輸入用戶名及口令進行驗證。固定IP...
簡介 標準 原理 組成與分類 網速 -
RS-232-C
MODEM,在碼元畸變小於4%的情況下,DTE和DCE之間最大傳輸距離為...)——有效時(ON)狀態,表明MODEM處於可以使用的狀態。數據終端...傳送數據時,使該信號有效(ON狀態),向MODEM請求傳送。它用來控制...
簡介 特點 內容 詳細介紹 通信協定 -
網際網路接入設備
數據機數據機(MODEM)完全是為了利用現有的模擬電話線路實現... MODEM 將計算機要傳送的數字數據編碼為數位訊號,以次信號作為調製信號...現有的模擬電話線路,進行遠程傳輸,再由遠端的 MODEM 進行解調,恢復為...
數據機 網路適配器 參考資料 -
串口通信協定
討論的握手叫做XModem檔案傳輸協定。這個協定在Modem通信中非常...Modem,同時也可以接工業儀器儀表。用於驅動和連線的改進,實際套用中RS...)RXD(pin 2):串口數據輸入(Receive Data)握手:RTS...
RS-232 RS-422 RS-485 握手 -
股標交易傳輸系統
在Windows 下通過串 行口對Modem 進行操作。Window s...系統。 MODEM 有一個標準的A T 命令集。在命令 (COMMAND)狀態時, 給MODEM 發一個A T 命令, 執行完畢後,MODEM...
-
逐位傳輸
線路後進入通話方式,最後通過Modem的“握手”過程進入在線上方式...【摘要】由於多媒體技術的快速發展,普通Modem已經不能適應現在的網路數據傳輸,但在傳輸較小數據時,嵌入式MODEM已得到廣泛的套用。在通信時...
-
VadeFax傳真伺服器
目前,很多廠商還在採用最老的基於Modem構建所謂的數碼傳真機、嵌入式網路傳真機等,因Modem成本低廉,一個普通的Modem只需幾十元,因此其產品價格也非常低廉,但也因Modem的諸多缺陷性常會遇到以下問題...
傳真伺服器產品介紹 傳真伺服器產品型號 傳真伺服器產品優勢 傳真伺服器套用價值