ImageVerifierCode 换一换
格式:DOCX , 页数:75 ,大小:1.22MB ,
资源ID:1319507      下载积分:3 金币
快捷下载
登录下载
邮箱/手机:
温馨提示:
快捷下载时,用户名和密码都是您填写的邮箱或者手机号,方便查询和重复下载(系统自动生成)。 如填写123,账号就是123,密码也是123。
特别说明:
请自助下载,系统不会自动发送文件的哦; 如果您已付费,想二次下载,请登录后访问:我的下载记录
支付方式: 支付宝    微信支付   
验证码:   换一换

加入VIP,免费下载
 

温馨提示:由于个人手机设置不同,如果发现不能下载,请复制以下地址【https://www.bingdoc.com/d-1319507.html】到电脑端继续下载(重复下载不扣费)。

已注册用户请登录:
账号:
密码:
验证码:   换一换
  忘记密码?
三方登录: 微信登录   QQ登录  

下载须知

1: 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。
2: 试题试卷类文档,如果标题没有明确说明有答案则都视为没有答案,请知晓。
3: 文件的所有权益归上传用户所有。
4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
5. 本站仅提供交流平台,并不能对任何下载内容负责。
6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

版权提示 | 免责声明

本文(基于STM32的智能家居系统设计.docx)为本站会员(b****1)主动上传,冰点文库仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对上载内容本身不做任何修改或编辑。 若此文所含内容侵犯了您的版权或隐私,请立即通知冰点文库(发送邮件至service@bingdoc.com或直接QQ联系客服),我们立即给予删除!

基于STM32的智能家居系统设计.docx

1、基于STM32的智能家居系统设计基于STM32的智能家居系统设计 本科毕业设计(论文)题目名称: 基于STM32的智能家居系统设计 学 院: 计算机科学技术学院 专业年级: 计算机科学与技术(工)12级 学生姓名: 张云朋 班级学号: 1 班 41号 指导教师: 范忠诚 2016 年 6 月 摘 要随着科技的不断发展进步和人们对家居生活要求的逐步变高,智能家居已经得到了人们的认可,而现如今一套完整的智能家居设备价格昂贵,一般的家庭难以承受其高昂的价格,针对此种现象,一款功能稳定全面,但成本低廉的智能家居产品会帮助人们在价格和功能之间找到一条满足人们愿望的出路。此款智能家居采用STM32处理器,

2、技术成熟,程序移植方便,价格低廉。本款家居设备设计包括硬件设计和软件设计两个部分:硬件设计包含 :12864液晶电路、温度湿度传感器电路、烟雾浓度采集电路、ADC转换电路、报警电路、电源电路、光照采集电路和灯光控制部分电路,软件设计包含主程序、数据(温度、湿度,气体浓度,光照)检测及处理、和标准气体标定、ADC数据转换,当气体浓度超限时报警程序。经实验测试结果表明该智能家居设备有自动检测家庭环境指标并可以对采集信息进行及时稳妥的处理,精度高,检测范围广,稳定性好,显示简单,操作简便,抗干扰能力强等优良性能。关键词:ARM-M3;ADC;数据采集与处理;智能家居AbstractAlong wit

3、h the continuous development of science and technology progress and peoples requirement for household life gradually become tall, intelligent household has gained the recognition of people, now a complete set of intelligent household equipment is expensive, the average family is difficult to afford

4、the high prices, aiming at this phenomenon, a stable overall function, but low-cost intelligent household products can help people find a way out between price and functionality. This intelligent household USES STM32 processor, mature technology, application transplant convenience, low prices. This

5、household equipment design including hardware design and software design of two parts: hardware design includes: 12864 LCD, reactive temperature, humidity sensor circuit, the concentration of the smoke collecting circuit, ADC conversion circuit, alarm circuit, power circuit, acquisition circuit and

6、lighting lighting control circuit, software design includes the main program, data (temperature, humidity, gas concentration, light) detection and processing, and calibration standard gases, ADC data conversion, when gas concentration overrun alarm program. By the experimental test results show that

7、 the smart home devices have automatic detection family environment index and can be conducted to collect information to err on the side of the processed on time, high precision, detection range, good stability, display is simple, easy operation, strong anti-interference ability and other excellent

8、properties.Key words: ARMv7-M; ADC; Data acquisition and processing; serial communication第1章 绪 论 1.1 选题背景进入21世纪,人们的生活节奏越来越快,生活压力也越来越大,家成为人们最温馨的地方,人们对待自己最温暖舒适的家庭环境要求也随之在不断提高,如今的人们早八晚五的工作,上级的压力,父母长辈的压力,同事之间盲目的攀比等等,早已经将当代人压的喘难以呼吸,人们似乎已经注意到了家是自己的避风港,家居生活得到了人们的广泛关注,如今电子行业的发展速度飞涨,智能产品横飞,先进的科技与人们想要的智能家居生活擦

9、出了美丽的火花-智能家居,时光荏苒,转眼间,智能家居从出现到现如今经历了几十年的漫长发展逐步走向成熟,安全,智能,方便的家居生活得到了广大普通百姓的认可,从企业到个人都无时无刻与它发生着亲密关系,人们已经清楚的看到,智能家居的发展已成必然,他的腾飞亦不可阻挡。1.2 课题意义众所周知智能家居应经崭露头角,近几年一直以良好高速的发展态势在前进,智能家居市场上也开始出现了很多新颖的设备来满足人们的生活需要,但从总体的状况来分析总结,仍有不尽善尽美的地方,最主要两点是标准不统一和权威产品的缺乏。伴随着科技的进步,经济的发展,人们的财富变多的同时,对自己的生活环境的要求水平也的随着变高,智能家居也越发

10、变的受人青睐。家居智能化控制的开发和研究是未来国家经济发展的必然趋势。智能家居控制器可以为系统提供更智能更人性化生活模式,使住户的生活更加便捷,更高效,更能为家庭的日常活动,为快节奏的都是生活减小人们的压力,同时提供巨大方便。而且在现在这个重视健康环保的世界里,智能的为住户提供检测好空气的温度,湿度等检查空气成分让住户安心,放心可以满足人们的个性化需求。同时,智能家居控制器可以根据住户的要求调整方案,紧急事故处理,危机救护等急救控制,充分满足用户的需要。1.3 国内外发展概况智能家居在国内早已经不是一个新兴产业,处于一个导入期与成长期的临界点,大众市场的消费观念还未完全形成,但随着智能家居市场

11、经营者推广的进一步实施,引导消费者的消费方向和新产品的使用等措施的应用,智能家居市场的的活跃只是时间的问题。如今智能家居至今在中国已经历了近13年的发展,从人们刚开始的梦想,到今天真真正正的走进我们的生活,经历了一个反复曲折路。在1994年-1999,渡过智能家居的第一阶段萌芽期/智能小区期,在2000年-2005年期间,迎来了自己的第二阶段开创期,在2006年,经过了5年的发展,智能家居正式进入第三阶段-徘徊期,现如今,我们正在经历他的第四个阶段-融合演变期,自进入2011年以后,产品需求市场明显增长,现阶段房产行业不好,智能家居的进入能否再添新动力受到大家的关注。智能家居的产品需求量增长说

12、明智能家居行业进入了一个新的时间段,接下来的几年的时间里,智能家居一方面进入一个相对快速的发展阶段,另一方面协议与技术标准也开始慢慢走向统一,为标准化生产提供软条件的准备。而良好的势头也吸引了一批商人的加入,开发人员工资不断攀高,新的产品层出不穷,市场竞争越来越激烈。根据美国该行业权威公司PARKS的统计资料显示:1995年,美国一个家庭智能家居方面的花费大概在7000至9000美元之间。1995年美国家庭已使用先进家庭自动化设备的比率为0.33%,看来市场真正启动尚需时日。预计这五年内,家庭自动化的市场年平均增长率为8%.PARKS公司的资料亦显示:到2004年,家庭网络市场总额可达57亿美

13、元,由此可知,智能家居无论在国内还是国外都有良好的发展前景,形势一片大好。1.4 指导思想 本系统开发基于C语言。使用Keil4集成开发环境,使用现已经技术成熟的器材,以保障系统正常安全使用、质量性能好、稳定。界面操作简单,功能全面,实用性强,人机交互友好,无需复杂操作就可以使用产品,易学易用。 第2章 开发工具与MCU简介2.1 STM32F10XXSTM32系列单片机是为高性能、低成本、低功耗的嵌入式应用专门设计的,十分适合现在的智能家居研发,款型多、功能完备,资料丰富,技术也相对成熟,下面我们就来系统的了解一下这款单片机。按内核架构分为不同产品。其中STM32F1系列有:STM32F10

14、3增强型系列STM32F101基本型系列STM32F105、STM32F107互联型系列增强型系列时钟频率为72MHz,再同品型的单片机中是性能最好的一款;普通型的时钟频率为36MHz,而如今普通产品的价格得到性能大幅提升产品,相信是很多用户的最佳选择。两个系列产品都内置闪存大小是相同的,还是32K到128K,不同的是SRAM的最大容量和外设接口的这两部分。当时钟频率72MHz时候,可以从闪存中直接运行程序,速度更快,STM32功耗为36mA,是32位单片机同类市场上功耗最低的产品。 图2-1 STM32F10XX功能框图内核:32位mcu处理器,频率为72MHz,采用单周期乘法,不容易受外部

15、设备电流影响,稳定性更好。存储器:片上集成32-512KB的闪存。6-64KB的只读存储器。时钟、复位和电源管理:电源为3V供电。上电复位、掉电复位电路完善,自带可编程的电压探测器(现不常应用)。晶振为16MHz(频率可设置,可满足不同外部设备的驱动)。8MHz RC电路。40 kHz的RC振荡电路(可外接振荡电路,也可利用自身具有的振荡电路)。CPU时钟具有校准功能,由的32kHz的晶振单独完成。低功耗模式:3种低功耗模式:休眠,停止,待机模式。调试模式:串行调试接口和JTAG接口。DMA:12通道DMA控制器。支持的外设:定时器,ADC,DAC,SPI,IIC和UART。3个12位的us级

16、的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复用端口。一个2.0B的CAN接口,一个2.0USB接口含5个USART接收

17、端口,13个通信接口,2个IIC接口,和一个SDIO接口。1、相较传统的嵌入式处理器多一个嵌入式ARM内核,使其兼容性更加强悍,不仅对编程软件还是与单片机相关的工具都是一次技术上的统一,与此同时提高了代码处理效率,运行,调试更加高效。2、嵌入式Flash存储器和RAM存储器:内置512KB的闪存,为数据的安全性提供了更好的保障,存储数据程序也更加方便,只读存储器与CPU的时钟速度相同,可进行高速读写操作,更加贴近产品驱动需要。3、可变静态存储器(FSMC):STM32的静态存储器拥有4个片选,且每一种片选模式还有四种模式选择,控制的更加细致,精确,多更控制更加方便,不需要再加繁杂的外设,代码都

18、是从外部存储器执行,不占用没存,节省空间,提高运行速度,外部访问按照36MHz进行,速度更高,出错率更低。4、ARM的中断:可以处理43个中断通道,包含16个中断优先级,可以同时处理多个外部中断,对外设的处理精确度得到有效提高,更适合处理复杂多样的外设。紧密耦合的NVIC实现了低的中断处理延迟,直接向内核传递中断入口向量表地址,紧密耦合的NVIC内核接口,更加方便允许中断提前处理,对后到的更高优先级的中断进行处理,自动保存处理器状态,中断入口在中断退出时自动恢复,不需要指令控制,自动化程度更好,减小程序员的工作量。5、外部中断/事件控制器(EXTI):外部中断/事件控制器由19个产生中断请求检

19、索组成。每条线都是经过独特配置用于选择触 发事件(模式:上升沿,下降沿,或者两者都可以),可以同时屏蔽多个,也可以只屏蔽一个,更有利于对外设的控制。有一个挂起寄存器用来检测中断请求。当外部线上出现长度超过内部时钟周期的脉冲时,EXTI便马上能检测到是由外部的信号在申请中断。6、时钟和启动:系统的时钟在系统在工作前,先需要时钟的设定,一种是利用内部8MHz的晶振作为CPU时钟源。另外可以选择一个外部的4-16MHz时钟源,STM32在时钟的检测十分严格,会实时监控当与控制器被禁止那么软件中断管理也会跟着被禁止。还可以在PLL时钟的中断管理设定时钟。多个预比较器可以用来配置AHB频率,包括高速AP

20、B2和低速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无效时

21、为RTC,晶振和备份寄存器也可以为其提供电源,保证正常工作不受到影响。 2.2 KEIL MDKKeil MDK 的应用十分广泛,因其功能全面性能佳,界面简介友好,从其问世就迅速被广大程序工程师所熟知和使用,工程师的反馈-非常适合STM32的开发。Keil MDK,也称MDK-ARM,Realview MDK、I-MDK、uVision4等。MDK-ARM软件为基于Cortex-M、Cortex-R4、ARM7、ARM9处理器设备提供了一个完整的开发环境,一款软件多项应用,方便嵌入式工程师们在不同项目中多种程序的编写,不用多次熟悉开发工具,单凭这一点,早已在嵌入式工程师的心中占据巨大优势, M

22、DK-ARM是一款专为微控制器应用而设计生产的,因其界面简洁清晰,不仅易学易用,而且功能强大,能够满足大多数的嵌入式应用,综合分析是嵌入式工程师的不二选择。MDK-ARM有四个可用版本。所有版本均提供一个完善的C / C+开发环境,实现多界面,多机型,多语言集于一身的高性价比产品,其中MDK-Professional还包含大量的中间库,方便调用且数据库全面。使用Keil 来开发嵌入式软件,大致有以下几个步骤:1. 创建一个project,选择芯片,并进行一些必要的配置信息2. 编写C 源文件3. 编译工作代码4. 修改源程序中的错误5. 下载程序调试uVision4 开发环境如下我们可以做到编

23、辑,编译,项目管理等多个程序调试步骤,窗口设计合理,出错显示更加清晰,方便程序的调试。uVision4的特点:支持多系列单片机(Cortex-M、Cortex-R4、ARM7和ARM9);多语言(C/C+)的工具链,操作系统自带源码,封装模块化数据;不仅提供编译,调试,还具备仿真环境;网络套件提供多种协议应用;拥有标准的USB设备连接可能,与外设交互友好;不仅可以处理程序代码,还可以处理图形;程序每运行一次会有一次覆盖;符合国际公认的软件接口标准。ULINK USB-JTAG 界面适配器:ULINK USB-JTAG 是一个用于连接PC USB 口和开发板JTAG 口的小硬件适配器。通过JTA

24、G你可以很方便的将你的程序下载到目标板上测试和验证程序运行的效果。ULINK 支持如下操作:1. 下载目标程序2. 检查存储器和寄存器3. 单步运行程序4. 插入多个中断点5. 实时运行程序6. 烧写FLASH 存储器第3章 总体分析与设计3.1 方案分析每个智能家居系统的设计者首先考虑到的问题就是MCU选型的问题。嵌入式设计中比较主流的两款单片机就属ARM与AVR/51最受大家的青睐,51是一款8位MCU的处理器,相较32位处理器的ARM在运算能力上有明显的不足,但32位的运算的指令也是非常复杂的,进行大量的数据运算,视频数据,能力虽然较8位机强很多,运算速度也高好多倍,但在各个中断,寄存器

25、配置,时钟要求等等也更为严格,而且AVR的编程需要配置gcc或icc才能正常工作,有固定的工作的环境,和51单片机相比,很复杂,可以用来参考的文献资料也没有51多,ARM与51相比虽然采用指令集简化了很多,可以在每个时钟周期内执行一条命令,51需要12个时钟周期才能完成一条指令的工作,综合来分析51与STM32单片机都拥有各自的优势,如何选择就要从需求上加以分析。51单片机是每一嵌入式编程人员的入门课程,很基础,电路也相对简单,资料丰富,芯片很便宜,市面很常见,但一旦处理大量的数据,设计复杂运动控制,视频时,51就力不从心了,运算的速度和效率低也是51的一个致命的缺点,简单的总结下就是AVR的

26、指令系统比较精简,总线和存储结构也与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口都

27、对应着32位的配置寄存器,可以进行自由的配置,还具有锁存器和16位的复位寄存器和复位寄存器。每个I/O口都可以自由的编程,每个I/O口都可以由软件配置成多种模式。它的嵌入式中断矢量控制器,具有16个可编程优先级,60个可屏蔽中断通道,还具有延迟的异常和中断处理。STM32F103VCT6 优秀的特性决定了本设备产品设计的最终平台。在选定MCU 后,首先规划本设备的各个功能的实现。通过分析该设备在工业现场需要发挥的监控作用,初步将该设备的功能设计如下:AD 数据采集,串行通信,EEPROM 数据存储的读写,SD 卡数据存储的读写,NANDFLASH 数据存储的读写,时钟的读写设置。STM32F1

28、03VCT6的ADC转换器是一种12位精度的逐次逼近型的数字转换器。它有18个通道用来传递信息数据,可以测量16个外部信号和2个内部信号。本款产品没有全部使用所有的ADC,仅使用了其中的6条AD转换通道。在ADC 通过外部传感器将模拟信号转化为数字信号后,接收返回的数据存储在SD卡中或者EEPROM 中,供使用程序人员对数据进行分析和处理。时钟在不断电的情况下即可正常运行,可以为产品的液晶屏显示提供时间不需要外接设备提供时间。我们所常用的传感器信号一般都是模拟量,例如温度传感器,湿度传感器等为了数据的操作与处理方便,需要将其转换为数字量,所以需要使用到ADC 器件。紧接着就是AD方案的选择问题

29、:其中一种是使用独立的ADC转换器,另一种使用MCU中自带的ADC 转换模块。而ADC的选择依据有如下几个关键的参数有分辨率,转换速率,模拟量输入端数,模拟量输入电压范围,数字量输出方式等等。我们以ADC0809为例简单说明下,0809的参数如下:1)8路输入通道,8位A/D转换器,即分辨率为8位。2)具有转换起停控制端。3)转换时间为100s。4)5V电源供电。5)模拟输入电压范围0-+5V,不需要校准和清零过程。6)工作温度在-40+85摄氏度。7)功耗低,约15mW。ADC0809属于中等速度的ADC转换器,价格也比较低,但分辨率较低。如果外接高速ADC 转换器,价格又过高,并不是最好的

30、选择。然而,对于MCU自带的ADC模块,其工作性能并不差。该ADC属于逐次逼近型模拟数字转换器。它有18个信息采集返回通道,可测量16个外部信号和2个内部信号。在本次设计中我们将两种ADC的采集方法并用,下面会有详细的使用说明。在智能家居系统里,需要存储的数据并不是很多,温湿度信息的存储和登录密码存储即可。说到STM32的闪存用途,我们的第一反应是用来装程序代码的,实际上,STM32的片内FLASH不仅可以用来装程序数据代码,还用来装芯片配置、芯片ID等等。虽然智能家居系统里的数据存储只放在FLASH就可以了,但我们为了大家能够更好的了解,还是简谈下FLASH的有关问题: 1、FLASH分类

31、根据用途进行分类,STM32片内的闪存分成两部分:主存储部分、信息块部分。 主存储块可以用于存储程序,我们写的代码,数据都会存储在这里。 信息块又分成两部分:系统存储器部分、选项字节部分。系统存储器存储是出厂时就被锁死的,用户不需要处理它,用来存储系统代码, 选项字节存储芯片的配置内容是对主存储块内容的一种保护。 2、FLASH的页面 STM32的FLASH主存储块按页组织,有的产品每页1KB,有的产品每页2KB。页面典型的用途就是用于按页擦除FLASH。从这点来看,页面有点像通用FLASH的扇区。 3、STM32产品的分类 STM32根据FLASH主存储块容量、页面的不同,系统存储器的不同,

32、分为小容量、中容量、大容量、互联型,共四类产品。小容量产品的主存储存容量在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)来

copyright@ 2008-2023 冰点文库 网站版权所有

经营许可证编号:鄂ICP备19020893号-2