一个嵌入式视频监控系统的设计与实现
BLOB中的各部分内存分配和SMDK2500不一样,因此需要修改内存分配的预定义。修改文件是“include/BLOB/arch/smdk2500.h”。
(3) 增加对网卡支持
由于BLOB只支持一个网口,且只能在编译前指定使用使用WAN还是LAN,故首先在编译配置时添加:enable-network,这个指定修改在文件“/src/BLOB/smdk2500.c”中。为了在网络中避免地址冲突,需要为本机网卡设置唯一的MAC地址。这个修改在文件“src /lib/ether.c”中。
(4) 修改启动延时
针对本系统的启动延时,修改文件“src/BLOB/main.c”中的原设置时间。
3.2 系统内核的移植
系统内核Kernel是基于uClinux-dist-20040408的uClinux的分发版,下面是移植的修改部分。
(1) 修改时钟频率的设置
修改的原因是目标版与评估版采用的时钟源不一样。需要修改的文件为“uClinux-dist/linux-2.4.x/arch/armnommu/mach-SMDK2500/config.c”。
(2) 添加支持从flash中获取MAC地址
为了防止网络上出现MAC地址重复的情况,采用了从flash中直接读取BLOB中设定的MAC地址。在此需修改在文件“uClinux- dist/linux-2.4.x/arch/armnommu/mach-SMDK2500/readf.c”中相关的调用函数实现调用自己的函数。添加的自定义函数用来从flash的BLOB区域中指定的位置来获取MAC参数,然后向系统内核kernel提供获取的MAC参数内容。
(3) 添加kernel中对GPIO口通用操作的支持
为了在系统内核kernel中调试和使用GPIO提供统一的调用接口,需要修改文件为“uClinux-dist/linux-2.4.x/arch/armnommu/mach-SMDK2500/lmhgpio.c” 。
(4) 修改有关内存分配的内容
为了使系统支持内存GFP_DMA方式的内存分配,需要修改文件“uClinux-dist/linux-2.4.x/mmnommu/page_alloc2.c”。
3.3 动态域名解析
ez-ipupdate程序用于实现动态域名解析(DDNS)的功能,移植自uClinux-dist中的ez-ipupdate包。使用此模块的 DDNS功能,系统开机运行即自动登记已注册的动态域名。ez-ipupdate基本实现了DDNS的规范流程,但它直接读取端口的IP地址,这对于直接使用公网IP的用户是可以的。而有些计算机可能并不是直接连接公网,直接获取端口IP不合适,需要适当修改程序。
本动态域名解析模块的功能是通过www.3322.org实现的,获取本机IP的过程是通过本机向www.3322.org服务器发出一个 getip的HTTP请求包,www.3322.org的服务器收到该请求包,就会按一定格式返回一个包含本机IP的包,这样无论是直接使用公网IP,还是通过代理上网,最后获得的都是公网IP。获得IP的方法是通过监视服务商windows下的注册程序的网络通信得到的。
3.4 应用服务模块
应用服务模块iplay是运行在嵌入式系统上用来控制系统硬件,同时完成与客户端软件交互过程的程序。系统启动时会自动运行这个程序,视频音频压缩处理芯片IME6410只有通过这个程序才能正常工作。其工作模式是一个多线程的工作组合模式。主控程序首先对系统初始化,在完成了必要的初始化过程以后创建与其他模块对应的工作线程,如RTP协议处理线程、包接收控制线程、包发送控制线程、系统监控线程和CDMA通讯处理线程
4 结束语
本文介绍了一种视频监控系统的设计方案,该系统由一个基于嵌入式平台的视频服务器、控制中心、客户端三大部分组成。依据系统的总体架构和设计思想,主要给出了嵌入式视频服务器软硬件的设计与实现。系统已开发完成,基本达到了预期的各项目标。
本文作者创新点: 系统采用嵌入式系统uCLinux设计和实现视频监控,和一般系统比,具有体积轻巧,安装方便和使用灵活的优点。
项目产生的经济效益: 系统可用于安全监控、视频会议、远程同步教学和VOD(视频点播)等领域,应用范围十分广泛。
参考文献
[1] 许东. 网络化的全数字图像监控系统. 有线电视技术, 2002, 2(9): 31-32
[2] 刘富强. 数字视频监控系统开发及应用. 北京: 机械工业出版社, 2003, 3:15-17
[3] 解天霞, 李春葆. 一种适合数字远程监控系统的网络体系设计. 计算机工程与应用, 2003(23): 154-156
[4] 张峥, 张元. 基于DirectShow的无线视频监控系统. 微计算机信息, 2006, 11-1: 136-139
[5] 黄贤英, 肖朝辉, 陈媛. 嵌入式软件开发方法研究及应用. 自动化技术与应用, 2004, 3(23): 56-58
- 基于FPGA的DSP设计方法(08-26)
- 电力电子装置控制系统的DSP设计方案(04-08)
- 基于DSP Builder的VGA接口设计(04-10)
- 基于DSP和USB的高速数据采集与处理系统设计(05-01)
- 数字信号处理(DSP)应用系统中的低功耗设计(05-02)
- 基于DSP的嵌入式显微图像处理系统的设计(06-28)