毕业论文家庭安防系统的软硬件设计与实现.docx
《毕业论文家庭安防系统的软硬件设计与实现.docx》由会员分享,可在线阅读,更多相关《毕业论文家庭安防系统的软硬件设计与实现.docx(24页珍藏版)》请在冰豆网上搜索。
![毕业论文家庭安防系统的软硬件设计与实现.docx](https://file1.bdocx.com/fileroot1/2023-1/25/1d563b5c-de96-409f-a96e-19d13da2212f/1d563b5c-de96-409f-a96e-19d13da2212f1.gif)
毕业论文家庭安防系统的软硬件设计与实现
07级本科毕业设计(论文)
题目:
家庭安防系统的软硬件设计与实现
系别:
数学与计算机科学系
班级:
07计算机科学与技术(嵌入式方向)
学号:
姓名:
伍臣周
指导教师:
王聪职称助教
起讫日期:
2010年9月28日-2011年3月4日
家庭安防系统的软硬件设计与实现
伍臣周
(学院07级计算机科学与技术(嵌入式方向)365004)
摘要:
系统是由LPC2132ARM7和自行设计的传感器信号处理和模拟的51单片机共同组成。
其中以ARM7为控制核心,外接摄像头、GPRS模块以与外部电器,51单片机连接外部传感器(红外线传感器、烟雾传感器、煤气传感器)并把传感器采集到的异常信号处理后传送给ARM7。
当ARM7接收到异常信号时可以控制GPRS模块发送短信通知多个用户,随后能够把摄像头捕获到的发生异常现场的图片通过彩信的方式发送给多个用户,从而实现异常报警功能。
主控用户能够用手机向系统发送短信来远程控制家中电器的开关和报警器报警,从而实现远程控制功能。
经过实验,此系统稳定性较高,功能较为齐全能够满足大部分用户需求。
关键字:
GSM/GPRS模块传感器51单片机ARM7远程控制
FamilySecuritySystemHardwareandSoftwareDesignandImplementation
Wuchenzhou
SanmingUniversity,07ComputerScienceandTechnologyMajor(embeddeddirection),Fujiansanming,365004
Abstract:
SystemismadeupoftheLPC2132ARM7andthe51SCMofself-designedbythesensorsignalprocessingandsimulation.WithARM7ascontrolcore,externalcamera,GPRSmoduleandexternalelectricappliances,51SCMconnectionexternalsensorsuchasinfraredsensors、smokesensors、gassensorandsoon,anddealwiththeabnormalsignalthensendtoARM7.WhenARM7receivesanomaloussignalscancontrolGPRSmodulesendSMSnoticemultipleusers,thentakethecameracapturestheanomaliessceneimagesthroughtheMMSwaytosendmultipleusers,soastorealizetheabnormalalarmfunction.ThemastercanusecellphonestosendSMStoremotecontrolsystemofhomeapplianceswitchesandalarmalarm,soastorealizetheremotecontrolfunction.Throughexperiment,thesystemstabilityishigherandcompletefunctionwhichcansatisfythemostusersdemand.
Keywords:
GSM/GPRSModuleSensor51SCMARM7Remotecontrol
第一章绪论
随着经济和科技的发展,人们的生活水平逐渐提高、财物逐年积累、住房条件不断改善。
家中防盗、防火和自身安全等问题越来越受到人们的重视。
为了迎合人们的需求,智能家居、防盗系统、家庭安防系统等产品逐渐上市。
然而那些系统针对的问题和人们需求的不同使得它们的有缺点也很明显。
本系统以ARM7和自己设计的51单片机外加GPRS等模块实现家庭安全的短信、彩信报警和远程控制家电等功能。
1.1系统的背景与意义
自从改革开放以来,我国国民经济和人民生活水平不断的提高,全国出现了许许多多的现代化住宅小区。
我国工业的快速发展使得城市外来人口的增加以与煤气和大量家用电器设使用中的不安全因素等,对小区居民的生命和财产造成了很大的威胁。
其威胁主要包括两大方面,一方面是犯罪分子趁居民不在家时入室偷窃;另一方面就是意外事故(如当居民不在家时发生意外火灾,或者煤气泄漏)。
因此,人们越来越迫切要求采用有效的措施,以满足日益增长的安全防要求。
为了更有效地保证居民的生命和财产安全,在家中和小区引入了智能化的手段--家庭安防系统来进行安全防管理。
家庭安防系统(homesecuritysystem)是指通过各种报警探测器、报警主机、摄像机、读卡器、门禁控制器、接警中心与其它安防设备为住宅提供入侵报警系统服务都一个综合性系统。
该安全防系统是家庭、住宅小区防外来侵害和自然灾害的一种最重要的、最有效的手段,它大大提高了居民自身的安全感,业已成为社会治安的一个重要组成部分。
目前市场上较为流行的家庭安防系统产品就是智能家居了。
1.2系统的国外概况
在网络经济时代的大潮中,智能社区的安防建设显得越来越重要,国外的许多大公司己进入到该领域中,如微软公司投资一家ltran公司,专业从事家庭安防和家庭自动化方法的开发设计;IBM公司与建筑商合作,为用户提供装备有先进的安防系统的智能化住宅。
美国联邦政府和以IBM、AT&T等大型IT民间企业为首,投资4000亿美元,为全国500万个小区和9000万个家庭提供全面的小区和家庭的安全防护和信息服务[1]。
“安全技术防”作为一个专业领域,在国已经历了二十多年的发展历程。
它的发展历程分为三个阶段:
1979-1983年为起步阶段:
1984—1996年为发展阶段;1997年后为提高阶段,即探索安全技术防的发展规律和方向的阶段。
近两年来,安防行业又有了进一步的发展。
在我国即将加入WTO的形势下,积极探讨安防行业的发展问题,对于维护社会治安稳定,促进经济的繁荣,保障人民生活的幸福,具有非常重要而深远的意义。
我防行业是随着社会主义市场经济的发展而逐步成长起来的,改革开放以来,在国民经济迅速发展,人民生活水平日益提高的推动下,安防行业呈现了一个蓬勃发展的势头。
尤其九五期间,我国住宅产业异军突起,极促进了安防行业扩大产业规模。
1998年起年产值近10亿元的大型安防企业集团上市公司不断涌现。
迄今,已有专营或兼营的从业单位数千家,产品种类发展到10余大类,100多个品种,从业人员数万人。
1999年初,统计部门针对7类安防产品生产企业进行了初步统计,其中入侵探测器13家,防盗报警控制器74家,汽车防盗报警器22家,楼宇对讲104家,防盗安全门1366家,防盗保险柜245家,机械防盗锁42家,其它类124家。
最近几年统计数字显示:
中防产品行业平均以15%一30%的年增长率迅速成长。
目前,安防产品在市场结构方面呈现三个特点:
第一是地区分布不均衡。
、、、、和六个省市的安防企业占43%左右。
第二是防产品差别程度不大,防产品企业,生产同类产品的差异性不大。
这意着产品容易替代,垄断程度低。
第三是在市场进入障碍上呈现弱势。
安防产品是境外企业争相进入的热点,进入障碍的高低,影响着市场已有企业优势的大小。
境外安防产品的成熟程度比中国至少早20到30年,就电视监控设备而言,在中国市场上日本产品占有率为45%,美国产品25%,产品20%。
安防产品在市场行为方面也具有三个特点:
第一是价格竞争不力。
由于卖方众多,市场透明度较差,价格定位使企业间相互受到制约,形成了国外产品价位高出国产品的1—3倍的局面。
第二是产品开发不平衡。
在1900多家企业生产的7类产品中,防盗类的企业占65%,而入侵探测器企业只占0.5%。
第三是产品销售不畅。
销售组织在围绕扩大市场份额,增加利润,为企业开辟渠道,建立大规模的销售与其信息网络方面,受到现有企业规模,外来经营产品和企业类型等因素的多方面影响。
1.3系统的应用前景
本系统是基于GPRS的报警系统将现代通讯技术与ARM7和51单片机结合起来,充分利用发达的无线通讯网络。
该系统具有较强的扩展性,可应用于单一家庭、小区物业、电力、交通、石油、煤炭、铁道、市政、公安、银行等部门行业的安防装置系统,只有在有警情的情况时才会发送短信报警,平时不会收取任何费用。
所使用的网络是公共无线通讯网络,与使用手机完全一样,每月只需交付SIM的月租费用和适量的报警通信费用,系统的性价比高。
居住小区是安防系统产品最大的市场,因为居住小区往往是案件的多发生区,居民对自身财产的保护意思也越来越强。
现在就以居住小区为例来说明安防系统的重要作用。
白天人们为了自己的生活事业外出工作,这时小偷就有机会趁机闯入小区,进行偷窃。
因为白天小区人少,这样就不能与时的抓住小偷。
每当人们回家后才知道自己家里被盗,然后去报警。
这样即使抓住了小偷也没有办法挽回自己的财产损失了。
为此我们设计了智能无线报警系统,就是在发生警情的情况下,如有小偷进入房间,系统可以与时的发送报警短息通知房主,房主接收到短信后可以与时的通知保安人员去查看自己的房间,检查是否真的有小偷闯入。
此外,本系统还有煤气泄漏报警和火灾报警。
尤其是生产可燃气体公司,一旦有气体泄漏而没有与时发现的话那就非常危险了。
本系统可以检测到当空气中某气体含量超过一定时,与时通过手机短信通知保卫人员,从而防止意外事故发生。
第二章系统环境
2.1软件编译环境
因为本系统使用了ARM和单片机两种不同类型的开发板,所以程序所需用的编译器就有两种ADS集成开发环境和KeilC51集成开发环境。
2.1.1ADS集成开发环境
ADS集成开发环境是ARM公司推出的ARM核控制器集成开发工具[2],英文全称为ARMDeveloperSuite,成熟版本为ADS1.2。
ADS1.2支持ARM10之前的所有ARM系列微控制器,支持软件调试与JTAG硬件仿真调试,支持汇编、C、C++源程序,具有编译效率高、系统库功能强等特点,可以在Windows98、WindowsXP、Windows2000以与RedHatLinux上运行。
ADS1.2集成开发环境由6个部分组成,如表2-1所示。
表2-1ADS1.2集成开发环境的6个组成部分
名称
描述
使用方式
代码生成工具
ARM汇编器
ARM的C、C++编译器
Thumb的C、C++编译器
ARM连接器
由CodeWarriorIDE调用
集成开发环境
CodeWarriorIDE
工程管理,编译连接
调试器
AXD
ADW/ADU
Armsd
仿真调试
指令模拟器
ARMulator
由AXD调用
ARM开发包
一些底层的例程
实用程序(如fromELF)
一些实用程序由CodeWarriorIDE调用
ARM应用库
C、C++函数库等
用户程序使用
2.1.2KeilC51集成环境
KeilC51µVision2集成开发环境是KeilSoftware,Inc/KeilElektronikGmbH开发的基于80C51核的微处理器软件开发平台,嵌多种符合当前工业标准的开发工具,可以完成从工程建立到管理、编译、、目标代码的生成、软件仿真、硬件仿真等完整的开发流程[3],尤其是C编译工具在产生代码的准确性和效率方面达到了较高的水平,而且可以附加灵活的控制选项,在开发大型项目时非常理想。
KeilC51集成开发环境的主要功能有以下几点:
(1)µVision2forWindows:
是一个集成开发环境,它将项目管理、源代码编辑和程序调试等组合在一个功能强大的环境中。
;
(2)C51国际际准化C交叉编译器:
从C源代码产生可重定位的目标模块。
(3)A51宏汇编器:
从80C51汇编源代码产生可重定位的目标模块。
(4)BL51器/定位器:
组合由C51和A51产生的可重定位的目标模块,生成绝对目标模块。
(5)LIB51库管理器:
从目标模块生成连接器可以使用的库文件。
(6)OH51目标文件至HEX格式的转换器,从绝对目标模块生成IntelHex文件。
(7)RTX-51实时操作系统:
简化了复杂的实时应用软件项目的设计。
这个工具套件是为专业软件开发人员设计的,但任何层次的编程人员都可以使用,并获得80C51单片机的绝大部分应用。
KeilSoftware提供了一流的80C51系列开发工具软件,下面描述每个套件与其容:
(1)PK51专业开发套件。
PK51专业开发套件提供了所有工具,适合专业开发人员建立和调试80C51系列微控制器的复杂嵌入式应用程序。
专业开发套件可针对80C51与其所有派生系列进行配置使用。
(2)DK51开发套件。
DK51开发套件是PK51的精简版,它不包括RTX51Tiny实时操作系统。
开发套件可针对80C51与其所以派生系列进行配置使用。
(3)CA51编译器套件。
如果开发者只需要一个C编译器而不需要调试系统,则CA51编译器套件就是最好的选择。
CA51编译器套件只包含µVision2IDE集成开发环境,CA51不提供µVision2调试器的功能。
这个套件包括了要建立嵌入式应用的所有工具软件,可针对80C51与其所有派生系列进行配置使用。
(4)A51汇编器套件。
A51汇编器套件包括一个汇编器和创建嵌入式应用所需要的所有工具。
它可针对80C51与其所有派生系列进行配置使用。
(5)RTX51实时操作系统(FR51)。
RTX51实时操作系统是80C51系列微控制器的一个实时核。
RTX51Full提供RTX51Tiny的所以功能和一些扩展功能,并且包括CAN通信协议接口子程序。
2.2系统硬件组成
本系统在ARM7开发板上完成,采用嵌入式C语言作为系统的开发语言。
信息的收发过程主要是采用GPRS的AT指令进行程序设计。
通过对ARM7寄存器的设置来选择其引脚的功能,ARM7采用中断的方式响应传感器采集的信号。
本系统的程序设计主要采用模块分划的方法。
其分为GPRS模块、摄像头模块、ARM7设置模块和51单片机模块等,然后通过文件包含和主函数连接各个模块,使系统能够顺利的运行。
GPRS模块主要是完成GPRS的初始化、信息的收发;摄像头模块主要完成摄像头初始化、图片捕获、图片编码;ARM7控制模块主要完成ARM7寄存器设置、串口设置与初始化、系统的整体控制;51单片机模块主要完成自身的初始化、信号采集与识别、把高电平信号转换成低电平信号传送给ARM7处理器。
家庭安防系统的硬件组成如图2-1所示。
ARM7
51单片机
红外线传感器
煤气传感器
烟雾传感器
外部电器
报警器
外部电器
用户
GSM/GPRS
摄像头
电源
图2-1家庭安防系统的硬件组成图
第三章LPC2132ARM7与GPRS技术简介
3.1ARM7核简介
ARM的设计精髓是结构简单。
ARM7核采用了精简指令集计算机(RISC)设计思想,所用逻辑门数较少,硅片面积小,但具有高性能、低功耗的特点,这使得ARM7成为嵌入式系统的理想选择[4]。
ARM7核包括ARM7TDMI(-S)、ARM720T等,ARM7TDMI处理器核已经许可给许多世界顶级半导体公司,它是第一个包括Thumb指令集、快速乘法指令和嵌入式ICE调试技术的核。
3.1.1LPC2132ARM7介绍
本系统使用的LPC2132微控制器是基于一个支持实时仿真和嵌入式跟踪的16/32位ARM7TDMI-CPU,最大操作时钟为60MHz。
并带有64kB嵌入的高速Flash存储器和16kB的片SRAM大大简化了整体应用系统的复杂程度。
128位宽度的存储器接口和独特的加速结构使32位代码能够在最大时钟速率下运行。
对代码规模有严格控制的应用可使用16位Thumb模式将代码规模降低超过30%,而性能的损失却很小。
超小的LQFP64封装很低的功耗使得LPC2132非常适合通信网关,协议转换器,软件MODEM,语音识别,低端成像等应用,为这些应用提供大规模的缓冲区和强大的处理功能。
多个32位定时器,两个标准UART口,10位DAC,PWM通道,SPI通讯接口,47个GPIO以与多达9个边沿或电平触发的外部中断使得他也特别适用于工业控制应用以与医疗系统[5]。
LPC2132ARM7的硬件组成图3-1所示。
图3-1LPC2132ARM7的硬件组成图
3.1.2LPC2132ARM7管脚寄存器描述
LPC2132的引脚一般是多个功能复用的,可以通过管脚连接模块在多个功能之间进行选择。
管脚连接模块通过配置寄存器控制多路开关来连接管脚与片外设。
管脚连接模块的用途是将管脚配置为需要的功能,可实现独立的管脚配置。
外设在激活和任何相关中断使能之前必须连接到适当的管脚[6]。
任何使能的外设功能如果没有映射到相关的管脚,则被认为是无效的。
芯片复位时PINSEL0、PINSEL1和PINSEL2会自动设置为默认值,所以复位后芯片引脚的功能是确定的。
当管脚选择一个功能时,其它功能无效。
管脚对应的寄存器如表3-1、表3-2、表3-3所示。
表3-1管脚连接模块对应的寄存器
名称
描述
访问
复位值
地址
PINSEL0
管脚选择寄存器0
读/写
0x00000000
0xE002C000
PINSEL1
管脚选择寄存器1
读/写
0x15400000
0xE002C004
PINSEL2
管脚选择寄存器2
读/写
依情况而定
0xE002C014
表3-2LPC2131管脚选择寄存器0
PINSEL0
管脚名称
00
01
10
11
复位值
1:
0
P0.0
P0.0
TxD0
PWM1
保留
00
3:
2
P0.1
P0.1
RxD0
PWM3
EINT0
00
…
…
…
…
…
…
…
7:
6
P0.3
P0.3
SDA0
MAT0.0
EINT1
00
9:
8
P0.4
P0.4
SCK0
CAP0.1
AD0.6
00
11:
10
P0.5
P0.5
MISO0
MAT0.1
AD0.7
00
13:
12
P0.6
P0.6
MOSI0
CAP0.2
保留
00
15:
14
P0.7
P0.7
SSEL0
PWM2
EINT2
00
17:
16
P0.8
P0.8
TxD1
PWM4
保留
00
…
…
…
…
…
…
…
23:
22
P0.11
P0.11
保留
CAP1.1
SCL1
00
25:
24
P0.12
P0.12
保留
MAT1.0
保留
00
…
…
…
…
…
…
…
31:
30
P0.15
P0.15
保留
EINT2
保留
00
表3-3LPC2131管脚选择寄存器1
PINSEL1
管脚名称
00
01
10
11
复位值
1:
0
P0.16
P0.16
EINT0
MAT0.2
CAP0.2
00
3:
2
P0.17
P0.17
CAP1.2
SCK1
MAT1.2
00
…
…
…
…
…
…
…
31:
30
P0.31
P0.31
保留
保留
保留
00
3.1.3LPC2132ARM7控制寄存器描述
LPC2131具有多达47个通用I/0口,分别为P0[31:
0]、P1[31:
16]。
由于口线与其它功能复用,因而需要进行相关的管脚连接模块(PINSEL0、PINSEL1、PINSEL3)选择连接GPIO,然后通过IODIR进行输入/输出属性设置后才能操作。
当管脚选择GPIO功能时,有3个寄存器用于控制GPIO的使用,IOSET、IOCLR和IOPIN。
IOSET用于口线置1,而IOCLR则用于口线清零,IOPIN则反映当前IO口的状态,读回IOSET则反映当前IO口设定状态。
其有单个位的方向控制、单独控制输出的置位和清零、所有I/O口在复位后默认为输入三个特性。
LPC2132控制寄存器描述如表3-4所示。
表3-4LPC2132控制寄存器描述
通用名称
描述
访问
复位值
PORT0
地址&名称
PORT1
地址&名称
IOPIN
GPIO管脚值寄存器不管方向和模式如何设定,管脚的当前状态都可以从该寄存器中读出。
不能使用IOPIN寄存器来监控非GPIO配置管脚。
IO0PIN的位0对应与P0.0…位31对应与P0.31
只读
未定义
0xE0028000
IO0PIN
0xE0028010
IO1PIN
IOSET
GPIO输出位置寄存器,该寄存器和I0CLR寄存器一起控制输出管脚的状态,写入1使对应管脚输出高电平,写入0无效。
如果一个管脚被配置为输入或第二功能,写入IOSET无效。
IO0SET的位0对应与P0.0…位31对应与P0.31
读
/
写
0x00000000
0xE0028004
IO0SET
0xE0028014
IO1SET
IODIR
GPIO方向控制寄存器,该寄存器单独控制每个I/0口的方向。
只有当管脚选择GPIO时,IODIR设置才有意义。
方向控制位0=输入,1=输出,IO0DIR的位0控制P0.0…位31控制P0.31.
读
/
写
0x00000000
0xE0028008
IODIR
0xE0028018
IO1DIR
3.1.4LPC2132ARM7向量中断控制器描述
向量中断控制器(VIC,VectoredInterruptController)具有32个中断请求输入,可将其编程分为3类:
FIQ、向量IRQ和非向量IRQ。
可编程分配机制意味着不同外设的中断优先级可以动态分配并调整。
快速中断请求(FIQ,FastInterruptreQuest)要求具有最高优先级。
如果分配给FIQ的请求多于1个,VIC将中断请求“相或”后向ARM处理器产生FIQ信号。
当只有一个中断被分配为FIQ时可实现最短的FIQ等待时间,因为FIQ服务程序只要简单地启动器件的处理就可以了。
但如果分配给FIQ级的中断多于1个,FIQ服务程序需要读取FIQ状态寄存器来识别产生中断请求的FIQ中断源[7]。
向量IRQ(VectoredIRQ)具有中等优先级。
该级别可以分配32个请求中的16个。
32个请求中的任意一个都可分配到16个向量IRQslot中的任意一个,其中slot0具有最高优先级,而slot15则为最低优先级。
非向量IRQ(Non-vectoredIRQ)的优先级最低。
VIC将所有向量和非向量IRQ“相或”向ARM处理器产生IRQ信号。
IRQ服务程序可通过读取VIC的一个寄存器立即启动并跳转到相应地址。
如果有任意一个向量IRQ发出请求,VIC则提供最高优先级请求IRQ服务程序的地址,否则提供所默认程