智能家居传感网络控制器的毕业设计.doc_第1页
智能家居传感网络控制器的毕业设计.doc_第2页
智能家居传感网络控制器的毕业设计.doc_第3页
智能家居传感网络控制器的毕业设计.doc_第4页
智能家居传感网络控制器的毕业设计.doc_第5页
已阅读5页,还剩79页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

第1章 绪论智能家居传感网络控制器的毕业设计目 录摘 要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 65第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家庭(海尔),该系列产品以海尔电脑作为控制中心,各种网络家电作为终端设备,海尔移动电话作为移动数字控制中心。海尔在技术上同微软合作,利用微软的WindowsMe技术和海尔的网络家电,使“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),配置所选中断线的触发选择位(EXTI_RTSR/EXTI_FTSR)。硬件事件时可以通过下面的过程,可以配置20个线路作为事件源:配置20个事件线的屏蔽位(EXTI_EMR),配置事件线的触发选择位(EXTI_RTSR/EXTI_FTSR)。软件中断/事件的20个线路可以被配置成中断/事件线。下面是产生软件中断的过程:配置20个中断/事件线屏蔽位,设置软件中断寄存器的请求位(EXTI_SWIER) 13。2.4.8 模拟/数字转换(ADC)12位ADC是一种逐次逼近型模拟数字转换器。它最多18个通道,可测量16个外部和2个内部信号源。各通道的AD转换可以单次、连续、扫描或间断模式执行。ADC的结果可以左对齐或右对齐的方式存储在16位数据寄存器中。ADC的输入时钟不得超过14MHz,它是由PCLK2经分频产生。ADC主要有一下特性:12位分辨率,转换结束、注入转换结束和发生模拟看门狗事件时产生中断,单次和连续转换模式,自校准,带内嵌数据一致性的数据对齐,采样间隔可以按通道分别编程,规则转换和注入转换均有外部触发选项,间断模式,双重模式,ADC供电要求:2.4V到3.6V。ADC有16个多路通道,把转换组织分为两组:规则组和注入组。在任意多个通道上一任意顺序进行的一系列构成转换。例如,可以如下顺序完成通道3、通道8、通道2等。规则组有多大16个转换组成。规则通道和他们的转换顺序在ADC_SQRX寄存器中选择,规则组中的转换总数写入ADC_SQR1寄存器的低4位。注入组有最多4个转换组成。注入通道和它的转换顺序在ADC_JSQR寄存器中选择。注入组里的转换数目写入ADC_JSQR寄存器的低2位。ADC有一个内置自校准模式。校准可减小因内部电容的变化而造成的准精度误差。在校准期间,在每个电容上都会计算出一个误差修正码,这个码用于消除在随后的转换中的误差。通过设置寄存器的CAL位启动校准,CAL位被硬件复位,可以开始正常转换13。ADC使用若干个ADC时钟周期对输入电压采样,采样周期数据可以通过ADC_SMPR1和ADC_SMPR2位的低三位更改。转换时间计算如下: T=采样时间+12.5个周期 (2-1)例如,当ADC的采样时钟是14MHz的时候,采样时间为1.5个周期T=1.5+12.5=14周期=1us (2-2)2.4.9 定时器通用定时器是一个可编程预分频器驱动的16位自动装载计数器构成。它可以测量输入信号的脉冲长度或者产生输出波形(输出比较和PWM)。使用定时器预分频器和RCC时钟控制器预分频器,脉冲长度和波形周期可以在几个微秒到几个毫秒之间调整。通用定时器有以下几个功能:16位向上、向下、向上/向下自动装载计数器。16位可编程预分频器,分频系数在165536之间任意改变。4个独立通道:输入捕获,输出比较,PWM生成,单脉冲模式输出。如下事件发生时产生中断:更新,计数器向上溢出/向下溢出,计数器初始化。触发事件(计数器停止、启动、初始化或由内部/外部触发计数)。可编程通用定时器的主要部分是一个16位计数器和相关的自动装载寄存器。这个计数器可以向上、向下或者向上向下双向计数。内部计数的时钟由分频器分频得到。计数器、自动装载寄存器和预分频器可以由软件读写。时基单元包括: 计数寄存器、预分频寄存器、自动载寄存器。自动转载寄存器是预先装载的,写或读自动重装载寄存器将访问预装载寄存器。根据在控制寄存器1中断自动装载预装载使能位的设置,预装载寄存器的内容被立即或在每次的更新事件时传送到影子寄存器。当计数器达到溢出条件并当控制寄存器1中的UDIS位等于0时产生更新事件。预分频器可以将计数器的时钟频率按1到65536之间任意值分频。它是一个16位寄存器控制的16位的计数器。这个控制寄存器带有缓冲器,它可以在工作时被修改,新的分频器参数在下一次更新事件到来时被采用。在向上计数模式中,计数器从0计数到自动加载值,然后从0开始计数并且产生一个计数器溢出事件。在向下模式中,计数器从自动装入的值开始向下计数到0,然后从自动装入的值开始重新开始并且产生一个向下溢出事件。在中央对齐模式,计数器从0开始计数到自动加载的值-1,产生一个计数器溢出事件,然后向下计数到1并且产生一个计数器下溢事件,然后再从0开始重新计数,计数器的时钟可以由内部时钟提供或者由外部引脚输入13。2.5 本章小结本章对整个智能家居系统的功能和总体结构做了一个就具体的表述,其中功能是实现家庭照明系统的控制以及对家居内部一氧化碳的监测。总体构架包括用户管理系统、控制系统、传感器模块的无线网络。详细介绍了控制系统所用的嵌入式微处理器芯片STM32,包括STM32的内核介绍、中断管理、系统的滴答定时器、电源控制、时钟、通用和复用功能IO、中断和事件、模拟/数字转换(ADC)、定时器。第3章 智能家居系统硬件电路设计第3章 智能家居系统硬件电路的设计本章主要介绍了智能家居系统的硬件电路的设计,其中控制芯片电路的设计包括启动模式选择电路、复位电路、CPU时钟电路和RTC时钟电路、滤波电路。其他各个模块包括稳压电源电路的设计、MQ-7一氧化碳传感器电路的设计、继电器控制电灯电路的设计、WiFi模块电路的设计、单片机与PC机通信电路的设计。图3-1 智能家居系统硬件电路的总体设计3.1 控制芯片电路的设计 上一章详细介绍了控制系统所用的嵌入式微处理器芯片STM32,本文的控制电路所用的是STM32F103系列的芯片,该芯片是STM32F103VET6,属于中低端的32位ARM微控制器。 (1) STM32F103VET6最小系统的电路设计图3-2主要是控制芯片对模块的引脚的分配,包括按键、LED发光二极管、LCD1602显示屏、继电器模块、一氧化碳传感器模块、WiFi模块、j-link下载电路、串口通信电路、启动模式选择电路、复位电路和电源滤波电路等的引脚分配。图3-2 STM32F103VET6(2) 启动模式选择电路STM32F103微控制器不仅可以从Flash存储器或系统存储器启动,还可以从内置SRAM启动。相应的启动模式可通过BOOT1:0引脚选择3种不同的启动模式。表3-1 3种不同的启动模式启动模式选择引脚启动模式BOOT1BOOT0X0主闪存存储器01系统存储器11内置SRAM图3-3 启动模式的选择电路 (3) 复位电路单片机复位电路的作用是使单片机有效复位,此款单片机的复位方式是低电平复位,此复位电路可以实现掉电复位和按键复位。当按键开关按下时单片机RESET引脚直接接到GND,实现低电平按键复位。图3-4 复位电路 (4) CPU时钟电路和RTC时钟电路图3-5 CPU时钟电路和RTC时钟电路晶振一般叫做晶体谐振器,是一种机电器件,晶振是石英振荡器的简称,英文名为Crystal是用电损耗很小的石英晶体经精密切割磨削并镀上电极焊上引线做成。晶振的作用是给单片机正常工作提供稳定的时钟信号。任何实时时钟的核心都是晶振,晶振频率为32768 Hz 。它为分频计数器提供精确的与低功耗的实基信号。它可以用于产生秒、分、时、日等信息。为了确保时钟长期的准确性,晶振必须正常工作,不能够收到干扰。1 RTC时间是以振荡频率来计算的。故它不是一个时间器而是一个计数器。而一般的计数器都是16位的。又因为时间的准确性很重要,故震荡次数越低,时间的准确性越低。所以必定是个高次数。215 = 32768 。2 32768 Hz = 215 即分频15次后为1Hz,周期 = 1s。3 经过工程师的经验总结32768 Hz,时钟最准确。(5) 滤波电路图3-6 滤波电路在单片机的DVDD与GND上加上两个滤波电容,这样做的原因是为了最大限度减少电源对单片机的干扰。通常情况滤波电容都是一个瓷片电容和一个电解质电容,瓷片电容是过滤低频杂波,电解质电容是过滤高频杂波。3.2 稳压电源设计3.2.15V稳压芯片7805简介 稳压芯片分为两种类型,一种为线性稳压,其优点是稳压后的电源谐波少,价格低廉;缺点是压差大,散热大,能源利用率低。另一种为开关电源,其优点为压差小,损耗小;缺点为稳压后的谐波比较多,容易产生噪声。电子产品中,常见的三端稳压集成电路有正电压输出的78xx系列和负电压输出的79xx系列。顾名思义,三端IC是指这种稳压用的集成电路,只有三个引脚分别是输入端、接地端、和输出端。用78系列三端稳压IC来组成稳压电源所需的外围元件极少,电路内部还有过流、过热及调整管的保护电路,使用起来可靠、方便,而且价格便宜。该系列集成稳压IC型号中的78后面的数字代表该三端集成稳压电路的输出电压,如7805表示输出电压为正5V,7806表示输出电压为正6V,7809表示输出电压为正9V,7812表示输出电压为正12V。79系列的是负电压的输出,命名形式和78系列的一样。由于内部电流的限制,以及过热保护和安全工作区的保护,它基本上不会损坏。如果能够提供足够的散热片,他们就能够提供大于1.5A的输出电流。综合稳定性的考虑,决定采用三端1.5A正电源稳压芯片LM7805。3.2.2 LM7805特性 LM7805的最大输出电流为1.5A,输出电压为5V。有热过载保护和短路保护功能,输出晶体管安全工作区保护,工作温度 0+125,贮存的温度 -65+150。3.2.3 LM7805典型应用电路(1) 引脚为电压的输入引脚,电压的极限输入值为35V,输入和输出的电压差为2V,短路电流为230mA,峰值电流为2.2A14。(2) 引脚为接地引脚。(3) 引脚为电压的输出端口,典型的电压输出值为5V,输出电压的最小值为4.8V,输出电压的最大值为5.2V,输出电压温飘为0.8mV/。图3-7 7805典型应用电路3.2.4 LM1117简介LM1117是一个低压差电压调节器系列,其压差在1.2V输出,负载电流为800mA时为1.2V。它与国家半导体工业标准器件LM317有相同的管脚排列。LM1117有可调电压版本,通过2个外部电阻可实现1.2513.8V输出电压范围。另外还有5个固定电压输出(1.8V、2.5V、2.85V、3.3V和5V )的型号。LM1117提供电流限制和热保护。电路包含一个齐纳调节的带隙参考电压以确保输出电压的精度在正负百分之一以内。LM1117系列有LLP、TO-263、SOT-223、TO-220和TO-252 D-PAK封装。输出端需要一个至少10uF的钽电容来改善瞬态响应和稳定性15。3.2.5 LM1117特性 LM1117可以提供3.3V的输出电压,节省空间的SOT-223和LLP封装,电流限制和热保护功能,输出电流可达800mA,温度范围:0-125。3.2.6 LM1117典型应用电路 图3-8 LM1117典型应用电路(1) 引脚是电压的输入引脚,输入电压的极限值为20V,工作电压是15V。(2) 接地引脚。 (3) 3引脚是电压的输出引脚,典型值是3.3V,最大输出电压3.333V,最小输出电压是3.267V。这些参数均是在温度为25摄氏度的条件测得。3.3一氧化碳传感器电路的设计 图3-9 一氧化碳传感器电路MQ-7气体传感器所使用的气敏材料是清洁空气中电导率较低的二氧化锡()。采用高低温循环检测方式低温(1.5V加热)检测一氧化碳,传感器的电导率随空气中一氧化碳气体浓度增加而增大,高温(5.0V加热)清洗低温时吸附的杂散气体。使用简单的电路即可将电导率的变化,转换为该气体浓度相对应的输出信号。MQ-7气体传感器对一氧化碳的灵敏度高,这种传感器可检测多种含一氧化碳的气体,是一款适合多种应用的低成本传感器。特点为:(1) 对一氧化碳气体有良好的灵敏度。(2) 长寿命、低成本。(3) 简单的驱动电路即可。器件左右两边都是对称的,没有其他标注说明1-6个引脚的位置。因为上下都可以用,内部就是个电阻,不分正负。上面三个接电压,下面中间接地,另两个就是输出;反过来也行,把下面三个接VCC,上面中间接地。3.4 WiFi模块电路的设计ESP8266是一个完整且自成体系的WiFi网络解决方案,能够独立运行,也可以作为slave搭载于其他Host运行。ESP8266在搭载应用并作为设备中唯一的应用处理器时,能够直接从外接闪存中启动。内置的高速缓冲储存器有利于提高系统性能,并减少内村需求。ESP8266强大的片上处理和储存能力,使其可通过GPIO口集成传感器及其他应用的特定设备,实现了最低前期的开发和运行中最少地占用系统资源。(1) STM32F103VET6与ESP8266引脚连接表表3-2 STM32F103VET6与ESP8266引脚连接表ESP8266VCCGNDURXDUTXDCH_PDRSTSTM323V3GNDPA2/USART2_TXPA3/USART2_RXPA4PA1(2) ESP8266模块引脚图图3-10 ESP8266模块引脚图(3) ESP8266常用AT指令表3-3测试引脚接线表WF-ESP8266模块 STM32开发板 VCC 3V3 GND GND CH_PD 3V3 UTXD RXD URXD TXD A、基础指令表3-4基础指令命令 描述 AT 测试AT启动 AT+RST 重启模块 AT+GMR 查看版本信息 B、功能指令表3-5 WIFI功能AT指令命令 描述 AT+CWMODE 选择WIFI应用模式 AT+CWJAP 加入AP AT+CWLAP 列出当前可用AP AT+CWQAP 退出与AP的连接 AT+ CWSAP 设置AP模式下的参数 AT+ CWLIF 查看已接入设备的IP C、TCP/IP 工具箱 AT 指令表3-6 TCP/IP 工具箱 AT 指令命令说明AT+ CIPSTATUS 获得连接状态 AT+CIPSTART 建立 TCP 连接或注册 UDP 端口号 AT+CIPSEND 发送数据 AT+CIPCLOSE 关闭 TCP 或 UDP AT+CIFSR 获取本地 IP 地址 AT+CIPSERVER配置为服务器AT+CIPMODE设置模块传输模式AT+CIPSTO设置服务器超时时间3.5 单片机与PC机通信电路图3-10 串口通信电路单片机通信使用的电平为CMOS电平即高电平1为3V18V,低电平0为0V而与计算机通信时的电平为232电平即高电平1为-3V-25V,低电平0为3V25V。故单片机与计算机通信时需要将CMOS电平转化成232电平。电路原理图中的C15、C16、C17均为参考芯片手册建议电路加入的滤波电容。LED2为信号指示灯,R7、R9、R10、R11为限流电阻。CP2102芯片其集成度高,内置USB2.0全速功能控制器、USB收发器、晶体振荡器、EEPROM及异步串行数据总线(UART),支持调制解调器全功能信号,无需任何外部的USB器件。CP2102与其他USB-UART转接电路的工作原理类似,通过驱动程序将PC的USB口虚拟成COM口以达到扩展的目的。特性:(1) 内含USB收发器,无需外界电路器。(2) 内含时钟电路,无需外接电路器。(3) 内含上电复位电路。(4) 片内电压调节可输出3.3V电压。(5

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论