查看: 3054|回复: 4

【GD32F450 使用】物联网网关设计

[复制链接]
  • TA的每日心情
    慵懒
    2017-6-14 23:13
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

    发表于 2017-6-14 22:37:26 | 显示全部楼层 |阅读模式
    分享到:
          非常感谢GIGADEVICE提供了F450的小红板,之前是准备用这个板子做无线电数传的,后来由于有朋友需要做物联网系统,最后把开发板做成了物联网的网关设备,目前项目进度基本完成,所以才有时间上来发帖。看过我之前的发帖有知道我不太会写程序,所以在本帖子里面基本上不会出现代码,希望大家不要喷我。以下分为几个部分
          1.小红板硬件解析
          2.物联网的系统架构
          3.小红板的怎么用到物联网上面

    在后面的楼层慢慢写完


    回复

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-6-14 23:13
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2017-6-14 23:11:09 | 显示全部楼层
    1.小红板硬件解析
    这版本的小红板比之前F190的板子做了很多改进,具体如图。

    小红板解析

    小红板解析


    功能上和190的差不多,主要增加了以下改进
          (1)晶体起振电容位置改在MCU与晶体之间,这样有效保证了使用外部晶体作为时钟源的可靠性。
          (2)添加了螺钉孔,方便了我这种直接拿开发板当产品给人试用的懒人。
          (3)GD-LINK 部分的电阻可以改成插针,这样可以直接把开发板掰开方便以后给其他GD系列MCU烧写程序和仿真
          (4)按键不再软绵绵,使用起来更舒爽
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-6-14 23:13
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2017-6-14 23:25:28 | 显示全部楼层
    2.物联网的系统架构
        系统的架构很简单,无非是很多个传感器设备通过无线信号传输给小红板,然后小红板将数据传到PC,PC再来个大数据运算而已。 只不过这套通过特别的通信协议和算法,一个网关理论上能够支持9000个无线传感器。 具体的框图如图

    物联网系统架构

    物联网系统架构

            终端设备(传感器)将数据通过网关传给中心服务器,然后网关就是我们的小红板了。
    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-6-14 23:13
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2017-6-14 23:51:40 | 显示全部楼层
    本帖最后由 草地上的怪蜀黍 于 2017-6-15 23:22 编辑

    3.小红板的怎么用到物联网上面
         好了,我们的干货来了。
         有人也许会问,这个450拿来做网关没有问题,貌似其他低阶点的比如F190也可以拿来做呀。
         我先回答下: 原因1,190跑不快。 原因2,190跑不快。 原因3,190跑不快。。。。原因Z, 客户是行业客户,经常会有比较变态的要求,上ARM 11跑LINUX实时性不够,跑VXWORKS要买授权,190没有足够的预留空间。所以。。手上刚好又200Mhz的450,用得刚刚好。既满足了当前客户的需求,又为以后往里面加料预留足够的性能空间。
       

    网关架构

    网关架构

          图片上面那个就是网关的架构了, 两个6块钱买来的SI6446模块,一个淘宝20块钱的W5100网口模块,就组成了网关了。是不是觉得很简单呀,实物图像下面这样的。

    网络模块

    网络模块

            怎样,这个是不是很熟悉呀? 没错!就是国内山寨arduino-ethernet-shield的网络模块。为了简单,就这样飞线用吧。
            下面是我们的通信主角,SI4464无线模块
    IMG_2799.JPG
            手工不好,自己飞的线,将就下用了。。
            组成一体的图片就不发了,确实飞线飞得密密麻麻的,捂脸。
    接下来说下编程的思路
            首先,需要初始化时钟,这个属于基本,没啥好讲的。
            然后,初始化SI4464的驱动,即初始化SPI1、SPI2接口以及配置GPIO的中断腿(注意下,中断有优先级的,这个设备的策略是这样的:SPI1上的中断优先级最高,SPI2次之,SPI3即网口的最弱),加载FLASH中的配置,划分内存空间。
            接着初始化W5100接口,即初始化SIP3,加载FLASH中的配置,划分内存空间,建立链接。
            最后开始干活,每秒钟内,4464-1先广播一下,然后看看有没有信息进来。没有,就跳到6446-2,再广播下,看看有没有信息进来,没有,等下次再来。万一有数据进来,传给W5100。 死循环。。
            过程差不多就这样了,今天客户嫌弃配置麻烦,叫添加显示控制。。。果然很折腾。改方案去。










    回复 支持 反对

    使用道具 举报

  • TA的每日心情
    慵懒
    2017-6-14 23:13
  • 签到天数: 1 天

    连续签到: 1 天

    [LV.1]初来乍到

     楼主| 发表于 2017-6-15 23:24:10 | 显示全部楼层
    忘记说了,因为代码是另一个同志写的,所以没有贴上来,抱歉了。 如果需要通信协议什么的,可以在QQ群里面@我。
    回复 支持 反对

    使用道具 举报

    您需要登录后才可以回帖 注册/登录

    本版积分规则

    关闭

    站长推荐上一条 /2 下一条



    手机版|小黑屋|与非网

    GMT+8, 2024-5-6 00:14 , Processed in 0.151525 second(s), 24 queries , MemCache On.

    ICP经营许可证 苏B2-20140176  苏ICP备14012660号-2   苏州灵动帧格网络科技有限公司 版权所有.

    苏公网安备 32059002001037号

    Powered by Discuz! X3.4

    Copyright © 2001-2024, Tencent Cloud.