當(dāng)前位置:首頁(yè) > 智能硬件 > 智能硬件
[導(dǎo)讀]  摘要:介紹了一種基于USB2.0控制器CY7C68130的USB-ATA接口,將普通硬盤轉(zhuǎn)化為USB Mass -Storage的解決方案,文中給出了利用GPIF實(shí)現(xiàn)該方案的相關(guān)設(shè)計(jì)方法。    關(guān)鍵詞:USB2.0 ATA接口 CY7C68130 GPIF   1

  摘要:介紹了一種基于USB2.0控制器CY7C68130的USB-ATA接口,將普通硬盤轉(zhuǎn)化為USB Mass -Storage的解決方案,文中給出了利用GPIF實(shí)現(xiàn)該方案的相關(guān)設(shè)計(jì)方法。
   關(guān)鍵詞:USB2.0 ATA接口 CY7C68130 GPIF
  1 引言
   USB (Universal Serial Bus)接口以其速度快、功耗低、支持即插即用(Plug & Play)、使用安裝方便等優(yōu)點(diǎn)而得到了廣泛的應(yīng)用。目前USB2.0標(biāo)準(zhǔn)的傳輸速度已達(dá)480Mb/s,這使得USB可以推廣到硬盤、信息家電網(wǎng)絡(luò)產(chǎn)品和其它快速外設(shè)。在某些應(yīng)用場(chǎng)合,如基于硬盤的大容量數(shù)據(jù)采集與分析系統(tǒng)中,為了使用方便,需要將普通硬盤轉(zhuǎn)化成海量存儲(chǔ)器,這樣在使用時(shí)就不需關(guān)機(jī)重啟或打開(kāi)機(jī)箱來(lái)安裝。本文介紹一種利用帶USB接口的單片機(jī)芯片CY7C68013來(lái)控制普通硬盤的讀寫,從而半普通硬盤轉(zhuǎn)化為USB2.0海量存儲(chǔ)器的可行方案,本系統(tǒng)可擴(kuò)展,完全可用于實(shí)現(xiàn)基于硬盤的大容量數(shù)據(jù)采集與分析系統(tǒng)。
  2 硬件設(shè)計(jì)
   2.1 USB接口芯片
  本設(shè)計(jì)選用的是Cypress公司的EZ-USBFX2系列芯片中的CY7C68013,這是一種帶USB接口的單片機(jī)芯片,雖然采用低價(jià)的8051單片機(jī),但仍然能獲得很高的速度。它包括一個(gè)8051處理器、一個(gè)串行接口引擎(SIE)、一個(gè)USB收發(fā)器、一個(gè)8.5kB片上RAM、一個(gè)4 kB FIFO存儲(chǔ)器及一個(gè)通用可編程接口(GPIF)。FX2可提供全面集成的解決方案。它有56SSOP、100TQFP、128TQFP三種封裝,本設(shè)計(jì)選用占用電路板空間較少的56SSOP封裝。如果要進(jìn)行擴(kuò)展,也可選用128TQFP封裝。
  
  
  

   2.2 ATA接口
   ATA 接口是在ST506的基礎(chǔ)上改進(jìn)而成的,它將控制器集成到驅(qū)動(dòng)器中,采用8個(gè)端口寄存器(即命令寄存器)來(lái)完成對(duì)硬盤的讀寫,ATA有兩種工作模式: PIO模式和DMA模式。本設(shè)計(jì)采用的DMA傳輸模式不需要處理器參與整個(gè)數(shù)據(jù)傳輸過(guò)程,而是由I/O口直接將數(shù)據(jù)傳送到存儲(chǔ)器中,從而節(jié)約大量的CPU 時(shí)間以更好的處理其它事件。控制器對(duì)硬盤的操作分為兩種:8位數(shù)據(jù)的命令操作和16位數(shù)據(jù)的數(shù)據(jù)傳輸操作。在對(duì)硬盤輸出控制命令之前,程序需對(duì)端口完整輸出7字節(jié)的命令塊。其中前六個(gè)端口為參數(shù),最后一個(gè)端口為命令碼。讀寫操據(jù)端口一般以512字節(jié)作為數(shù)據(jù)塊進(jìn)行。硬盤執(zhí)行命令后發(fā)出中斷請(qǐng)求以表示操作結(jié)束(結(jié)束傳輸),也可以置控制器狀態(tài)為空閑,以表示扇區(qū)請(qǐng)求傳輸(數(shù)據(jù)傳輸)。最后,由控制器讀取硬盤狀態(tài)寄存器,以檢測(cè)硬盤操作的成功與否。如操作正常,則進(jìn)行下一次動(dòng)作;否則進(jìn)入錯(cuò)誤處理程序。
   2.3 GPIF與ATA接口
   FX2芯片的最主要特點(diǎn)是可通過(guò)USB2.0的通用可編程接口(GPIF)為特定的應(yīng)用接口編程,以便使用多種協(xié)議完成與外圍器件的無(wú)縫連接,如 EIDE/ATAPI, IEEE1284,Utopia等。其編程可以根據(jù)需要進(jìn)行,且其中不需要CPU的干預(yù),只是通過(guò)一些CPU標(biāo)志和中斷即可與增強(qiáng)型8051內(nèi)核進(jìn)行通訊。系統(tǒng)結(jié)構(gòu)框圖如圖1所示。
  本設(shè)計(jì)采用“GPIF主控”接口模式,并使用PORTB和PORTD雙向FIFO數(shù)據(jù)線來(lái)構(gòu)成通向四個(gè)FX2端點(diǎn)FIFO(EP2、EP4、EP6、 EP8)的16位數(shù)據(jù)接口,以用來(lái)連接數(shù)據(jù)線DD[15:0]并進(jìn)行數(shù)據(jù)的傳送;GPIF作為內(nèi)部主控器與FIFO相連,并通過(guò)產(chǎn)生用戶可編程的控制主控器與FIFO相連,并通過(guò)產(chǎn)生用戶可編程的控制信號(hào)CTL[2:0]與外部接口進(jìn)行通信。同時(shí),GPIF 還可以通過(guò)RDY[1:0]引腳采用外部信號(hào)并等待外部事件。由于GPIF的運(yùn)算速度比FIFO快得多,因此其時(shí)序信號(hào)具有很好的編程分辨率。
   FX2 用4個(gè)波形描述符來(lái)控制各個(gè)狀態(tài)。這些波形描述符可動(dòng)態(tài)的配置給任何一個(gè)端點(diǎn)FIFO。配置后,GPIF將依據(jù)波形描述符產(chǎn)生相應(yīng)的控制邏輯CTL及握手信號(hào)RDY來(lái)和外界接口,以滿足向FIFO讀寫數(shù)據(jù)的需要。GPIF的數(shù)據(jù)總線可以是8位FD[7:0],也可以是16位FD[15:0],本設(shè)計(jì)采用 16位數(shù)據(jù)總線。其硬盤讀數(shù)據(jù)控制波形如圖2所示。
  每個(gè)波形描述符包含了S0~S6七個(gè)有效狀態(tài)和一個(gè)空閑狀態(tài)。在每個(gè)有鏟狀態(tài)對(duì)應(yīng)的時(shí)間段里,經(jīng)過(guò)預(yù)先設(shè)置,GPIF可以做出以下幾件事件;驅(qū)動(dòng)(使高或低)或浮接CTL輸出、采樣或驅(qū)動(dòng)FIFO的數(shù)據(jù)總線、增加GPIF地址總線的值、增加指向當(dāng)前FIFO指針的值和啟動(dòng)GPIFWF(GPIF波形)中斷。除此之外,在每個(gè)狀態(tài),GPIF還可以對(duì)以下幾個(gè)信號(hào)中的任意兩個(gè)進(jìn)行采樣,它們是:RDYX輸入端、FIFO狀態(tài)標(biāo)志位、內(nèi)部RDY標(biāo)志位和傳輸計(jì)數(shù)終止標(biāo)志位。每個(gè)GPIF動(dòng)作都由七段組成,每個(gè)狀態(tài)都可以定義為Non- Decision Interval (NDP)或Decision Point Interval(DP)。當(dāng)某個(gè)狀態(tài)定義為NDP時(shí),在執(zhí)行此狀態(tài)動(dòng)作時(shí),系統(tǒng)只是用簡(jiǎn)單的延時(shí)來(lái)確定產(chǎn)生指定電平的延續(xù)時(shí)間;而當(dāng)執(zhí)行DP狀態(tài)時(shí),它將根據(jù)RDY0、RDY1上的輸入信號(hào)狀態(tài)把其中的兩個(gè)信號(hào)相與、相或或者相異,然后根據(jù)結(jié)果跳轉(zhuǎn)到其它任意一個(gè)狀態(tài)或延遲1~256個(gè)IFCLK時(shí)鐘周期。當(dāng)然也可根據(jù)輸入端信號(hào)進(jìn)行跳轉(zhuǎn)或延遲。
 
  

 

  圖2中,在第一個(gè)DP時(shí)刻,若硬盤中數(shù)據(jù)已準(zhǔn)備就緒,硬盤會(huì)傳給GPIF一個(gè)負(fù)脈沖信號(hào)RDY0,根據(jù)此信號(hào),波形將按順序轉(zhuǎn)入2、3、4狀態(tài),并使指向內(nèi)部FIFO的指針在每個(gè)時(shí)鐘上升沿加1,然后依次讀取四個(gè)數(shù)據(jù),讀取完數(shù)據(jù)后再利用CTL0的上升沿啟動(dòng)下一次讀寫操作。若在狀態(tài)1時(shí)沒(méi)有出現(xiàn)負(fù)脈沖,則直接跳轉(zhuǎn)到狀態(tài)6,之后重復(fù)此波形描述符。在這種情況下,所有的讀寫及控制邏輯均可通過(guò)CY7C68013的GPIF以軟件編程的方式實(shí)現(xiàn),且控制邏輯的變換非常方便靈活(只需改變接口的一個(gè)配置寄存器的值)。GPIF波形描述符可用Cypress公司的GPIF工具GPIFTOOL來(lái)進(jìn)行配置,它是一個(gè)可以運(yùn)行于Windows平臺(tái)的應(yīng)用程序。
  3 系統(tǒng)軟件設(shè)計(jì)與實(shí)現(xiàn)
   本系統(tǒng)軟件設(shè)計(jì)包括:固件、應(yīng)用程序和驅(qū)動(dòng)程序的設(shè)計(jì)。其中,固件程序是指運(yùn)行在設(shè)備CPU中的程序,是整個(gè)程序設(shè)計(jì)的核心,可采用匯編語(yǔ)言和C語(yǔ)言設(shè)計(jì)。只有在該程序運(yùn)行時(shí),外設(shè)才能稱之為具有給定功能的外部設(shè)備。
   3.1 USB設(shè)備固件程序設(shè)計(jì)
   設(shè)備固件程序的主要功能是控制EZ-USB FX2接收并處理USB驅(qū)動(dòng)程序的請(qǐng)求(如請(qǐng)求設(shè)備描述符或設(shè)置設(shè)備狀態(tài),請(qǐng)求或設(shè)置設(shè)備接口等USB2.0標(biāo)準(zhǔn)請(qǐng)求)、控制芯片中應(yīng)用程序控制指令的接收、控制硬盤數(shù)據(jù)的讀寫等。該固件程序除能夠使內(nèi)置的通用可編程接口(GPIF)在沒(méi)有CPU的干涉下通過(guò)四個(gè)大的端點(diǎn)FIFO(EP2、EP4、 EP6、EP8)來(lái)處理高速寬帶外,還有如下固定的工作:配置端點(diǎn)、通過(guò)控制端點(diǎn)0來(lái)響應(yīng)主機(jī)請(qǐng)求、控制和監(jiān)測(cè)GPIF的活動(dòng)等。其固件程序框圖如圖形所示。
  設(shè)計(jì)時(shí)可采用PIO和UDMA兩種模式,F(xiàn)X2芯片的BULK端點(diǎn)大小可設(shè)置為512字節(jié)或1024字節(jié)。為實(shí)現(xiàn)UDMA功能,應(yīng)將GPIF中的 Slave FIFO與USB通訊中的端點(diǎn)BUFFER直接連接,數(shù)據(jù)的傳送不再需要CPU的參考。當(dāng)BUFFER寫滿后,置BUFFER滿標(biāo)志位,以使GPIF停止動(dòng)作。實(shí)際上,也可運(yùn)用GPIF的Re-execute功能(重復(fù)執(zhí)行功能)。設(shè)定此功能后,GPIF可以不經(jīng)過(guò)IDLE狀態(tài)而僅根據(jù)采樣RDY信號(hào)即可重復(fù)下次動(dòng)作。直到出現(xiàn)指定的標(biāo)志位后才停止動(dòng)作。這項(xiàng)功能一般用于大批量數(shù)據(jù)的連續(xù)讀寫。如在UDMA模式下對(duì)一個(gè)或多個(gè)扇區(qū)的讀寫操作。如在UDMA 模式下對(duì)一個(gè)或多個(gè)扇區(qū)的讀寫操作。為了實(shí)現(xiàn)UDMA模式下的CRC校驗(yàn),還需設(shè)備特殊寄存器來(lái)完成CRC校驗(yàn)工作。
   3.2 驅(qū)動(dòng)程序設(shè)計(jì)
  該系統(tǒng)需要兩個(gè)驅(qū)動(dòng)程度,即通用驅(qū)動(dòng)和下載固件驅(qū)動(dòng)。通用驅(qū)動(dòng)用于完成與外設(shè)和用戶程序的通信及控制;而下載固件驅(qū)動(dòng)程序則負(fù)責(zé)在外連接USB總線后把特定的固件程序下載到FX2的RAM中使FX2的CPU重啟,同時(shí)模擬斷開(kāi)與USB總線的連接以完成對(duì)外設(shè)的重新設(shè)置,這種即可使主機(jī)能夠根據(jù)新的設(shè)置來(lái)安裝通用驅(qū)動(dòng)程序,重新格舉外設(shè)為一個(gè)新的USB設(shè)備。通用驅(qū)動(dòng)程序一般不需要重新編寫,可以使用Cypress公司已經(jīng)編好的驅(qū)動(dòng)ezusb.sys。由于在Winsows2000操作系統(tǒng)中已經(jīng)新增了媒體存儲(chǔ)(Mass Stroage)設(shè)備的驅(qū)動(dòng)程序,并可使用批量傳輸功能,所以可以直接選擇BULKUSB.SYS驅(qū)動(dòng)程序,而下載固件驅(qū)動(dòng)則必須定做。

  

  

   3.3 用戶程序的設(shè)計(jì)
  用戶程序是系統(tǒng)與用戶的接口,這通過(guò)通用驅(qū)動(dòng)程序來(lái)完成對(duì)外設(shè)的控制和通信。在編寫用戶程序時(shí),首先要建立與外設(shè)的連接,然后才能實(shí)施數(shù)據(jù)的傳輸。本設(shè)計(jì)使用Visual Basic6. 0編譯環(huán)境中的API函數(shù)來(lái)將ATI函數(shù)包裝成一個(gè)VB.DLL連接程序文件,其編程方法與串口編程類似;首先查找設(shè)備,打開(kāi)設(shè)備的句柄,然后進(jìn)行讀寫和控制操作,最后關(guān)閉設(shè)備句柄。程序中主要用到的兩個(gè)API函數(shù)CreatFile()和DeviceIoControl()就是根據(jù)該句柄完成數(shù)據(jù)傳輸?shù)摹?br />  4 結(jié)語(yǔ)
  本設(shè)計(jì)利用CY7C68013芯片的ATA接口將普通硬盤轉(zhuǎn)化為具有USB2.0接口的海量存儲(chǔ)器,其靈活的接口和可編程特性簡(jiǎn)化了外部硬件設(shè)計(jì),提高了系統(tǒng)穩(wěn)定性,同時(shí)也有利于PCB板的制作和調(diào)試。另外,USB設(shè)備的可熱插拔特性使該系統(tǒng)具有了便攜式的特點(diǎn),而且使用方便,無(wú)需關(guān)機(jī)重啟或打開(kāi)機(jī)箱即可進(jìn)行安裝。該系統(tǒng)可采用PIO和UDMA兩種模式實(shí)現(xiàn)。為了實(shí)現(xiàn)UDMA方式,所采用的 Conductors導(dǎo)線部分為80-pin,而不是傳統(tǒng)的40-pin,但是Cable (也就是排線的連接頭部分)還是40-pin。本設(shè)計(jì)支持全速和高速傳輸兩種狀態(tài),如果PC機(jī)是USB1.1的,它也能向下兼容USB1.1,而且速度遠(yuǎn)高于采用純粹的USB接口芯片加外微處理器所構(gòu)成的系統(tǒng)。從該方案可以看出,如果采用128TQFP封裝的EZ-SUB FX2系列芯片,還可利用其地址線和數(shù)據(jù)線在此基礎(chǔ)上進(jìn)行其它擴(kuò)展,從而實(shí)現(xiàn)基于硬盤的大容量數(shù)據(jù)采集與分析。

本站聲明: 本文章由作者或相關(guān)機(jī)構(gòu)授權(quán)發(fā)布,目的在于傳遞更多信息,并不代表本站贊同其觀點(diǎn),本站亦不保證或承諾內(nèi)容真實(shí)性等。需要轉(zhuǎn)載請(qǐng)聯(lián)系該專欄作者,如若文章內(nèi)容侵犯您的權(quán)益,請(qǐng)及時(shí)聯(lián)系本站刪除。
換一批
延伸閱讀

9月2日消息,不造車的華為或?qū)⒋呱龈蟮莫?dú)角獸公司,隨著阿維塔和賽力斯的入局,華為引望愈發(fā)顯得引人矚目。

關(guān)鍵字: 阿維塔 塞力斯 華為

倫敦2024年8月29日 /美通社/ -- 英國(guó)汽車技術(shù)公司SODA.Auto推出其旗艦產(chǎn)品SODA V,這是全球首款涵蓋汽車工程師從創(chuàng)意到認(rèn)證的所有需求的工具,可用于創(chuàng)建軟件定義汽車。 SODA V工具的開(kāi)發(fā)耗時(shí)1.5...

關(guān)鍵字: 汽車 人工智能 智能驅(qū)動(dòng) BSP

北京2024年8月28日 /美通社/ -- 越來(lái)越多用戶希望企業(yè)業(yè)務(wù)能7×24不間斷運(yùn)行,同時(shí)企業(yè)卻面臨越來(lái)越多業(yè)務(wù)中斷的風(fēng)險(xiǎn),如企業(yè)系統(tǒng)復(fù)雜性的增加,頻繁的功能更新和發(fā)布等。如何確保業(yè)務(wù)連續(xù)性,提升韌性,成...

關(guān)鍵字: 亞馬遜 解密 控制平面 BSP

8月30日消息,據(jù)媒體報(bào)道,騰訊和網(wǎng)易近期正在縮減他們對(duì)日本游戲市場(chǎng)的投資。

關(guān)鍵字: 騰訊 編碼器 CPU

8月28日消息,今天上午,2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)開(kāi)幕式在貴陽(yáng)舉行,華為董事、質(zhì)量流程IT總裁陶景文發(fā)表了演講。

關(guān)鍵字: 華為 12nm EDA 半導(dǎo)體

8月28日消息,在2024中國(guó)國(guó)際大數(shù)據(jù)產(chǎn)業(yè)博覽會(huì)上,華為常務(wù)董事、華為云CEO張平安發(fā)表演講稱,數(shù)字世界的話語(yǔ)權(quán)最終是由生態(tài)的繁榮決定的。

關(guān)鍵字: 華為 12nm 手機(jī) 衛(wèi)星通信

要點(diǎn): 有效應(yīng)對(duì)環(huán)境變化,經(jīng)營(yíng)業(yè)績(jī)穩(wěn)中有升 落實(shí)提質(zhì)增效舉措,毛利潤(rùn)率延續(xù)升勢(shì) 戰(zhàn)略布局成效顯著,戰(zhàn)新業(yè)務(wù)引領(lǐng)增長(zhǎng) 以科技創(chuàng)新為引領(lǐng),提升企業(yè)核心競(jìng)爭(zhēng)力 堅(jiān)持高質(zhì)量發(fā)展策略,塑強(qiáng)核心競(jìng)爭(zhēng)優(yōu)勢(shì)...

關(guān)鍵字: 通信 BSP 電信運(yùn)營(yíng)商 數(shù)字經(jīng)濟(jì)

北京2024年8月27日 /美通社/ -- 8月21日,由中央廣播電視總臺(tái)與中國(guó)電影電視技術(shù)學(xué)會(huì)聯(lián)合牽頭組建的NVI技術(shù)創(chuàng)新聯(lián)盟在BIRTV2024超高清全產(chǎn)業(yè)鏈發(fā)展研討會(huì)上宣布正式成立。 活動(dòng)現(xiàn)場(chǎng) NVI技術(shù)創(chuàng)新聯(lián)...

關(guān)鍵字: VI 傳輸協(xié)議 音頻 BSP

北京2024年8月27日 /美通社/ -- 在8月23日舉辦的2024年長(zhǎng)三角生態(tài)綠色一體化發(fā)展示范區(qū)聯(lián)合招商會(huì)上,軟通動(dòng)力信息技術(shù)(集團(tuán))股份有限公司(以下簡(jiǎn)稱"軟通動(dòng)力")與長(zhǎng)三角投資(上海)有限...

關(guān)鍵字: BSP 信息技術(shù)
關(guān)閉
關(guān)閉