||This article's introduction may be too long for the overall article length. (June 2013)|
|This article needs additional citations for verification. (March 2013)|
SDI-12 is the acronym for "Serial Data Interface at 1200 Baud". SDI-12 is an asynchronous, ASCII, serial communications protocol that was 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. In this master-slave configuration, the data logger or data acquisition device typically acts as the master (SDI-12 Recorder and Interrogator) to the data monitoring instruments, which are the slaves (SDI-12 sensors). One master can communicate with multiple slaves, so the SDI-12 protocol requires that each device in the serial network be identified with a unique address, which is represented by a single ASCII character.
This communication is achieved by digital communications along a single serial line. The digital addressing system allows an SDI-Recorder to send out an address over a single line that is occupied by up to 62 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.
Advantages of this are the ability to use a single available data channel for many sensors (in many cases a technician may want to set up more sensors, but it is limited by the number of analogue channels that may be available on a particular data logger).
This allows more sensors to be used on a limited number of channels, transmit over longer distances and save power.
SDI-12 enabled sensors tend to be more expensive (due to the extra processing components and chips) though they are becoming more affordable as more sensors are brought out with this option.
SDI-12 communication have the limiting factor of taking around 20–30 seconds to take a measurement. For environmental measurements this is not usually a limitation.
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 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.
As specified by the SDI-12 Support Group, 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.