datasheet

基于ARM 处理器的低成本网关硬件设计

2018-02-09来源: eefocus 关键字:ARM  处理器  低成本网关

    随着物联网技术的飞速发展,将传统的Internet与新型的无线传感器网络整合的趋势越来越明显,嵌入式服务网关既是无线传感器网络的协调器网关,又是远程WEB 的服务器,它实现两个不同协议的网络之间的通信。同时也是将无线传感器网络接入Internet,从而实现物联网概念的关键设备。物联网服务网关在未来的物联网时代将会扮演非常重要的角色,它将成为连接物联网感知层网络与传统通信网络的纽带。物联网网关可实现感知网络和基础网络以及不同类型的感知网络之间的协议转换,既可以实现广域互联,也可以实现局域互联。并且具有广泛的感知网接入、通信协议转换和强大的系统管理等特点[1]。利用嵌入式系统设计的服务网关可以有效降低成本,利用家庭智能化的普及。

 

    1 系统总体结构设计

    系统的总体结构如图1 所示。在远端的移动智能终端或电脑通过Internet 访问到无线传感器网络,而嵌入式WEB 服务器提供了交互式的页面访问。如果访问数据量大或者需要对数据有统计、分析及处理,那么需要建立网页服务器和数据库服务器 [2]。在物联网框架下的智能家居是一个复杂的系统,需要多人合作完成,如Internet 数据库服务器的设计、建立感知层网络。文中重点介绍服务网关的设计,包括嵌入式WEB、近程终端、WSN 协调器3个部分所组成的一体化终端。它是两个异构网之间的桥梁,起着重要的衔接作用[3]。

     

     

图1 系统总体框

    2 系统硬件设计

    本设计中智能家居系统的硬件由3 部分组成:服务网关、终端节点和路由节点。

    (1)服务网关

    服务网关硬件框图如图2 所示。由ARM 主控制器、Zigbee 模块、以太网PHY、TFT-LCD 液晶触

    摸屏、及最小系统模块5 部分组成。

     

     

图2 服务网关硬件框

    主控制器采用基于ARM(Cotex-M3) 核的STM32F107 互联型微控制器。它拥有64K SRAM、

    256K FLASH、以太网MAC 等丰富的存储器及外设资源。Zigbee 模块是由TI 公司的CC2430 作为主控芯片,在服务网关中它是WSN 的协调器,通过USART 实现与主控制器之间的数据通信。以太网模块采用以太网的物理层芯片DM9161A,通过RMII与主控制器相连接,其50M 时钟由ARM 的MCO提供。液晶触摸屏通过I/O 接口与ARM 相连,实现人机对话。


    (2)终端节点与路由节点

    传感器节点是组成传感网的最基本单元,主要有射频通信模块和传感器数据采集模块组成。终端

    节点与路由节点的硬件一样,不同之处主要表现在软件上。

    终端节点硬件图如图3 所示。根据CC2430 的特点,它是一款集Zigbee 协议栈、RF 射频模块以


    及增强型51 核于一身的SOPC,可以满足对数字或模拟传感器模块收集的数据处理及在WSN 中的通传输任务。

     

     

图3 终端节点硬件框

    3 系统软件设计

    系统软件分为运行于ARM 上的服务网关软件和运行于CC2430 模块上的WSN 网关软件。考虑到服务网关软件的总体设计的复杂程度以及层次性模块化的设计理念,系统采用嵌入式操作系统uCOS-II 作为系统资源的管理,对系统功能任务化。服务网关软件总体设计框图如图4 所示。

     

图4 服务网关总体设计框

    3.1 服务网关软件层次结构

    服务网关软件层次结构分为:底层驱动层,系统层,应用层。

    (1)底层驱动层

    底层驱动层包括FWLib 和BSP。FWLib 是ST公司为了对其ARM 的支持而推出的驱动支持软件,

    提供系统初始化函数,对中断和操作系统的支持,存储器分配以及所有片内外设的驱动,从而方便软件的开发。此外,用户还应开发针对应用的板级支持包(BSP),在本系统中BSP 的内容主要是应用开发板相关的硬件驱动。

    (2)系统层

    系统层包括了操作系统和中间件软件LwIP,操作系统是对软硬件资源的管理,其他各部分软件都

    要以操作系统为中心。操作系统移植的过程中,主要任务是改写针对处理器和编译器相关的部分,向上为应用任务提供支持,向下连接驱动程序来实现对硬件的操作[4]。LwIP 是一个针对嵌入式系统的TCP/IP 协议栈,本程序包含其基本功能:TCP、IP、UDP、ICMP。LwIP 的操作系统模拟层提供了向操作系统移植的方便,因其包括了任务间通信的机制:信号量、消息邮箱。

    (3)应用层

    本设计根据模块化和功能独立性原则,将所有的应用程序分成7 个应用任务,分别是引领全局的

    根任务,与输入输出有关的按键任务和LCD 显示任务,与嵌入式WEB 相关的TCP 发送任务和TCP 超时重传任务,与WSN 协调器相关的串口数据发送任务和Zigbee 控制命令任务。


    3.2 软件设计流程

    软件设计流程分为服务网关根任务软件设计流程和WSN 网关软件设计流程。

    (1)服务网关根任务软件设计流程

    操作系统环境中,每个任务都是无限循环的相对独立的功能模块,通常都会有一个根任务,它应

    该被设定该系统的核心功能业务。如图5 为根任务程序流图,首先板级初始化是对硬件的抽象和封装,为应用程序提供更友好的接口。然后创建其余6 个应用任务,创建格式与创建开始任务类似。最后程序进入WEB 服务主循环程序,为了让别的优先级低的任务能够执行,必须调用任务挂起函数。

图5 根任务流程

    (2)WSN 网关软件设计流程

    WSN 网关也叫WSN 协调器,它是整个传感器网络的总控制中心和数据采集的汇聚点,无线传感

    器节点分布在其覆盖范围内[5]。传感网网关的软件流图如图6 所示。程序开始建立Zigbee 网络,此时网络中没有其他节点。然后进入无线监控程序,查找是否有请求加入网络的信号产生,若有新节点信号申请则根据信号类型添加入网并分配网络号,若不是新节点,则判定节点传输的数据有效性,有效则接收并发送到ARM 网关,否则丢弃。

网关软件流程

    4 结语

    文中系统地讨论了物联网服务网关这一项基于物联网应用的关键性技术[6-7],结合家庭自动化进行应用设计。在硬件方面,按照嵌入式板级硬件设计流程,设计并实现了一种基于ARM 处理器的低成本网关硬件。软件设计上采用自顶向下和分层的设计方法,结合网关硬件,利用嵌入式操作系统uCOS-II 和协议栈LwIP,搭建了一个应用开发平台,为应用软件的开发提供了良好的软件环境。


关键字:ARM  处理器  低成本网关

编辑:什么鱼 引用地址:http://www.eeworld.com.cn/mcu/article_2018020937727.html
本网站转载的所有的文章、图片、音频视频文件等资料的版权归版权所有人所有,本站采用的非本站原创文章及图片等内容无法一一联系确认版权者。如果本网所选内容的文章作者及编辑认为其作品不宜公开自由传播,或不应无偿使用,请及时通过电子邮件或电话通知我们,以迅速采取适当措施,避免给双方造成不必要的经济损失。

上一篇:基于ARM 的来电号码显示器的实现方法
下一篇:基于ARM处理器的嵌入式系统设计

关注eeworld公众号 快捷获取更多信息
关注eeworld公众号
快捷获取更多信息
关注eeworld服务号 享受更多官方福利
关注eeworld服务号
享受更多官方福利

推荐阅读

Arm刘澍:周易之后,从产品研发角度解读Arm中国

近日,在中国集成电路设计业2018年会期间,Arm中国产品研发副总裁刘澍接受了媒体采访。 2018年4月,Arm中国合资公司正式在深圳挂牌运营,中方投资占股51%,Arm公司占股49%,这家新公司除了接管Arm在国内的所有IP业务,还会针对中国有着特殊的支持。对此刘澍表示,Arm中国的剥离,真正实现了Arm的本土扎根。“我们要把所有的Arm技术带入中国,在中国建立长期自主研发体系,具有跟国际接轨的研发团队和能力,更好支持本土化产业发展的需要和中国自主可控技术的需求。”刘澍说道。 Arm中国产品研发副总裁刘澍 在大会期间,刘澍介绍了Arm中国成立以来的首款产品——周易人工智能平台,并表示未来Arm
发表于 2018-12-06
Arm刘澍:周易之后,从产品研发角度解读Arm中国

ARM Cortex-M3中断跳转过程

在学习CM3的时候,仔细学习了CM3的中断跳转过程,发现嵌入式的MCU在这一块基本上是一样的,当然不同架构的MCU也有自己的特性。我来介绍下CM3的中断跳转过程,首先假设中断发生,CM3内核开始响应中断,由于不同厂家的CM3可能略有区别,但CM3的内核肯定是一样的,所以我们在这个前提下开始讨论,暂时把中断屏蔽位,标志位之类的东西放在一边。现在介绍中断响应的过程:1、压栈。从这一点来讲几乎所有的处理器都是一样的,用压栈保护现场。压入哪些寄存器呢,又是怎样一个顺序?如果就大多数的C语音编程来讲,这个不是很关心的内容。但是CM3的压栈寄存器特点,让我们来见识下ARM设计的特点。其压栈顺序如下图所示,请注意压栈的地址顺序和时间顺序不是相同
发表于 2018-12-03
ARM Cortex-M3中断跳转过程

ARM助力亚马逊AWS服务器满足更多需求

在亚马逊网络服务(AWS)为开发人员推出基于ARM的云计算资源之后,基于ARM架构的节能处理器可能会得到更加广泛的应用。AWS打算向客户出售装载有自己Arm芯片的服务器,还可能将其部分基于云计算的开发者工具转移向Arm芯片。ARM的增长前景或许将超越智能手机等消费设备,成为企业计算领域的重要力量,从而对英特尔形成挑战。目前,英特尔的处理器被广泛应用于云和企业数据中心的服务器。按营收计算,英特尔的数据中心业务是该公司第二大业务,在第三季度贡献了英特尔营收的32%,并且增长速度超过了该公司为PC和其它设备所用芯片的制造业务。AWS负责计算服务的副总裁马特?加曼(Matt Garman)本周在接受媒体采访时表示,这些芯片降低了服务器的总
发表于 2018-12-03
ARM助力亚马逊AWS服务器满足更多需求

ARM编译器的扩展关键字

1.__irq 使用__irq定义中断处理函数,当中断发生时,所有需要被保护的寄存器,编译器都会自动保存。同时,在中断处理完成后,把lr-4的值装载到PC,把SPSR的值复制到CPSR来实现返回。所以用__irq,不需要考虑现场的保护。 __irq void IRQHandler(void){….. } 两个限制: 1.函数不能有参数和返回值 2.不能用作可重入的中断处理函数定义,因为它不保存SPSR的值 2.__swi 这个函数可以有参数和返回值。 3.__asm 声明调用ARM汇编。 4.__inline 把这个关键词
发表于 2018-12-01

关于ARM的中断服务程序

只是异常的一种情况,呵呵 下面主要分析的是“中断异常”说白了,就是我们平时单片机里面用的中断!!!所有有器件引起的中断,例如TIMER中断,UART中断,外部中断等等,都有一个统一的入口,那就是中断 异常 IRQ ! 然后从IRQ的服务函数里面分辨出,当前究竟是什么中断,再跳转到相应的中断服务程序。这样看来,ARM比单片机要复杂一些了,不过原理是不变的。 上面说的就是思路,跟着这个思路来接着分析。 HandlerIRQ 很明显是一个标号,我们找到了 HandlerIRQ HANDLER HandleIRQ 这里是一个宏定义,我们再找到这个宏,看他是怎么定义的: 
发表于 2018-11-30

ARM S3C2410 看门狗设置原理及源码

S3C2410 看门狗只要有两个功能1、作为常规时钟,并且可以产生中断2、作为看门狗定时器使用,当时钟减到0时(超时),它将产生一个128个时钟(PLCK)的时钟信号。 看门狗的设置:1、 看门狗的外部时钟源是有PLCK提供的, plck 通过预分频 和 与比例因子 产生适合看门狗的时钟。    t_watchdog = 1/[PLCK/(prescale value +1)/division_factor]    上面就是它的计算公式。2、相关寄存器的介绍  WTCON watchdog控制寄存器  看门狗控制寄存器能够禁止或者允许看门狗时钟
发表于 2018-11-30

小广播

何立民专栏

单片机及嵌入式宝典

北京航空航天大学教授,20余年来致力于单片机与嵌入式系统推广工作。

电子工程世界版权所有 京ICP证060456号 京ICP备10001474号 电信业务审批[2006]字第258号函 京公海网安备110108001534 Copyright © 2005-2018 EEWORLD.com.cn, Inc. All rights reserved
pt type="text/javascript" src="//v3.jiathis.com/code/jia.js?uid=2113614" charset="utf-8">