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

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

3天内不再提示

关于GD32F350R8的都市青年家庭安防卫士的介绍和分析

GD32MCU 来源:djl 2019-10-21 14:49 次阅读

1项目背景

随着都市生活节奏的加快,越来越多的青年人为了梦想漂泊在大都市中。北京上海尤为居多,而很多人几乎整个白天都不在家,家里的情况缺少有效的监测。市面上,陆续推出了很多视频监控系统,从一定程度上实现了远程监控以及查看。

本项目,借助兆易创新推出的GD32F350高性价比Arm处理器,来实现家庭安防系统的初步搭建。通过传感器对房屋状况进行有效监控。借助OV5640摄像头,热释电传感器以及雨滴传感器等,依靠GD32F350自身的硬件结构,实现了一个低成本、高准确度的家庭安防方案。

从图像处理层面,提升监控的准确性。依靠硬件自由的模块,在未增加任何硬件扩展模块(SDRAMFLASH)等的基础上,完全依靠GD32F350的自身优势,实现图像信号捕捉,采集,传感器信号捕捉、分析等实时性较强的监测事件。

该系统采用了GD32F350的以下功能:

1. UART 高性能异步通信接口

2. GPIO 通用输入输出接口

3. 内部高速PLL,108MHz的主频

4. 软件模拟I2C,SCCB协议

5. 内部FLASH读写

6. RTC实时时钟

7. Timer定时器捕获高速输入

8. DMA传输

9. Timer捕获触发DMA传输

10. 外部中断ETI

从实际测试效果和项目推进过程中所用的模块具体运行情况来看,GD32F350这款处理器,已经可以满足绝大多数生活和工业的实际需要,功能强大,性能强悍,让人欣喜不已。

2系统设计

本项目基于兆易创新的GD32F350 Arm处理器,作为《都市青年家庭安防卫士》的主控处理器,负责对白天长时间无人的家庭环境进行监测,可监测室外雨水情况,房屋人员走动情况等,可实现远程交互。

图2.1 基于GD32F350的都市青年家庭安防卫士架构图

2.1硬件设计

硬件设计采用PCB洞洞板和跳线来实现。将高速数字信号诸如摄像头的PCLK和像素信号采用焊锡在洞洞板上走线,而诸如电源和地等低速数字信号或者模拟信号采用跳线等加以连接。

图2.2 基于GD32F350的都市青年家庭安防卫士部分硬件连接图

2.2软件设计

软件设计主要围绕ov5640的驱动来实施的,程序实施原理图如下:

关于GD32F350R8的都市青年家庭安防卫士的介绍和分析

图2.3 基于GD32F350摄像头采集软件设计框架图

摄像头的PCLK是高速信号,需要通过Timer定时器来进行捕获,通过触发DMA请求,进行传输,整个过程中,不需要CPU参与,极大的释放了CPU的压力,而且,整个采集过程高速进行。场中断和行中断分别控制图像信号的采集。

初始化DMA, TimerA,场中断和行中断后,设置DMA循环采集模式,即可得到想要的图像数据。

程序流程图如下:

关于GD32F350R8的都市青年家庭安防卫士的介绍和分析

3项目完成情况

项目历时40多天,项目完成了预期的所有内容,并额外扩展了LCD显示,蓝牙显示,雨滴传感器等功能。

图3.1 都市青年家庭安防卫士实物图

实现的功能主要有:

1. 软件I2C成功实现GD32F350对摄像头的读写

2. DMA+定时器捕获实现对摄像头数据的采集

3. 利用高达108MHz的内部时钟成功实现实时图像处理

4. 实现高精度人体移动识别,识别精准率高达99.9%

5. 实现系统与蓝牙和电脑上位机的实时交互

6. 通过串口显示屏方便查阅告警信息

7. 所有告警信息,都显示具体的告警时间,精确到毫秒位(RTC实现)。

所有预期功能100%实现。

程序源码https://github.com/Janet-ZHU/Urban-youth-family-security-guard.git

4项目总结与展望

4.1 项目总结

项目实现了预期的功能,并额外扩展了LCD显示,蓝牙,雨滴传感器等功能

人体移动识别率高达99.9%。

雨滴和热释电传感器为家庭生活提供了更多的提示。

4.2 未来的优化

搭建web服务器,将告警信息和监控状态实施上传。

利用QT开发中枢控制界面,以及安卓app客户端。

进一步优化图像算法,使得采集特征点降低的同时,保持较高的识别率。

5开发心得与难点

5.1开发心得

在实际的开发中,我们必须要读懂芯片手册和官方的开发者指南;另外,尽可能的查阅已有的资料和官方给出的固件库,避免走弯路。很多时候,我们需要一个逻辑分析仪来调试我们的I2C,SPI以及其它协议,一个普通的就行,淘宝上价格不是很贵。

不得不说,GD32处理器性能已经足够我们平时的开发,尤其是Arm内核的通用性,使得我们查阅资料更加方便。

5.2难点总结

1. 开发板上的硬件I2C和UART1接口是被按键和JTGA调试口占用的,需要rework以下电路才能使用。因此,建议在使用一些功能前,请认真核对以下板子原理图。

2.摄像头的PCLK速率过高,会造成中断无法响应,建议不要采用GPIO查询的方法接收PCLK,通过定时器捕捉PCLK,加上定时器电路有滤波器,会使得采集效果更好。

3. 在上电后改变PLL频率时,需要等待PLL稳定后,再切换,建议熟读手册,或者参考本项目中的相关程序。

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

    关注

    2550

    文章

    51046

    浏览量

    753142
  • 摄像头
    +关注

    关注

    59

    文章

    4837

    浏览量

    95611
  • 模拟信号
    +关注

    关注

    8

    文章

    1128

    浏览量

    52445
收藏 人收藏

    评论

    相关推荐

    如何使用Zigbee实现家庭

    Zigbee技术概述 Zigbee是一种基于IEEE 802.15.4标准的高级通信协议,专为需要低数据速率、长电池寿命和安全通信的应用而设计。它支持星型、树型和网状网络拓扑结构,适用于构建复杂的网络系统。 2. 家庭防系统需求分析
    的头像 发表于 12-09 15:49 379次阅读

    GD32 MCU 移植教程】9、从 STM32F10x 系列移植到 GD32F30x 系列

    GD32F30x 系列 MCU 是基于 Arm® Cortex®-M4 处理器的 32 位通用微控制器,与 STM32F10x 系列 MCU 保持高度兼容。本文主要从以下三个方面进行介绍:硬件资源
    的头像 发表于 09-07 09:57 687次阅读
    【<b class='flag-5'>GD</b>32 MCU 移植教程】9、从 STM32<b class='flag-5'>F</b>10x 系列移植到 <b class='flag-5'>GD32F</b>30x 系列

    GD32 MCU 移植教程】8、从 STM32F4xx 系列移植到 GD32F4xx 系

    GD32F4xx 系列 MCU 是基于 Arm® Cortex®-M4 处理器的 32 位通用微控制器,与 STM32F4xx系列 MCU 保持高度兼容。本文主要从以下三个方面进行介绍:硬件资源对比
    的头像 发表于 09-06 09:40 1259次阅读
    【<b class='flag-5'>GD</b>32 MCU 移植教程】<b class='flag-5'>8</b>、从 STM32<b class='flag-5'>F</b>4xx 系列移植到 <b class='flag-5'>GD32F</b>4xx 系

    GD32 MCU 移植教程】7、从 GD32F10x 移植到 GD32E103

    本应用笔记旨在帮助您快速将基于 GD32F10x 2.0 版本及以上固件库开发的应用程序从GD32F10x 系列微控制器移植到 GD32E103 系列微控制器。GD32E103 和
    的头像 发表于 09-05 09:40 508次阅读
    【<b class='flag-5'>GD</b>32 MCU 移植教程】7、从 <b class='flag-5'>GD32F</b>10x 移植到 <b class='flag-5'>GD</b>32E103

    GD32 MCU 移植教程】6、从GD32F1x0和GD32F3x0移植到GD32E230

    GD32E230 系列是 GD 最新推出的 Cortex_M23 系列产品,该系列资源上与既有的 GD32F1x0 以及 GD32F3x0 兼容度非常高。由于
    的头像 发表于 09-04 09:38 564次阅读
    【<b class='flag-5'>GD</b>32 MCU 移植教程】6、从<b class='flag-5'>GD32F</b>1x0和<b class='flag-5'>GD32F</b>3x0移植到<b class='flag-5'>GD</b>32E230

    GD32 MCU 移植教程】5、GD32E230 系列移植到 GD32F330 系列

    移植到 GD32F330 系列的需求,本文 档专门针对既有的 GD32E230 代码如何移植到 GD32F330 做一个详细的介绍
    的头像 发表于 09-03 10:05 1089次阅读
    【<b class='flag-5'>GD</b>32 MCU 移植教程】5、<b class='flag-5'>GD</b>32E230 系列移植到 <b class='flag-5'>GD32F</b>330 系列

    GD32 MCU 移植教程】2、从 GD32F303 移植到 GD32F503

    GD32E503 系列是 GD 推出的 Cortex_M33 系列产品,该系列资源上与 GD32F303 兼容度非常高,本应用笔记旨在帮助您快速将应用程序从 GD32F303 系列微控
    的头像 发表于 08-31 09:36 1459次阅读
    【<b class='flag-5'>GD</b>32 MCU 移植教程】2、从 <b class='flag-5'>GD32F</b>303 移植到 <b class='flag-5'>GD32F</b>503

    GD32 MCU 移植教程】1、从 GD32F10x 移植到 GD32F30x

    应用程序移植到新的微控制器。本应用笔记旨在帮助您快速将应用程序从 GD32F10x 系列微控制器移植到 GD32F30x 系列微控制器。
    的头像 发表于 08-30 09:52 1549次阅读
    【<b class='flag-5'>GD</b>32 MCU 移植教程】1、从 <b class='flag-5'>GD32F</b>10x 移植到 <b class='flag-5'>GD32F</b>30x

    GD32F3x0资料分享

    电子发烧友网站提供《GD32F3x0资料分享.rar》资料免费下载
    发表于 06-28 10:48 0次下载

    GD32F303红枫派开发板使用手册】第二十讲 SPI-SPI NAND FLASH读写实验

    通过本实验主要学习以下内容: •SPI通信协议,参考19.2.1东方红开发板使用手册 •GD32F303 SPI操作方式,参考19.2.2东方红开发板使用手册 •NAND FLASH基本原理 •SPI NAND介绍 •使用GD32F
    的头像 发表于 06-20 09:50 886次阅读
    【<b class='flag-5'>GD32F</b>303红枫派开发板使用手册】第二十讲 SPI-SPI NAND FLASH读写实验

    GD32F150R8T6使用串口通信有时候给单片机发数据了却没有反应?如何解决?

    GD32F150R8T6使用串口通信有时候给单片机发数据了没反应,且rx端没回复,给单片机重新上电后回复正常,请问大佬该如何解决?
    发表于 01-24 06:10

    GD32F303 使用PA8输出内部时钟频率#GD32 #时钟技术 #MCU #单片机

    单片机mcugd32f303
    聚沃科技
    发布于 :2024年01月22日 09:59:40

    GD32F303 低功耗模式要点

    我们都知道,MCU有低功耗模式,比如GD32F303芯片,就有Sleep、Deepsleep和Standby三种模式。关于这三种模式的具体使用方法,小伙伴们可以参考《GD32F30x系列用户手册》。
    的头像 发表于 01-17 09:40 2499次阅读
    <b class='flag-5'>GD32F</b>303 低功耗模式要点

    你了解GD32 MCU的命名规则吗

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

    GD32F系列MCU片上Flash中Code区和Data区使用解密

    GD32F系列MCU产品片上Flash分Code区和Data区,以GD32F303系列为例,从GD32F303xx Datasheet中可以获取code区和data区大小,那Code区和Data区在代码执行上有什么差别呢?
    的头像 发表于 01-09 10:07 2766次阅读
    <b class='flag-5'>GD32F</b>系列MCU片上Flash中Code区和Data区使用解密