<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>
關(guān) 閉

新聞中心

EEPW首頁(yè) > 工控自動(dòng)化 > 設計應用 > 基于PDIUSBD12芯片的USB接口設計

基于PDIUSBD12芯片的USB接口設計

作者: 時(shí)間:2007-09-14 來(lái)源:網(wǎng)絡(luò ) 收藏
摘 要:通用串行總線(xiàn)()具有傳輸速度快、可靠性高、使用靈活等優(yōu)點(diǎn),作為一種通信接口規范,他被廣泛地應用在PC外設和便攜式系統中。文中介紹了基于D接口的硬件電路設計,并給出了該接口的單片機控制程序(即固件,Firmware)的設計。
關(guān)鍵詞:通用串行總線(xiàn);;接口;MCU?

隨著(zhù)計算機技術(shù)和信息技術(shù)的飛速發(fā)展,計算機外設種類(lèi)的增多與有限的主板插槽和端口之間的矛盾日益突出,由Intel,Microsoft等公司聯(lián)合制定的總線(xiàn)接口規范即通用串行總線(xiàn)(Universal Serial Bus, USB)的出現[1],為解決這一矛盾提出了最好的解決方案。USB具有以下特點(diǎn):

(1)有較高的傳輸速率USB 1.1支持全速和低速2種方式。全速速率為
Mb/s,低速速率為1.5 Mb/s;?USB 2.0除支持USB 1.1的2種速度方式外,還增加了速率可達480 Mb/s的高速方式。
(2)他的使用方便靈活[2]USB支持即插即用和熱插拔,他允許在任何時(shí)候連接和斷開(kāi)外設,當外設被連接時(shí),系統會(huì )自動(dòng)檢測到外設并準備使用。
(3)他易于擴展通過(guò)根集線(xiàn)器可攜帶127個(gè)設備[3],真正實(shí)現多個(gè)外設共用一個(gè)接口。

此外,USB還有可靠性高、成本低、功耗小等優(yōu)點(diǎn)而倍受歡迎。

?目前供于開(kāi)發(fā)USB設備的很多,但主要有2類(lèi):一類(lèi)是帶USB接口的微控制器(MCU),這些微控制器有些是從底層專(zhuān)用于USB控制的,比如Cypress半導體公司的CY7C63xxx(低速)、CY7C64013(全速),這類(lèi)微控制器有自己的系統結構和指令;有些微控制器只是增加了USB接口的通用芯片(基于8051內核),比如Intel公司的8x931,8x930,Cypress半導體公司的EZUSB;另一類(lèi)是純粹的USB接口芯片,他需要一個(gè)外部微控制器控制,比如朗訊公司的USS820/825,National半導體公司的USBN9602,NetChip公司的NET2888,Philips公司的11(I2C)和PDIUSBD12(并行接口)。因此在USB設備開(kāi)發(fā)之前必須根據具體要求選用合適的USB接口芯片,以降低開(kāi)發(fā)成本、減少開(kāi)發(fā)時(shí)間。本文以PDIUSBD12為USB接口芯片,以ADuC812為控制器完成了USB接口的設計。

1PDIUSBD12芯片和ADuC812芯片簡(jiǎn)介
1.1PDIUSBD12 簡(jiǎn)介
?PDIUSBD12是Philips公司推出的一款特點(diǎn)突出的USB接口芯片。該芯片使用8位并行數據線(xiàn)連接到MCU,1位地址線(xiàn)用來(lái)區分寫(xiě)命令或讀寫(xiě)數據,他支持3個(gè)USB端點(diǎn),1個(gè)端點(diǎn)能保存128 B,另2個(gè)能保存256 B。

?PDIUSBD12完全遵從USB 1.1協(xié)議,他內部集成有串行接口引擎(SIE)、320 bFIFO存儲器、收發(fā)器(Transceiver)和電壓調節器,其原理框圖如圖1所示。還有可編程的時(shí)鐘輸出和狀態(tài)LED輸出(GoodLinkTM),可控制的軟件連接(SoftConnectTM)以及內部上電復位和低電壓復位電路。有2種電源供電方式:內部3.30.3 V電源和外部電源(電壓范圍3.6~5.5 V)。溫度范圍為-40℃~+85 ℃,采用28腳SSOP封裝。

?

對外部微控制器沒(méi)有任何限制,開(kāi)發(fā)者可以選用自己熟悉的MCU來(lái)控制。多種中斷方式方便于塊傳輸(Bulk)和同步傳輸(Isochronous),使用塊傳輸方式時(shí)的速度可達1 Mb/s,同步傳輸的速度可達1 Mb/s。他適合大多數USB設備類(lèi)的設計:圖像設備類(lèi)、大容量存儲設備類(lèi)、通信設備類(lèi)、打印設備類(lèi)、人機接口設備類(lèi)等。

1.2ADuC812簡(jiǎn)介
?ADuC812是美國AD公司首先投入市場(chǎng)的微處理器,其內部集成了完整的8052內核、1個(gè)8通道的12位ADC、2個(gè)12位的電壓輸出DAC,除了8052的256 b RAM外,還有640 b Flash數據存儲器,8 kb Flash程序存儲器[4]。

?另外該MCU還有看門(mén)狗定時(shí)器、電源監視器、ADC與數據存儲器之間的DMA功能,以及為多處理器接口和I/O擴展提供了32條可編程的I/O線(xiàn)、I2C兼容的SPI和標準UART串行I/O等。他采用52腳PQF封裝,大小約為1 cm2。

?同時(shí),AD公司還為ADuC812的開(kāi)發(fā)提供了完整的硬件調試工具和開(kāi)發(fā)仿真軟件,使得開(kāi)發(fā)變得簡(jiǎn)單方便。因此,ADuC812由于體積小、功耗低、性?xún)r(jià)比高而極具誘人的應用前景。


2硬件電路設計
?由PDIUSBD12和ADuC812構成的USB接口電路如圖2所示。PDIUSBD12的8位并行數據接入ADuC812 的P0口,地址線(xiàn)A15(P2?7)作為PDIUSBD12的片選,地址線(xiàn)A14(P2.6)作為PDIUSBD12的命令或數據的選擇線(xiàn)。在片選信號有效的前提下(P2.7=0),當P2.6=1時(shí),給PDIUSBD12發(fā)命令;當P2.6=0時(shí),給PDIUSBD12寫(xiě)數據或從PDIUSBD12的 Buffer中讀數據;因此,地址
0x7FFF發(fā)命令,地址0x3FFF讀寫(xiě)數據。PDIUSBD12與ADuC812的數據交換采用中斷方式(外部中斷0)。他的一個(gè)輸出(GL-N)接LED對其狀態(tài)進(jìn)行監控,這個(gè)LED在USB被連接時(shí)會(huì )發(fā)光,在進(jìn)行數據傳輸時(shí)會(huì )閃爍,LED常亮或一直不亮說(shuō)明USB接口有問(wèn)題。

?USB設備通過(guò)4線(xiàn)電纜接入主機或USB Hub,這4線(xiàn)分別是:VCC(總線(xiàn)電源),GND(地線(xiàn)),D+和D-(數據線(xiàn))。主機通過(guò)D+和D-上的電壓變化來(lái)檢測到設備的狀態(tài),當沒(méi)有設備連接到USB端口時(shí),?D+?和D-線(xiàn)上的下拉電阻就將2條數據線(xiàn)拉到近地,當檢測到任一條數據線(xiàn)電壓接近VCC?,而其他保持近地電壓,那么主機就知道該設備已經(jīng)準備好了。

?

主機通過(guò)檢測是哪一條數據線(xiàn)電壓變高來(lái)確定設備是全速或低速,當D+數據線(xiàn)高時(shí),就為全速;當D-數據線(xiàn)低時(shí),就為低速。PDIUSBBD12的全速模式通過(guò)軟連接(SoftConnectTM)在D+上接1個(gè)1.5kΩ的上拉電阻。

3固件設計
?當設備連接到主機以后,主機通過(guò)給PDIUSBD12的端點(diǎn)0發(fā)送包含標準USB請求的控制傳輸(即Setup包),PDIUSBD12產(chǎn)生一個(gè)中斷給MCU(INT0),MCU通過(guò)讀PDIUSBD12的中斷寄存器和最后一次傳輸狀態(tài)寄存器來(lái)對每一個(gè)請求作出響應,并通過(guò)PDIUSBD12的端點(diǎn)0回送請求信息。主機從返回的信息中讀取描述數據,分配和載入一個(gè)設備驅動(dòng)程序并對設備進(jìn)行配置。設備被配置好后,就可以使用配置中支持的端點(diǎn)來(lái)傳輸數據。這一部分工作由MCU來(lái)控制完成,并且該控制程序需要固化在A(yíng)DuC812的內部ROM中,稱(chēng)之為固件(firmware)。


PDIUSBD12的端點(diǎn)0有3個(gè)狀態(tài),其變化關(guān)系如圖3所示,固件程序必須利用這3種狀態(tài)關(guān)系來(lái)正確地處理控制傳輸。把主機通過(guò)PDIUSBD12的端點(diǎn)0給設備發(fā)USB請求設為OUTs,通過(guò)端點(diǎn)0
接收數據設為INs。MCU處理來(lái)自主機的Setup包(Control Out)的軟件流程圖如圖4所示,MCU通過(guò)PDIUSBD12的控制端點(diǎn)0給主機發(fā)送描述符數據(Control In)的軟件流程圖如圖5所示。PDIUSBD12的描述符數據必須嚴格遵循USB 1.1協(xié)議第九章(Chap9)的規定,描述符數據包括設備描述符、配置描述符、接口描述符、端點(diǎn)描述符、字符串描述符。

?


完成PDIUSBD12的固件(Firmware)程序后,在USB設備驅動(dòng)程序的開(kāi)發(fā)中筆者使用了Jungo公司的WinDriver 5.03,應用程序的開(kāi)發(fā)使用的是VC 6.0。

4結語(yǔ)
?該USB接口適合于高速數據采集系統與主機進(jìn)行數據通信,同時(shí),他也為便攜式系統提供了方便、快捷和可靠的接口解決方案。目前,USB已經(jīng)廣泛地應用在PC的外設上,特別是USB 2.0協(xié)議推出后,數據傳輸能力和速度大大提高,使得USB數碼相機、數碼攝像機能在短時(shí)間內完成大容量的圖像傳輸。此外,USB的突出特點(diǎn)使得他必將在更廣闊的領(lǐng)域得到應用。

參考文獻

[1]Universal erial Bus specification compaq. Intel,Microsoft,NEC Revision 1.1 September 23,1998
[2]Jan Axelson(美).USB大全[M].陳逸,等譯.北京:中國電力出版社,
2001
[3]Don Anderson(美).USB系統體系[M].精英科技譯?北京:中國電力出版社,2001
[4]劉書(shū)明,馮小平.數據采集系統芯片AduC812原理與應用[M].西安:西安電子科技大學(xué)出版社, 2000



關(guān)鍵詞: PDIUSBD USB 12 芯片

評論


相關(guān)推薦

技術(shù)專(zhuān)區

關(guān)閉
国产精品自在自线亚洲|国产精品无圣光一区二区|国产日产欧洲无码视频|久久久一本精品99久久K精品66|欧美人与动牲交片免费播放
<dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><small id="yhprb"></small><dfn id="yhprb"></dfn><small id="yhprb"><delect id="yhprb"></delect></small><small id="yhprb"></small><small id="yhprb"></small> <delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"></dfn><dfn id="yhprb"></dfn><s id="yhprb"><noframes id="yhprb"><small id="yhprb"><dfn id="yhprb"></dfn></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><small id="yhprb"></small><dfn id="yhprb"><delect id="yhprb"></delect></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn> <small id="yhprb"></small><delect id="yhprb"><strike id="yhprb"></strike></delect><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn><dfn id="yhprb"><s id="yhprb"><strike id="yhprb"></strike></s></dfn><dfn id="yhprb"><s id="yhprb"></s></dfn>