- 相關(guān)推薦
嵌入式系統(tǒng)中FPGA的被動串行配置方式
摘要:介紹一種在嵌放式系統(tǒng)中使用微處理器被動串行配置方式實現(xiàn)對FPGA配置的方案,將系統(tǒng)程序及配置文件存在系統(tǒng)Flash中,利用微處理器的I/O口產(chǎn)生配置時序,省去配置器件;討論FPGA的各種配置方式及各種配置文件的使用;詳述被動串行配置的時序及在嵌入式系統(tǒng)中實現(xiàn)的軟硬件設(shè)計;說明本方案的優(yōu)越性及應(yīng)用前景。隨著信息時代的到來,嵌入式系統(tǒng)成為繼IT網(wǎng)絡(luò)技術(shù)之后又一個新的技術(shù)發(fā)展方向。嵌入式系統(tǒng)以其功能強、體積小、功耗低、可靠性高以及面向行業(yè)應(yīng)用的突出特征,廣泛應(yīng)用于各個領(lǐng)域。
現(xiàn)場可編程門陣列FPGA(Field Programmable Gate Array)是一種高密度可編程邏輯器件,其邏輯功能的實現(xiàn)是通過把設(shè)計生成的數(shù)據(jù)文件配置進(jìn)芯片內(nèi)部的靜態(tài)配置數(shù)據(jù)存儲器(SRAM)來完成的,具有可重復(fù)編程性,可以靈活實現(xiàn)各種邏輯功能。FPGA的這種特性使其在現(xiàn)代電子系統(tǒng)設(shè)計中得到了廣泛應(yīng)用。基于SRAM工藝的FPGA是易失性的,系統(tǒng)掉電以后其內(nèi)部配置數(shù)據(jù)將丟失,因此需要外接ROM保存其配置數(shù)據(jù)。FPGA的配置是有時序要求的,如果FPGA本身不能控制配置時序,就需要有外部配置器件來進(jìn)行時序控制。以Altera公司的系列FPGA為例,其本身不能控制配置時序,就有專用的EPC系列配置器件供其使用。在含有微處理器(MPU或MCU)的系統(tǒng)中(如嵌入式系統(tǒng)),可以使用微處理器產(chǎn)生配置時序,將保存在系統(tǒng)RO風(fēng)吹草動的配置數(shù)據(jù)置入FPGA。與前面一種方案相比,該方案不僅節(jié)省了成本,更縮小了系統(tǒng)體積。在對成本和體積敏感的系統(tǒng)中,該方案非常適用。
在某手持式通信設(shè)備的設(shè)計中,使用了嵌入式系統(tǒng)和FPGA完成了系統(tǒng)功能。嵌入式微處理器采用Samsung公司的ARM7TDMI系列處理器S3C44B0X;FPGA采用Alrera公司的APEX 20K系列EP20K200E,使用S3C44B0X完成了對EP20K200E的配置,取得了良好效果。本文對其實現(xiàn)方法予以介紹。
1 ARM嵌入式處理器S3C4480X簡介
S3C44B0X是Samsung公司專為手持設(shè)備和一般應(yīng)用而設(shè)計的高性價比和高性能的嵌入式處理器。其突出特點它的CPU核采用ARM公司的16/32位ARM7TDMI RISC內(nèi)核,0.25μm CMOS工藝制造,主頻最高可達(dá)66MHz,存儲器尋址空間達(dá)256MB。由于其成本和功耗低,特別適合對成本敏感和功能敏感的應(yīng)用場合,如PDA、GPS、LCD Game、E-Book等。
2 APEX 20K系列FPGA配置方式及配置文件
2.1 配置方式介紹
Altera公司的APEX 20K系列FPGA可以使用以下方式進(jìn)行配;
①使用專用配置器件,如EPC16、EPC8、EPC2、EPC1、EPC1441;
②被動串行方式(PS),使用微處理器的串行步接口或ByteBlaster下載電纜;
③被動并行同步方式(PPS),使用微處理器的并行同步接口;
④被動并行異步方式(PPA),使用微處理器的并行異步接口;
⑤邊界掃描方式(JTAG),使用JTAG下載電纜。
使用方式①時,需要首先使用下載電纜將計算機生成的FPGA配置文件燒入EPC配置器件中,然后由EPC配置器件控制配置時序?qū)PGA進(jìn)行配置,一次燒寫即可重復(fù)使用。使用方式②、③、④時,配置文件事先以二進(jìn)制形式保存在系統(tǒng)ROM中,可以脫離開計算機重復(fù)使用。若使用方②、③、④時,配置文件事先以二進(jìn)制形式保存在系統(tǒng)ROM中,可以脫離開計算機重復(fù)使用。若使用方式②,微處理器將配置數(shù)據(jù)以串行(比特流)方式送給FPGA,在配置時鐘驅(qū)動下完成配置。若使用方式③,微處理器將配置數(shù)據(jù)以并行(字節(jié))方式送給FPGA,由FPGA在其內(nèi)部將并行數(shù)據(jù)轉(zhuǎn)換成串行數(shù)據(jù),該串行化的過程需要外部配置時鐘的驅(qū)動。在配置時鐘速率相同的情況下,方式②、③所用的配置時間幾乎相同,但方式②的接口要比方式③簡單,若使用方式④,微處理器仍將配置數(shù)據(jù)以并行方式送給FPGA,在FPGA內(nèi)部完成數(shù)據(jù)串行化;與方式③不同的是,該過程不需要外部配置時鐘的驅(qū)動,但其接口更復(fù)雜,并且需要進(jìn)行地址譯碼,增加了系統(tǒng)的復(fù)雜程度,一般很少采用。使用方式⑤時需要計算機的配合,無法在最終的實際系統(tǒng)中脫機使用,此處不予討論。
通過上述討論可以看出,在使用APEX 20K系列FPGA開發(fā)實際應(yīng)用系統(tǒng),特別是要形成某種產(chǎn)品時,如果系統(tǒng)中不含微處理器,只能使用方式①;若系統(tǒng)中含有微處理器,方式①、②、③、④都可以使用,但②、③、④可以發(fā)現(xiàn),方式②的接口最簡單,實現(xiàn)起來比其它兩種方式都方便因而在含有微處理器的系統(tǒng)中得到了廣泛應(yīng)用,本通信系統(tǒng)的設(shè)計中即采用了該方式。
2.2 配置文件的使用
Altera公司的開發(fā)工具Quartus II及MAX PLUS II可以生成多種格式的配置文件,針對不同的配置方式要使用不同格式的配置文件。設(shè)計項目編譯以后會自動生成.sof文件和.pof文件。其中.pof文件在配置方式①使用專用配置器件時使用,.sof文件用于通過連接在計算機上的下載電纜直接對FPGA進(jìn)行配置的場合,配置方式可以是JTAG方式或PS方式中使用ByteBlaster下載電纜的情況;.sof文件還可以生成.hex、.rbf和.ttf文件。.hex文件是Intel Hex格式的ASCII碼文件,第三方的編程器可以使用這種格式的文件對Altera公司的配置器件進(jìn)行編程。.rbf文件是二進(jìn)制文件,1字節(jié)的rbf數(shù)據(jù)包含8bit的配置數(shù)據(jù),使用時將其存入ROM中。微處理
【嵌入式系統(tǒng)中FPGA的被動串行配置方式】相關(guān)文章:
PSD813F2在FPGA配置中的應(yīng)用12-06
利用SPD實現(xiàn)嵌入式系統(tǒng)中內(nèi)存的自動識別和配置03-18
FPGA器件的在線配置方法03-18
探索PSD813F2在FPGA配置中的應(yīng)用03-18
嵌入式系統(tǒng)中的CACHE問題03-19
嵌入式Linux系統(tǒng)中的GUI系統(tǒng)的研究與移植03-18
CDMA系統(tǒng)中串行干擾抵消檢測技術(shù)的研究03-07