Time to digital converter (TDC)

From LogicBox
Revision as of 16:12, 27 January 2015 by Rubio (talk | contribs) (Register Map Model 0)
Jump to: navigation, search

LogicPool (TDC)

This module is a software implementation, no need of hardware to work. The TDC will capture the time stamp of the input channels by rising edge so long the gate is activated. The maximal time resolution is 10 ns and can be changed through a programmable divider, an external signal can be used as TDC clock too.

This module has a bus interface to connect with a FIFO, in this FIFO will be written the channel and time information of each rising edge, so long the gate is active. The number of channels and length of the time stamp counters depends on the selected model.

During the gate a package will be written in the FIFO. This package can consists of a Start of gate marker, 0 to N events marker and a stop of gate marker.


Models

At this time there are two models. The model 0 has only one event channel and the model 1 8 event channels. The event marker are different for each model. The model 0 event marker is a 32-bits time information and the model 1 event marker consist of 8-Bit channel mask to indicate which channels has been toggle and 24-bit with the time stamp


TDC model 1 Package overview
Event Channel info (bits 31..24) Time stamp (bits 23..0) Explanation
SOG 0x00 0x000000 SOG = start of gate, time stamp will be always 0 and no active channels
E1 0x01 0x000064 detected a rising edge on channel 0 100 CLKs after the SOG
E2 0x03 0x000080 detected a rising edge on channel 0 and 1 128 CLKs after the SOG
E3 0x00 0xFFFFFF time stamp counter overflow
E4 0x80 0x0001FF detected a rising edge on channel 7 16777215+511 CLKs after the SOG
EOG 0x00 0x0003FF EOG = end of gate, no active channels and time stamp must be non zero


CBUS Address

Register Map Model 0

Module Address: 'B' or Ox42

Read register

Read registers
Register Address Name Data
0 MUX_IN Bit 7..0: multiplexer address
1 EVENT MARKER Bit 31..0: current event information

Write register

Write registers
Register Address Name Data
0 MUX_GATE Bit 7..0: gate multiplexer address
1 MUX_CLOCK Bit 7..0: clock multiplexer address
2 CLOCK_DIVIDER Bit 31..0:
3 MUX_EVENT_CHANNEL Bit 7..0: event channel multiplexer address

Register Map Model 0

Module Address: 'B' or Ox42

Read register

Read registers
Register Address Name Data
0 MUX_IN Bit 7..0: multiplexer address
1 EVENT MARKER Bit 31..0: current event information

Write register

Write registers
Register Address Name Data
0 MUX_GATE Bit 7..0: gate multiplexer address
1 MUX_CLOCK Bit 7..0: clock multiplexer address
2 CLOCK_DIVIDER Bit 31..0:
3 MUX_EVENT_CHANNEL Bit 7..0: event channel multiplexer address

LabVIEW Vi

Inputs

 Input 1: 
 Input 2:


Outputs

 Output 1: 
 Output 2:

Parameters

 Param 1: 
 Param 2:

Functions

 Function 1: 
 Function 2:

Demo software