新聞中心

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

        基于LEON3處理器動態圖像邊緣檢測的SoC設計

        作者: 時間:2014-04-21 來源:網絡 收藏

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

        本文引用地址:http://www.104case.com/article/245749.htm

        引言

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

        1 SoC和LEON3開源軟核處理器

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

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

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

        2 SoC系統架構設計

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

         

         

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

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

        3 動態圖像邊緣檢測SoC的實現

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

        3.1 局部熵算法的硬件實現

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

         

        LEON3處理器動態圖像邊緣檢測的SoC設計

         

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

        ①3×3窗口的產生。3×3窗口主要通過片上緩存和延時單元實現。圖2是以經過3個時鐘為例說明了同步產生3×3窗口中一行數據的過程。

         

         

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

         

        LEON3處理器動態圖像邊緣檢測的SoC設計

         

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

         

         

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

        3.2 自定義IP接口設計

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


        上一頁 1 2 下一頁

        關鍵詞: SPARC LEON3

        評論


        相關推薦

        技術專區

        關閉
        主站蜘蛛池模板: 自贡市| 高陵县| 宁乡县| 本溪市| 青铜峡市| 泸西县| 大冶市| 海南省| 浮山县| 望奎县| 康定县| 峨山| 乌拉特后旗| 扶风县| 蒙自县| 墨竹工卡县| 哈尔滨市| 望江县| 丰城市| 蓝山县| 全州县| 潮州市| 长岭县| 清原| 山西省| 镇巴县| 屏南县| 大城县| 比如县| 和林格尔县| 高雄市| 诸暨市| 类乌齐县| 白朗县| 河间市| 洪泽县| 浦北县| 卓尼县| 宜兰市| 陇西县| 阿图什市|