嵌入式系统在机房监控中的应用研究.docx

上传人:b****8 文档编号:10052662 上传时间:2023-05-23 格式:DOCX 页数:24 大小:490.93KB
下载 相关 举报
嵌入式系统在机房监控中的应用研究.docx_第1页
第1页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第2页
第2页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第3页
第3页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第4页
第4页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第5页
第5页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第6页
第6页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第7页
第7页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第8页
第8页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第9页
第9页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第10页
第10页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第11页
第11页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第12页
第12页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第13页
第13页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第14页
第14页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第15页
第15页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第16页
第16页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第17页
第17页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第18页
第18页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第19页
第19页 / 共24页
嵌入式系统在机房监控中的应用研究.docx_第20页
第20页 / 共24页
亲,该文档总共24页,到这儿已超出免费预览范围,如果喜欢就下载吧!
下载资源
资源描述

嵌入式系统在机房监控中的应用研究.docx

《嵌入式系统在机房监控中的应用研究.docx》由会员分享,可在线阅读,更多相关《嵌入式系统在机房监控中的应用研究.docx(24页珍藏版)》请在冰点文库上搜索。

嵌入式系统在机房监控中的应用研究.docx

嵌入式系统在机房监控中的应用研究

嵌入式系统在机房监控中的应用研究

一、设计题目

嵌入式机房监控系统的设计

二、设计要求

本文设计了一种基于嵌入式系统的机房环境监控系统,本系统可对机房内的各种环境参数进行监测和监视,并通过GSM短信和语音电话等通讯手段将环境异常情况及时反映给维护人员,实现机房的科学管理。

利用嵌入式机房监控系统,解决机房监控系统的远程控制、程序维护等问题。

总之,本设计有以下要求:

(1)监测功能包括交流无源、直流欠压、环境温度、环境烟雾的监测;

(2)报警方式多样化,诸如:

发短信、打电话、现场语音警示;

(3)可以支持远程监测与控制。

三、设计作用与目的

随着我国经济的发展和计算机技术的普及,各行业对计算机系统的依赖越来越大,计算机房已成为各大单位的重要组成部分。

为了确保机房设备的正常运行,对机房环境(温度、湿度、漏水等)的维护提出了更高的要求。

这种要求的特点是:

实现对机房环境的远程监控,一旦机房环境出现异常,实时地将情况传送给管理人员,以便对异常隋况进行及时有效地处理,最终实现无人职守。

与此同时,随着电子科学技术的发展,利用嵌入式技术构建远程监控系统凭借体积小、远程化、成本低、功耗小、操作界面人性化等特点已成为监控系统的发展主流。

监控系统一般采用B/S结构,为了提高运行效率和资源利用率,系统嵌入式Web是以TCP/IP协议为底层,以HTTP为应用层的通信协议,为服务器提供了可靠的网络服务,并对其功能和实现进行优化,提高了传输速度和处理效率。

监控端试用浏览器通过IP地址即可访问服务器实现监控功能。

四、所用设备及软件

本设计除了需要计算机,还会用到三款软件:

作图软件Protel99SE、仿真软件Proteus、编程软件KeiluVision4。

关于这三种软件的简介如表1所示。

表1软件简介

软件名称

软件图标

主要特点

作用

备注

Protel99SE

Protel99SE是PC环境下以独特设计管理和协作技术为核心的印制电路板设计软件系统,是基于Windows95/98/2000/NT的全32位EDA设计系统。

它主要采用了SmartDoc技术、SmartTool技术、SmartTeam技术。

绘制电路图和PCB板

串口调试助手

串口调试助手软件支持常用的110~25600bps波特率及自定义波特率,可以自动识别串口,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符,可以任意设定自动发送周期,并能将接收数据保存成文本文件,能发送任意大小的文本文件。

查看串口数据

KeiluVision4

uVision4在uVision3IDE的基础上,增加了更多大众化的功能:

多显示器和灵活的窗口管理系统;系统浏览器窗口的显示设备外设寄存器信息;调试还原视图创建并保存多个调试窗口布局;多项目工作区简化与众多的项目。

编写程序

五、系统设计方案

5.1系统工作原理

借助GSM网络平台并利用语音和短信的方式,使机房动力与环境监测报警系统实时报警机房动力丢失或不足以及环境温度过高与烟雾浓度过高。

另外,通过短信方式对该系统进行各项功能与参数设置,通过电话方式确认系统运行的可靠性。

5.2系统总体设计

本系统采用STM32F103为主控芯片,因其精度较高,操作比较灵活,输入电路和输出电路由芯片来进行处理,电路的系统的稳定性高,功耗小。

如图1所示嵌入式机房监控系统的原理框图,它主要由监测电路、GSM模块电路、语音电路、液晶显示电路、最小系统电路和电源电路六部分所构成。

六、系统硬件设计

基于STM32F103的嵌入式机房监控系统电路由监测电路、GSM模块电路、语音电路、液晶显示电路、最小系统电路和电源电路六部分所构成。

监测电路负责动力监测和环境监测,当监测的有异常情况时,会通过GSM模块电路中的G600发送短信给指定的手机号码;通过短信方式对该系统进行各项功能与参数设置,通过电话方式确认系统运行的可靠性。

语音电路的功能就是在电话方式时播放当前系统状况;而液晶显示电路会显示系统监测到的当前信息;电源电路为整个系统提供能源。

6.1监测电路

监测电路负责动力监测和环境监测,即交流无源(交流220V)、直流欠压(直流48V)、环境温度、环境烟雾的监测。

如图2所示监测电路,动力监测就是动力电源通过简单的降压电路后,检测光耦另一端的开关信号的有无;而环境监测是直接读取传感器的AD值。

(1)交流无源监测

当交流电源低于200V或断电时,产生“交流异常”报警电话或短信。

(2)直流欠压监测

当蓄电瓶直流电源低于47V时,产生“直流欠压”报警电话或短信。

(3)环境温度监测

当环境温度高于30℃时,产生“温度超标”报警电话或短信。

(4)环境烟雾监测

当环境出现烟雾时,产生“烟雾超标”报警电话或短信。

6.2GSM模块电路

G600是M2M专家FIBOCOM为物联网应用推出的GSM/GPRS模块。

它作为全面模块适用的主要领域包括安全、自动售货机、计量、网关、远程维护与控制、路由器等。

如图3所示GSM模块电路,当系统监测到异常状况时,通过GSM模块电路中的G600发送短信或打电话给指定的手机号码,通知维修人员及时排除故障;而维修人员可以使用短信方式对该系统进行各项功能与参数设置,可以通过电话方式确认系统运行的可靠性。

6.3语音电路

WT588D语音芯片是早期可外挂FLASH的一款语音芯片,它具有音质较好、控制灵活的特点,更增加了可播放MIDI和弦功能,性能更好。

同时WT588D是一款具有嵌入式系统内核的语音芯片,因此,可以冠名为WT588D系列语音嵌入式系统。

WT588D系列语音嵌入式系统是广州唯创电子有限公司联合台湾华邦共同研发出来的集嵌入式系统和语音电路于一体的可编辑语音芯片。

功能多音质好应用范围广性能稳定是WT588D系列语音嵌入式系统的特长,弥补了以往各类语音芯片应用领域狭小的缺陷,MP3控制模式、按键控制模式、按键组合控制模式、并口控制模式、一线串口控制模式、三线串口控制模式以及三线串口控制控制端口扩展输出模式,让应用人员能将产品投放在几乎可以想象得到的场所。

故本次设计利用WT588D构成如图4所示语音电路,其功能就是在电话方式时播放当前系统状况。

 

6.4液晶显示电路

液晶显示电路需要选用一块液晶屏来显示系统监测到的当前信息,诸如:

机房编号、当前环境温度、当前烟雾情况等。

由于显示的内容不多用,4X8的LCD12864就刚好可以满足需求。

如图5所示基于LCD12864的液晶显示电路,由于STM32F103的I/O口充足,故采用串行接法,同时也可以简化编写程序的难度。

6.5最小系统电路

如图6所示最小系统电路,它由时钟、复位以及JTAG接口电路组成。

(1)时钟电路

时钟频率直接影响STM32芯片的速度,时钟电路的质量也直接影响其系统的稳定性。

常用的时钟电路有两种方式,一种是内部时钟方式,另一种是外部时钟方式。

本设计采用内部时钟方式做时钟电路。

STM32芯片内部有2个用于构成振荡器的高增益反相放大器,输入端为芯片引脚OSC_IN和OSC32_IN,输出端为引脚和OSC32_OUT。

每组引脚跨接石英晶体振荡器和微调电容,构成一个稳定的自激振荡器,通常OSC的石英晶体选8MHz,OSC32的石英晶体选32kHz的。

(2)复位电路

STM32芯片的初始化操作,即给复位脚RST加上大于2个机器周期(即24个时钟振荡周期)的低电平就使其复位。

这些操作都是由复位电路来实现。

在实用系统中,一般有两种复位操作形式:

上电复位和手动复位。

上电复位在STM32芯片每次通电时执行。

上电时,电容C充电加给RST引脚一个短的低电平信号,此信号随着VCC对电容C的充电过程而逐渐回落,即RST引脚上的低电平持续时间取决于电容C充电时间。

为保证系统可靠复位,RST引脚上的低电平必须维持足够长的时间。

手动复位在系统出现操作错误或程序运行出错时使用。

在STM32系统运行过程中,按下复位键,低电平输入RST引脚,STM32系统被强制执行复位操作,系统可以退出错误运行状态,恢复正常工作。

由于本设计的需要,同时采用这两种复位方式。

(3)JTAG接口电路

JTAG最初是用来对芯片进行测试的,JTAG的基本原理是在器件内部定义一个TAP(TestAccessPort;测试访问口)通过专用的JTAG测试工具对进行内部节点进行测试。

JTAG测试允许多个器件通过JTAG接口串联在一起,形成一个JTAG链,能实现对各个器件分别测试。

现在,JTAG接口还常用于实现ISP(In-SystemProgrammable;在线编程),对FLASH等器件进行编程。

JTAG编程方式是在线编程,传统生产流程中先对芯片进行预编程现再装到板上因此而改变,简化的流程为先固定器件到电路板上,再用JTAG编程,从而大大加快工程进度。

JTAG接口可对PSD芯片内部的所有部件进行编程。

6.6电源电路

当今社会大到超级计算机、小到袖珍计算器,所有的电子设备都必须在电源电路的支持下才能正常工作。

直流稳压电源在电源技术中占有十分重要的地位。

本设计的机房监控系统电路需要+3.3V、+4V、+5V三类不同等级的电源才能保证正常工作。

但因为本次设计重点不在电源,故采用现成的电源模块来实现。

如图7所示电源电路,由于机房原本就有48V直流电源,故利用输入电压范围为18~72V的稳压直流5V电源模块VB4805D-10W可以得到+5V电源,接着利用带能源模块SPX29302,结合简单的分压电路分别获得+4V、+3.3V。

 6.6整体电路说明

基于STM32F103的嵌入式机房监控系统电路由监测电路、GSM模块电路、语音电路、液晶显示电路、最小系统电路和电源电路六部分所构成。

监测电路负责动力监测和环境监测,当监测的有异常情况时,会通过GSM模块电路中的G600发送短信给指定的手机号码;通过短信方式对该系统进行各项功能与参数设置,通过电话方式确认系统运行的可靠性。

语音电路的功能就是在电话方式时播放当前系统状况;而液晶显示电路会显示系统监测到的当前信息;电源电路为整个系统提供能源。

整体电路图见附录1。

七、系统软件设计

系统功能的实现一般包括硬件部分和软件部分,一旦硬件确定下来,软件要实现的功能也随之确定。

而为使编程思路清晰,应先绘制程序流程图。

7.1系统硬件接口定义

系统硬件接口定义如表2所示。

表2系统硬件接口定义

引脚号

引脚名

接口说明

备注

37

PC6

交流220V监测端

38

PC7

直流48V监测端

44

PA11

温度传感器DS18B20监测端

45

PA12

蜂鸣器控制端

57

PB5

烟雾传感器监测端

15

PA1

LCD12864数据口

20~23

PA4~PA7

24~26

PC4、PC5、PB0

14

PA0

LCD12864复位端

27

PB1

LCD12864的E端

29

PB10

LCD12864的R/W端

30

PB11

LCD12864的RS端

41

PA8

G600复位端

42

PA9

G600的RXD端

43

PA10

G600的TXD端

33

PB12

WT588D复位端

34

PB13

WT588D时钟线

35

PB14

WT588D片选端

36

PB15

WT588D数据线

7.2主函数

主函数流程图如图8所示。

它由系统初始化子程序、系统设置子程序、监测子程序、设备运行正常来电语音回复子程序

四大部分组成。

7.3系统初始化子程序

系统初始化子程序流程图如图9所示。

它包括系统中所有标志位的初始化、串口初始化、嵌入式系统EEPROM初始化、ISD1730初始化、EM310初始化。

在系统初始化子程序中开启了串口中断、串口接收以及总中断。

系统初始化后,通过短信方式进行系统设置(任意时刻可设置)、监测功能的开启、装置正常运行的查询。

7.4系统设置子程序

系统设置子程序流程图如图10所示。

它包括当前装置权限密码设置、当前装置编号设置、通讯电话号码建立、通讯电话号码删除、环境温度超限设置、当前设备编号与温度查询、已建立电话号码的查询等。

7.5监测子程序

监测子程序流程图如图11所示。

它负责对环境温度的监测、烟雾浓度的监测、交流220V是否掉电的监测以及直流48V是否欠压的监测。

7.6设备运行正常来电语音回复子程序

设备运行正常来电语音回复子程序流程图如图12所示。

它用于查询设备中EM310与嵌入式系统通信是否正常。

对设备进行语音呼叫,若嵌入式系统与EM310模块通信正常,系统则自动接听电话,并播放“设备工作正常”的语音,通过这一功能可适时的检查设备是否工作正常。

 

八、仿真调试分析

8.1仿真调试工具

最新的KeiluVision4IDE,旨在提高开发人员的生产力,实现更快,更有效的程序开发。

KeiluVision4引入了灵活的窗口管理系统,能够拖放到视图内的任何地方,包括支持多显示器窗口。

KeiluVision4在KeiluVision3IDE的基础上,增加了更多大众化的功能:

多显示器和灵活的窗口管理系统;系统浏览器窗口的显示设备外设寄存器信息;调试还原视图创建并保存多个调试窗口布局;多项目工作区简化与众多的项目。

串口调试助手是串口调试相关工具,有多个版本。

如:

友善串口调试助手,支持常用的110~25600bps波特率及自定义波特率,可以自动识别串口,能设置校验、数据位和停止位,能以ASCII码或十六进制接收或发送任何数据或字符,可以任意设定自动发送周期,并能将接收数据保存成文本文件,能发送任意大小的文本文件。

硬件连接方面,传统台式PC机支持标准RS232接口,当下带有串口的PC很少见,所以需要USB/232转换接口,并且安装相应驱动程序。

8.2调试结果

软件调试与所选用的软件结构和程序设计技术有关,可以通过JTAG调试器或者RS232串口通信进行调试。

本系统采用模块程序设计技术,逐个模块调好以后,再进行系统程序总调试。

由于采用了实时多任务操作系统,采用是逐个任务进行调试,下面进一步予以说明。

在调试第一个任务时,同时也调试相关的子程序、中断服务程序和操作系统的程序。

等逐个任务调试好以后,再使各个任务同时运行,在本次调试中操作系统中没有错误,在单步和断点调试后,进行了连续调试,因为单步运行只能验证程序的正确与否,而不能确定定时精度、CPU的实时响应等问题。

等全部完成后,反复运行多次,除了观察稳定性之外,还观察了用户系统的操作是否符合设计要求的操等,部分程序作了适当修正后系统能够正常运行。

调试结果与设计的基本一致。

8.3设计中的问题及解决方法

嵌入式机房监控系统的设计并非一帆风顺,在这期间遇到了很多问题,下面谈2个关键的问题。

首先是LCD12864显示问题,尽管是对照着时序图在编程序,还是走了不少弯路,总是显示乱码或不显示任何东西,后来参考了几个例子,发现显示之前都有一个测忙语句,用来判断液晶屏的控制器是否准备完毕,这才得以解决该问题。

其二是G600在接受设置参数的短信时,无法正确识别,于是只好借助串口调试助手,通过G600的串口查看接收到信息内容,发现是弄错了需要识别的信息所在位置,相差1位就导致无法读取到正确的信息代号。

九、嵌入式系统学习心得

通过这次嵌入式课程设计,感觉收获颇多。

下面先总结一下本次设计。

基于STM32F103的嵌入式机房监控系统电路由监测电路、GSM模块电路、语音电路、液晶显示电路、最小系统电路和电源电路六部分所构成。

监测电路负责动力监测和环境监测,当监测的有异常情况时,会通过GSM模块电路中的G600发送短信给指定的手机号码;通过短信方式对该系统进行各项功能与参数设置,通过电话方式确认系统运行的可靠性。

语音电路的功能就是在电话方式时播放当前系统状况;而液晶显示电路会显示系统监测到的当前信息;电源电路为整个系统提供能源。

本次设计对个人而言,巩固和加深了对嵌入式系统的了解,学会将课程中所学的知识应用到实践中,掌握其简单的外围电路设计;通过此次课程设计,从中感悟电子设计的方法,初步掌握简单实用电路的分析方法和工程设计方法;熟悉Proteus、Protel99SE、KeiluVision4这些软件的使用技巧。

就硬件方面而言,基本了解了电子产品的开发流程和所要做的工作,基本掌握了Protel99SE原理图的方法以及怎么利用Proteus进行数字电路仿真。

除此之外,对系嵌入式系统的接口有了更深层次的理解,熟悉了一些嵌入式系统常用的外围电路引脚和连接方法,诸如液晶屏LCD12864、GSM模块G6000等等。

在软件方面,通过对外部中断、I/O的使用,使得C语言编程能力也有了较大的进步。

参考文献

[1]卡莫尔,贾建斌,李化.嵌入式系统:

体系结构、编程与设计[M].北京:

清华大学出版社,2010.

[2]沈红卫.基于嵌入式的智能系统设计与实现[M].北京:

电子工业出版社,2005.

[3]苏丽萍.电子技术基础[M].西安:

西安电子科技大学出版社,2002.

[4]刘志英.嵌入式系统中网络应用软件的研究[M].北京:

北京工业大学出版社,2001.

[5]谢志萍.传感器与监测技术[M].北京:

电子工业出版社,2004.

[6]张琛曦.基于网络技术的嵌入式电梯远程监测系统-嵌入式系统的设计[M].杭州:

浙江大学出版社,2002.

[7]顾滨,赵伟军,诸杭.Protel99SE实用教程(第3版)[M].北京:

人民邮电出版社,2013.

[8]陈潜,刘云,高利娟.基于嵌入式Linux的机房远程监测系统研究[J].微计算机应用,2011,20

(2),60-65.

[9]周润景.Proteus入门实用教程[M].北京:

机械工业出版社,2007.

[10]李霏,王让定.基于嵌入式Linux的多路视频监控系统的设计[J].宁波大学出版社,2007,(6),151-154.

[11]杨晖,胡永健.基于Linux和S3C2410嵌入式图象传输系统设计[J].微计算机信息,2007,23

(2),20-24.

[12]罗苑棠,杨宗德.嵌入式Linux应用系统开发实例精讲[M].北京:

电子工业出版社,2007.

[13]http:

//.

[14].

 

附录1:

机房监控系统电路图

附录2:

源代码(部分)

#include"stm32f10x.h"

#include

#include

#defineuncharunsignedchar

#defineunintunsignedint

/*************************主函数****************************/

voidmain(void)

{

System_Init();//系统初始化

while

(1)

{

System_Set();//通过短信对系统进行设置

Equipment_Open();//系统监测

Phoneback_Run_OK();//来电时播放“设备运行正常”的语音

}

}

/*************************系统初始化****************************/

voidSystem_Init(void)

{

System_Flag_Init();//系统所有标志位初始化

MCU_Seria_Init();//串口初始化,打开总中断,串口中断关闭

EEPROM_Init();//EERPOM初始化

ISD1730_Init();//语音芯片DS1730初始化

EM310_Init();//EM310初始化

BUZZER=0;

Delay1ms(500);

BUZZER=1;

ES=1;//开启串口中断

RI=0;//开启串口接收

EA=1;//开启总中断

}

/********************通过短信对系统进行设置***********************/

voidSystem_Set(void)

{

while(EM310_Flag)//第一次主程序执行的时候是关闭EM310_Flag=0

{

EMS310_Message_Read_Reprot();

RI=0;

Delay1ms(5000);//要延时稍微长的一点时间,放置对信息的干扰

Delay1ms(5000);

EMS310_Message_Delete();//删除短信

Temp_AT[1]=0;

Temp_AT[2]=0;

BUZZER=0;//蜂鸣器叫

Delay1ms(1000);

BUZZER=1;

Delay1ms(1000);

ES=1;//开启中断

EM310_Flag=0;//标志位开启

break;

}

}

/********************监测函数***********************/

voidEquipment_Open(void)

{

while(Equipment_Flag)//开机标志位为1检测开启,初始化是为0,关闭检测

{

Temp_Check();//温度检测

Fog_Check();//烟雾检测

AC220_Check();//220V掉电检测

DC48V_Check();//48V欠压检测

if(counter=60000)

{

ES=0;

EM310_Send_Str("AT+CMGD=1,4\r",12);

Delay1ms(5000);

ES=1;

}

}

}

/********************来电语音播放函数***********************/

voidPhoneback_Run_OK(void)

{

while(Phone_Nomal_Flag)//如果有RING过来的话,会在中断开启标志位

{

unchari;

EM310_Send_Str(ATA,4);//接通电话

Delay1ms(1000);

for(i=0;i<5;i++)

{

ISD1730_Play_Any_Addr(0X5e,0X6e);//播放“机房环境正常”话音

Delay1ms(2000);//延时1S

}

EM310_Send_Str(ATH,4);//挂断电话

Delay1ms(10000);

LED=1;//关灯

ES=1;//开启中断

Phone_Nomal_Flag=0;//标志位开启

break;

}

}

/********************语音警报选择函数***********************/

voidISD1730

展开阅读全文
相关资源
猜你喜欢
相关搜索
资源标签

当前位置:首页 > 解决方案 > 工作计划

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2