基于PL2303的USB接口設(shè)計
摘要:RS232接口在嵌入式設(shè)備中應(yīng)用廣泛。為了充分利用USB接口即插即用的特點(diǎn),詳細(xì)介紹一種基于PL2303的RS232與USB轉(zhuǎn)換的設(shè)計方案。PL2303是高集成度的通用串行總線(USB)與串口的接口轉(zhuǎn)換器,可方便將現(xiàn)有基于RS232接口的設(shè)備轉(zhuǎn)換為USB接口。該系統(tǒng)設(shè)計適合于便攜式設(shè)備的研制和應(yīng)用。
關(guān)鍵詞:接口;USB;RS232;PL2303
RS232接口作為標(biāo)準(zhǔn)外設(shè)廣泛應(yīng)用于單片機(jī)和嵌入式系統(tǒng),通用串行總線USB(Universal Serial Bus)通信技術(shù)以其易插拔、速度快、即插即用和獨(dú)立供電等特點(diǎn),已得到更廣泛的應(yīng)用。
為了解決嵌入式系統(tǒng)與個人計算機(jī)USB接口之間的通訊問題,硬件廠商提供各種不同的解決方案。一種方案是使用帶USB接口的單片機(jī)和獨(dú)立的USB接口器件,如Cypress公司的CY7C68013A(EZ-USB FX2L)和Philips公司的PIUSBDl2。這種方案需開發(fā)人員了解和掌握USB的接口原理、協(xié)議,設(shè)計USB設(shè)備驅(qū)動程序,而USB接口協(xié)議的復(fù)雜性給開發(fā)人員帶來諸多不便,開發(fā)周期長。另一種方案是使用RS232-USB接口轉(zhuǎn)換器,這些器件在其內(nèi)部完成RS232到USB接口協(xié)議的轉(zhuǎn)換,開發(fā)人員完全不用更改或只需更改很少的PC端應(yīng)用程序就可完成與USB接口的通訊任務(wù),如Prolific公司的PL2303、Silicon Labs公司的CP2102型RS232-USB接口轉(zhuǎn)換器。這類器件價格成本低,開發(fā)簡單。
利用RS232-USB接口轉(zhuǎn)換器完成通訊任務(wù),既具有即插即用的優(yōu)點(diǎn),又避免繁瑣的USB協(xié)議和USB驅(qū)動,開發(fā)方便。這里介紹RS232-USB接口轉(zhuǎn)換器PL-2303的特點(diǎn)與原理,并介紹利用該器件實(shí)現(xiàn)單片機(jī)與個人計算機(jī)之間的通訊接口設(shè)計。
1 PL2303簡介
1.1 PL2303的特點(diǎn)
PL2303是Prolific公司生產(chǎn)的一種高度集成的RS232-USB接口轉(zhuǎn)換器,可提供一個RS232全雙工異步串行通信裝置與USB功能接口便利聯(lián)接的解決方案。該器件內(nèi)置USB功能控制器、USB收發(fā)器、振蕩器和帶有全部調(diào)制解調(diào)器控制信號的UART,只需外接幾只電容就可實(shí)現(xiàn)USB信號與RS232信號的轉(zhuǎn)換,能夠方便嵌入到手持設(shè)備。該器件作為USB/RS232雙向轉(zhuǎn)換器,一方面從主機(jī)接收USB數(shù)據(jù)并將其轉(zhuǎn)換為RS232信息流格式發(fā)送給外設(shè);另一方面從RS232外設(shè)接收數(shù)據(jù)轉(zhuǎn)換為USB數(shù)據(jù)格式傳送回主機(jī)。這些工作全部由器件自動完成,開發(fā)者無需考慮固件設(shè)計。
PL2303的高兼容驅(qū)動可在大多操作系統(tǒng)上模擬成傳統(tǒng)COM端口,并允許基于COM端口應(yīng)用可方便地轉(zhuǎn)換成USB接口應(yīng)用,通訊波特率高達(dá)6 Mb/s。在工作模式和休眠模式時都具有功耗低,是嵌入式系統(tǒng)手持設(shè)備的理想選擇。該器件具有以下特征:完全兼容USBl.1協(xié)議;可調(diào)節(jié)的3~5 V輸出電壓,滿足3 V、3.3 V和5 V不同應(yīng)用需求;支持完整的RS232接口,可編程設(shè)置的波特率:75 b/s~6 Mb/s,并為外部串行接口提供電源;512字節(jié)可調(diào)的雙向數(shù)據(jù)緩存;支持默認(rèn)的ROM和外部EEPROM存儲設(shè)備配置信息,具有I2C總線接口,支持從外部MODEM信號遠(yuǎn)程喚醒;支持Windows98,Windows2000,WindowsXP等操作系統(tǒng);28引腳的SOIC封裝。
1.2 PL2303的選型
PL2303可提供PL2303X、PL2303HX兩種版本。PL2303X用于3.3 V電壓的應(yīng)用,PL2303HX用于以前使用PL2303H(5 V)設(shè)計應(yīng)用的升級,而兩者驅(qū)動程序相同。
1.3 PL2303引腳功能描述
PL2303X的主要引腳功能描述如下:
VDD_325(PIN4):RS232供電電源。必須與RS232接口使用同一電源。
TXD(PINl),RXD(PIN5):RS232的數(shù)據(jù)輸出,輸入。
DTR_N,RTS_N,RI_N,DSR_N,DCD_N,CTS_N:RS232的6個控制引腳,分別為:DTR數(shù)據(jù)終端準(zhǔn)備好,RTS發(fā)送請求,RI響鈴指示器,DSR數(shù)據(jù)準(zhǔn)備好,DCD數(shù)據(jù)載波檢測,CTS線路暢通。
VDD_33,GND:3.3 V電源和接地。
SHTD_N:關(guān)閉RS232收發(fā)器。
DP,DM:USB D+信號和USB D-信號。
VO_33:3.3 V輸出電源。
RESET_N:系統(tǒng)復(fù)位。
VDD_5:USB的5 V電源。
將PL2303的TXD(PINl)和RXD(PIN5)分別與單片機(jī)上的串口(TXD和RXD)連接,DM、DP與計算機(jī)的USB接口連接,再加上其他外圍元件,就可實(shí)現(xiàn)單片機(jī)與計算機(jī)之間的通訊。PL2303支持默認(rèn)ROM和外部EEPROM 2種不同的存儲方法,可存儲包括PID(Pinduct ID),VID(Vendor ID)和器件收發(fā)器控制和狀態(tài)等信息,如果不希望采用默認(rèn)的設(shè)置,則需外擴(kuò)一個EEPROM(如ST公司的M24C02)。
2 心理測試數(shù)據(jù)采集系統(tǒng)設(shè)計方案
心理測試數(shù)據(jù)采集系統(tǒng)由計算機(jī)屏幕顯示題目,單片機(jī)采集被試的按鍵反應(yīng)數(shù)據(jù),并通過連線將數(shù)據(jù)傳送到計算機(jī)中。測試完成后再進(jìn)行分析,并報告測試結(jié)果。系統(tǒng)共有36個按鍵盒,每個鍵盒上有0~9共10個按鍵。單片機(jī)通過掃描方式,可以同時測試36人,大大提高測試效率。傳統(tǒng)的心理測試系統(tǒng)采用串口方式通訊。為了提高系統(tǒng)的適應(yīng)性,并盡量減少對原系統(tǒng)程序的改動,這里選用USB轉(zhuǎn)UART橋接器PL2303X進(jìn)行硬件設(shè)計。其系統(tǒng)結(jié)構(gòu)如圖l所示。
2.1系統(tǒng)硬件設(shè)計
選用Tl公司的MSP430F149作為控制器。MSP430系列單片機(jī)是一種超低功耗的混合模擬控制器,具有多種省電模式,靈活的時鐘源可使器件達(dá)到最低功耗,特別適合于電池供電的手持設(shè)備。
MSP430F149提供2個內(nèi)置的串口通信模塊,可方便地與PL2303連接。采用兩線連接串口方式,分別將MSP430F149的P3.4(UTXD0),P3.5(URXDO)與PL2303的P1(TXD),P5(RXD)連接,PL2303中的串行接口控制信號RI,DSR,DCD,CTS和GPO通過220 kΩ電阻連接至電源。PL2303的電源接O.1μF的去耦電容,復(fù)位引腳上拉到電源端。5 V的鎖相環(huán)電源電壓VDD_5與地之間接一只0.1μF的去耦電容。GPl通過220 kΩ電阻接地,指示系統(tǒng)為輕載狀態(tài),提供100 mA的電流。3.3 V輸出為MSP430F149提供電源。圖2為PL2303電路連接。USB接口電路按照標(biāo)準(zhǔn)電路設(shè)計相應(yīng)元件。
2.2系統(tǒng)軟件設(shè)計
該系統(tǒng)設(shè)計的接口程序包括單片機(jī)通訊設(shè)置。USB設(shè)備驅(qū)動,以及PC應(yīng)用等3部分程序,這三者互相配合實(shí)現(xiàn)可靠、快速的數(shù)據(jù)傳輸。
1)單片機(jī)通訊設(shè)置程序單片機(jī)程序?qū)嶋H上是完成單片機(jī)對串口的初始化,即對波特率,數(shù)據(jù)位,校驗(yàn)位,有無奇偶校驗(yàn)等通信協(xié)議的設(shè)計及單片機(jī)串行通信功能控制器的設(shè)置。該設(shè)計以串口參數(shù)波特率ll5 200,數(shù)據(jù)位8,停止位l,校驗(yàn)位0。
2)USB設(shè)備驅(qū)動程序在PC機(jī)上安裝Prolific公司免費(fèi)提供的USB設(shè)備驅(qū)動程序。驅(qū)動安裝完后,PC系統(tǒng)出現(xiàn)1個“Prolific USB-to-Serial Comm Port”自動增加一個COM口,如COM3,COM4等。
3)PC應(yīng)用程序用戶按照傳統(tǒng)的串行接口控制方式來使用該模擬的“COM口”。使用Delphi語言調(diào)用RS232的控件(MSCOMM32)或API函數(shù),實(shí)現(xiàn)與單片機(jī)的通訊。串口通訊參數(shù)應(yīng)與單片機(jī)所設(shè)置參數(shù)一致。當(dāng)設(shè)備插入不同的USB接口時,計算機(jī)認(rèn)為一個新設(shè)備,需重新安裝設(shè)備驅(qū)動程序。當(dāng)插入計算機(jī)不同USB接口時,虛擬的“COM口”不同,因此,需要計算機(jī)程序自動識別是在哪一個串口插入的設(shè)備。
3 結(jié)束語
介紹采用PL2303設(shè)計的串口轉(zhuǎn)接USB接口的方法,實(shí)現(xiàn)在PC機(jī)的USB接口與單片機(jī)之間的通信。對產(chǎn)品設(shè)計者來說,PC機(jī)和單片機(jī)均是按照標(biāo)準(zhǔn)的RS232串行通信進(jìn)行處理,對于早期設(shè)計的串口通訊程序無需重新設(shè)計,就可將之前采用RS232通訊的產(chǎn)品升級至USB接口,并且設(shè)備具有允許設(shè)備熱拔,即插即用的功能,同時無需外接供電電源,便于產(chǎn)品設(shè)計和用戶使用,擴(kuò)展產(chǎn)品的使用范麗。但這種設(shè)計具有設(shè)計簡單,開發(fā)周期短,原RS232接口設(shè)備設(shè)計改動方便的特點(diǎn),為手持設(shè)備的通訊接口設(shè)計提供了較好的參考價值。