在线看毛片网站电影-亚洲国产欧美日韩精品一区二区三区,国产欧美乱夫不卡无乱码,国产精品欧美久久久天天影视,精品一区二区三区视频在线观看,亚洲国产精品人成乱码天天看,日韩久久久一区,91精品国产91免费

<menu id="6qfwx"><li id="6qfwx"></li></menu>
    1. <menu id="6qfwx"><dl id="6qfwx"></dl></menu>

      <label id="6qfwx"><ol id="6qfwx"></ol></label><menu id="6qfwx"></menu><object id="6qfwx"><strike id="6qfwx"><noscript id="6qfwx"></noscript></strike></object>
        1. <center id="6qfwx"><dl id="6qfwx"></dl></center>

            新聞中心

            EEPW首頁 > 汽車電子 > 設(shè)計(jì)應(yīng)用 > 基于單片機(jī)的FPGA并行配置方法

            基于單片機(jī)的FPGA并行配置方法

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

               

            PGA器件的配置方式和配置文件

            1.1 FPGA器件的配置方式

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

            1.2 FPGA器件的配置文件

            ALTERA的MAX+PLUS II開發(fā)工具可以生成多種配置或編譯文件,用于不同配置方法的配置系統(tǒng)。對(duì)于不同的目標(biāo)器件,的大小不同,配置文件的大小一般由.tbf文件(即二進(jìn)制文件)決定。本實(shí)例中,EPF10K10的配置文件.rbf的大小為15k。該文件包括所有的配置數(shù)據(jù),一個(gè)字節(jié)的.rbf文件有8位配置數(shù)據(jù)。由于Altera提供的軟件工具不自動(dòng)生成.rbf文件,故文件需按照下面的步驟生成:①在MAX+PLUS II編譯狀態(tài)下,選擇文件菜單中的變換SRAM目標(biāo)文件命令;②在變換SRAM目標(biāo)文件對(duì)話框,指定要轉(zhuǎn)換的文件并且選擇輸出文件格式為.rbf(Sequential),之后予以確定。

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

            AT89C52對(duì)EPF10K10并行配置的硬件電路示意圖如圖1所示。經(jīng)MAX+PLUS II編譯生成配置文件(.sof),通過格式轉(zhuǎn)換成為(.rbf)文件并存儲(chǔ)在圖中所示的存儲(chǔ)器中。當(dāng)使用PPA配置方式時(shí),需要將MSEL1和MSEL0置為高電平。為了不使DCLK出現(xiàn)不確定信號(hào),必須將其經(jīng)過1kΩ電阻上拉到Vcc。在采用PPA配置方式時(shí),nCS和CS兩個(gè)片選信號(hào)只需用一個(gè)。因此,如果采用其中一個(gè)作為片選信號(hào),另一個(gè)必須直接置為有效位;如果選用CS作為片選信號(hào)控制配置,nCS必須接地;如果選用nCS作為片選信號(hào)控制配置,CS必須接高電平。本實(shí)例中采用后者。NRS為讀選通輸入信號(hào),它為低輸入時(shí),F(xiàn)LEX10K將RDYnBSY信號(hào)置于DATA7引腳。當(dāng)nRS不用時(shí),必須將其置為高。nCE為FLEX10K器件的使能輸入,nCE為低時(shí)使能配置過程。當(dāng)器件是單片配置時(shí),nCE必須始終為低。由于本實(shí)例為單片配置,故將nCE直接接地。然后將EPF10K10的nCONFIG、CONF_DONE、nSTATUS、RDYnBSY分別接到AT89C52的P17、P14、P13引腳上。DATA[7..0]接到AT89C52的P07~P00。NWs為寫選通輸入,由低到高跳變時(shí)鎖存DATA[7..0]引腳上的字節(jié)數(shù)據(jù)。要注意的是,nSTATUS引腳和CONF_DONE引腳是雙向漏極開路輸出,在作輸出使用時(shí),應(yīng)用經(jīng)過1.0kΩ的電阻上拉到Vcc。

            硬件電路示意圖 

            3 軟件設(shè)計(jì)

            3.1 配置原理

            PPA配置方式的下載時(shí)序如圖2所示。由圖可以看出PPA模式的工作

            過程如下:

            ppa配置方式的時(shí)序波形 

            (1)啟動(dòng)配置

            在nCONFIG引腳上產(chǎn)生一個(gè)低脈沖,等待nSTATUS回應(yīng)一個(gè)低脈沖以及CONF_DONE變低。在nCONFIG跳高后4μs,內(nèi)nSTATUS也跳高,表示FPGA可以配置了。

            (2)配置過程

            在對(duì)FPGA進(jìn)行配置時(shí),將8位的配置數(shù)據(jù)放在FPGA器件的數(shù)據(jù)端,并且給nWS一個(gè)負(fù)脈沖,在nWS的上升沿,F(xiàn)PGA器件將該字節(jié)配置數(shù)據(jù)鎖存;然后FPGA器件驅(qū)動(dòng)RDYnBSY為低,表示它正在處理該字節(jié)信息,配置過程可以通過nCS和CS引腳暫停。當(dāng)RDYnBSY為低電平時(shí),F(xiàn)LEX10K器件利用其內(nèi)部振蕩器(其頻率一般為10MHz)在其內(nèi)部將每一個(gè)字節(jié)的配置數(shù)據(jù)串行化。當(dāng)FLEX10K器件準(zhǔn)備接收下一個(gè)配置數(shù)據(jù)時(shí),就使RDnBSY變高。單片機(jī)檢測(cè)該高電平信號(hào)后,送出下一個(gè)字節(jié)的數(shù)據(jù)。這一過程一直持續(xù)到全部數(shù)據(jù)配置完成。在配置過程中,系統(tǒng)需要進(jìn)行實(shí)時(shí)監(jiān)測(cè),一旦出

            現(xiàn)錯(cuò)誤,nSATUS將被拉低,系統(tǒng)必須能識(shí)別出這個(gè)信號(hào),并重新啟動(dòng)配置過程。

            (3)結(jié)束配置

            配置數(shù)據(jù)全部正確寫入芯片內(nèi)部后,器件釋放CONF_DONE,由外部將其拉高。如果單片機(jī)檢測(cè)到這個(gè)信號(hào),則表明配置成功;否則,要對(duì)其重新配置。

            3.2 配置軟設(shè)計(jì)

            單片機(jī)實(shí)現(xiàn)配置過程的控制程序流程圖如圖3所示。

            單片機(jī)實(shí)現(xiàn)配置過程的控制程序流程圖 

            匯編程程序設(shè)計(jì)如下:

            nCONFIG EQU P1.7

            nSTATUS EQU P1.5

            RDYnBSY EQU P1.3

            CONF_DONE EQU P1.4

            ORG 0000H

            LJMP MAIN

            ORG 0030H

            ;對(duì)數(shù)據(jù)長度相關(guān)進(jìn)行初始化,其中所要配置的數(shù)據(jù)長度放在地址為0000H和0001H中

            ;0000H放數(shù)據(jù)長度的低位,0001H放數(shù)據(jù)長度的高位

            ;從0002開始放置的是所要配置的數(shù)據(jù)

            MAIN:MOV DPTR,#0000H

            MOVX A,@DPTR

            MOV R3,A; R3放配置數(shù)據(jù)個(gè)數(shù)的低位

            MOV DPTR,#0001H

            MOVX A,@DPTR

            MOV R4,A; R4放配置數(shù)據(jù)個(gè)數(shù)的高位

            MOV R5,#00H ;放配置數(shù)據(jù)個(gè)數(shù)的低位

            MOV R6,#00H ;放配置數(shù)據(jù)個(gè)數(shù)的高位

            ;以下是將數(shù)據(jù)進(jìn)行配置的子程序

            COFIG:MOV DPTR,#0002H

            CLR P1.7

            ACALL DELAY4 ;延時(shí)約為15μs

            JB nSTATUS,COFIG ;檢測(cè)FPGA是否響應(yīng)置低位

            SETB nCONFIG ;FPGA響應(yīng)置低位后,將nCONFIG置高位

            STA_JUDGE:JB nSTATUS,COFIG_BEG;等待FPGA是否響應(yīng)置高位,然后準(zhǔn)備進(jìn)行配置

            LJMP STA_JUDGE

            COFIG_BEG:ACALL DELAY2

            LJMP SEND_DATA

            READY_DATA

            JNB nSTATUS,COFIG

            SEND_DATA:MOVX A,@DPTR ;讀取數(shù)據(jù)

            PUSH DPH

            PUSH DPL

            MOV DPTR,#7000H ;讀入FPGA地址

            JNB P1.3,$ ;判斷RDYnBSY的狀態(tài)

            MOVX @DPTR,A ;配置數(shù)據(jù)

            POP DPL

            POP DPH

            INC DPTR

            ;以下實(shí)現(xiàn)配置個(gè)的判斷

            CLR C;

            MOV A,#01H

            ADD A,R5

               

            MOV R5,A

            MOV A,#00H

            ADDC A,R6

            MOV R6,A

            MOV A,R5

            CJNE A,03H,RESESH_COFIG

            MOV A,R6

            CJNE A,04H,RESESH_COFIG

            CON_REFRESH:ACALL DELAY2 ;延時(shí)5μs,JB P1.4,END1 ;判斷CONF_DONE的狀態(tài),看是否配置成功

            LJMP COFIG

            PESESH_COFIG:LJMPREADY_DATA1

            延時(shí)子程序,延時(shí)約為5μs

            DELAY2:NOP

            NOP

            NOP

            NOP

            NOP

            RET

            ;延時(shí)子程序,延時(shí)約為15μs

            DELAY4:MOV R1,#08H

            DJNZ R1,$

            RET     END1:END

            本文討論的基于單片機(jī)的FPGA并行配置方法具有線路結(jié)構(gòu)簡(jiǎn)單、開發(fā)容易、成本低的特點(diǎn)。與常用的串行配置方法相比,該配置方法更具有配置時(shí)間短、準(zhǔn)確率高、易于實(shí)現(xiàn)等優(yōu)點(diǎn)。雖然該配置控制電路是為配置公司FLEX10k系列的FPGA器件而設(shè)計(jì)的,但稍加修改也適用于其它系列的FPGA器件,故其有一定的通用性。   



            評(píng)論


            相關(guān)推薦

            技術(shù)專區(qū)

            關(guān)閉