基于STM32的物联网开发应用系统设计
2012-08-15葛年明沈春梅
葛年明,周 泉,沈春梅
(三江学院 电工电子实验中心,江苏 南京 210012)
2009年8月温家宝总理在视察中科院无锡高新微纳传感网工程技术研发中心时,提出建设“感知中国”中心,自此物联网在中国受到了全社会极大的关注。2010年两会,物联网被正式列为国家经济技术发展的战略支柱之一,写入“政府工作报告”[1]。
随着物联网的关注度不断提高,越来越多的工程技术人员开始学习物联网,国内高校也纷纷开始设置物联网专业或研究中心。本文介绍了一款基于STM32设计的物联网开发应用系统,该系统可以方便用户学习物联网知识,同时利用该系统进行物联网相关的开发与应用可以缩短开发周期。系统在使用RFID技术的同时,引入ZigBee技术,利用无线传感器网络及传感器节点,实现环境监控,从而将物联网的物体识别、环境感知与无线通信等核心技术相互融合,使物联网技术得到更好的发展和应用。
1 系统总体设计概述
物联网开发应用系统主要由电源电路、MCU微控器、RFID系统电路、ZigBee模块电路以及显示 (液晶显示)电路组成。系统整体框图如图1所示。
系统利用RFID系统实现对物品信息的读取,利用基于ZigBee设计的无线传感器节点模块实现对多节点传感器信息的采集与传输,从而实现对环境的感知,将数据送至STM32处理并显示,并可通过GPRS模块将相关信息实时传送到用户手机上。
图1 系统框图
2 系统硬件电路设计
2.1 电源电路
系统采用USB接口电源电路输出3.3 V的电压供电,USB接口电源电路主要利用一个三端稳压块SP1117(U4),实现将USB接口输出的5 V电压稳定在3.3 V。电路还接有一个发光二极管(D1)起到电源指示灯作用。具体的电路如图2所示。
2.2 MCU微控制单元
控制单元采用STM32F103xx基本型系列。它使用高性能的ARM CortexM3 32 bit的RISC内核,内置高速存储器,工作频率为36 MHz,CPU能以零等待周期访问(读/写),丰富的增强型外设和I/O端口连接到两条APB外设。所有型号的器件都包含1个12 bit的ADC和3个通用的16 bit定时器,还包含标准的通信接口:2个I2C、2个 SPI和 3个 USART。
图2 USB接口电源电路
设计时,采用STM32F103xx可方便实现接入传感器信号和电子标签的ID卡号,其2.0 V~3.6 V的工作电压能够满足MCU和GPRS模块直接相连的需要,而无需电平转换,一系列的省电模式满足低功耗应用的需求。
2.3 RFID系统电路
物联网技术核心关键就是射频识别技术(RFID)。一般的RFID系统由阅读器、应答器(电子标签EPC)和高层等部分组成。电子标签由芯片与天线组成,每个标签具有唯一的电子编码,标签附着在物体上以表示目标对象。RFID阅读器的主要任务是控制射频模块向标签发射读取信号,并接收标签的应答,对标签的识别信息进行处理,之后阅读器把接收到的数据整合处理传送给计算机。高层是信息管理系统和决策系统,通过对数据的加工、分析和挖掘,为正确决策提供依据[3]。
该部分电路的设计主要是RFID阅读器电路的设计,阅读器可采用TI公司最新推出的HF TRF796X来设计。TRF7960芯片支持TI公司Tag-it HF-I全系列ISO15693协议及ISO18000-3协议标签,以及符合ISO14443标准的高频非接触式近程卡片。该芯片具有高度集成度、多标准模拟前端及数据成帧系统,广泛适用于13.56 MHz高频非接触式标签读写识别系统;内置编程选项及较小的体积,使之成为各种近程RFID 系统应用之首选。具体的硬件电路设计如图3所示。
通过阅读器可以实现对贴有电子标签物品信息的读取,阅读器在接收到来自电子标签的载波信息后,对接收信号进行解调和解码,将其信息送至微处理器处理,并可经由GPRS网络将信息实时传到用户手机上。
2.4 ZigBee电路
图3 RFID阅读器电路
ZigBee技术是一种短距离、低复杂度、低功耗、低速率、低成本的双向无线通信技术或无线网络技术,是一组基于IEEE 802.15.4无线标准研制开发的有关组网、安全和应用软件方面的通信技术。ZigBee网络的拓扑结构主要有3种:星型、树状和网状网络结构。它采用DSSS扩频技术,使用的频段是2.45 GHz的超高频段,抗干扰能力强,传输速度快,主要适合于自动控制、无线传感器、监控和远程控制等领域,可以嵌入到各种设备中,还支持地理定位功能[2]。
图4 ZigBee电路
该部分电路设计时,选用TI公司推出的ZigBee新一代SoC芯片CC2530。CC2530使用IEEE 802.15.4标准,支持新RemoTI的ZigBee RF4CE,具有极高的接收灵敏度和抗干扰能力,是理想的ZigBee专业应用芯片。具体的硬件电路设计如图4所示。
3 系统软件的设计
软件采用C语言编写,在keil环境下开发,核心是RFID阅读器子程序设计和ZigBee系统子程序设计两部分。RFID阅读器程序设计的流程图如图5所示。
ZigBee系统程序设计主要是对协调器配置以及ZigBee节点的设计,具体的设计过程如图6所示。
图5 RFID阅读器流程图
本文介绍了一款基于处理器ARM Cortex-M3内核STM32设计的物联网开发应用系统,该系统融合了RFID、ZigBee、无线传感器网络(WSN)、互联网以及嵌入式系统等物联网核心技术。物联网系统中加入ZigBee技术,可实现设备及不同协议读写器之间联网,同时通过ZigBee实现数据的多点无线采集和传输的目的,为物联网技术更好地推广和使用提供了一种新的途径。随着移动互联网技术不断的发展,RFID及ZigBee相结合的技术在物联网中应用的优势将更为突出,从而可以更好地改善人们的生活。
图6 ZigBee系统流程图
[1]刘强.物联网关键技术与应用[J].计算机科学,2010,37(6):1-10.
[2]李文仲,段朝玉.ZigBee无线网络技术入门与实战[M].北京:北京航空航天大学出版社,2007.
[3]单承赣,单玉峰,姚磊,等.射频识别(RFID)原理与应用[M].北京:电子工业出版社,2008.