一种基于SoCFPGA的嵌入式图像处理系统与方法

文档序号:9931041阅读:631来源:国知局
一种基于SoC FPGA的嵌入式图像处理系统与方法
【技术领域】
[0001]本发明涉及工业机器视觉系统与图像处理,尤其涉及一种基于SoCFPGA的嵌入式图像处理系统与方法。
【背景技术】
[0002]—个工业机器视觉系统包括:光源、镜头、相机(包括CCD相机和CMOS相机)、图像采集单元、图像处理单元、监视器和输入输出单元等。图像处理技术是机器视觉系统应用中的关键部分,进行图像处理主要为了提取图像中的目标信息(包括位置、形状、轮廓、特征等)。目前,图像处理技术采用的处理器主要有四种,分别是X86架构CPU、DSP、FPGA和ASIC专用集成电路。随着数字图像技术向高分辨率、高实时性、大数据量的方向发展,传统X86架构、DSP等串行结构CPU不能满足快速、实时图像处理算法性能要求。比如,国内专利CN103079051A给出了一种基于BF处理器的嵌入式图像处理系统,其中BF处理器采用的是DSP。虽然其具有强大的运算能力,但由于其属于串行结构CPU,运行时是按照指令执行的,位宽也是固定的,资源利用率不高,运算能力有限。而ASIC专用集成电路开发周期长、成本高、灵活性差。FPGA全称是现场可编程门阵列,具有丰富的逻辑单元并嵌入了大量的存储结构和数据处理器,能够用软件方式实现各种电路设计和完成较复杂的运算,并且具备并行运算能力。将FPGA应用于图像处理技术,加快了图像处理的速度,达到图像处理高速实时的性能要求。国内专利CN204334830U给出了一种基于FPGA和SOPC的图像处理系统,能对图像运行并行处理,提高图像处理速度。但其采用相机与FPGA直接相连的模式,需要定制专用的图像采集模块。如果更换图像传感器件,就需要重新设计电路或者硬件程序,灵活性不高,技术难度大。

【发明内容】

[0003]本发明的目的在于克服上述现有技术的缺点和不足,提供一种基于SoCFPGA的嵌入式图像处理系统与方法。既可以利用FPGA作图像数据运算,又能让系统适应性强,该系统架构使得整个应用程序开发灵活,难度低。
[0004]本发明通过下述技术方案实现:
[0005]—种基于SoC FPGA的嵌入式图像处理系统,包括外部图像采集相机l、SoC FPGA开发板3和上位PC图像处理系统5;
[0006]所述外部图像采集相机l、SoCFPGA开发板3和上位PC图像处理系统5依次电讯连接;所述外部图像采集相机I将图像数据传送给SoC FPGA开发板3,再由SoC FPGA开发板3对图像数据进行处理,并传送给上位PC图像处理系统5。
[0007]所述外部图像采集相机I内部包括图像输入单元6;所述SoCFPGA开发板3内部包括两个部分,即HPS部分和FPGA部分;所述上位PC图像处理系统5内部包括图像接收单元11 ;所述HPS部分包括图像采集单元8、图像输出单元10和控制单元7 ;FPGA部分包括图像处理单元9;所述图像采集单元8、图像处理单元9和图像输出单元10依次电讯连接;所述图像输入单元6电讯连接图像采集单元8,所述图像输出单元10电讯连接图像接收单元11;所述控制单元7分别电讯连接图像输入单元6、图像采集单元8、图像输出单元10、图像处理单元9和图像接收单元11;所述图像输入单元6生成的原始图像数据传送到图像采集单元8,随后传送到图像处理单元9,在图像处理单元9中处理后再传送进图像输出单元10,并从图像输出单元1输出到图像接收单元11。
[0008]所述控制单元7控制图像输入单元6、图像采集单元8、图像输出单元10、图像处理单元9和图像接收单元11的运行、系统配置和响应错误机制。
[0009]所述HPS是一个基于ARM的硬处理器系统,还包括ARM微处理器、SDRAM存储器,其上挂载Linux操作系统。
[0010]所述SDRAM存储器划分为内核内存空间与用户内存空间。
[0011]所述FPGA部分,需要用硬件描述语言编写的配置程序驱动其工作,配置程序模块化为独立IP核;所述独立IP核包括图像读取IP核、图像处理IP核和图像写入IP核。
[0012]所述外部图像采集相机l、SoCFPGA开发板3和上位PC图像处理系统5依次电讯连接,该电讯连接是指采用USB数据线或者网线连接。
[0013]一种基于SoC FPGA的嵌入式图像处理方法,其图像传输步骤主要分为:(I)图像输入步骤外:外部图像采集相机采集的原始图像数据输入到图像输入单元6并发送给图像采集单元8;(2)图像采集步骤:图像采集单元8,将图像输入单元6传送来的原始图像数据进行格式转换,并发送给图像处理单元9; (3)图像处理步骤:图像处理单元9,硬件描述语言编写的相关图像处理IP核,实现图像处理算法,并发送给图像输出单元10; (4)图像输出步骤:图像输出单元10,接收FPGA处理并由图像处理单元9处理后的图像数据,并发送到上位PC图像处理系统的图像接收单元11; (5)图像接收步骤:图像接收单元11,接收图像输出单元10处理完的图像数据并应用。
[0014]具体传输步骤具体如下:
[0015]图像数据从外部图像采集相机流向HPS,保存在挂载在HPS上的Linux操作系统的内核内存空间中;
[0016]图像数据复制到Linux操作系统用户内存空间;通过Linux系统函数实现;
[0017]图像数据写入位于FPGA内的缓存SDRAM中;通过HPS与FPGA间的数据总线实现;
[0018]图像数据流向图像处理IP核;通过FPGA内的图像读取IP核完成;
[0019]图像数据写入Linux操作系统内核内存空间;通过图像写入IP核,并且事先已在Linux操作系统中分配一块固定内存区域;
[0020]目标图像数据复制到Linux系统用户内存空间;通过Linux系统的字符设备文件方式,使用read函数;
[0021]图像数据输出到上位PC图像处理系统中;利用网络通讯方式,使用TCP/IP协议,或者利用USB数据线。
[0022]上述步骤3所述相关图像处理IP核,是指应用图像读取IP核、图像处理IP核和图像写入IP核协同实现图像处理;具体是图像读取IP核负责读取图像数据,并传输到图像处理IP核;图像处理IP核负责处理图像数据,并传输到图像写入IP核;图像写入IP核负责将处理完的图像数据写入HPS部分的SDRAM存储器中。
[0023]采用SoC FPGA开发板,HPS(基于ARM的硬处理器系统,挂载Linux操作系统)用于图像获取和传输,FPGA用于图像处理。HPS应用开发灵活方便,可移植到不同硬件平台,并且适用性强,可以与不同的图像采集相机联用。FPGA对图像数据进行并行运算,提高处理速度和效率。
[0024]因此,采用SoCFPGA方案,既可以利用FPGA作图像数据运算,又能让系统适应性强,是一种新颖、可行的系统架构方案。
【附图说明】
[0025]图1是本发明基于SoCFPGA的嵌入式图像处理系统总示意图。
[0026I图2是图1内部结构示意图。
[0027]图3是图2中控制单元对各单元的控制说明;包括图像采集、FPGA图像IP核和图像传输。其中,图像采集由Linux应用程序调用相机库函数及Linux系统函数完成。FPGA图像IP核可分为图像读取IP核,图像处理IP核,图像写入IP核。图像传输可分为传输图像数据到图像处理单元9和输出图像数据到图像接收单元11。
[0028]图4是本发明中图像数据流传输示意图。
[0029]图5是本发明中Linux应用程序流程图。
【具体实施方式】
[0030]下面结合具体实施例对本发明作进一步具体详细描述。
[0031 ] 实施例
[0032]如图1至5所示。本发明公开了一种基于SoCFPGA的嵌入式图像处理系统,包括外部图像采集相机l、SoC FPGA开发板3和上位PC图像处理系统5;所述外部图像采集相机1、SoC FPGA开发板3和上位PC图像处理系统5依次电讯连接,该电讯连接是指采用USB数据线或者网线连接。
[0033]所述外部图像采集相机I将图像数据传送给SoCFPGA开发板3,再由SoC FPGA开发板3对图像数据进行处理,并传送给上位PC图像处理系统5。
[0034]所述外部图像采集相机I内部包括图像输入单元6;所述SoCFPGA开发板3内部包括两个部分,即HPS部分和FPGA部分;所述上位PC图像处理系统5内部包括图像接收单元11,用于接收并应用处理后的图像数据;所述HPS部分包括图像采集单元8、图像输出单元10和控制单元7,通过Linux应用程序实现功能;FPGA部分包括图像处理单元9,应用图像读取IP核、图像处理IP核和图像写入IP核协同实现图像处理功能;所述图像采集单元8、图像处理单元9和图像输出单元10依次电讯连接;所述图像输入单元6电讯连接图像采集单元8,所述图像输出单元1电讯连接图像接收单元11 ;所述控制单元7分别电讯连接图像输入单元6、图像采集单元8、图像输出单元10、图像处理单元9和图像接收单元11;所述图像输入单元6生成的原始图像数据传送到图像采集单元8,随后传送到图像处理单元9,在图像处理单元9中处理后再传送进图像输出单元10,并从图像输出单元10输出到图像接收单元11。
[0035]所述控制单元7控制图像输入单元6、图像采集单元8、图像输出单元10、图像处理单元9和图像接收单元11的运行、系统配置和响应错误机制。
[0036]所述HPS是一个基于ARM的硬处理器系统,还包括ARM微处理器、SDRAM存储器,其上挂载Linux操作系统。所述SDRAM存储器划分为内核内存空间与用户内存空间。
[0037]所述FPGA部分,需要用硬件描述语言编写的配置程序驱动其工作,配置程序模块化为独立IP核;所述独立IP核包括图像读取IP核、图像处理IP核和图像写入IP核。
[0038]本发明基于SoC FPGA的嵌入式图像处理方法,其图像传输步骤主要分为:(I)图像输入步骤外:外部图像采集相机采集的原始图像数据输入到图像输入单元6并发送给图像采集单元8; (2)图像采集步骤:图像采集单元8,将图像输入单元6传送来的原始图像数据进行格式转换,并发送给图像处理单元9; (3)图像处理步骤:图像处理单元9,硬件描述语言编写的相关图像处理IP核,实现图像处理算法,并发送给图像输出单元10; (4)图像输出步骤:图像输出单元10,接收FPGA处理并由
当前第1页1 2 
网友询问留言 已有0条留言
  • 还没有人留言评论。精彩留言会获得点赞!
1