基于TEDS的智能传感器认证模块的设计与仿真

2014-04-15 03:43
湖南工业职业技术学院学报 2014年4期
关键词:搜索算法结点器件

刘 琼

(湖南工业职业技术学院,湖南长沙,410208)

1 引言

模拟量传感器发出的是连续信号。在数据采集系统的传统领域中,传感器的相关配置数据和校正参数等信息之所以采用手工输入的方式,是为了提高处理传感器输出信号的信效度,但其结果仍差强人意;而依据 IEEE1451标准配置了 TEDS(Transducer Electronic Data Sheets,传感器电子数据表)的传感器具有诸多优点:无需手工数据输入能缩短配置时间;以电子表格的方式存储数据使可靠性更高;细致的校准信息保证了测量精度;避免了书面的数据表格存档而简化资源管理。

2 IEEE1451标准族

IEEE1451智能传感器接口标准族规定了智能传感器连接到MCU、仪表显示系统和现场测控网络的一系列子标准,提供了相应的有线传输或无线传输协议。

现 行 的 IEEE 1451由 IEEE1451.0~IEEE1451.7等八个子标准组成。它可以分为面向硬件接口与面向软件接口两大类。其整体框架和各子标准间的关系如图1所示。软件接口类主要由IEEE 1451.0和IEEE 1451.1组成,通过面向对象模型定义了一套软件接口规范,使智能传感器能够顺利地接入不同测控网络;同时,为了增强IEEE 1451标准族子标准之间的互操作性,还另外定义了一个电子数据表和相应的通信协议。余下的IEEE 1451.2~IEEE1451.7则归于硬件接口部分,其详细定义了智能传感器的具体应用。IEEE1451.2标准主要针对点对点的情形(如UART/RS-232/RS-422/RS-485)。IEEE1451.3标准主要用于类似家庭电话线联盟通信协议的点对多点分布式智能传感器系统的同步数据采集与通信。IEEE1451.4标准主要针对类似1-wire通信协议的模拟量传感器通信协议,不仅支持数字接口对电子数据表中的内容进行读写,而且支持模拟接口对现场仪器的接入。IEEE 1451.5标准主要规定了无线网络传感器接口特征,目前支持WiFi、蓝牙、ZigBee协议。IEEE1451.6标准主要是规定本质安全系统和非本质安全系统应用要创建一个以CaNopen协议为基础的传感器接口。最后,IEEE1451.7标准主要规定RFID接口规范。

图1 IEEE 1451标准的整体框架和各子标准间的关系

3 TEDS

传感器电子数据表TEDS技术是IEEE1451标准的关键技术。子标准1451.4构建了一个通用的操作方法,在传统模拟传感器中增设可存放TEDS的存储器,增设串行数字接口后,使之与模拟接口混合在一起,再通过已嵌入的TEDS可对传统模拟传感器进行标识,即可与传统的模拟仪器及接口兼容,使“即插即用”的概念延伸到传统模拟传感器中。

IEEE 1451.4的TEDS以IEEE 1451.2的TEDS为基础,对TEDS进行重新定义,以使存储单元最小化。TEDS应包含系统对传感器进行识别认证、校正操作、连接要求及传感器数据的正确使用方法的信息,一般应有:生产厂商的信息、模块及版本编号、产品ID号、灵敏度、测量范围、电气输出要求、功率大小、物理量单位、校准维护参数、位置坐标以及用户私有数据等。对传感器的TEDS进行配置有两种可行方案。一种方案是TEDS驻留在嵌入式的EEPROM中;另一种方案是TEDS根本没在传感器中,而是以文档形式存放在能利用网络访问的数据库或本地计算机内,即虚拟TEDS,这样无须内置EEPROM也能实现TEDS的功能。本文使用了嵌入式的EEPROM。精确定义TEDS中的每一位是TEDS作用的前提。由于不同类型的传感器所要求的参数不同,因此标准TEDS每位的内容无法统一定义,可采用模板对传感器所需参数进行定义和描述。基本的TEDS可按表1统一的格式定义。硬件系统上电复位或被请求,TEDS就加载到系统。系统中的传感器可以直接被替换而不需要更改任何设置,因此TEDS简化了传感器的安装和维护。

表1 基本TEDS结构

4 智能传感器认证模块的设计

4.1认证模块硬件设计

DS2430A是Maxim公司推出的256位1-Wire总线的EEPROM,具有3引脚TO-92小体积封装形式或6引脚TSOC表面贴封装。DS2430带有一个由工厂光刻的64位注册码,其中包括:8位CRC校验码、48位唯一序列码和8位家族码(14h)。注册码为每个器件提供了一个保证唯一的认证标识,确保每个器件的绝对可追溯性,当有多个DS2430同时挂接在1-Wire总线上并形成本地网络时,可作为设备部件的节点地址使用。数据按照1-Wire协议串行传送,仅需一条数据线和一条地线。

自我标识能力是传统传感器智能化的基本要求,作为信息存取的载体还必须结构简单,通信方便可靠。DS2430体积小,重量轻,仅使用1根线进行通信,适合作为TEDS信息存取的载体。将DS2430植入传感器内部,传感器就具有了质询—认证的能力。图2为传感器模块硬件框图。

图2 传感器认证模块硬件框图

4.2 质询—认证功能的软件实现

质询—认证过程,重点在于实时搜索检测1-Wire总线上的DS2430的注册码。找到相应的DS2430,就可从其EEPROM中读出TEDS中的信息。二叉树路径搜索算法,是查询DS2430注册码最科学的方法。按右分支对应编码1,左分支对应编码0的原则,在一棵二叉树同根节点到某个叶子节点的64条边上分布64位注册码于二叉树中每一节点。总线上所有ROM注册码的搜索过程就是依相关算法将该二叉树由根节点到全部叶子节点的所有“路径”都扫查一遍。

按照1-Wire总线的特性,从机之间为“线与”的关系。当主机发出搜索命令后,总线上的所有从机同时发送自身ROM编码中的最低有效位(即家族代码最低位),结果相当于全部LSB(最低有效位)的逻辑与;主机读入从机发送的第n位数据的原码后,接着启动下一位,然后从机发送第n位数据的取反值,主机再读入第n位数据的取反值;从两次读入的情况就能对ROM编码的第n位做出判断(如表2所示)。

表2 ROM编码第n位的判断情况

智能传感器的认证标识具有唯一性。搜索过程就是按照搜索算法流程对64位ROM注册码以"读入两位,写出一位"的模式进行检测,对主机发回的指定位a和从机ROM码当前位的值进行逐一对比,找到两相匹配的值。如果二者相匹配,则该从机ROM码继续参与搜索;其余63位ROM码的当前位值因与主机发回的那个指定位a不匹配,只能进入等待状态。依此原理,选用不同的路径,在后续搜索过程查找其他从机器件的ROM码以区分64位ROM注册码。

图4给出了参照二叉树路径搜索一条1-Wire总线所有器件64位的ROM注册码的搜索算法流程,采用“左子树优先”的原则。下面结合表2阐述搜索算法的实现细节,搜索到的编码保存于ROMCODE数组。

由表2可知,四种不同的2bit组合将在搜索过程中出现,下面由易到难进行讨论研究:

①“11”表明总线上无从机,主机执行下面的指令后直接返回:if(bit_1==1&&bit_2==1)return 1。

②“01”表明未被屏蔽器件的ROM编码当前位均为0,这些器件余下的编码位全部分布于左左子树,故置ROMCODE[n] =0,随后主机向总线写0,使为0的从机继续通信,搜索左子树,并屏蔽为1的从机。

③“10”表明未被屏蔽器件的ROM编码当前位均为1,这些器件余下的编码位全部分布于右子树,故置ROMCODE[n] =1,随后主机向总线写1,使为1的从机继续通信,搜索右子树,并屏蔽为0的从机。

上述“01”和“10”组合情况处理的示意性代码如下:if(a_bit!=b_bit){ROMCODE[n] =a_bit;Write_DQ(a_bit);}

④“00”表明未被屏蔽器件的ROM注册码当前位有0和1,是最为繁琐的一种情况,因为当前位出现左子树与右子树均存在的搜索分支。第一次搜索从器件的注册码时,如果左子树和右子树均存在,则需要记录该分叉结点的深度,并搜索左子树。当搜索层次达到64时,获得一个从器件的注册码,并取出该搜索路径最后的分叉结点的深度,接着主机执行第二次搜索过程。在该搜索过程中,如果结点的深度值大于最后一个分叉结点的深度,按照前述“左子树优先”的原则,可认为当前位为0,并向总线写入此值,对左子树进行搜索;如果结点的深度值小于最后一个分叉结点的深度,则要根据上次搜索最后一个分叉结点注册码的相应位果是否为0来决定是否记录深度值,并向总线发送这位;如果结点的深度值等于最后一个分叉结点的深度,说明“左子树已搜索完”,则当前位为1,并向总线写入此值,对右子树进行搜索。这样,每搜索到一个深度为64的叶子结点,就会得到一个从器件的注册码,一直搜索到记录中没有分叉结点为止。

搜索算法流程图(见图3),ROMCODE[n] 表示64位的变量存放器件的ROM注册码,Level记录当前分支结点的位置,Last_Level记录前次搜索的最后分支的结点位置,n为二叉树当前层序号,也表示搜索到的位序号。

图3 所有ROM注册码的搜索算法流程

5 智能传感器即插即用认证仿真

搜索传感器TEDS中的注册码是一个实现即插即用技术的途径,当设备每次上电时,主机能对传感器进行动态管理。对于更改或新增设的传感器,其注册码都能被主机动态地获取,从而可以在数据库中添加此传感器的记录。对于系统中撤销的传感器,由于主机没有检测到它的注册码,所以可在数据库中清除此传感器的记录。

根据传感器在即插即用中认证的要求,设计了3个DS2430作为3个传感器TEDS的存储器,并与微控制器连接的Proteus仿真实例,如图4所示。可以根据实际需要,在每片DS2430中存储系统所有传感器的基本信息,并且存储TEDS的所有内容,以便主机处理。通过运行测试,验证了本文提出的注册码搜索算法及智能传感器TEDS的可行性和可靠性。

图4 智能传感器即插即用认证仿真

[1] Institute of Electrical and Electronics Engineers.IEEE Standard for a Smart Transducer Interface for Sensors and Actuators-Common Functions,Communication Protocols,and Transducer Electronic Data Sheet(TEDS)Formats[S] .New York:I EEE Std1451.0-2007,2007.

[2] Maxim公司DS2430芯片手册.http://datasheets.maximintegrated.com/en/ds/DS2430.pdf,2011.

[3] 蔡东阳,彭玉君,武建安等.基于TEDS的分布式电学信号测量控制系统设计[J] .科学技术与工程,2013,9(3):2532~2537.

[4] 叶湘滨,李文,杨雪,等.“即插即用”智能变送器模块的设计与实现[J] .仪表技术与传感器,2009,10(10):28~30.

[5] 叶廷东,黄国健.IEEE1451智能传感器多传感信息自校正方法研究[J] .传感技术学报,2013,26(2):211~215.

[6] 邵鹤帅.TEDS技术在传感器智能化中的应用研究[J] .科学技术与工程,2011,11(3):609~611.

[7] 彭伟.单片机C语言程序设计实训100例[M] .北京:北京航天航空大学出版社,2012.

[8] 李琦,蔡立兵.基于IEEE1451标准的智能传感器设计与实现[J] .电子技术应用,2012,38(1):17~20.

[9] 彭伟.1-Wire总线器件ROM搜索算法与即插即用技术研究[J] .舰船电子工程,2012,32(4):95~99.

[10] 周志光,朱志伟,刘琼.DS2430A在即插即用传感器系统中的应用[J] .单片机与嵌入式系统应用,2010,10(6):68~70.

猜你喜欢
搜索算法结点器件
基于八数码问题的搜索算法的研究
改进的和声搜索算法求解凸二次规划及线性规划
Ladyzhenskaya流体力学方程组的确定模与确定结点个数估计
旋涂-蒸镀工艺制备红光量子点器件
面向高速应用的GaN基HEMT器件
基于汽车接力的潮流转移快速搜索算法
基于逐维改进的自适应步长布谷鸟搜索算法
一种加载集总器件的可调三维周期结构
高分辨率遥感相机CCD器件精密热控制
基于跳点搜索算法的网格地图寻路