亚洲免费av电影一区二区三区,日韩爱爱视频,51精品视频一区二区三区,91视频爱爱,日韩欧美在线播放视频,中文字幕少妇AV,亚洲电影中文字幕,久久久久亚洲av成人网址,久久综合视频网站,国产在线不卡免费播放

        ?

        FPGA遠(yuǎn)程動(dòng)態(tài)重構(gòu)技術(shù)的研究

        2012-07-03 00:23:54孫道讓劉蘊(yùn)紅
        電子技術(shù)應(yīng)用 2012年3期
        關(guān)鍵詞:系統(tǒng)設(shè)計(jì)

        孫道讓,劉蘊(yùn)紅

        (大連理工大學(xué) 電氣工程學(xué)院,遼寧 大連116024)

        隨著現(xiàn)場(chǎng)可編程門陣列的廣泛應(yīng)用,對(duì)其進(jìn)行靈活的重新配置的研究也越來(lái)越多。目前絕大多數(shù)FPGA都是基于查找表 LUT(Look UP Table)的技術(shù),采用 SRAM工藝生產(chǎn)。這種工藝的FPGA有兩層結(jié)構(gòu),上層為配置存儲(chǔ)器,下層是硬件邏輯層。通過(guò)上層配置信息控制硬件層門電路的通斷,改變芯片內(nèi)基本邏輯塊的布線,從而形成特定的功能。這種架構(gòu)為動(dòng)態(tài)重構(gòu)技術(shù)實(shí)現(xiàn)提供了可能。一個(gè)FPGA大型數(shù)字系統(tǒng)總是由很多功能模塊組合而成,這樣各個(gè)系統(tǒng)模塊的激活狀態(tài)就可能在時(shí)間軸上產(chǎn)生分離,時(shí)間上分離的模塊就可以共用一個(gè)硬件邏輯區(qū),根據(jù)需要對(duì)這個(gè)邏輯區(qū)動(dòng)態(tài)地改變配置,實(shí)現(xiàn)不同的功能,這就是局部動(dòng)態(tài)重構(gòu)[1]。FPGA的動(dòng)態(tài)重構(gòu)使其應(yīng)用更加靈活,減少了硬件的資源消耗,縮短了開(kāi)發(fā)周期。但是對(duì)一些特殊場(chǎng)合,如深海數(shù)據(jù)采集或機(jī)器人野外勘探,開(kāi)發(fā)者可以為某個(gè)系統(tǒng)模塊設(shè)計(jì)幾個(gè)功能,設(shè)備在自主運(yùn)行過(guò)程中根據(jù)需要選擇相應(yīng)的配置數(shù)據(jù)進(jìn)行配置。如果遇到特殊環(huán)境,事先設(shè)計(jì)的功能有可能不適合工作要求,需要增加新的功能。在目前硬件進(jìn)化技術(shù)還無(wú)法進(jìn)行實(shí)際應(yīng)用的情況下,本文設(shè)計(jì)了一種遠(yuǎn)程動(dòng)態(tài)重構(gòu)的系統(tǒng)來(lái)解決上述問(wèn)題。

        1 遠(yuǎn)程動(dòng)態(tài)重構(gòu)系統(tǒng)的結(jié)構(gòu)

        遠(yuǎn)程動(dòng)態(tài)重構(gòu)系統(tǒng)有PowerPC處理器和89C54微控制器兩個(gè)核心。VirtexII-Pro FPGA內(nèi)部集成有2個(gè)PowerPC405嵌入式處理器[2],本文系統(tǒng)使用其中一個(gè),實(shí)現(xiàn)對(duì)動(dòng)態(tài)重構(gòu)進(jìn)行控制和調(diào)配。FPGA內(nèi)部用于對(duì)局部重構(gòu)區(qū)域PRR進(jìn)行重新配置的硬件模塊有3個(gè),分別是嵌入式內(nèi)核PowerPC、系統(tǒng)高級(jí)配置環(huán)境System ACE和內(nèi)部配置訪問(wèn)通道ICAP。System ACE是一種在系統(tǒng)編程的高級(jí)配置解決方案,它提供 CF(Compact Flash)、MPU和Test JTAG等多個(gè)接口,本系統(tǒng)采用CF卡作為配置數(shù)據(jù)的來(lái)源,可以更方便地改變和存儲(chǔ)配置數(shù)據(jù)。ICAP的主要作用就是按照特定時(shí)序?qū)⑴渲脭?shù)據(jù)重新配置到 PRR中[3]。

        遠(yuǎn)程數(shù)據(jù)傳輸通過(guò)外接控制器89C54完成,一方面控制器要通過(guò)UART接口接收GSM模塊TC35傳來(lái)的數(shù)據(jù);另一方面要把接收到的配置數(shù)據(jù)寫入CF卡中,以供FPGA系統(tǒng)讀取。

        System ACE和89C54控制器共用CF卡的控制接口。為避免互相影響,本系使用多路復(fù)用器將CF卡端口做分時(shí)復(fù)用處理,即配置過(guò)程中與System ACE連接,而數(shù)據(jù)傳輸存儲(chǔ)過(guò)程中與89C54進(jìn)行連接。遠(yuǎn)程動(dòng)態(tài)重構(gòu)系統(tǒng)結(jié)構(gòu)如圖1所示。

        2 遠(yuǎn)程動(dòng)態(tài)重構(gòu)的本地準(zhǔn)備

        以機(jī)械手臂的控制為例,采用PID控制、模糊控制和備用三種控制方案,每個(gè)控制算法經(jīng)過(guò)驗(yàn)證綜合生成獨(dú)立的bit流模塊。這三個(gè)模塊共用一個(gè)可重構(gòu)的區(qū)域PRregion,根據(jù)具體情況,選用最適合的算法模塊,動(dòng)態(tài)地配置重構(gòu)區(qū)域來(lái)控制機(jī)械手臂,其他靜態(tài)邏輯區(qū)域則仍然正常運(yùn)行。這樣不僅提高了系統(tǒng)的靈活性,而且節(jié)省了配置時(shí)間、減少了不必要的消耗。FPGA的設(shè)計(jì)流程一般包括設(shè)計(jì)、仿真、綜合、實(shí)現(xiàn)過(guò)程,本文根據(jù)系統(tǒng)自身結(jié)構(gòu)提出如圖2所示的設(shè)計(jì)流程。

        FPGA重構(gòu)系統(tǒng)綜合使用EDK(Embedded Development Kit)、ISE和PlanAhead多種工具平臺(tái),采用分層化設(shè)計(jì),以簡(jiǎn)化設(shè)計(jì)過(guò)程。其過(guò)程如下:

        (1)利用嵌入式開(kāi)發(fā)工具EDK設(shè)計(jì)一個(gè)基于PowerPC405的嵌入式控制系統(tǒng)[4],添加 SystemACE_Compact-Flash外設(shè)以支持從CF卡配置FPGA;添加IP核opb_hwicap以支持嵌入式內(nèi)核通過(guò)ICAP讀取配置數(shù)據(jù)動(dòng)態(tài)地配置FPGA。

        (2)EDK包含有軟件開(kāi)發(fā)工具SDK,因此利用SDK對(duì)PowerPC405進(jìn)行軟件編程和調(diào)試,最終生成應(yīng)用程序二進(jìn)制executable.elf文件;利用EDK外設(shè)創(chuàng)建向?qū)?,?chuàng)建多個(gè)控制算法IP模塊,在各自的VHDL文件中編寫相應(yīng)的算法;使用ISE工具對(duì)多個(gè)算法模塊進(jìn)行綜合、創(chuàng)建頂層模塊、實(shí)例化嵌入式系統(tǒng)和算法模塊。綜合產(chǎn)生top網(wǎng)表文件。

        (3)創(chuàng)建PlanAhead工程,使用以上產(chǎn)生的網(wǎng)表文件和約束文件進(jìn)行布局布線。其中最重要的是將算法模塊設(shè)置為可重構(gòu)模塊,對(duì)其進(jìn)行嚴(yán)格的區(qū)域約束[5],其約束代碼如下:

        AREA_GROUP"AL_PRregion"RANGE=SLICE_(minX)(minY):SLICE_(maxX)(maxY)

        AREA_GROUP "AL_PRregion" RANGE = RAMB16_(minX)(minY):RAMB16(maxX)(maxY)

        在PlanAhead工具中可以通過(guò)可視化方法進(jìn)行區(qū)域約束,既直觀又簡(jiǎn)單??芍貥?gòu)模塊在運(yùn)行過(guò)程中如果需要實(shí)現(xiàn)不同的控制算法,則需要在重構(gòu)區(qū)中添加所有算法模塊綜合生成的網(wǎng)表文件、使用PR Assemble命令生成多個(gè)不同的算法bit流文件。除了動(dòng)態(tài)bit流文件外,PlanAhead還會(huì)產(chǎn)生一個(gè)靜態(tài)完整的bit流文件static_full.bit??蓤?zhí)行以下兩個(gè)命令生成ace配置文件:

        (1)data2mem -bm implementation/system_stub_bd-bt implementation/static_full.bit-bd TestApp/executable.elf tag ppc310_0–o b implementation/static.bit。

        (2)xmd -tcl genace.tcl-jprog-target ppc_hw -hw implementation/static.bit-elf TestApp/executable.elf-board ml310-ace system.ace。

        3 遠(yuǎn)程動(dòng)態(tài)重構(gòu)的實(shí)現(xiàn)

        經(jīng)過(guò)動(dòng)態(tài)重構(gòu)本地準(zhǔn)備之后,得到如表1所示的CF卡配置文件列表。設(shè)置保留模塊,是為了給新的控制算法保留一個(gè)接口(以一個(gè)空文件存儲(chǔ)在CF卡中)。

        表1 CF卡配置文件列表

        傳統(tǒng)的本地重構(gòu)設(shè)計(jì)完成后,針對(duì)重構(gòu)區(qū)域會(huì)得到幾個(gè)不同的配置文件,如針對(duì)機(jī)械臂控制算法重構(gòu)區(qū)得到兩個(gè)初期設(shè)計(jì)的控制算法配置文件。在實(shí)際運(yùn)行過(guò)程中,有些環(huán)境只需PID控制就可滿足要求,而有些環(huán)境采用模糊控制更合適。如果采用這兩種控制方法都不能滿足工作要求時(shí),必然要對(duì)初期設(shè)計(jì)進(jìn)行升級(jí),對(duì)復(fù)雜危險(xiǎn)的工作現(xiàn)場(chǎng)進(jìn)行遠(yuǎn)程動(dòng)態(tài)重構(gòu)。

        本文提出的設(shè)計(jì)方法是:GSM模塊作為遠(yuǎn)程數(shù)據(jù)傳輸工具,與89C54單片機(jī)通過(guò)UART端口連接,單片機(jī)接收到一個(gè)扇區(qū)512 B的數(shù)據(jù)寫入CF卡reserved.bit文件中。GSM模塊采用西門子公司的TC35模塊,它支持AT指令,由89C54發(fā)送AT指令A(yù)SCI碼對(duì)TC35進(jìn)行控制[5]。本設(shè)計(jì)主要涉及到的AT指令如表2所示,TC35以串行模式與89C54進(jìn)行通信。

        表2 主要的AT指令表

        CF卡必須格式化成FAT16格式才能用于FPGA的配置文件存儲(chǔ)。FAT格式磁盤必須一次性對(duì)一個(gè)扇區(qū)進(jìn)行操作,所以單片機(jī)必須從TC35接收滿512 B的數(shù)據(jù)才可以對(duì)CF卡進(jìn)行寫操作。FPGA配置完成之后CF卡處于閑置狀態(tài),通過(guò)多路復(fù)用器將CF卡與外接控制器連接以完成對(duì).bit文件的讀寫操作。單片機(jī)對(duì)CF卡進(jìn)行操作本質(zhì)就是對(duì)FAT文件系統(tǒng)的讀寫。

        FAT格式磁盤的邏輯分區(qū)依次為:引導(dǎo)扇區(qū)、文件分配表(FAT1和 FAT2)、文件目錄區(qū)(FDT)和數(shù)據(jù)區(qū)[6]。引導(dǎo)扇區(qū)用于存儲(chǔ)引導(dǎo)程序和磁盤信息,外界訪問(wèn)CF卡都要經(jīng)過(guò)引導(dǎo)區(qū)的識(shí)別驗(yàn)證;FAT是給每個(gè)文件分配磁盤物理空間的表格,數(shù)據(jù)區(qū)的劃分單元為簇,一個(gè)簇包括64個(gè)扇區(qū),F(xiàn)AT表正是為每個(gè)文件構(gòu)造一個(gè)簇鏈表;文件目錄區(qū)是尋找文件的入口,其內(nèi)容是每個(gè)文件的目錄信息;在文件目錄之后的扇區(qū)都是以簇為單位進(jìn)行數(shù)據(jù)存儲(chǔ),這就是數(shù)據(jù)區(qū)。

        CF卡與89C54接口配置關(guān)系如圖3所示,單片機(jī)使用TrueIDE模式對(duì)CF卡進(jìn)行讀寫,采用邏輯塊LAB(Logical Block Addressing)方式進(jìn)行尋址。

        CF卡寫一個(gè)扇區(qū)(讀扇區(qū)基本相似,限于篇幅不列出)的代碼如下:

        Write_Sectors:mov R2,#1;一次寫一個(gè)扇區(qū)

        mov R3,#0Ah;假設(shè) LBA為 000000Ah

        mov R4,#0

        mov R5,#0 mov R6,#0

        mov R7,#WriteSctr

        acall Function;將參數(shù)寫入CF控制寄存器

        acall WaitDRQ ;等待數(shù)據(jù)請(qǐng)求

        acall Write512

        ret

        Write512:mov R0,#high(data);取數(shù)據(jù)高地址

        mov R1,#low(data);取數(shù)據(jù)低地址

        mov R7,#2;512 B=2*256

        mov R6,#0;256 B

        write: mov dph,R0;獲取地址

        mov dpl,R1

        clr a

        movca,@a+dptr;獲取一個(gè)數(shù)據(jù)

        inc dptr;指向下一個(gè)數(shù)據(jù)

        movR0,dph;保存地址

        movR1,dpl

        movDPTR,#Data_Reg;到 CF數(shù)據(jù)寄存器

        movx@dptr,a;向 CF卡寫一個(gè)數(shù)據(jù)

        djnzR6,write

        djnzR7,write;將 512 B的數(shù)據(jù)全部寫入CF卡

        ret

        圖4 遠(yuǎn)程動(dòng)態(tài)重構(gòu)流程圖

        遠(yuǎn)程動(dòng)態(tài)重構(gòu)的流程如圖4所示?,F(xiàn)場(chǎng)TC35接收到新短信數(shù)據(jù)時(shí)會(huì)有觸發(fā)信號(hào)發(fā)送給89C54單片機(jī),單片機(jī)開(kāi)始讀取TC35Flash數(shù)據(jù)。在對(duì)CF卡進(jìn)行寫操作之前,首先要讀取reserved.bit文件的首簇號(hào);讀取CF卡文件目錄表 FDT,得到 reserved.bit的信息,其中偏移地址為1Ah~1Bh,所存儲(chǔ)的2 B為文件首簇號(hào),而接下來(lái) 4 B代表文件大小。由文件首簇號(hào)在FAT表中找到文件入口,然后跟蹤簇鏈至簇尾(0XFFFF),按照LAB尋址方式將數(shù)據(jù)按扇區(qū)寫入CF卡數(shù)據(jù)區(qū),邏輯扇區(qū)號(hào)LBA可由簇號(hào)按公式“LBA=(簇號(hào)-2)×64+513”計(jì)算得到。如果文件數(shù)據(jù)量比舊文件多,則在FAT中增加鏈表,直至把數(shù)據(jù)存儲(chǔ)完畢;如果文件較小,則將原文件剩余FAT簇鏈都寫入0x0000,以釋放空間。對(duì)CF卡的寫操作則不對(duì)其他區(qū)域進(jìn)行更改。

        CF卡數(shù)據(jù)更新完畢后,接通CF卡與SystemACE控制器之間的多路復(fù)用器,對(duì)控制算法重構(gòu)區(qū)進(jìn)行局部動(dòng)態(tài)配置,配置過(guò)程中不對(duì)其他邏輯區(qū)域的運(yùn)行造成影響。

        遠(yuǎn)程動(dòng)態(tài)重構(gòu)結(jié)合了FPGA局部動(dòng)態(tài)重構(gòu)和GSM無(wú)線數(shù)據(jù)傳輸?shù)膬?yōu)勢(shì),對(duì)用在野外勘測(cè)的機(jī)器人和數(shù)據(jù)采集處理系統(tǒng)有很高的應(yīng)用價(jià)值,允許設(shè)計(jì)人員根據(jù)系統(tǒng)運(yùn)作情況實(shí)時(shí)地改變機(jī)器人的控制算法或數(shù)據(jù)處理算法,使其更加適合工作環(huán)境,既方便了設(shè)計(jì)人員對(duì)遠(yuǎn)程設(shè)備的配置升級(jí),又節(jié)省了大量人力物力。今后該方案將計(jì)算機(jī)與FPGA硬件平臺(tái)連接,可以為硬件的外部進(jìn)化遠(yuǎn)程下載染色體到硬件平臺(tái)提供有效途徑。

        [1]潘興武,呂志強(qiáng).基于可穿戴計(jì)算機(jī)的動(dòng)態(tài)重構(gòu)硬件模塊設(shè)計(jì)[J].電子科技大學(xué)學(xué)報(bào),2010,39:50-53.

        [2]Xilinx Inc.Virtex-II Pro and Virtex-II Pro X FPGA user guide[EB/OL].http://www.xilinx.com/support,2007-05-11.

        [3]Xilinx Inc.Early access partial reconfiguration user guide[EB/OL].http://www.xilinx.com/,2010-05-10.

        [4]楊浩強(qiáng).基于 EDK的 FPGA嵌入式系統(tǒng)開(kāi)發(fā)[M].北京:機(jī)械工業(yè)出版社,2008.

        [5]孫丘偉,余臻.基于GSM的短信報(bào)警收發(fā)平臺(tái)設(shè)計(jì)[J].福州大學(xué)學(xué)報(bào)(自然科學(xué)版),2008,36:44-48.

        [6]翟亞?wèn)|,史忠科.基于CF卡的飛行試驗(yàn)數(shù)據(jù)記錄器的設(shè)計(jì)[J].計(jì) 算 機(jī) 測(cè) 量 與 控 制 ,2006,14(10):1384-1386.

        猜你喜歡
        系統(tǒng)設(shè)計(jì)
        Smartflower POP 一體式光伏系統(tǒng)
        WJ-700無(wú)人機(jī)系統(tǒng)
        ZC系列無(wú)人機(jī)遙感系統(tǒng)
        何為設(shè)計(jì)的守護(hù)之道?
        《豐收的喜悅展示設(shè)計(jì)》
        流行色(2020年1期)2020-04-28 11:16:38
        基于PowerPC+FPGA顯示系統(tǒng)
        半沸制皂系統(tǒng)(下)
        瞞天過(guò)?!律O(shè)計(jì)萌到家
        連通與提升系統(tǒng)的最后一塊拼圖 Audiolab 傲立 M-DAC mini
        設(shè)計(jì)秀
        海峽姐妹(2017年7期)2017-07-31 19:08:17
        日韩成人大屁股内射喷水| 日本韩国三级在线观看| 亚洲女同恋av中文一区二区 | 日本真人做人试看60分钟| 少妇被粗大的猛进69视频| 欧美洲精品亚洲精品中文字幕| 蓝蓝的天空,白白的云| 一本久道综合色婷婷五月| 午夜男女爽爽爽在线视频| 国产精品情侣露脸av在线播放| 丰满少妇av一区二区三区 | 久久中文精品无码中文字幕| 26uuu在线亚洲欧美| 中文字幕久区久久中文字幕| 久久亚洲av成人无码国产| 夜夜躁日日躁狠狠久久av| 一区二区在线观看日本免费| 亚洲欧美偷拍视频| 亚洲成在人线av品善网好看| 乳乱中文字幕熟女熟妇| 精品国产免费久久久久久| 国产精品亚洲一区二区在线观看 | 狠狠色丁香久久婷婷综合蜜芽五月 | 99精品热6080yy久久| 内射无码专区久久亚洲| 不卡视频一区二区三区| 人妻精品久久久一区二区| 久久人人爽人人爽人人片av高请| 无套内射蜜桃小视频| 亚洲AⅤ男人的天堂在线观看| 国产人妖伦理视频在线观看| 中文无码成人免费视频在线观看| 国产一区二区三区四区五区vm| 精品中文字幕手机在线| 亚洲一区二区三区,日本| 国产97色在线 | 亚洲| 在线视频青青草猎艳自拍69| 在线视频观看一区二区| 日本特黄特色特爽大片| 亚洲综合AV在线在线播放| 中文字幕久久国产精品|