《電子技術應用》
您所在的位置:首頁 > 模擬設計 > 設計應用 > USB2.0控制器CY7C68013的接口設計實現(xiàn)
USB2.0控制器CY7C68013的接口設計實現(xiàn)
林 愿 吳淑泉 冼志妙
摘要: 介紹了一種基于USB2.0控制器CY7C68130的USB-ATA接口,將普通硬盤轉化為USB Mass -Storage的解決方案,文中給出了利用GPIF實現(xiàn)該方案的相關設計方法。
Abstract:
Key words :

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

   2.2 ATA接口
   ATA 接口是在ST506的基礎上改進而成的,它將控制器集成到驅動器中,采用8個端口寄存器(即命令寄存器)來完成對硬盤的讀寫,ATA有兩種工作模式: PIO模式和DMA模式。本設計采用的DMA傳輸模式不需要處理器參與整個數(shù)據(jù)傳輸過程,而是由I/O口直接將數(shù)據(jù)傳送到存儲器中,從而節(jié)約大量的CPU 時間以更好的處理其它事件。控制器對硬盤的操作分為兩種:8位數(shù)據(jù)的命令操作和16位數(shù)據(jù)的數(shù)據(jù)傳輸操作。在對硬盤輸出控制命令之前,程序需對端口完整輸出7字節(jié)的命令塊。其中前六個端口為參數(shù),最后一個端口為命令碼。讀寫操據(jù)端口一般以512字節(jié)作為數(shù)據(jù)塊進行。硬盤執(zhí)行命令后發(fā)出中斷請求以表示操作結束(結束傳輸),也可以置控制器狀態(tài)為空閑,以表示扇區(qū)請求傳輸(數(shù)據(jù)傳輸)。最后,由控制器讀取硬盤狀態(tài)寄存器,以檢測硬盤操作的成功與否。如操作正常,則進行下一次動作;否則進入錯誤處理程序。
   2.3 GPIF與ATA接口
   FX2芯片的最主要特點是可通過USB2.0的通用可編程接口(GPIF)為特定的應用接口編程,以便使用多種協(xié)議完成與外圍器件的無縫連接,如 EIDE/ATAPI, IEEE1284,Utopia等。其編程可以根據(jù)需要進行,且其中不需要CPU的干預,只是通過一些CPU標志和中斷即可與增強型8051內(nèi)核進行通訊。系統(tǒng)結構框圖如圖1所示。
  本設計采用“GPIF主控”接口模式,并使用PORTB和PORTD雙向FIFO數(shù)據(jù)線來構成通向四個FX2端點FIFO(EP2、EP4、EP6、 EP8)的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)生相應的控制邏輯CTL及握手信號RDY來和外界接口,以滿足向FIFO讀寫數(shù)據(jù)的需要。GPIF的數(shù)據(jù)總線可以是8位FD[7:0],也可以是16位FD[15:0],本設計采用 16位數(shù)據(jù)總線。其硬盤讀數(shù)據(jù)控制波形如圖2所示。

  每個波形描述符包含了S0~S6七個有效狀態(tài)和一個空閑狀態(tài)。在每個有鏟狀態(tài)對應的時間段里,經(jīng)過預先設置,GPIF可以做出以下幾件事件;驅動(使高或低)或浮接CTL輸出、采樣或驅動FIFO的數(shù)據(jù)總線、增加GPIF地址總線的值、增加指向當前FIFO指針的值和啟動GPIFWF(GPIF波形)中斷。除此之外,在每個狀態(tài),GPIF還可以對以下幾個信號中的任意兩個進行采樣,它們是:RDYX輸入端、FIFO狀態(tài)標志位、內(nèi)部RDY標志位和傳輸計數(shù)終止標志位。每個GPIF動作都由七段組成,每個狀態(tài)都可以定義為Non- Decision Interval (NDP)或Decision Point Interval(DP)。當某個狀態(tài)定義為NDP時,在執(zhí)行此狀態(tài)動作時,系統(tǒng)只是用簡單的延時來確定產(chǎn)生指定電平的延續(xù)時間;而當執(zhí)行DP狀態(tài)時,它將根據(jù)RDY0、RDY1上的輸入信號狀態(tài)把其中的兩個信號相與、相或或者相異,然后根據(jù)結果跳轉到其它任意一個狀態(tài)或延遲1~256個IFCLK時鐘周期。當然也可根據(jù)輸入端信號進行跳轉或延遲。
 
  

 

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


  

  

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

此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
欧美激情成人在线| 欧美网站在线| 一区二区三区四区五区视频| 欧美尤物巨大精品爽| 亚洲综合国产| 一区二区三区欧美日韩| 亚洲伦理在线观看| 亚洲高清激情| 亚洲第一黄色网| 精品成人一区二区三区四区| 国产午夜精品一区二区三区视频| 国产精品美女一区二区| 国产精品高潮在线| 国产精品久久久久久影院8一贰佰 国产精品久久久久久影视 | 久久影视三级福利片| 久久国产精品久久久久久| 欧美一区免费| 久久成人资源| 久久久久国产一区二区三区| 久久国产精彩视频| 久久久久欧美| 免费看精品久久片| 欧美xxx在线观看| 欧美成人久久| 欧美日韩精品一区二区三区四区| 欧美片在线播放| 国产精品成人免费| 国产精品美女一区二区在线观看| 国产精品一二三视频| 国产欧美亚洲视频| 国产亚洲午夜| 在线观看欧美| 亚洲日本成人网| 一区二区三区高清| 午夜精品国产精品大乳美女| 久久国产精品色婷婷| 亚洲国产成人精品久久| 亚洲精品国产欧美| 中文成人激情娱乐网| 欧美一区在线看| 老司机一区二区三区| 欧美精品一区三区| 国产精品国产三级国产aⅴ9色| 国产日韩精品视频一区二区三区| 狠狠色综合播放一区二区| 亚洲国产一区二区a毛片| 亚洲色图综合久久| 久久精品国产综合| 夜夜嗨av一区二区三区网页| 亚洲欧美一区二区三区在线| 久久精品在线观看| 欧美精品一区二区三区蜜臀| 国产精品久久久久国产精品日日| 国产亚洲欧美一区二区| 亚洲国产精彩中文乱码av在线播放| 亚洲精品一区二区网址| 亚洲新中文字幕| 亚洲第一网站免费视频| 亚洲视频网在线直播| 久久精品国产69国产精品亚洲| 欧美激情第1页| 国产精品美女xx| 亚洲国产欧美国产综合一区| 亚洲视频在线看| 亚洲国产精品女人久久久| 亚洲天天影视| 麻豆成人综合网| 国产精品视频内| 在线观看日韩国产| 亚洲欧美色婷婷| 亚洲久久视频| 久久久999成人| 欧美三区视频| 在线电影国产精品| 亚洲一区二区三区激情| 日韩视频不卡中文| 久久久欧美一区二区| 欧美午夜免费| 亚洲高清在线播放| 先锋影音久久| 亚洲直播在线一区| 美女免费视频一区| 国产精品视频网址| 99精品久久久| 最新日韩在线视频| 久久精品人人做人人爽| 国产精品久久久亚洲一区| 亚洲精品日韩综合观看成人91| 欧美一进一出视频| 亚洲尤物视频在线| 欧美精品一区三区| 悠悠资源网亚洲青| 午夜精品久久久久久| 亚洲性人人天天夜夜摸| 欧美刺激性大交免费视频| 国产亚洲毛片在线| 亚洲图片欧洲图片日韩av| 亚洲美女啪啪| 久久综合久久综合久久| 国产精品一卡二| 亚洲婷婷综合色高清在线 | 欧美在线首页| 欧美三级午夜理伦三级中视频| 亚洲国产老妈| 久久精品夜色噜噜亚洲a∨| 性色av一区二区三区红粉影视| 欧美精品入口| 亚洲国产日韩欧美一区二区三区| 欧美一区日韩一区| 欧美一进一出视频| 欧美性开放视频| 亚洲六月丁香色婷婷综合久久| 亚洲国产裸拍裸体视频在线观看乱了中文 | 在线视频你懂得一区二区三区| 亚洲精选大片| 欧美激情 亚洲a∨综合| 亚洲电影在线免费观看| 亚洲电影免费观看高清完整版在线| 久久精品视频网| 国产色爱av资源综合区| 性色av香蕉一区二区| 久久精品人人做人人爽电影蜜月| 国产日韩在线一区二区三区| 性欧美在线看片a免费观看| 欧美在线一区二区| 国产毛片一区二区| 欧美亚洲免费高清在线观看| 久久精品二区亚洲w码| 国产亚洲一本大道中文在线| 欧美诱惑福利视频| 久久噜噜噜精品国产亚洲综合| 韩国精品一区二区三区| 亚洲第一区在线观看| 美女主播一区| 亚洲国产欧美另类丝袜| 日韩一区二区精品视频| 欧美色综合网| 亚洲午夜一区二区三区| 性欧美videos另类喷潮| 国产视频欧美视频| 久久精品亚洲热| 欧美—级a级欧美特级ar全黄| 亚洲欧洲一级| 亚洲免费视频成人| 国产欧美一区二区精品性色| 午夜精品在线观看| 久久久人成影片一区二区三区观看 | 亚洲夜晚福利在线观看| 国产精品美女久久久免费| 性欧美8khd高清极品| 欧美成人自拍视频| 中文高清一区| 久久国产一区二区三区| 激情懂色av一区av二区av| 亚洲精品一区二区三区福利| 欧美色精品天天在线观看视频| 亚洲视频免费观看| 久久精品综合一区| 亚洲国产一区二区精品专区| 亚洲香蕉网站| 很黄很黄激情成人| 99热精品在线| 国产嫩草影院久久久久| 亚洲激情女人| 国产精品久久| 亚洲高清资源| 欧美午夜精品久久久久久超碰| 亚洲欧美视频一区二区三区| 美女视频黄a大片欧美| 99爱精品视频| 久久久天天操| 99精品视频免费观看视频| 久久国产福利| 日韩视频一区二区三区在线播放免费观看| 亚洲欧美文学| 亚洲国内自拍| 久久riav二区三区| 亚洲国产欧美一区| 欧美一区二区三区日韩视频| 91久久国产综合久久蜜月精品| 欧美一激情一区二区三区| 亚洲高清资源综合久久精品| 午夜精品av| 最近中文字幕日韩精品 | 亚洲一区视频在线观看视频| 狠狠干狠狠久久| 亚洲永久视频| 亚洲国产精品成人综合色在线婷婷| 亚洲欧美日韩区| 亚洲第一主播视频| 欧美在线在线| 9色精品在线| 久久综合狠狠综合久久综合88 | 欧美成人三级在线| 午夜精品电影| 欧美视频精品在线| 91久久精品国产91久久| 国产视频一区三区| 亚洲免费在线观看视频| 亚洲三级视频|