新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 基于端口模式的CY7C68013固件程序設計

        基于端口模式的CY7C68013固件程序設計

        作者: 時間:2010-03-19 來源:網絡 收藏

        1引言
        通用串行總線( USB)自從 1994年由微軟等公司共同提出到現在人們所熟知的USB2.0,USB技術不斷發展成熟。由于具有傳輸速度快、支持熱插拔、即插即用、擴展性強等諸多優點,USB已經被廣泛應用于各種 PC標準外設和用戶自定義開發設備中。正是由于 USB擁有其他接口(如并口、串口)無法比擬的優勢,將 USB接口應用到彈載測量系統地面測試臺的設計中,其通用性可擴展性強,能夠提高讀數速度、簡化電路設計及驅動程序開發。
        完整的 USB系統除了硬件電路外,還包括驅動程序、單片機程序。是 USB系統的核心,它要響應各種來自系統的 USB設備請求,完成各種數據的交換工作和事件處理,直接影響到 USB接口的數據傳輸速度[1]。因此,程序的編寫是開發 USB設備的關鍵環節。
        本測試臺上采用的是Cypress公司的EZ-USB FX2系列單片機 。實現 USB接口的數據通信,可以配置為3種:端口、 GPIF和Slave FIFO[2]。后兩種由于使用FX2的管道連接方法,單片機的 CPU不參與數據傳輸,提高了數據傳輸速率,從而廣泛應用于圖像、視頻信號采集等大批量數據的傳輸中。但使用這兩種模式進行 USB設備的開發相對較復雜,開發周期長。至于端口模式,文獻中很少有介紹,由于這種模式下 CPU參與了數據傳輸,因此傳輸速率相對較慢 [3],不過端口模式開發簡單,可以降低工程人員的開發難度,縮短開發周期。本測試臺中傳輸數據量較少,傳輸速率也要求不高,因此本設計采用端口模式。 測試臺系統總體框圖彈載測量系統地面測試臺由模擬信號源、源、圖像信號源、 PCM碼解調模塊、實時監測等幾部分組成,系統總體框圖如圖 1所示。

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

        上位機通過 USB接口分別下載模擬量、數字量及圖像數據到各自的信號源存儲器中,而解調出的PCM碼數據和實時監測數據也是經由 USB接口讀回到上位機,從而實現了USB接口的雙向數據傳輸。 3硬件連接
        與外圍電路連接如圖 2所示。

        測試臺下載信號源數據時,USB單片機將數據先寫入 FIFO1中,FPGA(XC2S50)通過判斷 FIFO1的空信號將數據讀出;而回讀時 FPGA將數據寫入 FIFO2,當 FIFO2半滿時, USB單片機產生 FIFO2的讀信號將數據讀出送至上位機。USB單片機通過 PE口產生不同的狀態信號(Status[7:0])使系統進行上述不同操作。 4固件
        所有微控制器及其外圍電路的功能設備的正常工作都離不開固件的參與,固件程序是微控制器設備運行的核心。固件設計的目標就是控制硬件來完成預期的設備功能。USB設備也不例外,用戶必須編寫固件程序來輔助硬件完成USB通信任務。CY7C68013芯片的固件程序負責處理上位機發來的各種 USB設備請求,并負責控制 CY7C68013與外圍電路進行數據傳輸,其工作主要包括以下幾點[4]:
        (1)初始化工作,包括設置一些特殊功能寄存器的初值以實現所需的設備屬性或者功能; (2) 對設備進行重新列舉(ReNumeration),主要的工作有:模擬設備的斷開與重新連接、對接收到的設置包進行分析判斷、對主機的設備請求作出適當的響應,完成主機對設備的配置任務;
        (3)響應中斷,并對中斷作相應的處理。USB接口在設備列舉、響應主機標準請求和廠商請求、數據傳送等動作過程中都會向微控制器申請中斷,因此微控制器必須正確處理這些中斷才能保證 USB傳輸的正常進行;
        (4)數據的接收與發送。USB設備的主要任務就是進行數據的接收和發送,因此CY7C68013的固件程序必須要對接收和發送數據的端點進行正確的配置及控制,才能正確地接收和發送數據;
        (5)外圍電路的控制。USB接口要進行數據傳輸,CY7C68013就必須對外部 FIFO進行讀寫控制,因此固件程序中包含對外圍電路進行控制的代碼也是必要的。


        上一頁 1 2 下一頁

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 墨玉县| 积石山| 新乡县| 邛崃市| 本溪市| 三穗县| 中宁县| 宜春市| 台江县| 米泉市| 溧水县| 贵溪市| 宜昌市| 毕节市| 星座| 拜城县| 鹿泉市| 彭水| 永福县| 年辖:市辖区| 旌德县| 林甸县| 文化| 吉首市| 龙游县| 湟中县| 英德市| 扎赉特旗| 磐石市| 元朗区| 安龙县| 奉贤区| 英德市| 敦煌市| 平阳县| 通山县| 乐业县| 桑日县| 灵武市| 张家川| 磴口县|