新闻  |   论坛  |   博客  |   在线研讨会
基于ARM-Linux和CDMA的远程视频监控系统
hyj666666 | 2008-06-03 15:53:53    阅读:831   发布文章

  引言

  CDMA(码分多址)无线网络具有覆盖面广,高效、低成本的特点,CDMA网络的数据传输速率可达200kb/s,里开发的嵌入式远程就充分利用CDMA无线网络技术和嵌入式系统的特点而搭建的数据传输系统,特别适合边远偏僻或不具备常规网络传输条件的地方使用,例如车载视频监控系统、交通路口(车牌实时监视)及城市路灯的监控等。

  1 嵌入式Linux系统

  嵌入式系统是以应用为中心、以计算机技术为基础、软件硬件可裁剪、适应对功能、可靠性、成本、体积、功耗要求严格的专用计算机系统,目前嵌入式系统已经无处不在,从汽车、家用微波炉、PDA(个数字助理)、电视机、到工控生产现场、通信、仪器、仪表、汽车、船舶、航空、航天、军事装备、消费类产品方面,都能发现嵌入式系统的踪影。

  Linux本身作为一个桌面系统,其最大的特点是操作系统源代码公开并且遵循GPL协议,其内核采用模块化的设计,易于裁减,特别适合嵌入式系统的小型化要求,在嵌入式系统中占据了半壁江山。

  本监控系统选用的处理器是SAMSUNG公司的一款中高端ARM9内核的CPU-S3C2410,其内建

有MMU(内存管理单元),主频可达到203MHz,运行嵌入式Linux2.4系统正好如鱼得水,不但保持了嵌入式系统小型化、低功耗、易携带的特点,又充分利用了Linux系统的内存、文件、线程管理功能,大大方便了程序的开发和程序中多任务功能的实现。

  2 监控系统结构 

  监控系统一般可分为实时监控和触发模式监控两种,可以根据具体的情况设计合适的监控方式,如果采用实时监控,将占用较多网络资源,成本相对较高,采用触发模式的运行成本较低,这里采用触发模式,监控系统结构见图1。

  当遇异常情况后,触发监控终端拍摄图片,同时其内部的嵌入式控制模块和CDMA模块协同运作,完成Internet的接入(包括拨号、PPP和CTP/IP协议的处理等),并把拍摄到的图片数据经打包后发送给控制中心主机,或发送给指定的E-mail地址,控制中心主机登录到Internet上后运行服务器端软件就可以浏览由监控点发来的图片。

  3 硬件系统设置 

  要能够正确运行一个操作系统,硬件方面至少应该包括CPU、内存和固态存储器、系统内部总线以及外设接口,具体硬件系统结构见图2。

  SAMSUNG公司的S3C2410 CPU具有3个UART、1个RTC和触摸屏接口,还具有I2C总线、USB Host、USB Device等接口,充分满足了系统的需要,而且性价比极高,是一个很不错的选择。

  由于剪裁后的Linux系统所占得存储空间非常小(只有几MB),我们选择Nor Flash作为固体存储器,型号是E28F128J3A150,容量为16MB,通过16位数据总线与CPU交换数据,并利用其上端8MB空间(00800000H-00ffffffH)开辟了一个jffs2文件存储系统,存储系统的配置文件。

  64MB的SDRAM为2片K4S561632C,通过32位数据总线与CPU交换数据。

  通过MAX3232C电平转换芯片和RTL8019网络芯片转换成一个RS-232接口和一个以太网接口,用串口线和以太网网线与PC机相连,组成可以交叉编译的开发环境。

  通过CPU上集成的USB Host接口直接与USB摄像头连接,考虑到监控与控制模块接口的要求,选用USB1.1接口的红外线摄像头。

  通过CPU上集成的UART接口直接与CDMA Modem模块相连接,选用价格适中的AnyData公司的DTGS-800 CDMA模块。

  4 软件系统设计

  4.1 控制终端程序设计

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

  具体程序设计包括Bootloader启动

*博客内容为网友个人发布,仅代表博主个人观点,如有侵权请联系工作人员删除。

参与讨论
登录后参与讨论
张阳  2008-06-03 16:14:02 

这种帖子 看了就有不少收获 要多多发

推荐文章
最近访客