基于單片機的FPGA并行配置方法_第1頁
基于單片機的FPGA并行配置方法_第2頁
基于單片機的FPGA并行配置方法_第3頁
基于單片機的FPGA并行配置方法_第4頁
基于單片機的FPGA并行配置方法_第5頁
全文預(yù)覽已結(jié)束

下載本文檔

版權(quán)說明:本文檔由用戶提供并上傳,收益歸屬內(nèi)容提供方,若內(nèi)容存在侵權(quán),請進行舉報或認領(lǐng)

文檔簡介

基于單片機的FPGA并行配置方法

摘要:討論了基于SRAM技術(shù)的可編程邏輯器件FPGA的編程方式,并以ALTERA公司FLEX10K系列器件為例,提出了一種利用單片機AT89C52對FPGA進行在線PPA(被動并行異步)配置的實用方法。實踐表明,用單片機對FPGA進行并行配置,具有配置時間短、準確率高、易于實現(xiàn)等優(yōu)點,該方法可以廣泛地應(yīng)用于不同領(lǐng)域。

關(guān)鍵詞:單片機PPAFPGA配置在當今變化的市場環(huán)境中,產(chǎn)品是否便于現(xiàn)場升級、是否便于靈活使用,已成為產(chǎn)品能否進入市場的關(guān)鍵因素。在這種背景下,Altera公司的基于SRAMLUT結(jié)構(gòu)的FPGA器件得到了廣泛的應(yīng)用。這類器件的配置數(shù)據(jù)存儲在SRAM中。由于SRAM的掉電易失性,系統(tǒng)每次上電時,必須重新配置數(shù)據(jù),只有在數(shù)據(jù)配置正確的情況下系統(tǒng)才能正常工作。這種器件的優(yōu)點是可在線重新配置ICR(In-CircuitReconfigurability),在線配置方式一般有兩類:一是通過下載電費由計算機直接對其進行配置;二是通過微處理器對其進行配置。前者調(diào)試時非常方便,但在應(yīng)用現(xiàn)場是很不現(xiàn)實的。因此,如果系統(tǒng)重新上電時,系統(tǒng)本身具有自動加載可編程邏輯器件的編程文件,完成對可編程邏輯器件的配置,就可以省去了通過手工由下載電費對器件進行配置的過程。這種自動加載配置對FPGA的某些應(yīng)用來說是必需的,在筆者參與研制的一種干擾系統(tǒng)中,利用單片機AT89C52對FLEX10K系列FPGA中的EPF10K10進行在線并行配置,取得了良好的效果。

1FPGA器件的配置方式和配置文件1.1FPGA器件的配置方式ALTERA公司生產(chǎn)的具有ICR功能的FPGA器件有FLEX6000、FLEX10K、APEX和ACEX等系列。它們的配置方式可分為PS(被動串行)、PPS(被動并行同步)、PPA(被動并行異步)、PSA(被動串行異步)和JTAG(JointTestActionGroup)等五種方式。這五種方式都適用于單片機配置。PS方式因電路簡單,對配置時鐘的要求相對較低而被廣泛應(yīng)用。相比而方,采用PPA配置的方案卻很少見到。但由于PPA配置模式為并行配置,其配置速度快,且配置時鐘由FPGA內(nèi)部產(chǎn)生(而PS等配置模式需要外加配置時鐘),故其更有利于在線實現(xiàn)。本文的配置方案便是采用PPA配置方式實現(xiàn)的。

圖1

1.2FPGA器件的配置文件ALTERA的MAX+PLUSII開發(fā)工具可以生成多種配置或編譯文件,用于不同配置方法的配置系統(tǒng)。對于不同的目標器件,配置數(shù)據(jù)的大小不同,配置文件的大小一般由.tbf文件(即二進制文件)決定。本實例中,EPF10K10的配置文件.rbf的大小為15k。該文件包括所有的配置數(shù)據(jù),一個字節(jié)的.rbf文件有8位配置數(shù)據(jù)。由于Altera提供的軟件工具不自動生成.rbf文件,故文件需按照下面的步驟生成:①在MAX+PLUSII編譯狀態(tài)下,選擇文件菜單中的變換SRAM目標文件命令;②在變換SRAM目標文件對話框,指定要轉(zhuǎn)換的文件并且選擇輸出文件格式為.rbf(Sequential),之后予以確定。2硬件電路設(shè)計AT89C52對EPF10K10并行配置的硬件電路示意圖如圖1所示。經(jīng)MAX+PLUSII編譯生成配置文件(.sof),通過格式轉(zhuǎn)換成為(.rbf)文件并存儲在圖中所示的存儲器中。當使用PPA配置方式時,需要將MSEL1和MSEL0置為高電平。為了不使DCLK出現(xiàn)不確定信號,必須將其經(jīng)過1kΩ電阻上拉到Vcc。在采用PPA配置方式時,nCS和CS兩個片選信號只需用一個。因此,如果采用其中一個作為片選信號,另一個必須直接置為有效位;如果選用CS作為片選信號控制配置,nCS必須接地;如果選用nCS作為片選信號控制配置,CS必須接高電平。本實例中采用后者。NRS為讀選通輸入信號,它為低輸入時,F(xiàn)LEX10K將RDYnBSY信號置于DATA7引腳。當nRS不用時,必須將其置為高。nCE為FLEX10K器件的使能輸入,nCE為低時使能配置過程。當器件是單片配置時,nCE必須始終為低。由于本實例為單片配置,故將nCE直接接地。然后將EPF10K10的nCONFIG、CONF_DONE、nSTATUS、RDYnBSY分別接到AT89C52的P17、P14、P13引腳上。DATA[7..0]接到AT89C52的P07~P00。NWs為寫選通輸入,由低到高跳變時鎖存DATA[7..0]引腳上的字節(jié)數(shù)據(jù)。要注意的是,nSTATUS引腳和CONF_DONE引腳是雙向漏極開路輸出,在作輸出使用時,應(yīng)用經(jīng)過1.0kΩ的電阻上拉到Vcc。

圖2

3軟件設(shè)計3.1配置原理PPA配置方式的下載時序如圖2所示。由圖可以看出PPA模式的工作過程如下:(1)啟動配置在nCONFIG引腳上產(chǎn)生一個低脈沖,等待nSTATUS回應(yīng)一個低脈沖以及CONF_DONE變低。在nCONFIG跳高后4μs,內(nèi)nSTATUS也跳高,表示FPGA可以配置了。(2)配置過程在對FPGA進行配置時,單片機將8位的配置數(shù)據(jù)放在FPGA器件的數(shù)據(jù)端,并且給nWS一個負脈沖,在nWS的上升沿,F(xiàn)PGA器件將該字節(jié)配置數(shù)據(jù)鎖存;然后FPGA器件驅(qū)動RDYnBSY為低,表示它正在處理該字節(jié)信息,配置過程可以通過nCS和CS引腳暫停。當RDYnBSY為低電平時,F(xiàn)LEX10K器件利用其內(nèi)部振蕩器(其頻率一般為10MHz)在其內(nèi)部將每一個字節(jié)的配置數(shù)據(jù)串行化。當FLEX10K器件準備接收下一個配置數(shù)據(jù)時,就使RDnBSY變高。單片機檢測該高電平信號后,送出下一個字節(jié)的數(shù)據(jù)。這一過程一直持續(xù)到全部數(shù)據(jù)配置完成。在配置過程中,系統(tǒng)需要進行實時監(jiān)測,一旦出現(xiàn)錯誤,nSATUS將被拉低,系統(tǒng)必須能識別出這個信號,并重新啟動配置過程。

圖3

(3)結(jié)束配置配置數(shù)據(jù)全部正確寫入芯片內(nèi)部后,器件釋放CONF_DONE,由外部將其拉高。如果單片機檢測到這個信號,則表明配置成功;否則,要對其重新配置。3.2配置軟設(shè)計單片機實現(xiàn)配置過程的控制程序流程圖如圖3所示。匯編程程序設(shè)計如下:nCONFIGEQUP1.7nSTATUSEQUP1.5CON_REFRESH:ACALLDELAY2;延時5μs,JBP1.4,END1;判斷CONF_DONE的狀態(tài),看是否配置成功LJMPCOFIGPESESH_COFIG:LJMPREADY_DATA1;延時子程序,延時約為5μsDELAY2:NOPNOPNOPNOPNOPRET;延時子程序,延時約為15μsDELAY4:MOVR1,#08HDJNZR1,$RETEND1:END本

溫馨提示

  • 1. 本站所有資源如無特殊說明,都需要本地電腦安裝OFFICE2007和PDF閱讀器。圖紙軟件為CAD,CAXA,PROE,UG,SolidWorks等.壓縮文件請下載最新的WinRAR軟件解壓。
  • 2. 本站的文檔不包含任何第三方提供的附件圖紙等,如果需要附件,請聯(lián)系上傳者。文件的所有權(quán)益歸上傳用戶所有。
  • 3. 本站RAR壓縮包中若帶圖紙,網(wǎng)頁內(nèi)容里面會有圖紙預(yù)覽,若沒有圖紙預(yù)覽就沒有圖紙。
  • 4. 未經(jīng)權(quán)益所有人同意不得將文件中的內(nèi)容挪作商業(yè)或盈利用途。
  • 5. 人人文庫網(wǎng)僅提供信息存儲空間,僅對用戶上傳內(nèi)容的表現(xiàn)方式做保護處理,對用戶上傳分享的文檔內(nèi)容本身不做任何修改或編輯,并不能對任何下載內(nèi)容負責。
  • 6. 下載文件中如有侵權(quán)或不適當內(nèi)容,請與我們聯(lián)系,我們立即糾正。
  • 7. 本站不保證下載資源的準確性、安全性和完整性, 同時也不承擔用戶因使用這些下載資源對自己和他人造成任何形式的傷害或損失。

評論

0/150

提交評論