SDI-12通讯协议详解:设备地址与命令结构

需积分: 50 20 下载量 133 浏览量 更新于2024-08-08 收藏 834KB PDF 举报
"该文档是关于SDI-12协议的使用教程,主要涉及设备通信的波特率、帧格式、允许的字符以及设备地址等关键知识点。SDI-12是一种针对微处理器传感器的串行数据接口标准,适用于多传感器环境。" 在SDI-12协议中,波特率固定为1200,帧格式由1位起始位、7位数据位(最高位先传输)、1位奇偶校验位(如果需要)和1位停止位组成。所有在SDI-12总线上传输的字符都必须是可打印的ASCII字符,范围从空格(十进制32)到波浪线(十进制126)。但存在特殊情况,如响应以回车(CR,十进制13)和换行(LF,十进制10)结束,以及CRC校验值的某些部分可能是非打印字符。 设备地址是每个命令和回复的第一字符,它用于标识传感器。地址是单个ASCII字符,其中“0”是默认地址,所有传感器出厂时预设为这个地址,适合单传感器系统。表4列出了可用的ASCII地址及其对应的10进制和16进制表示。 SDI-12协议还包含一系列命令和回复,例如确认激活命令(a!)、发送身份验证命令(aI!)、地址查询命令(?!)、更改地址命令(aAb!)、启动测量命令(aM!)、服务请求(a<CR><LF>)、启动并发测量命令(aC!)、发送数据命令(aD0!至aD9!)以及附加测量和并发测量命令等。每个命令都有其特定的用途和格式,例如,aM!命令用于启动测量,而aD!命令用于发送传感器数据。 CRC-16校验是协议的一部分,用于检测数据传输中的错误。SDI-16提供了计算CRC-16的方法以及如何将其编码为ASCII字符的说明。此外,协议还包括了扩展命令和大容量命令的处理,例如,透传模式和大容量ASCII测量数据的传输,这些允许更复杂的通信需求。 这个教程详细阐述了SDI-12协议的各个方面,为用户提供了全面理解并有效使用该协议的基础。无论是传感器制造商、数据记录仪开发者还是系统集成商,都能从中获取实施SDI-12通信所需的关键信息。