S3C4510B芯片在远程数字视频监控系统中的应用
作者:庄可,林斌,程亮 时间:2006-08-10 20:58 来源:
摘要:介绍了基于ARM体系结构的32位微控制器S3C4510B在远程数字视频监控系统中的应用。方案采用以S3C4510B为核心的控制模块,以OV6630为核心的图像采集模块,两大模块通过MPEG编码芯片和CPLD组成完整的系统。主要介绍了以S3C4510B为核心的控制模块的软硬件实现过程,成功地将32位微处理器应用于远程数字视频监控领域。
关键词:视频监控;ARM;S3C4510B;μClinux
1引言远程数字视频监控被广泛用于危险工业现场、无人值守车间及民用安防领域。与传统模拟监控相比,数字视频监控系统具有诸多优点:数字信息抗干扰能力强,适合远距离传输并且能够进行加密;可用计算机对图像信息进行压缩、分析、存储和显示,使整个系统易于管理和维护;充分利用现有网络资源,无需大规模布线即可实现远程监控。目前市场上的视频采集设备大多采用基于PC的体系结构,现介绍一种应用于网络视频监控设备中的ARM嵌入式系统,具有视频采集、图像处理功能,带有以太网接口、TCP/IP协议栈、WebServer,可直接与Internet互连。Internet上的授权用户可以使用标准的浏览器,根据IP地址访问此终端,观看网络实时传输的图像或控制摄像机云台镜头的动作。同基于PC的结构相比,嵌入式的视频监控系统具有运行稳定、体积小、功耗低、易于安装、使用方便和便于维护等优点。
2数字视频监控系统
整个视频监控系统主要分为两部分:图像处理模块和网络处理模块。图像处理模块由CMOS图像传感器OV6630完成视频采集,A/D转换以及数字图像的输出;由MPEG-2编码芯片SAA6752HS完成视频数据的压缩编码;CPLD单元实现各模块的选通、缓冲、读/写控制,向S3C4510B申请中断并响应中断信号;双口RAM用来存放一帧的MPEG22压缩数据,当S3C4510B响应CPLD的中断申请后,便从此处读出数据。网络传输部分则由S3C4510B的以太网Mac层连接物理层芯片DM9161实现。此外,S3C4510B还可以通过串行口控制云台,调整摄像机的角度。数字视频监控系统的基本框图如图1所示。

图1基于S3C4510B的数字视频监控系统
3数字视频监控系统的硬件实现 3.1ARM微处理器S3C4510B
数字视频监控系统的核心是韩国的三星电子生产的16/32位RISC微处理器S3C4510B。该微处理器专为以太网通信系统的集线器和路由器而设计,具有低成本和高性能的特点。S3C4510B中内置了ARM公司设计的16/32位ARM7TDMI内核,可以执行32位的ARM指令或16位的Thumb指令,操作频率最高达50MHz。S3C4510B提供了8K字节的Cache和以太网控制器,内置2通道的HDLC(高级数据链路控制),2个UART(通用异步收发)通道,32位定时器和18个通用可编程I/O端口。S3C4510B上移植了μClinux作为操作系统,通过I
2C接口初始化图像采集芯片及图像压缩芯片,并响应CPLD的中断申请,从双口RAM中读取视频流数据并打包发送到网络上去。同时,在操作系统的平台下可运行用户程序,实现远程监控。
3.2图像处理模块
Omnivision公司在CMOS图像传感器市场处于领先地位,选用其生产的OV6630作为图像采集芯片,直接输出16位YUV4:2:2格式标准数字视频信号,ARM芯片可以通过其I
2C总线接口控制芯片的各种工作状态、工作方式、数据输出格式和读取内部状态。SAA6752HS是Philips公司的第二代实时MPEG-2编码芯片,可与OV6630直接相连,其编码软件都已固化在芯片中,无需额外的软件开发,同样可以通过I
2C总线设定编码的相关参数。CPLD采用Xilinx的XCR3128XL,负责将压缩好的每帧图像数据存储到双口RAM中,同时,每存储完一帧数据后,CPLD产生一个中断请求信号,通知S3C4510B读出数据。如果收到CPU的中断响应信号,使存储器芯片选信号和写信号同时为低电平,直到CPU读完一帧数据。
3.3网络处理模块
S3C4510B内嵌一个10M/100M以太网控制器,支持媒体独立接口(media independent interface,MII)和带缓冲DMA接口(buffered DMA interface,BDI)。在半双工模式下,控制器支持CSMA/CD协议,在全双工模式下支持IEEE802.3MAC控制层协议。S3C4510B内部虽然已包含了以太网MAC控制,但是并未提供物理层接口,因此,需外接一片物理层芯片以提供以太网的接入通道。系统采用DM9161作为单口10M/100Mbps高速以太网物理层接口器件,DM9161提供MII接口和传统7线制网络接口,可方便地与S3C4510B对接。DM9161的主要功能部件包括:物理编码子层、物理媒体附件、双绞线物理媒体子层、10BASE2TX编码/解码器和双绞线媒体访问单元等。图2是以太网接口的连接示意框图:

图2以太网接口连接示意框图
4数字视频监控系统的软件实现
系统硬件平台搭建完成后,软件的实现主要有以下步骤:Boot Loader程序的编写,操作系统μClinux的移植,μClinux下应用程序的开发等。
4.1Boot Loader程序编写
Boot Loader即为启动代码,作用与PC机上的BIOS类似,通过Boot Loader可以完成对系统板上的主要部件如CPU、SDRAM、Flash、串行口等进行初始化,也可以下载文件到系统板、对Flash进行擦除与编程。作为系统复位或上电后首先运行的代码,Boot Loader应写入Flash存储器中并从起始物理地址0x0开始。Boot Loader根据实现的功能不同,其复杂程度也各不相同。在系统中,Boot Loader的工作流程如图3所示。
4.2操作系统μClinux的移植
4.2.1μClinux简介
μClinux是一个完全符合GNU/GPL公约的项目,完全开放代码,现由Lineo公司支持维护。μClinux从Linux2.0/2.4内核派生而来,在标准的Linux基础上进行了适当的裁剪和优化,形成了一个高度优化的、代码紧凑的嵌入式Linux。虽然它的体积很小,但是μClinux仍然保留了Linux的大多数的优点:稳定、良好的移植性、优秀的网络功能、对各种文件系统的支持、以及标准丰富的API等。专门针对没有MMU(内存管理单元)的CPU,例如系统所采用的CPUS3C4510B就不带MMU。
4.2.2针对硬件的改动
μClinux已经被成功的移植到包括S3C4510B在内的多款ARM芯片上,但由于嵌入式操作系统的运行与硬件是密切相关的,在不同的使用环境中硬件的设计往往千差万别,因此要对μClinux内核源代码中的硬件驱动程序进行修改。可在内核程序的hardware.h中设置CPU的主频以及各个寄存器的初始化值。

图3BootLoader工作流程
4.2.3交叉编译μClinux内核
所谓交叉编译,就是在一个平台上生成可以在另一个平台上执行的代码,在系统中,因为目标硬件S3C4510B无法安装所需的编译器,所以需要借助于宿主机(PC),在宿主机上μClinux的内核进行编译。μClinux内核的源代码完全公开,可以在网上免费下载,在相应目录中输入两次make menμConfig命令会出现菜单配置对话框,在产品列表中选择Samsung/4510B,在库的列表中选择μC-libc,保存退出即可开始编译。对一系列文件进行编译后,最后输入make命令,系统会根据各个目录的Makefile文件对内核进行编译,编译完成后/μClinux-Samsung/images目录下会生成名为image.rom的内核文件。将image.rom可烧写入ROM/SRAM/FLASH Bank0对应的Flash存储器中,当系统复位或上电时,内核会自解压到SDRAM中并开始运行。
4.3在μClinux下配置网络
μClinux移植完成后,可通过S3C4510B的UART1和PC的串行口进行通讯。Windows环境中,可以使用超级终端建立串口与目标硬件的连接,内核默认的端口设置为:波特率19200,数据位为8,无校验,停止位为1,无流控。目标硬件上电后,即可在终端界面上看到μClinux的启动信息。此时可在终端窗口下使用Linux命令,可通过以下命令手工配置网络:
#ifconfigeth0192.168.0.2
#routeadd-net192.168.0.0netmask255.255.255.0eth0
网络配置完成后可以用ping命令检查网络是否连通。
4.4添加用户应用程序
数字视频监控系统的用户程序分为两类,一类是图像处理模块的设备驱动程序,通过I2C接口初始化图像采集芯片和图像压缩芯片;另一类是构建WebServer实现远程监控的网络应用程序及控制云台的应用程序。确认网络连通后,便可将用户程序添加到μClinux中。开发过程中,可以利用S3C4510B的以太网接口和μClinux操作系统本身强大的网络功能,通过局域网在宿主机和目标系统之间用FTP进行文件传输。由于通过网络传输的文件是放在SDRAM中的,目标系统掉电后,内容就会丢失,因此该方法只适用于开发阶段。最后必须将用户源程序交叉编译后,生成可执行文件放在romfs/bin下,然后重新编译μClinux内核并烧写到Flash存储器中。
5结束语S3C4510B凭借其高性价比、丰富的接口以及对网络的强大支持,使其非常适合作为远程视频监控系统的控制核心。μClinux操作系统对ARM7系列芯片及网络协议的强大支持,Linux下丰富且开放的源程序资源,都使得该远程视频监控系统具有广阔的应用前景和诱人的商业价值。视频监控系统正向着基于嵌入式系统技术和Internet技术的方向靠拢,在解决了网络安全的问题后,视频监控系统应该向开放性系统的方向发展,实现与其他应用的无缝连接。