硬件部分以三星公司的ARM9芯片S3C2410和韩国的专用视频芯片AT2042为核心。S3C2410主要实现系统控制功能,例如对AT2042的配置,接收视频流数据并利用USB存储设备进行存储;配置网络接口建立起完善的网络功能,以方便用户通过Internet对其进行远程访问与控制;同时,挂载U盘或硬盘,预留U口或IDE的接口,可供用户选择,实现本地的海量存储功能。
整个系统软件部分主要分为两部分:服务器端和客户端(C/S模式)。服务器端包括Bootloader的编写,Linux操作系统内核的生成,系统文件的配置以及用户应用软件(实时视频传输、录像、远程回放、抓拍);客户端是通过输入IP地址访问指定的服务器,这时客户端会通过网络从服务器端下载并安装预先设计的ActiveX控件,用户可以通过这个控件实现实时监控、视频回放、图像抓拍等功能。系统总体框图如图1所示。
2 系统硬件设计
硬件系统主要由视频编解码部分、网络传输部分、本地存储部分、其他外设和接口部分组成,如图2所示。包括S3C2410和AT2042、NAND Flash和SDRAM、数/模转换芯片TVP5150和模/数转换芯片SAA7112以及网卡芯片LAN91C11。接口包括USB接口、IDE接口、网卡接口、电源接口等。
2.1 视频编解码部分
视频编解码电路主要包括模/数转换电路和视频压缩/解压芯片AT2042。其中,AT2042主要负责对经模/数转换芯片TVP5150转换来的数字视频数据进行硬件压缩。压缩编码过程中,摄像头采集的模拟视频信号先经过TVP5150进行前端处理,产生符合AT2042视频接口标准的数字视频信号。在S3C2410的控制下,该数字视频数据由压缩/解压芯片AT2042进行硬件压缩编码,产生的编码数据流通过芯片内部集成的Mux FIFO接口输出。网络视频服务器的解压缩编码是压缩编码的逆过程,需要解压的数据流通过AT2042内部集成的Demux FIFO接口输入,解压缩编码电路基本原理类似于压缩编码,这里不再赘述。视频编码电路框图如图3所示。TVP5150是TI公司生产的一款电视信号解码专用芯片。它对输入的模拟信号进行A/D转换,TVP5105支持NTSC/PAL/SECAM三种制式,实现模拟视频信号转换为数字并行信号ITU-R BT.601或ITU-RBT.656码流格式。由于AT2042视频接口满足ITU.RBT656标准,故TVP5150输出配置为8位的YUV422格式。
解码芯片TVP5150的AIPIA模拟信号输入口与摄像头的信号输出端相连,并向压缩编码芯片AT2042传送视频信号。由于TVP5150分场同步脉冲和行同步脉冲,分别对应的输出端为VSYNC和HSYNC,AT2042根据与之相连的VSYNCIN和HSYNCIN信号线来实现图像的场同步和行同步操作;AT2042的视频信号输入数据线VIN[7:0]与TVP5150的输出端YOUT[7:0]相连。AT2042将接收到的数据流传送到压缩编码单元,压缩编码后的视频数据存储到外部SDRAM中,同时通过片内的SDRAM控制器来实现对SDRAM的访问,并将数据流通过HPI总线发送到S3C2410以便通过网络传输到PC监控端,用于实现远程的实时监控。[page]
2.2 网络传输部分
主控制芯片S3C2410通过地址、数据、控制线以及片选信号线对网络芯片LAN91C11进行控制和通信。主芯片发送信号时首先置发送使能信号,数据发送信号端TXD0~TXD1与LAN91C11的TXD0~TXD1引脚连接,作为数据的发送通道以S3C2410的时钟信号TCK发送数据。数据接收端RXD0~RXD1与LAN91C11的RXD0~RXD1引脚对应连接,为数据接收通道。
LAN91C11由S3C2410选通信号线AEN来选通,通过对LAN91C11一系列寄存器的设置,可以实现视频流的网络传输。LAN91C11的INTRQ0端用来产生中断信号。以太网控制芯片通过DMA通道进行数据的传输。首先设置好传输控制和传输地址寄存器的参数,依次从指定的数据存储区域读取数据,送入内部发送缓冲器中,用MAC对数据进行封装发送,并同时记录已发送完的字节数,等到整个数据块发送完毕。一组数据发送完后请求DMA中断,由S3C2410进行处理。网络接口框图如图4所示。
2.3 本地存储部分
存储接口选用S3C2410自身的LJSB接口功能,该接口可以实现USB1.1协议。随着大容量、小体积U盘的问世,更多的用户都选择使用该存储介质。
当今的USB技术使得各种能够自行识别的外部设备与设备终端连接,并自行装载驱动程序以运行新的装置。而一般即插即用装置,需要有电源的USB接口进行数据传输并提供电源。当发生短路或连接了受损设备时,如受损的电缆或连接头插入USB接口时,必须对USB集线器及主机装置提供有效保护。USB接口的设计电路如图5所示。
2.4 其他外设和控制接口
其他外设包括Flash、SDRAM、以太网接口、串行通信接口RS232。其中,Flash用于存储操作系统内核和系统软件,待系统上电后加载到内存中;以太网接口将压缩编码后的音视频数据传输到网络;RS232接口主要用于基于控制台的配置和管理。另外,在调试过程中,RS232和以太网接口用于连接宿主机和目标系统平台,方便了网络视频服务器系统的开发和调试。
3 系统软件设计
整个嵌入式系统的软件部分由4部分组成:Boot-loader代码、Linux操作系统的内核生成和Linux下驱动程序及应用程序的开发、文件系统的生成和配置以及用户应用程序。设备驱动模块向上层软件提供一致的接口,主要包括硬件的初始化、总线内存地址映射、内存分配等,分别被存储在NAND Flash的4个分区模块中。本设计采用的是较节省空间的CRAMFS只读文件系统。
3.1 MPEG-4压缩编码的实现
AT2042支持MPEG-1、MPEG-2、MPEG-4、H.263和Motion-JPEG等多种视频压缩标准,以及ADPCM、MPEG-1 Layer-II和Lyer-III(MP3)等音频压缩标准。这些功能是通过配置相应的编码寄存器实现的,例如编码模式、编码像素点、编码帧率及设置编码流格式(PES、PS、TS)等等。本系统中采用MPEG-4模式、720X576、每秒25帧及生成PES流来对视频数据进行编码。
MPEG-4压缩编码部分完成对AT2042和TVP5150相关寄存器的配置,保证了MPEG-4数据流的正常输出。系统启动后,首先配置AT2042的寄存器,初始化完成后,通过I2C总线对TVP5150进行初始化配置。在压缩编码过程中,MPEG-4数据流接收存储程序由AT2042的数据流缓冲器标志信号来进行控制。当缓冲器满时,RISC_INT0置低,主控制器通过DMA通道把从AT2042的网卡接口接收过来的码流通过网络通道传输到PC端。其压缩编码模块程序流程如图6所示。
[page]
3.2 远程网络程序模块
网络控制模块是外部扩展应用程序与视频服务器交互的一个模块。其工作过程是:在监控终端的IE浏览器中输入网络视频服务器的IP地址,嵌入式网络视频服务器根据请求,将相应的控制页面(即ActiveX控件)反馈给IE浏览器,用户下载控件后,根据控件上的指令,进行相应的操作,然后提交。该模块提取操作的信息,根据不同信息通过socket套接口与服务器进行通信来分别处理相应的事件,如调节MPEG-4相关属性、摄像头的相关操作等。该网络控制模块的设计主要包括3部分:本地嵌入式web服务器的配置、ActiveX控件的编写、socket套接字实现服务器与监控端通信。远程网络程序模块框图如图7所示。
3.3 本地存储部分的实现
该部分主要实现的三大功能:U盘空间的监测,以系统时间来命名存储文件并将文件保存到U盘上,实现MPEG-4编码。视频编码存储主要是利用Linux系统指令、AT2042芯片的视频编码功能和自动生成传输流功能。
(1)显示U盘存储空间
首先,利用Linux系统指令与C语言的接口函数sys-tem(const char*string),执行指令会把U盘空间的容量、可用空间等信息写入设定目录下,然后利用display_string(char*string)函数将该信息显示在显示层面上。这样可以使用户很清楚地了解到可用存储空间的大小。
(2)以系统时间命名文件名
调用系统函数time、localtime,这里需要定义相应的结构体tm来获取系统时间,然后将这些信息与建立文件的路径保存在同一个字符串,调用fopen(const char*path,const char*mode)函数。这样就实现了以系统时间来命名文件名,可以方便用户按时间来查看文件。
3.4 运动图像监测的实现
该视频监控系统配置AT2042的相关寄存器,可实现运动检测的功能。通过运动检测来控制视频数据的存储和报警。运动检测(报警)算法可以控制存储动作,节省存储空间。例如,开始无运动报警信号,存储模块处于等待状态;运动报警信号到来,启动存储模块,在一定时间内如果没有继续收到运动报警信号,存储模块自动停止工作。这样存储量比连续存盘少得多,大量无运动的视频被剪截掉了,大大提高了存盘效率,有效地节省了存储空间。工作过程是这样的:预先进行检测区域设定,从摄像机来的视频信号一方面进行视频压缩,压缩的码流输出到缓冲区中;另一方面进行运动检测,当运动条件满足时发出报警信号,存储设备开始工作。存储设备一接到启动信号就将缓冲区的压缩码流全部保存下来,接着连续存储视频压缩输出的码流,直到存储控制指示停止存盘为止。运动方向的估计可以实现监控系统中的警戒线报警功能。在图像画面上设定警戒线以及方向,相应地产生一个预警区域。围绕边界线产生边界区域或边缘点集,监测是否有运动越过警戒线进入警戒区。
结 语
本视频服务器既有视频远程实时传输,又具有本地存储的功能,再配置AT2042实现多种视频格式的编码和运动检测、报警功能,使用起来方便易行,可以得到广泛的应用。该视频服务器集成普通摄像机和网络转换器,将图像转换为基于TCP/IP网络标准的数据包,使摄像机所摄的画面通过RJ-45以太网接口直接传送到网络上,通过网络即可远程监视画面。该视频服务器采用了最先进的摄像技术和网络技术,具有强大的功能。内置的系统软件能实现真正的即插即用,使用户免去了复杂的网络配置;内置的大容量内存能存储警报触发前的图像;内置的I/O端口和通信口便于扩充外部周边设备,如门禁系统、红外线感应装置、全方位云台。
上一篇:基于双核OMAP5910的嵌入式系统及其应用
下一篇:数据通讯系统在输电线路运检导航中的应用
推荐阅读最新更新时间:2024-03-16 13:20
- 热门资源推荐
- 热门放大器推荐
- 视觉大数据基础与应用 (谢剑斌)
- 21天学通HTML+CSS+JavaScript Web开发-第7版(带目录)
- Linux内核调优 构建高性能的企业服务
- C语言开发实战 (软件开发技术联盟)
An error occurred.
Sorry, the page you are looking for is currently unavailable.
Please try again later.
If you are the system administrator of this resource then you should check the error log for details.
Faithfully yours, OpenResty.
设计资源 培训 开发板 精华推荐
- Allegro MicroSystems 在 2024 年德国慕尼黑电子展上推出先进的磁性和电感式位置感测解决方案
- 左手车钥匙,右手活体检测雷达,UWB上车势在必行!
- 狂飙十年,国产CIS挤上牌桌
- 神盾短刀电池+雷神EM-i超级电混,吉利新能源甩出了两张“王炸”
- 浅谈功能安全之故障(fault),错误(error),失效(failure)
- 智能汽车2.0周期,这几大核心产业链迎来重大机会!
- 美日研发新型电池,宁德时代面临挑战?中国新能源电池产业如何应对?
- Rambus推出业界首款HBM 4控制器IP:背后有哪些技术细节?
- 村田推出高精度汽车用6轴惯性传感器
- 福特获得预充电报警专利 有助于节约成本和应对紧急情况
- LG与SK电池诉讼案折射电动汽车市场的“争抢”
- iPhone 12 mini拆解图揭示苹果是怎么给设备瘦身的
- 剑桥大学拒绝服从英国政府 继续和华为进行5G合作
- 利亚德公布了Micro LED模组成本构成 可多方面改善Micro LED成本
- 模拟芯片供应商力芯微将在11月19日科创板首发上会
- 掌控5G 网络:VIAVI 与凯捷合作开展 5G 和 O-RAN 验证
- 高通面向Windows 11 PC释放Wi-Fi游戏性能
- 高通和SSW Partners达成收购维宁尔的最终协议
- Digi-Key Electronics 被 ECS Inc. International 评为全球顶级战略合作
- 瑞萨电子谈并购Dialog后在汽车市场的新机遇