基于ARM嵌入式的远程监控系统设计

2024-05-25

基于ARM嵌入式的远程监控系统设计(通用6篇)

篇1:基于ARM嵌入式的远程监控系统设计

基于ARM嵌入式的远程监控系统设计

摘要:基于ARM 内核的嵌入式系统在远程监控报警系统中的设计实现与应用。核心部分主要包 括 ARM 嵌入式平台设计及 μC-OS 嵌入式实时操作系统移植;人机交互界面 μCGUI 的设计与实现;远程通讯及自动报警等;系统的设计还考虑到了扩展性和通用性以及与其他监控设备无缝连接等问题。

关键词: ARM;μC/OS-II;μCGUI;远程监控 引言

监控系统现已成为现代化生产、生活中不可缺少的重要组成部分。目前,监控系列产品 种类繁多,大部分广泛应用于交通、医院、银行、家居、学校等安防领域。

随着嵌入式系统的出现,尤其是基于 ARM 内核芯片的嵌入式系统的出现,使得监控系统的应用领域更为广泛。本文设计的远程监控报警系统除了作为安防功能外,还可以应用于以下领域:通讯领域:远程通讯、视频会议和视频点播、证券、远程教育等。医疗领域:病房监护、远程诊断等。工业领域:远程设备诊断、维护、维修,远程生产监控等。家用领域:家用电器远程维护;电、气、火等重大事故自动报警等。

系统设计

2.1系统组成

本文设计的远程监控系统主要由中心控制器、数据终端、传感器模块、通讯模块、接口模块等几部分组成。系统组成图(如图 1)。

2.2中心控制器 系统核心负责数据采集判断处理。为了提高系统工作效率,这里使用的是三星公司的 S3C2410芯片作为处理器。S3C2410 芯片是一款高性价比的 ARM 芯片,非常适合作手机、PDA 等手持设备。主要特性包括: ARM920T 内核,最高工作频率 203MHz,LCD 控制器:可直接驱动真彩液晶屏,最高支持 2048×1024 真彩液晶屏,2 个 USB Host端口,1 个USB Device端口,支持 Nand flash 启动模式,SD 卡接口,UART、IIC、SPI、IIS 等多种类 型串行接口,4 通道DMA。

本文的监控系统的 CPU 核心部分使用的是标准的 SO-DIMM200 金手指接口,便于后期维护和升级。如果该监控系统的使用环境较为苛刻,可以将 CPU替换为S3C2440芯片。S3C2440完全兼容S3C2410全部特性(注意:芯片引脚不完全兼容)。与S3C2410芯片相比,S3C2440的性能更为优越:最高工作频率可达500MHz,内部集成CMOS摄像头接口,但价格较昂贵。

图1 监控系统组成框图

2.3数据终端 数据终端的主要功能是对监控数据进行分析、处理,及时将数据汇报给监控人员。同时,监控人员可以根据现场情况,使用数据终端对监控的设备进行远程控制。数据终端最大优势 就是安全、可靠、便于携带。一般情况下为了节约成本,可以将手机、PDA 等移动通讯设备作为数据终端使用。但是如果作为对高危环境或精密仪器的监控系统,数据终端需要专业定制。这里使用的是中心控制器的作为数据终端,即中心控制器既作为数据采集发送中心,也可数据接收处理中心使用。

2.4通讯模块

通讯模块主要负责远程数据通讯。带有 RS232/485、GPRS、CDMA 等一种或多种通讯 方式。需要根据现场环境和用户需要进行定制。通讯模块与控制器通过接口总线连接,连接 方式为 TTL/RS232/RS485 等。

2.5传感器模块

传感器模块的主要功能是感知外部环境,对外部环境进行实时监测。由人体红外传感器、振动传感器、超声波传感器、可燃气体传感器、温度传感器、湿度传感器等一种或多种传感 器组成。可根据现场监测环境不同进行定制。

2.6接口模块

接口模块主要作为系统扩展功能使用,将控制器的 A/D 转换、I2C、SPI 等多种接口进行 外部扩展。接口模块没有特定的功能,但可以根据需要与其他设备连接,例如可以与工业仪 器仪表或设备连接,实时对仪器或设备进行监控。

接口模块虽然不是监控系统的主要部分,但是对于整个系统来说却是不可缺少。因为本文的监控系统主要考虑到了系统的可扩展性和与其它系统无缝连接。通过接口模块可以很方 便的对监控系统进行升级,并且可以实现与其他系统或设备的无缝连接。这也是本系统区优 于其他监控系统的主要功能。软件设计

3.1工作软件

系统的软件设计较为复杂,这里只给出了整个工作软件流程(如图 2)。

图2 软件流程图

3.2操作系统移植

S3C2410 芯片支持多种嵌入式操作系统,如 WINCE、uCLinux 等。但考虑到监控系统 的实时性要求,这里使用的是 μC/OS-II 嵌入式实时操作系统。μC/OS-II 是一个源码公开、可移植、可固化、可裁剪、占先式的实时多任务操作系统。其绝大部分源码是用 ANSI C 写的。整个嵌入式系统分为两大层:硬件层和软件层。这里主要研究软件层的架构。软件层主要分为四个部分:实时操作系统内核,与处理器相关部分,与应用程序相关部分,用户的应用程序。移植 μC/OS-II 系统需要修改的文件有:应用程序相关文件: OS_CFG.H INCLUDE.H; 处理器相关文件: OS_CPU.H、OS_CPU_A.ASM、OS_CPU_C.C。

3.2.1 与处理器相关的代码

这是移植中最关键的部分。内核将应用系统和底层硬件有机的结合成一个实时系统,要 使同一个内核能适用于不同的硬件体系,就需要在内核和硬件之间有一个中间层,这就是与 处理器相关的代码。处理器不同。这部分代码也不同。我们在移植时需要自己移植这部分代 码。

a)OS_CPU.H

包括了用#define 定义的与处理器相关的常量,宏和类型定义,有系统数据类型定义,栈 增长方向定义,关中断和开中断定义,系统软中断的定义等等。

b)OS_CPU_A.ASM

这部分需要对处理器的寄存器进行操作,所以必须用汇编语言来编写。包括四个子函数: OSStartHighRdy(),OSCtxSw(),OSIntCtxSw(),OSTickISR()。OSStartHighRdy()在多任务系统启动函数 OSStart()中调用。完成的功能是:设置系统运行标志位 OSRunning = TRUE;将就绪表中最高优先级任务的栈指针 Load 到 SP 中,并强制中断返回。这样就绪的最高优先级任务就如同从中断里返回到运行态一样,使得整个系统得以运转。OSCtxSw()在任务级任 务切换函数中调用的。任务级切换是通过 SWI 或者 TRAP 人为制造的中断来实现的。ISR 的向 量地址必须指向 OSCtxSw()。这一中断完成的功能:保存任务的环境变量(主要是寄存器的值, 通过入栈来实现),将当前 SP 存入任务 TCB 中,载入就绪最高优先级任务的 SP,恢复就绪最高优先级任务的环境变量,中断返回。这样就完成了任务级的切换。OSIntCtxSw()在退出中断 服务函数 OSIntExit()中调用,实现中断级任务切换.由于是在中断里调用,所以处理器的寄存器入栈工作已经做完,就不用作这部分工作了。具体完成的任务;调整栈指针(因为调用函数会使任务栈结构与系统任务切换时堆栈标准结构不一致),保存当前任务 SP,载入就绪 最高优先级任务的 SP,恢复就绪最高优先级任务的环境变量,中断返回。这样就完成了中断级任务切换。OSTickISR()系统时钟节拍中断服务函数,这是一个周期性中断,为内核提供

时钟节拍。频率越高系统负荷越重。其周期的大小决定了内核所能给应用系统提供的最小时 间间隔服务。一般只限于 ms 级(跟 MCU 有关),对于要求更加苛刻的任务需要用户自己建立中断来解决.该函数具体内容:保存寄存器(如果硬件自动完成就可以省略),调 OSIntEnter(),调用 OSTimeTick(),调用 OSIntExit(),恢复寄存器,中断返回。

c)OS_CPU_C.C

该文件中共定义了 6 个函数,但是最重要的是 OSTaskStkInit().其他都是对系统内核的扩展 时用的.OSTaskStkInit()是在用户建立任务时系统内部自己调用的,对用户任务的堆栈进行初始化。使建立好的进入就绪态任务的堆栈与系统发生中断并且将环境变量保存完毕时 的栈结构一致。这样就可以用中断返回指令使就绪的任务运行起来。

3.2.2与应用相关的代码

这部分包括两个文件:OS_CFG.H, INCLUDES.H。用户根据自己的应用系统来定制合适 的内核服务功能。OS_CFG.H 来配置内核,用户根据需要对内核进行定制,留下需要的部分,去掉不需要的部分,设置系统的基本情况。比如系统可提供的最大任务数量,是否定制邮箱服务,是否需要系统提供任务挂起功能,是否提供任务优先级动态改变功能等等。INCLUDES.H 系统头文件,整个实时系统程序所需要的文件,包括了内核和用户的头文件。

3.3用户图形接口

虽然 μC/OS-II 操作系统具有很高的实时性,但不像 WINCE、uCLinux 等操作系统那样 有良好的图形界面支持。所以,在使用液晶和触摸屏的情况下需要移植用户图形接口程序。这里使用的是 μC/GUI。μC/GUI 是一个软件模块集合,通过该模块可以在我们的嵌入式产品 中加入用户图形接口(GUI)。μC/GUI 具有很高的执行效率,并且与处理器和 LCD 控制器相 独立。该模块可以工作在单任务或者多任务环境,可以支持不同大小的显示方式。

通过 μC/GUI 我们可以很方便的在液晶屏绘制图形和界面。如果需要多种字体支持,必 须自己将相应的字体字库加入到 μC/GUI 中。为了避免出现乱码,尽量使用 GB2312 国标字库。

3.4关于字库的兼容性问题

我们国内通常使用的汉字字库是 GB 码,但国际上使用的是 UNICODE 码,所以如果数据终端使用的是手机、PDA 等移动通信设备,那么在数据发送前必须进行字码转换,即 GB 码 转换为 UNICODE 码或者 UNICODE 码转换为 GB 码。由于 GB 码与 UNICODE 码在排列组合上没有任何规律,所以通常字码转换的方法就是 查表法。

4结束语

基于 ARM9 嵌入式系统的远程监控系统与以往的监控系统不同,高性能的处理器芯片大大提高了系统的性能。使监控系统能够工作在比较恶劣的环境中。并且在设计上充分考虑到了系统的可扩展性和兼容性问题,实现了本系统与其他系统的无缝连接。以满足不同工作环 境的需要。

作者创新观点:本文设计的远程监控系统应用范围更广,更灵活、方便。通过各个功能模块 的不同组合,可以十分方便快速的应用于各个领系域,真正实现智能化、自动化且具有较高 的性价比。

篇2:基于ARM嵌入式的远程监控系统设计

科技改变生活,科技为人类带来了更舒适更方便的解决方案,智能家居是现代化科技的体现,智能家居也正是在应人们需求下而产生的。

本设计的内容是设计一个基于ARM的智能家居远程监控系统。整个硬件控制系统有以下模块:控制主机STM32F103VET6、无线短信收发模块GPRS(远程监控的主要模块)、用于显示的LCD1602液晶显示屏(显示测量出来的温湿度值)、测量外部环境温湿度的温湿度传感器DHT11,异步电机28BYJ-48(模拟控制窗帘收放用到的控制器)、蜂鸣器(报警用)、LED灯(模拟室内各种灯)、继电器(模拟室内各种电器的控制开关)。

温湿度传感器测量出来的温湿度数值通过LCD1602来显示,当超过设定的阈值将通过GPRS模块发送警报短信到指定的手机上,同时也可以由手机发送特定短信到GPRS上控制LED灯的亮灭、控制28BJY-48步进电机的正反转、读取当前室内的温湿度并发送回手机上,实现远程监控的。关键词 智能家居;远程监控;GPRS;ARM Abstract Technology has changed life, science and technology has brought to mankind more comfortable and more convenient solution, smart home is a manifestation of modern technology, smart home is also in demand should be generated by people.The content of this thesis is to design a remote monitoring system of smart home based on ARM.The entire hardware control system has the following modules: the host controller STM32F103VET6, wireless SMS transceiver module GPRS(the main module of the remote monitoring), LCD display(to display the temperature and humidity measured values), temperature and humidity sensor,DHT11, be used to measure the external environment temperature and humidity, asynchronous motor 28BYJ-48(analog controller curtain used), a buzzer(alarm), LED light(simulated indoor lamps), a relay(control switch simulation of indoor each kind of electric appliance).The temperature and humidity value measured by the temperature and humidity sensor and displayed by LCD1602, when more than a set threshold an alarm SMS will be sent by GPRS module to the designated mobile phone, but also can be caused by the mobile phone to send a specific message to the GPRS to control LED light, 28BJY-48 stepper motor reversible, read the current indoor temperature and humidity and sent back to the mobile phone.Keywords smart home;remote monitoring;GPRS;ARM II

目 录

摘要.......................................................................................................................I Abstract...............................................................................................................II 第1章 绪论........................................................................................................1 1.1 课题背景..................................................................................................1 1.2国外的发展动态.......................................................................................1 1.3 国内的发展动态......................................................................................2 1.4 本文各章主要安排..................................................................................2 第2章 各个硬件模块的说明............................................................................3 2.1 主控模块..................................................................................................3 2.1.1 STM32的系统架构............................................................................3 2.1.2 STM32F103VET6的内部资源..........................................................4 2.2短信收发模块GPRS................................................................................7 2.3温湿度测量模块.......................................................................................8 2.3.1 DHT11的引脚说明............................................................................8 2.3.2 DHT11的工作原理............................................................................9 2.4 温湿度液晶显示模块LCD1602............................................................11 2.4.1 LCD1602的管脚说明......................................................................12 2.4.2 LCD1602的特性..............................................................................12 2.4.3 LCD1602的基本指令......................................................................12 2.5 收放窗帘模块步进电机28BJY-48.......................................................14 2.5.1 步进电机的工作原理......................................................................14 2.5.2 步进电机的引脚接线......................................................................14 2.6 本章小结................................................................................................15 第3章 硬件系统的设计..................................................................................16 3.1 直流稳压电源的设计............................................................................16 3.2 STM32最小系统的设计........................................................................17 3.2.1电源的供电方案...............................................................................17 3.2.2 晶振电路..........................................................................................17 3.2.3 复位电路..........................................................................................18 III 3.2.4 串口驱动电路...................................................................................18 3.3 步进电机、继电器驱动电路设计.........................................................19 3.4 本章小结.................................................................................................20

第4章 软件程序的设计...................................................................................21 4.1 主函数及TIM2中断服务函数设计......................................................21 4.1.1 主函数及TIM2中断服务函数程序代码........................................21 4.1.2 主函数及TIM2中断服务函数程序流程图....................................23 4.2 GPRS来信中断处理函数设计...............................................................24 来信中断处理函数程序代码.................................................24 4.2.2 GPRS来信中断处理流程图.............................................................26 4.3 GPRS的AT指令....................................................................................27 4.3.1 本设计中用到的AT指令................................................................27 4.3.2 PDU编码...........................................................................................27 4.3.3 AT指令的使用程序设计..................................................................29 4.4本章小结..................................................................................................31 结论.....................................................................................................................32 参考文献.............................................................................................................33 致谢.....................................................................................................................35 附录一 整个硬件系统电路图...........................................................................36 附录二 开题报告说明.......................................................................................37 附录三 文献综述...............................................................................................38 附录四 中期报告...............................................................................................39 附录五 外文文献及其翻译...............................................................................40 附录六 完整的程序代码...................................................................................41 4.2.1 GPRS IV 第1章 绪论 第1章 绪论 1.1 课题背景

随着科技的提高,经济的发展,人们的物质生活水平的提高,对家居环境的要求也越来越高,作为家居智能化的核心部分——智能家居控制系统也越发显得重要。智能家居控制器可以为系统提供智能控制方案,使住户的控制更便捷,更高效,更能为家庭的日常活动节约不必要的能耗[1]。而且在现在这个注重绿色环保的世界里,智能的为住户控制好空气的湿度、温度等,检查分析空气成分,让住户安心入住。家居智能化控制的开发和建设是未来国家、经济发展的必然趋势。在科学技术日新月异的今天,智能家居产品也在不断发展寻求突破,用智能的方式缓和、解决社会矛盾,这是本课题的目的及意义所在。1.2国外的发展动态

1984年,世界上第一座智能建筑在美国的康涅迪格州建成,这座意义不一般的智能建筑是对一座旧式大楼在一定程度上的改造而完成的。它只是采用计算机系统对大楼的照明、空调、电梯等设备进行监控,并提供情报资料、语音通信、电子邮件等方面的信息服务。2000年,新加坡大约有5000户家庭采用了这种家庭智能家居化系统,而与此同时,美国采用这种智能家居化系统的用户已高达4万户。目前,在国外的家庭智能化系统技术己经越来越成熟,预计今后,越来越多的新房将会安装具有一定的“智能家居化”功能的系统。于此同时,由于科学技术的发展日益标准化,这些新型智能家居系统将会比世界首富比尔.盖茨耗资六千万美元的高端智能家居别墅便宜得多。

在家居智能化系统研发方面,美国及一些西方国家一直处于领先地位。近年来,以摩托罗拉公司及美国微软公司等为首的一些国外知名企业,先后加入到智能家居系统的研发中。比如:摩托罗拉公司开发出来的“居所之门”、微软公司开发出来的“梦幻之家”、IBM公司开发出来的“家庭主任”等都以日趋成稳的技术霸占家居市场。此外,亚洲国家日本、韩国、新加坡等国 的领头大企业也纷纷致力于家居智能化的研发,对家居市场更是跃跃欲试。1.3 国内的发展动态

1990年后,我国的智能家居化住宅小区日益兴起。我国的智能家居化住宅建筑最早起于广州、深圳和上海等沿海发达城市,并慢慢地向内陆发展。在1997年香港回归时,上海的中皇广场在建设部“97跨世纪住宅小区案竞赛活动”中被建设部科技委员会评为全国首家“智能住宅示范工程”,从此揭开了我国智能家居住宅小区发展的序幕。1999年,建设部住宅产业化办公室、建设部勘察设计司联合组织实施了全国住宅小区智能化技术示范工程,这也标志着我国的智能家居进入了一个新阶段。随着信息化技术日益普,国家经贸委领头成立了家庭信息网络技术委员会,同时信息网络技术体系研究及产品开发已经被列为了国家技术创新的重点专项计划。根据建设部的要求,截止今年,大中城市中50%的住宅要实现智能化[2]。

我国的智能家居建设相对于国外起步比较晚,尚未形成一定的国家标准。国内各大硬、软件企业机构正在积极的研发更为符合市场的智能家居化产品,以解决我国当前智能化设备使用复杂、产品价格昂贵及实用性差等缺点,而技术创新能力也逐渐向国际先进水平靠拢,这样智能家居的未来值得我们期待[3-4]。1.4 本文各章主要安排

本文第二章主要介绍了智能家居控制系统中用到的各个硬件模块,有主控模块STM32F103VET6、GPRS短信收发模块GTM900-B、温湿度测量传感器DHT11、液晶显示屏LCD1602、步进电机28BYJ-48。

第三章主要介绍了硬件系统的设计,重点描述各个功能模块电路图的设计及其功能。

第四章主要介绍了控制系统软件程序的设计,主要有主函数及TIM2中断处理函数的程序设计,GPRS来信中断处理函数的设计以及GPRS的AT指令的PDU编码过程。其中给出了主要程序代码及其程序流程图。第2章 各个硬件模块的说明 第2章 各个硬件模块的说明 2.1 主控模块

本设计整个系统的主控芯片选择的具有ARM内核Cortex-M3的STM32F103VET6。该芯片属于增强型的32位高性能微控制器,具有100引脚和高达512K字节的闪存存储器。2.1.1 STM32的系统架构

STM32VET6的系统架构包含4个驱动单元:Cortex-M3内核Dcode总线、系统总线、通用DMA1和通用DMA2;4个被动单元:内部闪存存储器Flash、内部数据存储器SRAM、FSMC和AHB到APB的桥。这些单元都是通过一个多级的AHB总线构架相互连接的,如图2-1所示。

ICode: 该总线将闪存指令接口与ARM的Cortex-M3内核的指令总线相连接。指令预取在此总线上完成。

DCode: 该总线将闪存存储器的数据接口和Cortex-M3内核的数据总线相连接(常量加载和调试访问)。

系统总线: 此总线连接Cortex-M3内核的系统总线到总线矩阵,总线矩阵协调着DMA与内核之间的访问。

DMA总线: 此总线将DMA的AHB主控接口与总线矩阵相联,总线矩阵协调着CPU的DCode和DMA到 内部闪存存储器Flash、内部数据存储器SRAM和外设的访问。

总线矩阵: 该矩阵协调DMA主控总线与内核系统总线间的访问与仲裁,仲裁采用轮换算法。总线矩阵包含4个驱动部件和4个被动部件。AHB外设通过总线矩阵与系统总线相连,允许DMA访问。

AHB/APB桥(APB): 两个AHB/APB桥在AHB和2个APB总线间提供同步连接。APB1操作速度限于36MHz,APB2操作于全速(最高72MHz)。有关连接到每个桥的不同外设的地址映射。在每一次复位以后,所有除SRAM和FLITF以外的外设都被关闭,在使用一个外设之前,必须设置寄存器RCC_AHBENR来打开该外设的时钟 3

图2-1 STM32系统架构

2.1.2 STM32F103VET6的内部资源

STM32F103VET6的引脚图如图2-2所示。

(1)内核:ARM的32位Cortex-M3微处理器;最高达72MHZ频率,Cortex-M3内部的数据路径是32位的,寄存器是32位的,存储器接口也是32位的。Cortex-M3采用了哈佛结构,拥有独立的Dcode总线和Icode总线,可以让数据访问和取指并行不悖,这样数据访问就不再占用Icode总线,从而提升了工作性能。为实现这个特性,Cortex-M3内部含有好几条总线接口,每条都为自己的应用场合而优化过,并且它们可以并行工作。第2章 各个硬件模块的说明 图2-2 STM32F103VET6引脚图

(2)存储器:512KB的闪存程序存储器;64K字节的静态数据存储器 5

SRAM,它可以以字节、半字(16位)或全字(32位)访问。(3)时钟和电源管理:

(a)三种不同的时钟源可被用来驱动系统时钟(SYSCLK):1)HSI振荡器时钟;2)HSE振荡器时钟;3)PLL时钟。

(b)STM32的工作电压(VDD)为2.0~3.6V,通过内置的电压调节器提供所需的1.8V电源;

(c)独立的A/D转换器供电和参考电压;

(d)一个完整的上电复位(POR)和掉电复位(PDR)电路;(e)可有3种不同工作模式的电压调节器;(f)可编程电压监测器(PVD)。

(4)通用和复用功能I/O(GPIO和AFIO):5组多功能双向5V兼容的通用I/O端口;可使用复用功能重新映射到其他一些引脚上。

(5)DMA控制器:支持定时器、ADC、SPI、IIC和USART等外设。(6)嵌套向量中断控制器:

(a)有68个可屏蔽中断通道(不包含16个Cortex™-M3的中断线);(b)16个可编程的优先等级(使用了4位中断优先级);(c)低延迟的异常和中断处理;(d)电源管理控制;

(e)系统控制寄存器的实现。

(7)模拟/数字转换(ADC):12位的ADC是一种逐次逼近型模拟数字转换器,它有多达18个通道,可测量16个外部和2个内部信号源。

(8)定时器:2个高级控制定时器(TIM1、TIM8);(a)4个通用定时器(TIM2、TIM3、TIM4、TIM5);(b)2个基本定时器(TIM6、TIM7);

(c)一个实时时钟、两个看门狗定时器和一个系统滴答定时器(Systick)。

篇3:基于ARM的嵌入式远程监控系统

1 远程监控系统总体结构

远程监控系统实质是本地和远程端共同构成能够实现远程监控的软、硬件的系统,它是信息网络与控制网络结合的产物,目前已成为自动化控制领域的研究热点。根据设计的要求,本监控系统包含三部分。

(1)现场设备层:包括远程I/O控制模块和各种现场控制器。主要完成现场数据的采集、处理并通过总线接口与上层进行通信。

(2)内部控制管理层:主要由企业内部以太网、ARM主控制器组成。主要完成整个系统的信息收集和发布,并对整个系统进行统一管理和监控。

(3)网络层:该层通过交换机、路由器连接企业各个局域网,完成信息全球发布。

系统总体结构框图如图1所示。

2 软硬件设计

本系统的设计包括硬件设计与软件设计。网络系统硬件包括系统管理主机、服务器、网关、协议转换器、集线器及底层智能化仪表。网络系统软件包括网络操作软件、服务器操作软件、应用软件数据库、通信协议、网络管理协议等。

2.1 硬件设计

2.1.1 控制器的设计

ARM控制器作为嵌入式远程控制系统的中央控制平台是整个监控系统的核心,在系统中起着承上启下的作用。向上连接企业的局域网,向下兼容测控专用的现场总线网络;同时,它还承担对外围系统的数据采集和控制功能。该部分的整体结构由处理器、存储器、电源、网络功能、测控专用网络、模拟信号采集、数字量输入输出等部分构成,其基本结构如图2所示。在这个控制系统中核心板为基于AT91RM9200的最小系统,主要包括了AT91RM9200、Flash、SDRAM、电源模块、以太网通信端口、RS-485和RS-232通信端口、JTAG调试端口等。

2.1.2 嵌入式以太网的硬件设计

该系统采用的是Realtek公司生产的RTL8019AS以太网控制器,由于其优良的性能、低廉的价格,使其在市场上在10Mb/s网卡中占有较高的比例。

RTL8019AS的性能如下:

(1)符合以太网与IEEE802.3的标准;

(2)全双工,收发可同时达到10Mb/s的速率;

(3)内置16KB的SRAM,用于收发缓冲,降低对主处理器的速度要求;

(4)支持8/16位数据总线,8个中断申请以及16个I/O基地址选择;

(5)支持UTP、AUI、BNC自动检测。还支持10BaseT拓扑结构的自动极性修正;

(6)允许4个诊断LED引脚可编程输出。

由于开发资源非常丰富,所以对RTL8019AS开发比较容易。其网络通信部分的接口电路如图3所示。用RTL8019AS芯片设计的以太网控制器相关电路,可以通过RJ-45连上以太网,采用跳线工作方式即网卡的I/O和中断由跳线决定,JP引脚高电平是选择16位数据线。系统通过4条地址线A0~A3选择RTL8019AS的寄存器地址和存储器地址,控制并实现数据的读取。RTL8019AS的TPIN+(59脚),TPIN-(58脚)脚是TP的一对输入脚,能以10Mb/s的速率从双绞线接收差分曼彻斯特编码的数据。TPOUT+(45脚)、TPOUT-(46脚)是一对曼彻斯特编码的差分TP输出信号。为了防止双绞线超载,该输出信号会被提前中断,这样可以减少拥塞。连接器的其他管脚都通过一个电容与地连接。最后,还必须在50、51脚之间接入一个20MHz的晶体振荡器。网卡的复位信号由ARM产生,RST为高电平有效,信号宽度至少为800ns。ARM的一个引脚产生1μs以上的高电平就可以使RTL8019AS复位。

2.1.3 底层采集模块设计

以总线技术为核心的工业控制系统,在底层设计时采用传感器和各种智能仪器共同控制现场设备的正常运行。由于各种总线采用的网络协议和通信介质各不相同,使得不同总线设备之间实现互连和互操作存在困难。这层信息参数主要包括生产装置运行参数的测量值、控制量、开关阀门的工作位置、报警状态、设备的资源与维护信息、系统组态、参数修改、零点与量程调整信息等,所以要协调好各种总线及控制节点间的关系,以保证系统的正常运行。具体设计如图4所示。

2.2 软件设计

软件总体设计包括嵌入式Linux[2,3]文件系统设计、网络通信程序设计、驱动程序设计和远程数据处理程序设计。

远程数据采集终端主要完成对电压、流量、压力、电流等信号的采样及A/D转换。

网络通信程序[4]是指上位机和下位机之间通过以太网进行通信的程序。在以太网中应用的TCP/IP协议,其核心内容在传输层、网络层和设备接口层,而这三层的功能一般是在操作系统的内核中实现的。要在以太网上正确传输数据,网络协议是必不可少的,而TCP/IP协议是首选。使用完整的TCP/IP协议当然能够实现上述要求,但由于使用了嵌入式系统,其资源有限,因此必须对协议进行精简。

2.2.1 驱动程序设计

以太网驱动程序[5]主要实现以太网数据包的发送和接收。这是以太网通信中最基本也最重要的,其实现的好坏直接影响整个协议的性能。驱动程序在发送数据时,将要发送的数据包按指定的格式写入RTL8019AS并启动发送命令,RTL8019AS会自动把数据包转换成物理帧格式在物理通道上传输。在接收数据时,RTL8019AS收到物理信号后将其转换成数据,按指定格式存放,以太网驱动程序按照网络层可以接收的形式对接收到的数据进行处理并交付。简言之,RTL8019AS完成数据包和电信号之间的相互转换,而以太网驱动程序就是物理接口与网络层交互的软件接口。以太网驱动程序具体如下:

2.2.2 数据处理

系统内部首先注册RTL8019AS网络设备,从而利用Linux为网络设备所提供的数据传输功能接口,实现专用网卡的数据传输。数据发送时,首先数据由块设备的数据接口从用户态拷入核心态的系统缓冲区中,再由RTL8019AS的发送接口将数据发送到网络硬件设备。Linux在进程调度或从系统调用返回时,调度程序判断是否被激活,然后判断写队列是否有请求块。若有则将数据发送给对方进程,在确认信号到来后,将请求块移去。若数据发送后响应的为重传信号,则根据约定进一步处理。重复处理下一个请求块直至请求队列为空。若队列空且有进程睡眠则唤醒睡眠进程。在接收时,通过RTL8019AS的设备接口将数据接收到系统缓冲区中,再通过块设备接口将数据发送到用户缓冲区中。当有数据收到时,激活中断服务子程序,中断服务子程序将数据读入数据队列,若有读睡眠进程则唤醒该进程,同时将到来的数据进行校验,数据正确则发回信号,否则发回重传信号,如图5所示。

随着网络通信技术的发展,工业控制领域也迎来了深刻技术变革,控制系统结构网络化与控制系统体系开放性将是控制系统技术发展的趋势。近年来出现的基于ARM的嵌入式远程监控系统作为一种全新的概念成为计算机技术与自动控制技术深度融合的产物,其高度的开放性、通用性、统一性使其相对于传统监控模式具有巨大的优势,其应用前景也被人们寄予厚望。

摘要:研究了基于 ARM 的嵌入式远程监控系统。系统采用 S3C2410为主控芯片并且移植了具有一定实时性、源代码公开的嵌入式系统 Linux。ARM 处理器实时监控现场设备的运行,并将得到的各种监控参数进行分析、处理,然后将处理结果通过以太网传入 Internet。远程控制者就可以实现异地监视和控制现场设备。

关键词:嵌入式技术,套接字,Linux,远程监控,ARM

参考文献

[1] 刘甜甜,连耀华.基于 ARM 的嵌入式远程监控系统[J].电子技术,2007(4) :58-62.

[2] 陈阿林,肖嵬,肖丹燕,等.基于嵌入式 Linux 的网络监测 系统的设计与实现[J].重庆师范学院学报(自然科学版),2004,21(1) :23-25.

[3] 李善平.Linux 与嵌入式系统[M].北京:清华大学出版社,2003.

[4] 林宇,郭凌云.Linux 网络编程.北京:机械工业出版社, 2000.

篇4:基于ARM嵌入式的远程监控系统设计

关键词:智能家居;Linux系统;arm9;以太网

中图分类号:TP273.5

随着计算机与嵌入式技术的生活化,各种智能化、信息化的消费电子产品不断涌现。这些家用电器在方便人们的生活,提高人们的生活质量的同时,也提出了一个问题,如何对家庭中越来越多的信息家电进行有效的控制。智能家居是由欧美等发达国家提出的一种概念,旨在将家庭中离散的信息设备连接到一个家庭智能化系统上进行集中的或异地的监视控制和家庭事务的管理。随着网络技术和通信技术的不断发展和人们对生活要求的不断提高,实现家庭智能远程控制成为一种趋势,追求精神内涵、安全舒适、便捷智能化和自动化为理想目标。为此,本文提出了一种基于arm9处理器S3C2440的智能家居远程控制系统的设计方法。

1 系统设计

本系统通过多个不同的模块,包括处理器模块、显示模块、存储模块、家电控制模块、安防控制模块、摄像头模块、GPRS模块、蓝牙模块以及以太网接口等[1]。通过这些模块,系统实现了以下与智能家居相关的功能:

(1)家居监控。系统可使用户实时查看家中的温湿度、PM2.5等环境指数。当这些环境指数超出设定的阈值时,系统通过GPRS模块,向用户手机发出短信报警。

(2)远程控制。系统通过家电控制模块,可以让用户对家中的一些家具电器进行控制。

(3)安防功能。可在网络页面上开启视频监控功能,进行实时视频监控,并实现视频存储及移动监测报警,达到安防作用。

(4)门禁功能。可以启用RFID门禁功能作为辅助工具,实现家居的门禁效果。

系统硬件框图如图1所示。

由于篇幅有限,接下来介绍主要功能模块。

1.1 主处理器模块

该模块是整个系统的核心,完成所以接口的调度和事件的处理。主模块选用三星公司开发的一款基于arm920t内核和0.18umCMOS工艺的16/32位RISC微处理器,主频可达500多MHz。具有成本低,功耗低,性能高,接口众多,且其稳定性于可靠性经多年市场的实践,方案成熟,技术支持好。众多的接口令其能轻松完美地驱动系统的各项外设,较高的主频及优秀的CPU及豐富的RAM能令其完美的运行linux系统,完成整体系统的要求。

1.2 通信模

本系统采用以太网接口,GPRS模块,Zigbee模块,蓝牙模块等方式与外界通信。

以太网接口选用DM9000A芯片,与主处理器以16位总线接口相连,可根据需要以单工或全双工模式运行。通过其内部操作时序,可实现系统与以太网的相接。[2-3]

GPRS模块、zigbee模块和蓝牙模块则采用市场上较为成熟的sim900a,cc2530,cc2540等解决方案。这些方案久经市场考验,极为成熟。

1.3 家居外设

本系统采用多项智能家居的外设,如家居控制,环境监控,视频监控等模块。外设与处理器通过can总线,spi总线,USB接口等方式通信[4]。

家居控制模块包括电灯,窗帘,空调等的控制。电灯由继电器控制,服务器记录状态;为了最小程度改变空调结构,系统通过架设红外发射管模拟遥控器。窗帘通过步进电机所转过的角度来控制开闭程度。

环境监控模块则由一系列的传感器构成,如PM2.5传感器,温湿度传感器等。数据一方面上传服务器,可供用户登录查看。另一方面通过阈值监控报警功能,实现安防作用。

视频监控模块采用专用的带USB接口的集成摄像头模块。主机接上大容量的sd卡,能够在用户需要时储存特定时间段的视频,便于日后查看。

2 系统软件设计

整个系统由引导装载程序(U-Boot),设备驱动,嵌入式linux内核以及应用程序组成。这也符合一般嵌入式系统的软件构成[5-6]。

其中,操作系统使用Linux2.6系统内核,应用程序主要包括二个部分:一是是智能家居系统的主应用程序;二是以太网与图形应用界面。

第一部分的主要功能的实现,主要是应用程序的编写,程序流程图如图2所示。

第二部分是图形界面的相关设计。本系统采用qt3软件进行具体界面的设计与移植。

本设计中,先设置好主窗口,在主窗口上添加与控制主题相关的按钮图片。在用户按下按钮时,显示相应界面。在各个外设的界面上,同样用按钮表示相应的操作。这些功能通过qt3的添加控件可以实现。

3 整机效果

在实验室智能家居实验房间内装备相应的系统,通过手机登陆网络,连接服务器ip地址后,通过用户名与密码登陆系统,能够完成相应的操作,并在环境参数超过阈值的时候发送手机短信报警。

4 结束语

通过实验室中的模拟家居环境测试,各项家居外设控制正常,各项监控安防装置能够正常工作,用户能够通过以太网对系统进行智能操控,达到了初期的设计目标。测试结果表明,该系统设计合理,可靠性强,成本低,可操作性好,适合大面积推广。

参考文献:

[1]戴刚,高洋,陈煌华.基于ARM的智能家居远程控制系统的硬件设计[J].世界电子元器件,2007(08).

[2]严厉平.嵌入式智能家庭网关的研究与设计[J].微计算机信息,2005(02):14-16.

[3]刘霞辉,段承先.基于TCP/IP协议的网络家电控制器[J].机械工程与自动化,2009(02):170-172.

[4]徐锋,刘欣,方加宝.智能家居远程控制系统设计[J].低压电器,2009(04):21-24.

[5]孙弋.基于S3C2440的嵌入式Linux开发实例[M].西安:西安电子科技大学出版社,2010.

[6](英)马修.Linux程序设计[M].北京:人民邮电出版社,2010.

作者简介:林昊然(1994.07-),男,本科在读,研究方向:电子电路。

作者单位:中国计量学院,杭州 310018

篇5:基于ARM嵌入式的远程监控系统设计

Research and Development of the Remote I/O Data Acquisition System Based on Embedded ARM Platform

INTRODUCTION

With the wide use of the networked, intelligent and digital distributed control system, the data acquisition system based on the single-chip is not only limited in processing capacity, but also the problem of poor real-time and reliability.In recent years, with the rapid development of the field of industrial process control and the fast popularization of embedded ARM processor, it has been a trend that ARM processor can substitute the single-chip to realize data acquisition and control.Embedded ARM system can adapt to the strict requirements of the data acquisition system, such as the function, reliability, cost, size, power consumption, and so on.In this paper, a new kind of remote I/O data acquisition system based on ARM embedded platform has been researched and developed, which can measure all kinds of electrical and thermal parameters such as voltage, current, thermocouple, RTD, and so on.The measured data can be displayed on LCD of the system, and at the same time can be transmitted through RS485 or Ethernet network to remote DAS or DCS monitoring system by using Modbus/RTU or Modbus/TCP protocol.The system has the dual redundant network and long-distance communication function, which can ensure the disturb rejection capability and reliability of the communication network.The new generation remote data acquisition and moni-toring system based on the high-performance embedded ARM microprocessor has important application significance.STRUCTRUE DESIGN OF THE WHOLE SYSTEM

The whole structure chart of the remote data acquisition and monitoring system based on embedded ARM platform is shown in Figure 1.In the scheme of the system, the remote I/O data acquisition modules are developed by embedded ARM processor, which can be widely used to diversified industries such as electric power, petroleum, chemical, metallurgy, steel, transportation and so on.This system is mainly used for the concentrative acquisition and digital conversion of a variety of

苏州大学本科生毕业设计(论文)

electrical and thermal signals such as voltage, current, thermal resistance, thermo-couple in the production process.Then the converted data can be displayed on the LCD directly, and also can be sent to the embedded controller through RS485 or Ethernet network communication interface by using Modbus/RTU or Modbus/TCP protocol.The data in the embedded controller platform is transmitted to the work-stations of remote monitoring center by Ethernet after further analyzed and pro-cessed.At the same time, these data can be stored in the real time database of the database server in remote monitoring center.The system has the dual redun-dant network and long-distance communication function, which can ensure the disturb rejection capability and reliability of the communication network.The hardware platform of the Remote I/O data acquisition system based on emb-edded ARM uses 32-bit ARM embedded microprocessor, and the software plat-form uses the real-time multi-task operating system uC/OS-II, which is open-source and can be grafted, cut out and solidified.The real time operating system(RTOS)makes the design and expansion of the application becomes very easy, and without more changes when add new functions.Through the division of the appli-cation into several independent tasks, RTOS makes the design process of the application greatly simple.Figure 1 Structure of the whole system

苏州大学本科生毕业设计(论文)

THE HARDWARE DESIGN OF THE SYSTEM

The remote I/O data acquisition system based on embedded ARM platform has high universality, each acquisition device equipped with 24-way acquisition I/O channels and isolated from each other.Each I/O channel can select a variety of voltage and current signals, as well as temperature signals such as thermal resis-tance, thermocouple and so on.The voltage signals in the range of 0-75 mV ,1-5V ,0-5V, and so on, the current signals in the range of 0-10mA and 4-20 mA, the thermal resistance measurement components including Cu50, Cu100, Pt50, Pt100, and the thermocouple measurement components including K, E, S, T, and so on.Figure2.Structure of the remote I/O data acquisition system based on ARM processor

The structural design of the embedded remote I/O data acquisition system is shown in Figure 2.The system equipped with some peripherals such as power, keyboard, reset, LCD display, ADC, RS485, Ethernet, JTAG, I2C, E2PROM, and so on.The A/D interface circuit is independent with the embedded system, which is independent with the embedded system, which is system has setting buttons and 128*64 LCD, which makes the debugging and modification of the parameters easy.The collected data can be sent to the remote embedded controller or DAS, DCS system by using Modbus/RTU or Modbus/TCP protocol through RS485 or Eth-ernet communication interface also, and then be used for monitoring and control

苏州大学本科生毕业设计(论文)

after farther disposal.The system of RS485 has a dual redundant network and long-distance communication function.As the embedded Ethernet interface makes the remote data exchange of the applications become very easy, the system can choose RS485 or Ethernet interface through jumper to communicate with host computer.Ethernet interface use independent ZNE-100TL intelligent embedded Ethernet to serial port

conversion module in order to facilitate the system maintenance and upgrade.The ZNE-100TL module has an adaptive 10/100M Ethernet interface, which has a lot of working modes such as TCP Server, TCP Client, UDP, Real COM, and so on, and it can support four connections at most.Figure3.Diagram of the signal pretreatment circuit

Figure 3 shows the signal pretreatment circuit diagram.The signals of thermo-couple such as K,E,S,T etc and 0-500mV voltage signal can connect to the positive end INPx and the negative end INNx of the simulate multiplexers(MUX)directly.The 4-20mA current signal and 1-5V voltage signal must be transformed by resis-tance before connecting to the positive end INPx and the negative end INNx of the MUX of certain channel.The RTD thermal resistance signals such as Cu50, Cu100, Pt50 and Pt100 should connect one 1mA constant current before connecting to the positive end INPx and the negative end INNx of the MUX of certain channel.苏州大学本科生毕业设计(论文)

Figure4.Diagram of ADC signal circuit

Figure 4 shows the ADC signal circuit, which using the 16-bit ADC chip AD7715.The connection of the chip and the system is simple and only need five lines which are CS(chip select), SCLK(system clock), DIN(data input), DOUT(data output)and DRDY(data ready).As the ARM microprocessor has the characteristics of high speed, low power, low voltage and so on, which make its capacity of low-noise, the ripple of power, the transient response performance, the stability of clock source, the reliability of power control and many other aspects should be have higher request.The system reset circuit use special microprocessor power monitoring chip of MAX708S, in order to improve the reliability of the system.The system reset circuit is shown in Figure 5.苏州大学本科生毕业设计(论文)

Figure5.Diagram of system reset circuit

SOFTWARE DESIGN AND REALIZATION OF THE SYSTEM The system software of the remote I/O data acquisition system based on embedded ARM platform use the real-time operating system(RTOS)uC/OS-II, which is open-source and can be grafted, cut out and solidified.The key part of RTOS is the real-time multi-task core, whose basic functions including task management, resource management, system management, timer management, memory management, information management, queue management and so on.These functions are used though API service functions of the core.The system software platform use uC/OS-II real-time operating system core simplified the design of application system and made the whole structure of the system simple and the complex application hierarchical.The design of the whole system includes the tasks of the operating system and a series of user applications.The main function of the system is mainly to realize the initialization of the system hardware and the operating system.The initialization of hardware includes interr-upt、keyboard、LCD and so on.The initialization of operating system includes the control blocks and events control blocks, and before the start of multi-task schedu-ling, one task must be started at least.A start task has been created in this system, which is mainly responsible for the initialization and startup of clock, the start-up of interruption, the initialization of communication task module, as well as the division of tasks and so on.The tasks must be divided in order to complete various functions of the real-time multi-task system.苏州大学本科生毕业设计(论文)

Figure6.Functional tasks of the system software

Figure6 shows the functional tasks of the system software.According to importance of the tasks and the demands of real-time, the system applications are divided into six tasks with different priority, which including the tasks of A/D data acquisition, system monitoring, receive queue, data send, keyboard input, LCD display.The A/D data acquisition task demands the highest real-time requirements and the LCD display task is the lowest.Because each task has a different priority, the higher-priority task can access the ready one by calling the system hang up function or delay function.苏州大学本科生毕业设计(论文)

Figure7.Chart of AD7715 data transfer flow

Figure 7 shows the data conversion flow of AD7715.The application A/D

conversion is an important part of the data acquisition system.In the uC/OS-II real-time operating system core, the realization process of A/D driver depends mainly on the conversion time of A/D converter, the analog frequency of the conversion value, the number of input channels, the conversion frequency and so on.The typical A/D conversion circuit is made up of analog multiplexer(MUX), amplifier and analog to digital converter(ADC).苏州大学本科生毕业设计(论文)

Figure8.Diagram of the application transfer driver

Figure8 shows the application procedure transfer driver.The driver chooses the analog channel to read by MUX, then delay a few microseconds in order to make the signal pass through the MUX, and stabilize it.Then the ADC was triggered to start the conversion and the driver in the circle waiting for the ADC until its completion of the conversion.When waiting is in progress, the driver is detecting the ADC state signal.If the waiting time is longer than the set time, the cycle should be end.During waiting time of the cycle, if the conversion completed signal by ADC has been detected, the driver should read the results of the conversion and then return the result to the application.苏州大学本科生毕业设计(论文)

Figure9.Diagram of serial receive

Figure9 shows the serial receive diagram with the buffer and signal quantity.Due to the existence of serial peripheral equipment does not match the speed of CPU, a buffer zone is needed, and when the data is sending to the serial, it need to be written to the buffer, and then be sent out through serial one by one.When the data is received from the serial port, it will not be processed until several bytes have been received, so the advance data can be stored in buffer.In practice,two buffer zones, the receiving buffer and the sending buffer, are needed to be opened from the memory.Here the buffer zone is defined as loop queue data structure.As the signal of uC/OS-II provides the overtime waiting mechanism, the serial also have the overtime reading and writing ability.If the initialization of the received data signal is 0, it expresses the loop buffer is empty.After the interrupt received, ISR read the received bytes from the UART receiving buffer, and put into receiving buffer region, at last wake the user task to execute read operation with the help of received signal.During the entire process, the variable value of the current bytes in recording buffer can be inquired, which is able to shows whether the receive buffer is full.The size of the buffer zone should be set reasonable to reduce the possibility of data loss, and to avoid the waste of storage space.CONCLUSIONS

With the rapid development of the field of industrial process control and the

苏州大学本科生毕业设计(论文)

wide range of applications of network, intelligence, digital distributed control System, it is necessary to make a higher demand of the data accuracy and reliability of the control system.Data acquisition system based on single-chip has been gradually eliminated because the problem of the poor real-time and reliability.With the fast popularization of embedded ARM processor, there has been a trend that ARM processor can alternate to single-chip to realize data acquisition and control.The embedded ARM system can adapt to the strict requirements of the data acquisition system, such as the function, reliability, cost, size, power consum-ption, and so on.In this paper, A kind of ARM-based embedded remote I/O data acquisition system has been researched and developed, whose hardware platform use 32-bit embedded ARM processor, and software platform use open-source RTOS uC/OS-II core.The system can be widely applied to electric power, petroleum, chemical, metallurgy, steel, transportation and so on.And it is mainly used in the collection and monitoring of all kinds of electrical and thermal signals such as voltage, current, thermal resistance, thermocouple data of the production process.Then these data can be sent to the remote DAS, DCS monitoring system through RS485 or Ethernet interface.The system has the dual redundant network and long-distance communication function, which can ensure the disturb rejection capability and reliability of the communication network.苏州大学本科生毕业设计(论文)

基于嵌入式ARM平台的远程I / O数据采集系统的研究和开发

导言

随着网络化,智能化,数字化分布式控制系统的广泛使用,基于单芯片的数据采集系统不仅在处理能力上受限制,并且在实时性和可靠性方面也出现了问题。近几年来,随着工业过程控制领域的迅速发展和嵌入式ARM处理器的迅速普及,ARM处理器代替单芯片实现数据的采集和控制成为了趋势。嵌入式ARM系统能适应数据采集系统的严格要求,如功能性,可靠性,成本,体积,功耗等等。

在本文中提出一种新型的基于ARM嵌入式平台的远程I / O数据采集系统已被研制开发,它可以衡量各种电气和热参数,如电压,电流,热电偶,热电阻等等。那个测量数据可以显示在液晶显示器的系统中,同时可通过使用Modbus / RTU或的Modbus / TCP协议从RS485或以太网网络传送到DAS或DCS远程监控系统。该系统具有双冗余网络和长途电通信功能,它可以确保通信网络的干扰抑制能力和可靠性。基于高性能嵌入式ARM微处理器的新一代远程数据采集和监控系统具有重要的应用意义。

整个系统的结构设计

基于嵌入式ARM的平台的远程数据采集和监控系统的整个结构图在以下的图1中展示。在这系统的计划中,通过使用广泛用于多种行业如电气电力,石油,化工,冶金,钢铁,运输等的嵌入式ARM处理器来开发远程I / O数据采集模块。该系统主要用于的集中采购和将各种电和热信号如电压,热电阻,热电偶在生产过程中进行数字转换。转换的数据可直接在液晶显示器上显示,也可以通过使用的Modbus / RTU或的Modbus / TCP协议的RS485总线或以太网网络通信接口被发送到嵌入式控制器。嵌入控制器平台的数据通过进一步以太网的分析和处理被传送至远程监控中心的工作站。与此同时,这些数据可以存储在远程监控中心数据库服务器的实时数据库中。该系统具有双冗余网络和远程通讯功能,它可以确保通信网络的干扰抑制能力和可靠性。

基于嵌入式ARM远程I / O数据采集系统的硬件平台使用32位ARM嵌入式微处理器和软件平台使用的是开源的并且可移植,削减和巩固的实时多任务操作系统的第二代UC / OS核心。实时操作系统(RTOS)使设计和应用的扩大变得非常容易,增加新的功能时也没多大变化。通过几个独立的任务的应用,实时操作系统使得应用的设计过程极为简单。

苏州大学本科生毕业设计(论文)

系统的硬件设计

基于嵌入式ARM平台的远程I / O数据采集系统具有很高的普遍性,每个购置设备配备24收购方式的I / O渠道且彼此孤立。每个I / O通道可以选择不同的电压和电流信号,以及温度信号如热电阻,热电偶等。在05V的,010毫安和4100TL智能嵌入式以太网串口转换模块。该ZNE500mV的电压信号可以直接接到模拟多路复用器(复用器)的INPx正极和INNx负极。45V的电压信号必须用阻抗转换。热电阻的电阻信号如Cu50,Cu100,Pt50和Pt100应在接到某些频道的复用器INPx正极和INNx负极前连接一1毫安的恒流源。

图4显示了使用16位ADC芯片AD7715的ADC信号电路。芯片与系统的连接非常简单,只需要CS(芯片选择),SLCK(系统时钟),DIN(数据输入),DOUT(数据输出)和DRDY(数据准备)5根线。

由于ARM微处理器具有高速,低功耗,低电压等优点,这使它在低噪音,纹波权力,瞬态响应性能,时钟来源的稳定,功率控制和许多其他方面需要有更高的要求。为了改善系统的可靠性该系统复位电路中使用特殊的微处理器电源监测芯片MAX708S。图5展示了该系统复位电路。

系统软件的设计与实现

苏州大学本科生毕业设计(论文)

基于嵌入式ARM平台的远程I / O数据采集系统的软件使用的是开源的并且可移植,削减和巩固的实时多任务操作系统的第二代UC / OS核心。RTOS的关键部分是实时多任务的核心,其基本功能包括任务管理,资源管理,系统管理,计时器管理,内存管理,信息管理,队列管理等。通过API服务职能核心使用这些功能。

该系统软件平台使用的是单一化的uC/ OS第二代实时简化操作系统核心,使整个结构系统简单和应用层次复杂。整个系统的设计包括操作系统的任务和一系列的用户应用程序。系统的主要职能是实现系统硬件和操作系统的初始化。硬件初始化包括中断,键盘,液晶显示器等。操作系统初始化包括控制模块和事件控制,在多任务调度前,至少有一个任务开始。一个开端任务已建立在这一系统,这系统主要负责初始化和启动的时钟,开办中断,通信任务模块的初始化,以及任务分工等。为了完成实时多任务系统的多种职能那个任务必须被划分。

图6显示系统软件的功能任务。根据任务的重要性和实时要求,系统的应用曾划分为六个不同优先级的任务,其中包括A / D数据采集任务,系统监控,接受队列,数据传送,键盘输入,液晶显示屏显示。A / D数据采集任务要求最高的实时要求和液晶显示器显示任务是最低的。因为每个任务都有不同的优先事项,通过使用系统挂断功能或延迟功能更高的优先任务可以开始已经准备好的任务。

图7显示的是AD7715的数据转换流。A / D转换器的应用是数据采集系统的一个重要组成部分。在uS/ OS的第二代实时操作系统的核心中,A / D驱动程序的实现过程主要取决于A / D转换器的转换时间,有转换价值的模拟频率,输入通道的数量,转换频率等等。典型的A / D转换电路由模拟复用器(复用器),放大器和模拟到数字转换器(ADC)组成。

图8显示了申请程序转移的驱动程序。驱动程序可以在模拟通道读取由复用器,那么几微秒的延迟,以便使信号通过多路开关,并使其稳定。然后,当转换开始时,ADC被触发,并且驱动程序在一个周期内等待ADC的触发,直到完成转换。当等待的进展,该驱动程序检测ADC的状态信号。如果等待时间比规定的时间越长,周期应该结束。在等待的周期时间,如果转换完成ADC的信号被检测到,驱动程序应改为转换的结果,然后将结果返回给应用程序。

图9显示了缓冲区和信号量的序列接收图。由于外围串行设备的存在CPU的运行速度匹配,一个缓冲区是必要的,当数据发送到序列,它必须被写入缓冲区,然后通过串行逐一地被发送出去。当从串行端口收到数据,这些数据将不会被处理直到收到一些字节,因此先前的数据可以存储在缓冲区中。在实践中,两个缓冲区,一个接收缓冲区和一个发送缓冲区,它们是需要从内存开放出来。在这里缓冲区像循环队列数据结构一样被定义。

由于uC/OS-II提供额外时间等待机制的信号,串口也具有额外的阅读和写作能力。如

苏州大学本科生毕业设计(论文)

果收到的数据信号初值为0,它表示循环缓冲区是空的。在中断收到后,ISR从UART接受缓冲区中读到收到的数据,并投入接收缓冲区域,最后通过收到的数据开始用户执行读操作的的任务。在整个过程中,变量价值目前字节在存储缓冲区中的字节的变量值是可以被询问的,这能够表明接收缓冲区是否已满。为了降低数据丢失的可能性和避免浪费存储空间应合理地设置缓冲区的大小。

结论

随着工业过程控制领域的快速发展和网络,智能,数字化分布式控制系统广泛应用,有必要发展对数据准确性和控制可靠性要求更高的系统。由于较差的实时性和可靠性基于单片机数据采集系统已逐步被淘汰。随着嵌入式ARM处理器的迅速普及,ARM处理器替代单芯片实现数据采集与控制成为了一种新的趋势。嵌入式ARM系统能够适应数据采集系统的严格要求,如功能,可靠性,成本,大小,耗电量等等。

篇6:基于ARM嵌入式的远程监控系统设计

pdf文档可能在WAP端浏览体验不佳。建议您优先选择TXT,或下载源文件到本机查看。2010年第 11期 文章编号: 1006 2475(2010)11 0031 04 计 算 机 与 现 代 化 JISUAN JI YU X IAN DA I UA H 总第 183期

基于嵌入式 L inux远程图像监控系统的设计

唐人财, 刘连浩

(中南大学信息科学与工程学院, 湖南 长沙 410083)摘要: 系统以嵌入式微处理器 S3C2440和 L inux为核心平台, 采用 U SB摄像头作为图像采集设 备, 利用 L inux 下视频设备 应用编程接口 V 4L2和 Q t/Em bedded实现图像的采集, 实时 显示和 JPEG 格式 图片保 存, 利 用 libjpeg 库来实 现视频 数据 的编解码以及通过以太网进行远程传输, 实现一种功耗低、可靠性高和低成 本的网络图像采集与传输系统设计方案。关键词: L inux 图像采集;Q t/Em bedded V 4L2;S3C2440;;中图分类号: T P391 41.文献标识码: A do: 10 3969 /.j issn.1006 2475.2010.11.009 i.D esign of R emote I age M on itoring System Based on Em bedded L inux m TANG R en ca, L IU L ian hao i(Institu te of Infor ation Science and Eng ineer ing, C entra l South U niversity Changsha 410083, China)m , Ab stract T he syste uses e : m mbedded m icroprocesso r S3C2440 and L inux as the core platfo r T he applica tion prog ramm ing in m.te rface V 4L2 and Q t /Embedded library are tw o key techno log ies to realize i age acqu isition, rea l ti e display and JPEG p icture m m sav ing by using U SB ca era T his design of i age acqu isition and trans ission is a low powe r consumption, h igh reliab ility and m.m m inexpensive syste m, wh ich ach ieves encod ing o r decod ing of i ages by lib jpeg library and remo te transm ission o f E therne t m.K ey w ords L inux;i age acquisition;Q t/Em bedded V4L 2;S3C2440 : m;0 引

友好图形操作界面, 实现现场图像在终端上的实时显 示和 JPEG图片的保存。利用 L inux 下 lib jp eg库编码 压缩图像, 通过以太网接口实时传输到视频监控中心 PC机上, 通过接收解码显示现场图像, 实现远程视频 图像监控功能。系统总体设计结构如图 1所示。

随着嵌入式技术、多媒体技 术及网络技术 的发 展, 基于嵌入式技术、视频压缩编码技术和网络传输 控制技术的综合应用, 已成为数字化网络视频采集监 控领域的核心 技术。系统是基于 ARM 9和 L inux平台的远程视频图像监控设计方案, 整个系统建立在嵌 入式结构上, 实现了高质量的视频图像采集和实时处 理功能。

系统总体设计

远程视频图像监控系统分为嵌入式视频监控终 端和监控中心 PC 机两部分。嵌入 式视频监控终端 基于嵌入式微处理器 S3C2440和 L inux 核心平台, 采 用通用 USB 摄像头捕捉现场图像, 通过 USB 接口将 数据传输到 ARM 开发板上, 由开发板上的图像采集 处理模块进行图像数据处理, 通过 LCD 触摸屏显示

图 1 系统总体设计框图 2 系统硬件设计

系统选取 m in i2440开发板作为系统设计的硬件

收稿日期: 2010 06 28 作者简介: 唐人财(1978), 男, 海南海口人, 中南大学信息科学与工程 学院硕 士研究 生, 研 究方向: 嵌入 式系统 及应用;刘连 浩(1959), 男, 湖南 澧县人, 教授, 博士, 研究方向: 单片机及嵌入式系统。32 计

2010年第 11期

平台, 监控终端硬件由主控模块和扩展模块两部分组 成。主控模块采用嵌入式微处理器 S3C2440 它是一 , 款基于 ARM 920T 核的 16/ 32位 RS I 结构的嵌入式微 C 处理器, 主频 400 z 最高可达 533 MH , MH z 片内外资源 , 丰富, 具有强大的处理能力, 从硬件上保证了系统快速 的响 应 速 度。系 统 存 储 扩 展 了 128 B 的 NAND M FLAS 64 B的 SDRAM。扩展模块包括通用 USB摄 H, M 像头、9000以太网控制器和带触摸屏的 NEC3 5英 DM.寸 TFT 真彩液晶屏。主控模块通过 USB 接口电路、LCD接口电路、以太网接口电路与扩展模块相连接构 成整个硬件系统。系统硬件结构如图 2所示。

配置内核编译选项时把 UVC 驱动编译进内核。UVC 不是摄像头的品牌或型号, 它是一种视频设备的技术 规范, 全称为 U SB V ideo C lass 这是一个为 USB 视频 , 设备提供驱动的开源项目。UVC 驱动支持 V 4L 2应 用编程接口, 系统设计中使用的 USB 摄像头为 T op Speed U SB 2 0 C a era UVC 驱动提供支持。.m , 3 3 V4L2图像采集程序的实现.V4L2 是 V id eo For L inux Two 的 简称, 是 V id eo Fo r L in ux AP I的第二版本, 是 L inux 下开发视频设备 程序的接口标准, 使用分层方法对所有视频设备的驱 动和应用编 程提 供一 套完备 的接 口规 范。基于 V4L 2标准, 视频图像采集处理流程如图 3所示。[ 3] 图 2 系统硬件结构框图 3 系统软件设计

1 系统软件平台.系统软件平台以嵌 入式 L inux 和 Q t/Em bedded 为基础, 具体构建步骤为: 在宿主机上建立交叉编译 环境, 完成引导加载程序 v ivi的编译移植, 编译移植 linux 2 6 29 内核, 包括 DM 9000 网卡、..通用 USB 摄 像头和 LCD 触摸 屏等驱动 的移植, 基于 busybox 1.13.3构建文件系统。基于系统设计的需求, 还要完 成 QTE 4 5 3图形库与 tslib 1 4触摸屏支持库以及...lib jp eg库向开发板的移植。lib jp eg 库主要用于实现 内存中图像数据的编解码, QTE 4 5 3是面向嵌入式..系统的 Q t版本, 采用了 fram ebuffer作为底层图形接 口, 采用 C ++ 封装, 具有丰富的控件资源和良好的可 移植性, 系 统中的应 用程序 以及环 境都是 基于 Q t / Em bedded来开发的。最终形成基于 ARM 的嵌入式 [ 1 2] L inux 操作系统平台 , 在系统软件平台上可进行嵌 入式应用程序的开发。限于篇幅, 系统软件平台的构 建在此只作简单介绍。3 2 嵌入式 L inux下 USB 摄像头驱动.为了使用 L in ux下 V4L2应用编程接口编写图像 采集应用程序, 在开发板上移植版本为 linux 2 6 29..的内核, 此内核版本支持 UVC 驱动 USB 摄像头, 在图 3 视频图像采集处理流程图

3 1 视频设备结构体初始化..程序中定义一个视频设备的数据结构 struct vde vice 结构体的成员变量是对视频设备和图像属性的 , 描述。

init_ vdata(struct vdevice * vdev , char * dev _na e un m , signed int w idth unsigned int he ight int fo r at);, , m 通过参数完成对视频设备结构体变量 vdev的赋 值初始化。视频设备名称 dev_na e 视频图像宽度 m , w idth 视频图像高度 heigh, 视频图像格式 for a, 以 , t m t 及申请分配两个内存缓冲区 fram ebuffer和 rgbbu ffer , 分别为采集到的一帧图像 数据缓冲区和 24位 RGB 图像数据缓冲区。3 3 2 视频设备初始化..函数 in it_vdev(struct vdev ice * vdev)根据参数

2010年第 11期

唐人财等: 基于嵌入式 L inux远程图像监控系统的 设计

vdev传递的值对视频设备进行初始化, 这是进行视频 图像采集前必须完成的工作。视频设备结构体 vdev 包含了要设置的设备信息, 初始化视频设备到适合的 图像采集工作方式。视频设备初始化具体实现如下:(1)打开摄像头设备文件。利用系统调用 函数 vdev > fd = open(vdev > dev_nam e O_RDWR)实现, 该函数的功能是打开参 , 数 vdev > dev_nam e指定的设备, 对于摄像头用设备 文件名 /dev /v ideo0 表示, vdev > fd 是设备打开后 返回的文件描述符, 在程序中可使用它来对设备文件 进行操作。(2)查询设备信息和设置采集属性。在 L inux 编程中, io ct l函数是设备驱动程序中对 设备的 I /O 进行管理的函数, 用户程序一般使用 ioctl 函数来对设备的一些特性进行控制。调用带 V ID I C _ O QUERYCAP命令参数的 io ct l函 数来取得设备文件的属性参数, 并存储于 struct v4l2_ capab ility 结构体变量 vdev > cap 中, 然后可 逐项验 证 vdev > cap的属性, 看设备是否符合采集的要求。

ioctl(vdev > fd V ID I _QU ERYCAP, & vdev > cap);, OC m em 间建立映射, 调用带 V I I C _QBUF 命令参数的 DO ioct l函数将所申请的设备缓存加入等待输入缓存队 列, 内存映射初始化完成。3 3 3 采集图像数据..函数 capture(struct vdevice * vdev)完成一帧视 频图像数据采集, 采集到的视频图像数据存放到设备 缓存 vdev > bu f中, 通过映射的程序内存空间可处理 视频图像, 函数调用成功返回视频设备采集的图像数 据大小。在设备缓存加入等待输入队列后, 调用带 VIDI C_ O STREAMON命令参数的 ioctl函数使能视频设备。

type= V 4L2_BU F _TYPE_V IDEO _CA PTURE;ioctl(vdev > fd V ID I _STREAM ON, & type);, OC 图像数据缓存采用 F IFO 的方式, 缓存队列将已 采集到视频图像数据的设备缓存出队列, 此时与之映 射的内存空间就存储了采集到的视频图像数据, 处理 完毕重新使设备缓存加入队列。这个过程需要调用 两次 io ctl函数。

ioctl(vdev > fd V ID I _DQBUF, & vdev > buf);, OC ioctl(vdev > fd V ID I _QBUF, & vdev > buf);, OC 接着设置视频图像采集格式, 可根据需求修改摄 像头缓冲区中图像参数如分辨率、格式等。具体方法 为先给 struct v4 l2 _for at结构体变量 vdev > f t分量 m m 赋新值, 再调用 带 V ID I C _S _FMT 命令参数 的 ioctl O 函数完成采集属性的设置。ioctl(vdev > fd V ID I _S_FM T, & vdev > fm t);, OC 调用带 VIDIOC_DQBUF 命令参数的 ioct l函数使 设备缓存出队列, 利用系统函数 m em cpy 将所采集的 一帧视频图像数据拷贝的所分配的内存空间 vdev > fram ebuffer以 方 便 后 续 图 像 处 理。然 后 调 用 带 V IDI C _ O QBUF 命令参数的 io ctl函数把设备缓存重新 加入输入缓存队列, 至此完成一帧视频图像数据采集。系统采用的摄像头初始化为 YUV422图像格式, 图像要在 LCD 上显示, 必须进行图像数据格式转换 处理, 将 YUV422格式转换为 RGB24格式。

yuv2 rgb24(vdev > fra ebuffer vdev > rgbbuffer vdev > m , , w idth vdev > he ight);,(3)实现内存映射。V4L2捕获的数据是存放在内核空间的, 用户不 能直接访问该 段内存, 必须通 过某些手段来 转换地 址。系统采用 mm ap内存映射方式, 把设备内存映射 到用户程序内存空间, 直接处理设备内存, 加速了 I/ O 访问。主要函数调用如下: ioctl(vdev > fd V ID I _REQBUF S & vdev > rbuf);, OC , ioctl(vdev > fd V ID I _QU ERYBUF, & vdev > buf);, OC vdev > m e [ i] = mm ap(0, vdev > bu.length, PROT _ m f READ, M AP _SHARED, vdev > fd vdev > bu.f m.offset);, ioctl(vdev > fd V ID I _QBUF, & vdev > buf);, OC 函数 yuv2rgb24 将 vdev > fram ebuffer指定 内存 中的 YUV 422图像格式转换为 RGB24格式, 并存放 到 vdev > rgbbuffer指定内存中, 函数实现在 此不作 详细阐述。3 4 图像数据的 JPEG 编解码.网络传输前对原始图像数据进行压缩处理, 利用 IJG(Independent JPEG G roup)提供的 lib jp eg 库进行 [ 4 6] 图像编解码。在开源的 libjpeg 库中, 函数必须从 文件或其他 设备流中读取数据, 再将压缩数 据存成 JPEG 文件, 增加了不必要的文件 I/O 操作, 不利于网 络实时传输图像。为解决 该问题, 改写 了 lib jp eg 库 内 jdatasrc c和 jd atads.c两个源代码文件, 设计自定.t 义的结构体 struct m y_dest_ gr和 struct m y_src_ g r m m , 增加自定义图像数据缓存地址变量、已处理图像数据

具体实现: 首先, 对 struct v4 l2 _ requestbuffers结 构体变 量 vdev > rbuf 分 量 赋 值, 调 用 带 V I I C _ DO REQBUFS命令参数的 io ctl函 数分配自定义 数量的 设备缓存;然后, 在循环程序结构中对申请分配的设 备缓存 进行映射, 调用带 V IDIOC _QUERYBUF 命令 参数的 ioct l函数获得设备缓存偏移量和缓存大小并 存于 struct v4l2_buffer结构体变量 vdev > bu f中, 调 用 mm ap在设备 缓存 和程序 内存 空间 变量 vdev > 34 计

2010年第 11期

的偏移量变量和图像大小变量, 并改写 lib jp eg库相关 操作函数, 封装相关的数据结构和成员函数为自定义 的图像编解码类 MY JPEG。实现输入数据和输出数据 的重定向到内存, 利用开源的 libjpeg 库在内存中实现 图像的压缩和解压缩。参照 lib jpeg 库中编解码过程, 实现了类 MYJPEG中压缩与解压缩成员函数。

w r ite e(unsigned cha r * m m char* m quality);/ /图像数据压缩处理 readm e(uns igned char indata int pSize unsigned char m * , , * outdata);/ /图像 数据解压缩处理 outdata int * pS ize unsigned , , indata unsigned int mw idth, unsigned int mhe ight int , , 压缩函数中参数可以灵活对压缩图像分辨率大 小和质量属性进行设置, 参数 pS ize 返回压缩后图像 的大小。而解压缩图像时, 压缩图像的大小则通过参 数 pSize传入。3 5 网络传输视频图像数据.UDP是非连接的、不可靠的、传递数据报的传输 协议, 提供了一种高效无连接的服务。由于 UDP 不 提供数据的可靠性保证, 使其具有较少的传输时延, 很适合实时性高而不要求数据绝对可靠的场合。视 频图像数据实时性强, 数据量大, 所以系统设计采用 此协议传输数据。通过 L inux 下的 socket套 接字编 [ 7] [ 8 11] 程 , 实现视频图像的网络传输。利用 C语言中 的多线程编程, 将网络通信置于一个工作线程, 避免 了 GU I应用程序因网络阻塞等待操作而使图形用户 界面冻结无法响应的问题。系统设计时结合使用互 [ 12] 斥锁和条件变量对各个工作线程进行同步。嵌入式视频监控终端上采集显示程序作为主线 程, 同时创建一个视频图像发送工作 线程 deal_send(), 用来处理与视频监控中心 PC间的网络通信。具 体过程描述如 下: 调用 socket()函数创建一个 UDP 数据报类型的套接字, 接着调用 bind()函数, 给套接 字绑定一个端口。视频图像发送工作线程调用 recv from()函数在指定的端口上阻塞等待客户端发送来 的 UDP数据报, 接收到服务请求, 处理该服务请求并 通过 sendto()函数将处理结果返回给 PC 端。在监控中心 PC 端创建解码显示视频图像工作 线程, 并创 建一个视 频图像接 收工 作线程 deal _re ce ive(), 用来处理与视频监控终端的网络通 信。具 体过程描述如 下: 调用 socket()函数创建一个 UDP 数据报类型的套接字, 接着调用 bind()函数, 给套接 字绑定一个端口。调用 sendto()函数向监控终端发 送服务请求报文, 调用 recv from()函数等待并接收服 务应答报文。继续定时发送服务请求直至通信终止。具体网络传输的通信过程如图 4所示。

图 4 网络传输通信流程 4 视频图像实时显示

系统是一个实时视频图像采集与传输系统, 采集 的现场视频图像在嵌入式视频监控终端和监控中心 PC上实时显示与保存。只要以较快速度显示变化的 图片就可以实时显示现场情况, 系统中利用定时器每 40m s采集一帧视频图像。该远程图像监控系统界面 是通过 QT 来实现的, 在强大的 QT 图形库的支持下, [ 13 14 ] 可快速开发出友好的图形用户界面。利用几个 相关 Q t图形类 Q I age QP ixm ap和 QL abe,l 实现视频 m、图像的显示和 JPEG格式图片保存。5 结束语

系统设计方案 是一种基于嵌入式 L inux 的图像 采集和传输系统, 本文详细介绍了 V4L 2应用编程接 口进行 USB 摄像头视频图像采集, 基于 QTE 图形库 实时显示视频图像, 利用开源的 lib jp eg 库实现图像 的 JPEG 编解码, 通过网络实时传输进行远程监控。整个系统数字化、网络化程度高, 实时性好、稳定可靠 且图像质量较好。经实验测试, 系统很好地实现对现 场视频图像的监控。在该系统的基础上, 可进一步进 行二次扩展开发, 以便应用在工业现场控制、远程指 挥监控系统、可视电话等诸多领域。

参考文献: [ 1] [ 2] [ 3] 赵敏, 杨恢先, 汤安平.基于 S3C2440的嵌入式 L inux 系统 移植的研究与实现 [ J].电子器件, 2008 31(6): 1947 1950 ,.郑灵翔.嵌入式 L inux 系统设计 [M ].北京: 北京 航空航 天大学出 版社, 2008.M ichae lH Schi ek V ideo for L inux Tw o AP I Specifica tion m.[ EB /OL ].http: / /v4l2spec bytesex org /v4l2spec / v4 l2...pd, 2008 03 04.f(下转第 38页)38 计

化 2010年第 11期

目标图像中变成 A!B!因为向前移动了, 所以物体显 , 得比原来要大些。放大的过程应 该是: 逐步 放大左 图, 并适当地截取放大图中跟原来一样大小的一块矩 形区域, 作为一张新的过渡图。至于放大的倍数, 作 [ 8] 如下考虑 : 假设 A!的长度是 AB的 L 倍, 两幅图像之间插入 B!n张过渡图, 则每一张过渡图之间的放大的倍数是(L 1)/(n+ 1)。

速度, 内存优化后系统占用资源更少, 由于不用频繁 申请内存和 释放内存, 减少 了漏洞和错误发 生的几 率;采用缩放的方法改进了行进间的浏览效果, 提高 了虚拟漫游的沉浸感, 具有一定的实用意义。

参考文献: [ 1] 石云飞, 王永平, 李龙 济, 等.基于 模板匹配 的柱面全景 图拼接优化算法 [ J].工程图学学报, 2005(1): 96 99.[ 2] [ 3] [ 4] 华顺刚, 曾令宜, 欧宗瑛.一种快速的柱面全景拼接算法 [ J].数据采集与处理, 2006, 21(4): 435 436.潘华伟, 邹北骥.一种圆 柱形全 景图生 成新算法 及其实 现 [ J].计算机工程与科学, 2003, 25(6): 13 16.吴宪祥, 郭宝龙, 王娟.基于相位相关的柱面全景图像自 动拼接算法 [ J].光学学报, 2009, 29(7): 1824 1829.[ 5] 钟力, 张茂 军, 孙立 峰, 等.360度柱 面全 景图 像生 成算 法及其实现 [ J].小型 微型 计算 机系 统, 1999 20(12): , 899 900.[ 6] [ 7] [ 8] [ 9] 赵 辉, 陈 辉, 于 泓.一 种 改 进 的 全 景 图 自 动拼 接 算 法 [ J].中国图象图形学报, 2007, 12(2): 336 342.阮 秋 琦.数 字 图 像 处 理 [ M ].北 京: 电 子 工 业 出 版 社, 2001.董 士 海.虚 拟 现 实 的 未 来应 用 [ N ].中 国 计 算 机 报, 2001 02 21.崔汉国, 曹茂春, 欧阳清.柱面全景图像拼合算法研究数 字图像处理 [ J].计算机工程, 2004, 30(6): 158 159.[ 10] 赵万金, 龚声蓉, 刘全, 等.一种用于 图像拼 接的 图像序 列自 动 排 序 算 法 [ J].中 国 图 象 图 形 学 报, 2007, 12(10): 1861 1864.[ 11] 张茂春.虚拟现实系统 [M ].北京: 科学出版社, 2001.[ 12] 明德烈, 柳健, 田金文.二维平面内的增强现实虚实配准 问题研究 [ J].红外与激光工程, 2001, 30(6): 410 413.[ 13] 蔡勇, 刘学惠, 吴恩华.基于图像绘制的虚拟现实系统环 境 [ J].软件学报, 1997.8(10): 721 728.[ 14] 喻罡.基于图像的虚 拟场景 构造 和漫 游系统 研究 [ D ].西安: 西安理工大学, 2002.图 6 放大前后的线段

在放大后的图像中央截取一块跟原图像大小相 同的区域, 然而由于拍摄的过程中, 一系列的过渡场 景不可能严格地在一条直线上, 也就是说相邻的中间 图像的中心位置并不重合。如果不加任何处理, 在过 渡的时候实际效果并不平滑, 在到达下一张中间图像 的时候仍然会有跳跃的感觉。解决的方法是, 预先计 算 AB的中点在经过放大和截取后, 在最终目标图中 的位置 p(x y), 对比 A!B!的中点 p!(x!y!), 得出 ,!, ? x = x!-x ? y = y!-y 每次 放大后截 取时, 补偿 , , ? x /(n+ 1)和 ? y /(n+ 1), 使图像中心逐步向目标 图像的中心靠拢。

结束语

本文首先研究了鱼眼图像的拼接算法, 在提出基 于亮度差的鱼眼图像重叠区域的确定方法和采用线性 补偿光强的方法进行图像的融合处理的基础上, 实现 了利用两幅鱼眼图像生成空战环境球面虚拟空间, 然 后探讨了基于球面虚拟图的多视点漫游问题。分析 可知: 利用反投影模板技术有效地提高全景图浏览的

上一篇:工作三个月实习总结下一篇:初一学生中秋节的感受作文