關 閉

        新聞中心

        EEPW首頁 > 工控自動化 > 設計應用 > USB2.0接口傳輸的FPGA控制與實現

        USB2.0接口傳輸的FPGA控制與實現

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

        2.2.1 VHDL程序設計
        是通過Slave FIFO的方式和USB控制器CY7C68013相連的。讀取數據,通過查詢CY7C68013中FIFO的狀態來判斷是否可以進行讀數據,主要是查詢狀態標志位FLAGC。讀數據程序狀態轉移圖如圖3所示。

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


        狀態1:在空閑時,接到命令,發起,使地址指向用于下傳數據的FIFO。進入狀態2;
        狀態2:查詢讀狀態的FIFO標志FLAGC,如果為FIFO為空,則繼續等待,如果有數據則進入狀態3;
        狀態3:使讀數據信號線有效,接收數據,接收完數據后進入狀態4;
        狀態4:如果FIFO中還有數據需要接收,則進如狀態2,否則進入空閑狀態。
        在上傳數據時,原理基本相同,方向相反,采用不同的FIFO和查詢狀態標志位。
        2.2.2 固件編程
        固件編程就是對USB設備的各類寄存器進行配置的過程。固件程序是指運行在設備CPU中的程序,只有在固件程序運行時,外設才稱之為具有給定功能的外部設備。固件要完成以下主要工作:
        (1)初始化工作;
        (2)對設備進行重新列舉(ReNumeration);
        (3)響應中斷,并對中斷作相應的處理;
        (4)數據的接收與發送;
        (5)外圍電路的控制。
        為了簡化固件編程,CYPRESS提供了開發固件庫和固件編程框架,只需在此基礎上添加少量代碼就可以完成固件編程。USB建立固件編程框架的文件見表1,在實際編程過程中,根據自定義,只需要修改Periph.c和Dscr.a51兩個文件。固件代碼固化到一片EEPROM中,設備加電后由FX2通過I2C總線自動加載到片內RAM后自動執行。設備功能、工作方式等均可以通過改寫固件程序,重新配置。



        關鍵詞: USB2 FPGA 接口 傳輸

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 海阳市| 清镇市| 利辛县| 辰溪县| 丹棱县| 沈阳市| 桃园市| 泰州市| 上思县| 当雄县| 遵义市| 宝鸡市| 绵竹市| 云南省| 镇平县| 博白县| 彭泽县| 和龙市| 武川县| 巴林左旗| 扬中市| 麟游县| 滨州市| 东丽区| 西乡县| 荣成市| 玛纳斯县| 曲水县| 宁陵县| 墨竹工卡县| 乐业县| 基隆市| 宜章县| 海南省| 荥经县| 泽州县| 普兰店市| 登封市| 蒙阴县| 诸暨市| 古田县|