国产日韩欧美一区二区三区三州_亚洲少妇熟女av_久久久久亚洲av国产精品_波多野结衣网站一区二区_亚洲欧美色片在线91_国产亚洲精品精品国产优播av_日本一区二区三区波多野结衣 _久久国产av不卡

?

CPLD加Flash在線升級及配置FPGA

2016-06-16 01:33劉光文李淯陽重慶金美通信有限責(zé)任公司重慶400030
微處理機 2016年2期
關(guān)鍵詞:配置嵌入式處理器

劉光文,李淯陽,成 亮(重慶金美通信有限責(zé)任公司,重慶 400030)

?

CPLD加Flash在線升級及配置FPGA

劉光文,李淯陽,成 亮
(重慶金美通信有限責(zé)任公司,重慶400030)

摘 要:基于Xilinx公司的Vertext4 FPGA嵌入式系統(tǒng)采用Flash作為BootLoader以及操作系統(tǒng)目標文件的存儲介質(zhì)。如果將FPGA的目標文件通過以太網(wǎng)接口發(fā)送給處理器,處理器接收到FPGA的目標文件后將其存儲到Flash的空閑空間,然后利用CPLD模擬產(chǎn)生配置時序,將Flash中的FPGA目標文件按相應(yīng)的時序送給FPGA配置管腳,即可實現(xiàn)FPGA的上電配置。其優(yōu)勢在于省去了專用的配置PROM,并且能夠完美地支持FPGA目標文件在線升級。實踐證明,該方法具有很強的通用性,在嵌入式系統(tǒng)中具有很強的實用價值。

關(guān)鍵詞:嵌入式;系統(tǒng);配置;處理器;目標文件;在線升級

1 引 言

基于FPGA的嵌入式系統(tǒng)技術(shù)已經(jīng)得到了廣泛、深入的應(yīng)用,包括工業(yè)控制領(lǐng)域、網(wǎng)絡(luò)應(yīng)用、消費類電子產(chǎn)品、成像和安全產(chǎn)品等領(lǐng)域。

目前大規(guī)模FPGA均通過把設(shè)計生成的目標文件配置到芯片內(nèi)部的SRAM完成其邏輯功能,具有可重復(fù)編程性,可靈活實現(xiàn)各種邏輯功能,F(xiàn)PGA的這種特性使其在現(xiàn)代電子系統(tǒng)設(shè)計中得到了廣泛應(yīng)用。但基于SRAM工藝的FPGA是易失性的,系統(tǒng)掉電后SRAM內(nèi)的數(shù)據(jù)將全部丟失,需要外接ROM保存其配置數(shù)據(jù),系統(tǒng)每次上電時必須重新配置數(shù)據(jù)才能正常工作。通常設(shè)計時采用兩種方案保存FPGA的目標文件,一是使用專用的PROM,如Xilinx公司的XCFxx系列PROM來提供FPGA的配置時序[1],上電時自動加載PROM中的目標文件到FPGA的SRAM中;另一種是在含有微控制器的嵌入式系統(tǒng)中,采用其他非易失性存儲器來存儲目標文件,如EEPROM、Flash等,使用CPLD模擬FPGA的配置時序?qū)OM中的目標文件置入FPGA中。與前面一種方案相比,后者成本更低,并且可完美支持在線升級。

2 配置原理

2.1主串配置原理

Xilinx公司的Vertext4系列FPGA采用90nm工藝的,該芯片具有高性能、低功耗、可無限次編程等特點,并且內(nèi)部嵌入了IBM公司的高性能PPC405 (Power PC)硬核處理器[2],可完美支持Vxworks操作系統(tǒng)[3]。芯片支持從串、主串、從并、主并、JTAG等方式進行配置[4],與主串配置相關(guān)的引腳功能及配置如下:

(1)M[2:0]:配置模式選擇。M2,M1,M0均接下拉電阻,即M[2:0]=000時為主串模式。

(2)CCLK:配置時鐘,由被配置FPGA提供時鐘信號,上升沿有效。

(3)DIN:串行數(shù)據(jù)輸入位。

(4)PROG_B:低電平異步復(fù)位FPGA內(nèi)部邏輯位。內(nèi)部配置邏輯復(fù)位后,等該引腳為高電平時才能配置FPGA。

(5)INIT_B:由低電平到高電平跳變時,采樣配置模式選擇管腳M[2:0],確定配置模式;配置過程中若出現(xiàn)配置錯誤,INIT_B將呈現(xiàn)低電平。

(6)DONE:復(fù)位及配置過程中為低電平,配置成功后為高電平。

2.2配置時序的捕獲及確認

Xilinx公司的目標編程文件有“.bit”、“.bin”、“.mcs”等格式,其中.bit格式用作JTAG下載,其他2種格式用作專用PROM編程。系統(tǒng)產(chǎn)生配置文件時首先需生成專用PROM編程文件“.bin”文件,然后將該文件存儲到FLASH或PROM中。

使用十六進制編輯程序例如“UltraEdit”將“.bin”文件打開查看其內(nèi)容,可以發(fā)現(xiàn)其頭部是以0xFFFFFFFF和0xAA995566開始,如圖1所示。

圖1 查看FPGA配置文件內(nèi)容

為了確認主串配置時是高位先發(fā)還是低位先發(fā),通過示波器捕獲配置時序,對比配置文件內(nèi)容,可以確認使用的是高位先發(fā)順序。如圖2所示。

圖2 串行數(shù)據(jù)為高位先發(fā)順序

2.3在線升級原理

設(shè)計首先需要在嵌入式系統(tǒng)的軟件程序中加入FTP服務(wù)器功能,對于使用VxWorks操作系統(tǒng)的嵌入式系統(tǒng)來說只需勾選相應(yīng)的FTP服務(wù)器組件即可實現(xiàn)。然后使用計算機登入嵌入式系統(tǒng)的FTP服務(wù)器,將FPGA的目標文件按特定名稱上傳到FTP服務(wù)器。FTP服務(wù)器在檢測到特定名稱的文件后會通知處理器處理該文件,處理器隨即開始讀取該文件并將文件寫入到Flash中指定的區(qū)域,寫入后刪除該文件,結(jié)束本次升級,為下一次在線升級做好準備[5]。

3 功能實現(xiàn)

3.1硬件框圖

硬件上總體分為3個部分:Flash芯片、CPLD芯片及FPGA主芯片。Flash采用的是2片Intel公司的16位寬、16Mbyte容量的TE28F128J3C芯片[6],共同組成32位寬、32Mbyte容量的存儲器;CPLD采用Xilinx公司的XC95144芯片[7];FPGA使用了Xilinx公司的XC4VFX60芯片。具體硬件框圖如圖3所示。

圖3 硬件整體框圖

3.2CPLD實現(xiàn)流程

CPLD配置FPGA的邏輯流程如下:

(1)系統(tǒng)上電后,CPLD將PROG_B置為低電平,復(fù)位FPGA內(nèi)部邏輯重新配置FPGA,延時100μs充分復(fù)位內(nèi)部邏輯后,再將PROG_B置為高電平。

(2)將PROG_B置高電平大于300ns后,F(xiàn)PGA會將INIT_B置為高電平,CPLD采樣到INIT_B變?yōu)楦唠娖胶?,CPLD根據(jù)FPGA送來的配置時鐘CCLK的上升沿串行地將配置數(shù)據(jù)送給FPGA,在CCLK的每個上升沿,都有1個Bit的數(shù)據(jù)被傳遞給DIN。

(3)32個CCLK時鐘后,CPLD將Flash地址加1,然后將Flash數(shù)據(jù)線上的數(shù)據(jù)采樣加載到內(nèi)部移位寄存器;然后再使用32個CCLK時鐘周期將移位寄存器內(nèi)的數(shù)據(jù)串行地傳遞給DIN,然后再將Flash地址加1,一直循環(huán)。

(4)所有配置數(shù)據(jù)傳送完成,CRC校驗無誤,則DONE呈現(xiàn)高電平,否則為低電平。

(5)CPLD采樣到DONE為高后,立即釋放Flash控制信號,進入等待狀態(tài)。FPGA則釋放全局三態(tài)(GTS),激活I(lǐng)O管腳,釋放全部置位復(fù)位(GSR)和全局寫使能(GWE)有效,開始執(zhí)行配置區(qū)里的邏輯,如果FPGA要重新配置,可由CPLD再次將PROG_B拉低,則DONE信號會由高變低,重新進入配置狀態(tài)。

4 實驗結(jié)果驗證

為了驗證實驗結(jié)果,在嵌入式系統(tǒng)正常運行的情況下,使用1臺PC機作為FTP客戶端,通過以太網(wǎng)接口登錄嵌入式系統(tǒng)的FTP服務(wù)器,然后將FPGA目標文件“a.bin”上傳到FTP服務(wù)器。處理器收到文件并解析出該文件后,將該文件從0地址開始寫入到Flash的底層空間,如圖4所示。

圖4 在線升級示意圖

CPLD程序也設(shè)計為從0地址開始加載FPGA目標文件并配置FPGA。具體配置時序如圖5所示。

圖5 CPLD配置FPGA的波形

從圖5左邊部分可以看出,CPLD從0地址開始累加讀取Flash數(shù)據(jù),F(xiàn)lash前4個地址讀出的數(shù)據(jù)依次為0xFFFFFFFF、0xAA995566、0x20000000、0x30008001,然后并行數(shù)據(jù)被轉(zhuǎn)換為串行數(shù)據(jù)送到DIN。

圖5右邊部分,可以看到地址已經(jīng)累加到0xA03C3,然后DONE信號變?yōu)楦唠娖?,CPLD在檢測到DONE信號為高電平后,完成配置過程,進入等待狀態(tài)。

5 結(jié)束語

基于CPLD加FLASH的FPGA主串配置方案原理簡單易行[8],雖然舉例是采用Xilinx公司Vertext4系列的XC4VFX60 FPGA,但稍加修改即可適用于其它系列的FPGA器件,具有很強的通用性和實用性。

另外,F(xiàn)PGA具有可重復(fù)配置的靈活性,在嵌入式系統(tǒng)中可以通過串口、網(wǎng)口遠程燒寫Flash重構(gòu)系統(tǒng)功能,這種在線重構(gòu)技術(shù),為設(shè)備的智能化在線維護、功能重組和在線升級等提供了可能,具有廣闊的應(yīng)用前景。

參考文獻:

[1]XILINX:Platform Flash In-System Programmable Configuration PROMS[EB/OL].2004/www.xilinx.com.

[2]XILINX:EDK PowerPC Tutorial Ver 3.0[EB/OL].2004/www.xilinx.com.

[3]XILINX:Getting Started with EDK and Wind River VxWorks[EB/OL].2004/www.xilinx.com.

[4]XILINX:Virtex-4 Configuration Guide[EB/OL].2004/www.xilinx.com.

[5]胡啟道,張福洪,戴紹港.基于MCU的FPGA在線配置[J].電子器件,2007,30(3):1049-1056.Hu Qidao,Zhang Fuhong,Dai Shaogang.Online Configure FPGA Based on MCU[J].Electronic Devices,2007,30 (3):1049-1056.

[6]Intel:Intel StrataFlash?Memory(J3)28F256J3,28F128J3,28F640J3,28F320J3(x8/x16)Datasheet [EB/OL].2004/http://www.intel.com.

[7]XILINX:XC95144XLHighPerformanceCPLD [EB/OL].2007/www.xilinx.com.

[8]王小峰,周吉鵬.一種FPGA在線配置flash的方法[J].電子器件,2006,29(3):902-904.Wang Xiaofeng,Zhou Jipeng.Online Configure flash by FPGA[J].Electronic Devices,2006,29(3):902-904.

Online Update and Configure FPGA By CPLD and Flash

Liu Guangwen,Li Yuyang,Cheng Liang
(Chongqing Jinmei Communication Co.,Ltd.,Chongqing 400030,China)

Abstract:The embedded system,based on Xilinx Vertext4 FPGA,usually uses Flash as storage medium to save BootLoader and operating system object file.If the FPGA object file is sent to processor via Ethernet port,it will be saved to free space in Flash by processor,and the CPLD generates a time sequence and sends the FPGA object file to FPGA through the pin configuration,then the power-on configuration is simulated and realized.It has advantage of saving a dedicated configuration PROM and supporting FPGA object file online updating perfectly.The practice proves that it is a universal solution and has lots of practical utility in embedded system.

Key words:Embedded;System;Configuration;Processor;Object file;Online update

DOI:10.3969/j.issn.1002-2279.2016.02.001

中圖分類號:TP317.4

文獻標識碼:A

文章編號:1002-2279(2016)02-0001-03

作者簡介:劉光文(1982-),男,四川省遂寧市人,助理工程師,學(xué)士,主研方向:FPGA邏輯設(shè)計、硬件電路設(shè)計。

收稿日期:2015-05-29

猜你喜歡
配置嵌入式處理器
Focal&Naim同框發(fā)布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應(yīng)用
搭建基于Qt的嵌入式開發(fā)平臺
論高校網(wǎng)絡(luò)防火墻的配置與管理
計算機Linux網(wǎng)絡(luò)操作系統(tǒng)特點及服務(wù)器配置研究
ADI推出新一代SigmaDSP處理器
倍福 CX8091嵌入式控制器
火線熱訊
電子設(shè)計應(yīng)用(2004年7期)2004-09-02
鸡东县| 砚山县| 卓尼县| 邢台县| 新蔡县| 灵石县| 六安市| 宜昌市| 永德县| 宜兰市| 苍南县| 望奎县| 于都县| 昌邑市| 年辖:市辖区| 讷河市| 宣恩县| 闽清县| 沈阳市| 武乡县| 湟中县| 思南县| 文成县| 吴旗县| 南阳市| 永济市| 乐山市| 梨树县| 昌江| 大田县| 疏勒县| 沂源县| 洛隆县| 灵寿县| 新乡县| 邛崃市| 航空| 杨浦区| 昌黎县| 积石山| 德阳市|