扫一扫
分享文章到微信
扫一扫
关注官方公众号
至顶头条
在本页阅读全文(共2页)
4系统软件设计
整个Linux系统由四部分组成:引导加载程序(BootLoader)、Linux内核(Kernel)、文件系统(filesystem)以及用户空间(user)。四者分别被存储在NandFlash的四个分区模块中。本文中采用的是较节省空间的CRAMFS只读文件系统,而Bootloader以及内核Kernel等在移植完成后可不需动态改变,user用户空间则用来存放一些可以动态更新的配置文件,需要进行多次的读写操作,故可以使用支持动态擦写保存的JFFS2文件系统。由于Linux系统移植技术已经很成熟,本文中不再细述,下文主要介绍MPEG-4压缩编码和CGI模块的程序设计。
4.1MPEG-4压缩编码程序设计
整个压缩编码模块完成了MPG440和TVP5150相关寄存器的配置,保证了MPEG-4数据流的正常输出。系统启动后,首先配置MPG440的寄存器,初始化完成后,通过I2C总线对TVP5150进行初始化配置。在压缩编码过程中,MPEG-4数据流接收存储程序由MPG440的数据流缓冲器标志信号来进行控制。当缓冲器满时,RISC_INT0置低,主控制器通过DMA通道把从MPG440的HPI接口接收过来的码流通过网络通道传输到PC端。其压缩编码模块程序流程图如图(5)所示。
4.2CGI程序设计
CGI(CommonGatewayInterface)是外部应用程序与万维网(WWW)服务器交互通信的一个标准接口。在本系统中,其工作过程如下:在监控端的PC机的浏览器中输入网络摄像机的IP地址,嵌入式网络服务器根据请求,将相应的控制页面反馈给IE浏览器,用户填写完表单,然后提交,CGI程序根据表单的信息,来处理相应的事件,如设置MPG440相关属性、相机的云台和镜头的相关操作等。CGI的控制原理图如图(6)所示。
CGI模块程序的设计主要包括如下几部分:WEB服务器的配置、html页面的编写、CGI程序的设计。嵌入式WEB服务器采用的是Boa,其配置是以文件的形式提供,放在文件系统中的/etc/httpd/conf/目录下面,其配置主要涉及以下几个方面:
(1)配置根文件的路径:“DocumentRoot/home/httpd/html/”,html页面必须放到此目录下。
(2)配置CGI程序所存放路径:“ScriptAlias/cgi-bin/home/httpd/cgi-bin/”。
(3)配置环境变量:“SetEnvD_LIBRARY_PATH=/lib:/usr/local/lib:/usr/lib”,该变量将会被传送到CGI脚本和SSI页面,以保证CIG程序能正确找到所依赖的库文件。
网页页面的编写采用html与shtml相结合的方法。Html的解析速度较快,而shtml可以在普通网页中嵌入外部CGI程序,通过这种方式将系统的默认配置反馈给客户端。
CGI程序的设计采用的是C语言和shell脚本相结合的方式,其编写过程和Linux下其他程序的编写相同,在此不在赘述。
4.3MPEG-4解码程序
由于映佳科技已经提供了供二次开发的MPEG-4解码插件OCX,OCX在PC机注册后可以方便的被网页调用,实现在PC端实时观看图象。
5结语
本文叙述了一种基于S3C2410、MPG440以及TVP5150等芯片设计的嵌入式网络视频监控系统的实现方案。在测试过程中,该系统实时性好、稳定可靠、图象质量也比较优越,可广泛应用于银行、交通以及工业监控、视频会议等众多领域。
本文作者创新点:设计了一个基于S3C2410的远程图像监控系统的实现方案,详细讨论了整个系统中的硬、软件设计与实现。
参考文献:
[1]赵印伟,谢胜利.基于AT91RM9200的嵌入式网络摄像机的设计与实现[J]微计算机信息2006,5:26-28
[2]缐崴,孙先仿.摄像机运动参数估计中的8点算法及其改进[J]微计算机信息2005,8:99-100
[3]KenArnold,EmbeddedControllerHardwareDesigne,USA,LLHTechnologyPublishing
如果您非常迫切的想了解IT领域最新产品与技术信息,那么订阅至顶网技术邮件将是您的最佳途径之一。
现场直击|2021世界人工智能大会
直击5G创新地带,就在2021MWC上海
5G已至 转型当时——服务提供商如何把握转型的绝佳时机
寻找自己的Flag
华为开发者大会2020(Cloud)- 科技行者