- 1、原创力文档(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
电梯嵌入式远程监控系统.doc
电梯嵌入式远程监控系统
摘 要 本设计基于客户/服务器结构,arm6410嵌入式开发板作为电梯服务器,pc机为客户端,客户端在Linux下开发,客户端和服务器端之间通过socket通信。系统在嵌入式开发平台上构建了一个电梯模型,模拟电梯运行。开发板作为服务器端,进行电梯监控,包括通过摄像头对电梯内部的视频图像采集和模拟电梯的实时运行数据的采集,Linux机作为监控主机,接收服务器端数据并进行相关处理与显示。
关键词 电梯 监控 嵌入式 Linux
中图分类号:TP271 文献标识码:A
0引言
近年来,以嵌入式处理器为核心的智能电梯控制系统的飞速发展和普及, 对电梯控制系统的主控制器在功能、实时性、可靠性和软件编程的灵活性提出了更多、更高的要求。因此本文主要讲述如何利用嵌入式技术构建一个智能电梯的控制系统,该系统主要功能是远程控制电梯和电梯视频监控。
1系统的原理结构
本设计采用三星的S3C6410芯片作为电梯嵌入式视频监控系统的核心,通过USB摄像头采集视频图像,实时了解电梯的运行情况,模拟电梯和微处理器可以实现通信,可以实时控制电梯的运行,采集到的视频信号和电梯的底层数据可以通过Internet传输到远端的监控PC上,远端的PC也可以对电梯实现远程操控等。系统总体结构图如图1所示。
2硬件平台设计
图2 电梯服务器硬件平台框图本设计是以采用 S3C6410为一款带MMU的ARM微处理器,可在上面运行标准的Linux操作系统,以减少软件开发时间。S3C6410集成了256M DDR RAM,SLC NAND Flash(1GB)或MLC NAND Flash(2GB)存储器,使其有足够的空间存储程序和数据。DM9000网卡和RJ45接口为接入Internet做好硬件准备,USB接口主要用于USB摄像头。嵌入式电梯服务器硬件设计框图如图2所示。
3软件的实现
在软件设计上采用linux操作系统作为软件开发平台,linux操作系统中最关键的部分是实时多任务内核,它主要实现任务管理、定时器管理、存储器管理、任务间通信与同步、中断管理等功能。电梯嵌入式智能控制器中使用linux操作系统可以将应用程序分解成多任务,简化了应用系统软件的设计,使得电梯嵌入式智能控制器的实时性得到保证,而且良好的多任务设计,有助于提高系统的稳定性与可靠性。以下主要介绍本控制器的主要模块和核心部分。
3.1 模拟电梯模块
模拟电梯模块主要是根据拟定的电梯数据结构,用小键盘模拟电梯的内部操作,采用同方向优先的电梯算法使电梯正常运行,运行的过程就是电梯数据的变化,然后将实时变化的电梯数据存入电梯数据缓冲区,等待监控中心的连接请求,该缓冲区是一个拟定的电梯数据结构体。
3.1.1 电梯数据结构体
typedef struct elevator
{
int m_flag; //电梯运行的标志:1―运行 2―停止
int up_down; //电梯运行方向:上―1 下―0
int cur_floor; //电梯当前所在的楼层
int des_floor[MAX]; // 电梯目标层数组
/*des_floor[0]记录目标层的个数,des_floor[1-9]:值为代表有人要去该层即相应楼层为目标层,为0则表示没有人去该层*/
}elevator;
该结构体实时记录电梯当前的状态和相关信息,它是电梯运行控制的数据核心。监控中心就是通过获取该结构体信息来达到远程监控电梯的。
3.2 键盘模拟电梯操作的处理过程
利用ARM6410开发板上的小键盘来模拟电梯及操作过程流程说明:首先打开键盘设备/dev/mcu/kbd,如果返回键盘设备句柄就可以进行初始化电梯数据,然后进入循环检测状态,检测是否有数字键按下。有键按下则判断该键是否符合已定输入标准,判断标准为:必须输入1-9的数字键,而且输入的数字不可以是当前所在的楼层,同时还是非目标层,然后将输入的数据更新到电梯数据结构体中,即增加了一个目标楼层,若当前电梯没有运行而此时需要运行,则创建一个线程来运行电梯。
3.3 电梯的运行控制
电梯的运行过程是线程实现的,这是本模块的核心。
流程说明:电梯在运行过程中始终处于运行状态,运行结束后处于停止状态,上述线程也就结束,所以在线程一开始判断电梯是否已经处于运行状态,若是,说明某个线程正在进行电梯的运行过程,则不能再有另一个运行线程,于是结束。否则,根据目标楼层数不断循环来到达每一个目标层,当目标楼层数为0时,电梯停止,线程结束。
运行过程中,根据同方向优先算法,先达到运行方向上的目标楼层,当运行方向上没
原创力文档


文档评论(0)