Appendix B. SDI-12 Protocol
SDI-12 is a s
tandard for interfacing data recorders with microprocessor-based sensors. The
name stands for serial/digital interface at 1200 baud. More information of the complete
SDI-12 standard text is available from the SDI-12 website: http://www.sdi-12.org.
B.1 SDI-12 Electrical Interface
The SDI-12 electrical interface uses the SDI-12 bus to transmit serial data between SDI-12
data r
ecorders and sensors. The SDI-12 bus is the cable that connects multiple SDI-12
devices. The cable has three conductors:
• Serial data line
• Ground line
• 12 V line
The SDI-12 bus can have at least 10 sensors connected to it. The bus topology is a parallel
connection, where each of the three wires of dierent sensors are connected in parallel.
B.1.1 SDI-12 Communications Protocol
SDI-12 data recorders and sensors communicate by an exchange of ASCII characters on the
data line
. The data recorder sends a break to wake up the sensors on the data line. A break is
continuous spacing on the data line for at least 12 milliseconds. The data recorder then sends
a command. The sensor, in turn, returns the appropriate response. Each command is for a
specific sensor. 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 ignor
e the command and return to low-power standby mode. When a data recorder tells
a sensor to start its measurement procedure, the recorder does not communicate with any
other sensor until the data collection from the first sensor is complete.
A typical r
ecorder/sensor measurement sequence proceeds in the following order:
• The data recorder wakes all sensors on the SDI-12 bus with a break.
• The recorder transmits a command to a specific, addressed sensor, instructing it to
mak
e a measur
ement.
• The addressed sensor responds within 15.0 ms returning the maximum time until the
measurement data is ready and the number of data values it returns.
• If the measurement is immediately available, the recorder transmits a command to the
sensor instructing it to return the measurement(s). If the measurement is not ready, the
data recorder waits for the sensor to send a request to the recorder, which indicates
that the data is ready. The recorder then transmits a command to get the data.
• The sensor responds, returning one or more measurements.
B.1.2 SDI-12 Timing
The following figure
 shows a timing diagram for a SDI-12 command and its response. The
tolerance for all SDI-12 timing is ±0.40 ms.
Appendix B – SDI-12 Protocol
177
sales@streamlinemeasurement.co.uk
www.streamlinemeasurement.co.uk