基于GSM短信模块的防盗报警监控系统.docx
《基于GSM短信模块的防盗报警监控系统.docx》由会员分享,可在线阅读,更多相关《基于GSM短信模块的防盗报警监控系统.docx(35页珍藏版)》请在冰豆网上搜索。
基于GSM短信模块的防盗报警监控系统
基于GSM短信模块的防盗报警监控系统
学校:
昆明理工大学津桥学院
系部:
计电系
专业:
电子信息科学与技术
年级:
08级
学生姓名:
学号:
指导教师:
摘要
前言
第一章绪论
1.1课题研究的目的及意义
随着经济和技术的发展,社会生活在进步,人们的安全意识也越来越强,各种盗窃层出不穷,所以需要采用各种手段防范,本课题研究的是基于GSM短信模块的防盗报警监控系统,目的是在盗窃发生前后能够向主人提供现场报警和通过短信传送报警信息,虽然社会上已经有了关于此物的销售,但是大多售价昂贵,普通家庭较少采用。
此课题采用的单片机和各种元器件做成的报警系统,具有价格低廉的优点,适合大多数人群购置。
1.2课题选题背景
随着电子技术的飞速发展,报警系统已从原来的简单化、局部化向智能化、集成化发展。
目前市场上常见的防盗报警系统的通信方式有固定电话拨号、以太网、集群系统等。
但它们有各自的缺点,固定电话拨号容易被盗贼切断电话线或恶意占线,以太网同样面临着线路被切断的隐患且不易普及,集群系统功耗很大,网络架设和维护费用很高。
针对以上通信方式的优、缺点,此课题设计了基于GSM短信模块的防盗报警监控系统。
此系统可解决这些隐患,让家庭防盗更及时、使用更方便。
它不再依赖有线电话执行报警,而是借助最可靠、最成熟的GSM移动网络,以最直观的短消息形式,直接把报警地点的情况反映到手机屏幕上。
GSM就是全球移动通讯系统GlobalSystemofMobileCommunication,是当前应用最为广泛的移动电话标准。
GSM的特点包括了:
防盗能力优秀、网络容量大、号码足够应付、通话相对清晰、稳定无干扰、接收信号灵敏等等。
目前世界上两大GSM系统为GSM900、GSM1800,采用不同频率。
特性方面,GSM900频谱较低,波长较长,穿透力较差,但传送的距离较远,手机发射功率较强,待机时间较短;而GSM1800频谱较高,波长较短,穿透力佳,但传送的距离短,手机发射功率较小,待机时间较久。
SIM卡存储了认证用户身份所需的所有信息以及与安全保密有关的重要信息,以防非法用户入侵,移动终端只有插入了SIM卡后才能接入GSM网络。
1.3论文研究内容
试制一种能在家庭环境中使用的GSM短信报警监控系统,通过终端上的液晶、键盘设定报警手机号码,当发生断线情况时发送报警短信,也可从手机发送特定短信监控安全状态。
按功能要求完成系统全部单元电路的原理图设计、PCB印制板图绘制,制作PCB印刷电路板,基本实现产品形式的开发。
用户可通过终端上的液晶、键盘设定报警手机号码,当发生断线情况时发送报警短信,也可从手机发送特定短信监控安全状态。
研究内容:
✶按功能要求完成系统全部单元电路的原理图设计、PCB印制板图绘制。
✶通过手持终端程序编写实现设定报警手机号码、发送报警短信、接收监控短信功能,并将监控结果用短信方式发送到指定手机。
✶制作PCB印刷电路板,基本实现产品形式的开发。
子课题主要内容:
1)熟悉AltiumDesigner原理图绘制,结合本系统的基本功能绘制系统原理图
2)研究特殊器件的原理图库文件制作及PCB库文件和封装制作,
3)熟悉常见PCB制板流程,制作成品PCB电路板,
4)通过焊接、调试完成系统硬件设计
第二章系统总体结构
2.1硬件结构
2.1.1STC12C5A60S2单片机
STC12C5A60S2系列单片机是宏晶科技生产的单时钟/机器周期(1T)的单片机,是高速/低功耗/超强抗干扰的新一代8051单片机,指令代码完全兼容传统8051,但速度快8-12倍。
内部集成MAX810专用复位电路,2路PWM,8路高速10位A/D转换(250K/S,即25万次/秒),针对电机控制,强干扰场合。
STC12C5A60S2单片机中包含中央处理器(CPU)、程序存储器(Flash)、数据存储器(SRAM)、定时/计数器、UART串口、串口2、I/O接口、高速A/D转换、SPI接口、PCA、看门狗及片内R/C振荡器和外部晶体振荡电路等模块。
STC12C5A60S2系列单片机几乎包含了数据采集和控制中所需的所有单元模块,可称得上一个片上系统。
特点:
Ù增强型8051CPU,1T,单时钟/机器周期,指令代码完全兼容传统8051
Ù工作电压:
5.5V-3.5V(5V单片机)
Ù工作频率范围:
0~35MHz,相当于普通8051的0~420MHz
Ù片上集成1280字节RAM
ÙISP(在系统可编程)/IAP(在应用可编程),无需专用编程器,无需专用仿真器可通过串口(P3.0/P3.1)直接下载用户程序,数秒即可完成一片
ÙA/D转换,10位精度ACD,共8路,转换速度可达250K/S(每秒钟25万次);
Ù3个时钟输出口,可由T0的溢出在P3.4/T0输出时钟,可由T1的溢出在P3.5/T1输出时钟,独立波特率发生器可以在P1.0口输出时钟;
Ù封装:
LQFP-48,LQFP-44,PDIP-40,PLCC-44,QFN-40
ÙI/O口不够时,可用2到3根普通I/O口线外接74HC164/165/595(均可级联)来扩展I/O口,还可用A/D做按键扫描来节省I/O口,或用双CPU,三线通信,还多了串口。
单片机管脚图
2.1.2使用的液晶
液晶介绍:
此设计采用的液晶是MzLH03。
MzLH03-12864为一块128X64点阵的LCD显示模组,模组自带两种字号的一、二级汉字库,并且自带基本绘图GUI功能,包括画点、画直线、矩形、圆形等;此外还自带有两种字号的ASCII码西文字库。
模组上为串行SPI接口,除电源线之外通讯仅需要连接一根片选线(CS)、一根时钟线(SCK)、一根数据线(SDA)以及一根BUSY线即可;接口简单、操作方便;与各种MCU均可进行方便简单的接口操作。
MzLH03-12864最有特色的是其自带的基本绘图GUI功能,用户只需要写入一些简单的命令,就可以绘出直线、矩形或者是圆形等,用户代码中无需进行繁琐的计算和操作。
特点:
✶128x64点阵FSTN
✶串行接口方式
✶自带12X12点二级汉字库和16X16点二级汉字库
✶自带6X10、8X16点ASCII码西文字库
✶自带基本绘图GUI功能(绘点、直线、矩形、矩形框、实心圆形、圆形框)
✶自带整型数显示功能,直接输入整型数显示,而无需作变换
✶模块自带由指令控制的白色LED背光,美观大方
✶
正面的PIN1~PIN10
模块接口引脚说明:
序号
接口引脚名
说明
1
VCC
LCD供电
2
CS
模块片选(SPI从机选择)线
3
RST
模块复位线
4
SCK
SPI时钟线
5
SDA
SPI数据输入线
6
NC
NC无连接
7
BUSY
LCD忙信号线(BUSY线)
8
NC
NC无连接
9
NC
NC无连接
10
GND
LCD接地
2.1.3I²C键盘
键盘介绍:
本设计采用的是CH452按键显示芯片。
CH452是数码管显示驱动和键盘扫描控制芯片。
CH452内置时钟振荡电路,可以动态驱动8位数码管或者64只LED,具有BCD译码、闪烁、移位、段位寻址、光柱译码等功能;同时还可以进行64键的键盘扫描;CH452通过可以级联的4线串行接口或者2线串行接口与单片机等交换数据;并且可以对单片机提供上电复位信号。
键盘控制:
●内置64键键盘控制器,基于8×8矩阵键盘扫描。
●内置按键状态输入的下拉电阻,内置去抖动电路。
●键盘中断,可以选择低电平有效输出或者低电平脉冲输出。
●提供按键释放标志位,可供查询按键按下与释放。
●支持按键唤醒,处于低功耗节电状态中的CH452可以被部分按键唤醒。
2.1.4GSM模块
介绍:
TC35新版西门子工业GSM模块是一个支持中文短信息的工业级GSM模块,工作在EGSM900和GSM1800双频段,电源范围为直流3.3~4.8V,电流消耗——休眠状态为3.5mA,空闲状态为25mA,发射状态为300mA(平均),2.5A峰值;可传输语音和数据信号,功耗在EGSM900(4类)和GSM1800(1类)分别为2W和1W,通过接口连接器和天线连接器分别连接SIM卡读卡器和天线。
SIM电压为3V/1.8V,TC35i的数据接口(CMOS电平)通过AT命令可双向传输指令和数据,可选波特率为300b/s~115kb/s,自动波特率为1.2kb/s~115kb/s。
它支持Text和PDU格式的SMS(ShortMessageService,短消息),可通过AT命令或关断信号实现重启和故障恢复,TC35i由供电模块(ASIC)、闪存、ZIF连接器、天线接口等6部分组成。
作为TC35i的核心基带处理器主要处理GSM终端内的语音和数据信号,并涵盖了蜂窝射频设备中的所有模拟和数字功能。
TC35模块有40个引脚,通过一个ZIF(ZeroInsertionForce,零阻力插座)连接器引出。
这40个引脚可以划分为5类,即电源、数据输入/输出、SIM卡、音频接口和控制。
模块的供电电压如果低于3.3V会自动关机。
同时模块在在发射时,电流峰值可高达2A。
同时在此电流峰值时,电源电压(送入模块的电压)下降值不能超过0.4V。
所以该模块对电源的要求较高,电源的内阻+FFC联接线的电阻必需小于200mΩ。
单片机通过两根I/O口控制TC35的开关机、复位等,通过串口与TC35进行数据通信,通信速率为9600Kbps,采用8位异步通讯方式,1位起始位,8位数据位,1位停止位。
TC35模块输入输出的TTL正电平逻辑不是+5V,而是+2.9V,因此必要时加端口保护。
TC35模块系SIEMENS公司为嵌入式设备设计的GSM双频通讯核心模块,TC35T内含TC35/SIM卡座/电源/天线/RS232接口,系可独立使用的通讯终端。
本文中除特别说明外,所有关于TC35的说明也适用于TC35T。
TC35不仅支持标准的AT命令集,SIEMENS公司还将AT命令进行了扩展,以便更有效的控制TC35。
MC2002可选GSM扩展板采用了-TC35模块,用户可以通过MC2002Modem接口控制内置的TC35或通过上位机(如PC)RS232通讯口控制TC35T终端,使用AT命令,即可实现收发短信,以及语音以、数据拨号等相关操作。
GSM终端设备(包括TC35/TC35T)除了具有普通的语音通讯功能外,还有收发数据、短信息等功能。
当终端设备(TE--TerminalEquipment)做为数据通信设备时,其功能相当于一台无线收发数据的调制解调器(Modem)。
其实,九十年代主要的移动电话生产厂商诺基亚、爱立信、摩托罗拉和HP将原来用于普通调制解调器通信的AT命令集进行扩展,使得在应用中控制GSM终端进行数据通信与控制普通调制解调器通信的方法类似。
所以,本文先介绍调制解调器进行通讯的工业标准—AT命令集,然后再介绍如何编程实现TC35-TC35TGSMModem的数据通讯功能。
准备工作:
使用TC35进行数据通信,用户必须准备一张已开通数据业务的SIM卡(需向电信运营商申请),并将其插入MC2002之TC35扩展模块SIM卡座中或TC35T的SIM卡座中。
使用PC配合TC35T收发短信,用户需开启TC35T电源,通过串行数据线联接到PC,并在PC端安装串口读写软件,如超级终端,Telix等。
通过终端软件发送AT命令,察看返回数据。
使用MC2002GSM模块TC35时,用户需通过编程选用MODEM端口,TC35将自动上电,再通过编程发送AT命令和处理返回数据。
MC2002在关闭TC35电源前,首先要向其发送”AT^SMSO\r”命令,并确认返回为“OK”或0(即中断与TC35网络连接)后,才可关闭MODEM端口。
2.2软件结构
2.2.1上位机
C++简介:
C++是一种使用非常广泛的电脑程式设计语言。
它是一种静态资料类型检查的,支援多范型的通用程式设计语言。
C++支援程序化程式设计、资料抽象化、面向对象程式设计、泛型程式设计、基于原则设计等多种程式设计风格。
2.2.2Keil
对于51单片机,最著名的开发工具是KeilSoftware公司的uVision集成开发环境。
它包括C编译器、宏编译器、连接器、库管理、仿真调试器。
2.3结构框图
用STC12C5A60S2单片机作为CPU,当发生断线时,蜂鸣器开始报警,并把断线信息传送至芯片,单片机控制以短信息的形式通过GSM网络发送到设置的电话号码上,电话号码通过键盘手动输入设置,液晶模块可以显示消息。
图2.3结构流程图
第三章电路原理图分析设计
3.1AltiumDesigner介绍
Altium(前身为Protel国际有限公司)由NickMartin于1985年始创于澳大利亚,致力于开发基于PC的软件,为印刷电路板,提供辅助的设计。
为适应日新月异的电子设计技术,Altium于2009年7月在全球范围内推出最新版本AltiumDesignerSummer09。
AltiumDesigner提供了唯一一款统一的应用方案,其综合电子产品一体化开发所需的所有必须技术和功能。
AltiumDesigner在单一设计环境中集成板级和FPGA系统设计、基于FPGA和分立处理器的嵌入式软件开发以及PCB版图设计、编辑和制造。
并集成了现代设计数据管理功能,使得AltiumDesigner成为电子产品开发的完整解决方案,一个既满足当前,也满足未来开发需求的解决方案。
AltiumDesigner基于一个软件集成平台,把为电子产品开发提供完整环境所需的工具全部整合在一个应用软件中。
AltiumDesigner包含所有设计任务所需的工具:
原理图和HDL设计输入、电路仿真、信号完整性分析、PCB设计、基于FPGA的嵌入式系统设计和开发。
另外可对AltiumDesigner工作环境加以定制,以满足用户的各种不同需求。
1、1985年诞生DOS版Protel
2、1991年ProtelforWidows
3、1997年Protel98这个32位产品是第一个包含5个核心模块的EDA工具4、1999年Protel99构成从电路设计到真实板分析的完整体系。
5、2000年Protel99se性能进一步提高,可以对设计过程有更大控制力。
6、2002年ProtelDXP集成了更多工具,使用方便,功能更强大。
7、2003年Protel2004对ProtelDXP进一步完善。
8、2006年AltiumDesigner6.0成功推出,集成了更多工具,使用方便,功能更强大,特别在PCB设计这一块性能大大提高。
9、2008年AltiumDesignerSummer08
10、2008年 AltiumDesignerWinter09推出。
11、2009年7月推出最新版本AltiumDesignerSummer09。
Summer09的诞生延续了连续不断的新特性和新技术的应用过程。
3.2项目中用到的器件库制作
介绍:
AltiumDesigner软件中提供了丰富的元件库,但在绘制原理图的时候还是会遇到一些在已有元件库中找不到的元件,这时需要用AltiumDesigner提供的制作元件库工具,做出自己想要的元件库。
第一步:
文件—新建—库—原理图库,新建一个库文件
生成文件
第二步:
工具——文档选项
第三步:
制作元器件,工具——新器件,命名为Component_2
第四步:
绘制元件,作一个需要的三极管。
双击电器引脚可设置Pin特性
第五步:
设置好元件属性后保存,命名为BS,保存到建立的文件夹中。
3.3原理图绘制及设计
文件—新建—工程—PCB工程,默认生成文件PCB,在Projects面板中右键生成的PCB文件,在出现的菜单中点击【保存工程为…】将文件保存到文件夹中。
命名为BS.PRJPCB。
然后文件—新建—原理图,生成一个Sheet.SchDoc,右键保存到刚才新建的工程中,命名为TANG.SCHDOC。
在用AltiumDesigner绘制原理图时,首先要装载相应的元件库,软件预装了一些库文件,可以直接调用所需要的。
AltiumDesigner使用的是集成元件库,扩展名为*.IntLib。
如果没有就加载如原理图库(*.SchLib)、PCB封装库(*.PcbLib)。
AltiumDesigner的元件库非常庞大,但是分类明确,采用两级分类的方法来对元件进行管理,我们调用相应的元件时只需找到相应公司的相应元器件种类就可方便的找到所需的元器件。
用鼠标点击弹出式面板栏的【库...】标签打开如图所示的【库...】元件库面板。
如果弹出式面板栏没有【库...】标签的话可在绘图区底部的面板控制栏中选取【System】菜单,选中其中的【库...】即可显示原器件库面板。
点击【库...】面板中的【库...】按钮,打开如图3-2所示的【可用库】当前可用元件库对话框。
在【安装】选项卡中列出了当前所安装的元件库,在此可以对元件库进行管理操作,包括元件库的装载、卸载、激活以及顺序的调整。
列出了元件库的名称、是否激活、所在路径以及元件库的类型等信息。
【向上移动】与【向下移动】按钮,顾名思义,就是在选中相应的元件库后可将元件库的顺序移上或者移下,【安装】按钮用来安装元件库,【删除】按钮则可移移除选定的元件库。
在库中找到所需要的元件后,双击即可放置在原理图中
编辑元件属性
AltiumDesigner里面所有的元器件都有详细的属性设置,包括器件的名称、标注、大小值、PCB封装、甚至生产厂家等,在绘图时需要根据自己的需要来设置器件的属性。
打开元件属性设置对话框有两种方法:
可以在选取了器件移动光标到绘图区,器件图标还处在悬浮状态时按下键盘的【Tab】键;或者是在器件放置好后双击器件即可打开如图所示的器件属性设置对话框,属性设置可分为几大区域,下面就来详细介绍器件的各属性设置。
【元件属性】基本属性设置:
该区域设置原理图中器件的最基本属性。
【标识】元件标号:
元件的唯一标示,用来标志原理图中不同的元器件,因此在同一张原理图中不可能有重复的元件标号。
不同类型的元器件的默认标号以不同的字母开头,并辅以‘?
’号,像芯片类的默认标号为“U?
”,电阻类的默认标号为“R?
”,电容类的默认标号则为“C?
”。
在每个元件的属性设置对话框中修改元件的标号,也可以在放置完所有器件后再使用系统的自动编号功能来统一编号,还有一种方法就是在放置第一个器件时将器件标号属性中的‘?
’号改成数字‘1’,则以后放置的器件标号会自动以1为单位递增。
元件标号还有【可见的】和【锁定】属性:
【可见的】设定该标号在原理图中是否可见;选取【锁定】后器件的标号将不可更改。
绘制全部原理图:
3.4生成网络表及核对
网络表是含有电路原理图或PCB中元件之间连接关系的信息的文本文件,它是原理图编辑器和PCB编辑器之间的信息接口。
网络表主要有两个作用:
网络表文件可支持PCB软件的自动布线即电路模拟程序;可以与最后从PCB图中得到的网络表文件比较,进行差错核对。
单击【设计】—【设计项目的网络表】—Protel命令,即可生成当前项目的网络表。
在左边的Projects中可以看到
双击TANG.NET文件后打开网络表。
从网络表可以看出,每一个元件的声明部分都是以“[”开始,以“]”结束的。
“[”下面的第一行就是元件标注的声明,显示的是元件属性中的Designator;元件标注下面一行是元件的封装。
用户在进行PCB设计时需要加载网络表,其中元件封装信息就是从这一行得来的。
如果用户在原理图中没有定义元件封装,此行为空;再下一行就是元件标注,取自原理图中元件属性框中的Comment栏;元件标注下面有3行保留的空行,最后是“]”符号。
每一个网络定义都是以“[”开始,以“]”结束的。
其中“[”下面第一行是一个网络节点的名称,这部分直接取自用户在原理图中的定义;下面每一行代表当前网络连接的一个引脚,一直到全部列出为止;最后一行是一个“]”符号。
3.5原理图器件清单
第四章PCB设计
4.1设置PCB设计环境
画完原理图后进行编译,看看有没有错误,每个元器件对应一个封装,通过封装管理器查看封装(工具—封装管理器),确定原理图没有错误后就可以导入PCB。
载入网络表,网络表是原理图与电路板设计之间的桥梁,载入网络表后电路图将以元件封装和预拉线的形式存在。
对电路板进行规划,如采用几层板和电路板的物理尺寸等。
布线采用自动布线和手动布线结合的方式,先对关键和重要的部分进行手动布线,然后启动系统的自动布线功能布线,最后再对布线的结果进行修改。
DRC校验,PCB设计完成后对电路板进行DRC校验,确保没有违反设计规则的错误发生。
绘制PCB的流程:
原理图导入,PCB的参数设计,元器件进行布局,然后在布线,进行规格检查,输出设计好的PCB板,
4.1.1创建新的PCB设计文档
新建一个PCB文件,文件—新建—PCB
新建后保存到原先建立是工程当中
4.1.2电路板参数设置
选取【设计】菜单下的【板参数选项…】选项,进入电路板尺寸参数设置对话框。
PCB编辑器提供了一个功能强大的PCB面板,可以查看到板子的所以信息,鼠标选取任何一个网络类,网络,走线或是焊盘,系统的绘图区会自动聚焦到选取的项目,若是双击该项目,则会打开属性设置对话框,对其属性进行设置。
PCB设计面板
4.2项目中用到的器件库PCB封装
因为AltiumDesigner09版本提供的是集成库,大部分PCB封装都可以在集成库中找到,个别需要自己绘制。
都可以在封装管理器中查看
4.3更新网络表和PCB和元件布局
从PCB板图中直接生成网络表
执行【设计】—【网络表】—【从PCB输出网络表…】后,弹出对话框,单击Yes按钮确定,进行网络表的输出。
元件放置完毕,可以通过移动、旋转和翻转等方式调整元件的位置,元件布局是将元件在一定面积的印制板上合理地排放,一个好的布局,首先要满足元件的设计性能,其次要满足安装空间的限制,在没有尺寸限制时,要使布局尽量紧凑,减小PCB设计的尺寸,减少生产成本。
单击编辑区下面的工作层选项栏中的“Keep-OutLayer”选项,选择当前工作层为禁止布线层。
单击布线工具箱中的画线图标,在编辑区内绘制出一个封闭的区域,大小自定。
单击布线工具箱中的设置原点按钮,将光标移动到禁止布线区左下角,单击左键,设置坐标原点。
设置物理边界,在印制电路板文件中,选择“Mechanical1”,在它上面设置电路板的物理尺寸,执行【设计】—【板子形状】—【重新定义板子外形】
执行【工具】—【器件布局】—【自动布局…】
在自动布局时,还可以采用锁定关键元件的自动布局方式。
也就是把部分关键元件的位置摆放好,并使其处于锁定状态,然后对其他元件进行自动布局。
这样,在自动