新聞中心

EEPW首頁 > 嵌入式系統(tǒng) > 設計應用 > 基于LEON3處理器動態(tài)圖像邊緣檢測的SoC設計

基于LEON3處理器動態(tài)圖像邊緣檢測的SoC設計

作者: 時間:2014-04-21 來源:網(wǎng)絡 收藏

摘要:針對開源軟核處理器具有高性能,高可靠性等特征,構建了一個基于的動態(tài)圖像邊緣檢測SoC。文中采用局部熵邊緣檢測算法,將圖像采集,邊緣檢測和圖像顯示三個部分封裝設計為IP核,通過APB總線嵌入到的經(jīng)典SoC架構中。與利用微控制器或DSP實現(xiàn)的動態(tài)圖像邊緣檢測系統(tǒng)相比.基于LEON3的動態(tài)圖像邊緣檢測SoC能夠充分發(fā)揮硬件設計的高速性和靈活性,并且系統(tǒng)具有很好的可移植性與可配置性,占用資源少,速度快,具有良好的應用前景。

本文引用地址:http://www.butianyuan.cn/article/245749.htm

引言

本文采用局部熵邊緣檢測算法,將圖像采集,邊緣檢測和圖像顯示三個部分封裝設計為IP(Intellectual Property)核,通過AMBA APB總線嵌入到LEON3的經(jīng)典SoC架構中。實現(xiàn)了多路數(shù)據(jù)并行處理和DSP模塊加速處理,配合CPU軟核的協(xié)調參數(shù)配置功能,可以充分發(fā)揮硬件設計的高速性和靈活性。此外,由于動態(tài)圖像邊緣檢測是圖像處理應用中必不可少的一部分,因此文中設計的動態(tài)圖像邊緣檢測SoC可以方便的移植到其他圖像處理應用中,具有廣泛的應用前景。

1 SoC和LEON3開源軟核處理器

SoC是系統(tǒng)級芯片的簡稱,系統(tǒng)不僅包含了處理器內(nèi)核、存儲器等硬件系統(tǒng),同時還含有相應的嵌入式軟件,是一個真正的軟、硬件均具備的完整體系。利用SoC設計方法,可以將一個復雜的系統(tǒng)集成到單一芯片中,并具有低功耗,低成本及高速性的特點。與利用ASIC實現(xiàn)的

SoC相比,利用FPGA實現(xiàn)的SoC具有可配置性的特點,因此具有更好的可擴展性和可移植性。

LEON3開源軟核處理器是Gaisler Research公司提出的一款32位、符合 V8結構的開源軟核處理器。它具有高性能,低復雜性和低功耗的優(yōu)點。另外,所有屬于GRLIB的IP核及LEON3處理器的源代碼在GNU GPL(GNU General Public License,GNU通用公共許可證)授權協(xié)議下,可以免費地應用于研究和教學目的,因此,LEON3開源軟核處理器特別適合于SoC的開發(fā)設計。

2 SoC系統(tǒng)架構設計

通過分析系統(tǒng)的功能與要求,結合LEON3自身架構的特點,設計基于APB總線的動態(tài)圖像邊緣檢測Soc系統(tǒng)架構如圖1所示。自定義IP核為本設計的重點。在LEON3的SoC架構中,APB外圍低速總線為一些低速模塊提供了接口。若想要在APB總線實現(xiàn)動態(tài)圖像的實時采集、處理和顯示,就要想辦法使采集到的數(shù)據(jù)不參與到總線傳輸中去。

 

 

在本設計中,通過采用片上存儲資源做FIFO的辦法,使得攝像頭采集到的數(shù)據(jù)得以緩存,最終在顯示器上顯示。在數(shù)據(jù)輸出顯示之前,可以選擇是否經(jīng)過圖像邊緣檢測算法模塊處理。若經(jīng)過模塊,則顯示圖像經(jīng)過邊緣檢測后的結果;若不經(jīng)過,則顯示原始圖像。

通過這種方法,避免大量圖像數(shù)據(jù)參與AHB與APB總線之間的數(shù)據(jù)傳輸,以減少不必要的中間過程,提高數(shù)據(jù)的實時性。這樣就避免了APB總線低速、低帶寬與動態(tài)圖像邊緣檢測系統(tǒng)高速、高帶寬的矛盾。使得整個圖像的數(shù)據(jù)流都在白定義IP核內(nèi)部得到處理,這樣既滿足了APB總線的約束也實現(xiàn)了系統(tǒng)的功能需求。

3 動態(tài)圖像邊緣檢測SoC的實現(xiàn)

本設計提出了一種集圖像采集、存儲、處理和顯示于一個IP核的設計方法,也是動態(tài)圖像邊緣檢測SoC設計的核心部分。

3.1 局部熵算法的硬件實現(xiàn)

局部熵邊緣檢測算法的基本思想是:選擇待處理像素點的8鄰域,即以待處理像素點為中心的3×3窗口;再由局部熵的定義式(公式1)計算出圖像3×3窗口的局部熵;

 

LEON3處理器動態(tài)圖像邊緣檢測的SoC設計

 

然后通過與給定的閾值進行比較,得到二值化圖像,即可得出圖像的邊緣。硬件實現(xiàn)的處理過程為流水線方式,處理的對象為3×3大小的圖像窗口。具體步驟如下:

①3×3窗口的產(chǎn)生。3×3窗口主要通過片上緩存和延時單元實現(xiàn)。圖2是以經(jīng)過3個時鐘為例說明了同步產(chǎn)生3×3窗口中一行數(shù)據(jù)的過程。

 

 

②熵值的計算。將步驟1中得到的3×3窗口的9個并行數(shù)據(jù)途經(jīng)兩路進行處理。對于3×3窗口,式(1)化簡為式(2):

 

LEON3處理器動態(tài)圖像邊緣檢測的SoC設計

 

3×3窗口的9路并行數(shù)據(jù),一邊送去做并行相加求和,再求平方,作為除法運算的分母;同時把9個數(shù)據(jù)分別求平方,再求合,作為除法運算的分子。在做除法運算前,為確保其計算精度,要先將分子與分母轉換成IEEE-745浮點數(shù)后再進行浮點除法運算。最后還要把除法運算的結算轉換成整數(shù),考慮到除法運算的結果可能小于1,于是在轉換整數(shù)前放大1000倍,即保留3位有小數(shù)有效位,最后將轉換后的整數(shù)輸出,至此實現(xiàn)了局部熵值的計算過程。局部熵值計算的硬件處理流程如圖3所示:

 

 

③閾值比較及二值化處理。②中已經(jīng)得到了放大1000倍后的熵值,在這里只需通過一個比較電路,當熵值大于閾值時,輸出0;當熵值小于閾值時,輸出1。這樣就得到一幅二值化后的邊緣圖像。至此,完成了整個局部熵邊緣檢測算法的硬件實現(xiàn)。

3.2 自定義IP接口設計

自定義IP核包含以下幾個主要部分:圖像采集(D5M攝像頭接口);圖像制式轉換;圖像存儲;圖像顯示(LTM顯示接口);圖像邊緣檢測模塊;自定義寄存器。


上一頁 1 2 下一頁

關鍵詞: SPARC LEON3

評論


相關推薦

技術專區(qū)

關閉