曾文兵,张国平
(华中师范大学 物理科学与技术学院,湖北 武汉430079)
基于Cotex-M4内核的实时图像采集系统
曾文兵,张国平
(华中师范大学 物理科学与技术学院,湖北 武汉430079)
为了实现对传送带上的仪器的表面裂纹检测,研究并设计了一种基于Cotex-M4内核的实时图像采集系统。该系统由STM32F407VET6单片机、CMOS图像传感器OV2640以及以太网收发芯片LAN8720A构成。STM32单片机持续地将OV2640采集到的图像显示在LCD上面,并通过以太网将图像数据传输到PC机,PC机实时显示收到的图像,并储存起来供图像表面裂纹分析。实验结果表明:该系统可得到较清晰的图像,网络传输过程稳定,并能够实时地在PC机上面显示采集到的仪器图像,为仪器裂纹检测提供了一种解决方案。
裂纹检测;实时图像采集系统;OV2640图像传感器;实时显示
在零件制造加工和使用的过程中不免会产生表面裂纹。其中在零件加工时产生的裂纹会严重影响到产品的整体质量,因此对零件裂纹的检测显得尤为重要。传统的人工检测依靠人的肉眼识别,效率低,费时费力,严重影响产品的进度。如果使用的基于图像识别技术的计算机自动检测方法,则会大大提高检测效率和检测精度。在这种自动检测方法中,最重要的是图像采集和图像传输的实现[1]。
图像采集的速度与质量,图像传输的传输距离和实时性直接影响产品的检测结果。大多数图像采集系统都是基于DSP、ARM技术,一些系统比较复杂、成本高,在图像传输时使用的是USB串口,传输速度慢、传输距离近,实时图像处理比较困难[2-4]。文中所设计的图像采集系统以STM32F407VET6单片机为核心,结构简单,成本低。通过STM32F407VET6的DCMI接口接收图像传感器模块OV2640采集的图像让LCD实时显示,并通过以太网将图像上传到远程PC机进行图像分析,保证了图像处理的实时性和准确性。
整个图像采集系统的核心在与在系统结构简单的基础上,保证图像采集和图像传输的实时性。本系统中摄像头传感器选用的是OV2640,最大输出200 W像素的图像,保证了图像的质量。STM32单片机作为核心,通过DCMI接口接收OV2640发出的高速图像数据,保证了图像数据接收的实时性。在完成数据接收之后,STM32F407VET6首先完成图像在LCD上的显示,这部分采用DMA方式输出到LCD,保证了图像显示的实时性[5]。其次,STM32F407VET6将图像以JPEG格式保存到SD卡,作为备份(若PC发现器件有裂纹,可以调用此数据进行复查)[6]。最后,STM32F407VET6通过以太网将图像数据传输到远程PC电脑,电脑即对图像进行裂纹分析,并实时显示。系统总体结构如图1所示。
图1 系统总体结构框图
本系统的硬件电路主要包括:微处理器、摄像头、以太网模块、SD卡、TFT屏、RJ45接口等。
2.1 微处理器的选择
本系统中的微处理器作为核心,应具有较高主频,且内部集成高速数据处理接口,ST公司的STM32F407VET6正好符合。它的最大主频168 MHz,具有192KB SRAM和512KB FLASH,且内部自带一个数字摄像头(DCMI)接口,能够接收外部最高14位CMOS摄像头发出的高速数据流,并能够进行压缩[7]。在网络通信方面,STM32F407芯片自带以太网模块,该模块包括专用DMA控制器的MAC控制器,能够实现最高100 Mbit/s的数据传输速率。这两大特性保证了整个图像采集系统的实时性[8]。
2.2 图像传感器的选择
本系统中的图像传感器应该体积小 (便于安装)、功耗低、图像帧率高且最好自带图像处理功能(如图像压缩)。文中选用的OV2640总共1 632*1 232个像素,最大输出200 W像素,最高帧率达15帧/秒,并且支持图像压缩,可以输出JPEG图像数据。本系统STM32上传PC的是400*240尺寸的JPEG格式数据[9-10]。
2.3 以太网接口的设计
STM32F407VET6芯片自带以太网模块,该模块包括带专用 DMA控制器的MAC802.3(介质访问控制)控制器,支持介质独立接口(MII)和简化介质独立接口(RMII),并自带了一个用于外部PHY通信的SMI接口,通过一组配置寄存器,用户可以为MAC控制器和DMA控制器选择所需模式和功能[11]。
图2 STM32F407VET6以太网框图
从图2可以看出,STM32F407VET6必须外接PHY芯片,才可以完成以太网通信的,外部PHY芯片可以通过MII/RMII接口与STM32F407VET6内部MAC连接,并且支持SMI(MDIO或MDC)接口配置外部以太网 PHY芯片。文中选用的PHY芯片是LAN8720A,它是低功耗的10/100M以太网PHY层芯片,通过RMII接口与STM32F407VET6以太网MAC层通信[12]。LAN8720A与STM32F407VET6的连接方式如图3所示。
图3 LAN8720A与STM32F407VET6连接电路图
整个系统的代码设计是在MDK5集成编译环境下完成的。其中最主要的是以太网通信模块的实现和uC/OS-II操作系统的移植。
3.1 单片机以太网通信
本系统中,LAN8720A作为物理层,STM32F407VET6自带的MAC层相当于数据链路层,因此还需要自己实现网络层和传输层的协议。这里引入的是基于 TCP/IP协议的uip协议栈[13]。STM32F407VET6作为TCP服务端,IP地址固定,一直在监听5050端口。当5050端口有网络数据时,会对该数据进行解析,如果是发送图像数据的命令则立即传输JPEG格式的图像数据[14]。整个通信流程如图4所示。
图4 以太网通信流程图
3.2 uC/OS-II操作系统的引入
uC/OS-II实时操作系统是专门为微型计算机设计的。它所采用的应该是抢占式、可剥夺调度思想,也就是任务的运行是由任务的优先级确定的。整个系统被分为几个任务,每个任务完成一个功能。各任务的功能如表1所示。uC/OS-II的作用就是对多个任务进行调度管理,让这些任务并发工作,提高系统的实时性[15]。
表1 系统中uC/OS-II任务说明
在整个系统完成后对系统进行了实际测试。在STM32F407VET6完成初始化之后,在LCD液晶可以看到压缩后的图像数据,如图5所示。
接下来到将单片机的网口和电脑用网线连接起来,并对电脑的本地连接属性进行配置。配置完成后首先进行了ping命令检测,如图6所示。
图6中192.168.1.30是STM32F407VET6单片机的网络地址是可以看出,单片机和电脑之间的网络连接正常。
为了得到STM32F407VET6通过以太网传输到电脑的实际数据,这里使用网络调试助手进行了查看,如图7所示。
图5 LCD界面
图6 PC端ping单片机网络界面
图7 网络调试助手收到的图像数据
JPEG格式的图像数据是以十六进制数0XFFF8开头,以0XFFF9结尾的。可以看出,图7中接收到的图像数据与JPEG规定的格式相同。
为了得出实际的图像效果,本系统还设计了一个图像显示软件,如图8所示。软件是使用C++语言编写的,这里篇幅有限,就不详细介绍了。在图8中,软件较清楚地显示了摄像头采集到的图像数据。
以STM32F407VET6单片机为核心,用LAN8720A以太网模块,设计了一个简单实用的远程图像采集系统。实际测试表明,系统的LCD液晶能够实时显示摄像头采集到的图像,并且PC端也能较实时的通过以太网得到图像数据。
图8 PC显示图像的软件界面
该系统硬件简单,成本低,稳定性强,基本上能够实现图像采集和图像数据远程传输的功能,具有一定的实用价值。遗憾的是,由于时间仓促,PC软件代码方面并没有对接收到的图像进行效果处理,这一点将在以后的工作中完善。
[1]厉荣宣,沈希忠,张树行.基于图像处理的轴类零件表面裂纹检测[J].图学学报,2015,36(1):62-67.
[2]王绪国,余双林.基于ARM的视频采集与处理系统的开发[J].信息技术,2011(9):121-124.
[3]吴振昊,张平,张为.基于OV7725和串口的图像采集验证系统[J].信息技术,2015(10):90-92.
[4]钱鹰,陈胜利.基于嵌入式平台的USB摄像头图像采集及显示[J].电子设计工程,2013,21(3):140-142.
[5]刘海桥,刘林,张志勇,等.基于ARM11嵌入式远程监控系统的分析与设计 [J].电子设计工程,2014,22(16):181-183.
[6]杨扎史,刘华.基于JPEG压缩图像的数字图像胶囊系统研究[J].电子设计工程,2015(11):68-71.
[7]姚洪涛,李晓宇,陈磊.CMOS图像传感器的图像采集系统的研究与实现[J].电子设计工程,2015,23(5):137-139.
[8]杨宇,贾永兴,荣传振,等.基于STM32F407的图像采集与传输系统的设计与实现[J].微型机与应用,2015,34(8):26-28.
[9]程磊,刘波,徐建省,等.基于OV2640的微型胶囊内窥镜系统设计 [J].传感器与微系统,2014,33(2):73-76.
[10]赵洁,郭继昌.基于JPEG系数变化率的图像复制粘贴篡改检测[J].浙江大学学报:工学报,2015,49(10):1893-1901.
[11]曾浩,张祺,郑斯凯.基于STM32F407的图像远程采集终端[J].工业控制计算机,2014,27(11):81-83.
[12]孙晓晔,王程,成彬.基于TFTP协议实现STM32的IAP[J].微型机与应用,2016(7):76-78.
[13]郝玉胜,逯玉兰.基于uC/OS-II的嵌入式网络通信模块[J].计算机与现代化,2013,32(24):32-35.
[14]颜诗洋.微型嵌入式TCP/IP协议栈开发[J].电子设计工程,2014,22(22):108-110.
[15]张茜.基于STM32F407的智能停车场系统[J].仪器仪表与分析监测,2015(1):19-22.
A real-time image acquisition system based on Cotex-M4 kernel
ZENG Wen-bing,ZHANG Guo-ping
(College of Physical Science and Technology in Central China Normal University,Wuhan 430079,China)
A real-time image acquisition system based on Cotex-M4 kernel is researched and designed in order to detect the surface crack of the instrument on the conveyor belt.The system is composed of STM32F407VET6 MCU,CMOS image sensor OV2640 and Ethernet transceiver chip LAN8720A.STM32 MCU continuouslydisplays the imagescollected by OV2640,and transmits image data to the PC through Ethernet,then the PC would display the image immediately and store the image data for the analysis of surface cracks.Experimental results show that the system can get a clear image,and the transmission process of network is stable,also the PC can display the collected imagein real time,which it provides a solution for crack detection of instrument.
crack detection; RS485; real-time image acquisition system; OV2640 image sensor; show in real-time
TN919.82
:A
:1674-6236(2017)14-0175-04
2016-05-26稿件编号:201605254
华中师范大学中央高校基本科研业务费项目资助(CCNU14A02005)
曾文兵(1989—),男,湖南怀化人,硕士研究生。研究方向:嵌入式系统及应用。