智能家居安保系统设计 - 图文

更新时间:2024-01-11 14:41:01 阅读量: 教育文库 文档下载

说明:文章内容仅供预览,部分内容可能不全。下载后的文档,内容与下面显示的完全一致。下载之前请确认下面内容是否您想要的,是否完整无缺。

毕业设计说明书

智能家居安保系统设计

摘 要

摘 要

论文介绍了基于STM32F103RB单片机系统的控制核心的智能家居安保系统设计。系统分为三部分:系统板(单片机,电源模块),GSM模块,传感器模块。全文分别从五个方面对设计进行说明:一、设计背景和意义。智能家居的背景和发展现状以及GSM和AT指令集的介绍;二、主要器件的介绍;三、设计方案。总体框图设计,用框图将设计中手机接收端、GSM模块、传感器、LCD、STM32F103RB、电源电路等各硬件组成部分之间的关系表示出来;接着在红外对管和声音传感器比较后,得出红外对管更适合用来防盗的结论,因此采用了红外对管方案。四、系统的软件部分;有LCD屏显示和触摸屏程序设计(我觉得是最难的),硬件部分有STM32F103RB开发板、GSM模块、烟雾传感器、红外对管。五、系统实现部分详细阐述了系统的各个模块和实现过程。讲述了短信报警的过程和修改密码和手机号码的过程。

关键词: 智能家居 STM32F103RB XPT2046 GSM W25X40 AT24C02

I

目 录

目 录

摘 要 ............................................................................................................................... I ABSTRACT ..................................................................................... 错误!未定义书签。 目 录 ................................................................................................................................ 1 第1章 绪论 ...................................................................................................................... 3

1.1、 课题研究背景和意义 ..................................................................................... 3

1.1.1、家庭自动化 ............................................................................................ 3 1.1.2、家庭网络 ................................................................................................ 3 1.1.3、网络家电 ................................................................................................ 4 1.1.4、信息家电 ................................................................................................ 4 1.2、国内外发展现状 ............................................................................................... 4 1.3、GSM技术介绍 ................................................................................................. 5 1.4、AT指令简介 ..................................................................................................... 7 1.5、本章小结 ........................................................................................................... 8 第2章 系统主要器件介绍 ............................................................................................ 10

2.1、核心控制芯片STM32F103RB ...................................................................... 10 2.2、触摸屏控制器XPT2046 ................................................................................ 11 2.3、GSM通信芯片SIM900A .............................................................................. 12 2.4、GSM模块 ....................................................................................................... 14 2.5、烟雾传感器模块 ............................................................................................. 15 2.6、红外对管 ......................................................................................................... 17 2.7、FLASH W25X40 ............................................................................................. 18 2.8、EEPROM AT24C02 ........................................................................................ 20 2.9、本章小结 ......................................................................................................... 21 第3章 设计方案 ............................................................................................................ 22

3.1、系统框图设计 ................................................................................................. 22 3.2、传感器的选择 ................................................................................................. 23 3.3、本章小结 ......................................................................................................... 23 第4章 系统的软硬件设计 ............................................................................................ 24

4.1、系统程序设计流程图及主要程序 ................................................................. 24

4.1.1、系统初始化函数 .................................................................................. 25 4.1.2、LCD显示及手机号码修改函数 ......................................................... 25

1

4.1.3、短信报警函数 ...................................................................................... 26 4.2 、STM32F103RB开发板系统 ........................................................................ 26

4.2.1、电源 ...................................................................................................... 27 4.2.2、触摸屏模块 .......................................................................................... 27 4.2.3、EEPROM AT24C02模块 .................................................................... 28 4.2.4、FLASH W25X40模块 ......................................................................... 30 4.3、本章小结 ......................................................................................................... 32 第5章 系统软硬件实现 ................................................................................................ 33

5.1、硬件电路 ......................................................................................................... 33 5.2、系统测试 ......................................................................................................... 36 5.3、测试结果 ......................................................................................................... 39 5.4、本章小结 ......................................................................................................... 40 总结与展望 ...................................................................................... 错误!未定义书签。 致 谢 .............................................................................................. 错误!未定义书签。 参考文献 .......................................................................................... 错误!未定义书签。 附 录 .............................................................................................................................. 41

第1章 绪论

第1章 绪论

1.1、 课题研究背景和意义

随着国民经济的和科技的提高,特别是计算机技术,通信技术,网络技术,控制技术水平,信息技术的飞速发展和提高,推动现代家庭生活居住方式改变,人们更加追求舒适的衣食住行和安全环境。人类科技的发展和方向的最终目标是服务于生活,这些高科技已经影响到人们生活的方方面面,使得人们的生活习惯改变和生活质量提高。在这些条件下的智能家居应运而生[1]。

智能家居住房作为一个平台,利用综合布线技术、 网络通信技术、 安全技术、 自动控制技术、 音频和视频技术集成家居生活相关设施、 居住设施和家庭计划管理系统的建设,加强家居安全、 方便、 舒适、 艺术和生活的环境,以实现环境保护和能源节约。

智能家居是物联网的影响下的表现。通过智能家庭网络技术将家中(如声音和视频设备,照明系统,窗帘和控制,空调控制和安全系统以及数字影院系统和AV服务器和影子内阁系统和网络设备)的各种设备连接在一起,以提供所述电器控制和灯光控制和电话远程控制,室内和室外遥控控制,防盗报警器,环境监测和传输控制红外线传输和温度可以编程定时控制,各种各样功能和工具。与普通家居相比,智能家居不仅具有传统的生活、 建设、 通信、 信息家电、 自动化设备、 提供全方位的信息交互功能,甚至为节省能源费用的各种功能[2]。

1.1.1、家庭自动化

家庭自动化系统是基于一个中央微处理机(中央处理单元,CPU),从相关的电气和电子产品的接收到的消息(外部环境因素,如太阳升起或落下,所造成的变化的光线和其他变化),然后发送根据既定程序,其他电器和电子产品的相应信息。通过许多中央微处理器接口的家电控制,这些接口可以是一个键盘,或者它可以是一个触摸屏,按钮,计算机,电话,遥控器,等等;消费者可将信号发送到中央微处理器,或者从中央微处理器接收信号。

[3]

1.1.2、家庭网络

大家必须把这个家庭网络和纯粹的“家庭局域网”分开来,它是指连接家庭里的计算机、各种外设和与因特网互联的网络系统,它仅仅是家庭网络的一个组成部份。家庭网络是在家庭范围内(可扩展到邻居,小区)将PC、家电、安全系统、照明系统和广域网相连接的一种新技术。 当前在家庭网络所采用的连接技术可以分为“有线”和“无线”两大类。有线方案主要包括:双绞线或同轴电缆连接、电话线连接、电力线连接等;无

3

第1章 绪论

线方案主要包括:红外线连接、无线电连接、基于RF技术的连接和基于PC的无线连接等[4]。

1.1.3、网络家电

网络家电是普通的家用电器使用数字技术、 网络技术和智能控制技术改进的新型家用电器。网络设备可以相互连接,形成一个家庭网络,而家庭网络,可以连接到外部互联网。可见,网络家电技术包括两个层次: 第一种装置,这是所以不同电器可以相互承认,并一起工作之间的联网。第二个层次是解决通信设备和外部网络,以便家庭真正成为扩展到外部网络的网络设备。

1.1.4、信息家电

信息家电是一种廉价,简单实用,家电和PC的主要特点。使用电脑,电信和电子技术与传统家电产品和创新产品相联合,是数字化和网络技术应用越来越广深入设计新的家庭生活和家电,信息家电包括PC,机顶盒,HPC,DVD,超级VCD,无线数据通信设备,视频游戏设备,WEBTV,网络电话等,都可以通过网络交换信息器具,其可以被称为信息家电。音频,视频和通讯设备是信息家电的主要组成部分。而在另一方面,基于整合传统的商品,这使得它更强大和更容易使用,方便实用的传统家电,信息技术,并创造对生活更高品质的家庭生活环境。例如,模拟电视发展到数字电视,VCD到DVD,冰箱,洗衣机,微波炉,也将是一个数字化,网络化,智能化的家电产品。

1.2、国内外发展现状

随着经济水平的发展和进步,人们的生活开始追求个性化、自动化、快节奏,追求趣味十足的生活方式。因此,越来越多的智能家居的兴起,在我国如雨后春笋一般的局势已显露暴露无疑。然而,国内智能家居市场的发展并非一帆风顺,混乱,缺乏市场和行业标准。如何发展智能家居仍扑朔迷离。国外智能家居行业发展势头越来越好,国内智能家居业内人士有必要思考这样一个问题:是什么阻碍了智能家居发展的步伐,我们应该如何借鉴国外的智能家居企业学习

事实上,美国开始是第一个研究智能家居,但普及工作做的更好的,是韩国,韩国的智能家居做的很好,这与韩国先进的电子技术密不可分,也多亏政府的对智能小区和智能家居的政策支持。韩国政府一直大力支持做智能家居,除了提高人民生活水平,更重要的是,它可以有效地减少犯罪,增加了家庭和社会,对政府管理大有裨益,提高了社会与家庭之间的信息流动的速度。韩国政府在汉城和新区的规定,新建小区必须有智能家居系统这一个工程,因此韩国产生了很多知名品牌的智能家居。在我国,住房建设部麾下的全国智能建筑居住区数字标准化技术委员会和长虹一起合资建设子公司发布

4

第1章 绪论

了“中国城市居民e家生活指数报告”,同时,宣布第一个智能家居发展的评价标准“ e家生活指数“。对智能家居的发展发挥了积极作用。

智能家居在刚刚起始的时候做的非常艰苦,在小区智能家居尝试3 - 5年内逐步企稳,如果没有问题,就可以推出大规模推广。我们的国内和国外的环境是在国外不同,他们的生活环境,主要原因是别墅,独立式的主屋,让智能家居的发展更集中在联通的信息网络,控制和家庭娱乐等方面;我们的生活环境主要是住宅小区的类型,所以重点发展主要体现在安全监控方面。韩国的生活习惯和我们接近,重点发展主要体现在安全监控方面,但他们的电子行业发展非常好,所以在多媒体娱乐控制速度比我们的发展..

虽然目前,国务院、住建部、工业信息化部出台一系列政策鼓励智能家居发展,但这些只是指导方针,智能家居在中国的未来发展,政府的行为会越来越弱,最终的成败是由市场决定的,政府的主要职能,统筹,制定统一的标准就可以不需要太多的干预。总体来说,智能家居的在中国的普及还需要几年的时间。现在一些国外的智能家居厂商也非常看好中国智能家居市场,这些国外企业的进入将推动国内智能家居行业市场的发展。

2012年上半年,在上海博世安防系统推出了全新的智能家居系统。据悉,该系统是专为高端住宅的设计,为客户提供基于IP网络的高端可视对讲产品的光幕具有智能控制系统和集成安全模块,红外转发器,遥控器和家电产品等万能遥控器。推出的新系统,标志着博世正式进入智能家居市场。鉴于目前的市场调控,博世注入了新的活力,智能家居市场。

智能家居“钱”途无量,但目前仍处于学习外国公司的阶段。在这里学习是不是所有的照本宣科,而是根据我们国家的环境政策,从国外的成功经验吸取营养,通过“机”生鸡蛋,增加了国内企业成功的“筹码”,让国内智能家居行业的发展更加欣欣向荣[5]。

1.3、GSM技术介绍

全球移动通信系统(Global System for Mobile Communication)就是大家都在使用的GSM,是最广泛使用的移动电话标准。在超过 200 个国家和地区的世界和超过 10 亿人每天使用 GSM 标准的移动电话。在\漫游协议\国际漫游服务成为标准之间移动运营商签署了种类繁多的用户更广泛地使用。以前比较 GSM 标准的最大区别在于它信号和语音通道是数字,因此 GSM 被视为第二代 (2g) 移动电话系统。数字通信是内置于系统。GSM 是一种开放的标准,由 3GPP 开发。GSM是第2代(即2G)蜂窝移动通信技术。模拟蜂窝技术被称为一代移动通信技术,宽带CDMA技术被称为三代移动通信技术,即3G。

GSM属于一个蜂窝网络,也就是说移动电话必须要连接到它能搜索到的最近的蜂窝单元区域才能使用。GSM网络运行在多个不同的无线电频率上。

5

第1章 绪论

GSM网络,共有四种不同的蜂窝单元尺寸:巨蜂窝,微蜂窝,微微蜂窝和伞蜂窝。覆盖因不同的环境而不同。巨蜂窝可以看出基站天线安装在最重要的是在天线或建筑物上的那种。微蜂窝天线高度比那些平均建筑物高度,一般用在市区。微微蜂窝是一种小型蜂窝覆盖范围只有几十平方米,主要用于室内。伞蜂窝被用于覆盖一个较小的蜂窝网络盲点,填补之间的空白区域蜂窝信号。

根据天线高度,增益和传播条件,从一百多米到数十公里的半径。最大距离GSM规范支持实际使用可以支持到35公里。有蜂窝扩张的概念,小区半径可以增加一倍,甚至更多。

GSM还支持室内覆盖,可以把室外天线分布功率分配器到室内天线分布系统中。这是一个典型的配置方发,以满足在房子内高密度的内部的要求,在商场,机场很常见的。然而,这是没有必要的,因为建筑物通过室内覆盖范围可以通过无线信号来实现,但是这可以减少干扰并提高回波信号的质量[6]。

GSM 900MHz频段 GSM 900MHz频段双工间隔为45MHz,有效带宽为25MHz,124个载频,每个载频8个信道。 GSM900 : 上行(MHz)890-915;下行(MHz)935-960(GSM最先实现的频段,也是使用最广的频段) GSM900E : 上行(MHz)880-915;下行(MHz)925-960(900MHz扩展频段)

2、中国GSM900使用频率 ①中国移动

●上行频段:890-909 MHz ●下行频段:935-954 Mhz ②中国联通

●上行频段:909-915 MHz ●下行频段:954-960 Mhz 3、DCS1800MHz频段

GSM 1800MHz频段双工间隔为95MHz,有效带宽为75MHz,374个载频,每个载频8个信道。

GSM1800 :

上行(MHz)1710-1785;

下行(MHz)1805-1880(适用于对信道容量需求大的市场,应用范围仅次于900M。) 中国DCS1800使用频率 ①中国移动

●上行频段:1710-1720 MHz ●下行频段:1805-1815 Mhz ②中国联通

6

第1章 绪论

●上行频段:1745-1755 Mhz ●下行频段:1840-1850 MHz

1.4、AT指令简介

AT 即 Attention, AT 指令集是从终端设备(Terminal Equipment, TE)或数据终端设备(Data Terminal Equipment, DTE)向终端适配器(Terminal Adapter, TA)或数据电路终端设备(Data Circuit Terminal Equipment, DCE)发送的。通过 TA, TE 发送 AT 指令来控制移动台(Mobile Station, MS)的功能,与 GSM 网络业务进行交互。用户可以通过 AT 指令进行呼叫、短信、电话本、数据业务、传真等方面的控制。

AT 指令必须以\或\开头,以回车( )结尾。模块的响应通常紧随其后,格式为: <回车><换行><响应内容><回车><换行>[7]。

SIM900A 模块提供的 AT 命令包含符合 GSM07.05、GSM07.07 和 ITU-T RecommendationV.25ter 的指令,以及 SIMCOM 自己开发的指令。接下来我们介绍几个常用的 AT 指令: 1、AT+CPIN?

这个指令用于查询 SIM 卡的状态,主要是查询 PIN 码,如果该指令返回: +CPIN:READY,则表明 SIM 卡状态正常,返回其他值,则有可能是没有 SIM 卡。 2、 AT+CSQ

这个指令用于查询信号质量,返回 SIM900A 模块的接收信号强度, 如返回: +CSQ: 24,0,表示信号强度是 24(最大有效值是 31)。如果信号强度过低,则要检查天线是否接好了? 3、AT+COPS?

这个指令用于查询当前运营商,该指令只有在连上网络后,才返回运营商,否则返回空,如返回: +COPS:0,0, \,表示当前选择的运营商是中国移动。 4、 AT+CGMI

这个指令用于查询模块制造商, 如返回: SIMCOM_Ltd,说明 SIM900A 模块是 SIMCOM公司生产的。 5,、AT+CGMM

这个指令用于查询模块型号,如返回: SIMCOM_SIM900A,说明模块型号是 SIM900A。 6、 AT+CGSN

这个指令用于查询产品序列号(即 IMEI 号),每个模块的 IMEI 号都是不一样的,具有全球唯一性,如返回: 869988012018905,说明模块的产品序列号是: 869988012018905。 7、 AT+CNUM

7

第1章 绪论

这个指令用于查询本机号码,必须在 SIM 卡在位的时候才可查询,如返回: +CNUM: \,则表明本机号码为: 15902020353。另外,不是所有的 SIM 卡都支持这个指令,有个别 SIM 卡无法通过此指令得到其号码。 8、 ATE1

这个指令用于设置回显模式( 默认开启),即模块将收到的 AT 指令完整的返回给发送端,启用该功能,有利于调试模块。如果不需要开启回显模式,则发送 ATE0 指令即可关闭,这样收到的指令将不再返回给发送端,这样方便程序控制。

9、AT+CNMI

这个指令用于设置新消息指示。发送: AT+CNMI=2,1,设置新消息提示,当收到新消息,且 SIM 卡未满的时候, SIM900A 模块会返回数据给串口,如: +CMTI: \,表示收到接收到新消息,存储在 SIM 卡的位置 2。

10、AT+CMGF

这个指令用于设置短消息模式, SIM900A 支持 PDU 模式和文本( TEXT)模式等 2种模式,发送: AT+CMGF=1,即可设置为文本模式。 11、AT+CSCS

这个指令用于设置 TE 字符集,默认的为 GSM 7 位缺省字符集,在发送纯英文短信的时候,发送: AT+CSCS=\,设置为缺省字符集即可。在发送中英文短信的时候,需要发送: AT+CSCS=\,设置为 16 位通用 8 字节倍数编码字符集。 12、AT+CSMP

这个指令用于设置短消息文本模式参数,在使用 UCS2 方式发送中文短信的时候, 需要发送: AT+CSMP=17,167,2,25,设置文本模式参数。 13、AT+CMGR

这个指令用于读取短信,比如发送: AT+CMGR=1,则可以读取 SIM 卡存储在位置1 的短信。 14、AT+CMGS

这个指令用于发送短信,在\字符集下,最大可以发送 180 个字节的英文字符,在\字符集下,最大可以发送 70 个汉字(包括字符/数字)。该指令我们在后面详细介绍。 15、AT+CPMS

这个指令用于查询/设置优选消息存储器,通过发送: AT+CPMS?,可以查询当前 SIM卡最大支持多少条短信存储,以及当前存储了多少条短信等信息。

1.5、本章小结

本章主要阐述了智能家居的发展背景,发展过程和GSM的一些介绍。阐述了智能

8

第1章 绪论

家居的优点和其发展的必然性,介绍了GSM工作的频率等一些情况,最重要的是简单介绍了一些AT指令的使用说明,最后简单说明了本设计的主要工作。

9

广东石油化工学院本科毕业(设计)论文:智能家居安保系统设计

第2章 系统主要器件介绍

2.1、核心控制芯片STM32F103RB

在本系统中STM32F103RB是核心控制芯片,异常情况的判定、GSM模块的控制、LCD触摸屏的控制等都离不开本芯片,它是本系统的心胀如图2.1。

STM32F1系列属于中低端的32位ARM微控制器,该系列芯片是意法半导体(ST)公司出品,其内核是Cortex-M3。

根据片上闪存的大小可分为三大类的芯片:小容量(16K和32K),中容量(64K和128K),高容量(256K,384K和512K)[8]。

芯片上集成了很多外设如:定时器,CAN,ADC,SPI,I2C,USB,UART等。 内核

-ARM 32位的Cortex-M3

- 72MHz的最大运行频率,可达1.25DMIPS/ MHZ(DhrystONe2.1)在零等待周期的存储器访问

- 单周期乘法和硬件除法 存储器

- 从闪存程序存储器32K到512K字节(STM32F103XXXX第二个X代表的闪存容量,其中包括:“4”=16K,“6”=32K,“8”=64K,B =128K,C =256K,D =384K,E =512K)

- 最大64K字节的SRAM 电源管理

--2.0-3.6V电源和I / O引脚

- 电源开/关复位(POR/ PDR),可编程电压检测器(PVD) - 4-16MHZ晶体振荡器

- 通过工厂调整为8MHz阻容振荡器嵌入式 - 嵌入式与校准的RC振荡器40KHz的 - 要生成CPU时钟锁相环

- 随着32KHz的标定RC振荡器低功耗 - 待机,睡眠和停机模式 --Vbat电源到RTC和备份寄存器 模数转换器

图2.1 STM32F103RBT6

- 多达16个输入通道的两个12位ADC,1微秒转换时间 - 转换范围:0?3.6V - 保持功能和双采样

10

第2章 系统主要器件介绍

- 温度传感器 DMA

- 两个DMA控制器,一共有12个DMA通道:DMA1具有七个频道,DMA2有五个通道

- 支持的外设有:定时器,ADC,SPI,USB,IIC和UART - 多达112个快速I/ O端口(仅Z系列拥有超过100引脚)

--26/37/51/80/112 I / O端口,所有的I / O端口的图像16个外部中断;几乎所有的端口可以容忍5V信号

调试模式

- 串行线调试(SWD)和JTAG接口 - 多达8个定时器

- 三个16位定时器,每个定时器有多达四个输入捕捉/输出比较/ PWM或脉冲计数的通道和增量编码器输入

- 一个16死区时间控制和紧急制动,用于电机控制的PWM高级控制定时器 - 两个看门狗定时器(独立的和窗口型) - 系统定时器:24从零下计数器 - 截至九通讯接口:

2个I2C接口(支持SMBus/ PMBus的)

3个USART接口(支持ISO7816接口,LIN,红外线接口和调制解调器控制) 2个SPI接口(18M比特/秒) CAN接口(2.0B有源) USB2.0全速接口 计算单元

CRC计算单元,新批96位的唯一代码 封装

ECOPACK封装

2.2、触摸屏控制器XPT2046

XPT2046是一款4线触摸屏控制器芯片,他在本系统中

如图2.2所示,XPT2046是一款4线触摸屏控制器芯片,含有12位分辨率的,125KHz的转换率的逐次逼近型A / D转换器。 XPT2046有支持从1.5V到5.25V低电压I/ O接口。 XPT2046通过两个A / D转换器,以检测在屏幕的位置的执行被按压,此外,还可以测量施加到触摸屏上的压力。自己的内部2.5V参考电压,可被用作使用的辅助输入,温度测量和电池监测模式时,0V到6V。它集成XPT2046薄膜内的温度传感器。

11

第2章 系统主要器件介绍

在2.7V的典型操作中,关闭基准电压后,功率消耗可以达到小于0.75MW。 XPT2046有微型封装:TSSOP-16,QFN-16(高度仅0.75mm厚度)和VFBGA-48。在-40℃?+85℃可以正常工作[9]。

芯片主要特点[10] 4线触摸屏接口 触摸压力测量功能

可直接测量电源电压(0V?6V) 低功耗(260μA)

可单电源,2.2V-5.25V的z工作电压范围1.5V支持5.25V?级数码I / O端口 自己内部的+ 2.5V参考电压 具有125KHz的转换率 使用QSPI?和SPI?3线通信接口

可编程,8位或12位分辨率,具有1路辅助模拟输入 它可以自动断电

小型封装,节约电路面积:TSSOP-16,QFN-16(高度仅0.75mm厚度)和VFBGA-48 完全兼容TSC2046,ADS7843/7846和AK4182

图2.2 XPT2046原理框图

2.3、GSM通信芯片SIM900A

如图2.3所示,SIM900A芯讯通推出了一款新的紧凑型产品。它属于双频GSM/

12

第2章 系统主要器件介绍

GPRS模块,完整的SMT封装,只SIM900A针对中国市场,其性能在一个紧凑的,稳定的高性价比。 SIM900A行业标准接口,能够以GSM/ GPRS850/900/1800/1900MHz的频率,可以实现语音,短信,数据低功耗传输和传真信息。此外,SIM900A的24x24x3mm的大小,M2M应用可以适用于各种类型的设计要求,尤其是对纤细和紧凑的设计[11]。

主要特点

*双频900/1800 MHz的 * GPRS多时隙等级10/8 * GPRS移动台B级 *符合GSM+2/2标准 - 4类(2 W@900兆赫) - 第1类(1 W@1800MHz的) *尺寸:24*24*3毫米

*重量:3.4g *通过AT命令(GSM07.07,07.05和控制

SIMCOM增强型AT命令集) *电源电压范围:3.1V~4.8V *低功耗:1.5毫安(睡眠模式) *工作温度范围:-40°C至+85°C 数据传输

* GPRS class 10:最大85.6 kbps (下行速率)* 支持PBCCH

*编码方案CS1,2,3,4 * CSD 高达14.4 kbps的 * USSD *非透明

* PPP协议栈短信 * 点对点MO and MT * 短信广播 * 文本和PDU模式 接口

* 支持SIM卡3V / 1.8V接口 * 模拟音频接口 * 支持RTC

13

图2.3 SIM900A

第2章 系统主要器件介绍

* SPI接口 * 串行接口 * 天线焊盘 * I2C * GPIO * PWM * ADC

2.4、GSM模块

GSM模块有很多的功能,比如收发短信、接打电话、GPRS上网等。在本系统中是用来发报警短信的短信的。

ATK-SIM900A-V12 ( V12 是版本号,下面均以 ATK-SIM900A 表示该产品)是 ALIENTEK推出的一款高性能工业级 GSM/GPRS 模块( 开发板)。 ATK-SIM900A 模块板载 SIMCOM 公司的工业级双频 GSM/GPRS 模块: SIM900A,工作频率双频:900 /1800Mhz,可降低功耗实现语音,数据和信息,短信传真传输(SMS,MMS,不支持)。 ATK-SIM900A模块支持RS232串口和LVTTL,并与硬件流控制,支持5V?24V宽工作电压范围,所以该模块可以与我的系统连接非常方便实现语音,短信和GPRS数据传递函数,如图2.4所示。

[12]

ATK-SIM900A 模块的基本特性如下所示: 通信接口 1 RS232 串口/LVTTL 串口

支持 AT 命令控制( GSM 07.07, 07.05 以及 SIMCOM 增强 AT 命令集) 支持 RTS/CTS 硬件流控控制

支持从 1200bps~115200bps 范围的通信速率( 带自动波特率检测) 支持调试接口( 可用于调试和软件升级)

语音接口 3.5mm 耳机+麦克风座

天线接口 SMA 接口,自带 GSM( 900M/1800M) 专用小辣椒天线 电源接口 DC005-2.1mm 直流电源座 SIM卡接口 支持 1.8V/3V SIM 卡

工作频段 EGSM 900Mhz/DCS 1800Mhz 自动搜索 2 个频段 发射功率 Class4(2W)@EGSM 900M

Class1(1W)@DCS 1800M

GPRS 连接特性 GPRS mlti-slot class10/8 GPRS mobile station class B/CC 工作温度 2 -40℃~+85℃ 外形尺寸 80mm*58mm

14

第2章 系统主要器件介绍

电源供电 DC5~24V

IO电平 1 Voh(max) 2.8V、 Vol(min) 0V 功耗 2 12~90mA@12V

图2.4 ATK-SIM900A 模块资源图

2.5、烟雾传感器模块

烟雾传感器在本设计中我是用来检测,家里是否发生了煤气泄漏,发生煤气泄漏烟雾传感器会输出低电平,否则输出高电平。

我使用的烟雾传感器是MQ-2,在清洁的空气中使用MQ-2,气体传感器敏感材料氧化锡(SnO 2)的导电性较低。当存在于可燃气体中,传感器电导率增大随着在空气中可燃气体浓度的增加。使用简单的电路来的变化转换在对应于输出信号中的气体浓度的导电性如图2.5所示。 MQ-2气体传感器高液化气,丙烷,氢灵敏度和检测天然气等易燃蒸气的也非常好。该传感器可以检测各种可燃气体,它是用于各种应用的低成本的传感器。如图2.6、2.7是烟雾传感器的外形图,图2.8是烟雾传感器的结构图。

图2.5 烟雾传感器原理图

15

第2章 系统主要器件介绍

模块应用:

可用于家庭和工厂气体泄漏监测装置,适用气体,丁烷,丙烷,甲烷,烟雾的检测; 模块特点:

1,采用高品质双面板设计,与电源指示灯和TTL信号输出指示; 2,用DO开关信号(TTL)输出和模拟输出AO;

3,TTL输出有效信号为低。 (当输出低信号光可以直接连接微控制器或继电器模块)

4,模拟输出电压与高浓度越高的电压。

5,液化石油气,天然气,城市煤气,烟具有更好的灵敏度。 6,有四个螺丝孔容易定位;

7,产品尺寸:32(L)*20(W)*22(H) 8,具有长寿命和可靠的稳定性 9,快速响应恢复特性 电气性能:

输入电压:DC5V电源(电流):150毫安 DO输出:TTL数字0和1(0.1和5V)

AO输出:约0.1-0.3V(相对干净),浓度最高电压4V

特别说明:当传感器供电时,需要预热约20S,测量数据才会变得稳定,发热是传感器的一种正常的现象,因为里面有电线,如果发热太严重就不正常。

接线方式:

1,VCC:正电源(5V) 2,GND:负一层

3,DO:TTL开关信号输出 4,AO:模拟输出

A.标准工作条件

符号 参数名称 技术条件 Vc 回路电压 ≤15V AC or DC

VH 加热电压 5.0V±0.2 V AC or DC RL 负载电阻 可调 RH 温度加热电阻31Ω±3Ω PH 加热功耗≤900mW B.环境条件

符号 参数名称 技术条件

16

图2.6 烟雾传感器正面

第2章 系统主要器件介绍

Tao Tas

工作温度 储存温度

-10℃-50℃ -20℃-70℃ 低于95%RH

RH 相对湿度

21%O 2的氧浓度(标准条件) 氧气浓度会影响灵敏度特性 最小值大于2%

C. 灵敏度特性 符号 Rs

参数名称

技术条件

≤0.6

图2.7 烟雾传感器背面

传感器表面电阻 3KΩ-30KΩ(1000ppm 异丁烷 )

α异丁烷 浓度斜率 标准工作条件

温度 20℃±2℃ Vc:5.0V±0.1V

相对湿度 65%±5% Vh: 5.0V±0.1V D. 结构 外形 测试电路 部件 材料

1 气体敏感层 二氧化锡 2 电极 金(Au) 3 测量电极引线 铂(Pt) 4 加热器 镍铬合金(Ni-Cr) 5 陶瓷管 三氧化二铝

6 防爆网 100目双层不锈钢(SUB316) 7 卡环 镀镍铜材(Ni-Cu) 8 基座 胶木图

9 针状管脚 镀镍铜材(Ni-Cu) 2.8 烟雾传感器结构图

2.6、红外对管

红外对管在本设计中我是用来检测是否有小偷的,将红外对管安装在保险柜、门口等一些小偷偷东西必经之处,家里没人时打开防盗报警,当有东西挡住红外线的传输时,会输出低电平,以此来报警,。如图2.9红外对管有两方面组成,一个接,一个发。

环境光传感器模块适应性,它有一对红外发射器和接收器的,发射管发射一些检测

17

第2章 系统主要器件介绍

障碍物的方向时红外线频率,而不是将信号输出接口输出的数字信号后接收红外线接收管,通过所述比较器电路的处理(一低电平信号)有效距离范围0?30CM,5V的工作电压。传感器的检测范围能够以小的干扰来调整,组装容易,使用方便的特点。

模块参数说明

1、当模块检测到前方有障碍物信号时,OUT端口持续输出低电平信号,该模块检测距离0~30cm,检测距离可以进行调节。

2、传感器模块输出端口OUT可以直接与单片机的IO口连接即可,也可以直接驱动一个5V继电器;连接方式:VCC-VCC;GND-GND;OUT-IO

3、可采用5V直流电源对模块进行供电。 4、电流:20mA 5、有效距离:30CM 6、尺寸:20*10*8MM 7、引线长度:30CM 模块接口说明 红线-正极 黑线-负极 黄线-信号OUT

图2.9 红外对管

2.7、FLASH W25X40

我在W25X40中存了一个ASCII码8*16的字库和一个GB2312 16*16的字库,用于LCD的显示。W25X40 有4M 位串行闪存记忆空间。25 X 系列提供了灵活性和性能远远超过普通串行闪存设备。他们是理想的代码下载应用程序,以及存储语音、 文本和数据。设备操作单 2.7 v 到 3.6 v 电源,活跃状态下电流消耗低至 5mA ,低功耗状态下电流消耗低至1μA 。所有器件均以节省空间的软件包提供。

W25X40阵列被组织成每个 256 字节一个可编程页。256 个字节最多可以使用页面程序指令一次编程。页可以在 16页 (扇区擦除)、256 页(块擦除) 或整个晶片 (芯片擦除) 组中擦除。W25X40有128个可擦除扇区和8个可擦写块。小于4KB的数据在应用程序需要的数据和参数的存储中有更大的灵活性,如图2.10所示。

W25X40支持标准串行外设接口 (SPI),和一种高性能双输出 SPI ,使用四个针脚: 串行时钟、 芯片选择、 串行数据 I/O 和串行数据输出。SPI 时钟频率的 75 MHz 支持允许等效的时钟速率的 150 兆赫时使用快速读取双输出指令。这些传输速率可和 8 和 16 位并行闪存记忆相媲美。[13]

● 串行闪存记忆

18

第2章 系统主要器件介绍

— W25X40: 4 M 位 / 512k 字节 (524,288) — 每可编程页的 256 个字节 — 均匀 4k 字节扇区 / 64k 字节的块 ● SPI 与单或双输出

— 时钟,芯片选择、 数据输入输出,数据输出 — SPI 的灵活性可选保持功能 ● 数据传输到 150 兆位 / 秒 — 时钟操作到 75 兆赫 — 快速读双输出指令 — 自动增量读取功能

● 灵活的体系结构与 4 KB 部门 — 扇区擦除 (4k 字节) — 块擦除 (64k 字节) — 页 256 个字节 ,最长 2ms — 达 100000 个擦写周期 — 保留 20 年 ● 低功耗、 宽 温度范围

— 单 2.7 至 3.6 v 电源供电

— 5mA 活跃电流、 1μA 电源关闭 (typ) —-40 ° 至 + 85 ° C 经营范围 ● 软件和硬件写保护 — 写保护全部或部分的内存 — 启用禁用目录 pin 保护 — 顶部或底部阵列保护 ● 空间高效的包装

— 8 引脚 SOIC 208 mil (W25X40/80) W25X40的指令集如表1所示。

表1 W25X40指令集

图2.10 W25X40器件图

指令 写使能 写禁止 读状态寄存器 第1字节 06h 04h 05h 第2字节 (S7–S0)(1) 第3字节 第4字节 第5字节 第6字节 第n字节 19

第2章 系统主要器件介绍

写状态寄存器 读数据 快速读 页写 01h 03h 0Bh 02h S7–S0 A23–A16 A23–A16 A23–A16 A23–A16 A23–A16 dummy (Next byte) (D7–D0) (Next byte) continuous continuous Up to 256 bytes A15–A8 A7–A0 (D7–D0) A15–A8 A7–A0 dummy A15–A8 A7–A0 (D7–D0) (ID7-ID0)(4) 块擦除 扇区擦除 整片擦除 低功耗 低功耗唤醒/设备ID 制造商/设备ID JEDEC ID D8h 20h C7h B9h ABh A15–A8 A7–A0 A15–A8 A7–A0 dummy dummy 90h 9Fh dummy 制造商 dummy (ID15-ID8) 00h (ID7-ID0) (M7-M0) (ID7-ID0) 注释:

1.数据字节首先转移与最高有效位。字节字段中括号\的数据表明从上做针的设备正在读取的数据。

2.状态寄存器的内容将会重复不断直到 /CS 终止该指令。 3.请参阅制造商和设备标识表的设备 ID 信息。 4.设备 ID 将重复不断直到 /CS 终止该指令。

2.8、EEPROM AT24C02

AT24C02是用来存储触摸屏校准数据,密码和手机号码的,外形如图2.11。 AT24C02是2048位的串行电可擦写可编程只读存储器(EEPROM),组织形式为256字×8位字长。AT24C02B适用于许多要求低功耗和低电压操作的工业级或商业级应用。

AT24C02 特性[14] ? 低压和标准电压操作 — 2.7 (Vcc = 2.7 to 5.5V) ? 内部组织 256 x 8(2K)

20

第2章 系统主要器件介绍

? 2-Wire串行接口

? 施密特除法器,过滤输入,实现噪音抑制 ? 双向数据传输协议

? 1 MHz (5.0V),兼容400 KHz (1.8V, 2.5V, 2.7V) ? 写保护引脚,实现硬件数据保护 ? 8字节页写模式

? 允许页面局部写入 图2.11 AT24C02器件图 ? 自定时写入周期(最大5 ms) ? 高可靠性

— 耐久度:1百万次写周期 — 数据保存:100年

? 8脚 PDIP, 8脚 JEDEC SOIC, 8脚 Ultra Lead Frame Land Grid Array (ULA),5脚 SOT23,8脚TSSOP,和8触点dBGA2封装

2.9、本章小结

本章内容是对设计系统中需要用到的主要器件:核心芯片STM32F103RB、电阻屏控制芯片XPT2046、GSM芯片SIM900A、GSM模块、红外对管、烟雾传感器、W25X40、AT24C02等,都在功能、芯片特性以及各管脚用途等方面做了较为详细的介绍。

21

广东石油化工学院本科毕业(设计)论文:智能家居安保系统设计

第3章 设计方案

3.1、系统框图设计

按照设计思路可分为:STM32F103RB核心部分(主芯片STM32F103RB、电源电路等)、LCD驱动部分、GSM模块、传感器模块等部分。系统框图如图 3.1

手机接收端 GSM模块 电源 传感器 STM32F103RB LCD、触摸屏 LCD显示 触摸屏感知 信 号 源

电源 图 3.1 本设计系统框图

由传感器检测煤气含量超标信号和红外信号,然后将检测到的信号发给

STM32F103RB,芯片检测得到的是什么信号,根据信号的不同选择发送不同的短信给指定手机。手机号码可以通过触摸屏来进行修改。[15]

STM32F103RB:在系统中处于核心地位,它将LCD、触摸屏、传感器、GSM模块等连接起来,实现要实现的功能。

传感器:我在本设计里使用了两个传感器,如果需要还可以添加别的传感器。这两个传感器是,红外对管、烟雾传感器。红外对管在平时输出高电平,当有东西挡着红外线的传输,接收器接收不到信号时,输出低电平。可以用来检测是否有小偷。烟雾传感器,平时输出高电平,当空气中烟雾、可燃气体达到一定浓度时,输出低电平,可以检测是否发生火灾和煤气泄漏。

GSM模块:GSM模块在本设计中起的作用是发短信。当单片机收到传感器传进来的低电平后,判断是哪个传感器传进来的,然后通过串口发出不同的内容给GSM模块,GSM根据发来的信息,将短信发往特定的手机。

LCD、触摸屏:LCD、触摸屏在系统中处于辅助地位,但是它不可或缺。一个产品发报警短信不可能都发给同一个人,如果主人换了手机卡怎么办?这时候LCD、触摸屏就要发挥他的作用了。我们可以通过触摸屏来修改发送目标的手机号码,这样当主人换手机卡后,就可以自己修改要发送的短信到自己手机。当修改完手机号后,新手机号会被存储在EEPROM里以便下次发短信时读取。

电源:开发板上的电源是由芯片AMS1117-3.3V产生的,它将USB的5V电压转化

22

第3章 设计方案

为3.3V电压供开发板使用。GSM模块的12V电源和传感器的5V电源是由独立电源提供。

3.2、传感器的选择

目前,用于家庭防盗的传感器主要是两种方案,红外线与声音传感器。于是便分别对这两种方案进行对比。

方案一、声音传感器

声音传感器是用来接收声波,声振动图像显示设备,其作用就像一个麦克风(话筒)的方法,但你不能测量噪声的强度。传感器包含一个声音敏感的驻极体电容式麦克风。使得内膜驻极体麦克风的声振动,从而导致电容的变化,其产生在电压相应小一点的变化。

方案二、红外对管

红外对管由红外发射管和光敏接收管,或红外线接收管组成,或者用一般一起使用的红外接收器。由红外线发光二极管的光发射器的时刻组成红外线发射,在PN结形成的具有高效率的红外辐射材料(常用的GaAs),PN结的正向偏置注入电流激发红外光,光谱功率分布中心波长830?950nm。 LED发光二极管的英文缩写,性能的正温度系数,更大的电流温度越高,温度越高的电流就越大,LED红外光的功率的电流的大小,但是当正向电流超过最大额定值,红外光发射功率下降。红外线接收管是具有感光属于光电二极管,一个单向导电性PN结的特性,因此,需要与反向电压一起工作。当没有红外辐射,有一个小的反向漏饱和电流(暗电流)。此时,光电二极管不导通。当光饱和立即反向漏电流增加时,光电流的形成,在一定范围内随入射光强度的增加内。

综合两种方案,方案一使用声音传感器,方案二使用红外对管。声音传感器接受范围广,但是它容易出现错误判断,比如当外面汽车鸣笛,窗户没有关,声音会很响,就有可能触发声音传感器,造成错误。红外对管,测定一条直线上是否有遮挡物,简单易懂方便操作,不易产生误操作。所以选择方案二,红外对管。

3.3、本章小结

本章介绍了设计总体框图,用框图的形式将设计划分了STM32F103RB核心部分、GSM部分、LCD部分等模块。接着,着重介绍传感器的方案选择,并且描述了红外对管、声音传感器的对比和应用原理,辩证得出选用红外对管更加适用于本设计。

23

第4章 系统软硬件设计

第4章 系统的软硬件设计

4.1、系统程序设计流程图及主要程序

采用STM32F103RB单片机为核心和使用任意手机作为短信接收端,实现有异常情况时的短信报警功能。首先单片机进行初始化,包括单片机每个端口,每个变量的初始化以及LCD模块的初始化。由传感器检测煤气含量超标信号和红外信号,然后将检测到的信号发给STM32F103RB,芯片检测得到的是什么信号,根据信号的不同启用不同的子程序选择发送不同的短信给指定手机号。手机号码可以通过触摸屏来进行修改。下面图4.1是主程序设计流程图[16]。

图4.1 系统主程序流程图

24

第4章 系统软硬件设计

系统主循环函数见附录:

根据系统主程序流程图,软件部分可以分为三部分,分别是初始化、LCD显示及手机号码修改函数、短信报警函数。各部分的程序分别是:

4.1.1、系统初始化函数

systick_init();//系统嘀嗒定时器初始化

usart1_init(72000000,115200);//串口初始化时钟72M 模特率115200 SPI_Flash_Init();//W25X40初始化 LCD_Init();//LCD初始化

LCD_LED = 0;//lcd背光 1亮 0灭 key_init();//按键初始化 led_init();//LED初始化 IIC_Init();//24C02初始化 Init_Touch();//触摸屏初始化 gpio_Init();//传感器使用引脚初始化

由初始化函数我们可以看出在本系统中我使用了系统嘀嗒定时器,串口1,flash W25X40,LCD屏,触摸屏,按键,LED灯,EEPROM 24C02,传感器。

系统嘀嗒定时器是用来做延时函数用的,delay_s();delay_ms();delay_us();都是使用系统嘀嗒定时器。

flash W25X40是用来存储字库的,在LCD上显示的字母、汉字都存在W25X40里。 LCD屏用来显示。

触摸屏用来输入手机号码和密码。 按键用来选择模式。 LED灯用来指示状态。

EEPROM 24C02用来储存触摸屏校准数据、密码、手机号码。 传感器用来检测有无异常。

4.1.2、LCD显示及手机号码修改函数

由于本函数太长在这里只显示修改手机号码的函数,具体函数见附录。按下KEY0按键LCD屏会亮起来,按下LCD屏上的“修改号码”可以进入本函数,由函数可知道,首先要输入密码,输入密码后,当按下“确认”按钮,比较输入密码和EEPROM里存的密码,如果一样就可以修改手机号码,否则要重新输入。输入手机号码后,当按下“确认”按钮,如果号码长度是11位就把他保存到EEPROM里,否则重新输入。当手机号码保存成功,LCD显示屏会自动暗下来[17]。

25

第4章 系统软硬件设计

4.1.3、短信报警函数

函数内容见附录,首先处理要发送的信息(从EEPROM里读取手机号码,替换短信内容中的手机号码),然后发送\,设置GSM发短信模式为PDU模式;然后发送\设置要发短信的长度(其中39是短信的长度,根据自己需要改变);然后发送要发送的短信内容;最后发送Ctrl+Z\\r\\n(ASCII中的26)结束发送。

4.2 、STM32F103RB开发板系统

本设计中的设计的核心芯片是STM32F103RB单片机,接线方法如图4.2所示。

图4.2 STM32F103RB芯片接线图

由图中可以看出芯片的接线方法

PA:0重启按键;1、2 LED灯;4-7 flash的SPI接口;9、10 串口;13-15 JLINK接口 PB:0-15 LCD数据接口;8、9 EEPROM的IIC接口

PC:2、3 按键;5 LCD背光;6 触摸屏笔中断;7 触摸屏片选;9 LCD读数据;10 LCD写数据;11 LCD数据/命令;

26

第4章 系统软硬件设计

PD2:LCD片选端口

4.2.1、电源

AMS1117-3.3是一个正向低压降稳压管,在输出电流为1A时压降为1.2V。它的固定电压3.3V输出电流为 1A线路调整率:0.2%(最大)负载调整率:0.4%(最大),内含静态电流限制、过热保护芯片的接线方法如图4.3所示。

图4.3 电源芯片接线图

输入端输入USB电压(5V),输出电压为3.3V。为单片机、LCD等芯片模块供电。图中电容C201、C202为输入稳定电容,作用是减小纹波、消振、抑制高频和脉冲干扰。电容C203、C204为输出稳定电容,作用是改善负载的瞬态响应。

4.2.2、触摸屏模块

图4.4 XPT2046原理图

XPT2046是四线电阻式触摸屏控制芯片,深圳市矽普特科技有限公司研发的阻触摸屏控制芯片,它被广泛应用于触摸屏驱动。在XPT204611引脚对引脚单片机的中断引脚,触摸屏不是触摸时,11引脚高举,当触摸屏被触摸时,11引脚变为低电平。因此

27

第4章 系统软硬件设计

11针单片机检测到高有低,你可以知道有没有触摸屏的触摸事件发生。如果触摸屏被按压事件发生时,通过SPI端口的微控制器,它首先发送一个读命令X坐标0×90,则读出的两字节的数据,然后发送命令读取Y坐标0XD0,然后读出2字节的数据。此时,XY坐标值就知道了,因为XPT2046是12位精度的ADC,所以读取两个字节,只有高12有效数据。[18]

XPT2046的接线原理图如图4.4所示,其中的2,3,4,5脚名称为XP,YP,XN,YN。 P是Positive的缩写,“正”的意思; n为Negative的缩写,“负”的意思。所以有时候,你会看到被写为X +,Y +,X-,Y-的引脚名称。这四个引脚被连接到触摸屏四个引脚。 XPT2046与单片机的SPI连接。分别为引脚16:SPI_CLK(SPI时钟引脚);引脚15:SPI_CS(使能引脚或称为片选);引脚14:SPI_MOSI(数据输入引脚);引脚12:SPI_MISO(数据输出引脚)。接好后就可以了。

4.2.3、EEPROM AT24C02模块

图4.5 AT24C02原理图

AT24C02 是 2k 数字串行CMOS EEPROM ,内部包含 256*8 个字节,因为使用了先进 CMOS技术大大降低了功耗。AT24C02 有一个 8 个字节的页写入缓冲区。操作通过 IIC 总线接口设备,还有一种特殊写保护状态。

IIC 总线是一种串行总线由费利浦推出,可以使用在有多个主机的系统中,而且包含有高低速同步功能和总线仲裁设备两种功能的高性能串行总线。如图4.5所示只有两个双向的 IIC 总线信号线。一根是数据线SDA,即是引脚5,另一根是时钟线SCL,即是引脚6。

IIC总线必须连接到正电源使用上拉电阻。当总线空闲时,两条线都是高电平。接到BUS上的任何设备输出低电平总线上,BUS的信号都会变低,即每个器件的SDA和SCL的关系是“与”。实验取RP =100K,比电阻根据所需信号的陡度,通常是在电阻较小的时候,上升沿的崛起越陡

IIC总线的数据传送[19]

数据位的有效性规定:IIC总线进行数据传送的时候,在时钟信号为高电平的期间,数据线上的数据必须保持稳定,只有在时钟线上的电平为低电平期间,数据线上的高电

28

第4章 系统软硬件设计

平或低电平状态才允许变化,如图4.6所示。

图4.6 I2C有效数据位

起始和终止信号:在SCL线为高电平的期间,SDA线由高电平到低电平的变化(即下降沿)表示起始信号;在SCL线为高电平期间,SDA线由低电平到高电平的变化(即上升沿)表示终止信号,如图4.7所示。

图4.7 I2C起始与终止信号

数据传送格式:

字节传送与应答:每一个字节必须保证是8位长度。数据传送时,先传送最高位(MSB),每一个被传送的字节后面都必须跟随一位应答位(即一帧共有9位),如图4.8所示。

图4.8 I2C字节传送与应答

在总线的一次数据传送过程中,可以有以下几种组合方式:

a、主机向从机发送数据,数据传送方向在整个传送过程中不变,如图4.9所示。

图4.9 主机写方式

注:有阴影部分表示数据由主机向从机传送,无阴影部分则表示数据由从机向主机传送。A表示应答,A非表示非应答(高电平)。S表示起始信号,P表示终止信号。

29

第4章 系统软硬件设计

b、主机在第一个字节后,立即从从机读数据,如图4.10所示。

图4.10 主机读方式

c、在传送过程中,当需要改变传送方向时,起始信号和从机地址都被重复产生一次,但两次读/写方向位正好反相,如图4.11所示。

图4.11 主机读写混合方式

4.2.4、FLASH W25X40模块

图4.12 W25X40原理图

引脚FLASH_CS是使能和禁用芯片W25X40的操作位。当FLASH_CS位输入高电平时,芯片被禁用,SPI1_MISO引脚为高阻抗,此时,如果器件内没有正在擦除、编程或处于状态周期进程,在此期间芯片将处于待机状态。当FLASH_CS位为低电平时,使能芯片,此时功耗增加到激活水平,这时就可以进行芯片的读写了。上电后,执行一条新指令之前必须使FLASH_CS引脚先产生一个下降沿。W25X40连接方法如图4.12所示,SPI1_CLK是时钟引脚,为输入输出提供时序。SPI1_MISO是数据输出引脚,在SPI1_CLK下降沿时输出数据。SPI1_MOSI是数据输入引脚,SPI1_CLK上升沿时采集数据,数据、地址和命令通过本引脚进入芯片内部

[20]

W25X40访问通过SPI兼容总线组成的四路信号:串行时钟,芯片选择

(FLASH_CS),串行数据输入(SPI1_MOSI)和串行数据输出(SPI1_MISO)。支持两个SPI总线操作模式0(0,0)和3(1,1)。模式0和模式3的主要区别是当SPI主机SPI接口处于空闲状态时,SPI1_CLK是高电平还是低电平,当SPI总线主控处于待机状态和数据不会被传输到串行闪存。SPI1_CLK信号为低在模式0,模式3的时钟信号是高。两种模式都是在下降沿时输出数据,上升沿时输入数据。

下面对芯片的几个常用命令的使用进行说明讲解。

30

第4章 系统软硬件设计

写使能的指令是向状态寄存器WEL位写1。WEL位必须在每个页面程序、扇区擦除块擦除,芯片擦除、写状态寄存器之前设置。写启用由驾驶/CS低,输入指令转移指令码\到数据输入(DI)引脚上的时钟,然后驾驶/CS 高的上升沿,如图4.13所示。

图4.13 SPI写使能

写禁止指令复位写使能在状态锁存器(WEL)位为0。写入禁止指令前/ CS被拉低,转移指令代码“04H”到DIO脚,然后进入驾驶/ CS高。请注意,WEL位后,上电和写状态寄存器,页编程,扇区擦除,块擦除和芯片擦除指令完成后自动复位,如图4.14。

图4.14 SPI写禁止

读数据指令允许一个或多个数据字节被顺序地从存储器中读出。该指令先写/ CS引脚为低电平,然后发送指令代码“03H”接着是24位地址(A23-A0)到DIO引脚启动。代码和地址位被锁止在CLK引脚的上升沿。在接收到地址后,寻址的存储单元的数据字节将被移出DO引脚在CLK的下降沿,高位在前。当读到这个数据的地址时自动递增到下一个更高的地址数据的每个字节之后被移出允许连续的数据流。这意味着整个存储器可以用一条指令,只要时钟继续进行访问。/ CS拉高读数据完成。读数据的指令序列示于下图。如果读数据指令被发出时的擦除,编程或写周期是在过程(BUSY = 1)的指令被忽略,不会对在当前周期中的任何影响,见图4.15。

该块擦除指令集内的指定块(64K字节)所有内存为全1(FFH)的擦除状态。允许写入指令必须执行之前的设备将接受块擦除指令(状态寄存器WEL位必须等于1)。该指令先把/ CS引脚拉低,转移指令代码发起的“D8H”跟着一个24位块地址(A23-A0)(见图4.16)。该块擦除指令序列如下图所示的/ CS引脚必须在最后一个字节的第八位之后拉高。如果不这样做,块擦除指令不被执行。块擦除周期正在进行中,在读状态寄存器指令仍可以访问的检查忙位的状态。 块擦除周期中1,当循环完成了BUSY位是0,

31

第4章 系统软硬件设计

设备已准备好再次接受其他指令。经过块擦除周期已经完成了写使能状态寄存器清零。

图4.15 SPI读数据

图4.16 SPI块擦除

4.3、本章小结

本章是智能家居控制系统的设计部分。首先介绍了系统总体程序设计流程图以及部分程序,接着介绍由STM32F103RB单片机和电源芯片AMS1117-3.3,LCD屏组成的系统核心板模块以及系统设计原理图的连线图。然后,讲解了AT24C02工作需要的IIC时序和W25X40工作需要的SPI时序。

32

附 录

第5章 系统软硬件实现

5.1、硬件电路

硬件电路主要由三大部分组成:STM32F103RB单片机开发板、GSM模块、传感器部分。STM32F103RB单片机开发板原理图如图4.2~4.5, 4.12和5.1~5.3,GSM模块设计原理图如图5.10,传感器模块电路原理图如图5.8~5.9。根据原理图分别导出PCB如图5.11、图5.12

图5.1 开发板LCD原理图

结合图5.1和图4.2可以看出LCD的数据接口DB是STM32F103RB的PB0~15。LCD_CS是PD2,LCD_RS是PC12,LCD_WR是PC11,LCD_RD是PC10,背光BL是PC5。

图5.2 开发板调试接口、串口接口原理图

33

附 录

结合图5.2和图4.2可以看出JTAG连接在控制芯片的PA13~PA15和PB3,PB4。串口USART连接在PA9和PA10上。因为JTAG的JTDO和JTRST引脚和LCD共用,所以使用JTAG时不能使用LCD,使用LCD时不能使用JTAG。

图5.3 开发板发光二极管、按键原理图

结合图5.3和图4.2可以看出D503是电源指示灯,S502是重启按键,LED0接在PA1,LED1接在PA2,KEY0接在PC2,KEY1接在PC3。

图 5.4 GSM模块原理图

GSM模块通过串口和STM32F103RB相连,当需要数据传输时,STM32F103RB使用串口控制GSM模块。注意:STM32开发板和GSM模块共地。

34

附 录

图5.11 开发板PCB图

图5.12 GSM模块PCB图

35

附 录

5.2、系统测试

系统测试分为两个步骤,元件单独检测和系统整体测试。

元件单独检测,包括电路板制作完成后,通电调试前认真检查电路连线是否有误。检查时边对照原理图边按照电路板上模块顺序逐级对应检查。特别注意电源是否接错,电源与地是否有短接,元件焊接是否焊接错,是不是有短路和断路现象。用万用表检查各借口处、元件焊接处是否有虚焊的情况。给系统上电后,看下电源指示灯亮不亮。假如不亮,就要检查电源指示灯发光二极管的好坏。还要检查各路供电是否正常。用万用表检测各个电路间、器件的电压是否输出预期电压。

系统整体测试是在STM32D103RB开发板、GSM模块、传感器各个部分完成相应功能后进行的整合。以便考虑到各部分工作协调性和兼容性。

首先给各个模块供电,将红外对管输出端接到开发板的PC8引脚,将烟雾传感器输出端接到PC9引脚,GSM模块接到串口上,需要注意的是:传感器、开发板和GSM模块一定要共地。

检查了单片机与各模块之间的连接,以及电机驱动与电机的连接都没有出错的情况下,检查供电是否正常,打开给各个模块提供的电源以及打开给传感器提供的另一个5V电源。

检查了各个模块的电路板没有问题以后,便可以开始进行安防系统的组装。

图5.13 ST32F103RB开发板正面

36

附 录

图5.14 STM32F103RB开发板反面

图5.15 GSM模块正面

37

附 录

图5.16 GSM模块反面

图5.17 红外对管 烟雾传感器正面 烟雾传感器反面

图5.18 连接好后图片

图5.13~图5.17是各个模块的展示,图5.18是各个模块连接好后的效果图。 在GSM模块上装上茂名移动的SIM卡,打开开发板、GSM模块、传感器电源,

38

附 录

长按GSM开机键三秒钟,当指示灯闪烁,说明开机成功,这时就可以发短信了。

烟雾传感器需要预热二十秒,二十秒后就可以正常工作了,这时按下KEY1打开防盗报警开关,再按一下是关闭。打开防盗报警开关,这时如果有东西在红外对管之间,挡住了红外对管的传输,就会向设定好的手机,发送“主人,家里来小偷了!!!”的报警信息,向设定好的小区保安手机发送“888栋666号住户,家里进小偷了!!!” 的报警信息。如果检测到烟雾传感器发来的烟雾超标信号,就会向设定好的手机,发送“主人,家里煤气泄漏了!!!”的报警信息,向设定好的小区保安手机发送“888栋666号住户,家里煤气泄漏了!!!”的报警信息。

本系统可以修改要发报警短信的目标的手机号码,只有在没有报警信息或发送报警信息后一分钟且没有新的报警信息时,才可以修改手机号码。修改手机号码时,首先按下按键KEY0,进入修改密码、手机号码模式。按下KEY0,LCD屏会亮起来并显示按键盘,可以选择修改密码还是修改手机号码。修改密码,需要先输入旧密码,再输入新密码,且密码必须是六位的。修改手机号码,需要先输入密码,再输入手机号码,手机号码必须是11位才会保存。不管是修改密码还是修改手机号码,修改完成保存后,LCD屏都会在1秒后变暗。这时已经开始检测是否有煤气泄漏,如果防盗报警已打开,也会检测是否有小偷出现。

5.3、测试结果

图5.19 用户接收到的短信 保安接收到的短信

系统连接好后,通电预热传感器20秒,将打火机对着烟雾传感器放气,这时烟雾传感器丁烷超标,信号输出端会输出低电平,开发板检测到这个低电平,就会发送短信“主人,家里煤气泄漏了!!!” ,向设定好的小区保安手机发送“888栋666号住户,家里煤气泄漏了!!!”。然后按下按键KEY0,这时防盗报警被打开,LED0会亮起来,这时当红外对管中间有东西挡住时,即接收管接收不到发射管发射的红外线时,黄色数据输出端会输出低电平,当开发板检测到这个低电平,会发送第二条短信“主人,家里来小偷了!!!”, 向设定好的小区保安手机发送“888栋666号住户,家里进小

39

附 录

偷了!!!” 的报警信息,如图5.19所示。

5.4、本章小结

本章主要介绍了由STM32F103RB单片机开发板、GSM模块、传感器模块组

成的系统完成后硬件电路板包括原理图和PCB图。接着阐述从硬件到软件的测试,以确保硬件电路和焊接无误以及硬件模块之间相互兼容、软件正常使用。并且介绍了硬件的连接方法。最后,阐述了短信报警的过程和修改密码、手机号码的过程。

40

附 录

附 录

系统主循环函数:

while(1) {

char flag = 0;

int i = 0;

if(key_00())//按键0,按键按下为1,松开即为0 { LCD_LED = 1;//lcd背光 1亮 0灭 Drow_LCDKey(); change_password();//修改密码和手机号码 LCD_LED = 0;//lcd背光 1亮 0灭 }

if( key_1())//按键1,按一下为1,再按一下为0 { led0_on();//开启防盗报警标志 if(!(GPIOC->IDR & (1<<8)) )//PC8 红外对管 触发时为低电平 { delay_ms(5);//去抖动 if(!(GPIOC->IDR & (1<<8)) )//PC8 红外对管 触发时为低电平 { led1_on(); //当有小偷时,LED1亮 flag = send_chinese_sms1(); for(i=0;i<60;i++) //延时60秒 { delay_s(1); } } else { led1_off(); //当没有小偷时,LED1灭 } } } else { led0_off(); }

if(!(GPIOC->IDR & (1<<9)))//PC9 烟雾传感器 触发时为低电平

41

附 录

}

{ }

delay_ms(5);//去抖动

if(!(GPIOC->IDR & (1<<9)))//PC9 烟雾传感器 触发时为低电平 { send_chinese_sms2(); //发短信 for(i=0;i<60;i++) //延时60s {delay_s(1);} }

LCD显示及手机号码修改函数

char Flag = 0;//是否已经输入旧号码 1已输入 u8 lcdkey = 0xff;

u16 xpos = 0,ypos = 0; u8 databuff[20] = {'\\0'}; u8 strresult;

u8 oldkeyword[20] = {'\\0'};

AT24CXX_Read(190,oldkeyword,6); while(1) {

if(!(GPIOC->IDR&(1<<6)))//确保你按下触摸屏 { GetXPT2046_AdjustXorY(&xpos,&ypos); lcdkey = Touch_LCDKey(xpos,ypos); Get_LCDKeyVal(lcdkey,databuff); LCD_ShowKeyWord((240-8)/2,50,databuff,0,0xffff); if(keywordcnt > 12) { keywordcnt = 0; memset(databuff,'\\0',20 );//清空计数 已填写号码 LCDShow_Font(0,27,\长度过长,请重新输入: \ Clear_Rectangle(37,44,203,74,0xffff); } if(lcdkey=='*') { if(Flag == 1) { if(keywordcnt == 11) { LCDShow_Font(0,25,\保存号码成功!! \ Clear_Rectangle(37,44,203,74,0xffff); AT24CXX_Write(200,databuff,11);//将手机号码存到EEPROM

42

附 录

里,地址200,长度11

Flag = 0; keywordcnt = 0; memset(databuff,'\\0',20 );//清空计数 已填写号码 delay_ms(1000); return ; } else { LCDShow_Font(0,25,\号码错误!请重新输入: \ keywordcnt = 0; memset(databuff,'\\0',20 );//清空计数 已填写号码 delay_ms(1000); Clear_Rectangle(37,44,203,74,0xffff); databuff[keywordcnt] = '\\0'; } } strresult = strcmp((char *)databuff,(char *)oldkeyword); if(strresult==0) { keywordcnt = 0; memset(databuff,'\\0',20 );//清空计数 已填写号码 Flag = 1; LCDShow_Font(0,27,\请输入新的号码: \ Clear_Rectangle(37,44,203,74,0xffff); } } } }

短信报警函数

u8 send_chinese_sms1(void) {

u8 mark = 0; handle_sms(sms1); send_string(sms0); mark = send_cmd(\if(SUCCESS == mark) {

mark = send_cmd(\模式

if(SUCCESS == mark) {

43

附 录

send_string(\发短信的长度 rec_sms1_str(sim_data);//接收\\r\\n rec_sms2_str(sim_data); send_string(sms1); delay_ms(500); send_string(sms0); rec_sms1_str(sim_data); rec_sms1_str(sim_data); if(sim_data[0] == '+') return SUCCESS;

}

}

return FAIL;

}

44

附 录

send_string(\发短信的长度 rec_sms1_str(sim_data);//接收\\r\\n rec_sms2_str(sim_data); send_string(sms1); delay_ms(500); send_string(sms0); rec_sms1_str(sim_data); rec_sms1_str(sim_data); if(sim_data[0] == '+') return SUCCESS;

}

}

return FAIL;

}

44

本文来源:https://www.bwwdw.com/article/abko.html

Top