基于STM32F4和OV5640尿液分析仪的图像采集系统设计

整理文档很辛苦,赏杯茶钱您下走!

免费阅读已结束,点击下载阅读编辑剩下 ...

阅读已结束,您可以下载文档离线阅读编辑

资源描述

龙源期刊网尿液分析仪的图像采集系统设计作者:郑焱雄赵立宏来源:《科技风》2017年第17期摘要:随着尿液检测在实际生活生产中占据越来越重要的地位,本论文是基于STM32F407芯片和OV5640尿液分析仪的图像采集系统设计。使用STM32F407芯片作为控制单元,运用串行摄像头控制总线(SCCB)来控制OV5640图像传感器输出VGA,RGB565图像数据,同时实时显示在TFTLCD上,并将成像的图片传送到STM32芯片进行识别和图像处理后得出相应的结果。实验结果表明:能得到清晰流畅的图像,并且该系统具有成本低、易于测量等优点,可满足图片处理和识别的需要。关键词:STM32;OV5640;图像采集与显示;图片处理随着科学技术的发展,嵌入式系统已经广泛应用于各种微控制系统,实现快速化、低功耗、智能化、价格低的方向发展[1],利用图像传感器已成为一个研究领域的热点,如摄像头嵌入控制系统中,视频捕捉功能,图片识别,对象跟踪与工程功能,定时功能等等。根据网上现代科技信息对尿液分析仪需求的分析,本文采用嵌入式图像采集系统的设计,使用STM32嵌入式芯片对图像信息的显示和存储采集。1系统总体设计基于ARMCortexM4内核处理器为核心的图像采集系统(以下简称STM32F407),组合OV5640摄像头和TFTLCD液晶显示,是一款具有良好的,实时性的和低成本的图像采集系统[2]。图1是系统的总体结构图,主要由STM32F407芯片、TFTLCD设备、图像采集设备、OV5640摄像头、SD储设卡和其他组件组成。2硬件设计2.1CPU处理器本系统用的是32位的CortexM4内核的STM32芯片STM32F407,支持Thumb2指令集,STM32F407内部的Flash有1M,SRAM大小为192K,有114个增强I/O口、2个USART、3个12位的A/D转换器[6]。电源电压为1.8~3.6V,采用节电模式,可保证低功率要求。CPU主频最高可以达到168MHz。2.2OV5640摄像头龙源期刊网(OmniVision)公司生产的一颗1/4寸的CMOSQSXGA(2592*1944)图像传感器,提供了一个完整的500W像素摄像头解决方案,并且集成了自动对焦(AF)功能,具有非常高的性价比。该传感器的小尺寸和低工作功率提供了一个摄像头芯片QSXGA和视频处理器的所有功能。通过SCCB总线控件,可以输出各种分辨率的8/10图像数据,包括整个帧、子采样、缩放和获取窗口等[4]。图像数据输出(通过Y[9:0])由PCLK、VSYNC和HREF/HSYNC控制,首先看看行输出时序,如图2所示:上面的图片显示,HREF高时图像数据是输出的,当HRE变高时,每一个PCLK时钟,输出一个8位/10位的数据。这里使用是8位接口,因此每个PCLK输出1个字节,并且在RGB/YUV输出格式中,每个tp=2Tpclk,如果它是Raw格式,那么一个tp=1.Tpclk。2.3SCCB总线SCCB全称是:(OmniVisionSerialCameraControlBus)及串行摄像头控制总线,使用SIOC和SIO-D两根数据线进行传输和控制。SIOC是用于传输时钟信号,SIOD是用于传输数据信号的,SCCB的传输协议与IIC协议极其相似。串行摄像头控制总线的启动信号,停止信号,数据的有效性和I2C几乎一样,见图3及4图起始信号:当SIO_C为高电平时,SIO_D显示一个下降沿,则SCCB开始传输。停止信号:当SIO_C为高电平时,SIO_D显示一个上升沿,则SCCB停止传输。数据有效性:除了启动和停止状态,在数据传输的过程中,当SIO_C为高电平时,必须保证数据SIO_D的稳定性。2.4LCD显示模块图5模式A写操作时序本设计采用TFTLCD液晶显示屏为2.8英寸320x240分辨率,内部集成有ILI9341LCD控制芯片,可以直接控制图像显示。ILI9341LCD控制芯片可以用来读取和写入寄存器、GRAM,还可以显示用于动态图形的RGB输入接口。由于ILI9341LCD控制芯片的编写速度快于读取,因此FSMC的工作模式被配置为异步模式(ModeA),这是一个写操作序列的模式,如图5所示,选择了信号NEX,读取可以生成NOE,可以有效地使NWE处于低电平有效,写操作为(ADDSET+DATAST+2)个HCLK周期。2.5SD卡接口电路设计一般而言,SD卡是由9个管脚与外部通信组成,为用户提供两种操作模式:SD模式和SPI模式。由于管脚资源的限制,通过SPI在STM32接口上与SD卡进行数据通信[5],SPI模式下SD卡的操作流程如图6所示龙源期刊网卡的操作流程如图通电后,SD卡会自动进入SD模式。STM32会使CS信号变为低电平,如果SD卡是0x01作为响应,则将命令发送到SD卡重置(CMDO),这表明SD卡进入了ldle的SPI模式,在等待至少74个时钟周期后,控制芯片向SD卡发送SEND_OP_COND(CMD1)命令,当轮询到SD卡的响应是0x00时,就可以接收SD卡读和写操作了[6]。3软件设计3.1系统初始化系统的初始化是对CPU时钟以及外围电路中时钟的初始化。这个过程可以描述如下:SystemInit();If(HSEStartUPstatus==SUCCESS)RCC_PLLConfig(RCC_PLLSource_HSE_Div1’RCC_LLMul_9);//PLL设置RCC_CLKConfig//设置外部总线时钟GPIO_PinRemapConfig//改变指定引脚的映射NVIC_PriorityGroupConfig(NVIC_PriorityGroup_1)//设置中断}3.2LCD显示模块在对ILI9341LCD读写操作顺序控制进行仔细分析后,TFT屏幕被初始化,这些是寄存器的设置。LCD初始化函数伪代码://LCD初始化voidLCD_Init(void){初始化GPIO;初始化FSMC;读取LCDID;printf(“LCDID:%x\r\n”,lcddev.id);龙源期刊网打印LCDID,用到了串口1//所以必须初始化串口1,否则黑屏根据不同的ID执行LCD初始化代码;LCD_Display_Dir(0);//默认为竖屏LCD_LED=1;//点亮背光LCD_Clear(WHITE);//清屏}3.3主程序流程与系统实现系统启动时,首先根据程序初始化设备,启动OV5640图像传感器后并将采集的图像进行实时显示,同时将BMP格式的图像存储在SD卡中,与此同时,延迟片刻后,如果没有任何中断触发响应,系统将会运行到低功耗状态,关闭LCD屏幕。图7实验效果从图7实验效果中可以看出,STM32F407组合OV5640方案进行灰度化图片处理的效果还是比较令人满意,摄像头的清晰度较高,拍摄时反应灵敏等优点,可随时将图像以BMP的图片格式保存在SD卡中,并为后续的图像识别和分割处理奠定了坚实的基础。4结论本文基于STM32处理器和OV5640图像采集和显示系统为基础,对实时图像进行实时采集和显示。该系统的设计方案不仅具有成本低、功耗小、体积小、图像质量高等优点。在软件方面,过程是严谨,逻辑是严密,驱动完善,模块之间没有耦合性,系统稳定可靠。参考文献:[1]杨亚霖.基于ARM的嵌入式linux系统下的MP3设计[D].西南交通大学,2009.[2]王建,梁振涛,郑文斌,刘志军.STM32和OV2640的嵌入式图像采集系统设计[J].单片机与嵌入式系统应用,2014,(09):4648.[3]李涛,芮鹤龄,陈光梦.基于Sitsang平台的摄像头扩展系统[J].计算机工程,2005,(09):195197.[4]贺荣峰,张祺,蔡松涛,张超君.基于STM32的嵌入式远程图像监控系统设计[J].工业控制计算机,2016,(06):1617+19.龙源期刊网[5]万新峰,杜鑫,洪旭,胡云川.基于STM32的射频系统设计[J].电子质量,2014,(12):3440.[6]高学军,王君.基于ARM7的SD卡控制器的设计[J].仪表技术,2009,(02):1618.

1 / 5
下载文档,编辑使用

©2015-2020 m.777doc.com 三七文档.

备案号:鲁ICP备2024069028号-1 客服联系 QQ:2149211541

×
保存成功