《電子技術(shù)應(yīng)用》
您所在的位置:首頁 > 模擬設(shè)計(jì) > 設(shè)計(jì)應(yīng)用 > FPGA遠(yuǎn)程配置在遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)中的應(yīng)用
FPGA遠(yuǎn)程配置在遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)中的應(yīng)用
2016年微型機(jī)與應(yīng)用第19期
馮建文,王春
杭州電子科技大學(xué) 計(jì)算機(jī)應(yīng)用所,浙江 杭州 310018
摘要: 介紹了FPGA遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的組成、工作原理以及遠(yuǎn)程配置,著重介紹FPGA遠(yuǎn)程實(shí)驗(yàn)系統(tǒng)的遠(yuǎn)程配置的原理及具體實(shí)現(xiàn),即在ARM微控制器的主導(dǎo)下,通過以太網(wǎng)實(shí)現(xiàn)FPGA配置數(shù)據(jù)的傳輸和下載,然后由ARM作為時(shí)序控制器,通過FPGA的從串(slave serial)配置方式,完成FPGA的遠(yuǎn)程配置。在FPGA配置的同時(shí),通過研究配置管腳輸出的波形,來驗(yàn)證FPGA從串配置模式下的配置原理。
Abstract:
Key words :

  馮建文,王春

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

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

  關(guān)鍵詞:FPGA;遠(yuǎn)程實(shí)驗(yàn)系統(tǒng);遠(yuǎn)程配置;ARM

0引言

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

1FPGA工作原理及配置

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

  FPGA利用小型查找表(16×1 RAM)來實(shí)現(xiàn)組合邏輯,每個(gè)查找表連接到一個(gè)D觸發(fā)器的輸入端,觸發(fā)器再來驅(qū)動(dòng)其他邏輯電路或驅(qū)動(dòng)I/O,由此構(gòu)成了既可實(shí)現(xiàn)組合邏輯功能又可實(shí)現(xiàn)時(shí)序邏輯功能的基本邏輯單元模塊,這些模塊間利用金屬連線互相連接或連接到I/O模塊。在FPGA正常工作時(shí),配置數(shù)據(jù)存儲(chǔ)在SRAM單元中,這個(gè)SRAM單元也被稱為配置存儲(chǔ)器(Configuration RAM)。由于SRAM是易失性的存儲(chǔ)器,因此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ū)動(dòng)器使能等。配置完成后,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)行配置時(shí),由外部控制器主導(dǎo)同步時(shí)鐘輸入,將配置數(shù)據(jù)一位一位地加載進(jìn)FPGA;主從配置模式則是在FPGA內(nèi)部同步時(shí)鐘的作用下,將配置數(shù)據(jù)從外部存儲(chǔ)器按位串行加載到FPGA中;從并模式則是將配置數(shù)據(jù)多位數(shù)據(jù)一起并行輸入;而邊界掃描模式即JTAG配置模式,JTAG模式在開發(fā)調(diào)試階段使用。

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

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

圖像 001.png

  2.1PC客戶端

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

  2.2服務(wù)器端

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

  2.3ARM客戶端

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

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

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

  (3)實(shí)現(xiàn)FPGA動(dòng)態(tài)配置,把配置文件加載到FPGA運(yùn)行。

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

  (5)實(shí)現(xiàn)對(duì)FPGA實(shí)驗(yàn)平臺(tái)上開關(guān)、按鍵的遠(yuǎn)程控制操作。

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

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

  3.1配置文件

  本設(shè)計(jì)所用的FPGA的配置數(shù)據(jù)格式為.bin格式,是由Xilinx的FPGA設(shè)計(jì)工具ISE軟件產(chǎn)生的FPGA配置數(shù)據(jù)的一種格式,也是進(jìn)行Spartan-6系列芯片進(jìn)行從串配置的配置數(shù)據(jù)格式。在PC客戶端可通過Socket編程配置引腳

圖像 002.png

  將文件由網(wǎng)絡(luò)傳送至ARM控制器客戶端。

  3.2配置電路

  Spartan-6配置引腳如圖2所示,各個(gè)引腳的功能如表1所示。表1FPGA配置引腳說明引腳名類型說明M[1:0]輸入模式選擇引腳,決定FPGA的配置模式CCLK輸入/輸出除JTAG配置模式外其他配置模式的同步時(shí)鐘源DIN輸入串行配置數(shù)據(jù)輸入引腳,同步于時(shí)鐘的上升沿DOUT輸出用于菊花鏈配置器件后面的器件配置數(shù)據(jù)的串行輸入DONE輸出高電平表示配置完成,低電平表示配置失敗INIT_B輸入/輸出在配置模式選擇完成前,拉低該引腳電平表示延遲配置;配置模式選擇完成后,該引腳的電平輸出表示配置有無發(fā)生CRC校驗(yàn)錯(cuò)誤:

  0=CRC error

  1=No CRC errorPROGRAM_B輸入低電平輸入使芯片復(fù)位

  3.3配置流程

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

圖像 003.png

圖像 004.png

4實(shí)驗(yàn)結(jié)果分析

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

圖像 005.png

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

圖像 006.png

5結(jié)論

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

  參考文獻(xiàn)

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

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

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

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


此內(nèi)容為AET網(wǎng)站原創(chuàng),未經(jīng)授權(quán)禁止轉(zhuǎn)載。
欧美激情办公室aⅴ_国产欧美综合一区二区三区_欧美午夜精品久久久久免费视_福利视频欧美一区二区三区

          欧美一区二区日韩一区二区| 欧美在线3区| 国产精品福利av| 欧美三级中文字幕在线观看| 久久大逼视频| 黑人巨大精品欧美一区二区| 国产精品人人做人人爽| 国产精品美女久久久久久免费| 欧美激情精品| 欧美国产三区| 欧美精品福利在线| 亚洲欧美日韩专区| 亚洲视频精选| 国内精品一区二区三区| 另类av一区二区| 一本色道久久综合狠狠躁篇怎么玩| 在线观看福利一区| 在线视频观看日韩| 91久久精品国产91性色tv| 最新国产乱人伦偷精品免费网站| 亚洲日本成人网| 一区二区免费在线观看| 亚洲无人区一区| 欧美一区视频在线| 久久一二三四| 欧美日韩精品综合在线| 一区二区三区久久精品| 国产精品自拍三区| 亚洲——在线| 亚洲私人黄色宅男| 亚洲视频香蕉人妖| 亚洲欧美日韩一区二区三区在线| 久久久亚洲高清| 亚洲国产乱码最新视频| 欧美精品国产精品| 欧美日韩一区二区三区四区五区| 欧美性猛交视频| 国产精品久久久久久影院8一贰佰| 国产精品久久久久一区二区| 国产日韩一区欧美| 影音先锋亚洲一区| 日韩午夜在线电影| 国产毛片一区| 欧美精品一区二区三区蜜桃| 欧美日韩精品欧美日韩精品| 国产精品亚洲欧美| 在线观看欧美一区| 一区二区av| 欧美在线视频网站| 美女久久网站| 欧美一区二区福利在线| 久久久99久久精品女同性| 欧美成人午夜77777| 欧美日韩国产天堂| 国产精品网红福利| 在线精品国精品国产尤物884a| 日韩视频一区二区| 影音先锋久久久| 国产精品黄视频| 激情校园亚洲| 国产日韩欧美一二三区| 1000部精品久久久久久久久| 一区二区三区|亚洲午夜| 欧美一区二区视频在线| 欧美成人精品一区二区| 欧美一区二区三区喷汁尤物| 久久久久久伊人| 欧美日产国产成人免费图片| 鲁鲁狠狠狠7777一区二区| 欧美激情影院| 国产午夜精品视频| 99精品欧美一区二区三区| 亚洲精品裸体| 欧美一区激情视频在线观看| 欧美久久久久久| 激情自拍一区| 亚洲——在线| 欧美精品免费在线观看| 欧美大胆人体视频| 国产日韩精品久久久| 99re热精品| 巨乳诱惑日韩免费av| 国产精品色婷婷| 亚洲欧洲综合| 久久天堂精品| 国产亚洲制服色| 亚洲欧美日韩一区二区三区在线| 日韩一级精品| 久久激五月天综合精品| 欧美视频免费在线| 亚洲激情偷拍| 久久久亚洲国产美女国产盗摄| 国产精品每日更新在线播放网址| 亚洲精品乱码久久久久久黑人| 久热精品视频| 黄页网站一区| 欧美一区二区三区四区在线观看 | 在线观看精品视频| 亚洲尤物影院| 欧美视频第二页| 亚洲美女在线国产| 麻豆91精品| 精品51国产黑色丝袜高跟鞋| 欧美中文字幕视频| 欧美在线观看日本一区| 国产精品成人一区二区三区夜夜夜 | 欧美极品影院| 亚洲国产高清aⅴ视频| 午夜精品久久久久久久99樱桃| 国产欧美日韩三区| 亚洲视频欧美在线| 欧美精品亚洲二区| 亚洲国产婷婷| 久久综合久色欧美综合狠狠| 国产午夜精品麻豆| 国产亚洲人成a一在线v站| 一区二区三区国产精品| 欧美猛交免费看| 亚洲精品在线看| 欧美激情一区三区| 91久久久精品| 欧美风情在线观看| 91久久国产综合久久| 欧美成人一区二区| 亚洲激情自拍| 欧美精品成人一区二区在线观看 | 国内精品久久久久伊人av| 欧美在线看片| 一本色道久久88综合日韩精品| 免费不卡欧美自拍视频| 亚洲第一在线综合在线| 亚洲伊人一本大道中文字幕| 欧美www视频| 久久噜噜亚洲综合| 激情久久综艺| 久久这里只有| …久久精品99久久香蕉国产| 美国成人直播| 亚洲麻豆国产自偷在线| 欧美三区在线观看| 亚洲在线一区二区三区| 国产欧美视频在线观看| 欧美日韩一区二区在线观看视频 | 欧美日韩日本视频| 一区二区av在线| 日韩视频中文字幕| 激情国产一区二区| 99国产麻豆精品| 欧美午夜精品久久久久免费视 | 欧美久久电影| 亚洲视屏在线播放| 国产乱码精品一区二区三区五月婷 | 一区在线视频| 久久久久网站| 1769国产精品| 欧美日韩精品三区| 亚洲免费在线观看| 国产在线欧美| 女生裸体视频一区二区三区| 最新日韩在线| 国产精品久久久久久超碰| 久久av在线看| 亚洲乱码日产精品bd| 国产精品一区视频| 欧美一区二区三区四区在线观看地址| 国产综合久久久久久鬼色| 久久综合伊人77777| 亚洲作爱视频| 国内外成人免费激情在线视频网站| 欧美二区在线播放| 亚洲欧美一区二区在线观看| 在线精品亚洲| 国产精品视频自拍| 麻豆国产精品777777在线| 亚洲美女少妇无套啪啪呻吟| 国产精品一区二区久久久久| 久久尤物视频| 亚洲素人在线| 亚洲高清一区二| 国产精品一二三视频| 免费亚洲一区二区| 亚洲欧美成人一区二区在线电影 | 国产精品中文字幕在线观看| 免费观看日韩av| 午夜伦欧美伦电影理论片| 亚洲精品韩国| 国户精品久久久久久久久久久不卡| 欧美另类久久久品| 久久久99爱| 亚洲尤物影院| 亚洲精品九九| 国产一区二区三区在线观看免费视频| 欧美日韩国语| 很黄很黄激情成人| 欧美日韩精品一区二区三区四区| 久久国产欧美| 亚洲在线播放电影| 亚洲毛片在线观看| 影音先锋久久精品| 国产欧美日韩三区|