谷士鵬,王 錦,連強強
(中國飛行試驗研究院 陜西 西安 710089)
一種USB-RS232高速數(shù)據(jù)傳輸系統(tǒng)的設計與實現(xiàn)
谷士鵬,王 錦,連強強
(中國飛行試驗研究院 陜西 西安 710089)
為了充分利用USB接口的技術(shù)優(yōu)勢,在分析了幾種設計方案的優(yōu)缺點之后,采用專用的USB-RS232雙向轉(zhuǎn)換器FT2232D,通過對FT2232D進行配置和外圍硬件電路的設計,并完成驅(qū)動程序的加載,成功實現(xiàn)USB-RS232高速數(shù)據(jù)傳輸系統(tǒng)的設計。最后,對該系統(tǒng)進行了系統(tǒng)測試,結(jié)果標明該系統(tǒng)數(shù)據(jù)傳輸穩(wěn)定可靠,可以實現(xiàn)對傳統(tǒng)設備的升級換代。
USB-RS232;FT2232D;高速數(shù)據(jù)傳輸;系統(tǒng)測試
隨著串行通信技術(shù)技術(shù)的發(fā)展,傳統(tǒng)的RS-232串口總線正在被USB串行總線所代替。USB串行總線具有傳輸速度快、傳輸數(shù)據(jù)大、支持熱插拔、功耗低、支持設備多、設備互聯(lián)方便等諸多優(yōu)點,因此不論是在IT領域還是工業(yè)控制領域,USB總線都得到了極大的應用。伴隨著USB串行總線的迅猛發(fā)展,USB接口已經(jīng)是目前計算機的標準配置,采用USB接口可以使用任何一臺計算機進行數(shù)據(jù)通信[1]。但目前還有大量的外圍設備和軟件依然使用RS-232串口總線,為了充分利用USB接口的技術(shù)優(yōu)勢,同時降低研發(fā)成本,本文設計了一種USB-RS232高速數(shù)據(jù)傳輸系統(tǒng),并詳細闡述了其實現(xiàn)方法。
從現(xiàn)有技術(shù)來看,可供選擇的USB-RS232高速數(shù)據(jù)傳輸系統(tǒng)的設計方案主要有以下3種:
1)使用集成USB2.0收發(fā)器的USB微控制器,通過其內(nèi)置的USB總線控制器和通用異步收發(fā)器來實現(xiàn)信號轉(zhuǎn)換,如Cypress公司的EZ-USB FX2系列微控制器[2];若無通用異步收發(fā)器也可以利用GPIO來模擬RS232收發(fā)過程;
2)采用單獨的USB接口收發(fā)器來設計USB接口,再外接微控制器實現(xiàn)信號傳輸,如Philips半導體公司所推出的ISP1581、PDIUSBD11/12等[3];
3)使用專用的USB-RS232雙向轉(zhuǎn)換器,如英商飛特帝亞有限公司(FTDI)的FT232BM、FT2232C、FT2232D和卡特拉-漢莫公司的CH340、CH341等,該方案將數(shù)據(jù)收發(fā)和協(xié)議轉(zhuǎn)換工作全部交由轉(zhuǎn)換器獨立完成,無需編寫器件的固件[4]。
雖然USB總線使用起來簡單方便,但設計USB總線協(xié)議卻要求設計者對USB協(xié)議規(guī)范非常熟悉,同時還涉及到枚舉、設備描述符、端點、令牌、傳輸類型、信息管道等知識[5]。通過分析以上幾種方案的設計思路可以看出,第3種方案設計簡單、可擴展性強,本文選擇第3種設計方案。
本設計中硬件電路主要由FT2232D、AT93C46、TLV70033和SP213EHCA組成。FT2232D實現(xiàn)USB接口到RS232接口的轉(zhuǎn)換,AT93C46用來儲存USB端口配置,TLV70033負責為FT2232D提供3.3 V電壓,而SP213EHCA用于實現(xiàn)RS 232與TLL/CMOS之間的電平轉(zhuǎn)換。其原理框圖如圖1所示。可以看出,整個系統(tǒng)硬件部分以FT2232D為核心。
圖1 系統(tǒng)硬件框圖
2.1 FT2232D芯片簡介
FT2232D是一款USB到UART/FIFO的轉(zhuǎn)換芯片,是FTDI公司繼第二代FT232BM、FT245BM之后的第三代產(chǎn)品,集成了兩片 BM芯片的功能。FT2232D可以將一個USB端口可以轉(zhuǎn)換為兩組I/O通道,每組I/O通道均可以配置成一個串口或者一個FIFO接口。在默認情況下,F(xiàn)T2232D將USB端口轉(zhuǎn)換成兩組串口。如果FT2232D的外圍電路中外掛有EEPROM,那么配置EEPROM,F(xiàn)T2232D還可以將USB端口配置為增強型同步位響應模式、多協(xié)議同步串行接口模式、MCU主機總線競爭模式、快速光隔離串行接口模式或者CPU類型的FIFO模式。由于使用了新的工藝,F(xiàn)T2232D能夠直接輸出超過普通電路3倍的功率,在電路設計中多個接口可以共享FT2232D的輸出[6]。
FT2232D的簡化功能框圖如圖2所示,各單元的功能如下:
圖2 FT2232D的簡化功能框圖
USB收發(fā)器:提供USB1.1、USB2.0到USB電纜的全速物理接口。一個微分收發(fā)器和兩個單獨的終結(jié)收發(fā)器提供USB數(shù)據(jù)輸入、SEO及USB復位條件檢測。
USB鎖相環(huán):跟蹤輸入的USB數(shù)據(jù),并單獨恢復時鐘及數(shù)據(jù)信號。
串行接口引擎:執(zhí)行USB數(shù)據(jù)從串行到并行及并行到串行的轉(zhuǎn)換,并完成對USB數(shù)據(jù)流的位填充/逆填充,以及循環(huán)冗余校驗碼(CRC)的產(chǎn)生與檢錯。
USB協(xié)議引擎:管理從USB控制端接收的數(shù)據(jù),負責處理USB主控器發(fā)出的底層USB協(xié)議請求和UART/FIFO控制器發(fā)出的控制命令。
發(fā)送緩沖區(qū)和接受緩沖區(qū)的大小分別為128字節(jié)和384字節(jié)。
2.2 硬件電路設計
硬件電路的+5 V電源來自USB接口的VBUS管腳,最高可提供500 mA的電流。在所有電源端增加了去耦合旁路電容,以提高硬件電路的抗干擾能力。D1是系統(tǒng)電壓指示燈,當USB接口輸出+5 V時點亮。
FT2232D與 USB插座的信號管腳連接時,USBDP、USBDM兩個輸入端電阻的阻值必須相等,典型值為27 Ω,而且必須是1%精度的電阻,否則可能造成輸入阻抗不匹配從而使電路無法正常工作[7]。電路晶振Y1兩端的2個電容的電容值也必須相等,典型值為18 pF。RESET#引腳被連接到5 V,無法通過該引腳重啟FT2232D。VCCIOA和VCCIOB可以使用不同的電源,即將 VCCIOA連接+3.3 V、VCCIOB連接+5 V,這樣得到的串口通道A的工作電壓為3.3 V,通道B的工作電壓為5 V,就可以分別接3.3 V和5 V的器件。本設計中VCCIOA和VCCIOB都連接至+5 V。
FT2232D默認工作在雙串口模式,通過外掛E2PROM AT93C46, 可 以 調(diào) 用 FTDI公 司 的MProg3.0_Setup對USB接口進行編程[8]。AT93C46的ORG管腳懸空,由于內(nèi)部上拉電阻的存在,AT93C46將被配置為16位的存儲器結(jié)構(gòu)。AT93C46還可以存儲FT2232D的VID、PID等信息[9]。
SP213EHCA是一種具有休眠功能的驅(qū)動器/接收器,片內(nèi)含有一個電容性電壓發(fā)生器以便在+5 V電源供電時提供RS232電平,最高傳輸速率可達120 kbps[10]。在休眠模式時,最低耗電僅為1 μA,可以通過外部事件將其喚醒。使用SP213EHCA可以將FT2232D輸出的串行端轉(zhuǎn)換為RS232串口通信接口[11]。SP213EHCA外圍接口簡單,只需要外接5個0.1 μF的電容。
圖3 硬件電路原理圖
2.3 驅(qū)動程序
FT2232D使用FTDI公司提供了兩種FT2232D的驅(qū)動程序:虛擬串行口VCP驅(qū)動程序和D2XX驅(qū)動程序[12]。
FT2232D使用 FTDI公司提供的虛擬串口(VCP)驅(qū)動,對PC機USB接口的使用就像使用PC機的標準串口一樣[13]。外部設備的數(shù)據(jù)經(jīng)過RS232接口輸入到FT2232D,F(xiàn)T2232D將轉(zhuǎn)換后的數(shù)據(jù)經(jīng)過USB接口輸入到PC機的VCP程序中,Windows應用程序通過調(diào)用VCP進行處理。
D2XX驅(qū)動程序可以使得FT2232D獲得更好的數(shù)據(jù)傳輸性能。在編寫應用程序時,只需要調(diào)用ftd2xx64. dll中的函數(shù)便可完成對USB接口設備的讀寫操作。這種驅(qū)動模式更適合進行二次開發(fā)的用戶使用[14]。
以上兩種驅(qū)動模式都可以訪問FT2232D,但需要注意的是在應用軟件開發(fā)使用的過程中,同時只能使用一種驅(qū)動程序提供的接口。
測試軟件在VC++6.0的MFC框架下,利用消息映射來完成信號發(fā)送和數(shù)據(jù)顯示兩大功能[15]。
測試界面如圖4所示。左端的上部是端口的設置控件,包括串口的選擇、波特率設置、數(shù)據(jù)位設置、校驗位設置、停止位設置和串口打開/關(guān)閉。左端的下部是通訊狀態(tài)的顯示,包括端口狀態(tài)、發(fā)送字節(jié)數(shù)和接受字節(jié)數(shù),以及一個清除計數(shù)的按鈕控件。界面右端是信號控制與數(shù)據(jù)顯示端,包括寫入信號1~3、數(shù)據(jù)顯示1~3以及一個寫入控制鍵。將J2端口的2、3引腳短接,配置好串口后按下控制鍵,數(shù)據(jù)顯示如圖4所示。
采用雙向轉(zhuǎn)換器FT2232D設計的USB-RS232高速數(shù)據(jù)傳輸系統(tǒng),簡單、易用、開發(fā)周期短,在諸多設計方案中是較為簡潔的一種,易于為工程實踐所采用。經(jīng)過調(diào)試和試用,轉(zhuǎn)換卡運行正常,成功實現(xiàn)了USB接口和RS232接口的數(shù)據(jù)傳輸。該系統(tǒng)不僅可用于對以RS232為通信通道設備的升級換代,也可直接用于新產(chǎn)品開發(fā)。在此基礎上利用FT2232D提供的引腳功能還可方便設計出USB-RS422、USB-RS485轉(zhuǎn)換器等。
圖4 測試界面
[1]賴彪,金海鷹,賈惠芹.USB-RS 232轉(zhuǎn)換卡的設計與實現(xiàn)[J].現(xiàn)代電子技術(shù),2011,34(2):62-64.
[2]張紅兵,孫士平,趙永泉.RS-232接口轉(zhuǎn)換為USB接口的設計原理 [J].現(xiàn)代計算機,2002(2): 23-26.
[3]何廣軍.USB接口在串行通信中的應用 [J].電子技術(shù)應用,2002,28(7):58-59.
[4]鮑兆偉,王林,徐琦,等.基于FT232R的USBRS232轉(zhuǎn)換模塊的設計 [J].電腦知識與技術(shù),2008,1(3):1204-1206.
[5]羅鈞,桂杰出.USB協(xié)議及其接口實現(xiàn)[J].儀器儀表學報,2004,25(z3):616-620.
[6]沈偉,王軍政,汪首坤.基于FIFO的高速高精度數(shù)據(jù)采集技術(shù)研究 [J].電子器件,2007(5):1673-1676.
[7]祝學云,阮亞婕.基于USB接口的接地電阻測量儀設計[J].儀表技術(shù)與傳感器,2003(12):8-9.
[8]張蓬鶴.AT93C46/56/66串行EEPROM及其在單片機中的應用程序[J].電子設計工程,2003(12): 66-68.
[9]劉駿,柴霖,李貴勇.非屏蔽雙絞線傳輸視頻補償放大器設計研究[J].科技視界,2015(8):15-16.
[10]徐彭飛.基于光纖通信與電源供電的IGBT光驅(qū)動技術(shù)研究[D].成都:電子科技大學,2015.
[11]郭建昌.虛擬串口測試系統(tǒng)設計[J].自動化儀表,2014(8):51-53.
[12]吳明琪,馬潮.嵌入式系統(tǒng)的USB虛擬串口設計[J].單片機與嵌入式系統(tǒng)應用,2005(4):62-63.
[13]陶元芳,安喜平,于萬成,等.用VC++對SolidWorks進行二次開發(fā) [J].太原科技大學學報,2006,27(2):102-105.
[14]李瑞,劉鵬遠,張錫恩.Vega程序設計在MFC中的應用[J].計算機工程與設計,2002,23(8):55-57.
Design and implementation of a USB-RS232 high speed data transmission system
GU Shi-peng,WANG Jin,LIAN Qiang-qiang
(Chinese Flight Test Establishment,Xi'an 710089,China)
In order to make full use of the advantages of the USB interface technology,after analysis the advantages and disadvantages of several design schemes by special USB-RS232 bidirectional converter FT2232D,through the FT2232D configuration and peripheral hardware circuit design,and complete the driver is loaded,the successful implementation of USB-RS232 high-speed data transmission system design.Finally,the system is tested,the results indicate that the system data transmission is stable and reliable,and it can realize the upgrading of traditional equipment.
USB-RS232;FT2232D;high speed data transmission;system test
TN919.5
A
1674-6236(2017)10-0144-04
2016-04-08稿件編號:201604079
谷士鵬(1989—),男,山東成武人,碩士研究生,工程師。研究方向:機載測試與數(shù)據(jù)遙測。