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

?

一種FPGA智能加載和遠程更新的實現(xiàn)方法

2017-04-24 02:22:56
無線電通信技術(shù) 2017年3期
關(guān)鍵詞:前面板鏡像處理器

賈 鋼

(中國電子科技集團公司第五十四研究所,河北 石家莊 050081)

一種FPGA智能加載和遠程更新的實現(xiàn)方法

賈 鋼

(中國電子科技集團公司第五十四研究所,河北 石家莊 050081)

由于FPGA具有掉電易失性,系統(tǒng)每次啟動都需要對其進行配置;此外,某些系統(tǒng)在出廠后需要進行升級維護,這就需要對FPGA的配置鏡像進行更新。針對這種需求,提出了一種新的FPGA智能加載和遠程更新的實現(xiàn)方案。系統(tǒng)在Quartus II的SOPC環(huán)境下開發(fā),將Nios II處理器、Mac核、高速收發(fā)器及Remote-Update模塊集成在FPGA片內(nèi),不需要片外的CPU或CPLD配合,F(xiàn)PGA獨立、智能地完成鏡像的更新和加載。實驗證明該方案可行,且系統(tǒng)穩(wěn)定、可靠。

智能加載;遠程更新;SOPC;Nios II

0 引言

現(xiàn)在越來越多的系統(tǒng)尤其是小型嵌入式系統(tǒng)需要遠程升級功能,對FPGA也要求具備遠程更新和配置的能力。以往一些常用的方法是用CPU+FLASH、CPLD+FLASH[1]或CPU+CPLD+FLASH[2]等方式來實現(xiàn),用這些方法來控制遠程更新的實現(xiàn)基本上都需要使用FPGA之外的芯片,其缺點就是增加了成本和設計的復雜度,耗費印制板空間,增加功耗。

本系統(tǒng)采用了FPGA內(nèi)嵌的Nios II處理器[3]和可參數(shù)化的千兆以太網(wǎng)IPcore解決方案[4],在Altera公司的Arria V GX芯片上實現(xiàn)[5]。處理器和以太網(wǎng)網(wǎng)卡功能都在FPGA內(nèi)部實現(xiàn),省去了外部CPU和網(wǎng)卡芯片等器件,減小了板卡的布局空間和成本。

1 系統(tǒng)構(gòu)成

實現(xiàn)FPGA的遠程更新要求系統(tǒng)具備以太網(wǎng)的功能,系統(tǒng)不使用除FPGA片外任何的CPU,利用Quartus II的SOPC環(huán)境[6]搭建Nios II處理器電路,向其移植Lwip網(wǎng)絡協(xié)議棧[7]并開發(fā)網(wǎng)口驅(qū)動程序。

系統(tǒng)的硬件電路主要由FPGA、DDR3和EPCQ組成。通過Quartus II的SOPC開發(fā)環(huán)境,生成Nios II處理器[8]、以太網(wǎng)模塊、高速收發(fā)器模塊、EPCQ控制器和Remote-Update模塊,并通過Avalon總線進行連接[9]。高速收發(fā)器使用SGMII接口,通過PHY芯片與網(wǎng)絡連接[10]。同時EPCQ控制器與Remote-Update模塊連接,用戶邏輯介于Nios II和Remote-Update模塊之間,用于兩者接口的適配。Nios II下發(fā)指令控制EPCQ控制器讀取EPCQ不同地址段上的鏡像,并通過Remote-Update模塊獲取EPCQ內(nèi)鏡像的狀態(tài)信息,完成對FPGA的智能加載[11]。系統(tǒng)硬件組成框圖如圖1所示。

圖1 系統(tǒng)結(jié)構(gòu)示意圖

2 軟件設計

2.1 加載程序設計流程

FPGA啟動模式采用AS模式[12]。將EPCQ平均分成多個空間,即分段存放,分別存儲不同的FPGA鏡像,第一段鏡像默認從0地址開始,稱為原始鏡像,啟動地址非0的鏡像統(tǒng)稱為用戶鏡像。如圖2所示,將EPCQ器件分割成了若干段。但由于越是高端型號的FPGA鏡像越大,所以要選擇合適的存儲芯片。EPCQ256器件針對Arria V GX型號通常只能分成2段或者3段[13]。如果想要存儲更多的鏡像就要使用容量更大的并行總線接口Flash芯片[14]。

圖2 EPCQ分段存儲示意圖

FPGA啟動后,默認加載EPCQ內(nèi)的原始鏡像,隨后原始鏡像會讀取啟動原因寄存器(該寄存器為Remote-Update模塊狀態(tài)寄存器的一段)來獲取此次啟動的原因,當原因為上電啟動時,便開始向用戶鏡像跳轉(zhuǎn)。如果加載用戶鏡像成功,說明用戶鏡像完整正確,F(xiàn)PGA駐留于用戶鏡像;如果用戶鏡像缺失,F(xiàn)PGA重新加載原始鏡像,隨后讀取啟動原因寄存器,獲取上一次加載用戶鏡像失敗的原因,然后嘗試加載另一段用戶鏡像。如果無可用的用戶鏡像,F(xiàn)PGA便駐留在原始鏡像[15]。

為了保證系統(tǒng)的穩(wěn)定性和可靠性,原始鏡像在向用戶鏡像跳轉(zhuǎn)時打開看門狗定時器,用戶鏡像加載完成后來定時清理看門狗。如果看門狗定時器超時,則FPGA立即返回原始鏡像。

由此可以看出,EPCQ內(nèi)必須要有一個可用的原始鏡像,這樣便能保證FPGA不癱瘓,并隨時可以通過遠程更新功能更新用戶鏡像。因為在遠程更新的過程中可能會出現(xiàn)寫入EPCQ的鏡像不完整或者鏡像不匹配的問題,遠程更新時盡可能不要更新原始鏡像,以保證FPGA免于因為沒有可用的鏡像而導致無法啟動。加載流程如圖3所示。

圖3 加載程序設計流程圖

2.2 更新程序設計流程

當FPGA駐留在原始鏡像時,可以觸發(fā)FPGA的遠程更新。使用Eclipse的命令行工具,通過sof2flash命令將FPGA的sof文件轉(zhuǎn)換成flash格式。

在上位機打開tftp服務器工具,并設置好超時時間和重傳次數(shù)。當?shù)玫较到y(tǒng)的更新請求后,上位機把該文件通過tftp協(xié)議傳輸給Nios II。Nios II的應用程序在接收文件過程中會依據(jù)flash文件的格式進行校驗,接收到完整的flash文件后,再把該文件寫入到EPCQ中。如果傳輸過程中出現(xiàn)錯誤導致校驗失敗或者文件傳輸超時,系統(tǒng)將自動放棄此次更新。更新程序設計流程如圖4所示。

鏡像更新成功后,NiosII的應用程序會向用戶發(fā)送更新成功的消息,何時加載該用戶鏡像則由用戶根據(jù)需要來決定。

圖4 更新程序設計流程圖

3 系統(tǒng)的實現(xiàn)驗證

為了能夠觀察不同鏡像之間的轉(zhuǎn)換,把EPCQ256分成2段,分別存儲原始鏡像和一個用戶鏡像。原始鏡像點亮實驗板前面板藍色LED,用戶鏡像則點亮實驗板前面板黃色LED。

通過Quartus II的JTAG工具將FPGA的原始鏡像和用戶鏡像依次燒錄到EPCQ256中。目標系統(tǒng)重啟上電,板卡前面板藍色LED常亮一段時間后滅掉,同時黃色LED開始點亮,說明原始鏡像在運行不久后便向用戶鏡像跳轉(zhuǎn);當擦除用戶鏡像后,目標系統(tǒng)重啟上電,板卡前面板的藍色LED常亮一斷時間后滅掉,然后再次常亮,而黃色LED始終未亮。說明原始鏡像向用戶鏡像跳轉(zhuǎn)失敗,再次返回并駐留在原始鏡像。智能加載功能已經(jīng)實現(xiàn)。

上位機打開tftp服務器工具和網(wǎng)絡調(diào)試助手并正確設置,發(fā)送ICMP請求給目標系統(tǒng),得到目標系統(tǒng)的ICMP響應,說明此時的網(wǎng)絡是連通的。通過網(wǎng)絡調(diào)試助手向目標系統(tǒng)發(fā)送更新FPGA用戶鏡像命令,目標系統(tǒng)接收后發(fā)送tftp文件下載請求,文件進入傳輸過程,tftp服務器彈出下載進度條。文件傳輸完畢后網(wǎng)絡調(diào)試助手會收到來自目標系統(tǒng)的下載完成消息,而且tftp服務器也會提示文件下載完成。此時重啟目標系統(tǒng)發(fā)現(xiàn)前面板藍色LED常亮一段時間滅掉后,黃色LED開始常亮,現(xiàn)象與用JTAG工具下載用戶鏡像一致。說明遠程更新FPGA鏡像成功。

4 結(jié)束語

實驗表明,整個系統(tǒng)結(jié)構(gòu)簡單,工作可靠。系統(tǒng)利用Nios II內(nèi)嵌處理器配合Remote-Update模塊實現(xiàn)對存儲在EPCQ內(nèi)多個鏡像的選擇性加載,并通過FPGA內(nèi)部實現(xiàn)的SGMII接口連通網(wǎng)絡,從遠端計算機下載新的FPGA鏡像。系統(tǒng)最大的優(yōu)點是結(jié)構(gòu)簡單、可移植性強,便于后期設備的調(diào)試、維護和升級,使用Nios II軟核來控制的FPGA智能加載和遠程更新具有廣闊的應用前景。

[1] 楊金孝,郭德春,張永波,等.基于串口通信的FPGA配置控制方法及實現(xiàn)[J].計算機測量與控制,2011,19(4):848-850.

[2] 徐新民,洪 波.改進的FPP方式FPGA配置電路及其應用[J] .電子技術(shù),2004,31(11):27-29.

[3] 田青峰,盧泳兵,劉志鵬.NIOS在網(wǎng)絡通信系統(tǒng)中的應用[J].無線電工程,2013,43(5):10-12,41.

[4] Triple Speed Ethernet Megacore Function User guide[EB/OL].http:∥ www.altera.com,2008.

[5] Arria V Device Handbook[EB/OL].http:∥www.altera.com,2012.

[6] 李蘭英.Nios II嵌入式軟核-SOPC設計原理及應用[M].北京:北京航空航天大學出版社,2006.

[7] 楊 曄.實時操作系統(tǒng)μC/OS-II下TCP/IP 協(xié)議棧的實現(xiàn)[J].單片機與嵌入式系統(tǒng)應用,2003(7):80-83.

[8] Nios II Processor Reference Handbook[EB/OL].http:∥www.altera.com,2009.

[9] Avalon Interface Specifications[EB/OL].http:∥www.altera.com,2011.

[10]Sgmii Interface Implementatin Using soft-CDR Mode of Stratix iii Devices[EB/OL] .http:∥www.altera.com,2011.

[11]ALTREMOTE-UPDATE Megafunction[EB/OL].http:∥www.altera.com,2013.

[12]Serial Configuration Devices Data Sheet[EB/OL].http:∥www.altera.com,2009.

[13]Quad-Serial Configuration (EPCQ) Devices Datasheet[EB/OL].http:∥www.altera.com,2012.

[14]Cyclone III Active Parallel Remote System Upgrade Reference Design[EB/OL].http:∥www.altera.com,2009.

[15]Remote System Upgrade with Cyclone III Device[EB/OL].http:∥www.altera.com,2009.

An Implementation of FPGA Intelligent Load and Remote Update

JIA Gang

(The 54th Research Institute of CETC,Shijiazhuang Hebei 050081,China)

Due to the volatile nature of FPGA,every time system starts up,it’s required to configure FPGA.In addition,some systems needs to be upgraded to improve the system performance usually after leaving the factory,this requires FPGA’image can be updated at any time.In view of this demand,the article puts forward a new method that FPGA has the function of intelligent load and remote update.The system is developed in SOPC environment,and integrates Nios II,mac,transceiver and Remote-Update ipcore in FPGA chip.No processor or CPLD is required outside FPGA,the FPGA loads and updates the image intelligently and independently.Experimental results show that the method is feasible and the system is stable and reliable.

intelligent load;remote update;SOPC;Nios II

10.3969/j.issn.1003-3114.2017.03.06

賈 鋼.一種FPGA智能加載和遠程更新的實現(xiàn)方法[J].無線電通信技術(shù),2017,43(3):27-29.[JIA Gang.An Implementation of FPGA Intelligent Load and Remote Update [J].Radio Communications Technology,2017,43(3):27-29.]

2016-12-14

國家部委基金資助項目

賈 鋼(1984—), 男,工程師,碩士,主要研究方向:衛(wèi)星移動通信。

TN911

A

1003-3114(2017)03-27-3

猜你喜歡
前面板鏡像處理器
顏值高和散熱強可以并存3款高品質(zhì)機箱推薦
電腦報(2021年21期)2021-08-19 17:22:40
鏡像
當代黨員(2020年20期)2020-11-06 04:17:52
電競潮牌范 航嘉GX520S機箱評測
電腦報(2019年29期)2019-09-10 07:22:44
鏡像
小康(2018年23期)2018-08-23 06:18:52
鏡像
小康(2015年4期)2015-03-31 14:57:40
鏡像
小康(2015年6期)2015-03-26 14:44:27
Imagination的ClearCallTM VoIP應用現(xiàn)可支持Cavium的OCTEON? Ⅲ多核處理器
剛撓印制板在機載設備電子機箱中的結(jié)合與應用
ADI推出新一代SigmaDSP處理器
汽車零部件(2014年1期)2014-09-21 11:41:11
呼嚕處理器
小青蛙報(2014年1期)2014-03-21 21:29:39
多伦县| 宁远县| 清水河县| 南陵县| 郧西县| 四子王旗| 灵台县| 资中县| 天镇县| 奉新县| 兰坪| 新昌县| 红河县| 新竹县| 浮山县| 洞口县| 从化市| 贵港市| 太康县| 漠河县| 栾城县| 岚皋县| 九龙城区| 乐都县| 资源县| 梅州市| 长汀县| 新巴尔虎右旗| 政和县| 新宾| 鹿邑县| 温泉县| 旌德县| 乳源| 平顶山市| 马关县| 南昌市| 南川市| 武宣县| 余姚市| 淳安县|