SDI-12 (Serial Digital Interface at 1200 baud) is an asynchronous serial communications protocol for intelligent sensors that monitor environment data. These instruments are typically low-power (12 volts), are used at remote locations, and usually communicate with a data logger or other data acquisition device. The protocol follows a client-server configuration whereby a data logger (SDI-12 recorder) requests data from the intelligent sensors (SDI-12 sensors), each identified with a unique address. [1]
The first version of SDI-12 was released in 1988. It was designed by a coalition which included the U.S. Geological Survey's Hydrologic Instrumentation Facility (HIF) and a group of private companies. [2]
The SDI-12 Specification is maintained by a non-profit corporation called the SDI-12 Support Group. The most recent upgrade (Version 1.4) was made in July 2016. [3] The most recent version of the SDI-12 Specification (still version 1.4, with clarifications), was released on January 30, 2021.
Version 1.0 was released in 1988.
Version 1.1 was released in 1994. It was a rewriting and clarification of the version 1.0 specification under contract by Michael Jablonski's NR Systems (dba Natural Resources Consulting) and Campbell Scientific. [2] [4]
Version 1.2 was released in April 1996. It defines: [3]
Version 1.3 was released in April 2000 and defines: [3]
Version 1.4 was released in July 2016 and defines: [3]
The specification document describes a number of advantages including
The SDI-12 Specification is in the public domain. [5]
Communication occurs over a single data line in half-duplex. The digital addressing system allows an SDI-Recorder to communicate with up to 62 individual sensors. Only the pre-configured sensor matching that address will respond (handshake). Other sensors on the same line will not respond until called and typically stay in "sleep mode" (low power mode), until called.
Electrically the protocol is a three wire digital connection: data, ground and 12 V. The data signal, using 5V logic levels, is similar to RS-232 with the same asynchronous byte encoding. The inline data is human readable as the data is transmitted in ASCII.
All SDI-12 communications are transmitted in ASCII at 1200 baud with 7 data bits and an even parity bit. The standard also specifies a communications protocol that allows sensors to remain in a low-power sleep state until awoken by a serial break signal sent by the master. The first character of each command is a unique sensor address that specifies with which sensor the recorder wants to communicate. Other sensors on the SDI-12 bus ignore the command and return to low-power standby mode. The protocol also specifies a retry mechanism to overcome any data corruption. CRCs were introduced to the SDI-12 protocol with release of version 1.3.
The standard provides guidelines on transient protection and does not require the use of a specific connector.
The protocol is most commonly supported by hydrographic sensors (level and flow), water quality sensors, meteorological instruments, soil moisture and plant physiology. [6] Less common but also known to be supported are sensors for the measurement of solar radiation, tilt (inclinometers), and other geophysical parameters. [6]
Telnet is an application protocol used on the Internet or local area network to provide a bidirectional interactive text-oriented communication facility using a virtual terminal connection. User data is interspersed in-band with Telnet control information in an 8-bit byte oriented data connection over the Transmission Control Protocol (TCP).
A universal asynchronous receiver-transmitter is a computer hardware device for asynchronous serial communication in which the data format and transmission speeds are configurable. It sends data bits one by one, from the least significant to the most significant, framed by start and stop bits so that precise timing is handled by the communication channel. The electric signaling levels are handled by a driver circuit external to the UART. Two common signal levels are RS-232, a 12-volt system, and RS-485, a 5-volt system. Early teletypewriters used current loops.
In computing, a serial port is a serial communication interface through which information transfers in or out sequentially one bit at a time. This is in contrast to a parallel port, which communicates multiple bits simultaneously in parallel. Throughout most of the history of personal computers, data has been transferred through serial ports to devices such as modems, terminals, various peripherals, and directly between computers.
I2C (Inter-Integrated Circuit, eye-squared-C), alternatively known as I2C or IIC, is a synchronous, multi-controller/multi-target (master/slave), packet switched, single-ended, serial communication bus invented in 1982 by Philips Semiconductors. It is widely used for attaching lower-speed peripheral ICs to processors and microcontrollers in short-distance, intra-board communication.
The Hayes command set is a specific command language originally developed by Dennis Hayes for the Hayes Smartmodem 300 baud modem in 1981.
Asynchronous serial communication is a form of serial communication in which the communicating endpoints' interfaces are not continuously synchronized by a common clock signal. Instead of a common synchronization signal, the data stream contains synchronization information in form of start and stop signals, before and after each unit of transmission, respectively. The start signal prepares the receiver for arrival of data and the stop signal resets its state to enable triggering of a new sequence.
Electronic test equipment is used to create signals and capture responses from electronic devices under test (DUTs). In this way, the proper operation of the DUT can be proven or faults in the device can be traced. Use of electronic test equipment is essential to any serious work on electronics systems.
The Serial Peripheral Interface (SPI) is a synchronous serial communication interface specification used for short-distance communication, primarily in embedded systems. The interface was developed by Motorola in the mid-1980s and has become a de facto standard. Typical applications include Secure Digital cards and liquid crystal displays.
1-Wire is a device communications bus system designed by Dallas Semiconductor Corp. that provides low-speed data, signaling, and power over a single conductor.
Modbus is a data communications protocol originally published by Modicon in 1979 for use with its programmable logic controllers (PLCs). Modbus has become a de facto standard communication protocol and is now a commonly available means of connecting industrial electronic devices.
LIN is a serial network protocol used for communication between components in vehicles. It is a single wire, serial network protocol that supports communications up to 19.2 Kbit/s at a bus length of 40 meters. The need for a cheap serial network arose as the technologies and the facilities implemented in the car grew, while the CAN bus was too expensive to implement for every component in the car. European car manufacturers started using different serial communication technologies, which led to compatibility problems.
A data logger is an electronic device that records data over time or about location either with a built-in instrument or sensor or via external instruments and sensors. Increasingly, but not entirely, they are based on a digital processor, and called digital data loggers (DDL). They generally are small, battery-powered, portable, and equipped with a microprocessor, internal memory for data storage, and sensors. Some data loggers interface with a personal computer and use software to activate the data logger and view and analyze the collected data, while others have a local interface device and can be used as a stand-alone device.
On-board diagnostics (OBD) is a term referring to a vehicle's self-diagnostic and reporting capability. OBD systems give the vehicle owner or repair technician access to the status of the various vehicle sub-systems. The amount of diagnostic information available via OBD has varied widely since its introduction in the early 1980s versions of on-board vehicle computers. Early versions of OBD would simply illuminate a malfunction indicator light (MIL) or "idiot light" if a problem was detected, but would not provide any information as to the nature of the problem. Modern OBD implementations use a standardized digital communications port to provide real-time data in addition to a standardized series of diagnostic trouble codes, or DTCs, which allow a person to rapidly identify and remedy malfunctions within the vehicle.
Digital Addressable Lighting Interface (DALI) is a trademark for network-based products that control lighting. The underlying technology was established by a consortium of lighting equipment manufacturers as a successor for 1-10 V/0–10 V lighting control systems, and as an open standard alternative to several proprietary protocols. The DALI, DALI-2 and D4i trademarks are owned by the lighting industry alliance, DiiA.
ccTalk is a serial protocol in widespread use throughout the money transaction and point-of-sale industry. Peripherals such as the currency detectors for coins and banknotes found in a diverse range of automatic payment equipment such as transportation, ticketing, payphones, amusement machines, and retail cash management use ccTalk to talk to the host controller.
The Standard Commands for Programmable Instruments defines a standard for syntax and commands to use in controlling programmable test and measurement devices, such as automatic test equipment and electronic test equipment.
Oric was the name used by UK-based Tangerine Computer Systems for a series of 6502-based home computers sold in the 1980s, primarily in Europe.
The ELM327 is a programmed microcontroller produced for translating the on-board diagnostics (OBD) interface found in most modern cars. The ELM327 command protocol is one of the most popular PC-to-OBD interface standards and is also implemented by other vendors.
I3C is a specification to enable communication between computer chips by defining the electrical connection between the chips and signaling patterns to be used. Short for "Improved Inter Integrated Circuit", the standard defines the electrical connection between the chips to be a two wire, shared (multidrop), serial data bus, one wire (SCL
) being used as a clock to define the sampling times, the other wire (SDA
) being used as a data line whose voltage can be sampled. The standard defines a signalling protocol in which multiple chips can control communication and thereby act as the bus controller.
The SDI-12 Specification is in the public domain. You may freely copy and distribute it.