《電子技術(shù)應用》
您所在的位置:首頁 > 通信與網(wǎng)絡 > 設計應用 > USB-RS 232轉(zhuǎn)換卡的設計與實現(xiàn)
USB-RS 232轉(zhuǎn)換卡的設計與實現(xiàn)
現(xiàn)代電子技術(shù)
賴彪 金海鷹 賈惠芹
西安石油大學
摘要: 與RS 232總線的數(shù)據(jù)傳輸速率相比,,USB的傳輸速率高達480 Mb/s,因此很多計算機的RS 232串行接口都被USB接口所替換,,但是很多儀器儀表,、控制終端、遠程終端等設備的接口還是沿用RS 232,。為解決兩個接口之間的轉(zhuǎn)換,,設計并研制了USB-RS 232接口轉(zhuǎn)換卡。從USB和RS 232通信協(xié)議出發(fā),,詳細介紹USB-RS 232轉(zhuǎn)換卡的設計原理,,并以CH341T芯片為例,設計并制作了USB-RS 232轉(zhuǎn)換卡,。利用研制的USB-RS 232轉(zhuǎn)換卡連接具有RS 232接口的溫濕度傳感器,,在運行監(jiān)控程序后,傳感器運行穩(wěn)定,,能正確顯示溫濕度數(shù)據(jù),,且表明該轉(zhuǎn)換卡可成功地實現(xiàn)RS 232接口與USB接口的轉(zhuǎn)換。
Abstract:
Key words :

RS 232自1969年由美國電氣工業(yè)協(xié)會(EIA)推薦以來,,由于接口和通信協(xié)議比較簡單,,因而在計算機串行通信領域得到了廣泛的應用,開發(fā)出了大量的以RS 232為接口的各類產(chǎn)品,。但隨著USB總線規(guī)范的推出,,使得外設到計算機的連接更加高效、便利,,功率不大的外圍設備可以直接通過USB數(shù)據(jù)線供電,,而不必外接電源。USB總線最大可以提供5 V/500 mA電流,,并提供節(jié)約能源的掛機和喚醒模式,。此外,由于USB用于上行和下行連接頭的機械特性不同,,還可以防止非法連接,。根據(jù)USB協(xié)議,,理論上最多可以同時將127個外設連接在同一臺計算機上。同時基于USB的數(shù)據(jù)通信系統(tǒng),,可使采集系統(tǒng)與計算機之間的數(shù)據(jù)交換具備廣泛的適用性,。USB是目前計算機的標準配置,采用此方案可以使用任何一臺計算機進行數(shù)據(jù)通信,。但是目前仍然有許多使用RS 232串行接口的控制設備,、儀器儀表、遠程終端等運行在諸多應用領域中,,立即將其改造為USB方式顯然存在成本及實施方面的問題,。為適應USB廣泛流行的現(xiàn)實,有必要開發(fā)USB-RS 232接口轉(zhuǎn)換卡,,在它的支持下,,這些傳統(tǒng)的設備無須改造,即可通過其原有的RS 232接口與USB總線接口實現(xiàn)數(shù)據(jù)傳輸,。

1 USB-RS 232轉(zhuǎn)換卡的組成及其工作原理

1.1 組成

USB-RS 232轉(zhuǎn)換卡的設計原理框圖如圖1所示,,由USB接口模塊、UART接口模塊,、數(shù)據(jù)緩沖區(qū)和協(xié)議控制單元組成,。各部分功能如下:

USB接口模塊  主要提供與USB總線的連接,它需要實現(xiàn)一般USB設備接口的所有功能,,以實現(xiàn)與USB主機的數(shù)據(jù)傳輸,。

UART接口模塊  實現(xiàn)標準的RS 232接口的所有功能,以實現(xiàn)與標準RS 232接口的連接,。

協(xié)議控制單元  通過接收USB接口的命令,,對UART接口進行配置(如配置通信波特率、數(shù)據(jù)位,、校驗位,、停止位、數(shù)據(jù)量控制信號等),。

數(shù)據(jù)緩沖區(qū)  用來臨時保存雙方數(shù)據(jù)傳輸過程中的數(shù)據(jù),。

USB-RS 232轉(zhuǎn)換卡的設計與實現(xiàn)[圖]

1.2 工作原理

下面以計算機與外設的數(shù)據(jù)傳輸為例,介紹USB-RS 232轉(zhuǎn)換卡的工作原理:

當USB-RS 232轉(zhuǎn)換卡連接到USB總線上時,,計算機檢測到設備的連接后對設備進行初始化配置并啟動相關(guān)的客戶驅(qū)動程序,;驅(qū)動程序給設備發(fā)送配置命令以設置RS 232接口的數(shù)據(jù)傳輸特性;最后,,在數(shù)據(jù)傳輸時,,計算機上的驅(qū)動程序首先將數(shù)據(jù)包傳輸給USB接口,USB接口讀出實際的有效數(shù)據(jù)并保存在數(shù)據(jù)緩沖區(qū)中,UART接口則從數(shù)據(jù)緩沖區(qū)中將數(shù)據(jù)取走并發(fā)送給設備,。

2 USB-RS 232轉(zhuǎn)換卡的設計

2.1 協(xié)議轉(zhuǎn)換模塊的設計

根據(jù)原理框圖,,選擇恰當?shù)膮f(xié)議轉(zhuǎn)換模塊是設計該卡的關(guān)鍵。設計轉(zhuǎn)換卡的方法有好幾種:一種方法是采用通用的USB控制器,,利用其內(nèi)置的通用異步收發(fā)器(UART)在USB與RS 232之間進行信號轉(zhuǎn)換,,例如EZ-USB,PIC16C745,,CY7C63001等,若沒有內(nèi)置UART,,也可以利用通用I/O接口模擬RS 232的收發(fā)過程,;另外還可以采用單獨的USB接口收發(fā)器芯片,如ISP1581,,PDI-USBD11/12等,,但這種方法需要另配微控制器才能工作;第三種就是采用專用的USB與RS 232轉(zhuǎn)換芯片,,如CH341芯片,,這種芯片的優(yōu)點是數(shù)據(jù)接收和發(fā)送的協(xié)議轉(zhuǎn)換工作全部由芯片獨立完成,無需干預,,也不用編寫芯片的固件,。本文采用CH341的簡裝版CH341T來設計USB-RS 232轉(zhuǎn)換卡。圖2是一個利用CH341T和MAX232進行USB接口設計的硬件框圖,。如圖所示,,該硬件系統(tǒng)由4部分組成:USB接口、CH341T,、MAX232和RS 232接口,。其中,USB接口用于連接USB主機,,在此選用USB總線接口的A型連接頭,;CH341T用于完成USB接口轉(zhuǎn)RS 232接口的所有硬件功能;MAX232用于完成RS 232與TLL/CMOS的電平轉(zhuǎn)換,;RS 232接口用于連接RS 232設備,。根據(jù)實際需要,選擇目前廣泛應用的DB9連接器,。

USB-RS 232轉(zhuǎn)換卡的設計與實現(xiàn)[圖]

2.2 硬件電路設計

設計USB轉(zhuǎn)RS 232串口的硬件連接圖如圖3所示,。USB總線包括一對5 V電源線和一對數(shù)據(jù)信號線。通常,,+5 V電源線為紅色,;接地線為黑色;D+信號線為綠色;D-信號線為白色,。USB總線提供的電源電流最大可以達到500 mA,,CH341T芯片可以直接使用USB總線提供的5 V電源。C3和C4是高頻瓷片電容,,C3容量一般為4 700 pF~0.02 μF,,用于CH341T內(nèi)部電源節(jié)點的退耦;G容量為0.1μF,,用于外部電源的退耦,。晶振X1、電容C1和C2用于時鐘振蕩電路,。X1的頻率是12 MHz,,C1和C2是容量為15~30 pF的高頻瓷片電容。MAX232提供電平轉(zhuǎn)換,。

USB-RS 232轉(zhuǎn)換卡的設計與實現(xiàn)[圖]

2.3 驅(qū)動程序

連接USB-RS 232轉(zhuǎn)換卡的計算機,,必須安裝CH341T的驅(qū)動程序CH341SER.EXE,當模塊首次連接到計算機的USB端口時,,計算機提示找到新硬件,,按照提示完成驅(qū)動程序的安裝。

安裝完驅(qū)動程序后,,可以通過計算機的USB接口提供仿真串口,。在邏輯功能方面,使用方法與普通計算機串口完全相同,,支持大多數(shù)常用的串口監(jiān)控及調(diào)試工具程序,,應用程序可以不做任何修改,可以像存取一個標準的物理串口一樣訪問這個虛擬串口,,在保持軟硬件兼容的前提下,,將原串口產(chǎn)品轉(zhuǎn)換為USB接口。

3 板卡性能測試方法及其結(jié)果

3.1 設備驅(qū)動層通信功能測試

USB-RS 232轉(zhuǎn)換卡的性能需要借助可靠的工具來進行測試,。利用CH341芯片制造商提供的USB測試程序進行調(diào)試,,點擊搜索CH341串口,出現(xiàn)CH341的串口號為“COM3”的字樣(因為目前電腦上已經(jīng)有兩個串口),,這說明USB-RS 232設備已經(jīng)成功連接到計算機上,。

3.2 應用層通信功能測試

本文利用具有RS 232接口的網(wǎng)絡型溫濕度傳感器來進行測試,該傳感器通過本文研制的USB-RS 232轉(zhuǎn)換卡連接,,該卡一端接傳感器,,一端接計算機。在圖4下設置串口的端口號以及幀格式,,保證傳感器與計算機的協(xié)議設置是一致的,。設置好相關(guān)參數(shù)后,,把傳感器接到轉(zhuǎn)換卡上,運行傳感器測試程序后出現(xiàn)如圖5的畫面,,經(jīng)長時間拷機后傳感器工作正常,,這說明RS 232接口的外設(溫濕度傳感器)經(jīng)過USB-RS 232轉(zhuǎn)換卡可以在USB接口上使用,也說明該轉(zhuǎn)換卡實現(xiàn)了RS 232協(xié)議到USB協(xié)議的轉(zhuǎn)換,。

USB-RS 232轉(zhuǎn)換卡的設計與實現(xiàn)[圖]

4 使用和調(diào)試中的關(guān)鍵問題

4.1 操作系統(tǒng)識剮不到轉(zhuǎn)換卡

USB-RS 232轉(zhuǎn)換卡是即插即用的USB設備,,正在使用轉(zhuǎn)換卡進行數(shù)據(jù)傳輸?shù)倪^程中,不可以將其物理斷開,,必須在應用程序關(guān)閉該串口后,,轉(zhuǎn)換卡才可以從USB插座中拔出。如果在應用程序使用轉(zhuǎn)換卡的過程中,,轉(zhuǎn)換卡從USB插座中斷開,,那么應用程序應該盡快關(guān)閉轉(zhuǎn)換卡并退出(關(guān)閉及退出可能需要數(shù)秒時間)。如果在轉(zhuǎn)換卡通信過程中發(fā)生錯誤,,極有可能是轉(zhuǎn)換卡已經(jīng)物理斷開,所以在檢測到錯誤后建議關(guān)閉轉(zhuǎn)換卡,,稍等2 s后再重新打開串口通信,。采用設備事件通知的方法可以及時了解轉(zhuǎn)換卡的連接與斷開,從而使串口應用程序能夠及時打開和關(guān)閉轉(zhuǎn)換卡,。

4.2 傳輸數(shù)據(jù)丟失

如果通信波特率較高,,建議設置較大的緩沖區(qū),尤其在windows 98/ME下,,線程調(diào)度能力和USB實時性都比Windows 2000/XP差,,如果串口接收緩沖區(qū)較小,那么在通信波特率較高時,,接收大量數(shù)據(jù)會導致串口緩沖區(qū)溢出而丟棄數(shù)據(jù),。由于底層的USB是將多個字節(jié)組成數(shù)據(jù)包后安插到各個1 ms幀中進行傳輸?shù)模杂锌赡軐⒋谑瞻l(fā)的相鄰的兩個字節(jié)實際分割在兩個USB數(shù)據(jù)包,,甚至兩個USB幀中,,在最壞情況下這兩個字節(jié)在時間上有可能相隔1 ms甚至2 ms。

5 結(jié)語

本文詳細介紹了USB-RS 232轉(zhuǎn)換卡的設計原理,,成功設計了以CH341T為例的USB-RS 232轉(zhuǎn)換卡,。經(jīng)過調(diào)試和試用,轉(zhuǎn)換卡運行正常,,成功實現(xiàn)了RS 232接口設備與USB總線的數(shù)據(jù)傳輸,。轉(zhuǎn)換卡體積小,成本低,。使用方便,,性能可靠,,傳統(tǒng)的RS 232串口設備無需做任何改動即可通過USB口使用。該轉(zhuǎn)換卡順應市場需要,,可以廣泛應用在日常生活與生產(chǎn)實踐中,,如:筆記本電腦(大多數(shù)新一代筆記本電腦往往沒有RS232的9針串口,卻有4個USB口),、Modem,、數(shù)碼相機、條碼掃描器,、刷卡器,、磁卡讀寫器、手機傳輸線,、掌上電腦,、標簽打印機、POS系統(tǒng),、工業(yè)自動化控制機械,、安全門禁系統(tǒng)、數(shù)據(jù)采集器等,。通過USB-RS 232轉(zhuǎn)換卡,,這些設備都能在RS 232串口和USB口之間非常容易地建立可靠的連接,通過利用USB接口即插即用和熱插拔的能力給這些RS 232串口設備提供非常容易使用的環(huán)境,,并大大提高傳輸速率,。

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載,。