|This article needs additional citations for verification. (March 2013)|
SDI-12 (short for serial/digital interface at 1200 baud) is an asynchronous serial communications protocol developed for intelligent sensory instruments that typically monitor environmental data. These instruments are typically low-power (12 volts), are often used in remote locations, and usually communicate with a data logger or other data acquisition device. The protocol follows a master-slave configuration whereby a data acquisition device acts as the master (SDI-12 Recorder and Interrogator) and the data monitoring instruments act as slaves (SDI-12 sensors), each identified with a unique address.
The first edition of the standard was issued in 1988. The most recent revision (v1.3) was published January 26, 2013.
- Electrical interface characteristics such as number of conductors, voltage logic levels and transitions, and line impedance.
- Communications protocol such as means of establishing contact with a specific address (sensor), the measurement command set, sensor response behavior, byte frame format and allowed characters.
- Timing requirements such as length of the break condition used to awaken sensors, minimum time between messages and length of time before a sensor enters a low-power state.
The standard only provides guidelines on transient protection and does not address connectors at all.
The specification document describes a number of advantages including:
- Interchangeability of sensors without reprogramming of data acquisition devices
- Power is supplied to sensors through the interface
- Ability to implement self-calibration algorithms within the sensor itself and use low-cost EEPROMs for information storage
- Applicability of training in SDI-12 to a variety of sensors and data recorders
The standard is in the public domain.
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 5 V logic levels, bears no resemblance[dubious ] to RS-485 or RS-232 although the timing is similar. The inline data is human readable as the data is transmitted in plain ASCII.
All SDI-12 communications are transmitted in ASCII at 1200 baud with 7 data bits and an even parity bit. A serial break signal is sent by the master prior to any SDI-12 message to alert the connected slaves of the impending communication. Only the slave whose address matches the address in the sent message should respond. Checksums were introduced to the SDI-12 protocol with the V1.3 release.