新聞中心

        EEPW首頁 > 嵌入式系統 > 設計應用 > 使用AVR單片機配置FPGA

        使用AVR單片機配置FPGA

        作者: 時間:2013-12-06 來源:網絡 收藏

        Altera公司的ACEX、FLEX等系列的芯片應用廣泛,但其基于SRAM結構,決定電路邏輯功能的編程數據存儲于SRAM中。

        由于SRAM的易失性,每次上電時必須重新把編程數據裝載到SRAM中,這一過程就是的配置過程。FPGA的配置分為主動式和被動式。在主動模式下,FPGA上電后主動將配置數據從專用的EPROM(如EPC1,EPC2等)加載到SRAM中。被動模式下,FPGA為從屬器件,由相應的控制電路或微處理器控制配置過程,包括通過下載電纜由計算機控制配置和單片機模擬配置時序配置。其中,專用的EPROM價格高,可編程次數少,而計算機配置在現場應用中又很不現實,因此本文提出一種基于的被動配置方式。由于AVR系列單片機的內嵌閃存的容量為8~128kB,可容納中小規模(10萬門以下)FPGA的配置文件并進行配置,另外還可實現多任務配置。以下將以FLEX10K10為例,介紹單片機對FPGA的雙任務配置。

        ATmega系列單片機

        ATMEL公司的ATmega系列單片機根據片內閃存的大小分為ATmega8、ATmega32、ATmega128等。本設計采用的是ATmega32,該單片機片內含16K×16共32KB的片內可編程ROM,可擦寫10 000次,能裝載2萬門以內FPGA的配置數據,最高性能可達16MIPS,可在最短的時間內完成FPGA的配置。如需要配置門數更高的FPGA,可采用MEGA128。

        硬件電路設計

        ATmega32內含32KB的閃存,FPGA為FLEX10K10,其配置文件的大小為15KB,因此該方案可實現雙任務配置。硬件連接上,采用單片機配置模式時,須將FLEX10K10的MESL0、MESL1、nCE接地,同時將nCONFIG、DCLK、DATA0、nSTATUS、CONF_DONE分別與MEGA32的PA0~PA4相連。MEGA32的I/O口均是可編程的,根據需要將PA0、PA1、PA2設置為輸出口,PA3、PA4設置為輸入口。另外,需在單片機的PB0、PB1上連接兩個按鍵以選擇配置任務。具體電路如圖1所示。
        使用AVR單片機配置FPGA

        圖1 硬件原理框圖

        配置方式

        Altera公司FPGA器件的配置方式主要有AS(主動串行方式)、PS(被動串行方式)、PPS(被動并行同步方式)、PPA(被動并行方式)和JTAG(邊界掃描方式),使用單片機對FPGA進行配置主要是采用單片機來模擬PS方式的時序,以實現FPGA器件的配置。

        被動串行方式的工作過程如下:配置時需要五個引腳,其中nCONFIG、DCLK、DATA0為單片機的輸出引腳,nSTATUS、CONF_DONE為單片機的輸入引腳。系統上電后,由單片機使nCONFIG上產生一個大于8μs的負脈沖,FPGA檢測到nCONFIG的下降沿后將啟動配置過程,nSTATUS和CONF_DONE隨之拉低。nCONFIG抬高1μs內,nSTATUS抬高,配置數據從DATA0上由低位到高位依次送出,當所有配置數據全部送出后,CONF_DONE被抬高,當MCU檢測到這一變化后即結束配置過程。隨后,DCLK必須再提供幾個周期的時鐘(對于FLEX10K需要10個周期)以供FPGA正確完成初始化,進入用戶模式。若配置過程出錯,nSTATUS將被拉低,MCU重新啟動配置過程。其配置時序如圖2所示。
        使用AVR單片機配置FPGA

        圖2 被動串行配置時序圖


        上一頁 1 2 下一頁

        關鍵詞: AVR單片機 FPGA

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 寻乌县| 永康市| 临夏县| 修文县| 乌拉特后旗| 临洮县| 阿克陶县| 龙江县| 永清县| 泸西县| 文登市| 武平县| 神木县| 平江县| 临安市| 祥云县| 即墨市| 台江县| 新巴尔虎右旗| 正宁县| 杭锦旗| 菏泽市| 册亨县| 玉树县| 木兰县| 五大连池市| 长寿区| 青河县| 涿州市| 溆浦县| 洪湖市| 彭泽县| 星子县| 农安县| 友谊县| 子长县| 饶平县| 铜陵市| 清苑县| 甘泉县| 德惠市|