-
Notifications
You must be signed in to change notification settings - Fork 2
TDC1 Documentation
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 |
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
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.
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.
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!