關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > USB2.0控制器CY7C68013的接口設計實現

        USB2.0控制器CY7C68013的接口設計實現

        作者: 時間:2010-01-20 來源:網絡 收藏

          每個波形描述符包含了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時鐘周期。當然也可根據輸入端信號進行跳轉或延遲。
         
          

         

        本文引用地址:http://www.104case.com/article/202568.htm

          圖2中,在第一個DP時刻,若硬盤中數據已準備就緒,硬盤會傳給GPIF一個負脈沖信號RDY0,根據此信號,波形將按順序轉入2、3、4狀態,并使指向內部FIFO的指針在每個時鐘上升沿加1,然后依次讀取四個數據,讀取完數據后再利用CTL0的上升沿啟動下一次讀寫操作。若在狀態1時沒有出現負脈沖,則直接跳轉到狀態6,之后重復此波形描述符。在這種情況下,所有的讀寫及控制邏輯均可通過CY7的GPIF以軟件編程的方式實現,且控制邏輯的變換非常方便靈活(只需改變接口的一個配置寄存器的值)。GPIF波形描述符可用Cypress公司的GPIF工具GPIFTOOL來進行配置,它是一個可以運行于Windows平臺的應用程序。
          3 系統軟件設計與實現
           本系統軟件設計包括:固件、應用程序和驅動程序的設計。其中,固件程序是指運行在設備CPU中的程序,是整個程序設計的核心,可采用匯編語言和C語言設計。只有在該程序運行時,外設才能稱之為具有給定功能的外部設備。
           3.1 設備固件程序設計
           設備固件程序的主要功能是控制EZ- FX2接收并處理驅動程序的請求(如請求設備描述符或設置設備狀態,請求或設置設備接口等USB標準請求)、控制芯片中應用程序控制指令的接收、控制硬盤數據的讀寫等。該固件程序除能夠使內置的通用可編程接口(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。由于在Winsows0操作系統中已經新增了媒體存儲(Mass Stroage)設備的驅動程序,并可使用批量傳輸功能,所以可以直接選擇BULKUSB.SYS驅動程序,而下載固件驅動則必須定做。



        關鍵詞: C68013 68013 USB 2.0

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 农安县| 吐鲁番市| 滨州市| 永安市| 湖南省| 蓝田县| 鹤山市| 衡水市| 新安县| 海晏县| 浑源县| 图们市| 贺州市| 西吉县| 承德市| 清徐县| 姜堰市| 江西省| 百色市| 惠东县| 九龙县| 循化| 瑞安市| 吴江市| 乌兰浩特市| 青州市| 苏尼特左旗| 正蓝旗| 宾川县| 两当县| 嘉祥县| 七台河市| 莎车县| 南阳市| 任丘市| 铜山县| 宜城市| 新龙县| 思茅市| 赤峰市| 商城县|