<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>

新聞中心

EEPW首頁(yè) > 嵌入式系統 > 設計應用 > 基于GPIF的USB-ATA解決方案

基于GPIF的USB-ATA解決方案

作者: 時(shí)間:2009-04-09 來(lái)源:網(wǎng)絡(luò ) 收藏

目前,通過(guò)單片機去控制硬盤(pán)的,大多采用PIO模式實(shí)現,速度和性能上都不夠理想,硬盤(pán)與PC機的連接也相當繁瑣。要頻繁地與PC機交換大量資料,采用USB硬盤(pán)是一個(gè)相當好的。本文給出一個(gè)如何利用單片機完成對硬盤(pán)的讀寫(xiě),同時(shí)具有功能的可行方案。

本文引用地址:http://dyxdggzs.com/article/173793.htm

1 USB、、

1.1 USB總線(xiàn)

USB(Universal Serial Bus)[4]是一種串行接口的新標準,其主要優(yōu)點(diǎn)是速度快、功耗低、支持即插即用(Plug Play)、使用安裝方便。USB支持最多5個(gè)Hub層以及127個(gè)外設,所有外設通過(guò)協(xié)議共享USB的帶寬。目前使用中的USB協(xié)議有1.0、1.1和2.0三個(gè)版本,通訊速率分別為1.5Mbps、12Mbps、480Mbps,USB協(xié)議向下兼容。

從邏輯結構上講,USB數據的傳輸是通過(guò)管道進(jìn)行的,管道的兩端連接host和device的端點(diǎn)BUFFER,BUFFER的大小直接影響通訊的速率。USB系統軟件通過(guò)缺省管道(與端點(diǎn)0相對應)管理設備,設備驅動(dòng)程序通過(guò)其它管道來(lái)管理設備的功能接口。每一個(gè)USB設備在主機看來(lái)就是一個(gè)端點(diǎn)的集合,主機只能通過(guò)端點(diǎn)與設備進(jìn)行通訊。在USB系統中,每一個(gè)端點(diǎn)都有唯一的地址,這是由設備地址和端點(diǎn)號給出的。每個(gè)端點(diǎn)都有一定的特性,其中包括:傳輸方式、總線(xiàn)訪(fǎng)問(wèn)頻率、帶寬、端點(diǎn)號、數據包的最大容量等。根據應用場(chǎng)合的不同選擇相應的端點(diǎn)類(lèi)型。USB數據流模型見(jiàn)圖1。

1.2

(general programmable interface)[1、2]即通用可編程接口,是CYPRESS公司在其EZ-USB FX以及FX2系列單片機里設計的一個(gè)可由用戶(hù)編程的接口,具有快速、靈活等特點(diǎn),可使用多種協(xié)議完成與外圍器件的無(wú)縫連接,如EIDE/ATAPI、IEEE1284、Utopia等。對其可以根據需要進(jìn)行編程,且運行中不需要CPU的干預,僅通過(guò)一些CPU標志和中斷與增強型8051內核通訊。GPIF與8051內核的關(guān)系見(jiàn)圖2。

GPIF主要組成部分:

(1)ADR[5..0]:地址線(xiàn),可作為擴展存儲器的低位地址,在連續執行GPIF動(dòng)作時(shí)具有自動(dòng)增一功能??蓪ζ鋵募拇嫫鬟M(jìn)行讀寫(xiě)(FX2系列中擴充為9根地址線(xiàn))。

(2)RDY[5..0]:輸入Ready信號,可對指定的信號進(jìn)行連續采樣,以確定GPIF動(dòng)作繼續、等待或是反復不斷采樣,直到信號的指定狀態(tài)出現。通常用來(lái)等待指定信號的某個(gè)狀態(tài)出現,然后繼續剩余動(dòng)作。

(3)CTL[5..0]:輸出Control信號,根據編程指令輸出高低電平或集電極開(kāi)路。通常用作選通信號、非總線(xiàn)輸出信號,以及產(chǎn)生簡(jiǎn)單的脈沖信號。

(4)FD[15..0]:雙向FIFO數據線(xiàn),一般又稱(chēng)AFI、BFI。

(5)IFCLK:時(shí)鐘接口,決定使用外接時(shí)鐘還是使用內部48MHz或30MHz時(shí)鐘周期。

(6)GSTATE[2..0]:當前GPIF狀態(tài)數,可用來(lái)判斷當前GPIF工作狀態(tài),一般調試用。

(7)GPIF PROGRAM:GPIF程序存儲區間0x7900~0x797F,存儲GPIF指令,可存儲4組波形的程序代碼(FX2系列存儲區間為0xE400~0xE47F)。

每個(gè)GPIF動(dòng)作都由七段組成:Interval0~Interval6,簡(jiǎn)稱(chēng)I0~I6。執行完I0~I6的動(dòng)作后,最后都進(jìn)入IDLE(I7),即空閑狀態(tài),以準備啟動(dòng)下一次GPIF動(dòng)作。每個(gè)Interval可以定義為Non-Decision Interval,簡(jiǎn)稱(chēng)NDP;或是Decision Point Interval,簡(jiǎn)稱(chēng)DP。


上一頁(yè) 1 2 3 下一頁(yè)

評論


相關(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>