引言
随着嵌入式技术的迅猛发展和Linux在信息行业中的广泛应用,视频采集与传输系统作为远程视频监控、可视电话会议和工业自动控制领域的一项核心技术,近年来已经得到了飞速的发展。本文在基于嵌入式Linux系统平台上,采用USB摄像头捕捉视频信号,利用V4L内核应用编程接口函数,实现了视频连续帧图像的采集,并保存成文件的形式利用无线传输方式传输给接收端。这里着重讨论视频采集发送端的实现。
1 系统组成
1.1 统的硬件构成
本系统包括发送端和接收端2部分,两部分均采用Samsung公司生产的S3C2410处理器做硬件开发平台。S3C2410在片上集成了丰富的组件:分开的16 KB指令Cache和16 KB数据Cache、用于虚拟存储器管理的MMU、支持STN和TFT的LCD控制器、NAND Flash启动装载器、具有片选逻辑和SDRAM控制器的系统管理器、3通道UART、4通道DMA、4通道PWM定时器、I/O口、RTC、8通道10位ADC和触摸屏接口、I2C总线接口、I2S总线接口、USB主设备、USB从设备、SD卡和MMC卡接口、2通道的SPI以及PLL时钟发生器,还采用了AMBA(advanced micrcocontroller bus architecture)新型总线结构。
应用S3C2410处理器平台搭建的发送端硬件结构如图1所示:包括S3C2410处理器、RS232接口、JTAG接口、RJ-45接口、SDRMA、Flash、电源、通过USB口连接的视频采集模块和通过USB接口连接的视频发射模块。RS232串口用于人机交互及低速数据的收发,应用电平转换芯片MAX-323进行串口电平和TTL/CMOS电平的转换。JTAG接口用于下载Bootloader。RJ-45接口用于和以太网连接,下载操作系统Linux内核、根文件系统和应用软件。SDRMA用于系统的数据存储器、Flash用于系统的程序存储器。
应用S3C2410处理器平台搭建的接收端硬件电路如图2所示:与发送终端相比,多了SD卡和LCD显示器。SD卡主要用来存储数据,LCD显示器主要用来显示视频图像。
1.2 系统软件设计
系统的软件构成分为引导驱动程序、操作系统、文件系统和应用程序4部分,如图3所示。引导驱动程序在系统启动时进行内存重映射,将保存在Flash中的操作系统和应用程序重新映射到SDRAM中。Linux的内核版本为LinIix2.6。文件系统是Yaffs,它包括模块、配置文件和库等。系统的应用程序建立在嵌入式Linux内核、摄像头驱动和文件系统之上。[page]
2 视频采集的具体实现
USB摄像头连接简单、使用灵活、价格低廉且具有良好的性能,因此,得到了广泛的应用。Linux内核包含了多种USB摄像头驱动,最常用的有基于OV5ll及其兼容芯片。OV511芯片主要包括CAMERA接口、DRMA接口、ISO FIFO接口和OmniCE以及USB控制器等部分。本设计使用的是在低端市场占有率较高的中芯微公司生产的ZC030x系列摄像头芯片。Linux系统中的视频子系统’Vide04linux为视频应用程序提供了一套统一的API,视频应用程序通过调用API即可操作各种不同的视频捕获设备,包括电视卡、视频捕捉卡和USB摄像头等。本设计的具体实现过程如下所述:
2.1 摄像头驱动的实现
1)配置Vide04linux内核
在终端使用make menuconfig命令打开S3C24lOlinux内核编译的main menu窗口,并进入“multimedia device———>”菜单选项,然后将Video for Linux配置为模块,即:
Device driver———>
Multimedia devices———>
<*>Video for linux
2)配置OV511驱动
返回主菜单,在进入“USB support———>”菜单选项,然后将USB OV5llcamera support设置为模块,即:
SUB suppor———>
<*>USB OV5llcamera support(NEW)
3)模块安装
执行以下命令安装视频输入模块:
insmod videodev.o
执行以下命令安装视频输入设备驱动模块:
insmod usbcore.o
insmod usb-ohci-s3c2410.ko
insmod ov511.o
由于使用的设备是USB接口的摄像头,所以在加载ov511.o模块前,需要加载USB内核驱动和主机控制器驱动
参考文献:
[1]. RS232 datasheet http://www.dzsc.com/datasheet/RS232_585128.html.
[2]. TTL datasheet http://www.dzsc.com/datasheet/TTL_1174409.html.
[3]. main menu datasheet http://www.dzsc.com/datasheet/main+menu_1082504.html.
关键字:Linux平台 图像采集 S3C2410
引用地址:
基于嵌入式Linux平台的图像采集与传输设计
推荐阅读最新更新时间:2024-03-16 13:19
S3C2410启动代码详解(1)
花了好几在的时间研究S3C2410r的启动代码,终于看完!在参考了一些资料后,加上自己的理解,留下点笔记。有些地方可能不正确,有待改正: 通常,启动代码是指CPU复位后到进入C语言的main函数之前需要执行的那段汇编代码.这是由于C语言程序的运行需要具备一定的条件,比如:分配好外部数据空闿堆栈空间和中断入口等筿另外汇编代码可以更直接的对硬件进行操使效率更高. 通常启动代码是放圿410init.s汇编文件;特殊功能寄存器定义在2410addr.s;Memory Bank 配置在mencfg.s;还有系统的选项等在option.s文件;2410init.s不仅包括复位后执行的代码,还包括CPU进入掉电模式,产生中断等和处理器
[单片机]
基于ADS的S3C2410实现嵌入式串口通信
引言 ARM ADS全称为ARM Developer suite(ARM开发套件)。ADS的CodeWarrior集成开发环境(IDE)是基于Metrowerks CodeWarrior IDE4.2版本的,经过适当的裁剪以支持ADS工具链,为管理和开发项目提供了简单多样化的图形用户界面,用户可以使用ADS的CodeWarrior IDE为ARM和Thumb处理器开发用C、C++或ARM汇编语言的程序代码,缩短了用户开发项目代码的周期。ADS中包括3个调试器:AXD(ARM ExtendedDebugger)、ARMSD(ARM Symbo l i c Debugger)、ADW/ADU(Appl ICat ion Deb
[单片机]
SoPC技术在图像采集和处理系统中的应用设计
随着计算机技术和人工智能技术的快速发展,图像识别技术已成为人工智能的基础技术,它涉及的技术领域越来越广泛,应用越来越深入。随着现代工业生产向高速化、自动化方向的发展,以形状为特征的图像识别在现代生产中的应用日益增加,不论是材料、工业自动化、遥感技术,还是产品质检都需要对形状进行检测。因此,开发集图像信号的采集与处理于一体、具有高集成度、高保密性的图像处理系统将成为行业的发展趋势。此外,基于32 bit微处理器纯嵌入式系统的图像采集处理技术正处于方兴未艾阶段,发展前景广阔,可广泛应用于工业自动化生产、监护/防盗系统、机器人视觉等技术中。SoPC技术是Altera公司提出的一种灵活、高效的SoC解决方案,是一种新的软硬件协同设计的系
[嵌入式]
基于Linux的ARM9远程客车监控系统
随着我国汽车数量的增加和国家公路网的建设,城市间的往来日益频繁,受经济利益的驱使,长途客运市场普遍存在超员等问题,由此造成的重特大交通事故逐年增加,已严重威胁了人民群众的生命和财产安全。目前,客运交通监管部门主要采用设立检查站和路上巡检的传统方法检测客车是否超员,这些方法耗费人力物力,自动化程度不高,管理落后而且检测精度很低。在国内,只有少数地区对当地的部分运营车辆安装了智能检测设备。本文设计的监控终端以GPS定位信息和车内的图像数据为基础,利用GPRS无线通信技术,通过Internet建立与交通监管中心的通信,对长途客车的超员、超速、以及车辆运行状况、突发事件等进行实时监控,为交通监管、车辆调度、事故处理提供了必要的依据和证据
[单片机]
U-Boot在S3C2410上的移植
引言 U-Boot是用于初始化目标板硬件,为嵌入式操作系统提供目标板硬件配置信息,完成嵌入式操作系统装载、引导和运行的固件程序。它能够将系统的软硬件紧密衔接在一起。S3C2410是三星公司的一款基于ARM920T核的嵌入式通用处理器。本文将详细介绍U-Boot在S3C2410开发板上的移植与运行。 U-BOOT简介 U-Boot支持ARM、PowerPC等多种架构的处理器,也支持Linux、NetBSD和VxWorks等多种操作系统。它提供启动加载和下载两种工作模式。启动加载模式也称自主模式,一般是将存储在目标板Flash中的内核和文件系统的镜像装载到SDRAM中,整个过程无需用户的介入。在使用嵌入式产品时,一般工作
[嵌入式]
基于44B0平台的uC-Linux Web服务器实现方法研究
前言嵌入式系统已经大量应用于各种场合,网络技术的发展使嵌入式系统的网络功能日益完善。在测控领域里,常常需要远程查询被测控对象的实时状态,或进行某种控制操作,采用服务器-浏览器进行工作的嵌入式系统,可以仅通过浏览器就完成所有的测控任务而不依赖于其他客户端程序,具有简单网络服务器功能的嵌入式系统可以方便地提供这种功能。本文以目前国内外普遍采用的ARM+uCLinux嵌入式系统为例,以uCLinux20031103版本为基础,以S3C44B0X开发板为平台,对uCLinux下实现静态、动态Web服务器的方法进行了研究,实现了对远程温度传感器的访问。 1. uCLinux简介Linux是一种很受欢迎的操作系统,它与UNIX系统兼容,开放源代
[单片机]
低照度CCD图像采集及噪声预处理
摘 要: 介绍电荷耦合器件CCD,及其在低照度条件下的噪声影响机制,并从图像预处理的角度分析噪声消除的可能性,最后通过现场可编程器件FPGA从硬件上实现低照度条件下CCD图像采集的实时噪声消除预处理。
关键词: 低照度图像 实时噪声处理 电荷耦合器件(CCD) 可编程器件(FPGA)
八十年代后期,CCD器件进入实用阶段,得到广泛的应用。但直接用在低照度下的监测和识别时,信噪比急剧下降。在军事和天文观测中可采用专用的像增强器,但在普通的应用中,为降低成本一般通过计算机进行图像处理提高信噪比。本文提供一种折衷的方案,通过分析CCD的特点,采用硬件的方法实现图像增强,为计算机后端减少了大量复
[测试测量]
基于Linux和S3C2410的嵌入式图象传输系统设计
1 引言 如何更好的获得监控现场的图象数据一直是棘手的一个问题,传统的方法是采用CCD摄象机获取现场的视频信息,这种方法易于实现,但成本较高。随着ARM系列处理器应用的越来越广和基于linux的嵌入式技术的迅速发展,利用linux自身带有的TCP/IP协议来实现远程监控、图象传输已成为可能。本文提出的正是一种这样的方法,利用市场上很常见的中星微系列的USB摄象头来得到现场的图象数据,利用linux内核中的Video4Linux编程接口函数采集图象,并把得到的图象通过Internet传输到上位机PC上,在PC上实现图象的保存和显示。 2 硬件系统设计原理 系统的硬件功能框图如图1所示,CPU采用的是三星公司的S3C2410。该
[应用]