论文部分内容阅读
[摘 要]本文介绍一种基于S3c6410的无线网络视频安防系统的设计方案,该方案利用S3c6410进行核心控制,通过ov9650摄像头实现对外界图像的采集,通过Host USB模块实现对视频数据的存储,通过WiFi实现无线网络视频数据的通信,通过GPRS实现短信的收发和彩信的发送。阐述该系统的工作原理、硬件构成及软件的设计方案。
[关键词]嵌入式系统 S3C6410 WiFi GPRS ov9650 USB
中图分类号:TP277 文献标识码:A 文章编号:1009-914X(2013)10-0001-02
0.引言
随着社会经济的发展和科学技术的进步,人们对私人场所的安全提出了更方便更实用的要求。视频监控是常用的一种监控方式,主要对需要监控的现场进行录像,同时随着私人安防需求的不断提高,越来越多的应用领域对现有的视频监控系统提出了智能化人性化的需求,因此,开发出具有自动报警功能的智能化人性化视频监控系统具有重要的应用价值和广泛的应用前景。本文提出了一种基于Linux的远程报警视频监控系统,将更加智能化人性化且实时监控,减少受网络高数据通信的制约,安装方便隐蔽;另外,同时具备主动式和被动式两种监控方式,即在出现可疑情况后发短信提示,必要时用户可以通过视频设备实时了解现场,还可以主动发送命令了解监控现场。
1.系统总体设计方案
基于Linux的远程警报视频监控系统主要是由cmos摄像头、ARMS3C6410处理器、WiFi无线网络模块、U盘模块、GPRS公用无线通信网络模块、移动终端组成,系统结构如图1所示。
首先用cmos摄像头采集现场的视频图像数据,通过ARM进行相关的图像处理[1][2],再存储到U盘里面,便于必要时查看等,同时也存储到图像数据相关处理的缓冲区;在图像数据处理时采用运动目标检测技术对视频图像进行处理和分析,判断是否有运动目标[3],如有,则启动GPRS发送提示短信功能,在接收到发送彩信回复时向该手机终端设备发送异常情况的彩信。同时,如果网络和终端设备(手机或电脑)条件允许,也可以通过WiFi网络实现现场视频监控。
2.硬件设计
嵌入式报警系统主要硬件由系统主机(主控芯片为S3C6410)、GPRS公用无线通信网络模块(MIS300)、WiFi网络通信模块和U盘数据存储组成,如图2所示。
2.1 CMOS摄像头[4]
系统CMOS摄像头采用深圳市昊顺电子科技有限公司的OV9650摄像头模组,嵌入式摄像头,先进、节能的高精度相机的内置式组件,它把实现优质VGA影像的CMOS影像传感器与高度集成的影像处理器、嵌入式电源和高质量的透镜组结合在一起,输出JPEG图像或视频图像,同时提供了完整的影像解决方案。该产品支持8/10位数字传输JPEG图像和YCbCr接口。具有体积小、高度集成的特点,在很多方面得到广泛的应用。同时linux 2.6源码中含有这个模块的驱动[5],给我们的设计带来很大的方便。
2.2 WiFi无线网络模块[4]
无线WiFi网络采用SD-WiFi模块,符合802.11G标准,带宽高达54Mbps,支持SD IO 1.11标准(向下兼容SD IO 1.0),支持SD IO热插拔功能,支持无线网络通讯加密方式:64-bitor128-bit;只要是机器有标准的SD接口,便可以使用,信号极强,超级稳定,耗电小,体积小同时,也支持Linux系统,并且在Linux2.6源码中含有SD-WiFi五线网卡的驱动[5],减少开发时间;并且WiFi网络越来越普及,很多地方现在都支持WiFi信号的覆盖,手机上已经开始出现WiFi的应用。
2.3 GPRS模块
系统GPRS模块采用三频段的SIM300,可在全球范围内EGSM 900MHz、DCS1800MHz、PCS1900MHz三种频率下工作,能够提供GPRS多信道类型多达10个,并且支持CS-1、CS-2、CS-3和CS-4四种GPRS编码方案;SIM300结构小巧,外形尺寸小,几乎可满足所有对产品尺寸有要求的工业应用,目前应用广泛,减少用户的投入;具有调试和数据输出两个串口,帮助开发人员更容易开发产品;双音频通道,包含两个麦克风输入和两个话筒输出,由AT指令配置其工作模式。
2.4 U盘模块
U盘模块采用系统处理器的USB模块,符合USB1.1 HOST接口标准,兼容OHCI V1.0,支持键盘、鼠标、U盘、蓝牙、3G等USB设备,在linux 2.6源码中已经自带有各种USB设备的驱动,减少开发者的时间周期,同时,它的集成度高,体积小,给很多应用场合带来极大的便利。在本设计中,USB作为主机,实现对U盘的数据读写,达到存储视频图片数据,也便于可插拔查询U盘里的信息。
2.5 嵌入式处理器
系统CPU采用的是三星的S3C6410[7],它是ARM1176ZF-S内核,是ARM11核心的一种。内核集成了强大的多媒体处理单元,支持MPEG-4、H.246/H.263等格式的视频文件硬件编解码,可同时输出至LCD和TV显示,它并带有3D图形硬件加速器,以实现OpengL ES1.1&2.0加速渲染,另外它还支持2D图形图像的平滑缩放,翻转等操作;采用64/32位内部总线架构。包含强大的硬件加速器,像视频处理,音频处理,二维图形,显示操作和缩放;具有一个优化的接口连接到外部存储器,储存器系统具有双重外部存储器接口、DRAM和FLASH/ROM/DRAM端口;包括CMOS摄像头接口、液晶显示控制器、系统管理器、4通道UART、32通道DMA、4通道定时器、IIS总线接口、IIC总线接口、USB主设备、支持高速(480MB/s)的USBOTG操作、WiFi接口、以太网接口、支持高速MMC/SD卡和高速多媒体卡接口、用于产生时钟的PLL等硬件外设。 3.软件设计
我们选用嵌入式Linux操作系统,版本号:2.6.28。它是整个系统各模块驱动程序及其应用程序的运行平台。进行系统应用软件设计时,为了提高系统的运行效率,利用linux对多线程机制的支持,将应用软件划分为5个并行的线程实现[6]。分别为:CMOS摄像头图像数据线程、SD-WiFi无线通信网线程、GPRS无线通信网线程、短消息收发线程。应用软件在linux下使用C语言开发,总体设计框架如图4所示。
SD-WiFi通信线程、GPRS通信线程以及短消息收发线程的设计主要是添加对应的通信软件。在linux下进行多线程编程时充分利用了互斥机制,为了避免不同的线程同时对数据进行操作,提供了互斥锁来保证一段时间内只有一个线程在执行某段代码,避免程序运行出现异常。
3.1 系统初始化
系统初始化包括对Ov9650 CMOS摄像头、Host USB、SD-WiFi、GPRS的初始化以及linux系统的初始化。linux系统的初始化主要完成对CPU、SDRAM等芯片的初始化,加载cmos摄像头、USB、SD-WiFi和GPRS的驱动程序[2],为应用程序的执行做好准备。其实芯片的初始化主要对一些数据寄存器、地址寄存器、中断服务寄存器进行相应的操作。
3.2 CMOS摄像头图像数据线程软件设计
系统第一个开始执行的线程是CMOS摄像头数据线程,该线程引导其他线程的启动,开始实现系统功能,同时整个系统也是围绕这个线程来运转的,CMOS摄像头数据线程的软件设计框架如图4所示。
3.3 GPRS通信软件设计
系统中GPRS模块作为一种远程控制器和彩信发送通信设备,让终端用户实时在线控制和了解系统执行情况[8][9]。在应用程序编写时,需要设计一个GPRS命令表,用于识别各种短信控制命令,便于判断各种处理的执行。
3.3.1 监控软件设计
监控软件包含两个线程,即主动式监控和被动式监控,程序设计流程如图5和图6所示。
3.3.2 GPRS数据传输线程
GPRS数据传输主要是用于发送彩信,由于目前GPRS被覆盖广泛,为了让用户在网络条件或设备不满足的条件下,能够以彩信方式实时了解现场情况。发送彩信的软件设计是根据接收到控制命令来执行的。当接收到彩信命令短信时,将当前图像数据缓冲区的数据映射到彩信发送缓冲区,以回复方式发送一条彩信给接收方。
3.4 WiFi通信软件设计
网络通信通过内核MFC实现对图像数据缓冲区的数据进行H.264[10]编码,完成相关的处理,封装后实现网络传输[2]。网络接口程序的编写可以通过调用linuxAPI函数实现,完成对TCP/IP网络协议栈和WiFi网络传输的全部控制功能。网络通信程序使用TCP/IP协议下的流式套接字编写。Socket是网络通信的基本单元,它提供了不同主机间进程双向通信的端点。常用的套接字有两种,即流式套接字和数据报套接字[5][6]。任务通过对Socket的读写操作实现网络通信功能,为了可靠地面向连接的通信数据流和无错误的传输,选用流式套接字。
4.结论
本系统的运行平台采用16/32位RISC微处理器S3c6410,搭载2.6内核的linux嵌入式操作系统进行核心控制,运用linux的多线程机制开发各种通信模块程序,提高了系统运行的效率。本系统能够对进入监测的物体进行实时检测并且具有成本低、安全性强、带有智能、报警及时、便于扩充、维护费用低等特点;通过本系统设计,增加各种传感器及相关的设置,使防盗系统达到更人性化。因此,加深更人性化安防系统的研制,将带来广泛的应用前景和市场。
参考文献
[1] 吴爱军,许雪梅.基于S3C2440A的嵌入式无线实时图像传输系统.计算机系统应用,2010年第19卷第1期.
[2] 李岸,许雪梅.基于ARM11的视频实时传输系统.计算机系统应用,2010年第19卷第11期
[3] 刘文萍,杨学超.基于GPRS的远程报警视频监控系统,计算机工程,2007年12月
[4] 刘波文,黎胜容.ARM嵌入式项目开发三位一体实战精讲,北京航空航天大学出版社
[5] 李超,肖建.嵌入式Linux开发技术与应用,电子工业出版社
[6] 孙琼.嵌入式Linux应用程序开发详解,人民邮电出版
[7] SAMSUNG Eletronics.S3C6410 32BIT RISC MICROPROCESSOR USER’S MANUAL
[8] 蔡皓,李永战.基于ARM的嵌入式GPRS数据单元设计
[9] 郭永彩,高潮.基于GSM/GPRS的远程安防监控管理系统,计算机系统应用,2010年第19卷第1期
[10] 毕厚杰.新一代视频压缩编码标准——H.264/AVC,人民邮电出版社
[关键词]嵌入式系统 S3C6410 WiFi GPRS ov9650 USB
中图分类号:TP277 文献标识码:A 文章编号:1009-914X(2013)10-0001-02
0.引言
随着社会经济的发展和科学技术的进步,人们对私人场所的安全提出了更方便更实用的要求。视频监控是常用的一种监控方式,主要对需要监控的现场进行录像,同时随着私人安防需求的不断提高,越来越多的应用领域对现有的视频监控系统提出了智能化人性化的需求,因此,开发出具有自动报警功能的智能化人性化视频监控系统具有重要的应用价值和广泛的应用前景。本文提出了一种基于Linux的远程报警视频监控系统,将更加智能化人性化且实时监控,减少受网络高数据通信的制约,安装方便隐蔽;另外,同时具备主动式和被动式两种监控方式,即在出现可疑情况后发短信提示,必要时用户可以通过视频设备实时了解现场,还可以主动发送命令了解监控现场。
1.系统总体设计方案
基于Linux的远程警报视频监控系统主要是由cmos摄像头、ARMS3C6410处理器、WiFi无线网络模块、U盘模块、GPRS公用无线通信网络模块、移动终端组成,系统结构如图1所示。
首先用cmos摄像头采集现场的视频图像数据,通过ARM进行相关的图像处理[1][2],再存储到U盘里面,便于必要时查看等,同时也存储到图像数据相关处理的缓冲区;在图像数据处理时采用运动目标检测技术对视频图像进行处理和分析,判断是否有运动目标[3],如有,则启动GPRS发送提示短信功能,在接收到发送彩信回复时向该手机终端设备发送异常情况的彩信。同时,如果网络和终端设备(手机或电脑)条件允许,也可以通过WiFi网络实现现场视频监控。
2.硬件设计
嵌入式报警系统主要硬件由系统主机(主控芯片为S3C6410)、GPRS公用无线通信网络模块(MIS300)、WiFi网络通信模块和U盘数据存储组成,如图2所示。
2.1 CMOS摄像头[4]
系统CMOS摄像头采用深圳市昊顺电子科技有限公司的OV9650摄像头模组,嵌入式摄像头,先进、节能的高精度相机的内置式组件,它把实现优质VGA影像的CMOS影像传感器与高度集成的影像处理器、嵌入式电源和高质量的透镜组结合在一起,输出JPEG图像或视频图像,同时提供了完整的影像解决方案。该产品支持8/10位数字传输JPEG图像和YCbCr接口。具有体积小、高度集成的特点,在很多方面得到广泛的应用。同时linux 2.6源码中含有这个模块的驱动[5],给我们的设计带来很大的方便。
2.2 WiFi无线网络模块[4]
无线WiFi网络采用SD-WiFi模块,符合802.11G标准,带宽高达54Mbps,支持SD IO 1.11标准(向下兼容SD IO 1.0),支持SD IO热插拔功能,支持无线网络通讯加密方式:64-bitor128-bit;只要是机器有标准的SD接口,便可以使用,信号极强,超级稳定,耗电小,体积小同时,也支持Linux系统,并且在Linux2.6源码中含有SD-WiFi五线网卡的驱动[5],减少开发时间;并且WiFi网络越来越普及,很多地方现在都支持WiFi信号的覆盖,手机上已经开始出现WiFi的应用。
2.3 GPRS模块
系统GPRS模块采用三频段的SIM300,可在全球范围内EGSM 900MHz、DCS1800MHz、PCS1900MHz三种频率下工作,能够提供GPRS多信道类型多达10个,并且支持CS-1、CS-2、CS-3和CS-4四种GPRS编码方案;SIM300结构小巧,外形尺寸小,几乎可满足所有对产品尺寸有要求的工业应用,目前应用广泛,减少用户的投入;具有调试和数据输出两个串口,帮助开发人员更容易开发产品;双音频通道,包含两个麦克风输入和两个话筒输出,由AT指令配置其工作模式。
2.4 U盘模块
U盘模块采用系统处理器的USB模块,符合USB1.1 HOST接口标准,兼容OHCI V1.0,支持键盘、鼠标、U盘、蓝牙、3G等USB设备,在linux 2.6源码中已经自带有各种USB设备的驱动,减少开发者的时间周期,同时,它的集成度高,体积小,给很多应用场合带来极大的便利。在本设计中,USB作为主机,实现对U盘的数据读写,达到存储视频图片数据,也便于可插拔查询U盘里的信息。
2.5 嵌入式处理器
系统CPU采用的是三星的S3C6410[7],它是ARM1176ZF-S内核,是ARM11核心的一种。内核集成了强大的多媒体处理单元,支持MPEG-4、H.246/H.263等格式的视频文件硬件编解码,可同时输出至LCD和TV显示,它并带有3D图形硬件加速器,以实现OpengL ES1.1&2.0加速渲染,另外它还支持2D图形图像的平滑缩放,翻转等操作;采用64/32位内部总线架构。包含强大的硬件加速器,像视频处理,音频处理,二维图形,显示操作和缩放;具有一个优化的接口连接到外部存储器,储存器系统具有双重外部存储器接口、DRAM和FLASH/ROM/DRAM端口;包括CMOS摄像头接口、液晶显示控制器、系统管理器、4通道UART、32通道DMA、4通道定时器、IIS总线接口、IIC总线接口、USB主设备、支持高速(480MB/s)的USBOTG操作、WiFi接口、以太网接口、支持高速MMC/SD卡和高速多媒体卡接口、用于产生时钟的PLL等硬件外设。 3.软件设计
我们选用嵌入式Linux操作系统,版本号:2.6.28。它是整个系统各模块驱动程序及其应用程序的运行平台。进行系统应用软件设计时,为了提高系统的运行效率,利用linux对多线程机制的支持,将应用软件划分为5个并行的线程实现[6]。分别为:CMOS摄像头图像数据线程、SD-WiFi无线通信网线程、GPRS无线通信网线程、短消息收发线程。应用软件在linux下使用C语言开发,总体设计框架如图4所示。
SD-WiFi通信线程、GPRS通信线程以及短消息收发线程的设计主要是添加对应的通信软件。在linux下进行多线程编程时充分利用了互斥机制,为了避免不同的线程同时对数据进行操作,提供了互斥锁来保证一段时间内只有一个线程在执行某段代码,避免程序运行出现异常。
3.1 系统初始化
系统初始化包括对Ov9650 CMOS摄像头、Host USB、SD-WiFi、GPRS的初始化以及linux系统的初始化。linux系统的初始化主要完成对CPU、SDRAM等芯片的初始化,加载cmos摄像头、USB、SD-WiFi和GPRS的驱动程序[2],为应用程序的执行做好准备。其实芯片的初始化主要对一些数据寄存器、地址寄存器、中断服务寄存器进行相应的操作。
3.2 CMOS摄像头图像数据线程软件设计
系统第一个开始执行的线程是CMOS摄像头数据线程,该线程引导其他线程的启动,开始实现系统功能,同时整个系统也是围绕这个线程来运转的,CMOS摄像头数据线程的软件设计框架如图4所示。
3.3 GPRS通信软件设计
系统中GPRS模块作为一种远程控制器和彩信发送通信设备,让终端用户实时在线控制和了解系统执行情况[8][9]。在应用程序编写时,需要设计一个GPRS命令表,用于识别各种短信控制命令,便于判断各种处理的执行。
3.3.1 监控软件设计
监控软件包含两个线程,即主动式监控和被动式监控,程序设计流程如图5和图6所示。
3.3.2 GPRS数据传输线程
GPRS数据传输主要是用于发送彩信,由于目前GPRS被覆盖广泛,为了让用户在网络条件或设备不满足的条件下,能够以彩信方式实时了解现场情况。发送彩信的软件设计是根据接收到控制命令来执行的。当接收到彩信命令短信时,将当前图像数据缓冲区的数据映射到彩信发送缓冲区,以回复方式发送一条彩信给接收方。
3.4 WiFi通信软件设计
网络通信通过内核MFC实现对图像数据缓冲区的数据进行H.264[10]编码,完成相关的处理,封装后实现网络传输[2]。网络接口程序的编写可以通过调用linuxAPI函数实现,完成对TCP/IP网络协议栈和WiFi网络传输的全部控制功能。网络通信程序使用TCP/IP协议下的流式套接字编写。Socket是网络通信的基本单元,它提供了不同主机间进程双向通信的端点。常用的套接字有两种,即流式套接字和数据报套接字[5][6]。任务通过对Socket的读写操作实现网络通信功能,为了可靠地面向连接的通信数据流和无错误的传输,选用流式套接字。
4.结论
本系统的运行平台采用16/32位RISC微处理器S3c6410,搭载2.6内核的linux嵌入式操作系统进行核心控制,运用linux的多线程机制开发各种通信模块程序,提高了系统运行的效率。本系统能够对进入监测的物体进行实时检测并且具有成本低、安全性强、带有智能、报警及时、便于扩充、维护费用低等特点;通过本系统设计,增加各种传感器及相关的设置,使防盗系统达到更人性化。因此,加深更人性化安防系统的研制,将带来广泛的应用前景和市场。
参考文献
[1] 吴爱军,许雪梅.基于S3C2440A的嵌入式无线实时图像传输系统.计算机系统应用,2010年第19卷第1期.
[2] 李岸,许雪梅.基于ARM11的视频实时传输系统.计算机系统应用,2010年第19卷第11期
[3] 刘文萍,杨学超.基于GPRS的远程报警视频监控系统,计算机工程,2007年12月
[4] 刘波文,黎胜容.ARM嵌入式项目开发三位一体实战精讲,北京航空航天大学出版社
[5] 李超,肖建.嵌入式Linux开发技术与应用,电子工业出版社
[6] 孙琼.嵌入式Linux应用程序开发详解,人民邮电出版
[7] SAMSUNG Eletronics.S3C6410 32BIT RISC MICROPROCESSOR USER’S MANUAL
[8] 蔡皓,李永战.基于ARM的嵌入式GPRS数据单元设计
[9] 郭永彩,高潮.基于GSM/GPRS的远程安防监控管理系统,计算机系统应用,2010年第19卷第1期
[10] 毕厚杰.新一代视频压缩编码标准——H.264/AVC,人民邮电出版社