#43-1, M1S: Four-Channel Streaming ADC ±10V
Function: Four-channel streaming ADC, ±10V range
Form factor: M1S
Category: Input module
Special needs: [SER]
Power requirements: 5V/20mA average
Temperature range: –40°C to +85°C
See also: #13, #31, #43-2, #52, #53
Details
Tibbit #43-1 is based on the AD7323 12-bit+sign successive-approximation (SAR) analog-to-digital converter (ADC) IC. It offers four single-ended or two differential channels.
In the single-ended mode, this Tibbit has an input range of ±10V, while in the differential mode it accepts signals in the ±20V range. Both are common output ranges of industrial pressure, temperature, and other types of transducers. If your application requires a wider input voltage range, consider using Tibbit #43-2 instead.
Tibbit #43-1 requires only the main 5V power source. To accept inputs greater than 5V, the Tibbit is equipped with a low-noise, inductorless DC-DC converter generating –14V and +14V from the module's +5V power supply. Since all additional voltages are generated onboard, there is no need for an external dual-rail power Tibbit #12.
An onboard PIC16F1825 microcontroller resides between the ADC and the host CPU of the Tibbo Project PCB (TPP). The microcontroller's firmware implements a simple command interface, accessible via TX and RX UART lines (there is also an RTS flow control line). Dedicated to serving the needs of the ADC and unburdened by any other tasks, the PIC microcontroller enables low-jitter sampling of analog data in the data streaming mode and enhances the linearity and precision of analog-to-digital conversions.
Tibbit #43-1 operates in either command (default) or data streaming mode. The command mode is used to configure the Tibbit's settings (operating parameters) and also to perform single ("spot") analog-to-digital conversions. In the data streaming mode, the Tibbit sends a continuous stream of low-jitter measurements performed at a preset sampling rate. The device is capable of performing up to 1,000 measurements/second when a single channel is enabled. Up to 200 measurements per second per channel are possible when all four channels are used.
The PIC microcontroller's firmware can be upgraded in the system and without any additional external hardware. The firmware update process utilizes the low-voltage programming (LVP) mode of the PIC microcontroller, with the TX line acting as ICSPCLK, the RX line acting as ICSPDAT, and the –MCLR line used to put the microcontroller into the LVP mode.
For information on the operating parameters of Tibbit #43-1, please refer to Specifications.
For information on operating Tibbit #43-1, please see Working with Tibbit #43-1.
Single-Ended and Differential Modes
Whether Tibbit #43-1 operates in the single-ended or differential mode is determined by the SM command.
In the single-ended mode, the Tibbit provides four input channels. The voltage on each channel is with reference to the system ground; however, the Tibbit does not expose the ground line. This means that when running Tibbit #43-1 in the single-ended mode, you will need to get the ground line elsewhere. One of the common ways is to use Tibbit #43-1 in conjunction with Tibbit #20, which offers the system ground terminal.
Table 1 — Single-Ended Mode Line Assignments | |
IO1 |
Single-ended analog input channel 1 |
IO2 |
Single-ended analog input channel 2 |
IO3 |
Single-ended analog input channel 3 |
IO4 |
Single-ended analog input channel 4 |
GND |
Not provided by this Tibbit, must be obtained elsewhere (for example, by using Tibbit #20) |
Table 2 — Differential Mode Line Assignments | |
IO1 |
Positive input of the differential analog input channel 1 |
IO2 |
Negative input of the differential analog input channel 1 |
IO3 |
Positive input of the differential analog input channel 2 |
IO4 |
Negative input of the differential analog input channel 2 |
The system ground is not needed in the differential mode. However, to reduce the noise, you may wish to connect the signal cable's shield to the TPS ground. This will, again, require obtaining the ground line elsewhere.
Control Lines
Tibbit #43-1 has four control lines:
- TX: Connects to the TX output of the host CPU. The line is used to send commands from the host CPU to the Tibbit. The line is HIGH when idle.
- RX: Connects to the RX input of the host CPU. The line is used to receive replies and stream sampling data from the Tibbit to the host CPU. The line is HIGH when idle.
- RTS: Connects to the RTS output of the host CPU. The line is used by the host CPU to indicate whether it is ready to receive the UART data from the Tibbit. When this line is HIGH, it means that the host CPU is not ready to receive the UART data. When it is LOW, that indicates that the host CPU is ready to receive the data.
- –MCLR: Connects directly to the PIC's reset pin. The –MCLR pin should always be HIGH for normal operation of the Tibbit. To reset the PIC microcontroller, set the line LOW, then set it back to HIGH. This pin is also used for low-voltage programming of the PIC microcontroller, enabling in-system upgrades of the Tibbit's firmware.
Flow Control
Although Tibbit #43-1 features an RTS line, it does not have a CTS line. The reasons for the absence of the CTS line are that (1) there is no spare pin to accommodate this line, the fourth I/O interface line of the Tibbit being taken by the –MCLR pin; and (2) flow control in the host CPU-to-Tibbit direction is unnecessary. Large volumes of data potentially requiring flow control can only flow from Tibbit #43-1 to the host CPU. Only commands are ever sent in the opposite direction. All commands are short, and Tibbit #43-1 will always receive them reliably.
When enabling flow control in your application, remember to map the CTS line to the NULL line (ser.ctsmap = PL_INT_NULL).
If flow control is not used, remember to set the RTS line to LOW (see io.state). Failing to set the RTS line LOW will prevent Tibbit #43-1 from ever sending any data.
LEDs
Control lines A through D are each equipped with an LED. The RX line is equipped with a green LED, and all other lines have red LEDs. An LED will turn on when the state of its corresponding line is LOW.
Library Support
Tibbo supplies a companion software library for Tibbit #43-1 that takes care of calculations and conversions for you.
You can find the library repository here: https://github.com/tibbotech/libraries/tree/main/tibbits/tbt43
The library can be easily included in your project through AppBlocks. Don’t write your apps, draw them! Point and click through the entire development process.