新闻中心

EEPW首页 > 嵌入式系统 > 设计应用 > 基于S3C6410的无线视频监控系统设计

基于S3C6410的无线视频监控系统设计

作者:时间:2016-09-12来源:网络收藏

伴随电子信息技术,网络技术及多媒体技术的快速发展,嵌入式无线技术也在不断的飞速发展。系统正在向数字化、网络化和集成化方向发展,因此研究基于嵌入式的系统是必要的。基于嵌入式的无线视频监控是以高性能处理器为核心,控制外围部件进行视频采集和压缩编码,再将视频流以无线的方式发送到中断进行存储显示。与其他监控系统相比,利用嵌入式技术的无线视频监控系统易安装,体积小,可以实现无人值守,对于各种特殊场合需求的视频监控能够满足应用要求。

本文引用地址:http://www.eepw.com.cn/article/201609/303776.htm

钱华明等人提出了一种基于S3C2410硬件平台和操作系统,将采集的视频数据进行MPEG-4编码,再通过CDMA模块,完成无线网络视频传输。涂继辉等人提出了以高性能ARM9芯片作微处理器,通过采集USB摄像头视频数据,经MJPEG-4压缩,通过2.4 GHz无线发送/接受模块实现无线视频监控。张伟男等人提出了一种基于3G无线网络传输的移动视频监控系统的方案,实现了实时监控的功能。

为了实现室内视频监控系统的网络传输,在保证传输稳定和多用户的需求前提下,本文选取了主频更高的ARM11作为处理器,以802.11g的无线局域网和Mjpg—streamer视频服务器为传输媒介的无线视频监控系统。

1 系统方案设计

1.1 核心控制器

微处理器是系统硬件的核心,考虑到ARM低功耗、低成本、高性能等特点,本文采用ARM11 S3C6410微处理器为核心的飞凌OK6410开发板,S3C6410是一款高性能32位的RISC微处理器,主频高达667 MHz,它采用64/32位内部总线架构,具有视频处理、二维图形显示和缩放等硬件加速器功能。该开发板有256MB DDR和2 GB NAND FLASH,CPU内部集成SDRAM控制器、32通道DMA、4通道UART、SD接口、USB接口及以太网接口等,为各种应用开发提供了强大的支持。系统硬件架构图如图1所示。

基于S3C6410的无线视频监控系统设计

1.2 数字摄像头

OK6410有1个CMOS摄像头接口,但由于摄像头只能固定在开发板上,不便于安装和放置,故本设计采用USB摄像头。考虑到成本问题,摄像头选用天敏10moons,经测试该设备可以用于OK6410开发板上,且输出YUV格式的视频帧数据。

1.3 WIFI模块

本设计使用的WIFI模块为飞凌公司自行设计生产的,接口为2.0间距的双排插孔“CN4”,主芯片型号为“WM-G-MR-09”。在连无线网络之前,先关闭DM9000网卡,再启动SDIO WIFI,命令分别为:ifconfig ethO down和ifconfig wlanO up。

2 系统软件平台

软件设计包括嵌入式操作平台的搭建以及视频服务器软件的移植。为此,首先搭建嵌入式交叉编译环境。Ubuntu是一个以桌面应用为主的Linux操作系统,且具有安装系统简单和图形界面人性化特点,故选用Ubuntu 12.04为宿主机电脑操作系统。交叉编译器选择arm—linux —gcc 4.3.2版本。

2.1 嵌入式操作系统的选择和移植

现阶段主流的嵌入式操作系统有Linux、WinCE和μC/OS—II,其中Linux以其充分的开源性和良好的可移植性被广泛使用,此次设计选取Linux 3.0.1版本的系统。

2.1.1 内核的裁剪与移植

内核的裁剪就是对各个功能进行裁剪,选取满足特定平台和需求的功能。Linux内核采用模块化设计,并且各个模块源码以文件目录的形式存放,在对内核的裁剪和编译时非常方便。

1)USB摄像头驱动模块的添加

进入内核文件目录,执行make menuconfig命令,进入Linux内核配置界面一次选择Device Drivers->Muhimedia devices->Video For Linux->Video capture adapters->V4L USB devices->USB Video Class (UVC1->UVC input events device support将USB摄像头驱动编译进内核。

2)SDIO WIFI驱动模块的加载

系统的通信方式采用的是,由于这是系统的基本功能,可以采用将无线网卡驱动直接编译进内核的方式来实现。具体过程如下:

进入Linux内核配置主界面后,首先配置网络支持:Networking support->Wireless,然后配置网卡驱动支持:Device Driver->Network device->Wireless LAN->Wireless LAN(IEEE802.11),最后配置SD HOST驱动支持:Device Driver->MMC/SD/SDIO card support。

对内核配置完成后,使用make zImage指令编译Linux内核,将生成可引导的、压缩的zImage映像文件,可直接烧写到开发板。

2.1.2 引导加载程序Bootloader的移植

Bootloader是操作系统运行前执行的一段小程序,在对系统硬件进行初始化,完成内存空间映射表的建立等操作后,实现对操作系统的加载。常用的Bootloader种类主要有:RedBoot、ARMboot、Vivi、U—Boot和Blob等。由于U—boot的开源性,以及多功能、灵活性强,支持多种平台的特点,使其在多种平台上得到了普遍的采用,本设计也使用U—Boot来引导系统的启动。

2.1.3 根文件系统的移植

文件系统是操作系统在磁盘上组织文件的方法,通过使用文件系统,用户可以对数据进行透明且有效地存取和访问。Linux根文件系统通常包含如图所示的目录结构:

Yaffs是第一个专门为Nandflash存储介质而设计的嵌入式文件系统,yaffs有很好的鲁棒性,对启动时间和RAM使用都做了优化,加快了文件系统的加载和访问速度。故本文用yaffs作为根文件系统。

2.1.4 一键烧写Linux

OK6410支持一键烧写,就是借助SD卡、系统映像和烧写工具,通过一系列的操作,非常迅速地烧写Linux到开发板的Nandflash中。具体步骤如下:

1)将SD卡格式化为FAT32格式,通过SD_Writer.exe将mmc.bin烧写到SD卡中;

2)将U—Boot、zImage和yaffs2文件拷贝到SD卡中;

3)将SD卡插入开发板,拨动开发板的拨码开关,设置为SD卡启动;

4)设置DNW串口,给开发板上电,等待5分钟左右即可;

5)断电,将拨码开关设置为Nandflash启动,重新启动电源,便完成系统烧写。

2.2 Mjpg—streamer移植


上一页 1 2 下一页

评论


相关推荐

技术专区

关闭