999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

FPGA遠(yuǎn)程配置在遠(yuǎn)程實驗系統(tǒng)中的應(yīng)用

2016-11-15 03:16:33馮建文
關(guān)鍵詞:實驗系統(tǒng)

馮建文,王 春

(杭州電子科技大學(xué) 計算機應(yīng)用所,浙江 杭州 310018)

?

FPGA遠(yuǎn)程配置在遠(yuǎn)程實驗系統(tǒng)中的應(yīng)用

馮建文,王 春

(杭州電子科技大學(xué) 計算機應(yīng)用所,浙江 杭州 310018)

介紹了FPGA遠(yuǎn)程實驗系統(tǒng)的組成、工作原理以及遠(yuǎn)程配置,著重介紹FPGA遠(yuǎn)程實驗系統(tǒng)的遠(yuǎn)程配置的原理及具體實現(xiàn),即在ARM微控制器的主導(dǎo)下,通過以太網(wǎng)實現(xiàn)FPGA配置數(shù)據(jù)的傳輸和下載,然后由ARM作為時序控制器,通過FPGA的從串(slave serial)配置方式,完成FPGA的遠(yuǎn)程配置。在FPGA配置的同時,通過研究配置管腳輸出的波形,來驗證FPGA從串配置模式下的配置原理。

FPGA;遠(yuǎn)程實驗系統(tǒng);遠(yuǎn)程配置;ARM

0 引言

近年來,使用可編程器件 FPGA/CPLD 和 VHDL 進(jìn)行硬件設(shè)計發(fā)展快速,可編程邏輯器件逐漸取代了傳統(tǒng)通用的中、小規(guī)模集成電路而得到廣泛的應(yīng)用,并且隨著系統(tǒng)的復(fù)雜程度越來越高,借助在電子系統(tǒng)的開發(fā)過程中具有重要作用的EDA(Electronic Design Automation)軟件,使得FPGA 成為數(shù)字邏輯電路設(shè)計、計算機組成原理、嵌入式系統(tǒng)等課程實驗教學(xué)的首選方式[1]。同時隨著嵌入式技術(shù)以及網(wǎng)絡(luò)技術(shù)的發(fā)展,遠(yuǎn)程控制也變得越來越容易實現(xiàn),把遠(yuǎn)程控制技術(shù)引入到FPGA實驗系統(tǒng)中來,利用FPGA可重復(fù)編程的特點,實現(xiàn)FPGA實驗操作遠(yuǎn)程執(zhí)行,從而實現(xiàn)實驗設(shè)備的遠(yuǎn)程共享和實驗設(shè)備的最大利用。

1 FPGA工作原理及配置

現(xiàn)場可編程門陣列(Field Programmable Gate Array,F(xiàn)PGA)是在PAL、GAL、CPLD等可編程器件的基礎(chǔ)上進(jìn)一步發(fā)展的產(chǎn)物。它是作為專用集成電路(ASIC)領(lǐng)域中的一種半定制電路而出現(xiàn)的,既解決了定制電路的不足,又克服了原有可編程器件門電路數(shù)有限的缺點[2]。以硬件描述語言(Verilog或VHDL)所完成的電路設(shè)計,可以經(jīng)過簡單的綜合與布局,快速燒錄至FPGA上進(jìn)行測試,是現(xiàn)代 IC設(shè)計驗證的技術(shù)主流。

FPGA利用小型查找表(16×1 RAM)來實現(xiàn)組合邏輯,每個查找表連接到一個D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動其他邏輯電路或驅(qū)動I/O,由此構(gòu)成了既可實現(xiàn)組合邏輯功能又可實現(xiàn)時序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。在FPGA正常工作時,配置數(shù)據(jù)存儲在SRAM單元中,這個SRAM單元也被稱為配置存儲器(Configuration RAM)。由于SRAM是易失性的存儲器,因此FPGA在上電之后,外部電路需要將配置數(shù)據(jù)重新載入到片內(nèi)的配置RAM中[3]。FPGA的配置過程如下:外部電路將配置數(shù)據(jù)載入片內(nèi)配置RAM中;片內(nèi)配置RAM中的配置數(shù)據(jù)用于控制FPGA內(nèi)部可編程的內(nèi)部邏輯、內(nèi)部寄存器和I/O寄存器初始化、I/O驅(qū)動器使能等。配置完成后,F(xiàn)PGA進(jìn)入用戶模式。在掉電后,F(xiàn)PGA又恢復(fù)成白片,內(nèi)部邏輯關(guān)系消失。

FPGA一般有4種配置模式:從串模式(Slave Serial)、主串模式(Master Serial)、從并模式(Slave Parallel/SelectMap)以及邊界掃描模式(Boundary-Scan)。配置模式的選擇一般由FPGA芯片上配置模式選擇引腳的輸入電平?jīng)Q定[4]。

從串配置模式是指在進(jìn)行配置時,由外部控制器主導(dǎo)同步時鐘輸入,將配置數(shù)據(jù)一位一位地加載進(jìn)FPGA;主從配置模式則是在FPGA內(nèi)部同步時鐘的作用下,將配置數(shù)據(jù)從外部存儲器按位串行加載到FPGA中;從并模式則是將配置數(shù)據(jù)多位數(shù)據(jù)一起并行輸入;而邊界掃描模式即JTAG配置模式,JTAG模式在開發(fā)調(diào)試階段使用。

2 基于ARM的遠(yuǎn)程實驗系統(tǒng)

基于ARM的遠(yuǎn)程實驗系統(tǒng)主要功能是實現(xiàn)遠(yuǎn)程FPGA的實驗操作。用戶通過該系統(tǒng),能夠在PC端登錄該實驗系統(tǒng),進(jìn)行預(yù)約FPGA實驗,同時能夠發(fā)送FPGA控制命令,并且能夠得到實驗結(jié)果信息。系統(tǒng)結(jié)構(gòu)如圖1所示,主要分為3個模塊:PC客戶端、服務(wù)器端和ARM-FPGA模塊。PC客戶端為用戶提供遠(yuǎn)程實驗操作接口,服務(wù)器端則主要負(fù)責(zé)數(shù)據(jù)或命令的發(fā)送和接收,而ARM-FPGA模塊則是進(jìn)行控制和執(zhí)行客戶端發(fā)來的命令,并向服務(wù)器返回實驗結(jié)果。

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

2.1 PC客戶端

客戶端的主要作用是提供用戶操作接口,為用戶提供遠(yuǎn)程操作ARM控制器的界面,方便用戶控制FPGA的配置及相關(guān)的FPGA實驗操作。客戶端的設(shè)計主要采用C/C++編程,采用Socket編程模式進(jìn)行配置數(shù)據(jù)的發(fā)送和配置結(jié)果數(shù)據(jù)的返回。

2.2 服務(wù)器端

服務(wù)器是基于FPGA實驗平臺的遠(yuǎn)程實驗系統(tǒng)的核心,負(fù)責(zé)控制實驗系統(tǒng)的運行。它負(fù)責(zé)FPGA實驗平臺的調(diào)度管理,給實驗用戶(PC客戶端)分配空閑的實驗平臺。并且需要能連接上百個ARM客戶端和PC客戶端,作為兩種客戶端之間的信息中轉(zhuǎn)站。同時,服務(wù)器還負(fù)責(zé)管理數(shù)據(jù)庫,及時進(jìn)行學(xué)生信息、FPGA平臺信息、預(yù)約記錄和實驗記錄等信息的記錄和更新。

2.3 ARM客戶端

ARM客戶端作為系統(tǒng)整體結(jié)構(gòu)中的重要組成部分,是與FPGA實驗平臺進(jìn)行數(shù)據(jù)交互的唯一接口,它主要實現(xiàn)如下功能:

(1)連接服務(wù)器,接收PC客戶端發(fā)來的指令信息,還需接收存儲FPGA配置執(zhí)行文件。

(2)解析指令,調(diào)用程序完成指令。

(3)實現(xiàn)FPGA動態(tài)配置,把配置文件加載到FPGA運行。

(4)連接PC客戶端,實時將FPGA相關(guān)引腳的信息發(fā)送到PC客戶端。

(5)實現(xiàn)對FPGA實驗平臺上開關(guān)、按鍵的遠(yuǎn)程控制操作。

3 FPGA遠(yuǎn)程配置的實現(xiàn)

在本次實驗中,選用ARM9開發(fā)板+FPGA實驗板來完成FPGA遠(yuǎn)程配置的具體實現(xiàn)。其中ARM控制器采用以ARM9為處理器的單片機開發(fā)板。ARM9開發(fā)板支持網(wǎng)絡(luò)接口連接,并且成功地移植了Linux 2.6.30內(nèi)核操作系統(tǒng)以及相應(yīng)的文件系統(tǒng),為Socket網(wǎng)絡(luò)編程和ARM客戶端的軟件實現(xiàn)與執(zhí)行提供了良好的Linux環(huán)境。FPGA則使用為計算機組成原理所設(shè)計的FPGA實驗板卡,該實驗板卡所用的FPGA芯片為Xilinx生產(chǎn)的Spartan-6系列芯片,并將其專用的配置接口引出,方便后續(xù)的實驗操作。

3.1 配置文件

圖2 Spartan-6配置引腳

本設(shè)計所用的FPGA的配置數(shù)據(jù)格式為.bin格式,是由Xilinx的FPGA設(shè)計工具ISE軟件產(chǎn)生的FPGA配置數(shù)據(jù)的一種格式,也是進(jìn)行Spartan-6系列芯片進(jìn)行從串配置的配置數(shù)據(jù)格式。在PC客戶端可通過Socket編程將文件由網(wǎng)絡(luò)傳送至ARM控制器客戶端。

3.2 配置電路

Spartan-6配置引腳如圖2所示,各個引腳的功能如表1所示。

表1 FPGA配置引腳說明

3.3 配置流程

Spartan-6芯片的配置時序如圖3所示,先給PROGRAM_B引腳一個低電平信號,然后再恢復(fù)高電平,檢測INIT_B引腳電平信號,如果其電平信號也隨著PROGRAM_B而變化,則表明FPGA內(nèi)部配置已經(jīng)完成初始化,可以進(jìn)行FPGA配置了。接下來在ARM輸入到FPGA的DCLK引腳的信號的同步下,按位加載配置數(shù)據(jù),直到加載完配置數(shù)據(jù)。當(dāng)檢測到DONE引腳信號變?yōu)楦唠娖綍r,表明FPGA已經(jīng)完成配置,進(jìn)入到工作狀態(tài)了。其配置程序的流程圖如圖4所示。

圖3 Spartan-6配置時序圖

圖4 FPGA配置流程圖

4 實驗結(jié)果分析

實驗時,將FPGA的配置引腳DIN、CCLK、INIT_B、DONE、PROGRAM_B連接到ARM開發(fā)板的I/O引腳上,同時注意ARM開發(fā)板和FPGA實驗板卡要共地,將ARM開發(fā)板接上網(wǎng)線,供電并啟動后,通過PC客戶端進(jìn)行配置文件的傳輸和加載,當(dāng)配置完成后返回客戶端“config done!”則表示配置完成。實驗結(jié)果演示如圖5所示。

圖5 實驗結(jié)果演示

為了得到配置過程中DIN引腳和CCLK引腳的數(shù)據(jù),在程序中進(jìn)行了配置數(shù)據(jù)輸出,并用示波器捕捉到這兩個引腳的輸出波形,如圖6所示。由圖可以看出,在一個配置循環(huán)中,ARM控制器是按字節(jié)進(jìn)行位傳輸?shù)模總€字節(jié)8位數(shù)據(jù),在每輸入一個時鐘過程中,輸入一位配置數(shù)據(jù),直至加載完所有配置數(shù)據(jù),完成FPGA的配置。

圖6 配置輸出波形圖

5 結(jié)論

本設(shè)計中采用兩個獨立模塊的連接來實現(xiàn)總體功能,而且ARM控制器的一些操作命令是通過串口進(jìn)行命令傳輸實現(xiàn)的。在接下來的FPGA遠(yuǎn)程實驗系統(tǒng)中,將完全通過單網(wǎng)線進(jìn)行ARM所有操作命令的實現(xiàn),并且不僅能完成FPGA的遠(yuǎn)程配置,還能完成FPGA的遠(yuǎn)程實驗——遠(yuǎn)端實、近端虛的遠(yuǎn)程FPGA實驗,即在客戶端電腦上完成界面上開關(guān)、按鍵等操作,這些操作命令通過網(wǎng)線傳遞到ARM端,控制FPGA相關(guān)引腳的輸入高低電平,并返回相關(guān)引腳的輸出電平,在客戶端電腦上通過LED或數(shù)碼管來顯示該引腳電平的高低。

[1] 丁偉,肖鐵軍.基于FPGA的通用實驗平臺的設(shè)計與實現(xiàn)[J].無線通信技術(shù),2013,22(4):38-39.

[2] 劉笑嫘,何廣平.FPGA芯片的配置與下載[J].科技信息,2011(15):109-109.

[3] 高闖,吳利華,芳羅,等.一種用于FPGA的可配置存儲器設(shè)計[J].固體電子學(xué)研究與進(jìn)展,2016,36(1):67-67.

[4] 陳曦,沈佐峰.一種可靠的FPGA動態(tài)配置方法及實現(xiàn)[J].通信技術(shù),2012,45(3):105-107.

The application of FPGA remote configuration in remote experiment system

Feng Jianwen,Wang Chun

(The Application Institute of Computer Science,Hangzhou Dianzi University,Hangzhou 310018,China)

This paper introduces the composition,working principle and remote configuration of the remote FPGA experiment system,and especially focus on the principle and concrete implementation of the system.That is under the control of ARM,the transmission and download of the FPGA configuration data is realized via the Ethernet.Then using ARM as timer sequential controller to finish the remote FPGA configuration by slave serial mode.During the configuration,we verify the principle of FPGA in slave serial mode by studying the wave form output from the configure pins.

FPGA; remote experiment system; remote configuration; ARM

TN401

A DOI:10.19358/j.issn.1674-7720.2016.19.028

馮建文,王春.FPGA遠(yuǎn)程配置在遠(yuǎn)程實驗室系統(tǒng)中的應(yīng)用[J].微型機與應(yīng)用,2016,35(19):95-97.

2016-05-12)

馮建文(1971-),女,副教授,主要研究方向:智能控制。

王春(1991-),通信作者,男,碩士研究生,主要研究方向:嵌入式技術(shù)。E-mail:1341289979@qq.com。

猜你喜歡
實驗系統(tǒng)
記一次有趣的實驗
Smartflower POP 一體式光伏系統(tǒng)
微型實驗里看“燃燒”
WJ-700無人機系統(tǒng)
ZC系列無人機遙感系統(tǒng)
北京測繪(2020年12期)2020-12-29 01:33:58
基于PowerPC+FPGA顯示系統(tǒng)
做個怪怪長實驗
半沸制皂系統(tǒng)(下)
連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
NO與NO2相互轉(zhuǎn)化實驗的改進(jìn)
主站蜘蛛池模板: 国产91特黄特色A级毛片| 国产精品免费入口视频| 亚洲精品国偷自产在线91正片| 91精品国产自产91精品资源| 激情综合网激情综合| 欧美 亚洲 日韩 国产| 婷婷综合在线观看丁香| 欧美中文字幕在线播放| 国产成人精品一区二区秒拍1o| 欧美一级大片在线观看| 婷婷激情五月网| 欧美亚洲综合免费精品高清在线观看| 欧美日本一区二区三区免费| 亚洲天堂高清| av在线5g无码天天| av无码久久精品| 高清码无在线看| 亚洲av无码成人专区| 亚洲日韩精品综合在线一区二区| 在线观看热码亚洲av每日更新| 色婷婷在线播放| 国产美女无遮挡免费视频网站| 久久性视频| 九九这里只有精品视频| 国产精品久线在线观看| 综合色88| 国产一区二区色淫影院| 国产欧美日韩专区发布| 亚洲精品动漫在线观看| 欧美午夜在线播放| 精品三级在线| 亚洲人成在线免费观看| 国产毛片不卡| 国内精品九九久久久精品| 国产伦精品一区二区三区视频优播| 精品久久人人爽人人玩人人妻| 欧美在线天堂| 澳门av无码| 国产亚洲视频免费播放| 亚洲精品无码久久毛片波多野吉| 婷婷色丁香综合激情| 波多野结衣中文字幕一区二区| 丁香五月激情图片| 亚洲无码37.| 日韩高清一区 | 欧美特黄一级大黄录像| 婷婷综合缴情亚洲五月伊| 国产午夜人做人免费视频中文 | 亚洲熟女中文字幕男人总站| 日韩毛片在线视频| 狠狠色成人综合首页| 成人国产三级在线播放| 日韩经典精品无码一区二区| 国产成人精品亚洲日本对白优播| 精品视频一区在线观看| 麻豆精品久久久久久久99蜜桃| 毛片久久久| 欧美、日韩、国产综合一区| 成人毛片免费在线观看| 国产精品开放后亚洲| 青青青国产视频手机| 久久亚洲高清国产| 一区二区三区精品视频在线观看| 日韩国产亚洲一区二区在线观看| 国产偷国产偷在线高清| 小13箩利洗澡无码视频免费网站| 国产成人久久综合一区| 亚洲最新在线| 日韩视频精品在线| 中文国产成人久久精品小说| 无码国产偷倩在线播放老年人| 国产成人免费观看在线视频| 国产啪在线| 国产欧美日韩视频怡春院| 美女无遮挡被啪啪到高潮免费| 亚洲中文字幕久久精品无码一区| 婷婷亚洲最大| 国产精品伦视频观看免费| 久久福利网| 国产在线八区| 成人综合久久综合| 无码啪啪精品天堂浪潮av|