智能家居传感网络控制器的设计.docx
本科毕业设计(论文)智能家居传感网络控制器的设计付华燕 山 大 学 2015年6 月 本科毕业设计(论文)智能家居传感网络控制器的设计学 院:里仁学院 专 业:智能家居传感网络控制器的设计 学生 姓名:付 华 学 号:111308061348 指导 教师:卢辉斌 答辩 日期:2015年6月23日 燕山大学毕业设计(论文)任务书 学院: 里仁学院 系级教学单位:电子工程系 学号111308061348学生姓名付华专 业班 级11电信5班题目名称智能家居传感网络控制器的设计题目性质1.理工类:工程设计 ( );工程技术实验研究型( );理论研究型( );计算机软件型( );综合型( )2.管理类( );3.外语类( );4.艺术类( )题目类型1.毕业设计( ) 2.论文( )题目来源科研课题( ) 生产实际( )自选题目( ) 主要内容1 学习E-HOME的基本实现方法2 了解目前E-HOME的基本功能3 设计具有自己特色的E-HOME系统4 总体方案设计与说明基本要求1 掌握网络技术在E-HOME的应用2 完成控制器的设计3 完成功能设计与实现方法 参考资料1 单片机原理2 微机原理3 网络技术4 模拟与数字电子技术周 次第14周第5 8周第912周第13 16周第1718周 完成的内容资料准备,整体设计完成.开题报告原理设计程序设计与调试中期检查总体实验与系统形成论文撰写,答辩指导教师:卢辉斌职称: 教授 2015年3月1 日系级教学单位审批: 2015 年 月 日摘 要I摘 要随着数字化技术取得迅猛发展并渗透到各个领域,电子信息技术,控制技术的日益提升,社会信息化的逐步加快,促使人们的生活、工作、学习以及通讯的关系日渐紧密,人们对住房的要求早已不再只是简单的物质空间,更为关注的是一个高度安全、舒适以及美观方便的居住环境,先进的通信设施,完备高效的信息终端,自动、智能的家电,网络化的资源管理等等。如今社会人们日益增长的需求使得家居智能化已经成为一种趋势。智能家居系统是涵盖智能控制、电子技术、通信技术、传感器技术等学科前沿的热点研究领域,其研究与应用具有巨大的理论和现实意义。本文设计了一种基于嵌入式微处理器STM32单片机的智能家居系统的控制方法,实现了智能家居系统的智能控制。文中详细地介绍了智能家居系统的控制原理,设计了智能家居系统的控制电路、电源电路和各个模块的电路,重点进行了单片机控制电路的设计与程序的编写。采用PCB专业绘制软件Altium Designer 绘制了原理图和PCB图,并且进行打样制作出了硬件电路;采用ESP8266无线模块对控制系统的信息进行远程无线通信,可以实现远程无线监控;采用MQ-7型一氧化碳气体传感器家居各个房间进行对一氧化碳气体浓度的监测;采用keil Vision4作为STM32单片机的编程软件。最终实现了智能家居控制系统的设计。关键词 智能家居; 单片机; MQ-7 ; 无线通信AbstractAbstractWith digital technology has made rapid development and penetration into all areas ,the rising of electronics and information technology, control technology, information society gradually accelerate have prompted people's lives, work, learning to closely communication , people housing requirements are no longer simply a matter of space, but more attention is a highly secure, comfortable and convenient and beautiful living environment,for example advanced communication facilities, complete and efficient information terminals, automated, intelligent home appliances, network resource management,and etc . The growing needs of society makes intelligent home has become a trend today. Smart home system is a hot area of research covered the frontier of intelligent control, electronic technology, communication technology, sensor technology. Its research and applications has great theoretical and practical significance.This paper presents a control method of smart home system based on an embedded microprocessor STM32 microcontroller to achieve the intelligent control of the smart home system. This paper describes the principles of smart home control systems , the design of the control circuit, the power supply circuit and each module circuit smart home system in detail, focusing on the preparation of the MCU control circuit design and application. Using professional software Altium Designer draw PCB map and schematic, and proofing produced a hardware circuit; Using ESP8266 wireless module for remote wireless communication information of control system, can realize remote wireless monitoring; MQ-7-type carbon monoxide Household gas sensors is used in each room to monitor the concentration of carbon monoxide gas; STM32 microcontroller programming software is Keil Vision4 . And ultimately the design of intelligent home control systems.Keywords Smart home; Microcontroller ;MQ-7 ;Wireless communicationIII目 录摘 要IAbstractIII第1章 绪 论11.1 课题背景及意义11.2 目前的研究现状21.2.1 国外的发展现状21.2.2 国内的发展现状31.3 本论文的主要内容4第2章 智能家居系统总体结构的设计72.1 智能家居系统的设计要求72.2 智能家居系统的功能72.3 智能家居系统的总体结构82.4 主控芯片STM32介绍92.4.1 STM32的内核简介92.4.2 中断管理102.4.3 系统的滴答定时器112.4.4 电源控制122.4.5 时钟132.4.6 通用和复用功能IO132.4.7 中断和事件142.4.8 模拟/数字转换(ADC)152.4.9 定时器162.5 本章小结17第3章 智能家居系统硬件电路的设计193.1 控制芯片电路的设计193.2 稳压电源设计233.2.15V稳压芯片7805简介233.2.2 LM7805特性243.2.3 LM7805典型应用电路243.2.4 LM1117简介243.2.5 LM1117特性253.2.6 LM1117典型应用电路253.3 一氧化碳传感器电路的设计263.4 WiFi模块电路的设计263.5 单片机与PC机通信电路293.6 本章小结30第4章 智能家居系统程序的设计314.1 程序语言的选择314.2 软件开发环境及程序实现314.2.1开发环境314.2.2新建工程314.2.3基于STM32_V3.5固件库的程序开发324.2.4固件库重要头文件解析324.3 程序的设计思路334.4 主函数程流程图334.5 本章小结34第5章 硬件电路的制作与调试355.1 Altium Designer软件简介355.2 Altium Designer软件界面355.3 系统主控部分PCB图365.4 系统主控部分电子元件的焊接385.5 系统运行效果图395.6 本章小结39结 论41参考文献43致 谢45附录1 47附录2 51附录3 55附录4 65V第1章 绪论第1章 绪 论1.1 课题背景及意义进入21世纪后,数字化技术取得迅猛发展并渗透到各个领域,电子信息技术,控制技术的日益提升,社会信息化的逐步加快,促使人们的生活、工作、学习以及通讯的关系日渐紧密,信息化社会在改变人们生活习惯和工作方式的同时,也对我们的传统住宅提出了挑战。我们很容易的发现,人们对住房的要求早已不再只是简单的物质空间,更为关注的是一个高度安全、舒适以及美观方便的居住环境,先进的通信设施,完备高效的信息终端,自动、智能的家电,网络化的资源管理及购物方式等等。如今社会人们日益增长的需求使得家居智能化已经成为一种趋势。智能家居1系统的概念起源于上世纪70年代的美国,随后,传播到欧洲、日本等国并且得到了很好的发展。在我国,智能家居这一概念推广比较晚,智能家居系统进入我国的时间大约在90年代末,至今已存在相当数量的智能化小区及住宅,发展速度非常惊人。所谓的智能家居系统是现代电子技术、自动化技术及通信技术相结合的产物。它能够自动控制和管理家电设备,对家庭环境和安全进行监控、报警,并且能够为住户提供安全舒适、高效便利的学习生活及工作环境2。智能家居系统将家庭中各种与信息相关的通信设备、家用电器以及家庭保安装置通过有线或无线的方式连接起来,并进行集中或异地的监控、管理,保持家庭住宅环境的舒适、协调和安全。与普通的家居相比,智能家居不仅具备传统的居住功能,提供舒适温馨,高效安全的高品位生活环境,还将一个被动静止的居住环境提升为一个有一定智慧协助能力的体贴的生活帮手,进一步优化住户的生活质量。当智能家居提供与外界信息交互的通道后,可以实现与外部世界信息沟通,满足远程控制。检测和减缓信息的需求满足人们生活需要的个性化智能系统,优化了生活方式,提高家居的安全性。随着信息化进程的快速发展,人们生活条件的改善,智能家居也将会做到实用、易用、人性化,最终目的都是为满足人们对安全、舒适、方便和符合绿色环境保护的需求,真正提高人们的生活品质,营造更加舒适的家居生活3。许多国家先后提出了不同的智能家居方案,例如,早期新加坡模式的智能化家居系统包括:安防报警、可使对讲、三表抄送、监控、家居控制、智能布线箱、宽带网络接入等。而现今的智能化家居系统拥有更加优越切复杂的配置。例如网上购物、远程报警、紧急求助等新功能就是根据现在社会的发展和人们日益暴涨的需求而开发设计的。随着科技的提高,经济的发展,人们的物质生活水平的提高,对家居环境的要求也越来越高,作为家居智能化的核心部分智能家居控制系统也越发显得重要。家居智能化控制系统的开发和建设是未来国家、经济发展的必然趋势。因此研究智能家居控制系统有着重大的现实意义。1.2 目前的研究现状 1.2.1 国外的发展现状 1984年,世界上第一幢智能建筑在美国康涅迪格州落成,这栋意义非凡的建筑只是对一座旧式大楼的一定程度的改造完成的。它只是采用计算机系统对大楼的空调、电梯、照明等设备进行监控,并提供语音通信、电子邮件、情报资料等方面的信息服务4。2000年,新加坡有将近30个社区的约5000用户家庭采用了这种家庭智能化系统,而美国的安装住户高达4万户。2003年,网络化家居的建设带来了高达4500亿美元的市场价值,这其中有3700亿美元是智能家电硬件产品的价值,剩余的部分则是软件和技术支持服务的费用。现在,国外的智能家居系统技术己日趋成熟。 在智能家居系统的研发方面,美国及一些欧洲国家一直处于领先的地位。近年来,以美国微软公司和摩托罗拉公司等为首的一批国外知名企业,先后挤身于智能家居系统的研发中。例如:微软公司开发的“梦幻之家”、摩托罗拉公司开发的“居所之门”、IBM公司开发的“家庭主任”等均已日趋成稳得技术抢占智能家居市场5。此外,日本、韩国、新加坡等国的龙头企业纷纷致力于家居智能化的研究和开发,对家居市场更是跃跃欲试。 目前市场上出现得智能家居控制系统主要有6: (1) X-10系统(美国),该系统是利用电力线作为网络平台,采用集中控制方式实现。这套系统的功能较为强大,与其它家居控制系统如ABB、C_BUS等比起来更容易接收,使用也相对简单。因为实现同样的功能,X-10家居控制系统是利用220v电力线将发射器发出的X-10信号传送给接收器从而实现智能化的控制,因此采用这套系统不需要额外的布线,这也是这套系统的最大的一个优势,因为其它系统基本上都需要布低压线,在墙上或地面开槽、钻孔,施工难度大、费用高、工期长。但由于缺乏在国内市场推广的条件且价格昂贵,该系统在国内应用极少。(2) EIB系统(德国),该系统采用预埋总线及中央控制方式实现控制功能。但由于其工程要求非常复和严苛,并且价格比较高,因此一直无法打开国内的市场。 (3) 8X系统(新加坡),该系统采用预处理总线跟集中控制方式来实现功能。它的优点在于利用的产品对系统进行扩展,系统较为成熟,比较适合中国国情。但是由于系统架构、灵活性及产品价格等方面还难以达到要求,所以目前在国内还较少应用。 1.2.2 国内的发展现状20世纪90年代后期,我国的智能小区日益兴起。众所周知,我国的智能化住宅建设最早起于上海、广州和深圳等沿海城市,并逐渐向内陆发展。在97香港回归之际,在建设部“97跨世纪住宅小区案竞赛活动”中,上海中皇广场被建设部科技委员会列为全国首家“智能住宅示范工程”,揭开了全国智能小区发展的序幕。1999年,建设部勘察设计司、建设部住宅产业化办公室联合组织实施全国住宅小区智能化技术示范工程,标志着我国住宅小区智能化进入了一个新阶段7。随着网络信息化走进了千家万户,由国家经贸委牵头成立了家庭信息网络技术委员会,并且信息网络技术体系研究及产品开发也已经被列为了国家技术创新的重点专项计划。据建设部要求,截止今年,我国将有70%以上的家庭拥有Internet入网设备,大中城市中50%的住宅要实现智能化。我国的智能家居化相对于国外起步较晚,所以尚未形成一定的国家标准。目前,主要采用国外的一些技术和产品,但也有一些企业推出了自己的产品,主要有: (1) e家庭(海尔),该系列产品以海尔电脑作为控制中心,各种网络家电作为终端设备,海尔移动电话作为移动数字控制中心。海尔在技术上同微软合作,利用微软的Windows Me技术和海尔的网络家电,使“e家庭”已具雏形,已推出了网络洗衣机、网络冰箱、网络空调、网络微波炉等一系列网络家电。(2) e-home数字家园(清华同方),该智能家居控制系统是专门针对中国家庭设计的,遵循国际技术标准,采用嵌入式软、硬件技术,提供网络、网络节点及末端设备。产品以功能模块开发为主,基于国外成熟的智能家居标准之上。其智能家居控制系统主要有以下三个部分:A系列:遵循EIB协议的家庭控制产品,适用于中高档住宅区。 B系列:遵循X-10协议的家庭控制产品,适用于中档住宅区。 易家三代:配电箱集中安装式得家庭控制产品。 国内各大软、硬件机构正在积极的研制、开发更为符合市场的智能化家居设备,以解决当前智能化产品实用性差、使用复杂及产品价格昂贵等缺点,而技术创新性也逐步向国际先进水平靠拢,这样的未来值得期待。1.3 本论文的主要内容本文的研究内容为基于嵌入式处理器STM32芯片的智能家居系统,通过深入了解智能家居系统的应用功能,提出了以嵌入式处理器STM32为平台的智能家居系统的设计方案。该方案将智能控制中心作为家庭网络信息处理中心,在家庭内部搭建WiFi无线网络,并通过控制中心实现网络通信。围绕智能家居系统的室内电灯的开关和一氧化碳报警功能,本文研究内容包括控制中心设计、家庭网络的数据传输、继电器控制电灯的开关和一氧化碳报警模块的设计。论文的结构安排如下:第1章 、介绍智能家居系统的研究背景和国内外的发展现状,阐述本文的研究意义,最后介绍本文的主要工作和结构安排。第2章 、介绍智能家居系统的要求、智能家居系统的功能和智能家居系统的总体构架,包括中控芯片STM32的介绍。第3章 、介绍了智能家居系统的硬件电路的设计,控制芯片电路的设计其中包括启动模式选择电路、复位电路、CPU时钟电路和RTC时钟电路、滤波电路,还有稳压电源电路的设计、MQ-7一氧化碳传感器电路的设计、WiFi模块电路的设计、单片机与PC机通信电路的设计。第4章 、介绍了单片机程序部分编程语言的选择、单片机的编程环境、主控制部分程序的设计思路、信号接收部分程序的设计思路,最终确定了用C语言作为本次毕设中所用到的单片机编程语言,用keil Vision4作为STM32单片机的编程软件,并介绍了部分程序。第5章 、介绍了PCB制作软件Altium Designer,用Altium Designer软件绘制出智能家居控制系统电路的原理图和PCB图,并制作出了实物硬件电路,经过测试,电路运行状态良好。5第2章 智能家居系统总体结构的设计41 第2章 智能家居系统总体结构的设计第2章 智能家居系统总体结构的设计2.1 智能家居系统的设计要求为了有效的实现智能家居控制系统对用户的服务,智能家居系统需要满足:一是终端设备省电,受家居内部环境结构的限制,各个传感器要在不接通外部电源的情况下保持长时间的工作,所以要选用低能耗设备来维持整个系统的运行时间。二是要实现无线传输,为了避免影响家居内部结构的美观,摆脱有线线缆的束缚,采用无线传输技术,一般范围在30米左右。三是要保证安全性和稳定性。2.2 智能家居系统的功能智能家居系统是利用先进的计算机网络技术,将于家庭生活相关的各个子系统如家电控制、环境监测、家庭安防等有机的结合在一起,通过集中控制和管理,实现个性化的家居生活体验。如今智能家居系统主要包括的子系统有:智能家居控制管理系统、家居照明控制系统、家居布线系统、家庭网络系统、家庭安防系统、背景音乐系统、家庭影院控制系统、家庭环境控制系统等八大系统8。其中的智能家居控制管理系统、家居照明控制系统、家庭安防系统、是必备系统,其他为可选系统。目前我国的智能家居行业的发展还处于初级阶段,真正实现智能化还需要经历很漫长的过程。在我国智能家居系统的设计目前没有统一的标准,需要我们依据用户的需要和家居环境进行个性化的设计。本文主要实现的是家庭控制管理系统、家居照明控制系统和家庭环境控制系统。智能家居系统实现的功能很多,应用范围也很广,其中家居照明系统主要负责家庭内部各个等的开关,用户通过家庭控制管理系统中心对照明系统进行统一管理。一氧化碳的监测是智能家居系统环境监测普遍应用的一种,可以将一氧化碳的传感器放在厨房、客厅、卫生间和卧室内监测一氧化碳的浓度,当一氧化碳的浓度达到危险的浓度的时候进行报警,防止一氧化碳中毒。根据由中国燃气安全网提供的资料整理出来的2014年11月和12月的燃气安全事故报告9,我们知道11月份和12月份由于家庭煤气设备老化引发的煤气泄漏和自己操作不当忘记关闭气阀引发的煤气中毒的伤亡人数占了4成。还有在冬天近九成的煤气中毒事件是在洗澡期间发生的10。由以上表明智能家居系统加入一氧化碳报警功能的必要性和重要意义。各个模块将采集的信息,经过WiFi模块以及相应接口进行传输,传送到嵌入式微处理器芯片上,通过嵌入式微处理器操作系统处理接受到的信息,然后发出相应的指令。智能家居系统具体实现的功能如下:(1) 家居照明控制系统。用户可以随时随地通过远程无线的方式对家庭室内室外的电灯进行遥控。用户可以通过手机安装智能家居系统专用的APP,通过手机连接的WiFi模块的WiFi信号对智能家居系统控制中心发出电灯开关的指令来达到控制的目的。(2) 一氧化碳报警功能。当一氧化碳的浓度快要达到危险值的时候,报警系统发出报警信号,并通过WiFi模块将信息发回智能家居控制中心,传送给手机终端。使用户有充分的反应时间来避免将要发生危险。本系统实现的一氧化碳监测的功能不仅仅应用于室内家居环境,还可以应用在工业生产设备中,餐馆厨房中,应用范围非常广泛。而且可以将一氧化碳传感器换成温度传感器、湿度传感器、压力等其他的传感器,就可以进行相应的检测,可扩展性非常的大。2.3 智能家居系统的总体结构随着嵌入式技术应用范围的不断扩展,智能家居系统采用嵌入式系统11作为控制中心的核心,利用WiFi技术构建家庭网络并连接各种家用电器和传感器。本系统主要包括用户管理系统、控制中心、传感器模块的无线网络。(1) 用户管理系统。在智能家居系统中,用户可以通过智能家居的上位机或者是手机APP对家居的照明和环境安全进行控制和监测。(2) 控制中心。控制中心通过接受到的上位机或者是手机APP发来的指令进行操作,也可以自己自动的对家庭的环境进行实时监控。所有的通信都是通过WiFi模块来进行通信,实现信息的传输。(3) 传感器模块的无线网络。本文中的控制家居照明系统以及一氧化碳传感器信息的传输都是通过连接WiFi网路进行通信,来达到智能家居系统无线传输的要求。图2-1智能家居系统的总体结构2.4 主控芯片STM32介绍2.4.1 STM32的内核简介STM32系列基于专为要求高性能、低成本、低功耗的嵌入式应用专门设计的ARM CortexM3内核。CortexM3 是一个32位的处理器内核。内部的数据路径是32位的,寄存器是32位的,存储器接口也是32位的。CM3采用了哈佛结构,拥有独立的指令总线和数据总线,可以让取指和数据访问并行不悖12。这样一来数据访问不再占用指令总线,从而提升了性能。为实现这个特性,CM3内部含有好几条总线接口,每条都为自己的应用场合优化过,并且它们可以并行工作。但是另一个方面,指令总线和数据总线共享同一个存储器空间(一个统一的存储器系统)。也就是说,不是因为有指令总线和数据总线两条总线,而使寻址空间扩大一倍。CortexM3处理器拥有R0R15的寄存器组。其中R13作为堆栈指针SP。SP有两个,但在同一时刻只能有一个可以看到,就是所谓的“banked”寄存器。R0R12都是32位的通用寄存器,用于数据操作,绝大数的16位的Thumb指令只能访问R0R7,而32位Thumb-2指令可以访问所有的寄存器。PSP进程堆栈指针,有用户的应用程序代码使用。R14连接寄存器,ARM为了减小访问内存的次数(访问内存的操作往往需要3个以上指令周期,带MMU和cache的不确定),把返回地址直接存储在寄存器中。这样使喝多只有1级子程序调用的代码无需访问堆栈内存,提高了程序调用的效率。R15是程序计数器,因为CM3内部使用了指令流水线,读PC时返回的值是当前指令的地址+412。2.4.2 中断管理CortexM3在内核上搭载了一个异常响应系统,支持为数众多的系统异常和外部中断。其中编号1-15的是系统异常,大于等于16的是外部中断,除了个别异常的优先级被定死外,其他中断的优先级都是可编程的。当系统正在执行一个更高优先级的异常服务例程时,低优先级的中断将会被悬起。对于每个中断源,在被悬起的情况下,都会对应一个“悬起状态寄存器”保存其异常请求,直到该异常能够执行为止。NVIC(嵌入式中断控制)中有一个寄存器是“应用程序中断及复位控制寄存器”,它里面有一个位段名为“优先级组”。该位段的值对么一个优先级可配置单异常都有影响把其优先级分为个位段:MSB所在的位段(左边的)对应抢占优先级,而LSB所在的位段(右边的)对应亚优先级。抢占优先级决定了抢占行为:当系统正在响应某异常L时,如果来了抢占优先级更高的异常H,则H可以抢占L。亚优先级的则处理中断;当抢占优先级相同的异常有不止一个悬起时,就优先响应亚优先级最高的异常。中断配置的基础:使能与除能寄存器,悬起与解悬寄存器,优先级寄存器,活动状态寄存器,异常掩蔽寄存器,向量表偏移量寄存器,软件触发中断寄存器,优先级分组位段。中断的使能与除能分别使用各自的寄存器控制这与传统的使用单一比特的两个状态来表达使能与除能是不同的。CM3可以由2240对使能位/除能位,每个中断有一对。使能一个中断,写1到SETENA的位,除能一个中断,写1到对应的CLRENA位。如果在该位中写0,不会有任何效果。如果中断发生时,正在处理同级或高优先级异常,或者被掩蔽,则中断不能得到立即响应。此时中断被悬起。中断的悬起状态可以通过“中断设置悬起寄存器(SETPEND)”和“中断悬起清除寄存器(CLRPEND)”来读取,也可以手工悬起中断。每个外部中断都有一个活动状态位,在处理器执行了其ISR的第一条指令后,它的活动位就被只1,并且直到ISR返回时才硬件清零13。中断建立的过程: (1) 当系统启动后,先设置优先组寄存器。在缺省的情况下使用组0(7位抢占优先级,1位亚优先级),STM32中只是用了低四位。(2) 如果需要重定位向量表,先把硬fault和NMI服务例程的入口地址写入到新表所在的地址。(3) 配置向量表偏移量寄存器,使之指向新的向量表(若需要重定位)。(4) 为该中断建立中断向量。因为向量表可能已经重定位了,保险起见需要先读取向量表偏移量寄存器的值,再根据该中断在表中的位置,计算出服务例程入口地址应写入表。(5) 为中断设置抢占优先级和亚优先级。(6) 使能该中断。2.4.3 系统的滴答定时器SysTick定时器嵌在NVIC中,用于产生SYSTICK异常(异常号15),以前大多操作系统需要一个硬件定时器来产生操作系统需要的滴答中断,作为整个系统的时基。为多个任务许以不同数目的时间片,确保没有一个任务能霸占系统,或者把每个定时器周期的某个时间范围内赐予特定的任务等,还有操作系统提供的各种定时功能,需要一个定时器来产生周期性的中断以维持操作系统“心跳”的节律13。SysTick定时器除了能服务操作系统外,还可以用于其它目的:做为一个闹铃,用于测量时间。2.4.4 电源控制STM32的工作电压为2.0V到3.6V,通过内置的电压调节器提供所需的1.8V电源。当主电源掉电后,通过脚为实时时钟(RTC)和备份寄存器提供电源。为了提高转换的精确度,ADC使用一个独立的电源供电,过滤和屏蔽来自印刷电路板的毛刺干扰。使用电池或其他电源连接到脚上,当断电后,可以保存备份寄存器的内容和维持RTC的功能。脚也为RTC、LSE振荡器和PC15至PC15,这保证当主要电源被切断时RTC能继续工作。切换到供电由复位模块中的掉电复位功能控制。如果应用中没有使用外部电池必须连接到引脚上。复位后调节器总是使能的。根据应用方式它以3中不同的模式工作。 (1) 运转模式:调节器以正常功耗模式提供1.8V电源。(2) 停止模式:调节器以低功耗模式提供1.8V电源,以保存寄存器和SRAM的内容。(3) 待机模式:调节器停止供电。除了备用电路和备份域外,寄存器和 SRAM的内容全部丢失。在系统或电源复位后,微控制器处于运行状态。当CPU不需继续运行时,可以利用多种低功耗i模式来节省功耗。STM32F10xxx有三种低功耗模式:(1) 睡眠模式(CortexM3内核停止,所有外设CortexM3 核心的外设,如NVIC、系统时钟等仍在运行)。(2) 停止模式(所有的时钟都已停止)。(3) 待机模式(1.8V电源关闭)。在运行模式,可以通过以下的方式降低功耗:降低系统时钟,关APB和AHB总线上未被使用的外设时钟。RTC可以在不需要依赖外部中断的情况下唤醒低功耗模式下的微控制器(自动唤醒模式)。RTC提供一个可编程的时间基数,用于周期性从停止或待机模式下唤醒。通过对备份区域控制寄存器的RTCSEL1:0位的编程,三个,三个RTC时钟源中的二哥时钟源可以选作实现此功能。(1) 低功耗32.768KHz外部晶振(LSE)。该时钟源提供了一个低功耗且精确的时间基准(典型功耗小于1uA)。(2) 低功耗内部RC振荡器(LSI RC)。使用该时钟源,节省了一个32.768KHz晶振的成本。但是RC振荡 器将少许增加电源消耗。为了RTC闹钟闹钟事件将系统从停止模式下唤醒必须,必须进行如 下操作:配置外部中断线17为上升沿触发并且配置RTC使其可产生RTC闹钟事件。如果从待机模式中唤醒,不必配置外部中断线1713。2.4.5 时钟三种不同的时钟源可被用来驱动系统时钟(SYSCLK): HIS振荡器时钟, HSE振荡器时钟,PLL时钟,40KHz低速内部RC,可以用来驱动独立看门狗和通过程序选择驱动RTC。RTC用于从停机/待机模式下自动唤醒系统。32.768KHz低速外部晶体也可用来通过程序选择驱动RTC。当不被使用时,任一个时钟源都可独立的启动火关闭,以优化系统的功耗13。2.4.6 通用和复用功能IO每个GPIO端口有两个32位配置寄存器(GPIOX_CRL/GPIOX_CRH),两个32位数据寄存器,两个32位的数据寄存器(GPIOX_IDR和GPIOX_ODR),一个置位/复位寄存器(GPIOX_BSRR),一个16位复位寄存器(GPIOX_BRR)和一个32位的锁定寄存器(GPIOX_LCKR)。GPIO端口的每个位都可以由软件分别配置为以下模式:输入浮空,输入下拉,输入上拉,模拟输入,开漏输出,推挽式输出,推挽式复用功能,开漏功能。每个IO端口可以自由编程,然而IO端口寄存器必须按32位字被访问。GPIOX_BSRR和GPIOX_BRR寄存器允许对任何GPIO寄存器的读/更改的独立访问,这样在读和更改之间产生IRQ时不会发生危险。所有端口都有外部中断能力,为了使用外部中断线,端口必须配置成输入模式。使用默认复用功能前必须对端口位配置寄存器编程:对于复用的输入功能,端口必须配置成输入浮空,且输入引脚必须由外部驱动。对于复用输出功能,端口必须配置成复用功能输出模式。对于双向复用模式,端口必须配置复用功能输出。这时,输入驱动器被配置成浮空输入模式。为了使不同器件封装的外设IO功能的数量达到最优,可以把一些复用功能重新映射到其他一些脚上。这可以通过软件配置相应位的寄存器来完成。这时,复用功能就不再映射到它们原始引脚上了。当IO配置为输入使:输出缓冲器被禁止。施密特触发输入被激活。根据输入配置的不同,弱上拉和下拉电阻被连接。出现在IO脚上的数据在每个APB2时钟被采样到输入数据寄存器。对输入数据寄存器的读访问可得到IO状态。当IO配置为输出时:输出缓冲器被激活。施密特触发输入被激活。弱上拉和下拉电阻被禁止。出现在IO脚上的数据在每个APB2时钟被采样到输入数据寄存器。开漏模式时,对输入数据的读访问可得到IO状态。在推挽模式时,对输出数据寄存器的读访问得到最后一次写的值。当IO端口被配置为复用功能时:在开漏和推挽模式配置中,输出缓冲器被打开。内置外设的信号驱动输出缓冲器。施密特触发输入被激活。弱上拉和下拉电阻被禁止在每个APB2时钟周期,出现在IO脚上的数据被采样到输入数据寄存器。开漏模式时,读输入数据寄存器可得到最后一次写的值。在推挽模式时,读输出数据寄存器时可得到最后一次写的值13。2.4.7 中断和事件NVIC(嵌套中断向量控制器)和处理器核的接口紧密相连,可以实现低延的中断处理和高效地处理晚到的中断。NVIC特性:16个可编程的优先级(使用了4位中断优先级)。低延迟的异常和处理中断。要产生中断,必须先配置好使能中断线。根据需要的边沿检测设置2个触发寄存器,同时在中断屏蔽寄存器的相应位写1以允许中断请求。在外部中断线上发生了期待的边沿时,将产生一个中断请求,对应的挂起位也随之置1.在挂起寄存器的对应位写1将清除该中断请求。如果需要产生事件,必须先配置好并使能事件线。根据需要的边沿检测通过设置2个触发寄存器,同时在事件屏蔽寄存器的相应位写1允许事件请求。当事件线上发生了需要的边沿时,将产生一个事件请求脉冲,对应的挂起位不被置1。通过下面的过程来配置20个线路作为中断源:配置20个中断线的屏蔽位(EXTI_IMR),配置所选中断线的触发选择位(EX