<meter id="pryje"><nav id="pryje"><delect id="pryje"></delect></nav></meter>
          <label id="pryje"></label>

          新聞中心

          EEPW首頁(yè) > 嵌入式系統(tǒng) > 設(shè)計(jì)應(yīng)用 > 采用ATmega32單片機(jī)對(duì)FPGA進(jìn)行配置

          采用ATmega32單片機(jī)對(duì)FPGA進(jìn)行配置

          作者: 時(shí)間:2013-12-12 來(lái)源:網(wǎng)絡(luò) 收藏

          Altera公司的ACEX、FLEX等系列的FPGA芯片應(yīng)用廣泛,但其FPGA基于SRAM結(jié)構(gòu),決定電路邏輯功能的編程數(shù)據(jù)存儲(chǔ)于SRAM中。

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

          ATmega系列單片機(jī)

          ATMEL公司的ATmega系列單片機(jī)根據(jù)片內(nèi)閃存的大小分為ATmega8、、ATmega128等。本設(shè)計(jì)采用的是,該單片機(jī)片內(nèi)含16K×16共32KB的片內(nèi)可編程ROM,可擦寫(xiě)10 000次,能裝載2萬(wàn)門(mén)以?xún)?nèi)FPGA的配置數(shù)據(jù),最高性能可達(dá)16MIPS,可在最短的時(shí)間內(nèi)完成FPGA的配置。如需要配置門(mén)數(shù)更高的FPGA,可采用MEGA128。

          硬件電路設(shè)計(jì)

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

          采用ATmega32單片機(jī)對(duì)FPGA進(jìn)行配置
          圖1 硬件原理框圖

          配置方式

          Altera公司FPGA器件的配置方式主要有AS(主動(dòng)串行方式)、PS(被動(dòng)串行方式)、PPS(被動(dòng)并行同步方式)、PPA(被動(dòng)并行方式)和JTAG(邊界掃描方式),使用單片機(jī)對(duì)FPGA進(jìn)行配置主要是采用單片機(jī)來(lái)模擬PS方式的時(shí)序,以實(shí)現(xiàn)FPGA器件的配置。

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

          采用ATmega32單片機(jī)對(duì)FPGA進(jìn)行配置
          圖2 被動(dòng)串行配置時(shí)序圖


          上一頁(yè) 1 2 下一頁(yè)

          關(guān)鍵詞: ATmega32 單片機(jī) FPGA配置

          評(píng)論


          相關(guān)推薦

          技術(shù)專(zhuān)區(qū)

          關(guān)閉
          看屁屁www成人影院,亚洲人妻成人图片,亚洲精品成人午夜在线,日韩在线 欧美成人 (function(){ var bp = document.createElement('script'); var curProtocol = window.location.protocol.split(':')[0]; if (curProtocol === 'https') { bp.src = 'https://zz.bdstatic.com/linksubmit/push.js'; } else { bp.src = 'http://push.zhanzhang.baidu.com/push.js'; } var s = document.getElementsByTagName("script")[0]; s.parentNode.insertBefore(bp, s); })();