实现6LoWPAN技术的解决方案简析

2014-04-22 06:30
科技视界 2014年20期
关键词:单芯片微控制器处理器

王 荣

(无锡职业技术学院,江苏 无锡214121)

1 短距离无线通信技术与6LoWPAN

物联网的应用在近几年成为了信息领域的热门话题。无线传感网(Wireless Sensor Network,WSN)是提到最多的短距离无线通信网络。无线传感网主要通过各类微型传感器节点 (Node)组成无线个域网(Wireless Personal Area Network,WPAN),用于感知和监控综合环境信息[1]。类似的技术主要有ZigBee以及6LoWPAN协议。尽管两者均是基于IEEE 802.15.4设计,由于ZigBee协议在连入互联网的时候需要专门的网关(不直接支持IP地址),为了实现WSN和IP网络的无缝对接[2],支持IP通信协议的6LoWPAN被越来越多的项目及科研所使用[3]。本文主要探讨关于6LoWPAN在工程项目中应用时的几种软硬件解决方案,旨在为广大工程项目开发者提供几种思路。

2 6LoWPAN的芯片方案

6LoWPAN技术作为一种短距离低速率无线网络通信技术,通常应用于嵌入式设备中。由于6LoWPAN协议栈一般运行在微控制器芯片中,通常有3种解决方案:单芯片模型、双芯片模型以及网络处理器方案。单芯片模型采用SoC芯片,即片上系统,将射频模块和微控制器(Microcontroller,MCU)集成在一片芯片上。双芯片模型采用通用微控制器和一片射频收发芯片共同工作。而网络处理器方案则采用固化了协议栈的射频芯片,一般和一个单独的运行着应用软件的微控制器共同使用[4]。

2.1 单芯片模型

当设备的尺寸和成本控制作为首要考虑条件,并且要实现的功能相对简单时,单芯片模型的解决方案最为合理。单芯片模型采用SOC芯片,集成了射频收发器和微控制器两大核心模块,一般带有FLASH单元、内存以及一些常用的外设。典型的模型如图1所示。采用SoC的无线节点仅需少许元器件和一些简单的电路即可实现,通常包括RF匹配电路、天线、晶振、电源模块以及传感器等。软件存储在FLASH中,一般包括硬件驱动、6LoWPAN协议栈、应用软件,当然也可能有一个简易的嵌入式操作系统。常见的SOC解决方案有TI公司的CC2530、CC1110,Jennic公司的JN5139等。大多数的6LoWPAN协议栈都可以移植到单芯片模型中。

图1 SoC射频模型

单芯片方案的带来的一大缺点是软件开发周期的延长以及难度的增加。由于SoC都是采用小型定制的微控制器内核,内存的保护机制一般不完善,因此要把应用程序、嵌入式操作系统以及协议栈都集成到一起需要花费更多的测试与调试周期。同时,由于每种SoC都采用单独的编译器和开发环境,对软件的可重用性限制很大。

2.2 双芯片模型

如果应用程序复杂度较高,或者对性能要求较高,那么双芯片模型将成为首要选择。图2给出了一个双芯片模型的框图。在双芯片模型中,微控制器和射频收发器是分离式的。特别地,当该射频收发器内部已经固化了网络协议栈的话,它一般就被称为网络处理器,下一节会单独讨论这一方案。在双芯片模型中,微控制器通过SPI接口或者UART接口和射频芯片通信。6LoWPAN协议栈、硬件接口以及操作系统则完全运行于微控制器内部,因此开发者可以选择自己最熟悉的、最适合项目的微控制器来使用,以便同时满足性能、嵌入式控制、信号处理等需求。典型的射频芯片可以是TI公司的CC2520,Atmel公司的AT86RF231等。

图2 双芯片模型结构图

2.3 网络处理器方案

如果某些产品的应用程序已经完善了,所有的用户功能也已正常运作,只是需要额外给它添加网络通信功能(即协议栈)的时候,使用网络处理器方案是一种合理的途径。该方案能够有效减少开发者学习使用一种全新芯片的时间。一般而言,网络处理器需要配合微控制器共同使用,因此它是一种特殊的双芯片方案。不同的是,在网络处理器内部不仅有无线收发器,而且已经固化了6LoWPAN的协议栈。典型电路图如图3所示。

图3 网络处理器方案结构图

和网络处理器的通信可通过UART接口或者SPI接口,通信命令类似于套接字协议。因此该模型的使用方式不再需要将6LoWPAN协议栈集成到微控制器中,而仅仅只需通过软件通信接口即可实现。如果实际采用了操作系统,比如LINUX来运行应用程序,则只需要很小的改进便可将6LoWPAN通信功能添加进去。

该方案的缺点如同双芯片方案,他同样需要两个芯片来实现。因此对电路板尺寸严格控制的项目将难以实施。由于网络处理器内部集成了内存、FLASH、微处理器内核等模块,它的价格相对昂贵。典型的6LoWPAN网络处理器有TI公司的CC1180。

3 6LoWPAN协议栈

要实现6LoWPAN网络通信协议,最简单的方法是采用现成的通信协议栈。协议栈一般由企业、科研机构、大学以及个人开发,主要有几种运行模式:

(1)固化在网络处理器内;

(2)包含在操作系统中;

(3)集成在嵌入式软件内。

本节将重点讨论几种开源的以及商业化的协议栈,它们运行于上节中介绍的一个或多个模型中。

3.1 Contiki操作系统和uIPv6协议栈

Contiki是一个非常闻名的嵌入式开源操作系统,专为微控制器架构设计,可运行在AVR、8051以及MSP430中,由瑞典计算机科学研究所开发。Contik实现了一个微小的IP协议,称作uIP协议栈。同时,它也实现了基于6LoWPAN的IPv6协议,称作uIPv6协议栈。Contiki操作系统以及uIP协议栈被世界上几百个工程项目和公司所采用。Contiki主要设计工作在低功耗的收发器中,支持IP网络通信。它采用C语言实现,可以编译到很多平台。已经有非常多的微控制器和设备平台运行了Contiki,因此有很多的例程和应用软件可以移植到自己的项目中。

3.2 TinyOS操作系统和BLIP协议栈

TinyOS也是一个开源操作系统,由加利福尼亚大学伯克利分校设计,应用于无线嵌入式传感网的研究中。它广泛传播在学术界,有很多测试版的程序代码。TinyOS为低功耗、低性能的处理器设计,采用模块化结构,基于事件驱动的模型。为了实现某些面向对象的功能,它采用一种由C语言开发的新语言实现,称作NesC。这也限制了改操作系统的可移植性,而且增加了开发者的学习周期。

TinyOS同样支持6LoWPAN协议,一般包含于TinyOS内部,同样由加利福尼亚大学伯克利分校开发,其命名为BLIP(Berkeley IP Implementation)。BLIP还支持Linux操作系统,主要为了实现TinyOS 6LoWPAN节点和其他IP网络的连接。

3.3 Sensinode和 NanoStack 协议栈

NanoStack是一个由Sensinode开发的基于6LowPAN协议开发的商业协议栈。它是一个非常小型,且专为6LoWPAN协议经过特殊优化的协议栈,适用于SoC芯片。该协议栈可直接在TI公司生产的SoC芯片如CC2430,CC2530以及GHz频段的CC1110上运行,如果开发者具有ZigBee的开发经历,对这类芯片应该比较熟悉,对于该协议栈的学习使用会更容易。

NanoStack的硬件接口通过UART以及SPI接口实现,需要有一个微控制器来实现一个完整的项目。NanoStack等同于网络处理器中的固件角色,因此微控制器只需要通过简单的软件接口即可实现和NanoStack的通信。开发者只需要侧重于应用功能的开发,无线通信部分直接交给NanoStack即可。

3.4 Jennic公司的6LoWPAN协议栈

Jennic公司是一个无线芯片制造商,专门开发IEEE802.15.4的SOC芯片。他们是第一家为自己的SOC产品提供6LoWPAN协议栈的厂商,称为 JenNet。JenNet支持 6LoWPAN网络层,UDP协议和ICMPv6协议以及IEEE802.15.4 MAC层。用户功能应用程序通过公司提供的Jenie API接口实现,可以控制协议栈的各种功能,包括配置和管理节点等。

4 结束语

作为一种基于IP通信为主的短距离、低功耗无线通信协议,6LoWPAN一直都扮演着非常重要的角色。在工程项目中,硬件的设计和软件的实现都是工程师考虑的重点。本文主要讨论了实现6LoWPAN应用的几种方案,向用户展示了一些选择面,相信能够为大家提供一些工程应用时的思想方法。

[1]付蔚,陈刚,王平,张阳阳:智能家居6LoWPAN家电控制系统研究[J].自动化仪表,2013,34:62-65,69.

[2]许恺,戎蒙怡,刘涛.基于6LoWPAN的无线传感器网络实现与性能分析[J].2012,1,29-31.

[3]吴俊:6LowPan 技术分析[J].铁道通信信号,2006,42,38-40.

[4]ZACH SHELBY, CARSTEN BORMANN:6LoWPAN:The Wireless Embedded Internet[J].WILEY,ISBN:9780470747995,2009.

猜你喜欢
单芯片微控制器处理器
RDA宣布推出高性能蓝牙音频系统单芯片RDA5836
物联网技术在微控制器实验教学中的应用
Imagination的ClearCallTM VoIP应用现可支持Cavium的OCTEON® Ⅲ多核处理器
ADI推出新一代SigmaDSP处理器
Marvell发布64位单芯片移动通信处理器
Atmel针对新一代物联网应用发布全新32位微控制器
最新STM32设计工具增加对混合信号微控制器的支持
意法半导体(ST)推出世界首款基于ARM Cortex-M7的STM32 F7系列微控制器
Intersil推出首款面向车用360度环景影像的单芯片多通道视频解码器
AItera推出Nios II系列软核处理器