0
  • 聊天消息
  • 系统消息
  • 评论与回复
登录后你可以
  • 下载海量资料
  • 学习在线课程
  • 观看技术视频
  • 写文章/发帖/加入社区
会员中心
创作中心

完善资料让更多小伙伴认识你,还能领取20积分哦,立即完善>

3天内不再提示

关于GD32 MCU打造绿色智能家居的介绍和应用

GD32MCU 来源:djl 2019-10-22 09:26 次阅读

基于绿色节能的理念,在智能家居模型中加入了蓄电池、太阳能电池板、风能发电机,以GD32 MCU为控制核心,设计了红外检测、人体检测、光控LED、温度监测和电子锁等功能,并可通过GSM短信进行报警。

GD32F1 系列MCU产品ARM架构的Cortex-M3处理器,其主频为108MHz。精简指令集架构配上百兆主频,提供了出色的运算处理性能。为了给用户更大的选择空间,产品提供16KB到3072KB的FLASH容量,6KB到96KB的内部SRAM,并有QFN36、LQFP48、LQFP64、LQFP100和LQFP144多种封装选择。系列产品在软件和引脚封装方面全兼容。

关于GD32 MCU打造绿色智能家居的介绍和应用

GD32F1 MCU供电电压范围为2.6V-3.6V,内核的供电电压为1.2V,I/O口可容许5V电平输入,内嵌2个看门狗(WDG)和实时时钟(RTC),在外部电池供电情况下,内嵌日历型高精度实时时钟(RTC)运行时的待机电流仅为4.3uA,具有掉电复位(PDR)、上电复位(POR)及电压监测(LVD)功能。

GD32F1 MCU支持三相PWM互补输出和死区管理功能的16位高级定时器可用于矢量控制,还拥有多达10个16位通用定时器、2个16位基本定时器、1个32位通用定时器和7通道DMA控制器,可用作主时钟的8MHz内置RC振荡器出厂校准精度为±1%。全面升级的模拟外设包括1个转换时间为1us的16通道12位高速ADC、1个12位DAC、2个高速轨到轨输入/输出模拟电压比较器和1个预校准的温度传感器,可充分满足多通道高速数据采集和控制要求。同时,产品线提供多种选择,可配合不同设计者的需求选择。

GD32系列MCU也配备了丰富的外设接口资源,主要包括1个全速USB2.0、5个USART、3个SPI、2个快速I2C、1个I2S,针对家庭多媒体设备新增了支持HDMI接口的消费电子控制(CEC)总线硬件电路,还针对按键、滑动等触控应用集成了触摸感测接口(TSI),最多可同时连接18个外部电极。多达80%的可用GPIO具有多种可选功能,还支持端口重映射,极佳的灵活性和易用性满足多种应用需求。图一为部分GD32MCU产品对比,GD32F1 MCU家族拥有GD32F103主流型、GD32F101基本型、GD32F105和GD32F107互联型、GD32F130和GD32F150超值型、GD32F170和GD32F150 5V宽电压超值型等8个系列,8种封装,124个产品型号。完整产品线可关注官方网站:http://www.GD32MCU.com。

关于GD32 MCU打造绿色智能家居的介绍和应用

绿色智能家居的设计与实现

智能家居的潮流已不断地席卷全球,各国科技巨头都在这个领域探索自己的一席之地,本文采用雪糕棒筑造了智能家居的模型,基于绿色节能的理念,为了更多地利用可再生资源,在智能家居模型中加入了蓄电池、太阳能电池板、风能发电机,希望将来某一天家庭停电时,收集的能量、储备的能源可以解决燃眉之急。

智能家居模型硬件组成

绿色智能家居模型硬件主要包括GD32MCU、GSM模块、TFT触控彩屏、4*4按键、红外检测装置、人体检测装置和光控灯等,硬件组成框图如图1所示。

主控芯片 - GD32 MCU

本文采用的GD32 MCU,型号为GD32F103VKT6,该芯片具有3072KB的FLASH、96KB的SRAM、10个基本通用定时器、2个高级定时器、2个基本定时器、5个UART、3个12位16个通道ADC、2个12为DAC、以及看门狗(WDG)、内部时钟(RTC)、I2C、SPI、CAN2.0、USB2.0等丰富资源。

GSM模块

GSM主要用于短信报警,该型号为SIM300,利用GD32MCU的UART与该模块进行通信,通过发送AT指令可以在主人家里遇到状况时以短信形式告知主人。

TFT触控彩屏

采用320*240分辨率2.8寸TFT电阻屏,利用GD32外部存储控制器(EXMC)总线直接驱动TFT数字彩屏。这种方案对相应的寄存器进行配置后就可以自动向TFT数字彩屏发送数据,无需CPU参与,让CPU有足够时间来处理其他程序。

输入控制

采用了4*4按键和彩屏触摸输入控制,可选择任意一种方式进行各项操作,例如,锁屏、锁定系统、修改报警温度、修改时间、修改密码、修改通知手机号、关闭各种报警开关等。采用GD32MCU进行这些复杂的操作编写系统运行稳定、顺畅、进行仿真调试方便。

光控LED

采用GD32 MCU的内部ADC采集光敏电阻电压,从而实现LED白天自动关、晚上自动开启的功能。

红外检测

红外检测装置由发射管和接受管构成,接受管是个具有光敏特征的PN结,通过LM393比较器后可以得到供MCU识别的IO电平,需要注意的一点是,比较器输出结构一般是集电极开漏(OC),需要注意到GD32MCU的IO口可以配置多种模式,例如输入口有上拉输入、下拉输入,输出口有推挽输出、开漏输出。

其他模块

该家居模型还安装了DS18B20温度传感器、人体热释电红外传感器和采用内部PWM驱动的报警蜂鸣器,由于篇幅有限,故不赘述。

智能家居模型软件构架

软件架构如图2所示,程序初始化后进入主循环,初始化主要包括了系统时钟、温度传感器、FLASH存储器、图形界面、蜂鸣器、报警和定时器的中断初始化。主循环的主要任务是控制显示屏背光、显示屏界面元素的刷新、按键的处理等。其中按键处理子程序有多个,根据程序所处的不同状态,会动态挂载不同的子程序。定时器3负责三个任务,其中按键扫描的频率比较高,通过队列方式传递键盘数据;门禁的定时用于产生自动关门信号;每隔一段时间检测一次温度。定时器6负责门禁检测,通过红队对管对进出门进行扫描,同时也提供震荡频率驱动蜂鸣器进行报警。所有定时器管理的任务都只实现检测,通过消息的方式传递检测到的数据,主循环的任务根据共享内存中的数据完成相应任务。

关于GD32 MCU打造绿色智能家居的介绍和应用

智能家居模型实现的功能

在智能家居模型中充分利用了GD32 MCU的内部资源和相应功能,模拟了智能家居的场景,系统启动后,采用菜单操作,可设置密码、修改预存手机号码、修改异常温度值,还可通过短信方式获取系统密码,具有太阳能发电和风能发电功能,通过红外方式检测进出门,利用热释电红外传感器检测非法入侵,可将火灾和非法入侵等信息利用短信进行报警,还实现了温度检测和电子锁等功能,在后续工作中将增加手机APP客户端控制功能。

应用前景

该MCU产品主要面向工业控制和消费类嵌入式应用,如图5所示,GD32 MCU适用于工业自动化、人机界面、电机控制、安防监控、智能家居家电及物联网等领域。在《电子产品世界》杂志举办的“年度电子产品世界编辑推荐奖”评选中,兆易创新 GigaDevice GD32 系列Cortex-M3内核微控制器系列产品获得“最佳本土芯片”大奖。在工业4.0和相信GD32 系列MCU将得到更广泛的应用!

声明:本文内容及配图由入驻作者撰写或者入驻合作网站授权转载。文章观点仅代表作者本人,不代表电子发烧友网立场。文章及其配图仅供工程师学习之用,如有内容侵权或者其他违规问题,请联系本站处理。 举报投诉
  • 智能家居
    +关注

    关注

    1926

    文章

    9519

    浏览量

    184347
  • 光敏电阻
    +关注

    关注

    4

    文章

    293

    浏览量

    48919
收藏 人收藏

    评论

    相关推荐

    GD32 MCU入门教程】GD32 MCU GPIO 结构与使用注意事项

    本文是专门为基于GD32 MCU开发的工程设计人员提供,主要介绍了GPIO的功能配置、内部结构以及在不同场景使用时的注意事项,旨在帮助GD32 MC
    的头像 发表于 09-07 10:34 599次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>入门教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> GPIO 结构与使用注意事项

    GD32 MCU 入门教程】GD32 MCU FPU 使用方法

    GD32 MCU FPU 使用方法
    的头像 发表于 08-25 09:24 472次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入门教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> FPU 使用方法

    GD32 MCU 入门教程】GD32 MCU 常见外设介绍(14)RTC 模块介绍

    GD32 MCU内部提供了一个RTC(实时时钟)模块,通过RTC可以实现日历时钟、闹钟等功能。RTC也可以用于深度睡眠或待机模式的低功耗唤醒。不同系列的GD32 MCU在RTC设计和功
    的头像 发表于 08-23 09:18 381次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入门教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 常见外设<b class='flag-5'>介绍</b>(14)RTC 模块<b class='flag-5'>介绍</b>

    GD32 MCU 入门教程】GD32 MCU 常见外设介绍(12)FMC 模块介绍

    闪存控制器(FMC),提供了片上闪存需要的所有功能。FMC 也提供了页擦除,整片擦除,以及32 位整字或 16 位半字编程闪存等操作。 GD32 MCU 支持不同类型编程的具体说明如下表 GD32
    的头像 发表于 08-21 09:56 997次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入门教程】<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 常见外设<b class='flag-5'>介绍</b>(12)FMC 模块<b class='flag-5'>介绍</b>

    GD32 MCU 入门教程】一、GD32 MCU 开发环境搭建(3)使用 Embedded Builder 开发 GD32

    GD32系列为通用型MCU,所以开发环境也可以使用通用型的IDE,目前使用较多的是KEIL、IAR、 GCC和Embedded Builder,客户可以根据个人喜好来选择相应的开发环境。
    的头像 发表于 08-08 16:03 848次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入门教程】一、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 开发环境搭建(3)使用 Embedded Builder 开发 <b class='flag-5'>GD32</b>

    GD32 MCU 入门教程】一、GD32 MCU 开发环境搭建(2)使用 IAR 开发 GD32

    GD32系列为通用型MCU,所以开发环境也可以使用通用型的IDE,目前使用较多的是KEIL、IAR、 GCC和Embedded Builder,客户可以根据个人喜好来选择相应的开发环境。
    的头像 发表于 08-08 15:40 604次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入门教程】一、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 开发环境搭建(2)使用 IAR 开发 <b class='flag-5'>GD32</b>

    GD32 MCU 入门教程】一、GD32 MCU 开发环境搭建(1)使用Keil开发GD32

    GD32系列为通用型MCU,所以开发环境也可以使用通用型的IDE,目前使用较多的是KEIL、IAR、 GCC和Embedded Builder,客户可以根据个人喜好来选择相应的开发环境。
    的头像 发表于 08-08 15:01 1029次阅读
    【<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 入门教程】一、<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> 开发环境搭建(1)使用Keil开发<b class='flag-5'>GD32</b>

    GD32 MCU ISP失败的原因

    玩过GD32的小伙伴们都知道,GD32 MCU支持ISP,即在系统编程,前面的常见问题也给大家讲过什么是ISP,什么是IAP?那有没有小伙伴遇到过ISP失败的情况,失败的原因是什么呢?
    的头像 发表于 02-28 09:23 1399次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b> ISP失败的原因

    如何排查GD32 MCU复位是由哪个复位源导致的?

    上期为大家讲解了GD32 MCU复位包括电源复位和系统复位,其中系统复位还包括独立看门狗复位、内核软复位、窗口看门狗复位等,在一个GD32系统中,如果莫名其妙产生了MCU复位,如何排查
    的头像 发表于 02-03 09:46 1646次阅读
    如何排查<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>复位是由哪个复位源导致的?

    GD32 MCU电源复位和系统复位有什么区别

    GD32 MCU的复位分为电源复位和系统复位,电源复位又称为冷复位,相较于系统复位,上电复位更彻底,下面为大家详细介绍上电复位和系统复位的实现以及区别。
    的头像 发表于 02-02 09:37 1429次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>电源复位和系统复位有什么区别

    你了解GD32 MCU上下电要求吗

    你了解GD32 MCU的上下电要求吗?MCU的上下电对于系统的稳定运行非常重要。
    的头像 发表于 02-02 09:36 982次阅读
    你了解<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>上下电要求吗

    不同型号的GD32 MCU如何区分?

    大家是否碰到过以下应用场景:同一套软件代码希望跑在不同型号的GD32 MCU中,但有些地方需要根据MCU型号进行调整?或者上位机或其他MCUGD3
    的头像 发表于 01-27 09:32 963次阅读
    不同型号的<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>如何区分?

    如何对GD32 MCU进行加密?

    GD32MCU有哪些加密方法呢?大家在平时项目开发的过程中,最后都可能会面临如何对出厂产品的MCU代码进行加密,避免产品流向市场被别人读取复制。下面为大家介绍GD32MCU所支持的几种
    的头像 发表于 01-20 09:30 1405次阅读
    如何对<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>进行加密?

    GD32 MCU的选项字节是什么?

    GD32 MCU的选项字节是什么,有什么功能呢?选项字节被误篡改如何回复?
    的头像 发表于 01-17 09:42 1275次阅读
    <b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>的选项字节是什么?

    你了解GD32 MCU的命名规则吗

    下面为大家介绍GD32 MCU的通用命名规则,以GD32F303ZGT6为例,其中,GD32代表GD32
    的头像 发表于 01-13 09:38 3460次阅读
    你了解<b class='flag-5'>GD32</b> <b class='flag-5'>MCU</b>的命名规则吗