新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于LEON3处理器动态图像边缘检测的SoC设计

基于LEON3处理器动态图像边缘检测的SoC设计

作者:时间:2014-04-21来源:网络收藏

摘要:针对开源软核处理器具有高性能,高可靠性等特征,构建了一个基于的动态图像边缘检测SoC。文中采用局部熵边缘检测算法,将图像采集,边缘检测和图像显示三个部分封装设计为IP核,通过APB总线嵌入到的经典SoC架构中。与利用微控制器或DSP实现的动态图像边缘检测系统相比.基于LEON3的动态图像边缘检测SoC能够充分发挥硬件设计的高速性和灵活性,并且系统具有很好的可移植性与可配置性,占用资源少,速度快,具有良好的应用前景。

本文引用地址:http://www.eepw.com.cn/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

评论


相关推荐

技术专区

关闭