USB RS-232轉換卡設計
與RS 232總線的數據傳輸速率相比,USB的傳輸速率高達480 Mb/s,因此很多計算機的RS 232串行接口都被USB接口所替換,但是很多儀器儀表、控制終端、遠程終端等設備的接口還是沿用RS 232。為解決兩個接口之間的轉換,設計并研制了USB-RS 232接口轉換卡。從USB和RS 232通信協議出發,詳細介紹USB-RS 232轉換卡的設計原理,并以CH341T芯片為例,設計并制作了USB-RS 232轉換卡。利用研制的USB-RS 232轉換卡連接具有RS 232接口的溫濕度傳感器,在運行監控程序后,傳感器運行穩定,能正確顯示溫濕度數據,且表明該轉換卡可成功地實現RS 232接口與USB接口的轉換。
本文引用地址:http://www.j9360.com/article/150865.htm1 USB-RS 232轉換卡的組成及其工作原理
1.1 組成
USB-RS 232轉換卡的設計原理框圖如圖1所示,由USB接口模塊、UART接口模塊、數據緩沖區和協議控制單元組成。各部分功能如下:
USB接口模塊 主要提供與USB總線的連接,它需要實現一般USB設備接口的所有功能,以實現與USB主機的數據傳輸。
UART接口模塊 實現標準的RS 232接口的所有功能,以實現與標準RS 232接口的連接。
協議控制單元 通過接收USB接口的命令,對UART接口進行配置(如配置通信波特率、數據位、校驗位、停止位、數據量控制信號等)。
數據緩沖區 用來臨時保存雙方數據傳輸過程中的數據。
1.2 工作原理
下面以計算機與外設的數據傳輸為例,介紹USB-RS 232轉換卡的工作原理:
當USB-RS 232轉換卡連接到USB總線上時,計算機檢測到設備的連接后對設備進行初始化配置并啟動相關的客戶驅動程序;驅動程序給設備發送配置命令以設置RS 232接口的數據傳輸特性;最后,在數據傳輸時,計算機上的驅動程序首先將數據包傳輸給USB接口,USB接口讀出實際的有效數據并保存在數據緩沖區中,UART接口則從數據緩沖區中將數據取走并發送給設備。
2 USB-RS 232轉換卡的設計
2.1 協議轉換模塊的設計
根據原理框圖,選擇恰當的協議轉換模塊是設計該卡的關鍵。設計轉換卡的方法有好幾種:一種方法是采用通用的USB控制器,利用其內置的通用異步收發器(UART)在USB與RS 232之間進行信號轉換,例如EZ-USB,PIC16C745,CY7C63001等,若沒有內置UART,也可以利用通用I/O接口模擬RS 232的收發過程;另外還可以采用單獨的USB接口收發器芯片,如ISP1581,PDI-USBD11/12等,但這種方法需要另配微控制器才能工作;第三種就是采用專用的USB與RS 232轉換芯片,如CH341芯片,這種芯片的優點是數據接收和發送的協議轉換工作全部由芯片獨立完成,無需干預,也不用編寫芯片的固件。本文采用CH341的簡裝版CH341T來設計USB-RS 232轉換卡。圖2是一個利用CH341T和MAX232進行USB接口設計的硬件框圖。如圖所示,該硬件系統由4部分組成:USB接口、CH341T、MAX232和RS 232接口。其中,USB接口用于連接USB主機,在此選用USB總線接口的A型連接頭;CH341T用于完成USB接口轉RS 232接口的所有硬件功能;MAX232用于完成RS 232與TLL/CMOS的電平轉換;RS 232接口用于連接RS 232設備。根據實際需要,選擇目前廣泛應用的DB9連接器。
2.2 硬件電路設計
設計USB轉RS 232串口的硬件連接圖如圖3所示。USB總線包括一對5 V電源線和一對數據信號線。通常,+5 V電源線為紅色;接地線為黑色;D+信號線為綠色;D-信號線為白色。USB總線提供的電源電流最大可以達到500 mA,CH341T芯片可以直接使用USB總線提供的5 V電源。C3和C4是高頻瓷片電容,C3容量一般為4 700 pF~0.02 μF,用于CH341T內部電源節點的退耦;G容量為0.1μF,用于外部電源的退耦。晶振X1、電容C1和C2用于時鐘振蕩電路。X1的頻率是12 MHz,C1和C2是容量為15~30 pF的高頻瓷片電容。MAX232提供電平轉換。
2.3 驅動程序
連接USB-RS 232轉換卡的計算機,必須安裝CH341T的驅動程序CH341SER.EXE,當模塊首次連接到計算機的USB端口時,計算機提示找到新硬件,按照提示完成驅動程序的安裝。
安裝完驅動程序后,可以通過計算機的USB接口提供仿真串口。在邏輯功能方面,使用方法與普通計算機串口完全相同,支持大多數常用的串口監控及調試工具程序,應用程序可以不做任何修改,可以像存取一個標準的物理串口一樣訪問這個虛擬串口,在保持軟硬件兼容的前提下,將原串口產品轉換為USB接口。
評論