基于ARM和CDMA的远程视频监控系统

发布者:温馨的家庭最新更新时间:2011-05-24 关键字:ARM  CDMA  远程视频监控 手机看文章 扫描二维码
随时随地手机看文章

    0 引言

    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、内存和固态存储器、系统内部以及外设接口。

    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以内。[page]

    具体程序设计包括Bootloader启动

    代码、设备驱动程序(USB摄像头接口驱动程序、串口驱动程序)、拨号、PPP及TCP/IP协议处理,监控接收转发控制程序等。

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

 

关键字:ARM  CDMA  远程视频监控 引用地址:基于ARM和CDMA的远程视频监控系统

上一篇:ARM高管:英特尔在移动市场不是竞争对手
下一篇:一种基于ARM和PoE的嵌入式系统的网络广播设计方案

推荐阅读最新更新时间:2024-03-16 12:36

基于S3C6410的ARM11学习(七) 核心初始化之关闭MMU和CACHE
在关闭了所有中断后,就要关闭MMU和CACHE了。因为这个时候,还在初始化环境,这两个东西是用不到的。所以就需要把他们都关闭,免得影响我们的初始化。 MMU是Memory Management Unit的缩写,中文名是 存储器 管理单元。主要是两个功能: 1、虚拟地址转换为物理地址 2、实现内存的保护 至于具体的MMU的一些知识,等后面用到了在说明了。目前,只需要将MMU给关掉即可。 这个时候,我们需要查看S3C6410的核ARM1176JZFS手册。在这里,我们要接触到一个系统控制处理器,CP15。也叫做协处理器。 手册中说明了,CP15系统控制处理器的作用,主要是6个: 1、整个系统的控制
[单片机]
基于S3C6410的<font color='red'>ARM</font>11学习(七) 核心初始化之关闭MMU和CACHE
脑血氧监测仪的设计研究
介绍了基于ARM的脑血氧监测仪软件的设计与实现。该软件通过控制探头对脑血氧信息进行采集并通过无线方式将信息发送给终端,终端对接收到的信息进行处理和显示,同时将病人信息存储在SQL Server CE2.0数据库中,实现病人信息的查询、添加、删除等功能。 氧是人体新陈代谢的重要物质,脑是人体新陈代谢最活跃的器官之一,正常人脑氧消耗量占全身氧消耗量的20%左右,在心脑血管疾病及脑外伤病人临床抢救与治疗中,如果缺乏对脑组织供氧的监护手段,就有可能造成脑组织神经功能的丧失或损害 。因此,研制一种连续监测脑供氧状况的临床设备,对提高心脑血管和脑外伤病人的诊断和治疗具有重大意义。本脑血氧监测仪可实时地采集左右脑血氧信号,把处理脑血氧信号得到
[测试测量]
脑血氧监测仪的设计研究
研华Arm-based边缘智能网关打造,稳定高效电池管理系统方案
研华Arm-based边缘智能网关 协助储能企业打造稳定高效的电池管理系统(BMS)方案 应对全球变暖问题,研华整合软硬件和服务,开发了可应用于储能系统的边缘智能解决方案,携手绿色能源产业链的各方伙伴,有效提升家庭、商业、工业区、城市使用绿色能源效益,为追求可持续发展贡献一己之力。 项目背景 客户的储能柜部署在全球各个地区,当设备出现故障时运维成本非常昂贵,客户希望保证储能柜的控制系统能够稳定运行,并支持灾难恢复、双机热备和基于Azure云平台的实时在线监控功能。 痛点需求  设备部署在偏远地区,运行和维护成本高  系统故障后不能自动恢复  无法掌握设备工作状态和信息  储能柜
[电源管理]
研华<font color='red'>Arm</font>-based边缘智能网关打造,稳定高效电池管理系统方案
ARM Cortex-M处理器详解
  ARM Cortex-M处理器家族现在有8款处理器成员。在本文中,我们会比较Cortex-M系列处理器之间的产品特性,重点讲述如何根据产品应用选择正确的Cortex-M处理器。本文中会详细的对照Cortex-M 系列处理器的指令集和高级中断处理能力,以及 SoC系统级特性,调试和追踪功能和性能的比较。   1、简介   今天, ARM Cortex-M 处理器家族有8款处理器成员。除此之外,ARM的产品系列还有很多其他的处理器成员。对很多初学者,甚至某些芯片设计经验丰富但是不熟悉ARM系列处理器的设计者来说,也是很容易混淆这些产品的。不同的ARM 处理器有不同的指令集,系统功能和性能。本文会深入展现Cortex-M系列处理器之
[单片机]
<font color='red'>ARM</font> Cortex-M处理器详解
ARM9时钟体系
' 这是arm的时钟集成模块,主要想介绍关于arm的时钟体系. S3C2440 有2个PLL(锁相环),一个是mpll,一个是upll pll(锁相环) 是一种产生时钟频率的东西,通常产生时钟频率都是使用晶振(晶体振荡器),不过由于频率固定或者生产成本高等一系列的原因,才产生出pll。pll合成器有外部晶体和对晶体的特定频率加班或者分频的集成pll电路。可以看出,pll可以在本身晶体的限制下自己diy要的频率,而且相对成本也不会很高。 mpll会产生3中种时钟频率:FCLK,HCLK,PCLK FCLK(CPU的频率):主要用于cpu核 HCLK:用于AHB(高速的外设总线) PCLK:用于低速外
[单片机]
<font color='red'>ARM</font>9时钟体系
ARM汇编伪指令(1)
ARM汇编程序由机器指令、伪指令和宏指令组成。 1,符号定义伪指令 符号定义伪指令用于定义ARM汇编程序的变量、对变量进行赋值、定义寄存器名称。 全局变量声明: GBLA,GBLL,GBLS 局部变量声明: LCLA,LCLL,LCLS 变量赋值: SETA,SETL,SETS 为一个通用寄存器列表定义名称: RLIST 为一个协处理器的寄存器定义名称: CN 为一个协处理器定义名称: CP 为一个VFP寄存器定义名称: DN,SN 为一个FPA浮点寄存器定义名称: FN 1)GBLA,GBLL,GBLS 全局变量声明,作用范围是包含该变量的源程序。 GBLA variable ;声明全局算术变量 GBL
[单片机]
基于ARM9和μC/OSII高速实时多任务数据采集的智能化设计
引言 随着IT技术、电子技术、通信技术、以及自动控制技术的飞速发展,对工业现场数据的高速实时采集就成为电子产品和工业控制技术发展不可避免的一个环节。 本文针对高速实时多任务数据采集中的多任务实现算法以及实时性、实效性和高速性的要求,提出了基于ARM9和μC/OSII操作系统的智能化设计方案,实现了任务优先级动态调度、系统工作参数动态设定、系统内部软件智能化设计,针对低速外围设备进行了系统优化,并提高了系统可靠性改善了内部任务同步性。 1 整体电路设计 整个采集系统的硬件电路如图1所示。首先利用多路调制电路对12路信号进行调制,这部分包含相应的信号转换、抗干扰、以及初步的信号处理等,使得各路采集信号能够达到ARM9内核对信号采集
[单片机]
基于<font color='red'>ARM</font>9和μC/OSII高速实时多任务数据采集的智能化设计
ARM与Linux嵌入式系统在煤矿井下的应用
1 系统硬件结构设计 (1) 系统结构组成 本系统由嵌入式控制器、远程监控站、前端数据采集器及相应的分线器组成。前端传感器有温度、压力及气体浓度采集器。系统结构如图1所示。 (2) 系统硬件设计 系统硬件设计的核心是嵌入式控制器,其硬件组成结构如图2所示。 1)ARM—S3C2410芯片。ARM处理器是ARM(Advanced RISC Machines)公司通过授权方式,由不同芯片厂商生产的基于ARM核的位处理器芯片,S3C2440是三星公司推出的一款功能强大,功耗极低的ARM9嵌入式CPU。其主要特征有: a.200 MHz的ARM920T内核,支持JTAG仿真调试。 b.外部存储器控制
[单片机]
<font color='red'>ARM</font>与Linux嵌入式系统在煤矿井下的应用
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • 学习ARM开发(16)
    ARM有很多东西要学习,那么中断,就肯定是需要学习的东西。自从CPU引入中断以来,才真正地进入多任务系统工作,并且大大提高了工作效率。采 ...
  • 学习ARM开发(17)
    因为嵌入式系统里全部要使用中断的,那么我的S3C44B0怎么样中断流程呢?那我就需要了解整个流程了。要深入了解,最好的方法,就是去写程序 ...
  • 学习ARM开发(18)
    上一次已经了解ARM的中断处理过程,并且可以设置中断函数,那么它这样就可以工作了吗?答案是否定的。因为S3C44B0还有好几个寄存器是控制中 ...
  • 嵌入式系统调试仿真工具
    嵌入式硬件系统设计出来后就要进行调试,不管是硬件调试还是软件调试或者程序固化,都需要用到调试仿真工具。 随着处理器新品种、新 ...
  • 最近困扰在心中的一个小疑问终于解惑了~~
    最近在驱动方面一直在概念上不能很好的理解 有时候结合别人写的一点usb的例子能有点感觉,但是因为arm体系里面没有像单片机那样直接讲解引脚 ...
  • 学习ARM开发(1)
  • 学习ARM开发(2)
  • 学习ARM开发(4)
  • 学习ARM开发(6)
何立民专栏 单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

换一换 更多 相关热搜器件
电子工程世界版权所有 京B2-20211791 京ICP备10001474号-1 电信业务审批[2006]字第258号函 京公网安备 11010802033920号 Copyright © 2005-2024 EEWORLD.com.cn, Inc. All rights reserved