EDN China > 设计实例 > 嵌入式系统 > 正文
?

基于ARM的视频监控终端的设计与实现

武汉理工大学自动化学院 苏义鑫 胡 杰?? 2008年08月04日 ?? 收藏0

  引言

  视频监控系统在工业、军事、民用领域有着广泛的应用,为这些行业的安全防范和环境监控起到了不可忽视的作用。视频监控系统正逐步由模拟化走向数字化,随着半导体技术的飞速发展和多媒体视频编解码技术的日益成熟,高性能、复杂的视频流压缩算法在嵌入式系统中的应用成为了现实。如今监控系统多采用专用处理器或RISC嵌入式处理器与DSP相结合的方法实现,本文探讨的是用ARM处理器与软件压缩相结合的办法实现。

  视频监控系统总体设计

  首先需要对系统进行总体规划,将系统划分成几个功能模块,确定各个模块的实现方法。整个视频监控系统采用C/S结构,从主体上分为两部分:服务器端和客户端。服务器端主要包括S3C2410平台上运行的采集、压缩、传输程序,客户端是PC机上运行的接收、解压、回放程序。视频监控终端从现场的摄像头捕获实时的视频信息,压缩之后通过以太网传输到视频监控服务器上。

  如系统结构图(图1)所示,视频图像采集和打包发送在服务器端完成,图像的接收解包和回放将在客户端完成。

系统结构图

  系统的硬件设计

  系统采用模块化设计方案,主要包括以下几个模块:主控制器模块、储存电路模块、外围接口电路模块、电源和复位电路,如图2所示。

系统的硬件设计

  S3C2410主控器模块

  主控器模块是整个系统的核心,采用的S3C2410处理器是Samsung公司基于ARM920T处理器核的16/32位微控制器,该处理器最高运行频率可达到203MHz,它的低功耗、精简和全静态设计特别适合于对成本和功耗敏感的应用。S3C2410提供了丰富的片内资源,支持Linux,是本系统的合适选择。它能完成整个系统的调度工作,在系统上电时配置所有需工作的芯片的功能寄存器,完成视频流的编码,并通过以太网控制器控制物理层芯片发送视频码流。

  系统存储电路模块

  主控器还需一些外围存储单元如Nand Flash,和SDRAM。Nand Flash 中包含Linux 的Bootloader、系统内核、文件系统、应用程序以及环境变量和系统配置文件等;SDRAM读写速度快,系统运行时把它作为内存单元使用。设计采用了64M的Nand Flash和64M的SDRAM。

  外围电路模块

  本设计用到的外设有USB接口,网卡接口,RS232接口和JTAG接口。

  视频监控终端的USB主控制器模块通过专用的USB集线器与多个USB摄像头相连。在实时监控状态下,各个摄像头上捕获的图像数据通过USB集线器传输到视频监控终端的USB主控制器模块上,然后再由USB主控制器模块交由S3C2410处理器集中处理。S3C2410对采集到的图像进行实时编码压缩,编码之后的码流直接传输到发送缓冲区中,等候发送。

  本设计采用CS8900A扩展网络接口,它是CIRRUS LOGIC公司生产的16位以太网控制器,通过内部寄存器的设置来适应不同的应用环境。S3C2410通过地址、数据、控制线以及片选信号线对CS8900A网络芯片进行控制和通信。CS8900A与S3C2410的连接如图3所示,CS8900A由S3C2410的nGCS3信号选通,CS8900A的INTRQ0端用来产生中断信号,与S3C2410的16位数据总线相连,地址线使用了A[24:0]。

CS8900A与S3C2410的连接

  CS8900A以太网控制芯片通过DMA通道进行数据的传输。首先设置好传输控制和传输地址寄存器的参数,依次从指定的数据存储区域读取数据,送入内部发送缓冲器中,用MAC对数据进行封装发送。一组数据发送完后,请求DMA中断,由S3C2410进行处理。

  RS-232接口与PC机串行总线相连,通过PC机对嵌入式系统进行相关信息显示和控制。而JTAG接口主要是对系统进行调试,还可将程序烧写到Flash中。

  系统的软件设计

  视频监控终端的软件设计主要完成两方面的工作:

  (1)在硬件上搭建一个软件平台,搭建嵌入式Linux软件开发平台需要完成UBOOT移植、嵌入式Linux操作系统内核移植以及嵌入式Linux操作系统的设备驱动程序的开发等工作。

  (2)在软件平台的基础上,开发系统的应用程序。借助交叉编译工具,开发视频监控终端上运行的采集、压缩、传输程序。


上一页12下一页
?? ?? ??


打开微信“扫一扫”,打开网页后点击屏幕右上角分享按钮

1.扫描左侧二维码
2.点击右上角的分享按钮
3.选择分享给朋友
?? ??

ARM? 视频监控? S3C2410?

相关文章

我来评论
美国的游客
美国的游客 ??? (您将以游客身份发表,请登录 | 注册)
?
有问题请反馈