




版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認(rèn)領(lǐng)
文檔簡介
USB2.0控制器CY7C68013的接口設(shè)計實
摘要:介紹了一種基于控制器CY7C68130的USB-ATA接口,將普通硬盤轉(zhuǎn)化為USBMass-Storage的解決方案,文中給出了利用GPIF實現(xiàn)該方案的相關(guān)設(shè)計方法。
關(guān)鍵詞:ATA接口CY7C68130GPIF
1引言
USB接口以其速度快、功耗低、支持即插即用、使用安裝方便等優(yōu)點而得到了廣泛的應(yīng)用。目前標(biāo)準(zhǔn)的傳輸速度已達480Mb/s,這使得USB可以推廣到硬盤、信息家電網(wǎng)絡(luò)產(chǎn)品和其它快速外設(shè)。在某些應(yīng)用場合,如基于硬盤的大容量數(shù)據(jù)采集與分析系統(tǒng)中,為了使用方便,需要將普通硬盤轉(zhuǎn)化成海量存儲器,這樣在使用時就不需關(guān)機重啟或打開機箱來安裝。本文介紹一種利用帶USB接口的單片機芯片CY7C68013來控制普通硬盤的讀寫,從而半普通硬盤轉(zhuǎn)化為海量存儲器的可行方案,本系統(tǒng)可擴展,完全可用于實現(xiàn)基于硬盤的大容量數(shù)據(jù)采集與分析系統(tǒng)。
2硬件設(shè)計
2.1USB接口芯片
本設(shè)計選用的是Cypress公司的EZ-USBFX2系列芯片中的CY7C68013,這是一種帶USB接口的單片機芯片,雖然采用低價的8051單片機,但仍然能獲得很高的速度。它包括一個8051處理器、一個串行接口引擎、一個USB收發(fā)器、一個片上RAM、一個4kBFIFO存儲器及一個通用可編程接口。FX2可提供全面集成的解決方案。它有56SSOP、100TQFP、128TQFP三種封裝,本設(shè)計選用占用電路板空間較少的56SSOP封裝。如果要進行擴展,也可選用128TQFP封裝。
2.2ATA接口
ATA接口是在ST506的基礎(chǔ)上改進而成的,它將控制器集成到驅(qū)動器中,采用8個端口寄存器來完成對硬盤的讀寫,ATA有兩種工作模式:PIO模式和DMA模式。本設(shè)計采用的DMA傳輸模式不需要處理器參與整個數(shù)據(jù)傳輸過程,而是由I/O口直接將數(shù)據(jù)傳送到存儲器中,從而節(jié)約大量的CPU時間以更好的處理其它事件??刂破鲗τ脖P的操作分為兩種:8位數(shù)據(jù)的命令操作和16位數(shù)據(jù)的數(shù)據(jù)傳輸操作。在對硬盤輸出控制命令之前,程序需對端口完整輸出7字節(jié)的命令塊。其中前六個端口為參數(shù),最后一個端口為命令碼。讀寫操據(jù)端口一般以512字節(jié)作為數(shù)據(jù)塊進行。硬盤執(zhí)行命令后發(fā)出中斷請求以表示操作結(jié)束,也可以置控制器狀態(tài)為空閑,以表示扇區(qū)請求傳輸。最后,由控制器讀取硬盤狀態(tài)寄存器,以檢測硬盤操作的成功與否。如操作正常,則進行下一次動作;否則進入錯誤處理程序。
2.3GPIF與ATA接口
FX2芯片的最主要特點是可通過的通用可編程接口為特定的應(yīng)用接口編程,以便使用多種協(xié)議完成與外圍器件的無縫連接,如EIDE/ATAPI,IEEE1284,Utopia等。其編程可以根據(jù)需要進行,且其中不需要CPU的干預(yù),只是通過一些CPU標(biāo)志和中斷即可與增強型8051內(nèi)核進行通訊。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
本設(shè)計采用“GPIF主控”接口模式,并使用PORTB和PORTD雙向FIFO數(shù)據(jù)線來構(gòu)成通向四個FX2端點FIFO的16位數(shù)據(jù)接口,以用來連接數(shù)據(jù)線DD[15:0]并進行數(shù)據(jù)的傳送;GPIF作為內(nèi)部主控器與FIFO相連,并通過產(chǎn)生用戶可編程的控制主控器與FIFO相連,并通過產(chǎn)生用戶可編程的控制信號CTL[2:0]與外部接口進行通信。同時,GPIF還可以通過RDY[1:0]引腳采用外部信號并等待外部事件。由于GPIF的運算速度比FIFO快得多,因此其時序信號具有很好的編程分辨率。
FX2用4個波形描述符來控制各個狀態(tài)。這些波形描述符可動態(tài)的配置給任何一個端點FIFO。配置后,GPIF將依據(jù)波形描述符產(chǎn)生相應(yīng)的控制邏輯CTL及握手信號RDY來和外界接口,以滿足向FIFO讀寫數(shù)據(jù)的需要。GPIF的數(shù)據(jù)總線可以是8位FD[7:0],也可以是16位FD[15:0],本設(shè)計采用16位數(shù)據(jù)總線。其硬盤讀數(shù)據(jù)控制波形如圖2所示。
每個波形描述符包含了S0~S6七個有效狀態(tài)和一個空閑狀態(tài)。在每個有鏟狀態(tài)對應(yīng)的時間段里,經(jīng)過預(yù)先設(shè)置,GPIF可以做出以下幾件事件;驅(qū)動或浮接CTL輸出、采樣或驅(qū)動FIFO的數(shù)據(jù)總線、增加GPIF地址總線的值、增加指向當(dāng)前FIFO指針的值和啟動GPIFWF中斷。除此之外,在每個狀態(tài),GPIF還可以對以下幾個信號中的任意兩個進行采樣,它們是:RDYX輸入端、FIFO狀態(tài)標(biāo)志位、內(nèi)部RDY標(biāo)志位和傳輸計數(shù)終止標(biāo)志位。每個GPIF動作都由七段組成,每個狀態(tài)都可以定義為Non-DecisionInterval(NDP)或DecisionPointInterval(DP)。當(dāng)某個狀態(tài)定義為NDP時,在執(zhí)行此狀態(tài)動作時,系統(tǒng)只是用簡單的延時來確定產(chǎn)生指定電平的延續(xù)時間;而當(dāng)執(zhí)行DP狀態(tài)時,它將根據(jù)RDY0、RDY1上的輸入信號狀態(tài)把其中的兩個信號相與、相或或者相異,然后根據(jù)結(jié)果跳轉(zhuǎn)到其它任意一個狀態(tài)或延遲1~256個IFCLK時鐘周期。當(dāng)然也可根據(jù)輸入端信號進行跳轉(zhuǎn)或延遲。
圖2中,在第一個DP時刻,若硬盤中數(shù)據(jù)已準(zhǔn)備就緒,硬盤會傳給GPIF一個負(fù)脈沖信號RDY0,根據(jù)此信號,波形將按順序轉(zhuǎn)入2、3、4狀態(tài),并使指向內(nèi)部FIFO的指針在每個時鐘上升沿加1,然后依次讀取四個數(shù)據(jù),讀取完數(shù)據(jù)后再利用CTL0的上升沿啟動下一次讀寫操作。若在狀態(tài)1時沒有出現(xiàn)負(fù)脈沖,則直接跳轉(zhuǎn)到狀態(tài)6,之后重復(fù)此波形描述符。在這種情況下,所有的讀寫及控制邏輯均可通過CY7C68013的GPIF以軟件編程的方式實現(xiàn),且控制邏輯的變換非常方便靈活(只需改變接口的一個配置
寄存器的值)。GPIF波形描述符可用Cypress公司的GPIF工具GPIFTOOL來進行配置,它是一個可以運行于Windows平臺的應(yīng)用程序。
3系統(tǒng)軟件設(shè)計與實現(xiàn)
本系統(tǒng)軟件設(shè)計包括:固件、應(yīng)用程序和驅(qū)動程序的設(shè)計。其中,固件程序是指運行在設(shè)備CPU中的程序,是整個程序設(shè)計的核心,可采用匯編語言和C語言設(shè)計。只有在該程序運行時,外設(shè)才能稱之為具有給定功能的外部設(shè)備。
3.1USB設(shè)備固件程序設(shè)計
設(shè)備固件程序的主要功能是控制EZ-USBFX2接收并處理USB驅(qū)動程序的請求、控制芯片中應(yīng)用程序控制指令的接收、控制硬盤數(shù)據(jù)的讀寫等。該固件程序除能夠使內(nèi)置的通用可編程接口在沒有CPU的干涉下通過四個大的端點FIFO來處理高速寬帶外,還有如下固定的工作:配置端點、通過控制端點0來響應(yīng)主機請求、控制和監(jiān)測GPIF的活動等。其固件程序框圖如圖形所示。
設(shè)計時可采用PIO和UDMA兩種模式,F(xiàn)X2芯片的BULK端點大小可設(shè)置為512字節(jié)或1024字節(jié)。為實現(xiàn)UDMA功能,應(yīng)將GPIF中的SlaveFIFO與USB通訊中的端點BUFFER直接連接,數(shù)據(jù)的傳送不再需要CPU的參考。當(dāng)BUFFER寫滿后,置BUFFER滿標(biāo)志位,以使GPIF停止動作。實際上,也可運用GPIF的Re-execute功能。設(shè)定此功能后,GPIF可以不經(jīng)過IDLE狀態(tài)而僅根據(jù)采樣RDY信號即可重復(fù)下次動作。直到出現(xiàn)指定的標(biāo)志位后才停止動作。這項功能一般用于大批量數(shù)據(jù)的連續(xù)讀寫。如在UDMA模式下對一個或多個扇區(qū)的讀寫操作。如在UDMA模式下對一個或多個扇區(qū)的讀寫操作。為了實現(xiàn)UDMA模式下的CRC校驗,還需設(shè)備特殊寄存器來完成CRC校驗工作。
3.2驅(qū)動程序設(shè)計
該系統(tǒng)需要兩個驅(qū)動程度,即通用驅(qū)動和下載固件驅(qū)動。通用驅(qū)動用于完成與外設(shè)和用戶程序的通信及控制;而下載固件驅(qū)動程序則負(fù)責(zé)在外連接USB總線后把特定的固件程序下載到FX2的RAM中使FX2的CPU重啟,同時模擬斷開與USB總線的連接以完成對外設(shè)的重新設(shè)置,這種即可使主機能夠根據(jù)新的設(shè)置來安裝通用驅(qū)動程序,重新格舉外設(shè)為一個新的USB設(shè)備。通用驅(qū)動程序一般不需要重新編寫,可以使用Cypress公司已經(jīng)編好的驅(qū)動。由于在Winsows2000操作系統(tǒng)中已經(jīng)新增了媒體存儲設(shè)備的驅(qū)動程序,并可使用批量傳輸功能,所以可以直接選擇驅(qū)動程序,而下載固件驅(qū)動則必須定做。
3.3用戶程序的設(shè)計
用戶程序是系統(tǒng)與用戶的接口,這通過通用驅(qū)動程序來完成對外設(shè)的控制和通信。在編寫用戶程序時,首先要建立與外設(shè)的連接,然后才能實施數(shù)據(jù)的傳輸。本設(shè)計使用VisualBasic6.0編譯環(huán)境中的API函數(shù)來將ATI函數(shù)包裝成一個連接程序文件,其編程方法與串口編程類似;首先查找設(shè)備,打開設(shè)備的句柄,然后進行讀寫和控制操作,最后關(guān)閉設(shè)備句柄。程序中主要用到的兩個API函數(shù)CreatFile()和DeviceIoControl()就是根據(jù)該句柄完成數(shù)據(jù)傳輸?shù)摹?/p>
4結(jié)語
本設(shè)計利用CY7C68013芯片的ATA接口將普通硬盤轉(zhuǎn)化為具有接口的海量存儲器,其靈活的接口和可編程特性簡化了外部硬件設(shè)計,提高了系統(tǒng)穩(wěn)定性,同時也有利于PCB板的制作和調(diào)試。另外,USB設(shè)備的可熱插拔特性使該系統(tǒng)具有了便攜式的特點,而且使用方便,無需關(guān)機重啟或打開機箱即可進行安裝。該系統(tǒng)可采用PIO和UDMA兩種模式實現(xiàn)。為了實現(xiàn)UDMA方式,所采用的Conductors導(dǎo)線部分為8
溫馨提示
- 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
- 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
- 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
- 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
- 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負(fù)責(zé)。
- 6. 下載文件中如有侵權(quán)或不適當(dāng)內(nèi)容,請與我們聯(lián)系,我們立即糾正。
- 7. 本站不保證下載資源的準(zhǔn)確性、安全性和完整性, 同時也不承擔(dān)用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。
最新文檔
- T/CIE 188-2023家庭服務(wù)機器人視覺功能規(guī)范
- T/CI 218-2023壓縮空氣儲能電站選點規(guī)劃技術(shù)規(guī)程
- T/CGCC 35-2019單用途商業(yè)預(yù)付卡卡片規(guī)范
- T/CECS 10301-2023硅烷改性聚醚灌漿材料
- T/CECS 10227-2022綠色建材評價屋面綠化材料
- T/CECS 10141-2021裝配式支吊架認(rèn)證通用技術(shù)要求
- T/CCT 017-2024中低溫煤焦油
- T/CCOA 22-2020食用雞油
- T/CCMS 002-2024救援器材車試驗方法
- T/CCMA 0179-2024全地形應(yīng)急搶險救援車
- 奇妙的剪紙藝術(shù)(欣賞)-完整版課件
- 中醫(yī)學(xué)理論-筋膜學(xué)與人體經(jīng)絡(luò)共120張課件
- 剪力墻結(jié)構(gòu)設(shè)計實例講解共74張課件
- 連桿錘鍛模設(shè)計說明書
- 北京市供熱系統(tǒng)節(jié)能技術(shù)改造項目節(jié)能量測試辦法
- 風(fēng)電項目設(shè)備物資采購計劃
- 核磁共振波譜法之氫譜解析
- 唐詩三百首word版
- 二次函數(shù)集體備課活動記錄(2)
- 硬筆書法考級專用紙(4—5級)
- 旅游景區(qū)財務(wù)制度及流程
評論
0/150
提交評論