摘要:該文首先介紹對PDIUSBD12的結(jié)構(gòu)、原理和特性進(jìn)行了簡單介紹,給出了PDIUSBD12與AT89S51連接的電路原理圖。以ATMEL單片機(jī)和PHILIPS公司的PDIUSBD12構(gòu)成USB設(shè)備控制端,對PDIUSBD12芯片及應(yīng)用進(jìn)行研究。
關(guān)鍵詞:USB;PDIUSBD12;端點(diǎn);指令集;單片機(jī)
中圖分類號:TN141 文獻(xiàn)標(biāo)識碼:A文章編號:1009-3044(2009)25-7305-03
Application of USB Controller Chip PDIUSBD12
LIU Yun-peng, CHEN Yang
(Jiaozuo University, Jiaozuo454003, China)
Abstract: Structure, woking principle and characteristic property of PDIUSBD12 are introduced firstly, and the circuit diagram between PDIUSBD12 and AT89S51 is also described. ATMEL MCU and PHILIPS PDIUSBD12 constitute a USB device control terminal, and application of PDIUSBD12 chip is studied finally.
Key words: USB; PDIUSBD12; endpoint;Instruction collection; monolithic machine
USB總線由于支持即插即用和熱拔插,以及速度快、易于擴(kuò)展、總線供電等優(yōu)點(diǎn),目前己成為PC機(jī)與外部通信的主流接口,并迅速在自動化測試等許多領(lǐng)域中得到應(yīng)用,以滿足對數(shù)據(jù)通信更高的要求[1-2]。
USB設(shè)備的開發(fā),大體可分為設(shè)備端開發(fā)和主機(jī)端開發(fā)兩部分。設(shè)備端驅(qū)動程序是設(shè)備端開發(fā)的核心,它主要完成設(shè)備初始化、USB協(xié)議標(biāo)準(zhǔn)請求處理以及其它應(yīng)用程序等。主機(jī)端開發(fā)[3-4],主要是在Windows下開發(fā)USB設(shè)備驅(qū)動程序。
設(shè)備控制端一般由單片機(jī)和USB控制芯片構(gòu)成。在硬件設(shè)計中,要根據(jù)硬件系統(tǒng)的性能要求進(jìn)行器件的選型,還要充分考慮性能價格比以及應(yīng)用的方便。本文以ATMEL單片機(jī)和PHILIPS公司的PDIUSBD12構(gòu)成USB設(shè)備控制端,對PDIUSBD12芯片及應(yīng)用進(jìn)行研究。
1 USB控制器PDIUSBD12
目前,市場上供應(yīng)的USB控制器主要有兩種:帶USB接口的單片機(jī)(MCU)或純粹的USB接口芯片。帶USB接口的單片機(jī),但由于價格、開發(fā)工具以及單片機(jī)性能有限等問題,所以一般不推薦選用。
純粹的USB接口芯片僅處理USB通信,必須有一個外部微處理器來進(jìn)行協(xié)議處理和數(shù)據(jù)交換。典型產(chǎn)品有PHILIPS公司的PDIUSBD11(I2C接口),PDIUSBD12(并行接口),NS公司的USBN9603/9604(并行接口),NetChip公司的NET2888等。USB接口芯片的主要特點(diǎn)是價格便宜、接口方便、可靠性高,尤其適合于產(chǎn)品的改型設(shè)計(硬件上僅需對并行總線和中斷進(jìn)行改動,軟件則需要增加微處理器的USB中斷處理和數(shù)據(jù)交換程序、PC機(jī)的USB接口通信程序,無需對原有產(chǎn)品系統(tǒng)結(jié)構(gòu)做很大的改動)。PHILIPS公司的PDIUSBD12具有獨(dú)特優(yōu)點(diǎn),常在USB接口系統(tǒng)中選用。
1.1 PDIUSBD12的特點(diǎn)
PDIUSBD12是一款性價比很高、符合通用串行總線(USB)1.1版規(guī)范的USB接口器件,它通常用在微控制器系統(tǒng)中實(shí)現(xiàn)微控制器與PC機(jī)進(jìn)行通信的高速通用并行接口。它還支持本地的DMA傳輸。這種USB控制器使得設(shè)計者可以選擇最合適的微控制器,從而使開發(fā)更具靈活性,減少了開發(fā)周期、風(fēng)險及費(fèi)用,進(jìn)而為USB外設(shè)的實(shí)現(xiàn)提供了一種最快捷的解決方案。
除此之外,PDIUSBD12器件還具有以下特性:
1) 高性能USB接口器件,集成了SIE,F(xiàn)IFO存儲器、收發(fā)器以及電壓調(diào)整器;
2) 符合大多數(shù)器件的分類規(guī)格;
3) 可與任何外部微控制器/微處理實(shí)現(xiàn)高速并行接口(2M字節(jié)/秒);
4) 完全自治的直接內(nèi)存存取(DMA)操作;集成320字節(jié)多結(jié)構(gòu)FIFO存儲器;
5) 主端點(diǎn)的雙緩沖配置增加了數(shù)據(jù)吞吐量并輕松實(shí)現(xiàn)實(shí)時數(shù)據(jù)傳輸;
6) 在批量模式和同步模式下均可實(shí)現(xiàn)1 M字節(jié)/秒的數(shù)據(jù)傳輸速率;具有良好EMI特性的總線供電能力;
7) PDIUSBD12所具有的低功耗掛起連同LazyClock輸出可以滿足使用ACPI、OnNOW和USB電源管理的要求,低的操作功耗還使總線供電于外設(shè)成為可能;
8) 可通過軟件控制與USB的連接;
9) 采用GoodLink技術(shù)的連接指示器,在通訊時使LED閃爍;
10) 可編程的時鐘頻率輸出;
11) 雙電源操作3.3 ±0.3 V或擴(kuò)展的5V電源,范圍為3.6V~5.5V;
12) 多中斷模式,支持批量和同步傳輸。
1.2 PDIUSBD12的管腳配置
PDIUSBD12的管腳排列如圖1所示,其管腳說明如表1所列。
1.3 PDIUSBD12的內(nèi)部結(jié)構(gòu)與功能
PDIUSBD 12的功能框圖如圖2所示,其功能和相關(guān)說明如下。
圖2PDIUSBD12功能框圖
1) 模擬收發(fā)器:
集成的模擬收發(fā)器接口可通過終端電阻直接與USB電纜相連。
2) 電壓調(diào)整器
片內(nèi)集成了一個3.3V的調(diào)整器用于模擬收發(fā)器的供電。該電壓還作為輸出連接到1.5K?的內(nèi)部上拉電阻??蛇x擇PDIUSBD12提供的帶1.5KΩ內(nèi)部上拉電阻的軟件連接技術(shù)。
3) PLL
片內(nèi)集成了6M到48M的時鐘乘法PLL,因此可使用6M晶振,既降低成本,又降低EMI。
4) 位時鐘恢復(fù)
位時鐘恢復(fù)電路使用4X過采樣規(guī)則,從進(jìn)入的USB數(shù)據(jù)流中恢復(fù)時鐘。它能跟蹤USB規(guī)定范圍內(nèi)的抖動和頻漂。
5) PHILIPS串行接口引擎(PSIE)
PHILIPS SIE實(shí)現(xiàn)了全部的USB協(xié)議層,完全由硬件實(shí)現(xiàn)而無需固件的參與。該模塊的功能包括:同步模式的識別、并行/串行轉(zhuǎn)換、位填充/解除填充、CRC校驗(yàn)/產(chǎn)生、PID校驗(yàn)/產(chǎn)生、地址識別和握手評估/產(chǎn)生等功能。
6) SoftConnectTM
與USB的連接是通過1.5K?的上拉電阻將D+(用于告訴USB器件)置為高實(shí)現(xiàn)的。1.5KΩ上拉電阻集成在PDIUSBD12片內(nèi),默認(rèn)狀態(tài)下不與VCC相連。連接的建立通過外部系統(tǒng)微控制器發(fā)送命令來實(shí)現(xiàn)。這就允許系統(tǒng)微控制器在決定與USB建立連接之前完成初始化時序。USB總線連接可以重新初始化而不需要拔出電纜。
PDIUSBD12在連接可以建立之前會檢測USB VBUS是否可用。VBUS可通過EOT_N管腳進(jìn)行檢測。
7) GoodLinkTM
GoodLinkTM技術(shù)可提供良好的USB連接指示。在枚舉中,LED指示根據(jù)通信的狀況間歇閃爍。當(dāng)PDIUSBD12成功的枚舉和配置后,LED指示將一直點(diǎn)亮。隨后與PDIUSBD12之間成功的傳輸(帶應(yīng)答)將關(guān)閉LED,處于掛起狀態(tài)時,LED將會關(guān)閉。
8)存儲器管理單元(MMU)和集成RAM
在以12Mb/s的速率傳輸并與微控制器并口相連時,MMU和集成RAM作為USB之向速度差異的緩沖區(qū)。這就允許微控制器以它自己的速率對USB信息包進(jìn)行讀寫。
9)并行和DMA接口
PDIUSBD12對于微控制器而言,看起來就象一個帶有8位數(shù)據(jù)總線和一個地址位的存儲器件。PDIUSBD12支持多路復(fù)用和非復(fù)用的地址和數(shù)據(jù)總線。還支持主端點(diǎn)(端點(diǎn)2)和本地共享RAM之間直接讀取的DMA傳輸。支持單周期和突發(fā)模式的DMA傳輸,且可以和對其他端點(diǎn)的正常I/O操作交叉進(jìn)行。DMA操作中的自動指針處理,在跨過緩沖區(qū)邊界時無需本地CPU的干預(yù)。
1.4 PDIUSBD12的端點(diǎn)和指令集
PDIUSBD12的端點(diǎn)適用于不同類型的設(shè)備,如圖像、打印機(jī)、海量存儲器和通信設(shè)備。PDIUSBD12支持3個端點(diǎn),其中主端點(diǎn)最多能保存128B,自動切換的雙緩沖結(jié)構(gòu)允許保存256B,允許USB和本地CPU之間的并行讀寫操作,這既增加了數(shù)據(jù)的吞吐量,也導(dǎo)致了緩沖區(qū)操作的透明性。
PDIUSBD12主端點(diǎn)可通過“SET MODE”命令配置為模式0~3四種不同的模式。模式0 ( NON-ISO模式)為非同步傳輸。模式1 ( ISO-OUT模式)為同步輸出傳輸。模式2(ISO-IN模式)為同步輸入傳輸。模式3(ISO-IO模式)為同步輸入輸出傳輸。
PDIUSBD12有自己的指令集,用于管理USB總線事務(wù),這些指令在微處理器控制下執(zhí)行,可以分為三類:初始化、數(shù)據(jù)流和通用命令。模式配置和指令集在此不作詳述。
2PDIUSBD12的典型連接
PDIUSBD12與單片機(jī)的接口有兩種方式:多路地址/數(shù)據(jù)總線配置方式和單獨(dú)地址/數(shù)據(jù)總線配置方式。當(dāng)PDIUSBD12接收到主機(jī)的有效信息時,會產(chǎn)生一個中斷通知單片機(jī)進(jìn)行處理。
在多路地址/數(shù)據(jù)總線配置方式中使用了單片機(jī)的INT、ALE、WR、RD和P0口,PDIUSBD12在ALE下降沿的時候?qū)纹瑱C(jī)的輸出地址進(jìn)行鎖存。在這種方式中單片機(jī)使用MOVX指令就可以對PDIUSBD12進(jìn)行數(shù)據(jù)操作了。倘若輸出地址為奇數(shù)表示對PDIUSBD12發(fā)送指令,輸出的地址為偶數(shù)時則表示對PDIUSBD12進(jìn)行數(shù)據(jù)傳輸。在我們的實(shí)際應(yīng)用中,USB接口系統(tǒng)采用的就是多路地址/數(shù)據(jù)總線接口方式。
在USB接口電路的設(shè)計中,PDIUSBD12完成所有的USB傳輸功能,與PDIUSBD12相連的是微處理器AT89S51,微處理器底層應(yīng)用程序完成USB總線枚舉過程、PDIUSBD12的中斷訪問過程、電源管理功能和USB協(xié)議層的功能。USB控制芯片PDIUSBD12有能與微控制器接口的8位并行數(shù)據(jù)總線?;赑IUSBD12的USB接口電路原理圖如圖3。
PDIUSBD12具有內(nèi)置的上電復(fù)位電路。所以RESET_ N腳可以直接連到Vcc。但是如果靜電放電足夠大,會導(dǎo)致PDIUSBD12進(jìn)入不確定狀態(tài)。為了避免這種狀態(tài)出現(xiàn),在這使用外部控制源(AT89S51)提供PDIUSBD12的復(fù)位信號。而不是將RESET_N腳直接連到Vcc。另外有個好處就是復(fù)位變得容易,在PDIUSBD12在數(shù)據(jù)傳輸請求時可隨時復(fù)位。
3 結(jié)束語
本文討論了USB核心芯片PDIUSBD12的特性,給出了PDIUSBD12與AT89S51連接的電路圖, 可以看出PDIUSBD12控制器為USB外設(shè)的實(shí)現(xiàn)提供了一種最快捷的解決方案,可以使設(shè)計者選擇最合適的微控制器,從而使開發(fā)更加靈活,縮短了開發(fā)周期、降低了風(fēng)險和開發(fā)費(fèi)用。本文對USB協(xié)議、軟件設(shè)計以及USB外設(shè)的固件編程沒有做更深入的探討。
參考文獻(xiàn):
[1] 武安河.Windows 2000/XP WDM設(shè)備驅(qū)動程序開發(fā)[M] .北京:電子工業(yè)出版社,2003:284-325.
[2] 周濤,張輝.采用PDlUSBU12的USB系統(tǒng)固件程序設(shè)計[J].電子技術(shù)應(yīng)用[J].2003 29(5):70-72.
[3] 陳軍波.USB接口芯片PDIUSBD12及應(yīng)用[J].國外電子元器件,2002,11:47-49.
[4] 萬利峰.基于PDIUSBD12的USB數(shù)據(jù)采集系統(tǒng)的設(shè)計[J].微計算機(jī)信息,2006,22(5-1):110-111.