

The TDSSS (Time Domain Signal Sampling System), manufactured by Arduino (Part ID: TDSS), is a specialized circuit component designed for sampling and processing time-domain signals. It is widely used in signal processing and data acquisition systems, where precise and efficient signal sampling is critical. The TDSSS is ideal for applications requiring high-speed data acquisition, real-time signal analysis, and digital signal processing.








| Parameter | Value |
|---|---|
| Manufacturer | Arduino |
| Part ID | TDSS |
| Operating Voltage | 3.3V to 5V |
| Sampling Rate | Up to 1 MSPS (Mega Samples Per Second) |
| Input Signal Range | 0V to 3.3V |
| Resolution | 12-bit |
| Power Consumption | 50 mW (typical) |
| Operating Temperature | -40°C to +85°C |
| Communication Protocol | SPI (Serial Peripheral Interface) |
| Pin Number | Pin Name | Description |
|---|---|---|
| 1 | VCC | Power supply input (3.3V to 5V). |
| 2 | GND | Ground connection. |
| 3 | IN+ | Positive input for the signal to be sampled. |
| 4 | IN- | Negative input for differential signal sampling (optional). |
| 5 | CS | Chip Select pin for SPI communication. |
| 6 | SCLK | Serial Clock input for SPI communication. |
| 7 | MISO | Master In Slave Out - Data output for SPI communication. |
| 8 | MOSI | Master Out Slave In - Data input for SPI communication (optional). |
| 9 | DRDY | Data Ready - Indicates when a new sample is available. |
| 10 | RESET | Resets the component to its default state. |
Below is an example of how to interface the TDSSS with an Arduino UNO using SPI:
#include <SPI.h>
// Define pin connections
const int CS_PIN = 10; // Chip Select pin
const int DRDY_PIN = 2; // Data Ready pin
void setup() {
// Initialize SPI communication
SPI.begin();
pinMode(CS_PIN, OUTPUT);
pinMode(DRDY_PIN, INPUT);
digitalWrite(CS_PIN, HIGH); // Set CS pin to HIGH (inactive)
Serial.begin(9600); // Initialize serial communication for debugging
}
void loop() {
// Wait for the Data Ready signal
if (digitalRead(DRDY_PIN) == LOW) {
digitalWrite(CS_PIN, LOW); // Activate the TDSSS by pulling CS LOW
// Read 2 bytes of data (12-bit resolution)
uint16_t sample = SPI.transfer(0x00) << 8; // Read high byte
sample |= SPI.transfer(0x00); // Read low byte
digitalWrite(CS_PIN, HIGH); // Deactivate the TDSSS by pulling CS HIGH
// Print the sampled value
Serial.println(sample);
}
}
DRDY_PIN is used to detect when a new sample is ready for reading.No Data Output
Corrupted or Inaccurate Data
Component Overheating
Q: Can the TDSSS handle differential signals?
A: Yes, the TDSSS supports differential signal sampling using the IN+ and IN- pins.
Q: What is the maximum sampling rate of the TDSSS?
A: The TDSSS supports a maximum sampling rate of 1 MSPS (Mega Samples Per Second).
Q: Is the TDSSS compatible with 5V logic levels?
A: Yes, the TDSSS is compatible with both 3.3V and 5V logic levels.
Q: How do I reset the TDSSS?
A: You can reset the TDSSS by toggling the RESET pin or cycling the power supply.
This documentation provides a comprehensive guide to using the TDSSS effectively in your projects. For further assistance, refer to the Arduino support resources.