亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        基于MCU的FPGA系統(tǒng)在線配置及實(shí)現(xiàn)

        2013-01-29 03:41:16
        關(guān)鍵詞:北京航空航天大學(xué)配置文件低電平

        晏 勇

        (1.阿壩師范高等專科學(xué)校 電子信息工程系, 四川 汶川 水磨 623002; 2.電子科技大學(xué) 信息與軟件工程學(xué)院, 四川 成都 610054)

        0 引言

        信息社會(huì)高速發(fā)展離不開(kāi)集成電路,現(xiàn)代電子產(chǎn)品性能不斷提高,復(fù)雜程度不斷增大,價(jià)格不斷下降,這都依賴于EDA技術(shù)高速發(fā)展.產(chǎn)品是否便于現(xiàn)場(chǎng)升級(jí),是否便于靈活應(yīng)用,成為商家是否能夠快速占領(lǐng)市場(chǎng)的關(guān)鍵因素.FPGA/CPLD繼承了ASIC高集成、大規(guī)模、高可靠性的優(yōu)點(diǎn),又克服了普通ASIC周期長(zhǎng)、投資大、靈活性差的缺點(diǎn),已成為各類復(fù)雜電路的不錯(cuò)選擇.在這種環(huán)境下,ALTER公司開(kāi)發(fā)了基于查找表(LUT)和靜態(tài)隨機(jī)存儲(chǔ)器(SRAM)的現(xiàn)場(chǎng)可編程邏輯器件FPGA,并得到了廣泛應(yīng)用和肯定.

        FPGA(Filed Programmable Gate Array,簡(jiǎn)稱FPGA)是一種高密度可編邏輯器件,基于數(shù)字邏輯門(mén)電路連接編程,生成網(wǎng)表文件配置進(jìn)入FPGA芯片內(nèi)部隨機(jī)靜態(tài)存儲(chǔ)器,實(shí)現(xiàn)各種復(fù)雜邏輯功能.由于FPGA基于SRAM,調(diào)電后芯片內(nèi)部數(shù)據(jù)全部丟失,每次系統(tǒng)上電時(shí)都需要重新配置,即ICR(In Circuit Reconfigurability),系統(tǒng)才正常工作,因此FPGA系統(tǒng)須接flash器件保存配置數(shù)據(jù).

        從FPGA配置連接方式看,F(xiàn)PGA配置主要分為3類:一是通過(guò)下載線纜由計(jì)算機(jī)直接進(jìn)行配置,二是利用FPGA專用配置器件進(jìn)行配置,三是利用CPLD或MCU進(jìn)行配置.第一種配置方式調(diào)試方便,但系統(tǒng)調(diào)電后數(shù)據(jù)全部丟失,缺乏現(xiàn)場(chǎng)實(shí)用價(jià)值;第二種配置方式系統(tǒng)數(shù)據(jù)保密性不強(qiáng);第三種配置方式兼有第一種和第二種配置方式的優(yōu)點(diǎn).從FPGA在配置過(guò)程中所起的引導(dǎo)作用看,F(xiàn)PGA配置可以分為3類:FPGA主動(dòng)引導(dǎo)配置方式、FPGA被動(dòng)配置方式和JTAG方式.MCU與FPGA連接方式可分為配置數(shù)據(jù)并行傳輸?shù)目偩€連接方式和配置數(shù)據(jù)串行傳輸?shù)莫?dú)立連接方式.

        本文提出了一種基于MCU與FPGA獨(dú)立連接和Flash上電FPGA配置方案.由MCU引導(dǎo)配置,PFGA被動(dòng)串行配置PS模式,基于MCU的PS配置模式繼承了MCU和FPGA的優(yōu)點(diǎn),實(shí)現(xiàn)了對(duì)Altera公司FPGA器件在線配置,通信可靠、配置過(guò)程穩(wěn)定、硬件接口靈活,在實(shí)際中得到了廣泛應(yīng)用.

        1 配置系統(tǒng)硬件設(shè)計(jì)

        1.1 Altera公司FPGA選型

        Altera公司生產(chǎn)具有ICR功能的FPGA器件有APEX、ACEX、FLEX6000、FLEX10K、Cyclone、Stratix等系列.FPGA器件選用Altera公司具有代表性的Cyclone系列器件EP1C3T144C8,I/O供電電壓3.3 V,內(nèi)核和PLL電壓1.5 V,有源時(shí)鐘晶振50 MHz.器件內(nèi)部含等效門(mén)電路數(shù)50萬(wàn)邏輯門(mén)電路,4 000個(gè)LE,1個(gè)PLL,QFP108封裝.

        1.2 MCU配置FPGA時(shí)序

        嵌入式系統(tǒng)中,MCU能產(chǎn)生FPGA配置時(shí)序引導(dǎo)配置,由MCU控制將配置數(shù)據(jù)流通過(guò)E2PROM傳輸?shù)紽PGA中,每次上電后,F(xiàn)PGA配置數(shù)據(jù)從E2PROM讀取,EP1C3T144C8配置中通過(guò)MLES1和MLES0引腳設(shè)置配置方式,分別位于器件23和22腳,當(dāng)MLES1=0, MLES0=1,EP1C3T144C8采用被動(dòng)串行配置方式,MCU引導(dǎo)FPGA配置,F(xiàn)PGA處于被動(dòng).

        在PS配置模式中,F(xiàn)PGA通過(guò)5個(gè)I/O口與MCU連接,這5個(gè)引腳分別是NCONFIG、DCLK0、DATA0、NSTATUS、CONF_DONE,分別位于EP1C3T144C8第14、24、13、87、86引腳.其中,NCONFIG配置控制輸出;DCLK0配置時(shí)鐘輸出端;DATA0配置數(shù)據(jù)輸出端;NSTATUS配置狀態(tài)輸出;CONF_DONE配置完成標(biāo)志位.器件配置期間,CONF_DONE輸出低電平,配置完成后自動(dòng)輸出高電平.MCU與NCONFIG、DCLK0、DATA0連接端口設(shè)置為輸出狀態(tài),與NSTATUS、CONF_DONE連接端口設(shè)置為輸入狀態(tài).

        嵌入式系統(tǒng)中FPGA Cyclone EP1C3T144C8被動(dòng)串行配置模式PS模式的配置流程如圖1所示.微處理器啟動(dòng)引導(dǎo)FPGA配置時(shí),首先由微處理器與FPGA NCONFIG引腳相連的IO上發(fā)出一個(gè)大于8 uS的低脈沖,當(dāng)FPGA NCONFIG引腳收到由MCU來(lái)的低電平后,立即將NSTATUS和CONF_DONE引腳電平拉低,其中NSTATUS為配置狀態(tài)輸出,CONF_DONE為配置完成標(biāo)志位,MCU收到NSTATUS引腳低電平后,NCONFIG引腳和NSTATUS引腳同時(shí)為低電平,當(dāng)MCU控制NCONFIG引腳跳變?yōu)楦唠娖? uS后,F(xiàn)PGA NSTATUS變?yōu)楦唠娖?,F(xiàn)PGA進(jìn)入配置狀態(tài),1 uS后MCU發(fā)送同步時(shí)鐘和配置數(shù)據(jù)信號(hào)啟動(dòng)FPGA配置,由DATA0在時(shí)鐘DCLK0的引導(dǎo)下串行傳輸數(shù)據(jù),配置期間CONF_DONE一直為低電平,F(xiàn)PGA配置完成后CONF_DONE變成高電平,如配置過(guò)程中數(shù)據(jù)傳輸出錯(cuò)或配置失敗,NSTATUS會(huì)自動(dòng)拉低重啟配置,器件配置完成后由FPGA引導(dǎo)各種應(yīng)用功能.

        圖1 MCU配置FPGA流程圖

        Altera公司Cyclone FPGA配置可分為4個(gè)過(guò)程:(1)Vcc上電階段,Vcc上電爬升到穩(wěn)定過(guò)程;(2)配置準(zhǔn)備階段,NSTATUS和CONF_DONE拉低;(3)配置階段,F(xiàn)PGA完成配置后CONF_DONE輸出高電平,系統(tǒng)初始化;(4)用戶模式階段,由FPGA引導(dǎo)系統(tǒng)工作.FPGA工作狀態(tài)分為3種,即:用戶狀態(tài),F(xiàn)PGA引腳輸出高低電平;配置狀態(tài)和初始化狀態(tài),F(xiàn)PGA引腳呈高阻狀態(tài).

        1.3 24C128

        FPGA配置存儲(chǔ)器選擇Microchip基于CMOS工藝, 串行通E2PROM儲(chǔ)存器24C128,存儲(chǔ)器組織結(jié)構(gòu)128K×8 Bit,最大容量128 Kbits,SOP8封裝,供電范圍4.5~5.5 V,讀寫(xiě)數(shù)據(jù)最高時(shí)鐘頻率400 KHz,寫(xiě)數(shù)據(jù)最大電流3 mA,讀數(shù)據(jù)最大電流400 uA,24C128封裝引腳如圖2所示.

        圖2 24C128封裝及引腳圖

        A0、A1、A2:器件選擇地址輸入引腳,最多允許外接8個(gè)存儲(chǔ)器,不用時(shí)允許接地;

        Vss:器件接地端;

        SDA:I2C串行數(shù)據(jù)地址輸入輸出引腳,漏極開(kāi)路門(mén)需接10 K上拉電阻;

        SCL:串行時(shí)鐘輸入引腳,同步數(shù)據(jù)傳輸,上升沿寫(xiě)數(shù)據(jù),下降沿讀數(shù)據(jù);

        WP:讀寫(xiě)保護(hù)引腳,WP=0數(shù)據(jù)正常讀寫(xiě),WP=1數(shù)據(jù)寫(xiě)保護(hù),只讀不寫(xiě);

        Vcc:供電引腳,范圍4.5~5.5 V.

        所有串行E2PROM控制位數(shù)據(jù)前4位都為1010,A0、A1、A2為24C128器件獨(dú)有地址,R/W器件讀寫(xiě)數(shù)據(jù)控制信號(hào),1讀數(shù)據(jù),0寫(xiě)數(shù)據(jù),控制數(shù)據(jù)格式如圖3所示.對(duì)24C128操作,先向24C128寫(xiě)入控制字,再讀寫(xiě)數(shù)據(jù),數(shù)據(jù)通信嚴(yán)格按照I2C時(shí)序進(jìn)行.

        圖3 24C128控制位數(shù)據(jù)格式

        1.4 AT89C2051

        MCU選擇Atmel公司低電壓、高性能CMOS 8位單片機(jī)AT89C2051,DIP20封裝,片內(nèi)含2 k bytes只讀Flash程序存儲(chǔ)器和128 bytes隨機(jī)存取數(shù)據(jù)存儲(chǔ)器RAM,兼容標(biāo)準(zhǔn)MCS-51指令系統(tǒng),內(nèi)置通用8位中央處理器,15個(gè)雙向輸入/輸出I/O,兩個(gè)外中斷口,兩個(gè)16位可編程定時(shí)計(jì)數(shù)器.I2C模式與24C128E2PROM通信,串口模式與FPGA通信,串口采用方式0移位寄存器方式,TXD/P3.1同步通信脈沖,RXD/P3.0同步通行數(shù)據(jù),配置數(shù)據(jù)存儲(chǔ)在E2PROM中,單片機(jī)發(fā)送控制信號(hào)從24C128中提取PFGA配置數(shù)據(jù),完成引導(dǎo)FPGA配置,配置系統(tǒng)原理如圖4所示.

        AT89C2051在線編程ISP為74HC373并口下載電路,下載線軟件用Easy 51Pro v2.0,并口下載電路下載速度快,過(guò)程穩(wěn)定可靠,電路簡(jiǎn)單,在實(shí)際工程中使用廣泛.

        圖4 配置系統(tǒng)原理圖

        2 配置系統(tǒng)軟件設(shè)計(jì)

        2.1 軟件設(shè)計(jì)思想

        Altera Quartus II FPGA開(kāi)發(fā)平臺(tái)對(duì)不同器件有不同的配置文件,配置文件大小和數(shù)據(jù)格式也不同,JTAG模式對(duì)應(yīng)配置文件.sof,AS模式對(duì)應(yīng)配置文件.pof,單片機(jī)配置FPGA兩種文件.rbf二進(jìn)制文件和.ttf十六進(jìn)制文件, Quartus II不自動(dòng)產(chǎn)生.ttf文件,具體方法如下:

        (1)選擇Assignements菜單Setings 下Device;(2)單擊Device & Pin Option;(3)Programming Files下Tabular Text file(.ttf)欄打勾;(4)重新編譯工程得到.ttf文件.單片機(jī)配置FPGA就是將.ttf文件內(nèi)容按照FPGA配置時(shí)序發(fā)送到FPGA的SRAM內(nèi),.ttf文件用記事本方法打開(kāi),將.ttf里配置數(shù)據(jù)采存儲(chǔ)在E2PROM內(nèi),通過(guò)開(kāi)辟數(shù)組存儲(chǔ)的方法,由單片機(jī)發(fā)送到FPGA,完成FPGA配置.

        2.2 程序分析

        Altera FPGA在線配置,實(shí)際就是將FPGA配置文件轉(zhuǎn)換為51.HEX文件寫(xiě)入單片機(jī),模擬FPGA配置時(shí)序?qū)⑴渲梦募?xiě)入FPGA,C51完成FPGA配置,F(xiàn)PGA用VHDL或Verilog HDL,完成整個(gè)應(yīng)用系統(tǒng),具體配置程序如下.

        #include "reg51.h"

        #include "intrins.h"

        sbit NSTATUS=P1^3;

        sbit CONF_DONE=P1^4;

        sbit DCLK0=P1^5;

        sbit NCONFIG=P1^6;

        sbit DATA0=P1^7;

        unsigned char config[ ]={};//放置FPGA配置文件 .ttf內(nèi)容

        void main(void)

        {

        unsigned char dat,t,k;

        NCONFIG=1;//初始化

        NSTATUS=1;

        CONF_DONE=0;

        DCLK0=0;

        while(CONF_DONE==0);// CONF_DONE為高,配置結(jié)束

        {

        for(t=0;t<20;t++); //NCONFIG引腳發(fā)送一個(gè)大于8 uS低脈沖

        NCONFIG=0;

        _nop()_;_nop()_;_nop()_;_nop()_;//等待FPGA接收信號(hào)

        for(k=0;k<300;k++)//FPGA接收到NCONFIG信號(hào), NCONFIG,NSTATUS同時(shí)為低

        NSTATUS=0;

        NCONFIG=1;

        _nop()_;_nop()_;_nop()_;_nop()_;//NCONFIG引腳跳變?yōu)楦唠娖胶? uS后,NSTATUS為高

        while(NSTATUS==1);// NSTATUS為高,啟動(dòng)配置

        {

        for(k=0;k

        {

        dat=config[k];

        for(t=0;t<8;t++)//配置文件左移,串行送入FPGA

        {

        DCLK=0;

        if(DATA0)

        DATA0=DATA0|0x01;

        DCLK=1;

        dat=dat>>1;

        DCLK=0;

        }

        }

        }

        }

        while(1);

        }

        3 結(jié)論

        當(dāng)今嵌入式系統(tǒng)已應(yīng)用到各個(gè)領(lǐng)域,有必要在成本和體積上進(jìn)行優(yōu)化,降低成本.通過(guò)AT89C2051單片機(jī)模擬FPGA配置時(shí)序引導(dǎo)配置FPGA,實(shí)踐證明配置電路設(shè)計(jì)完全正確、可行,每次系統(tǒng)上電都能準(zhǔn)確、快速完成配置,保證系統(tǒng)保密性和穩(wěn)定性.Altera公司FPGA器件配置數(shù)據(jù)時(shí)鐘有所不同,但單片機(jī)配置程序稍加修改即可完成FPGA配置,單片機(jī)配置FPGA電路簡(jiǎn)單、靈活,已廣泛應(yīng)用于各種FPGA應(yīng)用系統(tǒng).

        [1] 王靈芝,林培杰,黃春暉.FPGA的配置及其接口電路[J].電子測(cè)量與儀器學(xué)報(bào),2007,21(2):109-112.

        [2] 繆云青,李永剛.FPGA器件在嵌入式系統(tǒng)中的配置方式的探討[J].微計(jì)算機(jī)信息,2006,22(11):161-162.

        [3] 張 玄,李開(kāi)航.利用CPLD實(shí)現(xiàn)FPGA的快速加載[J].現(xiàn)代電子技術(shù),2012,35(22):163-170.

        [4] 郭利文,鄧月明.CPLD/FPGA設(shè)計(jì)與應(yīng)用高級(jí)教程[M].北京:北京航空航天大學(xué)出版社,2011:56-88.

        [5] 游志宇,張 洪,董秀成,等.MCS-51與FPGA/CPLD總線接口邏輯設(shè)計(jì)[J].單片機(jī)與嵌入式系統(tǒng)應(yīng)用,2008,23(1):29-31.

        [6] 馬英矯,馬瑛蓬,徐 亮.一種共享存儲(chǔ)器的FPGA配置電路設(shè)計(jì)[J].中北大學(xué)學(xué)報(bào)(自然科學(xué)版),2012,33(3):272-287.

        [7] 薛 昀,李宗艷,張德安.基于單片機(jī)的FPGA被動(dòng)串行配置方式[J].桂林電子工業(yè)學(xué)院學(xué)報(bào),2005,25(3):29-33.

        [8] 李廣彪.基于單片機(jī)的FPGA并行配置方法[J].電子技術(shù)應(yīng)用,2005,31(1):72-74.

        [9] 孫進(jìn)平,王 俊,李 偉,等.DSP/FPGA嵌入式實(shí)時(shí)處理技術(shù)及應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2011:223-245.

        [10] 包 明.EDA技術(shù)與可編程器件的應(yīng)用[M].北京:北京航空航天大學(xué)出版社,2007:173-220.

        [11] 周立功.EDA實(shí)驗(yàn)與實(shí)踐[M].北京:北京航空航天大學(xué)出版社,2007:88-110.

        [12] 潘 松,黃繼業(yè).EDA技術(shù)實(shí)用教程第四版[M].北京:科學(xué)出版社,2010:60-80.

        [13] 潘 松,黃繼業(yè).EDA技術(shù)實(shí)用教程第三版[M].北京:科學(xué)出版社,2006:72-90.

        [14] 徐志軍.EDA技術(shù)實(shí)用教程第三版[M].北京:電子工業(yè)出版社,2009:92-110.

        [15] 李朝青.嵌入式系統(tǒng)原理與接口技術(shù)[M].北京:北京航空航天大學(xué)出版社,2005.

        [16] 張洪潤(rùn),張亞凡. FPGA/CPLD應(yīng)用設(shè)計(jì)200例[M].北京:北京航空航天大學(xué)出版社,2009:80-112.

        猜你喜歡
        北京航空航天大學(xué)配置文件低電平
        數(shù)字電路中“邏輯非”的用法辨析
        《北京航空航天大學(xué)學(xué)報(bào)》征稿簡(jiǎn)則
        《北京航空航天大學(xué)學(xué)報(bào)》征稿簡(jiǎn)則
        提示用戶配置文件錯(cuò)誤 這樣解決
        《北京航空航天大學(xué)學(xué)報(bào)》征稿簡(jiǎn)則
        鐵道車輛高/低電平信號(hào)智能發(fā)生器設(shè)計(jì)
        《北京航空航天大學(xué)學(xué)報(bào)》征稿簡(jiǎn)則
        搭建簡(jiǎn)單的Kubernetes集群
        互不干涉混用Chromium Edge
        2017款凱迪拉克2.8L/3.0L/3.2L/3.6L車型低電平參考電壓總線電路圖
        亚洲国产av一区二区三区精品| 毛片无码高潮喷白浆视频| 蜜桃av观看亚洲一区二区| 成人性生交大片免费5| 含紧一点h边做边走动免费视频 | 蜜臀一区二区三区精品| 中国丰满熟妇xxxx性| 91伊人久久| 国产日韩乱码精品一区二区| 国产一区亚洲二区三区| 人妻少妇精品无码专区二区| 99精品成人片免费毛片无码| 日韩av一区二区在线观看| 久久无码潮喷a片无码高潮 | 国产午夜在线视频观看| 国产成人无码a区在线观看视频 | 少妇私密会所按摩到高潮呻吟| 欧美乱妇日本无乱码特黄大片| 狼人av在线免费观看| 午夜被窝精品国产亚洲av香蕉| 天堂…在线最新版资源| 中文字幕久久久久久久系列| 射进去av一区二区三区| 国产极品女主播国产区| 国产女精品视频网站免费| 精品人妻一区二区三区蜜桃| 日本一区二区在线高清| 亚洲色爱免费观看视频| 中文字幕人妻中文| 少妇精品偷拍高潮少妇在线观看| 最新国产毛2卡3卡4卡| 免费大片黄在线观看| 亚洲精品中文字幕尤物综合| 国产一区国产二区亚洲精品| 毛多水多www偷窥小便 | 国产麻豆放荡av激情演绎| 日本在线观看一区二区三| 亚洲日韩中文字幕一区| 在线国产视频精品视频| 亚洲成人精品在线一区二区| 97无码免费人妻超级碰碰夜夜|