基于STM32的智能家居系统设计.docx
- 文档编号:18108149
- 上传时间:2023-08-13
- 格式:DOCX
- 页数:49
- 大小:1.20MB
基于STM32的智能家居系统设计.docx
《基于STM32的智能家居系统设计.docx》由会员分享,可在线阅读,更多相关《基于STM32的智能家居系统设计.docx(49页珍藏版)》请在冰点文库上搜索。
基于STM32的智能家居系统设计
本科毕业设计(论文)
标题名称:
基于STM32的智能家居体系设计
学院:
盘算机科学技巧学院
专业年级:
盘算机科学与技巧(工)12级
学生姓名:
张云朋
班级学号:
1班41号
指点教师:
范忠实
2016年6月
摘要
跟着科技的不竭成长进步和人们对家居生涯请求的慢慢变高,智能家居已经得到了人们的承认,而现如今一套完全的智能家居装备价钱昂贵,一般的家庭难以推却其昂扬的价钱,针对此种现象,一款功效稳固周全,但成本低廉的智能家居产品会帮忙人们在价钱和功效之间找到一条知足人们欲望的出路.此款智能家居采取STM32处理器,技巧成熟,程序移植便利,价钱低廉.本款家居装备设计包含硬件设计和软件设计两个部分:
硬件设计包含:
12864液晶电路.温度湿度传感器电路.烟雾浓度收集电路.ADC转换电路.报警电路.电源电路.光照收集电路和灯光掌握部分电路,软件设计包含主程序.数据(温度.湿度,气体浓度,光照)检测及处理.和尺度气体标定.ADC数据转换,当气体浓度超限时报警程序.经试验测试成果标明该智能家居装备有主动检测家庭情形指标并可以对收集信息进行及时稳妥的处理,精度高,检测规模广,稳固性好,显示简略,操纵轻便,抗干扰才能强等优良机能.
症结词:
ARM-M3;ADC;数据收集与处理;智能家居
Abstract
Alongwiththecontinuousdevelopmentofscienceandtechnologyprogressandpeople'srequirementforhouseholdlifegraduallybecometall,intelligenthouseholdhasgainedtherecognitionofpeople,nowacompletesetofintelligenthouseholdequipmentisexpensive,theaveragefamilyisdifficulttoaffordthehighprices,aimingatthisphenomenon,astableoverallfunction,butlow-costintelligenthouseholdproductscanhelppeoplefindawayoutbetweenpriceandfunctionality.ThisintelligenthouseholdUSESSTM32processor,maturetechnology,applicationtransplantconvenience,lowprices.Thishouseholdequipmentdesignincludinghardwaredesignandsoftwaredesignoftwoparts:
hardwaredesignincludes:
12864LCD,reactivetemperature,humiditysensorcircuit,theconcentrationofthesmokecollectingcircuit,ADCconversioncircuit,alarmcircuit,powercircuit,acquisitioncircuitandlightinglightingcontrolcircuit,softwaredesignincludesthemainprogram,data(temperature,humidity,gasconcentration,light)detectionandprocessing,andcalibrationstandardgases,ADCdataconversion,whengasconcentrationoverrunalarmprogram.Bytheexperimentaltestresultsshowthatthesmarthomedeviceshaveautomaticdetectionfamilyenvironmentindexandcanbeconductedtocollectinformationtoerronthesideoftheprocessedontime,highprecision,detectionrange,goodstability,displayissimple,easyoperation,stronganti-interferenceabilityandotherexcellentproperties.
Keywords:
ARMv7-M;ADC;Dataacquisitionandprocessing;serialcommunication
第1章绪论
1.1选题布景
进入21世纪,人们的生涯节拍越来越快,生涯压力也越来越大,家成为人们最温馨的地方,人们看待本身最暖和舒适的家庭情形请求也随之在不竭进步,如今的人们早八晚五的工作,上级的压力,怙恃长辈的压力,同事之间盲目标攀比等等,早已经将当代人压的喘难以呼吸,人们似乎已经留意到了家是本身的避风港,家居生涯得到了人们的普遍存眷,如今电子行业的成长速度飞涨,智能产品横飞,先辈的科技与人们想要的智能家居生涯擦出了俏丽的火花--智能家居,时光荏苒,转眼间,智能家居从消失到现如今阅历了几十年的漫长成长慢慢走向成熟,安然,智能,便利的家居生涯得到了宽大通俗苍生的承认,从企业到小我都无时无刻与它产生着密切关系,人们已经清楚的看到,智能家居的成长已成必定,他的起飞亦不成阻拦.
1.2课题意义
众所周知智能家居应经崭露头角,近几年一向以优越高速的成长态势在进步,智能家居市场上也开端消失了许多新鲜的装备来知足人们的生涯须要,但从总体的状况来剖析总结,仍有不精美绝伦的地方,最重要两点是尺度不同一和威望产品的缺少.陪同着科技的进步,经济的成长,人们的财宝变多的同时,对本身的生涯情形的请求程度也的跟着变高,智能家居也更加变的受人青睐.家居智能化掌握的开辟和研讨是将来国度经济成长的必定趋向.智能家居掌握器可认为体系供给更智能更人道化生涯模式,使住户的生涯加倍便捷,更高效,更能为家庭的日常活动,为快节拍的都是生涯减小人们的压力,同时供给伟大便利.并且在如今这个看重健康环保的世界里,智能的为住户供给检测好空气的温度,湿度等检讨空气成分让住户安心,宁神可以知足人们的共性化需求.同时,智能家居掌握器可以根据住户的请求调剂计划,紧迫变乱处理,危机抢救等急救掌握,充分知足用户的须要.
1.3国表里成长概况
智能家居在国内早已经不是一个新兴财产,处于一个导入期与成长期的临界点,大众市场的花费不雅念还未完全形成,但跟着智能家居市场经营者推广的进一步实行,引诱花费者的花费偏向和新产品的运用等措施的运用,智能家居市场的的活泼只是时光的问题.如今智能家居至今在中国已阅历了近13年的成长,从人们刚开端的妄想,到今无邪真正正的走进我们的生涯,阅历了一个反复弯曲路.在1994年---1999,度过智能家居的第一阶段萌芽期/智能小区期,在2000年---2005年时代,迎来了本身的第二阶段——首创期,在2006年,经由了5年的成长,智能家居正式进入第三阶段--彷徨期,现如今,我们正在阅历他的第四个阶段--融会演化期,自进入2011年今后,产品需求市场显著增加,现阶段房产行业不好,智能家居的进入可否再添新动力受到大家的存眷.智能家居的产品需求量增加解释智能家居行业进入了一个新的时光段,接下来的几年的时光里,智能家居一方面进入一个相对快速的成长阶段,另一方面协定与技巧尺度也开端慢慢走向同一,为尺度化临盆供给软前提的预备.而优越的势头也吸引了一批商人的参加,开辟人员工资不竭攀高,新的产品层见叠出,市场竞争越来越剧烈.
根据美国该行业威望公司PARKS的统计材料显示:
1995年,美国一个家庭智能家居方面的花费精确在7000至9000美元之间.1995年美国度庭已运用先辈家庭主动化装备的比率为0.33%,看来市场真正启动尚需时日.估计这五年内,家庭主动化的市场年平均增加率为8%.PARKS公司的材料亦显示:
到2004年,家庭收集市场总额可达57亿美元,由此可知,智能家居无论在国内照样国外都有优越的成长远景,形势一片大好.
1.4指点思惟
本体系开辟基于C说话.运用Keil4集成开辟情形,运用现已经技巧成熟的器材,以包管体系正常安然运用.质量机能好.稳固.
界面操纵简略,功效周全,适用性强,人机交互友爱,无需庞杂操纵就可以运用产品,易学易用.
第2章开辟对象与MCU简介
2.1STM32F10XX
STM32系列单片机是为高机能.低成本.低功耗的嵌入式运用专门设计的,十分合适如今的智能家居研发,款型多.功效完全,材料丰硕,技巧也相对成熟,下面我们就来体系的懂得一下这款单片机.按内核架构分为不合产品.
个中STM32F1系列有:
"加强型"系列
STM32F101"根本型"系列
STM32F105.STM32F107"互联型"系列
加强型系列时钟频率为72MHz,再同品型的单片机中是机能最好的一款;通俗型的时钟频率为36MHz,而如今通俗产品的价钱得到机能大幅晋升产品,信任是许多用户的最佳选择.两个系列产品都内置闪存大小是雷同的,照样32K到128K,不合的是的最大容量和外设接口的这两部分.当时钟频率72MHz时刻,可以从闪存中直接运行程序,速度更快,STM32功耗为36mA,是32位单片机同类市场上功耗最低的产品.
图2-1STM32F10XX功效框图
内核:
32位mcu处理器,频率为72MHz,采取单周期乘法,不轻易受外部装备电流影响,稳固性更好.
存储器:
片上集成32-512KB的闪存.6-64KB的只读存储器.
时钟.复位和电源治理:
电源为3V供电.上电复位.掉落电复位电路完美,自带可编程的电压探测器(现不常运用).晶振为16MHz(频率可设置,可知足不合外部装备的驱动).8MHzRC电路.40kHz的RC振荡电路(可外接振荡电路,也可运用自身具有的振荡电路).CPU时钟具有校准功效,由的32kHz的晶振单独完成.
低功耗模式:
3种低功耗模式:
休眠,停滞,待机模式.
调试模式:
串行调试接口和JTAG接口.
DMA:
12通道DMA掌握器.
支撑的外设:
准时器,ADC,DAC,SPI,IIC和UART.
3个12位的us级的A/D转换器:
A/D测量规模:
0-3.6V.双采样和保持才能.
D/A转换器的种类多,可以合适不合型号外设信息收集,平常周全.
快速I/O端口:
所有的端口都可以链接到个外部中止.消除模仿量的输入,所有的端口都可以接收5V以内的旌旗灯号输入.
准时器:
4个16位准时器,每个准时器都配有4个IC/OC/PWM或者脉冲计数器.2个16位掌握准时器:
最多6个通道可用于PWM输出除此还有2个看门狗准时器,可供多个外设同时工作时运用.
Systick准时器:
24位倒计数器.2个16位根本准时器用于驱动DAC.
失去3个SPI接口,两个和IIS复用端口.CAN接口,一个含5个USART吸收端口,13个通讯接口,2个IIC接口,和一个SDIO接口.
1.相较传统的嵌入式处理器多一个嵌入式ARM内核,使其兼容性加倍强悍,不但对编程软件照样与单片机相干的对象都是一次技巧上的同一,与此同时进步了代码处理效力,运行,调试加倍高效.
2.嵌入式Flash存储器和RAM存储器:
内置512KB的闪存,为数据的安然性供给了更好的包管,存储数据程序也加倍便利,只读存储器与CPU的时钟速度雷同,可进行高速读写操纵,加倍切近产品驱动须要.
3.可变静态存储器(FSMC):
STM32的静态存储器失去4个片选,且每一种片选模式还有四种模式选择,掌握的加倍过细,精确,多更掌握加倍便利,不须要再加庞杂的外设,代码都是从外部存储器履行,不占用没存,节俭空间,进步运行速度,外部拜访按照36MHz进行,速度更高,出错率更低.
4.ARM的中止:
可以处理43个中止通道,包含16个中止优先级,可以同时处理多个外部中止,对外设的处理精确度得到有用进步,更合适处理庞杂多样的外设.慎密耦合的NVIC实现了低的中止处理延迟,直接向内核传递中止进口向量表地址,慎密耦合的NVIC内核接口,加倍便利许可中止提前处理,对后到的更高优先级的中止进行处理,主动保管处理器状况,中止进口在中止退出时主动恢复,不须要指令掌握,主动化程度更好,减小程序员的工作量.
5.外部中止/事宜掌握器(EXTI):
外部中止/事宜掌握器由19个产生中止请求检索构成.每条线都是经由奇特设置装备摆设用于选择触发事宜(模式:
上升沿,降低沿,或者两者都可以),可以同时屏障多个,也可以只屏障一个,更有利于对外设的掌握.有一个挂起存放器用来检测中止请求.当外部线上消失长度超出内部时钟周期的脉冲时,EXTI便立时能检测到是由外部的旌旗灯号在申请中止.
6.时钟和启动:
体系的时钟在体系在工作前,先须要时钟的设定,一种是运用内部8MHz的晶振作为CPU时钟源.别的可以选择一个外部的4-16MHz时钟源,STM32在时钟的检测十分严厉,会及时监控当与掌握器被制止那么软件中止治理也会跟着被制止.还可以在PLL时钟的中止治理设准时钟.多个预比较器可以用来设置装备摆设AHB频率,包含高速APB2和低速APB1,高速APB最高的频率为72MHz,低速APB最高的频率为36MHz.
7.Boot模式:
Boot引脚有3种Boot模式选项可供选择:
从Flash进入,从体系存储器导入,从SRAM进入.Boot导入代码存储在体系存储器,用于经由过程USART1对Flash存储器编程.
8.电源供电计划:
工作电压2.0V-3.6V,外部电源经由过程VDD引脚衔接,用于I/O和内部调压器.VSSA和VDDA的电压规模都是2.0-3.6V,外部模仿电压用于ADC,复位模块,RC和PLL,在VDD规模之内,VSSA和VDDA必须响应衔接到VSS和VDD才可以.VBAT的电压规模为1.8-3.6V,当VDD无效时为RTC,晶振和备份存放器也可认为其供给电源,包管正常工作不受到影响.
2.2KEILMDK
KeilMDK的运用十分普遍,因其功效周全机能佳,界面简介友爱,从其问世就敏捷被宽大程序工程师所熟知和运用,工程师的反馈---平常合适STM32的开辟.KeilMDK,也称MDK-ARM,RealviewMDK.I-MDK.uVision4 等.
MDK-ARM软件为基于Cortex-M.Cortex-R4.ARM7.ARM9处理器装备供给了一个完全的开辟情形,一款软件多项运用,便利嵌入式工程师们在不合项目中多种程序的编写,不必多次熟习开辟对象,单凭这一点,早已在嵌入式工程师的心中占领伟大优势,MDK-ARM是一款专为微掌握器运用而设计临盆的,因其界面简练清楚,不但易学易用,并且功效壮大,可以或许知足大多半的嵌入式运用,分解剖析是嵌入式工程师的不二选择.
MDK-ARM有四个可用版本.所有版本均供给一个完美的C/C++开辟情形,实现多界面,多机型,多说话集于一身的高性价比产品,个中MDK-Professional还包含大量的中心库,便利挪用且数据库周全.
运用Keil来开辟嵌入式软件,大致有以下几个步调:
1.创建一个project,选择芯片,并进行一些须要的设置装备摆设信息
2.编写C源文件
3.编译工作代码
4.修正源程序中的错误
5.下载程序调试
uVision4开辟情形如下我们可以做到编辑,编译,项目治理等多个程序调试步调,窗口设计合理,出错显示加倍清楚,便利程序的调试.
uVision4的特色:
支撑多系列单片机(Cortex-M.Cortex-R4.ARM7和ARM9);多说话(C/C++)的对象链,操纵体系自带源码,封装模块化数据;不但供给编译,调试,还具备仿真情形;收集套件供给多种协定运用;失去尺度的USB装备衔接可能,与外设交互友爱;不但可以处理程序代码,还可以处理图形;程序每运行一次会有一次笼罩;相符国际公认的软件接口尺度.
ULINKUSB-JTAG界面适配器:
ULINKUSB-JTAG是一个用于衔接PCUSB口和开辟板JTAG口的小硬件适配
器.经由过程JTAG你可以很便利的将你的程序下载到目标板上测试和验证程序运行的后果.ULINK支撑如下操纵:
1.下载目标程序
2.检讨存储器和存放器
3.单步运行程序
4.拔出多个中止点
5.及时运行程序
6.烧写FLASH存储器
第3章总体剖析与设计
计划剖析
3.1.1整体系统计划剖析
每个智能家居体系的设计者起首斟酌到的问题就是MCU选型的问题.嵌入式设计中比较主流的两款单片机就属ARM与AVR/51最受大家的青睐,51是一款8位MCU的处理器,相较32位处理器的ARM在运算才能上有显著的缺少,但32位的运算的指令也是平常庞杂的,进行大量的数据运算,视频数据,才能固然较8位机强许多,运算速度也高许多多少倍,但在各个中止,存放器设置装备摆设,时钟请求等等也更为严厉,并且AVR的编程须要设置装备摆设gcc或icc才干正常工作,有固定的工作的情形,和51单片机比拟,很庞杂,可以用来参考的文献材料也没有51多,ARM与51比拟固然采取指令集简化了许多,可以在每个时钟周期内履行一条敕令,51须要12个时钟周期才干完成一条指令的工作,分解来剖析51与STM32单片机都失去各自的优势,若何选择就要从需求上加以剖析.
51单片机是每一嵌入式编程人员的入门课程,很基本,电路也相对简略,材料丰硕,芯片很便宜,市情很罕有,但一旦处理大量的数据,设计庞杂活动掌握,视频时,51就力有未逮了,运算的速度和效力低也是51的一个致命的缺陷,简略的总结下就是AVR的指令体系比较精简,总线和存储构造也与51单片机不合,速度比51快许多.其次,从机能的角度剖析,ARM是32位处理器,频率高达百兆赫兹,速度和处理才能远远优于AVR和51,根据智能家居须要掌握多个家用装备,传送视频图像等等身分斟酌,为了知足该装备的设计请求,以上的51和AVR类的MCU产品功效上仍显缺少.
STM32FX系列的MCU从功效上来说更具吸引力,尤其是STM32F103VCT6这款MCU,片表里设相当丰硕,3个12位模数转换器.2通道12位D/A转换器.12通道DMA掌握器.80个快速I/O端口.8个准时器.多达13个通讯界面.除了其丰硕的片表里设,它的每个I/O口都对应着32位的设置装备摆设存放器,可以进行自由的设置装备摆设,还具有锁存器和16位的复位存放器和复位存放器.每个I/O口都可以自由的编程,每个I/O口都可以由软件设置装备摆设成多种模式.它的嵌入式中止矢量掌握器,具有16个可编程优先级,60个可屏障中止通道,还具有延迟的平常和中止处理.
STM32F103VCT6优良的特点决议了本装备产品设计的最终平台.在选定MCU后,
起首计划本装备的各个功效的实现.经由过程剖析该装备在工业现场须要施展的监控感化,初步将该装备的功效设计如下:
AD数据收集,串行通讯,EEPROM数据存储的读写,SD卡数据存储的读写,NANDFLASH数据存储的读写,时钟的读写设置.
STM32F103VCT6的ADC转换器是一种12位精度的逐次逼近型的数字转换器.它有18个通道用来传递信息数据,可以测量16个外部旌旗灯号和2个内部旌旗灯号.本款产品没有全体运用所有的ADC,仅运用了个中的6条AD转换通道.在ADC经由过程外部传感器将模仿旌旗灯号转化为数字旌旗灯号后,吸收返回的数据存储在SD卡中或者EEPROM中,供运用程序人员对数据进行剖析和处理.时钟在不竭电的情形下即可正常运行,可认为产品的液晶屏显示供给时光不须要外接装备供给时光.
3.1.2数据收集计划设计
我们所经常运用的传感器旌旗灯号一般都是模仿量,例如温度传感器,湿度传感器等为了数据的操纵与处理便利,须要将其转换为数字量,所以须要运用到ADC器件.紧接着就是AD计划的选择问题:
个中一种是运用自力的ADC转换器,另一种运用MCU中自带的ADC转换模块.而ADC的选择根据有如下几个症结的参数有分辩率,转换速度,模仿量输入端数,模仿量输入电压规模,数字量输出方法等等.我们以ADC0809为例简略解释下,0809的参数如下:
1)8路输入通道,8位A/D转换器,即分辩率为8位.2)具有转换起停掌握端.3)转换时光为100μs.4)5V电源供电.5)模仿输入电压规模0-+5V,不须要校准和清零进程.6)工作温度在-40~+85摄氏度.7)功耗低,约15mW.
ADC0809属于中等速度的ADC转换器,价钱也比较低,但分辩率较低.假如外接高速ADC转换器,价钱又过高,其实不是最好的选择.然而,对于MCU自带的ADC模块,其工作机能其实不差.该ADC属于逐次逼近型模仿数字转换器.它有18个信息收集返回通道,可测量16个外部旌旗灯号和2个内部旌旗灯号.在本次设计中我们将两种ADC的收集办法并用,下面会有具体的运用解释.
3.1.3数据存储计划剖析
在智能家居体系里,须要存储的数据其实不是许多,温湿度信息的存储和登录暗码存储即可.说到STM32的闪存用处,我们的第一反响是用来装程序代码的,现实上,STM32的片内FLASH不但可以用来装程序数据代码,还用来装设置装备摆设.芯片ID等等.固然智能家居体系里的数据存储只放在FLASH就可以了,但我们为了大家可以或许更好的懂得,照样简谈下FLASH的有关问题:
1.FLASH分类 根据用处进行分类,STM32片内的闪存分成两部分:
主存储部分.信息块部分.主存储块可以用于存储程序,我们写的代码,数据都邑存储在这里.信息块又分成两部分:
体系存储器部分.选项字节部分.体系存储器存储是出厂时就被锁逝世的,用户不须要处理它,用来存储体系代码,选项字节存储芯片的设置装备摆设内容是对主存储块内容的一种呵护. 2.FLASH的页面 STM32的FLASH主存储块按页组织,有的产品每页1KB,有的产品每页2KB.页面典范的用处就是用于按页擦除FLASH.从这点来看,页面有点像通用FLASH的扇区.3.STM32产品的分类 STM32根据FLASH主存储块容量.页面的不合,体系存储器的不合,分为小容量.中容量.大容量.互联型,共四类产品.
小容量产品的主存储存容量在1-32KB之间,体系占2KB,中容量产品主存储容量在64-128KB之间,每页占1KB大小;大容量产品主存储容量在256KB以上,体系占2KB,每页占2KB;互联网型产品主存容量最大为 256KB以上,体系占18KB,每页占2KB. 根据以下简略的规矩进行区分,根据其主存储块容量来划分,STM32F105xx.STM32F107xx是互联型产品. 几类单片机的不合之处就在于引诱装载程序的不合,小中大容量产品的BootLoader占用空间很小,只能经由过程USART1进行在线编程,而互联型产品的BootLoader有18KB是小中型的9倍,从而编程的方法选择也就加倍的多样化,例如USAT1.4.CAN等多种方法.
1.关于ISP与IAP ISP即在体系编程,是指直接在目标板上对芯片进行编程,一般须要一个自举程序(BootLoader)来履行.
- 配套讲稿:
如PPT文件的首页显示word图标,表示该PPT已包含配套word讲稿。双击word图标可打开word文档。
- 特殊限制:
部分文档作品中含有的国旗、国徽等图片,仅作为作品整体效果示例展示,禁止商用。设计者仅对作品中独创性部分享有著作权。
- 关 键 词:
- 基于 STM32 智能家居 系统 设计
![提示](https://static.bingdoc.com/images/bang_tan.gif)