Skip to content

TDC1 Documentation

JunHerng edited this page Dec 14, 2021 · 2 revisions

Table of Contents

TDC1

Technical specifications

The TDC1 is a combined moderate-speed counter and timetagging device for processing electrical pulses in four independent inputs. It can accept a wide range of standardized signal standards including (NIM and TTL), is completely powered from a USB2 connection. The internal clock source can be disciplined by an external 10 MHz timing reference for precise absolute timing.

In counting mode, the device has 4 independent counters registering events on each of the four inputs, and 4 counting coincidence events between 4 pairs of inputs that register counts for a selectable integration time from 1ms to 65s.

In timetag mode, the device registers the absolute time of the leading edge every signal event (pulse) at any of the input lines with a resolution of 2ns together with the logical state of all four input lines. This allows to identify complex detector patterns with a single device.

Specification overview

Physical parameters:
Size approx 85mm x 45mm x 22mm
Weight 150g
Power consumption <0.5W (100mA from USB bus)
Signal inputs:
Impedance 50Ohm (default) and 1kOhm (selectable by jumpers)
Input standards TTL, NIM, custom (positive or negative pulses with a trigger level between -3.3V and +3.3V)
Minimal pulse width 2ns
Minimal pulse separation 2ns
Connector LEMO00 size coaxial connector (optional: SMA)
Clock reference:
External reference frequency 10MHz nominal (accepts 9...11MHz)
External reference amplitude 100mVpp min, 2.3Vpp max
Clock selection automatic or forced manual
Internal clock accuracy <50ppm, temperature drift TBD
Counter mode parameters:
Maximal count rate 250MHz in each channel
Integration time 1ms to 65535ms in steps of 1ms
Timestamp mode parameters:
Timing resolution 2ns
Timing jitter <200ps (nominal)
Maximal counting rate >10Mevents/s average, >250 Mevents/s in bursts of <512 events (see detail specification)
Dead time between events None
Interface:
Host connection USB CDC ACM class / virtual com port (no device driver necessary)
Data format Text or binary

Software

The device does not require a driver to operate, requiring only serial communication between host and device.

  Standard Serial Settings
  Baud Rate      : 115200
  Data Bits      : 8
  Parity         : None
  Stop Bit       : 1
  Flow Control   : RTS/CTS

Set Commands

By entering the HELP command, the device replies with a number of commands:

 Usage: Send plaintext commands, separated by newline/cr or semicolon.
        An eventual reply comes terminated with cr+lf.
 
 Important commands:
 
 *IDN?     Returns device identifier
 *RST      Resets device
 TIME     <value>
           Set the gate time to <value> in msec.
           Default is 1000, minimum is 1, max 65535.
 TIME?     Returns the current gate time.
 COUNTS?   Triggers a counting window, and replies with the number of
           detected events as a list of space-separated integers.
 ABORT     Stops current counting cycle.
 SINGLES   Return only singles (mode 0).
 PAIRS     Return singles and pairs (mode 1).
 TIMESTAMP Returns timestamps as packed binary patterns (mode 3).
 MODE?     Returns device counting mode.
 TTL       Process TTL inputs (threshold +1.6V, positive edge)
 NIM       Process NIM inputs (threshold -0.5V, negative edge).
 LEVEL?    Returns input threshold voltage and polarity (POS or NEG).
 REFCLK    <value>
           Sets the reference clock source, where <value> is 0 for autoselect,
           1 to force external reference, and 2 to force the internal reference.
           In auto mode, an external clock is considered ok if 9MHz<f<11MHz.
 REFCLK?   queries the current reference clock setting (reply is 0, 1 or 2).
 ECLOCK?   queries external clock status. returns 1 if an external clock
           with a frequency 9...1MHz is detected, or 0 otherwise.
 POS <voltage>, NEG <voltage>
           Sets input to detect positive or negative edges at a given
           threshold <voltage> (range -3.3...+3.3V).
 HELP      Print this help text.

Multiple commands can be sent with a semi colon in between with no space. An example command is show below.

 *RST;TTL;TIME100;TIMESTAMP;COUNTS?

This prompts device to reset its configuration, triggers with TTL pulse with a gate time of 100ms, works in Timestamp mode, and then returns the data for each event within the gate time.

Data Reading

In singles mode, device will return the counts for each channel in ASCII characters.

Return Character 0 1 2 3
meaning Ch1 Ch2 Ch3 Ch4

In pairs mode, device will return the counts for each channel and coincidences of four pairs of detection channels. Note that coincidence events is triggered by overlap in pulses.

Return Character 0 1 2 3 4 5 6 7
meaning Ch1 Ch2 Ch3 Ch4 Ch1-Ch3 Ch1-Ch4 Ch2-Ch3 Ch2-Ch4

In timestamping mode, the device will return integer multiples of 32-bit data within the set integration time. Data consists of two 16bit wide words per event, with the following meanig:

MSW (second word) LSW (first word)
bit in word 15 ... 2 1 0 15 14 13 12 ... 7 6 5 4 3 .. 0
meaning time (multiple of 2ns, 27 bit) dummyflag detector pattern

The 32 bit result per event results is made up by a 27 bit time (multiples of 2ns), a dummy flag, and four detector bits. The dummy flag indicates that the event had no detector events, but allows for synchronization of a higher level counter to extend the range of the timing information. It guarantees that the most significant bit of the timing information always toggles. Note the order of bits when converting the binary data into time in integers, they might need to be flipped usually.

In timestamp mode, the device return characters are streaming without any end of lines. For programs that run continuously and concatenate the data from previous loops, be mindful of the effect on the computer memory for prolonged recordings (you don't want to crash Windows when doing an important experiment).

The event pattern for timestamp is

  [no signal] [Signal at Ch 4][Signal at Ch 3][Signal at Ch 2][Signal at Ch 1]  [27-bit timestamp in nanoseconds]

When the count rate gets too high, say >2 Mevents/s there might be issues with buffer overflows and the data received will be corrupted. This rate varies from computer to computer as the rate is still far from the USB 2.0 limit of 480 Mbps. One can further process (eg: calculating correlation) the timestamp data by taking data from the GUI or reading from the generated text file.

Note: When there is no signal, the device will flag a no signal character on the event pattern after a period of of 135 and 270 ms. If your integration time is less than that, it is unlikely you will see this flag in the event there is no signal.

Contacts

For details regarding the device and questions, please contact

  info@s-fifteen.com

Please include your device model and serial code together with your questions. Any log or screenshots for us would help too. Thank you!

Clone this wiki locally