基于ARMS3C2410和流媒体技术的网络视频采集

更新时间:2023-05-23 03:41:01 阅读量: 实用文档 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

基于ARMS3C2410和流媒体技术的网络视频采集

科技情报开发与经济

文章编号:1005-6033(2008)03-0171-02

SCI-TECHINFORMATIONDEVELOPMENT&ECONOMY2008年第18卷第3期

收稿日期:2007-10-26

基于ARM和WINCE的USB视频

采集与传输系统的设计

娟1,王陆林2,刘贵如3

(1.山西管理职业学院,山西临汾,041051;2.西南交通大学信息科学与技术学院,四川

成都,610031;3.云南师范大学计算机科学与信息技术学院,云南昆明,650092)摘

要:介绍了一种基于S3C2410硬件平台和嵌入式WinCE操作系统的USB视频采

集与传输系统的总体设计方案,详细阐述了系统的总体结构和各模块功能特点,对

USB视频采集和视频传输各功能模块的实现进行了论述,并给出了相关模块驱动程序

和应用软件的实现方法。

关键词:S3C2410;USB;WinCE;LAN91C113;视频采集;视频传输中图分类号:TN948.64

文献标识码:A

在S3C2410处理器的控制下,将从USB摄像头采集到的视频通过以太网络发送到远端监控中心。系统工作原理见图2。

随着网络技术和数字视频技术的发展,网络视频监控已被广泛使用在一些重要场所,方便了对现场进行实时监视。它可以充分利用现有网络资源。本系统采用了S3C2410处理器,主频200MHz,采用目前常用的输出的视频为经过JPEG压缩后的数字视频,USB摄像头实现视频采集。

故无需再进行视频压缩,再加上以太网不会受到网络带宽限制,所以采集到的数字视频可以直接通过以太网传输到上位监控主机,减少了硬件设计的复杂度。

本系统采用罗技—快看高手版PRO5000USB摄像头实现视频采集,S3C2410主控制器通过USB接口采集JPEG压缩后的数字视频然后通过以太网将视频发送到上位PC机,实现对现场进行实时视频监控。

1系统总体设计

系统主要包括两部分:一是USB数字视频数据采集系统,二是视频

图2系统工作原理图

2.1

系统硬件电路设计

视频采集模块电路设计

由于S3C2410芯片有一个内置的USB主控制器。通过此USB主控

网络传输子系统。系统硬件总体结构框图见图1。

调试、软件升级接口

视频采集

接口可以和USB摄像头直接连接。S3C2410USBHost接口电路见图3。

VDD5

USBHost

C24

SDRAM

S3C2410ALAN91C113

以太交换机

USB设备口串口

C29

R1624R

215k!R12

R13

15k!18pF18pF

10"fVBUSD-D+GNDS15

S2

NANDFlash

JTAG口

视频传输

USBH-USBH+

S3C2410R1724R

C30

图1

系统硬件总体结构

图3

嵌入式处理器采用韩国三星公司的基于ARM920T内核的16/32位低功RISC嵌入式微处理器S3C2410,主频200MHz,主要面向高性价比、耗的手持移动设备的应用。S3C2410的内置有丰富的外设资源,包括存储器、串口、LCD、IIC,IIS和USB等接口电路。

S3C2410USBHost接口电路

2.2视频网络传输模块电路设计

LAN91C113以太网络控制器通过16位数据线和16位地址线以及控制线直接和S3C2410的数据、地址和控制总线连接。nGCS4片选接

USB摄像头采用罗技—快看高手版PRO500,它采用高品质CMOS图像传感器感应器,130万像素,最大分辨率640×480,高速USB2.0传输接口,另外内置麦克风,采用Rightsound技术,清晰、无回音的语音系统。从此USB摄像头采集到的视频是经过JPEG压缩后的数字视频,可以直接在以太网上传输。

以太网络芯片采用SMSC公司的LAN91C113芯片,它是单片全双工10MB/100MB以太网络控制器,片上集成了MAC和PHY控制器,支持8/16位数据总线接口和CPU通信。

AEN存储空间被映射到0x2000_0000~0x2800_0000物理空间。nBE0,nBE1为高低字节有效信号,分别接S3C2410的nWBE0和nWBE1引脚。nRD和nWR分别为读写有效信号与S3C2410对应引脚连接。INTR0中断信号引脚接S3C2410的外部中断引脚EINT20。ARDY为等待联络信号接nWAIT引脚。LAN91C113和S3C2410的连接电路见图4。

3系统软件设计

软件系统由系统引导加载程序Nboot+Eboot、嵌入式WinCE内核、

171

基于ARMS3C2410和流媒体技术的网络视频采集

侯娟,王陆林,刘贵如基于ARM和WINCE的USB视频采集与传输系统的设计本刊E-mail:bjb@mail.sxinfo.net信息技术

DATA[15:0]nGCS4nWEB0nWEB1nRDnWREINT20nWAITS3C2410图4

D[15:0]A[15:0]AWENnBE0nBE1nRDnWRINTR0ARDYLAN91C113

3.2

#defineCLIENT_REGKEY_SZ)\\Video_Class”

(“Drivers\\USB\\ClientDriversTEXT

ADDR[15:0]

系统上电后,驱动自动加载后,我们就可以像操作普通摄像头一样对USB摄像头进行数据读取操作了。

LAN91C113NIC驱动程序设计

该系统针对LAN91C113芯片开发了基于WinCE的NDIS微端口驱

(也叫微端口NIC驱动程序),它负责与LAN91C113通信,完成协动程序

议包数据的收发,并且通过NDIS库与高层驱动程序通信。NDIS库向下提供了一整套函数(NdisXXX函数),这些函数封装了微端口需要调用的所有操作系统函数。同时,微端口也向上提供了一组入口函数(MiniportXxx函数),便于NDIS为了完成自己或高层驱动程序的任务而访问微端口。在驱动程序中向NDIS_MINIPORT_CHARACTERISTICS结构体变量WTChar赋值了一系列在驱动中实现的函数的指针,然后调用系统函数NdisMRegisterMiniport向NDIS注册了这些函数,并同时调用系统函数NdisMRegisterInterrupt向NDIS注册了一个系统中断。

S3C2410和LAN91C113接口电路

USBCamera驱动和LAN91C113NIC驱动和应用程序等组成。本设计在三星提供的标准的S3C2410BSP基础上针对硬件平台做适当移植后,在

PlatformBuilder集成环境中可以根据具体的需求方便的定制WinCE内核。另外可以通过eMbeddedVisualC++开发WinCE平台下的驱动和应用程序。在这里我们着重介绍USBCamera和LAN91C113NIC驱动程序的开发及视频收发应用程序的实现。

LAN91C111_MiniportSend负责将要发送的协议包数据取下来放到发送队列中发送。LAN91C111_MiniPortHandleInterrupt负责协议包数据的物理发送和接收并传递给协议层。

3.1WinCE平台下USBCamera驱动开发

在WinCE下USBCamera是位于USBHOSTDevice驱动之上的驱

4结语

系统利用S3C2410内置的USBHost接口直接和USB摄像头连接,

动,通过流接口驱动模型来实现的。驱动以WEBCAM.DLL的形式向

WinCE系统注册。首先通过CAM_Init来初始化Camera设备。对USB摄像头的控制是通过CAM_IOControl来实现的。这些IO控制指令通过开USB通道发送给USB摄像头来实现对其控制,包括获取/设置参数、始/停止获取视频和获取静态图像等。

实现简单,图像采集的速度可以达到20帧/s,无线视频传输模块采用总线方式和S3C2410通信,摆脱了HCI瓶颈限制,大大地提高了视频数据的传输速度。本无线视频监控系统具有开发周期短、设备简单、体积小和成本低等特点,与传统的和目前的视频监控方案相比具有无可比拟的优越性。

参考文献

[1][2][3]

[M].北MicrosoftCorp.MicrosoftWindowsCE设备驱动程序开发指南周毓林,宁杨,陆贵强,等.WindowsCE.net内核定制及应用开发[M].北京:北京大学DouglasBoling.MicrosoftWindowsCE程序设计

(责任编辑:王永胜)

京:北京希望电子出版社,1999.[M].北京:电子工业出版社,2006.出版社,1999.

WinCE平台下的驱动都以动态库的形式向系统注册。camera.dll除提供流驱动入口DllMain外还提供以下流接口导出函数

USBInstallDriver,USBDeviceAttach,USBUnInstallDriver,CAM_Close,CAM_Deinit,CAM_Init,CAM_IOControl,CAM_Open,CAM_PowerDown,CAM_PowerUp,CAM_Read,CAM_Seek和CAM_Write等13个函数。在platform.reg中添加以下注册项即可。

[HKEY_LOCAL_MACHINE\Drivers\USB\LoadClients\1133_2245\De-

fault\Default\Video_Class]

“DLL”“webcam.DLL”=

[HKEY_LOCAL_MACHINE\Drivers\USB\ClientDrivers\Video_Class]“Prefix”“CAM”=“Dll”“webcam.DLL”=

另外还要在USBCode.cpp中针对USB摄像头的PID、VID对以下定义做修改:

───────────────

第一作者简介:侯

娟,女,1980年11月生,2002年毕业于山西师

范大学,现为山西大学2006级在读硕士研究生,助理讲师,山西管理职业学院招生办,山西省临汾市,041051.

#defineVID_LOGITECH1133

#definePID_QUICKCAMPRO50002245

在WebCam.h文件中针对以下几项定义要做修改:

#defineDRIVER_NAME#defineDEVICE_PREFIX#defineCLASS_NAME_SZ

(“Webcam.dll”)TEXT(“CAM”)TEXT

(“Video_Class”)TEXT

TheDesignofUSBVideoCollectionandTransmission

SystemBasedonARMandWinCE

HOUJuan,WANGLu-Lin,LIUGui-Ru

ABSTRACT:ThispaperintroducesthegeneraldesignschemeofUSBvideocollectionandtransmissionsystembasedonS3C2410hardwareplatformandWinCEoperation

system,expoundsthegeneralstructureofthesystemandthefunctionalfeaturesofeachmodule,introducesindetailtheimplementationofeachfunctionalmoduleforUSBvideocollectionandtransmission,andputsforwardthedriversofrelatedmodulesandtheimplementationmethodsoftheapplicationsoftware.KEYWORDS:S3C2410;USB;WinCE;LAN91C113;videocollection;videotransmission

本文来源:https://www.bwwdw.com/article/5bh4.html

Top