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

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

   2.2 ATA接口
   ATA 接口是在ST506的基礎上改進而成的,它將控制器集成到驅動器中,采用8個端口寄存器(即命令寄存器)來完成對硬盤的讀寫,ATA有兩種工作模式: PIO模式和DMA模式。本設計采用的DMA傳輸模式不需要處理器參與整個數據傳輸過程,而是由I/O口直接將數據傳送到存儲器中,從而節約大量的CPU 時間以更好的處理其它事件。控制器對硬盤的操作分為兩種:8位數據的命令操作和16位數據的數據傳輸操作。在對硬盤輸出控制命令之前,程序需對端口完整輸出7字節的命令塊。其中前六個端口為參數,最后一個端口為命令碼。讀寫操據端口一般以512字節作為數據塊進行。硬盤執行命令后發出中斷請求以表示操作結束(結束傳輸),也可以置控制器狀態為空閑,以表示扇區請求傳輸(數據傳輸)。最后,由控制器讀取硬盤狀態寄存器,以檢測硬盤操作的成功與否。如操作正常,則進行下一次動作;否則進入錯誤處理程序。
   2.3 GPIF與ATA接口
   FX2芯片的最主要特點是可通過USB2.0的通用可編程接口(GPIF)為特定的應用接口編程,以便使用多種協議完成與外圍器件的無縫連接,如 EIDE/ATAPI, IEEE1284,Utopia等。其編程可以根據需要進行,且其中不需要CPU的干預,只是通過一些CPU標志和中斷即可與增強型8051內核進行通訊。系統結構框圖如圖1所示。
  本設計采用“GPIF主控”接口模式,并使用PORTB和PORTD雙向FIFO數據線來構成通向四個FX2端點FIFO(EP2、EP4、EP6、 EP8)的16位數據接口,以用來連接數據線DD[15:0]并進行數據的傳送;GPIF作為內部主控器與FIFO相連,并通過產生用戶可編程的控制主控器與FIFO相連,并通過產生用戶可編程的控制信號CTL[2:0]與外部接口進行通信。同時,GPIF 還可以通過RDY[1:0]引腳采用外部信號并等待外部事件。由于GPIF的運算速度比FIFO快得多,因此其時序信號具有很好的編程分辨率。
   FX2 用4個波形描述符來控制各個狀態。這些波形描述符可動態的配置給任何一個端點FIFO。配置后,GPIF將依據波形描述符產生相應的控制邏輯CTL及握手信號RDY來和外界接口,以滿足向FIFO讀寫數據的需要。GPIF的數據總線可以是8位FD[7:0],也可以是16位FD[15:0],本設計采用 16位數據總線。其硬盤讀數據控制波形如圖2所示。

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

 

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


  

  

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

此內容為AET網站原創,未經授權禁止轉載。
亚洲一区二区欧美_亚洲丝袜一区_99re亚洲国产精品_日韩亚洲一区二区
狠狠做深爱婷婷久久综合一区 | 99v久久综合狠狠综合久久| 国产精品亚洲一区| 欧美日韩在线观看一区二区三区| 欧美/亚洲一区| 免费观看日韩av| 久久伊人一区二区| 久久久午夜电影| 久久久久九九视频| 久久精品国产一区二区三| 性欧美1819性猛交| 亚洲欧美日韩国产成人精品影院| 一区二区日韩| 日韩午夜电影| 欧美人成网站| 亚洲高清在线播放| 亚洲欧美在线aaa| 在线亚洲美日韩| 亚洲日本va午夜在线电影| 在线不卡a资源高清| 国产一区二区中文| 国产精品一区二区在线| 欧美日韩一区二| 欧美黄色免费网站| 欧美成人综合在线| 久久精品最新地址| 久久精品国产2020观看福利| 欧美一级网站| 欧美亚洲在线观看| 午夜宅男久久久| 亚洲欧美综合精品久久成人| 亚洲免费视频成人| 亚洲一区二区在线观看视频| 在线亚洲欧美| 亚洲视频电影在线| 亚洲国产精品女人久久久| 久久成人资源| 久久精品盗摄| 亚洲人成高清| 亚洲片区在线| 日韩午夜一区| 亚洲一区二区av电影| 亚洲综合另类| av不卡在线看| 一区二区三区视频在线| 亚洲乱码视频| 日韩一级在线观看| 亚洲一区二区免费视频| 亚洲一区黄色| 性欧美激情精品| 久久狠狠亚洲综合| 国产热re99久久6国产精品| 欧美精品色一区二区三区| 欧美日韩美女| 国产精品视频yy9099| 欧美久久精品午夜青青大伊人| 欧美精品少妇一区二区三区| 欧美日韩亚洲在线| 国产精品嫩草久久久久| 国产啪精品视频| 激情自拍一区| 亚洲清纯自拍| 亚洲一区日本| 亚洲第一区在线| 一区二区av| 一区二区欧美日韩| 中文av一区二区| 欧美在线一二三| 欧美freesex交免费视频| 欧美日本亚洲视频| 国产精品久久九九| 国内成人自拍视频| 亚洲精品一区二区网址| 亚洲欧美在线网| 亚洲国产成人一区| 一区二区欧美亚洲| 欧美中文字幕| 女主播福利一区| 国产精品拍天天在线| 国产日韩欧美精品综合| 亚洲欧洲一区二区三区| 亚洲免费一在线| 亚洲国产视频一区二区| 亚洲一品av免费观看| 老司机免费视频一区二区| 欧美日本成人| 国产视频在线观看一区二区| 欧美在线短视频| 久久国产乱子精品免费女 | 欧美国产视频日韩| 欧美久久一区| 国产伦精品一区二区三区视频孕妇| 国产美女精品一区二区三区| 激情欧美亚洲| 日韩视频久久| 久久国产免费看| 一区二区黄色| 久久资源在线| 国产精品乱人伦中文| 91久久久亚洲精品| 欧美在线视频a| 亚洲一区二区三区午夜| 免费日韩av片| 国产欧美日本一区视频| 亚洲人成啪啪网站| 久久精品国产一区二区三| 欧美在现视频| 亚洲一区二区三区欧美| 久久久久久久高潮| 欧美日韩国产区| 亚洲成色精品| 久久国产手机看片| 小嫩嫩精品导航| 欧美日韩美女| 最新成人av在线| 亚洲国产精品久久久久秋霞影院 | 亚洲一区二区三区免费视频| 欧美电影免费观看高清完整版| 欧美性感一类影片在线播放| 国产一区免费视频| 亚洲最新在线| 亚洲男人的天堂在线aⅴ视频| 一区二区成人精品 | 午夜精品福利一区二区蜜股av| 一区二区三区成人精品| 欧美高清成人| 亚洲电影免费在线| 亚洲国产影院| 久久亚洲风情| 伊人狠狠色丁香综合尤物| 欧美日韩国产影院| 亚洲激情影视| 久久精品国产亚洲一区二区三区| 亚洲深爱激情| 欧美伦理在线观看| 亚洲人精品午夜| 91久久精品国产91性色tv| 美女啪啪无遮挡免费久久网站| 国产最新精品精品你懂的| 欧美一区二区日韩一区二区| 欧美亚洲一区二区在线| 国产精品区一区二区三| 亚洲午夜视频在线| 午夜精品免费在线| 欧美视频一区二区在线观看| 亚洲美女毛片| 在线一区观看| 欧美日韩亚洲一区二区三区| 99热精品在线| 日韩视频免费观看| 免费视频一区二区三区在线观看| 国产精品高潮久久| 日韩一区二区久久| 亚洲理论在线观看| 欧美三级乱码| 中文在线不卡视频| 午夜视频一区二区| 国产欧美日韩一区| 欧美在线一二三区| 久久综合久久综合久久| 影音先锋久久精品| 亚洲美女黄网| 麻豆亚洲精品| 亚洲欧洲三级电影| 精品1区2区3区4区| 久久大逼视频| 国产一区二区精品| 亚洲国产美国国产综合一区二区| 麻豆精品视频| 国产视频一区三区| 亚洲国产精品va在线看黑人| 欧美大片91| 宅男66日本亚洲欧美视频| 香港久久久电影| 国产在线高清精品| 亚洲人成欧美中文字幕| 欧美日韩亚洲激情| 亚洲欧美制服另类日韩| 久久综合福利| 99视频在线观看一区三区| 欧美在线高清| 在线观看福利一区| 中文精品视频| 国产人久久人人人人爽| 最近中文字幕mv在线一区二区三区四区| 欧美精品性视频| 99亚洲一区二区| 亚洲欧美国内爽妇网| 国产嫩草影院久久久久| 欧美在线国产| 欧美成人在线免费视频| 亚洲激情一区| 日韩一本二本av| 欧美日韩一级视频| 久久国产精品99久久久久久老狼| 欧美va天堂va视频va在线| 欧美性开放视频| 亚洲综合视频1区| 欧美成人免费全部| 亚洲一区bb|