ARM在数字化远程视频监控系统的应用

发布者:书卷气息最新更新时间:2012-04-10 来源: 电子产品世界关键字:ARM  远程视频监控  bootloader 手机看文章 扫描二维码
随时随地手机看文章
  引言

  随着信息技术的发展,数字化越来越多的代替了传统的模拟系统,数字化使得远程视频监控系统不需要专门架设线路,应用现有通讯线路就可以实现低成本的信息传递,与传统的模拟监控系统相比,它的组网成本大大降低、系统体积重量大大减小、运行维护更容易。所使用的通信线路有很多种,如:以太网、ISDN、xDSL、公共电话网、无线电话网等,根据线路的带宽不同,远程视频监控系统的图像质量也有很大不同。

  本文针对低设备成本、低运行成本和超远距离的视频监控系统应用提出了解决方案,使用ARM嵌入式处理器和Linux操作系统构建嵌入式系统,开发出可实际应用的远程视频监控系统,适用于低分辨率、低成本、长距离的监控应用。

  它的特点有:

  ·构建了ARM嵌入式处理器开发平台,提出了嵌入式系统的低成本开发流程;
  ·前端使用便宜的一体化高集成数字化视频采集模块,简化了系统前端的设计,大大降低了前端成本;
  ·编写简单的嵌入式操作系统程序,动态加载应用程序,加快其执行速度;
  ·信号处理使用由高速、高性能的ARM处理器构建的嵌入式系统,通过软件来实现图像压缩。

  ARM视频监控系统平台

  本课题要求建立低成本的图像数据采集、实时压缩与远程传送系统,而且要求容易进行实验室环境下的开发与调试;另外考虑到以后的扩展要求,还需要具备内存管理单元(MMU)与音频接口。

  Cirrus Logic公司的EP7312正适合要求。它是基于ARM720T内核的嵌入式微处理器,运行于74MHz时其性能与100MHz的Intel Pentium芯片基本相当,且功耗很低,在74MHz工作频率下,功耗90mW,具有MMU、音频接口及LCD控制器。

  图1是视频监控应用系统的开发平台。ARM的系统扩展槽和设备扩展槽,用于为ARM系统添加如以太网接口、海量数据存储接口和PCMCIA等接口或者用于与其他功能开发板,为ARM系统扩展了CMOS图像获取功能和VGA显示功能。其中,VGA接口是通过电阻网络实现320×240×12bits,即4096色彩色显示。与SRAM访问相关的寄存器有:SRAM控制寄存器、读地址低16位、读地址高16位、读出数据寄存器、写地址低16位、写地址高16位、写入数据寄存器;与CMOS图像采集有关的寄存器有CMOS采集控制寄存器、CMOS采集状态寄存器;与VGA显示有关的是VGA显示控制寄存器。


图1 ARM视频监控开发平台


  ARM控制CMOS图像采集,然后ARM从图像缓冲SRAM中读取图像数据到ARM内部的LCD显示存储区,显示到LCD屏上。这也就打通了整个数据前向通道,ARM获取了图像后就可以进一步做压缩处理和传输。

  ARM程序开发

  ARM视频监控系统配备512KB的FLASH ROM,用于程序存储器,所以应用程序与原始数据的总和必须小于512KB。以下是ARM程序开发流程:

  软件的编写与调试

  针对应用编写所需的各种程序,使用ADS(ARM Developer Suite)建立工程文件,把编写好的汇编程序*.s文件、C语言程序 *.c文件、*.h文件加入到工程中。然后对编译参数进行相应设置,编译工程文件,编译通过后生成可执行二进制代码。使用ADW调试已编译工程,软件调试只能调试ARM指令,无法仿真外围设备;调试通过后,准备下载可执行二进制代码,进行硬件测试。[page]

  程序下载的实现

  通过bootloader程序来实现对FLASH程序存储器的编程,bootloader程序是自己编写的基于内启动方式下的小程序。

  (1)首先让EP7312以内启动方式运行,PC通过串口1(9600bps)接收到"<"标志,
  (2)然后PC从串口发送2KB的bootloader程序到EP7312。
  (3)这时bootloader程序开始运行,PC通过串口1(115200bps)发送"0x79"与EP7312再次建立连接,随后PC发送"0xFF 0xFA"命令,EP7312返回"Len:",PC再发送四字节的要下载的文件长度数据。接着PC继续发送整个要下载的程序,发送完成后将接收到"Ok!",然后编程结束后将接收到"Done!"表明下载编程操作成功完成。
  (4)此时重新以外启动方式启动EP7312就可以运行刚下载的程序。

  以上是以工程方式来进行ARM应用程序开发的基本流程,在实际使用过程中如果应用到新器件还需要一个硬件调试阶段,在硬件调试通过以后才可以进一步开发应用程序。

  有关硬件调试的软件方法

  在没有硬件开发工具的情况下,可以通过串口来进行硬件的调试,EP7312与外围硬件的连接基本上有三种方式:直接总线连接、与EP7312的片内外设专用引脚连接、连接EP7312的通用I/O引脚。
以总线方式连接的外设可以通过总线读写来访问;专用外设可以通过内部专门的控制寄存器来访问;经通用I/O扩展的外设则可以通过对内部通用I/O设置寄存器的控制来访问。由于内部专用寄存器都对应固定的总线地址,所以这三种方式都可以通过ARM的总线操作对指定地址的访问来实现调试。

  软件设计

  在ARM处理器硬件复位以后,需要运行汇编启动代码完成系统初始化,主要包括:中断向量设置、各种处理器模式下的堆栈设置、系统寄存器设置、SDRAM、LCD等外围部件的设置。以下是其部分程序代码:
ldr r1,=DRAMControlvalue ;设置SDRAM参数
ldr r12,=rSDCONF ;rSDCONF = 0x8000.2300
str r1,[r12]
ldr r12,=rSYSCON2
str r0,[r12] ;rSYSCON2 = 0x8000.1100
ldr r1,=DRAMConfigvalue ;设置SDRAM刷新速度
ldr r12,=rSDRFPR
str r1,[r12] ;rSDRFPR = 0x8000.2340
;------------------------------------------------
ldr r1,=0x06 ;设置系统时钟为74MHz
ldr r12,=rSYSCON3
str r1,[r12] ;rSYSCON3 = 0x8000.2200
;-----------------------------------------------
MemConfig1value EQU 0x0202023c ;nCS0 = NOR FLASH, 8-bit, 0 wait states
MemConfig2value EQU 0x0000023f ;nCS4 = for FPGA, 16-bit, 0 wait states
ldr r1,=MemConfig1value ;配置存储器位宽格式与等待状态
ldr r12,=rMEMCFG1
str r1,[r12] ;MEMCFG1 = 0x8000.0180
ldr r1,=MemConfig2value
ldr r12,=rMEMCFG2
str r1,[r12] ;MEMCFG2 = 0x8000.01c0
;-----------------------------------------------
ldr sp,=SVCStack ;设置堆栈

  图2是ARM主程序流程图。ARM处理器从获取图像信息,执行压缩程序,压缩后的文件通过公共电话线路传递到监控主机端。由于系统采用相同的图像分辨率和常量表,所以文件头都相同,为了减少传输数据量,不传送文件头,文件头在监控主机端由软件自动添加。


图2 ARM主程序流程图


  本系统还使用调制解调器通过公共电话网来建立远程数据连接,在远程图像监控终端处的调制解调器处于待命状态,它使用"ATS0=3&D0W&W1"命令设置为自动应答方式,在3次振铃后自动摘机,经历"数据风暴"以后与主叫方建立连接。监控中心的调制解调器由监控软件控制拨号建立连接或者挂断连接。

  数据联接建立好ARM会接收到“CONNECT”字符串表明通讯线路连接成功,此时就可以像使用普通串口一样使用调制解调器建立的远程数据连接。ARM接收到从监控中心发来的采集命令后,依次完成图像采集、压缩处理,然后通过串口以ASC码形式直接发送图像数据到监控中心,完成一次操作后等待下一个采集命令。

  结语

  本文是完全针对低设备成本、低运行成本和超远距离的图像监控系统应用提出的解决方案,前端使用便宜的一体化高集成数字化视频采集模块,简化了系统前端的设计,大大降低了前端成本;信号处理使用由高速、高性能的ARM处理器与FPGA芯片构建的嵌入式系统,通过软件来实现图像压缩;最后经由公共电话网来实现同城范围内的全数字化远程图像监控。在降低系统成本的同时,提高了系统的灵活性。
关键字:ARM  远程视频监控  bootloader 引用地址:ARM在数字化远程视频监控系统的应用

上一篇:基于ARM的局域网IP电话设计
下一篇:ARM Linux开机后自动运行特定程序的方法

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

基于ARM9的温室茶树培养监测系统
0 引言 随着经济的快速发展和科技的进步,人们的生活水平不断提高,对生活质量的要求越来越高,对春茶的需求也大大增加。使得春茶供不应求,从而提出了温室培养茶树,以缓解人们对春茶的需求。 随着Internet技术的兴起,在嵌入式设备的管理与交互中,基于Web方式的应用成为目前的主流,这种程序结构也就是大家非常熟悉的B/S结构,即在嵌入式设备上运行一个支持脚本或CGI功能的Web服务器,能够生成动态页面,在用户端只需要通过Web浏览器就可以对嵌入式设备进行管理和监控,非常方便实用。 对于温室茶树的培养,需要保持其相对优异的生长环境。本文通过嵌入式Web服务器将被控设备接入Internet,用户可以通过IE浏览器对监控设备实现远程监测与控
[单片机]
基于<font color='red'>ARM</font>9的温室茶树培养监测系统
关于ARM的内核架构
很多时候我们都会对M0,M0+,M3,M4,M7,arm7,arm9,CORTEX-A系列,或者说AVR,51,PIC等,一头雾水,只知道是架构,不知道具体是什么,有哪些不同?今天查了些资料,来解解惑,不是很详细,但对此有个大体了解。咱先来当下最火的ARM吧 1.ARM ARM即以英国ARM(Advanced RISC Machines)公司的内核芯片作为CPU,同时附加其他外围功能的嵌入式开发板,用以评估内核芯片的功能和研发各科技类企业的产品. ARM 微处理器目前包括下面几个系列,以及其它厂商基于 ARM 体系结构的处理器,除了具有ARM 体系结构的共同特点以外,每一个系列的 ARM 微处理器都有各自的特点和应用领域。
[单片机]
关于<font color='red'>ARM</font>的内核架构
ARM流水线关键技术分析与代码优化
引 言 流水线技术通过多个功能部件并行工作来缩短程序执行时间,提高处理器核的效率和吞吐率,从而成为微处理器设计中最为重要的技术之一。ARM7处理器核使用了典型三级流水线的冯·诺伊曼结构,ARM9系列则采用了基于五级流水线的哈佛结构。通过增加流水线级数简化了流水线各级的逻辑,进一步提高了处理器的性能。 ARM7的三级流水线在执行单元完成了大量的工作,包括与操作数相关的寄存器和存储器读写操作、ALU操作以及相关器件之间的数据传输。执行单元的工作往往占用多个时钟周期,从而成为系统性能的瓶颈。ARM9采用了更为高效的五级流水线设计,增加了2个功能部件分别访问存储器并写回结果,且将读寄存器的操作转移到译码部件上,使流水线各部件在功能
[单片机]
<font color='red'>ARM</font>流水线关键技术分析与代码优化
英特尔与Arm共建物联网愿景,安全实现“万物联云”
本文作者:英特尔公司软件和服务事业部副总裁兼物联网安全总经理Lorie Wigle 物联网正从最初的概念验证部署过渡到一个新的发展长阶段,据行业分析师预计,到2035年全球将部署1万亿台物联网设备。这一充满雄心壮志的预测主要源于数字驱动的物联网计划(如边缘计算、人工智能、预防性维修和自制系统)能够带来难以置信的商业收益。收集到的数据越多,数据的价值就会越高。然而,除非业界能够合作开发出更加开放和可扩展的方法,将设备及其数据安全地配置到云端,否则这一设想可能无法实现。 为了应对这些挑战,英特尔正在与Arm公司*合作,提供能够将英特尔和Arm公司的物联网设备安全接入任何应用程序或云框架的解决方案。 首先,让我来介绍一
[物联网]
英特尔与<font color='red'>Arm</font>共建物联网愿景,安全实现“万物联云”
ARM架构CPU漏洞
cve-2017-5753 边界检查绕过 Spectre(幽灵) cve-2018-3693 边界检查绕过 cve-2017-5715 分支目标注入 Spectre(幽灵) cve-2017-5754 未授权数据缓存加载 Meltdown(熔断) cve-2018-3640 恶意系统注册读取 cve-2018-3639 推理存储绕过 Meltdown漏洞,低权限用户可以访问内核的内容,获取本地操作系统的信息。Meltdown漏洞影响几乎所有的Intel CPU和部分ARM CPU. Spectre则影响所有的Intel CPU
[单片机]
<font color='red'>ARM</font>架构CPU漏洞
ARM:创新可穿戴式装置酝酿无限商机
可穿戴装置无疑是今年科技产业界最红的话题之一,市场上已经出现各种智慧手表、健身腕带等等相关产品,而且参与厂商不乏Samsung、LG以及Sony等智慧型手机大品牌。不久前笔者有机会与正锁定可穿戴式装置市场的ARM行动部门行销经理 David Maidment 见面,他分享了对于此一新兴市场的几点看法。 问:ARM的技术将如何呈现在新一代的可穿戴式装置市场上? Maidment答:我们正在与各家原厂、晶片业者、服务供应商等寻求采用那技术的对象合作,主要锁定低功耗的ARM IP,包括Cortex M、Cortex A 系列处理器,Mali绘图处理器,以及可提供可穿戴式装置重要安全性功能的TrustZone技术。
[物联网]
ARM920T的CP15协处理器
Cache ARM920T有16K的数据Cache和16K的指令Cache,这两个Cache是基本相同的,数据Cache多了一些写回内存的机制,后面我们以数 据Cache为例来介绍Cache的基本原理。我们已经知道,Cache中的存储单位是Cache Line,ARM920T的一个Cache Line是32字节,因此16K的Cache由512条Cache Line组成。要了解Cache的基本原理,我们从如何设计Cache这个问题入手。 设计Cache的一种最朴素的想法是,把VA分成以32字节为单位,从任何一个对齐到32字节地址边界的VA开始连续的32个字节(比如0x00- 0x1f,0x20-0x3f,0x40-0x5f等
[单片机]
<font color='red'>ARM</font>920T的CP15协处理器
飞利浦90纳米ARM9微控制器提供高计算性能和低功耗
飞利浦电子公司日前宣布开始供应业界第一个ARM9核心的90纳米微控制器LPC3180。飞利浦这一全新的32位MCU不仅提供高效能和低功耗,也是唯一提供矢量浮点协处理器和整合的USB On-The-Go,以及在低至0.9V电压的超低功耗模式下运行能力的ARM9微控制器。飞利浦LPC3180的最高速度可达208MHz,是许多高精度应用的理想选择,例如销售点(POS)设备、医疗及工业装置、全球定位系统(GPS)和机器人等。 飞利浦半导体微控制器产品线产品创新总监Ata Khan表示:“藉由先进的90纳米工艺技术的优势,飞利浦能够开发具有高计算性能并针对低功耗运行最优化的最先进的ARM9 MCU。LPC3180推出之后,即使是低成本的电
[嵌入式]
小广播
添点儿料...
无论热点新闻、行业分析、技术干货……
设计资源 培训 开发板 精华推荐

最新单片机文章
  • ARM裸机篇--按键中断
    先看看GPOI的输入实验:按键电路图:GPF1管教的功能:EINT1要使用GPF1作为EINT1的功能时,只要将GPFCON的3:2位配置成10就可以了!GPF1先配 ...
  • 网上下的--ARM入门笔记
    简单的介绍打今天起菜鸟的ARM笔记算是开张了,也算给我的这些笔记找个存的地方。为什么要发布出来?也许是大家感兴趣的,其实这些笔记之所 ...
  • 学习ARM开发(23)
    三个任务准备与运行结果下来看看创建任务和任运的栈空间怎么样的,以及运行输出。Made in china by UCSDN(caijunsheng)Lichee 1 0 0 ...
  • 学习ARM开发(22)
    关闭中断与打开中断中断是一种高效的对话机制,但有时并不想程序运行的过程中中断运行,比如正在打印东西,但程序突然中断了,又让另外一个 ...
  • 学习ARM开发(21)
    先要声明任务指针,因为后面需要使用。 任务指针 volatile TASK_TCB* volatile g_pCurrentTask = NULL;volatile TASK_TCB* vol ...
  • 学习ARM开发(20)
  • 学习ARM开发(19)
  • 学习ARM开发(14)
  • 学习ARM开发(15)
何立民专栏 单片机及嵌入式宝典

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

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