RS232轉(zhuǎn)網(wǎng)口的流控功能介紹

當(dāng)前位置:首頁 >> 儀器儀表技術(shù)文章

RS232轉(zhuǎn)網(wǎng)口的流控功能介紹
1.RS232轉(zhuǎn)網(wǎng)口的流控
  RS232轉(zhuǎn)網(wǎng)口轉(zhuǎn)換器ZLAN2100是支持RS232流控和網(wǎng)口流控的高性能轉(zhuǎn)換器。所謂流控即對數(shù)據(jù)流的速度進(jìn)行控制,防止接收方緩沖區(qū)滿的時候發(fā)送方繼續(xù)發(fā)送數(shù)據(jù)引起數(shù)據(jù)的丟失。RS232轉(zhuǎn)網(wǎng)口中流控對于防止數(shù)據(jù)包丟失是相當(dāng)重要的。
  RS232和網(wǎng)口采用了不同的流控機制。RS232的流控分為無流控、軟件流控、硬件流控。網(wǎng)口的流控一般采用TCP的窗口流控機制。由于兩種流控方式的不同,ZLAN2100在將RS232協(xié)議數(shù)據(jù)轉(zhuǎn)換為網(wǎng)口協(xié)議數(shù)據(jù)的時候,也要進(jìn)行流控方式的轉(zhuǎn)換。
RS232的流控方式介紹如下:
無流控:沒有流控功能。 
軟件流控:軟件流控也稱之為XON/XOFF流控,使用控制字符XON、XOFF來實現(xiàn)。在RS232數(shù)據(jù)通信過程中,如果發(fā)送方收到XOFF字符則停止發(fā)送數(shù)據(jù),反之如果收到XON字符則重新開始發(fā)送數(shù)據(jù)。XON一般定義為十六進(jìn)制0x11,XOFF為十六進(jìn)制0x13。  試驗機 | 鯉魚鉗 | 頻譜分析儀 | 熱像儀 | 硬度計 | 真空表 | 照度計 | 紅外線溫度計 | 分析儀 | 示波表 | 測試器 | 平衡儀 | 一氧化碳檢測器
硬件流控:硬件流控又分為DSR/DTR流控和CTS/RTS流控。硬件流控是通過硬件的高低電平來通知發(fā)送方,接收方的緩沖區(qū)是否快滿了。CTS/RTS流控時,RS232(DB9)的8引腳為RTS,7引腳為CTS。DSR/DTR流控時,RS232(DB9)的6引腳為DSR,4引腳為DTR。 
  網(wǎng)口流控方式:網(wǎng)口一般采用兩種協(xié)議TCP協(xié)議和UDP協(xié)議。其中UDP協(xié)議是沒有流控的,TCP協(xié)議采用窗口流控,即發(fā)送方知道接收方的接收緩沖區(qū)大小,發(fā)送方從而不會發(fā)送超過接收方接收能力的數(shù)據(jù)量,接收方也會定期告訴發(fā)送方窗口大小的變化。
  ZLAN2100和ZLVircom相互配合實現(xiàn)RS232轉(zhuǎn)網(wǎng)口的流控轉(zhuǎn)化,例如當(dāng)RS232給出硬件流控引腳高電平時(高電平表示開始流控),ZLAN2100的內(nèi)嵌TCP/IP協(xié)議棧自動通知TCP窗口減少;反之當(dāng)TCP窗口減少時ZLAN2100自動設(shè)置硬件流控引腳高為高電平。
2. RS232串口線與硬件流控
  RS232串口線的接頭分為公頭和木頭。另外有些RS232串口線是9芯的,有些只有GND、RXD、TXD這3芯。有些RS232串口線是2、3交叉的(即RXD、TXD交叉),有些是不交叉的。要實現(xiàn)RS232的硬件流控必須采用9線的RS232串口線,否則硬件流控信號無法傳遞過去。
3. 手動設(shè)置RS232轉(zhuǎn)網(wǎng)口流控方式
  用戶可以根據(jù)實際需要手動設(shè)置ZLAN2100的流控方式,設(shè)置的方法是進(jìn)入ZLVircom主界面的設(shè)備管理->對特定設(shè)備進(jìn)行設(shè)備編輯->進(jìn)入設(shè)備設(shè)置對話框->選擇串口流控參數(shù)。
4. RS232轉(zhuǎn)網(wǎng)口的流控自適應(yīng)
  除了手動設(shè)置流控方式外,在使用虛擬串口時,為了能夠?qū)崿F(xiàn)ZLVircom軟件對用戶軟件采用的流控方式的自動探測,必須啟用流控自適應(yīng)。啟用的方法是:進(jìn)入zlvircom的菜單->“配置”->“軟件配置”,彈出“vircom配置”對話框,將“選擇需要自使用的參數(shù)”中將“流控”打勾,默認(rèn)情況下“流控”自適應(yīng)功能是沒有打勾的。

圖2. vircom的流控配置
5. RS232轉(zhuǎn)網(wǎng)口的手動控制硬件流控
  在計算機的RS232(COM口)編程中,如果用戶調(diào)用操作系統(tǒng)(例如windows的VC++環(huán)境下)底層的RTSEnalbe()函數(shù)可以手動控制RTS引腳的電平,讓其隨時輸出1或者0。該功能實際上可以作為IO口DOUT,即用該函數(shù)來直接控制一個IO輸出引腳。那么采用卓嵐的ZLVircom虛擬串口驅(qū)動以后,用戶打開虛擬串口COM5,同樣可以用RTSEnalbe()來控制網(wǎng)口遠(yuǎn)端的ZLAN2100的RS232口的RTS的電平。該功能屬于較為高級的功能特性。
發(fā)布人:2012/7/21 10:38:00815 發(fā)布時間:2012/7/21 10:38:00 此新聞已被瀏覽:815次