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

?

嵌入式可重構(gòu)信號處理計算機(jī)設(shè)計技術(shù)

2020-11-17 06:56:10劉婷婷
計算機(jī)工程與設(shè)計 2020年11期
關(guān)鍵詞:信號處理嵌入式重構(gòu)

趙 謙,鄧 豹,劉婷婷

(中國航空工業(yè)集團(tuán)公司 西安航空計算技術(shù)研究所,陜西 西安 710068)

0 引 言

動態(tài)可重構(gòu)技術(shù)可以實現(xiàn)硬件資源的分時復(fù)用,能夠有效地解決嵌入式系統(tǒng)的小型化、低功耗、高可靠等問題,如何將動態(tài)可重構(gòu)技術(shù)應(yīng)用到嵌入式計算機(jī)中成為目前研究的熱點。文獻(xiàn)[1]討論了動態(tài)可重構(gòu)技術(shù)如何滿足實時系統(tǒng)中的最壞執(zhí)行時間;文獻(xiàn)[2,3]討論了利用動態(tài)可重構(gòu)技術(shù)提高計算系統(tǒng)的容錯能力;文獻(xiàn)[4]討論了一種動態(tài)可重構(gòu)系統(tǒng)的仿真工具,用于提高可重構(gòu)計算系統(tǒng)的設(shè)計探索能力。隨著嵌入式SOC技術(shù)的發(fā)展,動態(tài)可重構(gòu)技術(shù)在嵌入式系統(tǒng)中的應(yīng)用更加廣泛。文獻(xiàn)[5]利用動態(tài)可重構(gòu)技術(shù)減少可穿戴設(shè)備的SWaP;文獻(xiàn)[6]將動態(tài)可重構(gòu)技術(shù)應(yīng)用到無人機(jī)機(jī)載信號處理平臺中。但是,目前尚缺少對嵌入式動態(tài)可重構(gòu)計算機(jī)的體系架構(gòu)和控制方法的系統(tǒng)研究。因此,本文在研究動態(tài)可重構(gòu)技術(shù)的基礎(chǔ)上,提出一種可重構(gòu)信號處理計算機(jī)系統(tǒng)架構(gòu),在原型系統(tǒng)上討論計算機(jī)系統(tǒng)的重構(gòu)方式和控制方法,并對其功能、性能進(jìn)行驗證分析。

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

1.1 動態(tài)可重構(gòu)技術(shù)

動態(tài)可重構(gòu)技術(shù)包括兩種典型的實現(xiàn)方法:部分可重構(gòu)和軟件可編程重構(gòu),本文基于部分可重構(gòu)方法討論嵌入式信號處理計算機(jī)的設(shè)計方法。Xilinx公司推出的Zynq UltraScale+等系列FPGA,提供了部分可重構(gòu)的控制接口,為動態(tài)可重構(gòu)技術(shù)的實現(xiàn)提供了可能。Xilinx公司在FPGA芯片中提供了一個ICAP(internal configuration access port)內(nèi)部配置接口,該接口允許用戶控制和回讀配置文件,以此來完成對FPGA中部分邏輯區(qū)域的動態(tài)重構(gòu)。同時,Xilinx公司XC5系列以后的FPGA,允許用戶通過IP重用技術(shù)快速地構(gòu)建嵌入式SOC系統(tǒng),以此實現(xiàn)嵌入式信號處理計算機(jī)的快速開發(fā)。圖1為典型的FPGA動態(tài)可重構(gòu)結(jié)構(gòu)圖,F(xiàn)PGA上構(gòu)建嵌入式SOC用于控制管理,靜態(tài)區(qū)域?qū)崿F(xiàn)公共的通用算法,可重構(gòu)區(qū)域?qū)崿F(xiàn)定制的專用算法,專用算法通過動態(tài)可重構(gòu)技術(shù)分時共享可重構(gòu)區(qū)域的硬件資源。FPGA可以有多個可重構(gòu)區(qū)域,每個可重構(gòu)區(qū)域可以被多個專用算法分時復(fù)用。嵌入式信號處理計算機(jī)中使用動態(tài)可重構(gòu)技術(shù)可以提高系統(tǒng)的靈活性和可擴(kuò)展性,有助于實現(xiàn)硬件資源的優(yōu)化配置。

圖1 典型的FPGA動態(tài)可重構(gòu)結(jié)構(gòu)

1.2 可重構(gòu)信號處理計算機(jī)系統(tǒng)架構(gòu)

本文結(jié)合動態(tài)可重構(gòu)技術(shù)、高速串行交換技術(shù)、嵌入式SOC技術(shù)以及多核技術(shù),提出一種可重構(gòu)信號處理計算機(jī)系統(tǒng)架構(gòu)[7],如圖2所示,使用多核DSP和FPGA兩種計算單元:其中DSP為系統(tǒng)提供高效能的數(shù)字信號處理能力;FPGA配置嵌入式SOC系統(tǒng)和動態(tài)可重構(gòu)區(qū)域,為系統(tǒng)提供簡單的通用處理能力和可重構(gòu)能力,嵌入式SOC系統(tǒng)控制ICAP接口,實現(xiàn)對可重構(gòu)區(qū)域中硬件任務(wù)的實時加載??芍貥?gòu)信號處理計算機(jī)系統(tǒng)架構(gòu)采用SRIO作為主要的內(nèi)部互連網(wǎng)絡(luò),通過RapidIO交換芯片實現(xiàn)DSP與FPGA之間的通信互連。同時,DSP與FPGA之間也采用其它方式互連,如PCIE、以太網(wǎng)、I2C總線等,用于系統(tǒng)的輔助通信,以增加系統(tǒng)的靈活性。RapidIO交換芯片配備配置管理器,可由CPU、單片機(jī)、CPLD等實現(xiàn),用于交換網(wǎng)絡(luò)的監(jiān)控、管理。

圖2 可重構(gòu)信號處理計算機(jī)系統(tǒng)架構(gòu)

2 設(shè)計技術(shù)

2.1 原型系統(tǒng)

根據(jù)可重構(gòu)信號處理計算機(jī)系統(tǒng)架構(gòu)實現(xiàn)可重構(gòu)信號處理計算機(jī)原型系統(tǒng),如圖3所示,原型系統(tǒng)由信號處理節(jié)點和可重構(gòu)計算節(jié)點組成,兩者間通過SRIO交換網(wǎng)絡(luò)和I2C總線互連,SRIO交換網(wǎng)絡(luò)用于任務(wù)數(shù)據(jù)的傳輸[8],I2C總線用于控制命令和工作狀態(tài)的傳輸。原型系統(tǒng)中的應(yīng)用任務(wù)被劃分為通用處理任務(wù)和可重構(gòu)計算任務(wù),可重構(gòu)計算任務(wù)主要是信號處理應(yīng)用中的特殊功能和專用算法。信號處理節(jié)點主要執(zhí)行通用處理任務(wù),并向可重構(gòu)計算節(jié)點分配可重構(gòu)計算任務(wù)。可重構(gòu)計算節(jié)點主要執(zhí)行定制的專用計算任務(wù),根據(jù)信號處理節(jié)點的重構(gòu)命令,實時地加載相應(yīng)的配置位流來改變硬件功能,實現(xiàn)硬件專用算法的動態(tài)配置,在發(fā)揮硬件加速優(yōu)勢的同時實現(xiàn)軟硬件算法的統(tǒng)一調(diào)度。原型系統(tǒng)中信號處理節(jié)點選用TI的TMS320C6678[9]作為主處理器件,可重構(gòu)計算節(jié)點選用Xilinx的XC7K325T[10]作為主處理器件。

信號處理節(jié)點中多核DSP上執(zhí)行信號處理應(yīng)用的主程序,可重構(gòu)計算節(jié)點作為協(xié)處理器和加速單元執(zhí)行專用算法。一般的處理流程中,信號處理節(jié)點通過I2C通信接口向可重構(gòu)計算節(jié)點發(fā)送專用算法的重構(gòu)命令,并通過SRIO通信接口將相應(yīng)的任務(wù)數(shù)據(jù)傳輸?shù)娇芍貥?gòu)計算節(jié)點??芍貥?gòu)計算節(jié)點接收到命令后,完成專用算法的調(diào)度、配置和執(zhí)行,通過SRIO通信接口返回處理結(jié)果,并通過I2C通信接口上報節(jié)點狀態(tài)和任務(wù)執(zhí)行情況??芍貥?gòu)計算節(jié)點中構(gòu)建的嵌入式SOC系統(tǒng),包括MicroBlaze處理器、存儲器控制器、SRIO接口、ICAP接口等,以提供通用的控制處理功能,用于執(zhí)行系統(tǒng)監(jiān)控、計算控制、重構(gòu)控制和數(shù)據(jù)交換等功能單元。系統(tǒng)監(jiān)控功能單元用于監(jiān)控本地計算功能單元的執(zhí)行狀態(tài)與重配置狀態(tài)。計算控制功能單元根據(jù)通信接口傳遞的計算任務(wù)發(fā)起響應(yīng),并結(jié)合系統(tǒng)監(jiān)控情況,以確定在可重構(gòu)區(qū)域加載相應(yīng)的功能單元。

2.2 重構(gòu)方式

原型系統(tǒng)支持兩種重構(gòu)方式:自重構(gòu)方式和被重構(gòu)方式,如圖4所示,自重構(gòu)方式由可重構(gòu)計算節(jié)點上的嵌入式SOC完成重構(gòu)任務(wù)的調(diào)度,重構(gòu)任務(wù)的配置位流存儲在可重構(gòu)計算節(jié)點本地,通過本地存儲接口實現(xiàn)重構(gòu)任務(wù)的加載;被重構(gòu)方式由信號處理節(jié)點中的多核DSP或者嵌入式信號處理計算機(jī)外部互連的其它處理器完成重構(gòu)任務(wù)的調(diào)度,重構(gòu)任務(wù)的配置位流存儲在可重構(gòu)計算節(jié)點外部的存儲體中,通過互連總線實現(xiàn)重構(gòu)任務(wù)的加載。兩種重構(gòu)方式中,最終均由ICAP接口實現(xiàn)可重構(gòu)區(qū)域任務(wù)的重加載。原型系統(tǒng)中,自重構(gòu)方式用于實現(xiàn)本地專用計算功能的動態(tài)重配置,被重構(gòu)方式用于實現(xiàn)系統(tǒng)功能重構(gòu)或者任務(wù)故障遷移時其它計算功能的動態(tài)重配置。本地專用計算功能的配置位流存放在FPGA的PROM中,可通過EMC控制器實現(xiàn)加載,系統(tǒng)功能重構(gòu)或任務(wù)故障遷移時的配置位流存放在DSP的FLASH或者外部控制節(jié)點的存儲器中,通過SRIO接口實現(xiàn)加載。一般地,可重構(gòu)計算節(jié)點的嵌入式SOC系統(tǒng)根據(jù)信號處理節(jié)點的重構(gòu)命令或者規(guī)劃的配置藍(lán)圖,采用自重構(gòu)方式實現(xiàn)可重構(gòu)區(qū)域任務(wù)的動態(tài)重加載。信號處理節(jié)點的DSP或者外部處理器根據(jù)系統(tǒng)的重構(gòu)命令或者故障遷移策略,采用被重構(gòu)方式實現(xiàn)可重構(gòu)區(qū)域的動態(tài)重加載。

圖4 原型系統(tǒng)的重構(gòu)方式

2.3 控制方法

原型系統(tǒng)中任務(wù)重構(gòu)的控制管理流程,如圖5(a)所示,主要分為4個階段:命令解析階段,信號處理節(jié)點或嵌入式SOC系統(tǒng)接收重構(gòu)命令,并解析重構(gòu)命令、識別重構(gòu)任務(wù);重配置階段,根據(jù)命令讀取相應(yīng)的位流文件頭部,解析位流頭部獲取位流文件的長度以及初始地址,并控制ICAP控制器實現(xiàn)位流的加載;任務(wù)執(zhí)行階段,初始化重構(gòu)的功能單元,并執(zhí)行功能任務(wù);狀態(tài)反饋階段,監(jiān)控功能任務(wù)的執(zhí)行狀態(tài),根據(jù)重構(gòu)功能任務(wù)的執(zhí)行情況,向應(yīng)用程序反饋相應(yīng)的執(zhí)行狀態(tài)。

圖5 控制方法

圖5(b)和圖5(c)詳細(xì)定義了原型系統(tǒng)的重構(gòu)命令,可以實現(xiàn)任務(wù)的動態(tài)重構(gòu)、位流校驗、功能任務(wù)狀態(tài)獲取等。重構(gòu)命令由Start、Command、Reconfig和Stop這4部分組成:Start和Stop標(biāo)識重構(gòu)命令的開始和結(jié)束;Command標(biāo)識命令的任務(wù)內(nèi)容,圖5(c)中定義了6種命令和7種狀態(tài),并可支持16種命令和16種狀態(tài)的擴(kuò)展;Reconfig可以有多個,標(biāo)識不同重構(gòu)區(qū)域?qū)?yīng)的功能任務(wù)??芍貥?gòu)計算節(jié)點接收到讀取狀態(tài)命令時,通過上報狀態(tài)命令回復(fù)相應(yīng)區(qū)域的任務(wù)狀態(tài),上報狀態(tài)命令中任務(wù)號的 4 bit 編碼表示當(dāng)前區(qū)域的狀態(tài)碼。

3 功能驗證

在原型系統(tǒng)中采用自重構(gòu)方式,實現(xiàn)中值濾波和均值濾波信號處理算法的動態(tài)重構(gòu)。中值濾波[8],它是典型的非線性信號處理技術(shù),對消除椒鹽噪聲非常有效;均值濾波[9],它是典型的線性信號處理技術(shù),對消除高斯噪聲非常有效。原型系統(tǒng)驗證如圖6所示,DSP信號處理節(jié)點接收高斯噪聲圖像時,信號處理節(jié)點通過I2C接口向可重構(gòu)計算節(jié)點發(fā)送自重構(gòu)加載均值濾波算法的命令,可重構(gòu)計算節(jié)點的嵌入式SOC系統(tǒng)接收到命令后,加載并初始化均值濾波算法,最后可重構(gòu)區(qū)域中運(yùn)行均值濾波位流完成高斯噪聲圖像的處理,并送VGA接口顯示。同樣,DSP信號處理節(jié)點接收椒鹽噪聲圖像時,發(fā)送加載中值濾波算法的命令,可重構(gòu)計算節(jié)點完成中值濾波算法重構(gòu),并實現(xiàn)椒鹽噪聲圖像的濾波處理,最后送VGA接口顯示。當(dāng)可重構(gòu)區(qū)域沒有重構(gòu)任務(wù)時,可以在該區(qū)域加載空位流,可以有效降低可重構(gòu)計算節(jié)點的功耗。

圖6 原型系統(tǒng)的實驗驗證

4 性能評估

強(qiáng)實時的嵌入式信號處理計算機(jī)中引入動態(tài)可重構(gòu)技術(shù),在提高硬件資源利用率的同時,還需要考慮系統(tǒng)的實時性要求。

4.1 實時性

可重構(gòu)信號處理計算機(jī)中,多個硬件任務(wù)分時共享同一個可重構(gòu)區(qū)域,在系統(tǒng)運(yùn)行時可進(jìn)行硬件任務(wù)的動態(tài)切換。但是,在強(qiáng)實時嵌入式信號處理系統(tǒng)中,一般的軟件任務(wù)切換時間為數(shù)10 μs,而使用動態(tài)可重構(gòu)的方法進(jìn)行硬件任務(wù)切換時,切換時間為數(shù)10 ms。在可重構(gòu)信號處理計算機(jī)中需要減小硬件任務(wù)切換時間,以保證滿足系統(tǒng)的實時性要求。硬件任務(wù)的切換時間包括任務(wù)調(diào)度時間、動態(tài)重構(gòu)時間和任務(wù)初始化時間,其中硬件任務(wù)切換的時間開銷主要用于實現(xiàn)任務(wù)的動態(tài)重構(gòu),硬件任務(wù)的調(diào)度時間、初始化時間和軟件任務(wù)的時間開銷一致,所以減小硬件任務(wù)的動態(tài)重構(gòu)時間是提高可重構(gòu)信號處理計算機(jī)實時性的主要途徑。

一般地,可以通過縮小配置文件的規(guī)模和提高配置帶寬來縮短硬件任務(wù)的重構(gòu)時間。在可重構(gòu)硬件任務(wù)的設(shè)計初期,通過合理的任務(wù)劃分和可重構(gòu)區(qū)域的選擇,可以有效地縮小配置文件的規(guī)模。系統(tǒng)的配置帶寬取決于硬件任務(wù)加載的路徑,可重構(gòu)信號處理計算機(jī)原型系統(tǒng)中,硬件任務(wù)位流存放在NOR FLASH中,由嵌入式SOC系統(tǒng)讀入并從ICAP接口寫入FPGA的配置空間,其中NOR FLASH的實測讀帶寬為2 MB/s,ICAP接口的實測寫帶寬是300 MB/s,系統(tǒng)設(shè)計中可以通過掛接NAND FLASH等快速存儲設(shè)備來提高配置帶寬,同時可以使用配置緩沖的方法來提高配置帶寬。

表1為計算機(jī)原型系統(tǒng)“中/均值濾波”動態(tài)重構(gòu)的時間,中/均值濾波算法的位流大小為100.8 KB,分別測試了無緩沖、BRAM緩沖和DDR3緩沖時的動態(tài)重構(gòu)時間,雖然BRAM緩沖能獲得較高的配置帶寬,但是FPGA芯片內(nèi)部BRAM容量有限,能夠容納的配置位流規(guī)模較小,在嵌入式信號處理系統(tǒng)的設(shè)計中實用性有限。DDR3的存儲容量較大,實用性更強(qiáng),更加符合嵌入式環(huán)境的應(yīng)用需求。一般地,以Xilinx公司的Kintex-7系列FPGA為例,F(xiàn)PGA 位流總大小為10 MB,動態(tài)重構(gòu)功能單元的位流按 1 MB 估算(實際應(yīng)用中動態(tài)重構(gòu)功能單元的位流遠(yuǎn)小于該數(shù)值),使用DDR3緩沖方式,動態(tài)重構(gòu)時間約8 ms,遠(yuǎn)小于一般的圖像信號一幀處理時間33 ms,均能滿足嵌入式信號處理系統(tǒng)的實時性要求。如果能夠采用流水技術(shù),將重構(gòu)時間隱藏到處理流程中,可以更好提高嵌入式信號處理系統(tǒng)的實時性。

表1 動態(tài)重構(gòu)時間

4.2 硬件資源利用率

本文提出一種資源利用率提升比的量化分析方法,評估可重構(gòu)信號處理計算機(jī)中采用中值/均值濾波算法時的硬件資源利用率提升情況。表2為可重構(gòu)區(qū)域中兩種濾波算法對FPGA這3種資源的占用情況。

表2 中/均值濾波FPGA資源占用情況

定義資源利用率U,r為任務(wù)使用資源,R為任務(wù)占用資源

(1)

定義資源利用率提升比A,U1為重構(gòu)方式資源利用率,U2為非重構(gòu)方式利用率

(2)

(3)

(4)

類似,可以推算出SLICEL和SLICEM的資源利用率提升比,由此,可以得到FPGA這3種資源的利用率提升比曲線(SLICEL和LUT的利用率提升比曲線近似,圖中大部分重疊),如圖7所示。可見ALUT至少為21.7%(當(dāng)Tx=33 ms時),即至少可以將LUT資源的利用率提升21.7%。同時,同一可重構(gòu)區(qū)域中多個硬件任務(wù)占用的資源越接近,任務(wù)占用可重構(gòu)區(qū)域時間越短,則可重構(gòu)區(qū)域資源利用率提升比越高。所以,在系統(tǒng)設(shè)計中應(yīng)當(dāng)將任務(wù)時間短、功能耦合度低、占用硬件資源接近的功能任務(wù)劃分到同一個可重構(gòu)區(qū)域中,可以更好提高硬件資源的利用率。

圖7 資源利用率提升比

5 結(jié)束語

本文在可重構(gòu)信號處理計算機(jī)原型系統(tǒng)上討論了系統(tǒng)的重構(gòu)方式和控制方法,采用典型算法對信號處理計算機(jī)原型系統(tǒng)進(jìn)行了功能驗證,并對系統(tǒng)的實時性和資源利用率提升情況進(jìn)行了量化分析,得出以下結(jié)論。

(1)可重構(gòu)信號處理計算機(jī),可以正確執(zhí)行典型的嵌入式信號處理應(yīng)用任務(wù),能實現(xiàn)系統(tǒng)功能的動態(tài)重配置。

(2)采用BRAM或DDR3等配置緩沖的方法,可以減小硬件任務(wù)的動態(tài)重構(gòu)時間,使得可重構(gòu)信號處理計算機(jī)能夠滿足系統(tǒng)的實時性要求。

(3)可重構(gòu)信號處理計算機(jī)可以有效地提高硬件資源的利用率。

同時,可重構(gòu)信號處理計算機(jī)在嵌入式系統(tǒng)工程中成熟應(yīng)用,還需要解決計算機(jī)系統(tǒng)的可靠性設(shè)計、復(fù)雜應(yīng)用中重構(gòu)任務(wù)劃分、軟硬件任務(wù)統(tǒng)一調(diào)度等技術(shù)難點,這些問題都留待下一階段的研究工作進(jìn)行解決。

猜你喜歡
信號處理嵌入式重構(gòu)
長城敘事的重構(gòu)
攝影世界(2022年1期)2022-01-21 10:50:14
北方大陸 重構(gòu)未來
《信號處理》征稿簡則
信號處理(2018年5期)2018-08-20 06:16:02
《信號處理》第九屆編委會
信號處理(2018年5期)2018-08-20 06:16:00
《信號處理》征稿簡則
信號處理(2018年8期)2018-07-25 12:25:42
《信號處理》第九屆編委會
信號處理(2018年8期)2018-07-25 12:24:56
搭建基于Qt的嵌入式開發(fā)平臺
北京的重構(gòu)與再造
商周刊(2017年6期)2017-08-22 03:42:36
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應(yīng)用
論中止行為及其對中止犯的重構(gòu)
平乐县| 曲阜市| 荃湾区| 定州市| 新和县| 辉县市| 历史| 中牟县| 江达县| 新沂市| 德阳市| 尖扎县| 海兴县| 长治市| 洪泽县| 射阳县| 上饶县| 连云港市| 玉山县| 休宁县| 固安县| 麻栗坡县| 军事| 江口县| 沂水县| 内丘县| 天峻县| 昂仁县| 英山县| 宝坻区| 甘孜县| 霞浦县| 吉木萨尔县| 大方县| 寻乌县| 台江县| 黄大仙区| 郯城县| 洪江市| 壤塘县| 信阳市|