基于S3C2440处理器系统的数字图像处理技术和嵌入式技术结合机制
2017-01-12李蓉邹昆马慧
李蓉++邹昆++马慧
摘 要: 研究基于S3C2440处理器系统的数字图像处理技术和嵌入式技术的结合机制。通过对S3C2440处理器系统进行分析,结合数字图像处理技术和嵌入式技术,优化设计出图像处理系统,提升系统应用效益。结果证实,基于S3C2440处理器系统,结合应用数字图像处理技术与嵌入式技术,使系统处理数字图像的精度提升了12.0%,可以自动识别出图像的形状、颜色、大小等信息。结论表明,基于S3C2440处理器系统,优化设计数字图像处理技术、嵌入式技术的结合机制,对提升图像信息处理精度,发挥了积极的影响。
关键词: 图像处理系统; 数字图像处理技术; S3C2440处理器; 嵌入式技术
中图分类号: TN911.73?34 文献标识码: A 文章编号: 1004?373X(2016)23?0055?03
Combination mechanism of embedded technology and digital image processing
technology based on S3C2440 processor system
LI Rong1, ZOU Kun1, 2, MA Hui1
(1. University of Electronic Science and Technology of China, Zhongshan Institute, Zhongshan 528402, China;
2. School of Computer Science & Engineering, University of Electronic Science and Technology of China, Chengdu 611731, China)
Abstract: The combination mechanism of embedded technology and digital image processing technology based on S3C2440 processor system is studied. By analyzing the S3C2440 processor system, the digital image processing technology and embedded technology are combined to optimize the design of image processing system to improve the system application efficiency. The results confirm that, on the basis of the S3C2440 processor system, the system accuracy of processing the digital image is increased by 12% in combination with the digital image processing technology and embedded technology, and the system can automatically identify the information such as shape, color and size of image. The conclusion shows that the combination mechanism of embedded technology and digital image processing technology based on S3C2440 processor system plays a positive role in improving the accuracy of image information processing.
Keywords: image processing system; digital image processing technology; S3C2440 processor; embedded technology
1 S3C2440处理器系统
S3C2440微处理器系统是由天嵌科技公司生产的TQ2440系列微处理器中的一种[1],同时,该系统还适用于Linux系统,也有开放的源代码,可以在工作中通过ZC301P芯片中的USB摄像头采集视频图像信息,能够采集网络视频,之后就可以把USB摄像头采集到的图像放置在S3C2440微处理器系统中进行预处理[2],将预处理的图像通过Internet网络传送到客户端,客户能够运用ARM?Linux视频服务器观看图像。
S3C2440处理器内部集成了ARM920T内核,不仅空间资源丰富,而且还带有一个独立的16 KB的指令Cache,以及16 KB的数据Cache,同时还有LCD,RAM 以及NAND 闪存控制器,还带有3路UART等,主频最高可达[3]533 MHz。S3C2440处理器系统中,其系统开发板中也配备有64 MB的SDRAM,64 MB的NAND FLASH以及2 MB的NOR FLASH、10 针JTAG接口,在实际应用中可发挥较大的作用。
2 需求分析
基于Linux 2.6.32的S3C2440微处理器芯片上,使用CMOS摄像头OV9650,通过自动调整摄像头位置采集最佳效果的图像,获得RGB16格式的图像数据。对图像色彩信息进行处理和分析,识别图像信息,确保可以获得满意的图像处理效果[4]。基于S3C2440处理器系统,可以将数字图像处理技术与嵌入式技术相结合,搭建嵌入式Linux系统,然后根据图像实时处理的要求,选用USB接口摄像头作为图像采集设备,并对其完成视频驱动的编写工作,可以获取图像并进行存储;最后,确保在设计嵌入式Linux系统中,可对采集的图像实现多种数字图像处理方法,涉及变换域与空域法处理,获得最佳的图像处理效果,确保系统设计满足用户需求。
3 基于S3C2440优化设计图像处理系统
3.1 设计系统的总体结构
基于S3C2440处理器系统,优化设计图像处理系统能够确保在S3C2440处理器控制作用下,根据数字图像处理技术中的CCD摄像机,将其采集到的模拟视频图像信号经过素质编码、DMA后,将数据传输到系统的内存进行缓冲,然后通过嵌入式技术,对数据进行压缩、打包,从而对图像进行处理[5]。
3.2 功能模块设计
基于S3C2440远程图像监控系统CPU采用以ARM920T为内核的S3C2440芯片,配合电源与时钟电路、系统时钟、复位电路、视频解码模块、RS 232到RS 485的转换接口、网络接口、摄像头等实现系统远程监控的功能。视频解码模块由SAA7113芯片实现,将SAA7113芯片作为本次系统中的“外部图像传感器”,能够为嵌入式系统中的摄像机接口提供ITU视频的数据。RS 232到RS 485的接口则通过MAX485芯片实现。网络接口部分是通过驱动程序对以太网控制芯片DM9000的控制实现网络数据的传输功能。图像信息采集由S3C2440芯片本身集成的CAMIF接口实现。
3.3 系统接口设计
嵌入式接口设计:系统外接了两片64 MB的SDRAM芯片(型号为HY57V561620FTP),一般称之为内存,并接在一起形成32 b的总线宽度,其物理起始地址为0x30000000。
同时,系统采用NAND FLASH,型号为K9F1208,大小为128 MB。NAND FLASH不具有地址线,它有专门的控制接口与CPU相连,数据总线为8 b。其接口电路如图1所示。
系统网络模块的接口设计:在本次数字图像处理系统中,应用DM9000芯片作为嵌入式网卡,能够自适应10/100M的网络,同时还具有RJ45连接头,这样就不必再接一个网络变压器,使用普通网线连接即可。100M网络接口如图2所示。
USB模块接口设计:采用USB Host接口,使用USB 2.0协议,与普通USB接口一致。
3.4 嵌入式技术应用
本系统采用嵌入式交叉编译环境arm?linux?gcc?4.4.3。下载源代码并解压到根目录下,运行gedit /root/.bashrc,然后把编译器路径加入到系统环境变量中。采用Linux 2.6.32.2内核。
前台:在网络上的客户端向服务器的视频数据发起请求,通过通用的浏览器进行图片监控、视频监控。
应用层:在该层中,主要负责处理系统中基于HTTP协议的一些活动信息。主要基于HTTPD服务器,将数据信息放在www的文件夹中,并实时转换这些数据,使数据能够成为系统客户端真正能被用户浏览到的图片和视频。
数据业务层:该层主要使用开源软件mjpg?streamer模块,该软件利用共享库处理输入输出,input_file.so处理文件输入,可输入图片和视频文件,output_http.so和output_file.so等是以HTTP视频数据服务流形式输出,为高层图像提供较友好的数据接口。mjpg?streamer软件依赖libjpeg和libjpeg?devel库的支持。利用input_uvc.so文件可以接收摄像头中的信息,同时运用YUV格式进行数据存储,以此适当减少图片的帧数,可以让数字视频图像更为流畅;同时,在该模块中,也可以将数据放置到数据缓冲器中作为数据的中转站,然后再通过output_http.so输出模块,处理网络HTTP数据流。www文件夹存放网页开发包,为了与应用层交换,内嵌有本系统浏览数据的页面。
驱动层:主要是驱动USB摄像头和网络芯片DM9000,为上述功能提供可能。
3.5 数字图像处理
在图像采集过程中,所需的流程就是先打开系统中的视频输入设备,然后获得设备中的图像信息,并根据实际需要更改设备中的相关设置,获得采集到的图像数据,对采集到的数据进行操作,关闭设备。S3C2440处理器系统中,采用mmap内存映射方式获取图像信息,可以基于运算函数,完成数字图像处理中的图像采集功能。基于TCP/IP协议实现网络传输,后台嵌入式设备负责采集图像数据并建立好TCP服务器,客户端通过网络连接后台服务器,前台和后台握手后建立连接,并接收图像数据,实时显示图像和视频。调用S3C2440处理器系统V4L1和V4L2的API函数,通过USB摄像头采集视频图像数据,完成视频图像数据的采集后,作为服务器端的嵌入式系统后台等待客户端通过浏览器进行连接,然后对摄像头监控,服务器就把采集到的图像数据传输到远程客户端PC机上。因为系统采用的是MJPEG协议,也就是把视频镜头拍成的视频分解成一张张分离的jpg数据发送到客户端。当客户端不断显示图片,即可形成相应的图像。
3.6 系统代码实现
系统代码如下:
void Delay(int time)
{
U32 val = (PCLK>>3)/1000?1;
rTCFG0 &= ~(0xff<<8);
rTCFG0 |= 3<<8; //prescaler = 3+1
rTCFG1 &= ~(0xf<<12);
rTCFG1 |= 0<<12; //mux = 1/2
rTCNTB3 = val;
rTCMPB3 = val>>1; //50%
rTCON &= ~(0xf<<16);
rTCON |= 0xb<<16;
//interval,inv?off, update TCNTB3&TCMPB3, start timer 3