基于SDI-12总线(通信协议)的数据采集技术

2018-03-22 14:20:43 1451

概述:

目前SDI-12产品越来越丰富,应用也越来越广泛,关键在于其智能化,数字化。众多仪器厂商,系统集成商,开始关注该项技术,几乎所有的数据采集器生产商都在自己的产品中增加了SDI-12总线接口,在大趋势的推动下,传感器厂家也开始加入这个协议。通过SDI-12组建的数据采集系统结构简洁,由于使用了总线技术,所有的传感器连接在一条SDI-12总线上,所以放弃了以往的复杂接线,让用户一目了然,即使供应商不提供服务,用户自己也能很好的来改变观测方案甚至是对系统升级。

SDI-12的技术背景
SDI-12  Serial Digital Interface 即串行数字接口,是一种基于微处理器的智能化传感器系统。SDI-12通讯标准是由美国水文组织提出的的一种串行数据通讯接口协议,在SDI-12协会支持下,近年来欧美国家在环境监测中加以推广使用。此技术广泛应用在工农业多参数测控、江河湖海的水文和气象等地球环境监测、养殖和食品生产中,可以远距离传送数据。 

目前此协议最新的版本是2005年7月18号公布的V1.3版,这个标准版本是V1.2版的升级版。SDI-12小组的技术支持遍及全球。国外有很多从事智能传感器开发的公司对SDI-12通信技术的应用都非常成熟,生产了一大批高性能智能传感器和数据采集系统产品。国内近年来从事SDI-12传感器开发的公司逐步兴起,有些公司也开发出了很多不错的SDI-12智能传感器。我国的>SDI-12技术也已应用到如气候变化追踪、水采集及水测试、生态调查、土壤监测、农业及气候分析等领域。

一、关于接口、总线与通信协议
我们常见的RS232、RS485、RS422、CAN等这些都是接口标准,它并没有规定通信的内容,在定义了接口的机械与电气标准后,各种组织或厂家制定出标准的通信内容约定,即形成通信协议。在这些协议的约定下,各生产厂家的相同或不同类型的产品可以兼容在一起组成网络。这些设备都是并联在接口上的,形成总线连接方式,同时它也限定接入总线的数量。SDI-12既约定了接口的电气规范又约定了通信的内容。但在其软件协议功能优越性的推动下,一些厂家也在RS485接口的产品上使用了该协议的通信格式。

SDI-12总线技术属于单线总线技术,即在一根数据线上进行双向半双工数据交换,但这并不代表一根电线就可以进行数据传输了,它是和电源线的负极共用的。在短距离的应用中它并不强调线路使用双绞线,对计算机通信有过研究的人都知道,数字信号的传输距离和线路的阻抗匹配有很大关系,用平行线路做为数据传输的物理层,会在很大程度上缩短通信距离,这是由于构成通信信号电流回路的两根线在处于并行时,这条线路的电容增加,对传输的数字脉冲的上升沿和下降沿---产生畸变,造成接收方无法辨认是“1”或是“0”。另一个影响通信距离的因素是通信速率bps/S,即每秒传输的数据位数。通信速率越高,对线路的要求越高。因此在进行远距离通信中,选用双绞线是有必要的。

但这对于>SDI-12总线来说,情况好多了,SDI-12总线的通信速率为1200bps/S。

二、SDI-12接口标准规范内容

1.接口的电气性能

接口规定了总线使用三芯电缆,定义如下:
一根为串行数据线,双向半双工通信
一根为12V供电线,向传感器供电
一根为地线,即作为电源的回路又作为数据信号线的回路。
2.串行数据的逻辑和电压值

二进制值                      电压范围
   1                        -0.5V~ 1.0V
   0                         3.5V~ 5.5V

3.SDI-12传感网络结构


三、SDI-12的通信协议

1.通信速率和字帧结构

协议规定了通信的波特率为1200

字帧结构
起始位: 1
数据位: 7
校  验: 偶校验

停止位: 1

2.可实现特性

所有在SDI-12总线上发送的字符必须是可印刷的ASCII字符。
所有的指令以地址码开始,以“!”为结束符。

所有的传感器响应以地址码开始,以为结束符。

3.SDI-12的地址范围

规范约定地址由0-9 、a-z、A-Z ,出厂初始化地址为0,但大部分厂家没有对这个范围进行限制,经过实验验证,所有的可显示的键盘码都可以做为地址,但建议用户在地址资源充足的情况下,不要将地址设置超出该范围,以免带来不必要的麻烦。

四、SDI-12传感器 

1.传感器的特点:
传感器自身具有微处理器,可以实现适合自身特点的算法
可以通过指令对其进行校准
内部采用EEPROM,用来放置校准信息和其他配置信息。
单总线的串行接口简化了数据采集器的设计
感器在未来的发展上可以独立完成。

2.传感器的组成结构

3.传感器的休眠与唤醒机制

这个协议里最特殊的点是它的休眠与唤醒机制12mS和8.33mS标识。由于>SDI-12传感器低功耗模式,当不进行工作时即进入休眠,因此每个命令前需要加上一个12mS的标识信号,用于唤醒总线上所有的传感器,传感器从低功耗模式中唤醒后,在收到下一个8.33mS标识信号后,开始寻找和自己匹配的地址,地址匹配开始测量。如果地址无效或空闲超过100mS将返回到低功耗待机状态。

注意:这项功能是由数据采集器或>SDI-12协议转换器自动执行的,用户只要理解就可以了。

五、SDI-12的常用指令

初看这个协议的时候有很多不理解的地方,特别是数据获取指令,D0、D1……,笔者在对一个传感器进行实际操作练习后,便彻底明白了这个协议。采用一个SDI-12接口适配器,在PC上使用一个串口调试软件,将协议的指令都运行一遍后,才发现它并不神秘了。

1.对一个SDI-12传感器测量操作,一个测量任务共分为四步:

第一步:数据采集器发送一个测量命令,传感器即做出响应。一个测量命令格式如下:aM!   小写的“a”是传感器的地址码,“M”是通知传感器进行测量,“!”是命令结束符,由这三个元素构成一个完整的命令。

第二步:传感器的响应

对于传感器来说,aM!是一个常规的测量命令,传感器可以完成一个基本的测量任务。并且会做出一个响应:atttn,这是传感器接到aM!后的一个反应,响应中:
a        为本传感器的地址
ttt       为本次测量需要的时间,以秒为单位
n        为数据数量
    为回车符

    为换行符

第三步:数据采集器发送数据获取命令通常,数据采集器发送一个aD0!命令来向传感器获取数据。

第四步:传感器向数据采集返回测量结果
a   其中values 可以是一个值也可以是多个值,多个值用“+”或“-”来区分。
2.SDI-12常用命令与响应的解释(其他指令请参考SDI-12原文或我们提供的译文)
命令                   响应
?!         查询地址指令      a
a!          应答激活指令      a
aI!         识别指令         allcccc…………传感器型号、版本、序列号等
aAb!      修改地址指令      b 表示新地址为b
aM!       测量指令         atttn
                         a  为地址
                         ttt  为一次测量需要的时间
                         n   本次测量可产生的数据个数
aD0!  获取数据指令       a 

数据采集器的命令始终以“!”为结尾,而传感器的响应始终以结尾

3.SDI-12扩展指令,

它是各个传感器生产厂家根据传感器本身的特有性能,自定义一些特殊功能的指令。但这些命令也是符合SDI-12的约束的。
扩展指令的格式:aXNNN!需要加一个“X”来区别,“NNN”由厂家自定义。

六、通信距离实验

协议规定了SDI-12的通信距离为200英尺,但实际远不止这些,我们选用了一些不同厂家的传感器进行实验,发现它们有很好的兼容性,对网络结构没有特殊的要求,传输距离都超过了1KM。取得的数据仅供参考,因各厂家生产的传感器接口性能不尽相同,组网的结构、传感器接入数量以及电缆的纽绞形式都是影响传输距离的因素。

平行线实验结果3×1mm2无屏蔽

双绞线实验结果2×0.2mm2无屏蔽

 

七、支持SDI-12总线的产品类型
基于SDI-12协议的产品涵盖了环境监测领域大部分产品主要有以下三大类
气象:温度,湿度,雨量、风速、风向,如Vaisala的WXT520等。
水文:水位、水质、流量、温度等  YSI 6600等。
土壤:水分、水势、温度等   GeoPrecision 的pF meter 、GP220D、温度链等。
具有SDI-12接口的数据采集器GeoPrecision 、Campbell、 DataTaker等。

八、如何组建SDI-12的数据采集系统

1.数据采集器的选用

如果系统简单,选用的传感器全部为SDI-12接口,可选用GeoPrecision的I-Logger,这个产品本身具有5个模拟量输入通道,一个SDI-12接口,该采集器不需要编程,只用进行简单的通道设置就可以了,支持48个通道,且集成了一个GPRS模块,可组成网络。

在复杂的测量并含有控制逻辑的系统中建议采用DataTake DT80,该采集器界面友好,接口丰富,4个SDI-12接口,具有数字及开关量输出接口,在测控系统中使用很方便。

不同的数据采集器对SDI-12的使用上有区别,但基本指令是不可改变的

2.关于供电问题

SDI-12传感器本身具备低功耗休眠模式,但由于野外使用时需进一步节约功耗,所以建议采用数据采集器控制供电方式,即到达采集时刻,提前3-5秒供电,采集完成后即关闭总线电源。大多数数据采集器均具备这种功能,即WarmUP功能。

九、SDI-12与GPRS相结合组成环境观测网络

基于SDI-12的土壤水分温度传感器与GPRS Logger组成土壤墒情监测网络。
基于SDI-12的土壤水势温度传感器与GPRS Logge组成土壤基质势监测网络。
基于SDI-12的多参数水质传感器与GPRS Logge组成水质监测网络。

十、关于SDI-12适配接口

使用该适配器可以方便的通过PC机对SDI-12传感器进行操作,从而更方便直观的了解SDI-12协议,还可对传感器的一些特殊功能进行设置等。

电话咨询
邮件咨询
在线地图
QQ客服