成人打一炮免费视频,亚洲天堂视频在线观看,97视频久久久,日本japanese护士色高清,五月婷婷丁香,日韩精品一级无码毛片免费,国产欧美日韩精品网红剧情演绎

一種基于FPGA_ROS的可重構(gòu)計算系統(tǒng)和方法與流程

文檔序號:11234041閱讀:2620來源:國知局
一種基于FPGA_ROS的可重構(gòu)計算系統(tǒng)和方法與流程

本發(fā)明涉及fpga系統(tǒng)領(lǐng)域,具體為一種基于fpga_ros的可重構(gòu)計算系統(tǒng)和方法。



背景技術(shù):

ros(robotoperatingsystem)是美國willowgarage公司于2007年發(fā)布的開源機(jī)器人操作系統(tǒng)。ros是專為機(jī)器人軟件開發(fā)所設(shè)計出來的一套操作系統(tǒng)架構(gòu)。它提供類似于操作系統(tǒng)的服務(wù),首要設(shè)計目標(biāo)是在機(jī)器人研發(fā)領(lǐng)域提高代碼復(fù)用率。ros是一種分布式處理框架,這使可執(zhí)行文件能被單獨設(shè)計,并且在運行時松散耦合。

fpga_ros是將fpga芯片作為一個ros節(jié)點,同樣遵循發(fā)布/訂閱消息機(jī)制,可以和其他標(biāo)準(zhǔn)的ros節(jié)點進(jìn)行交互,fpga_ros通過將需要運算的模塊移交給fpga處理,實現(xiàn)fpga對ros節(jié)點的加速。

基于fpga的計算系統(tǒng)設(shè)計與通用計算機(jī)系統(tǒng)編程相比,其開發(fā)難度大,可移植性和可拓展性差,這主要是因為兩者在編程模式上有這本質(zhì)區(qū)別。使用通用計算機(jī)開發(fā)程序時,開發(fā)人員無需了解硬件,也無須關(guān)注硬件本身資源大小。而在基于fpga開發(fā)程序時,一開始就已經(jīng)選定了器件類型,其本身資源大小已經(jīng)固定,而在設(shè)計中,如果所需資源超出器件本身資源,則無法生成硬件電路加載到fpga器件中。因此,如果想在fpga器件上運行超出器件資源的程序,需要對fpga的架構(gòu)進(jìn)行重新設(shè)計,提高了開發(fā)成本。



技術(shù)實現(xiàn)要素:

為了解決上述問題,本發(fā)明提供了一種基于fpga_ros的可重構(gòu)計算系統(tǒng)和方法,其能夠?qū)pga_ros應(yīng)用到超出芯片資源的復(fù)雜圖像算法上,降低了開發(fā)成本。

其技術(shù)方案是這樣的:一種基于fpga_ros的可重構(gòu)計算系統(tǒng),其特征在于,其包括至少兩組串聯(lián)連接的fpga_ros模塊,所述fpga_ros模塊包括arm芯片、arm與fpga交互接口和fpga芯片,所述arm芯片上設(shè)置有訂閱接口、發(fā)布接口,前面一組所述fpga_ros模塊的發(fā)布接口與相鄰的后面一組所述fpga_ros模塊的訂閱接口連接,所述fpga芯片配置與所述fpga_ros模塊數(shù)量對應(yīng)的ip核。

其進(jìn)一步特征在于,相鄰的兩個所述ip核之間通過圖像緩沖模塊、ddr芯片和行緩沖模塊連接。

一種基于fpga_ros的可重構(gòu)計算方法,其特征在于,將至少兩組fpga_ros模塊串聯(lián)連接,所述fpga_ros模塊包括arm芯片、arm與fpga交互接口和fpga芯片,所述arm芯片上設(shè)置有訂閱接口、發(fā)布接口,所述fpga芯片配置與所述fpga_ros模塊數(shù)量對應(yīng)的ip核,所述ip核之間通過可重構(gòu)方式進(jìn)行切換,前面一組所述fpga_ros模塊的發(fā)布接口發(fā)布的數(shù)據(jù)輸入相鄰的后面一組所述fpga_ros模塊的訂閱接口,最后一組所述fpga_ros模塊的發(fā)布接口輸出的為最終結(jié)果。

采用本發(fā)明的系統(tǒng)和方法后,將大型算法分解成不同的模塊并通過函數(shù)調(diào)用實現(xiàn)不同模塊之間的配合一樣,將fpga上的算法拆分成不同的功能塊,然后將這些功能塊串聯(lián)起來作為完整的算法模塊,即可將fpga_ros應(yīng)用到超出芯片資源的復(fù)雜圖像算法上,降低了開發(fā)成本。

附圖說明

圖1為本發(fā)明系統(tǒng)框圖;

圖2為相鄰的兩個ip核連接框圖;

圖3為pr機(jī)制的示意圖;

圖4為算法調(diào)度示意圖;

圖5為雙目算法的ros可重構(gòu)實現(xiàn)流程圖。

具體實施方式

見圖1所示,一種基于fpga_ros的可重構(gòu)計算系統(tǒng),其包括至少兩組串聯(lián)連接的fpga_ros模塊,fpga_ros模塊包括arm芯片、arm與fpga交互接口和fpga芯片,arm芯片上設(shè)置有訂閱接口、發(fā)布接口,前面一組fpga_ros模塊的發(fā)布接口與相鄰的后面一組fpga_ros模塊的訂閱接口連接,fpga芯片配置與fpga_ros模塊數(shù)量對應(yīng)的ip核。相鄰的兩個ip核之間通過圖像緩沖模塊、ddr芯片和行緩沖模塊連接。

一種基于fpga_ros的可重構(gòu)計算方法,將至少兩組fpga_ros模塊串聯(lián)連接,fpga_ros模塊包括arm芯片、arm與fpga交互接口和fpga芯片,arm芯片上設(shè)置有訂閱接口、發(fā)布接口,fpga芯片配置與fpga_ros模塊數(shù)量對應(yīng)的ip核,ip核之間通過可重構(gòu)方式進(jìn)行切換,前面一組fpga_ros模塊的發(fā)布接口發(fā)布的數(shù)據(jù)輸入相鄰的后面一組fpga_ros模塊的訂閱接口,最后一組fpga_ros模塊的發(fā)布接口輸出的為最終結(jié)果。

硬件系統(tǒng)模塊算法的調(diào)度策略借助了pr(partialreconfiguration)技術(shù),pr技術(shù)允許fpga在運行過程中切換邏輯,這是fpga_ros可以對算法進(jìn)行重構(gòu)的基礎(chǔ)。pr技術(shù)為fpga提供了一塊特殊區(qū)域,允許fpga在運行過程中替換這個區(qū)域的邏輯而不影響。其他邏輯的正常運行.使用pr技術(shù)主要有以下三大優(yōu)點:通過分時復(fù)用的方式節(jié)約硬件資源;保持成熟的設(shè)計不變,只修改部分邏輯,加快開發(fā)效率;只替換需要的邏輯部分,運行過程中加快了邏輯功能的切換速度[6].

圖3所示是pr機(jī)制的示意圖,在fpga上劃分出一個可重構(gòu)的塊a.運行過程中可以使用多個部分的bit文件,如a1.bit、a2.bit等對塊a進(jìn)行配置.a(chǎn)1.bit、a2.bit、a3.bit和a4.bit分別包含不同的算法,通過對bit文件的配置完成算法的切換.在配置bit文件的過程中

,除了可重構(gòu)塊a以外其他的fpga資源都保持不變,可持續(xù)運行而不受配置影響.

考慮到在可重構(gòu)計算中圖像算法被分割成了多個模塊,軟件層需要設(shè)計調(diào)度方法保證多個模塊在調(diào)度時結(jié)果的準(zhǔn)確性,否則會因切換不同模塊導(dǎo)致fpga死鎖。死鎖的產(chǎn)生主要是因為多個模塊的ip核競爭fpga資源,因為fpga是獨占資源,當(dāng)fpga工作時如果又有模塊通過pr方式嘗試去替換正在運行的邏輯資源,會導(dǎo)致fpga直接卡死,所以軟件的調(diào)度主要是控制不同圖像模塊在fpga的啟停時間和順序。ros的通訊基于發(fā)布訂閱方式,即在訂閱到話題后進(jìn)行處理,然后將結(jié)果發(fā)布給訂閱了發(fā)布話題的節(jié)點,然后下一個節(jié)點訂閱到后依次再處理然后發(fā)布,所以在可重構(gòu)fpga_ros中,如圖4所示,算法分割成了n個模塊,分別為ip1、ip2、…、ipn;time_n表示不同模塊所執(zhí)行的時間;標(biāo)有pc的一行代表pc上進(jìn)行的操作,arm和fpga表示在arm和fpga上進(jìn)行的操作??梢钥闯?,當(dāng)從pc上發(fā)布圖像時,ip1所在模塊開始工作,處理完成后交由ip2,直至ipn在fpga處理的結(jié)果返回,然后由pc上的訂閱圖片接收到結(jié)果,整幅圖片的流程結(jié)束。ros本身是串行處理單張圖片的,但pc發(fā)布的圖像多數(shù)是連續(xù)的視頻流,如果pc發(fā)布圖片的速度快于各個模塊之間的時間之和,必然會導(dǎo)致在新圖片發(fā)布的同時,上一幀圖片依然在第n個模塊中處理,這會造成這兩個模塊競爭fpga資源,所以在軟件調(diào)度中,需要根據(jù)各個模塊的運行時間來調(diào)整發(fā)布圖片的速率,保證其慢于各個模塊的運行時間之和。設(shè)pc上ros發(fā)布的兩幀間隔為tcamera,則tcamera>(time_1+time_2+…+time_n),通過放慢發(fā)布圖像的速度保證了圖像結(jié)果的正確性。

下面舉例具體說明ros可重構(gòu)實現(xiàn)雙目算法過程:用戶ros節(jié)點首先發(fā)布左圖和右圖圖像(分別為left_input和right_input),在訂閱到左右圖像數(shù)據(jù)后,雙目校正算法的fpga_ros節(jié)點從本地讀取左右參數(shù)數(shù)據(jù),然后和圖像數(shù)據(jù)一起交由fpga處理,處理完畢之后,發(fā)布左右校正后圖像數(shù)據(jù)話題(left_recf和right_recf),雙目匹配算法的fpga_ros節(jié)點訂閱左右校正后圖像數(shù)據(jù)話題,在fpga處理完畢后,發(fā)布視差圖話題(out_image),最后用戶節(jié)點(display_result)訂閱視差圖話題并顯示出結(jié)果。具體流程如圖5所示。

當(dāng)前第1頁1 2 
網(wǎng)友詢問留言 已有0條留言
  • 還沒有人留言評論。精彩留言會獲得點贊!
1