当前位置:首页 > 单片机 > 单片机
[导读]摘要:针对LEON3开源软核处理器具有高性能,高可靠性等特征,构建了一个基于LEON3的动态图像边缘检测SoC。文中采用局部熵边缘检测算法,将图像采集,边缘检测和图像显示三个部分封装设计为IP核,通过APB总线嵌入到LE

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

引言

本文采用局部熵边缘检测算法,将图像采集,边缘检测和图像显示三个部分封装设计为IP(Intellectual Property)核,通过AMBA APB总线嵌入到LEON3的经典SoC架构中。实现了多路数据并行处理和DSP模块加速处理,配合CPU软核的协调参数配置功能,可以充分发挥硬件设计的高速性和灵活性。此外,由于动态图像边缘检测是图像处理应用中必不可少的一部分,因此文中设计的动态图像边缘检测SoC可以方便的移植到其他图像处理应用中,具有广泛的应用前景。

1 SoC和LEON3开源软核处理器

SoC是系统级芯片的简称,系统不仅包含了处理器内核、存储器等硬件系统,同时还含有相应的嵌入式软件,是一个真正的软、硬件均具备的完整体系。利用SoC设计方法,可以将一个复杂的系统集成到单一芯片中,并具有低功耗,低成本及高速性的特点。与利用ASIC实现的

SoC相比,利用FPGA实现的SoC具有可配置性的特点,因此具有更好的可扩展性和可移植性。

LEON3开源软核处理器是Gaisler Research公司提出的一款32位、符合SPARC 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窗口的局部熵;

然后通过与给定的阈值进行比较,得到二值化图像,即可得出图像的边缘。硬件实现的处理过程为流水线方式,处理的对象为3×3大小的图像窗口。具体步骤如下:

①3×3窗口的产生。3×3窗口主要通过片上缓存和延时单元实现。图2是以经过3个时钟为例说明了同步产生3×3窗口中一行数据的过程。

②熵值的计算。将步骤1中得到的3×3窗口的9个并行数据途经两路进行处理。对于3×3窗口,式(1)化简为式(2):

3×3窗口的9路并行数据,一边送去做并行相加求和,再求平方,作为除法运算的分母;同时把9个数据分别求平方,再求合,作为除法运算的分子。在做除法运算前,为确保其计算精度,要先将分子与分母转换成IEEE-745浮点数后再进行浮点除法运算。最后还要把除法运算的结算转换成整数,考虑到除法运算的结果可能小于1,于是在转换整数前放大1000倍,即保留3位有小数有效位,最后将转换后的整数输出,至此实现了局部熵值的计算过程。局部熵值计算的硬件处理流程如图3所示:

③阈值比较及二值化处理。②中已经得到了放大1000倍后的熵值,在这里只需通过一个比较电路,当熵值大于阈值时,输出0;当熵值小于阈值时,输出1。这样就得到一幅二值化后的边缘图像。至此,完成了整个局部熵边缘检测算法的硬件实现。

3.2 自定义IP接口设计

自定义IP核包含以下几个主要部分:图像采集(D5M摄像头接口);图像制式转换;图像存储;图像显示(LTM显示接口);图像边缘检测模块;自定义寄存器。

图4给出了基于APB外围低速总线所设计的图像边缘检测IP核的外部接口信号图。由图中可知,此IP核的接口信号可分为:

①系统时钟与复位信号:是整个LEON3架构所共用的时钟信号和复位信号,而iCLK_50是由外部直接引入的频率为50MHz的时钟,未经过PLL处理。

②IP核控制信号:主要实现IP核的触发功能和结束功能。

③APB总线的输入信号和输出信号:此信号主要用于APB总线控制、IP核选择、IP核使能等,其中包括对IP核内部寄存器的设置都是通过APB总线信号来完成的。

④D5M摄像头输入信号和输出信号:此信号主要完成对D5M摄像头的配置以及数据采集。

⑤LTM显示器输入信号和输出信号:此信号用于对LTM显示器的配置。由于基于APB总线的IP核集成D5M摄像头、LTM显示器和边缘检测算法于一体,所以外部接口信号相对较多。但就APB总线本身而言,其信号并不多,这也是基于APB总线的设计方法相对简单的原因。

3.3 自定义IP核的结构设计

有关“基于APB外围低速总线图像检测IP核的实现基本思想部分”略——编者注。

基于APB总线的IP核框架结构如图5所示。

4 实验结果

4.1 动态图像边缘检测算法硬件实现仿真与分析

文中首先利用Matlab验证局域熵边缘检测算法设计的正确性,然后采用Verilog HDL硬件描述语言编写图像边缘检测算法,在算法实现过程中,为提高算法的性能,采用了Quartus II中自带的DSP加速宏模块。同时,为验证仿真算法的正确性,编写Testbench系统测试文件,对其进行仿真验证,图6为局域熵边缘检测算法的硬件仿真时序图。

从图6中,可以看到3×3窗口产生的过程,L1~L3为采用片上缓存的方法实现的三行数据的同步。X1~X9对应3×3窗口中的9个像素点。图中最终的数据输出是有一定时延的,这是由于算法中存在大量的乘加运算和浮点数运算造成的。

在实现算法的同时,考虑到所选芯片提供了可用于加速算术运算的DSP模块,于是为了加速算法的处理速度,在算法实现过程中,加入了大量的DSP加速处理模块,如乘加器,浮点除法器等。表1给出了用硬件语言实现上述算法所使用的芯片资源情况。表2给出了该算法对DSP加速模块的使用情况。

4.2 动态图像边缘检测SoC系统性能测试

测试采用的硬件开发平台为FPGA CycloneIIEP2C70F896C6N,Quartus II版本为10.0(32位),LEON3开发包版本为grlib-gp1-1.0.22-b4095.zip。D5M摄像头工作在25MHz频率,所采集的图像分辨率为400×240,R、G、B每种色彩以10-bit二进制数据表示,D5M摄像头每秒采集22~25帧图像。LTM显示屏的显示分辨率为400×240,工作在33MHz频率。

表3为测试得到的片上资源使用情况。图7为文中设计的动态图像边缘检测SoC系统工作实物图。从其结果可以分析得到,文中设计的动态图像边缘检测SoC占据的片上资源在可以接受的范围内。

且由实际测试可知,在外界环境适中的条件下,系统可以得到很好的图像边缘检测效果。但由于图像的分辨率较大,而边缘检测算法中所采用的窗口为3×3,相对于图像来说较小,所以图像上的一些小的阴影区域也会被检测出来,形成阴影区域干扰,影响图像的边缘检测效果。但总体来说,实现了动态图像边缘提取的最终目的。

结语

本文介绍了基于LEON3开源软核处理器的动态图像边缘检测SoC设计。

实验结果表明该SoC系统工作正常,可以实现每秒22~25帧,最佳分辨率为400×240和640×480的动态图像边缘检测功能,平均数据延时在70~80个系统时钟。系统具有很好的可移植性与可配置性,占用资源少,速度快,具有广泛的应用前景。

本站声明: 本文章由作者或相关机构授权发布,目的在于传递更多信息,并不代表本站赞同其观点,本站亦不保证或承诺内容真实性等。需要转载请联系该专栏作者,如若文章内容侵犯您的权益,请及时联系本站删除。
换一批
延伸阅读

LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: 驱动电源

在工业自动化蓬勃发展的当下,工业电机作为核心动力设备,其驱动电源的性能直接关系到整个系统的稳定性和可靠性。其中,反电动势抑制与过流保护是驱动电源设计中至关重要的两个环节,集成化方案的设计成为提升电机驱动性能的关键。

关键字: 工业电机 驱动电源

LED 驱动电源作为 LED 照明系统的 “心脏”,其稳定性直接决定了整个照明设备的使用寿命。然而,在实际应用中,LED 驱动电源易损坏的问题却十分常见,不仅增加了维护成本,还影响了用户体验。要解决这一问题,需从设计、生...

关键字: 驱动电源 照明系统 散热

根据LED驱动电源的公式,电感内电流波动大小和电感值成反比,输出纹波和输出电容值成反比。所以加大电感值和输出电容值可以减小纹波。

关键字: LED 设计 驱动电源

电动汽车(EV)作为新能源汽车的重要代表,正逐渐成为全球汽车产业的重要发展方向。电动汽车的核心技术之一是电机驱动控制系统,而绝缘栅双极型晶体管(IGBT)作为电机驱动系统中的关键元件,其性能直接影响到电动汽车的动力性能和...

关键字: 电动汽车 新能源 驱动电源

在现代城市建设中,街道及停车场照明作为基础设施的重要组成部分,其质量和效率直接关系到城市的公共安全、居民生活质量和能源利用效率。随着科技的进步,高亮度白光发光二极管(LED)因其独特的优势逐渐取代传统光源,成为大功率区域...

关键字: 发光二极管 驱动电源 LED

LED通用照明设计工程师会遇到许多挑战,如功率密度、功率因数校正(PFC)、空间受限和可靠性等。

关键字: LED 驱动电源 功率因数校正

在LED照明技术日益普及的今天,LED驱动电源的电磁干扰(EMI)问题成为了一个不可忽视的挑战。电磁干扰不仅会影响LED灯具的正常工作,还可能对周围电子设备造成不利影响,甚至引发系统故障。因此,采取有效的硬件措施来解决L...

关键字: LED照明技术 电磁干扰 驱动电源

开关电源具有效率高的特性,而且开关电源的变压器体积比串联稳压型电源的要小得多,电源电路比较整洁,整机重量也有所下降,所以,现在的LED驱动电源

关键字: LED 驱动电源 开关电源

LED驱动电源是把电源供应转换为特定的电压电流以驱动LED发光的电压转换器,通常情况下:LED驱动电源的输入包括高压工频交流(即市电)、低压直流、高压直流、低压高频交流(如电子变压器的输出)等。

关键字: LED 隧道灯 驱动电源
关闭