物联网智能信息桥的设计与实现
摘 要: 物联网智能信息桥是一种在物联网中实现联网设备之间信息兼容与匹配的桥接设备,主要具备设备互联、接口匹配、信息打包转换等功能,其中接口匹配包括接口速率匹配、接口协议匹配及接口校验匹配等功能。目前可接入的物联网络设备没有统一的标准。通过对物联网信息桥的分析和研究,设计实现了一款物联网智能信息桥(简称IBOI)用于实现各种设备的互联互通,IBOI成本低、功能强,在江苏省级和苏州市级等项目的使用中取得了良好的效果。
关键词: IBOI; 协议匹配; 速率匹配; 校验匹配
中图分类号:TP393 文献标志码:B 文章编号:1006-8228(2013)12-27-03
Design and implementation of intelligent information bridge based on net of things
Cao Zhenhua, Zu Baoming
(SuZhou Institute of TrIBOIe & Commerce, Suzhou, Jiangsu 215009, China)
Abstract: Intelligent information bridge is a information compatible device in the Internet of things, which mainly has functions such as equipment interconnection, interface matching, information packed conversion and the interface matching including rate matching, protocol matching and check matching and so on. There is no uniform standard about the accessible equipment. Through the analysis and research on Internet information bridge, an intelligent information bridge(IBOI) is designed, which has been used in Jiangsu provincial, Suzhou municipal level projects and achieved good results.
Key words: IBOI; protocol matching; rate matching; check matching
0 引言
物联网智能信息桥(Intelligent information bridge),简称IBOI,是一种在物联网中实现联网设备之间信息兼容与匹配的桥接设备,主要具备设备互联、接口匹配、信息打包转换等功能,其中接口匹配包括接口速率匹配、接口协议匹配和接口校验匹配等功能。IBOI工作通常包括信息接收、信息转换、信息输出和参数调整四步骤,通过这四个步骤,分别实现参数校准,接收源信息,转换成目标信息并发送到输出接口的任务。本文以智能电表与无线模块之间的智能信息桥设计为例进行介绍。
1 IBOI
1.1 IBOI信息源宿分析
物联网技术的起步是以RFID技术和条形码技术为基础的,因此物联网起初的定义为:把所有物品通过射频识别(RFID)和条形码等信息传感设备与互联网连接起来,实现智能化识别和管理的系统。经过若干年的发展,传感器技术迅速崛起,物联网中连接的设备不再局限于RFID技术和条形码技术,挂接入物联网的设备种类成倍增加,物联网的应用领域深入到家庭、企业、通信等领域,形形色色的设备都可以被物联网连接起来。
随着物联网技术及其应用的迅速发展,物联网设备研发企业和团队也迅速增多,因此各种物联网设备如雨后春笋般地出现,由于社会团体监管的滞后,导致各个研发企业和团队的产品虽然能够百花齐放,却没有统一的标准。因此,在具体物联网项目在实施的过程中,这些联网设备很难直接进行通信和组网,各种设备的信息输出接口及内容千变万化,比如接口有485、232、USB、以太网、IIC、类IIC两线接口、SPI等数不胜数,单485接口的设备又有通信速率为1200、2400、4800、9600直到115200及以上的各种速率不同,即使都是485接口,都是9600速率的,还有校验方式的不同,如常见校验方式有奇校验、偶校验、CRC校验等,甚至各厂家有自己的校验方式,由此推断,仅485接口的设备之间就有几十种接口通信方式。可见IBOI信息源和信息宿的通信直接互联的可行性很小,物联网设备之间通信需要一个高效、简单易操作和实现需要IBOI的桥接。
1.2 IBOI功能分析
IBOI实现不同接口及不同通信协议的物联网设备之间接口转换、信息打包及重新校验等功能,以智能电表无线抄表系统为例,IBOI设备的作用如图1所示。
[智能电表][IBOI] [无线
终端] [终端]
图1 IBOI设备作用
图1是典型的无线智能抄表系统功能图,项目中智能电表选用的是华通机电集团仪器仪表有限公司生产的DDS877型电子式单相电能表,该表符合GB/T 17215.321-2008、DL/T 645-1997《多功能电表通信规约》对单相静止式电能表的技术要求[1-2]。通过查询技术说明书可知,其默认通信口为485方式,通信速率为1200、校验方式为EVEN方式。无线终端采用昆山信德佳电气科技有限公司生产的WX-110型无线通信模块,该模块采用串口232通信口,通信速率为9600,校验采用ODD方式。显然,这两种设备不能直接连接在一起,必须靠IBOI进行桥接才能通信[3]。
IBOI在本系统中的起到桥梁和翻译的作用,首先要能对接智能电表的485接口,速率要求为1200,并能读懂EVEN校验的数据A;还要能将数据A翻译成ODD校验方式的数据B;能对接无线终端设备的232接口,要求通信速率为9600。
1.3 IBOI现状及发展趋势
IBOI设备目前在市面上较少出现,价格昂贵,动辄数百或者更贵,而且功能单一。市面上大部分IBOI设备都是接口类型转换或者速率匹配,而对于协议匹配、校验匹配及数据重新打包等功能较少出现。
由于物联网设备的大量增加、物联网需求的不断提高及物联网设备接口的日益繁多,在物联网设备接口统一标准缺失的大环境下,功能强大、价格低廉、易于使用的IBOI设备成为需求最为旺盛的物联网中间件之一,IBOI设备的出现,必将促进物联网设备的进一步丰富,加速物联网应用的进一步推广。
2 IBOI模块的设计实现
本文以远程智能无线抄表系统为例,设计实现了一款IBOI模块,该模块可以实现485接口类型物联网设备与433Mhz无线设备之间的任意数据形式通信,该模块在无线抄表系统中发挥了总要作用,表现良好。
2.1 485接口电路
IBOI在本系统中的起到桥梁和翻译的作用,首先要能对接智能电表的485接口,速率要求为1200,并能读懂EVEN校验的数据A;另外还要能将数据A翻译成ODD校验方式的数据B;最后能对接无线终端设备的232接口,要求通信速率为9600,整体设计如图2所示。
[485接口电路][控制中心] [无线
发射]
图2 IBOI整体
485接口电路负责从设备的485接口交换数据信息,理想的485通信电路部分设计应该与速率和通信内容无关,无需程序干预。
以max485芯片为例,常规485电路设计如图3所示,6脚和7脚为485输出输出总线接口,10脚和11脚输入输出232TTL信号,2脚和3脚需要用单片机I/O口控制,从而实现信号的收发,需要程序控制,所以使用不灵活。
图3 485常规电路设计
图3中,当I/O口P1.0为高电平时,max485处于发送状态,信号只能从单片机侧发送到485总线上去,而当I/O口P1.0为低电平时,max485处于接收状态,信号只能从485总线上接收到单片机侧。
为了解决485电路需要程序干预控制的缺陷,本文采用如图4所示的改进电路进行控制。由于RS-485芯片的特性可知,接收器的检测灵敏度为±200mV,即差分输入端VA-VB≥+200mV,输出逻辑1,VA-VB≤-200mV,输出逻辑0;而A、B端电位差的绝对值小于200mV时,输出不确定。设计中使A端电位高于B两端电位,这样RXD的电平在485总线不发送期间呈现惟一的高电平,就不会收到乱字符。
图4 485改进电路
如图4所示,在485总线上加上拉和下拉电阻后,不影响总线正常信号。当串口发送高电平时,NPN三极管导通,使MAX485处于接收状态,此时总线空闲,但因为485总线被加了上拉和下拉电阻,使总线处于状态1,也就等于发送到总线上的数据为1;当串口发送低电平时,NPN三极管不导通,使MAX485处于发送状态, MAX485将低电平发送到总线上去,也就等于发送到总线上的数据为0;当串口端不发送数据时,TXD引脚处于高电平,也就是说MAX485处于接收状态,因此不影响485总线上数据传送到串口侧,该电路图利用发送数据的电平状态自动控制了MAX485的收发,完成了预定目标。电路PCB如图5所示。
2.2 IBOI控制中心设计
IBOI控制中心需要完成接收数据时的接收速率、校验读取、重新校验、数据输出通道的速率调整等任务。
对于硬件设计,本系统中采用飞思卡尔半导体有限公司生产的高性能低成本增强型8位单片机MC9S08AC16作为中心控制芯片,该型单片机最高主频可以达到40Mhz处理速度,满足高速数据传输的要求;具有两路独立全双工SCI接口,每路SCI模块可以单独进行设置和工作,一个负责接收数据,另一路负责发送处理完成的数据,并且这两个SCI模块都支持自动校验功能,通过设置相关寄存器完成硬件自动添加和识别校验信息,支持的校验方式有ODD和EVEN两种,这样可以不必用软件来校验,节约了系统开销[4]。AC16最小系统及PCB图如图5所示。
图5 IBOI核心控制部分电路图及PCB
2.3 IBOI软件设计
在IBOI系统中,涉及到的软件设计包括信息校验部分、接口驱动部分、转发控制部分一级波特率调整部分。
2.3.1 信息校验
在IBOI系统中,输入输出接口校验由AC16的SCI模块自动完成,无需人工校验,因此在软件设计中,只需要在硬件初始化的过程中,设定校验方式即可。在AC16单片机中有个SCIxC1寄存器,如图6所示。
图6 SCIxC1
在该寄存器中,PE位为校验使能位,当PE=0(默认)时,模块不启动校验功能,当PE=1时,模块启动校验功能;PT位为校验方式选择位,当PT=0(默认)时,模块采用EVEN校验方式,当PT=1时,模块采用ODD校验方式[5];因此,在本系统中,从电表中获取信息的接口应该设置PE=1、PT=0,程序如图7所示。按照同样的方法,可以设置SCI2的校验方式为无校验,即PE=0、PT=0。
图7 SCIxC1设置程序
2.3.2 波特率调整
在IBOI系统中,输入输出接口的波特率由AC16的SCI寄存器设定,在AC16单片机中由SCIxBDH和SCIxBDL寄存器控制,如图8所示。
图8 SCIxSCIxBDH\SCIxBDL
在该寄存器中,SBR0-SBR12控制SCI模块的波特率,SBR0-SBR12转换成一个参数数值BD,那么波特率的计算公式为BANDRATEx=BD/BUSCLK/16,程序如图9所示。按照同样的方法可以设置SCI2的波特率为9600。
图9 波特率设置程序
2.3.3 其他软件设计
波特率及校验的问题解决后,剩余的问题就是如何驱动串口进行转发数据,在本系统中,使用中断的方式对信息进行接收和转发,采用中断方式可以及时对数据进行处理。程序代码如图10所示。编写程序代码的时候,要按照智能电表的通用协议接收数据。
[interrupt VectorNumber_Vsci1rx void
SCI1_RX_ISR(void)
{ ……
switch(uartState)
{ case 0:
if(temp==0x68)
uartState=1;
break;
case 1:
if(temp==0x81)
uartState=2;
else
uartState=0;
break;
case 2:
if(temp==0x06)
uartState=3;
else
uartState=0;
break;
case 3:
if(temp==0x43)
uartState=4;
else
uartState=0;
break;\&case 4:
if(temp==0xC3)
{
SCIDataLen=4; //长度
SCIDataCount=0;
uartState=5;
} else uartState=0;
break;
case 5:
if(SCIDataCount { SCIDataBuffer[SCIDataCount]=temp-0x33; SCIDataCount++; } Else { UART2_SEND_ARRAY(SCIDataBuffer,4); uartState=0; } break; default: uartState=0; break; } } }\&] 图10 IBOI数据转发程序 在DL/T 645-1997《多功能电表通信规约》中规定了电表在数据通信时的基本格式,以数据的十六进制举例,比如读电表地址为00 00 00 00 14 02,其总用电量数据时发送的命令为:68 14 02 00 00 00 00 68 01 02 43 C3 EF 16,电表返回数据为FE FE 68 14 02 00 00 00 00 68 81 06 43 C3 56 3B 33 33 6A 16,每条信息必须以68开始,以16结束。在接收数据的时候如果只有单点通信,则无需考虑地址,只要解析电表数据就可以,对应的数据位为56 3B 33 33,读出这四位数据后,将四个数据分别减去33,将数据1234的顺序改成4321,即得到数据00 00 08 23,因此最后得到电表总用电量为8.23千瓦时。 本例中设计实现的IBOI模块,在无线抄表系统中发挥了重要作用,表现良好。 参考文献: [1] GB/T 17215.321-2008[S].[国家标准]. [2] DL/T 645-1997《多功能电表通信规约》[S].[国家标准]. [3] 华通机电集团.DDS877型电子式单相电能表产品说明书[Z].浙江,2010. [4] Freescale.MC68HCS08AC16 datasheet[J].http://.cn/qkpdf/jsjs/jsjs201312/jsjs20131209-2.pdf" style="color:red" target="_blank">原版全文