13.5 SBUS [T-Series Datasheet]
This guide will help the reader understand, setup, and operate the SBUS feature of T-Series devices.
Introduction
The SBUS feature makes it easy to interface with temperature and humidify sensors from Sensirion. All the details of the serial protocol, data conversions and checksums are handled so that the registers will return results in units of K or %RH.
Prerequisites
In this section we will cover the hardware components and the knowledge needed to use the SBUS feature.
LabJack DAQ devices
SBUS works with all T-Series devices. We are always adding features to our products. Check the below list to ensure that the firmware version on your device supports the sensor that you would like to use:
Support for SHT3x and SHT8x was added in firmware:
T4 - 1.0029
T7 - 1.0305
T8 - 1.0017
Sensors
Sensirion makes many sensors. Below is a list of sensors which this feature is compatible with:
SHT1x and SHT7x - Older devices which use the SBUS protocol
SHT3x - Newer device which uses I2C
SHT8x - Newer device which uses I2C
EI-1050 (discontinued) which uses the SHT11 sensor
Using any of the sensors which use I2C requires setting the DATA and CLOCK lines. See the Operation section below for more detail.
Some sensor examples:
*** Need to find and test sensors ***
Required Knowledge
Basics of controlling a T-Series device: registers and API
Usage
Using the SBUS feature is broken down into two components. How to physically connect the sensor (wiring section), and how to instruct the T-Series device to operate that sensor (operating section).
Wiring
Using the SBUS feature starts with connecting a sensor. Connect a sensor according to the below list:
Power - The sensor’s power supply must be connected to a 3.3V source. Many sensors define their logic high threshold as 0.7*Vdd. When supplied with 5V, the logic threshold will be 3.5V, which will not work with the 3.3V logic from a LabJack. Connect the power line to either a DIO set to output, a DAC set to 3.3V or the 3.3V output on the the T8.
Ground - A ground connection between the sensor and the LabJack DAQ must always be provided.
Data & Clock - The data and clock lines can be connected to any IO pair, the data line should always be on the lower numbered DIO. For example: FIO2 - Data and FIO3 - Clock.
Enable (optional) - The EI-1050 has an enable wire. The enable line allows multiple probes to share the clock, data, and power lines. Connect the enable line to any unused DIO. If you are only using one probe, the enable line can be connected to the power line.
Default DIO Assignments
The lines that the T-Series device will use for data, clock, and power are set at startup according to the below list. The assignments can be changed as desired.
T4
DIO4 (FIO4): Data Line
DIO5 (FIO5): Clock Line
DIO6 (FIO6): Power line. Will be set to output-high. Can be disabled.
T7/T8
DIO0 (FIO0): Data Line
DIO1 (FIO1): Clock Line
DIO2 (FIO2): Power line. Will be set to output-high. Can be disabled.
Operation
The SBUS feature is controlled through several interface registers. The behavior of the SBUS system will change depending on how the registers are used. The key differences are:
Enable Line: The enable line will be used any time the index of a result register does not match the current values in the data and clock registers. E.g.: If SBUS2_DATA_DIONUM = 0 and SBUS2_CLOCK_DIONUM = 1, and we read SBUS2_TEMP, the SBUS feature will use FIO2 as the enable line, FIO0 as DATA, and FIO1 as CLOCK. If SBUS2_DATA_DIONUM = 2 and SBUS2_CLOCK_DIONUM = 3, and we read SBUS2_TEMP, then the SBUS feature will not use an enable line.
Power Line: When reading from the TEMP or RH registers, the IO indicated by the value in SBUS_ALL_POWER_DIONUM will be set to output high. This functionality can be disable by setting the register to 9999.
SBUS Registers
Examples
Troubleshooting
Checksum or acknowledgement errors can indicate that the clock speed is too fast for the hardware configuration. Use the SBUS_ALL_CLOCK_SPEED register to reduce the clock speed: