新闻中心

EEPW首页>嵌入式系统>设计应用> 嵌入式和码分多址实现远程视频监控系统

嵌入式和码分多址实现远程视频监控系统

作者: 时间:2011-08-26 来源:网络 收藏
4 软件系统设计

本文引用地址://m.amcfsurvey.com/article/150281.htm

  4.1 控制终端程序设计

  控制终端软件的核心是Linux操作系统,一切功能的都基于 Linux操作系统完成,Linux本身作为一个桌面系统,进入操作系统领域时,需要解决的问题主要包括硬件支持、提供二次开发的环境以及小型化(裁减内核)等,小型化的目的是在满足操作系统基本功能和用户特定需要的情况下,使内核尽可能小,作为一个操作系统,Linux内核主要负责程序的管理与调度、内存的管理及对外设的驱动和管理等,由于Linux内核采用模块化的设计,很多模块可以独立地加载或卸载,所以小型化就是对Linux内核重新编译,在编译时仔细地选择设备所需要的功能模块,同时删除不需要的功能,这里只需要串口驱动、USB摄像头接口驱动(包含USB Host,USB Core和USB Device)还有拨号网络应用,还要支持PPP、TCP/IP网络协议,其他都可以删除掉,使系统运行所需要的内核显著减小至1Mb以内。

  具体程序设计包括Bootloader启动代码、设备驱动程序(USB摄像头接口驱动程序、串口驱动程序)、拨号、PPP及TCP/IP协议处理,监控接收转发控制程序等。控制流程如图3所示。

视频控制终端程序图

  a)系统加电后复位。

  b)Bootloader初始化CPU、SDRAM、分配地址空间等。

  c) Bootloader把Linux内核的压缩文件解压到SDRAM中,同时把控制权从Bootloader移交到Linux。Linux的内核有两种运行方式可供选择。可以在Flash存储器上直接运行,也可以加载到内存中运行。Flash存储器运行方式就是把内核的可执行映像烧写到Flash存储器上,系统启动时从Flash存储器的某个地址开始运行内核,进入SDRAM继续运行,这种做法能减少内存需要,实际上很多嵌入式系统都采用这种方法,内存加载方式把内核的压缩文件存放在Flash存储器上,系统启动时自动读取压缩文件并在内存中解压,然后开始执行,这种方式相对较复杂,但运行速度更快,我们采用的就是这种方式。

  d)开始执行SDRAM中的代码,Linux内核初始化,完成堆栈,中断的分配等。

  e)加载串口驱动模块和USB摄像头驱动模块,完成串口和USB口的初始化。

  f)运行PPP拨号程序,通过CDMA网络与Internet进行连接,在Linux下的PPP包是专门为解决Modem拨号上网问题而编写的,并且是公开源代码的,PPP拨号脚本程序主要是通过调用pppd和chat这两个应用程序,并通过AT指令对Modem的操作。

  至此,已经建立了从图像采集到图像传输的完整的嵌入式,但是,作为一个嵌入式操作系统,他是为某一专门的用途而设计的。运行不同的用户应用程序,就可以用户要求的不同功能,生动地体现了嵌入式系统的灵活性。

  我们运行的用户程序是一个无限循环的过程,控制终端在不断等待拍照请求,通过比较识别认为有请求后,CPU通过USB摄像头驱动控制摄像头拍照,同时接收图片并发送控制中心,或通过SMTP协议,发送到指定的Email地址,完成一次请求。

  4.2 控制中心服务器程序设计

  服务器端软件实现的主要功能是接收、保存和重显由嵌入式终端发送过来的监控图片,控制中心主机通过拨号、带宽上网等方式登录到Internet上,注意必须申请一个静态IP地址,使主机每次登录到Internet所获得的IP地址(互联网IP地址)不变,主机登录Internet后,即可运行服务器端软件,服务器端程序设计主要包括网络通信、接收图片、保存图片、即时重显图片和察看图片,用户通过此软件可以方便地浏览由控制终端发来的图片。

  另一种方案是不设置控制中心服务器,控制终端抓怕到的图片直接发送到指定的Email地址,这种方案容易管理,只需定期查收Email,清除Email存储空间即可,运行成本很低,但可靠性差。

  5 结束语

  利用无线网络与IT技术对传统监控领域进行革新,是市场的需要,在这个过程中,嵌入式系统因其体积小、处理能力强、支持网络服务等功能,无疑扮演了重要角色。

linux操作系统文章专题:linux操作系统详解(linux不再难懂)

上一页 1 2 下一页

评论


相关推荐

技术专区

关闭