Home
User Manual
Contents
1. HRM TDC USER MANUAL gt Appendix gt Labview Driver Details HRM SetModeBitsRegister vi Handle Module handle Mode bits data Mode bits data HRM SetEdgeSensitivityRegister vi Handle Module handle Edge sensitivity Edge sensitivity data HRM_SetRoutingResetRegister vi Handle Module handle Routing reset Routing reset data SensL sense light HRM TDC USER MANUAL gt Appendix gt Labview Driver Details HRM SetMemoryCountHRegister vi Handle Module handle Memory count Memory count HRM_SetUSBCountRegister vi Handle Module handle USB count USB count data HRM SetFrequencySelectionRegister vi Handle Module handle Frequency selection Frequency selection data SensL sense light HRM TDC USER MANUAL gt Appendix gt Labview Driver Details HRM SetlODirectionRegister vi Handle Module handle IO direction GPIO direction data HRM SetlOValueRegister vi Handle Module handle IO value lO value data HRM SetBinCountHRegister vi Handle Module handle Bin Count Bin Count SensL sense light HRM TDC sensl sense light USER MANUAL gt Appendix gt Labview Driver Details HRM_GetStatusRegister vi Handle Module handle Status Status data HRM _ GetSoftwareRevisionRegister vi Handle Module handle FPGA revision FPGA revision HRM_GetWriteCountRegister vi Handle Module handle Write count Write count HRM TDC SensL
2. HRMTime FPGA Update X HRMTime FPGA Update Wizard Configuration file f Browse Figure 10 SIE Module Information screen HISTOGRAM TCSPC Histogram Single stop When this page is launched the top half will display a graph page Left click on this graph to reveal the configuration settings The size of the configuration and graph area can be adjusted by dragging the partition to suite Figure 11 show this page with the partition adjusted to reveal the entire configuration controls Programmable Clock Output The Programmable Clock Output is made available for all modes and is used to set the frequency and duty cycle of the internal programmable clock This clock is available at an SMA output for test purposes This clock is provided for testing and diagnostics The clock will exhibit a level of jitter that would not be suitable for accurate measurements as part of an experiment External Clock Period This should be set to the period of the external LASER clock HRM TDC SensL sense light USER MANUAL gt Sens Integrated Environment sie gt Using The Sens Integrated Environment sie Reverse Plot Due to the method of TCSPC measurement where the start and stop events are reversed it is sometimes useful to plot the curves with the TIME axis reversed Selecting this option will reverse the time axis for the plot Show Time Bins as Bars oelecting this option will result in the gra
3. handle HRM TDC module handle ucrData Number of 32 bit words to be read from the USB high speed interface HRM TDC SensL sense light USER MANUAL gt Appendix gt Hrm tdc Registers And Low Level Dil Functions HRS HRM TDC Status Register Register Description Reading this register will report the status of the HRM TDC module as follows D15 D14 D13 D12 D11 D10 Do9 Dos Do7 Doe Dos Do4 Dos DO2 Do1 Doo MC MT2 MTI mro cm cHo Rsy o o o o OV ME FC J HS TP TP If set to 1 the TCSPC time tag time bin processor is active HS If set to 1 the memory high speed data transfer processor to the USB port will be active FC If set to 1 the FPGA configuration processor is active ME If set to 1 indicates that a TIME TAG memory WRAP ROUND error has occurred OV This bit will be cleared when the state machine is reset OV will go to 1 if during processing the 32 bit 5ns resolution macro timer wraps round from maximum back to 0 RSY If set to 1 the module is set such that when in FIFO Time Tagging mode it will operate in Resync FSR is set to OXFFFF CH These two bits define the module type 1 2 or 4 channels TYPE 1 Channel 2 Channel 3 Channel 4 Channel MT Ihese three bits define the memory card type size being used o 0 O Reseved 0 po 1 Reserved 0 1 O Reserved Heserved 32 Mby
4. This value should be set to a value divisible by 10 Histogram exe 1 0101 2000 1000 TCSPC mode channels 2 and O enabled run for 2 seconds frequency 1MHz cjoccdcoccocooococooococoo occoouccU UDO 1860937 223518 190661 114961 20312 P344 1185 305 gg 2 o G m G m G ma BA m GA ma GA ma GA ma 5000005000000 0000 20 g5 ba2 2331 18012 56636 155322 192059 215636 183545 102350 55513 11731 DAT 152 4 Un OGA AOAOGA GOGOA 0000500 m G G m G G m G G m G A a G G mn G A m G G an G A am G G amn G Gam G ma G Aa G an d Gam G Ga Ga pa a pa a GA aa GA a G A am GA aa G a aa G aaa Ga aa D aa GG 500000 250000 200000 L 1 150000 100000 A SUDO Lo 3 J S TL ge DIS L9 EE eS ol 299 97 Figure 18 This program assumes that the programmable clock output is connected to all START and STOP inputs of all channels The time bin size as set in the mode bits register is set to 32 bits For this example assume that there is 8Mbytes of memory formatted as 2 Mbytes of 32 bit time bins The function HRM_StartHistogramFSM uses the AAR register to route the channel ID bits to the most significant address lines This automatically splits the memory into 4 blocks 1 for each channel The histogram for channel O Will start at 32 word address O The histogram for channel 1 will start at 32 word address Ox80000 The histogram HRM TDC USER MANUAL gt Appendix gt DII Application Examples for channel 2
5. AMICRO 0x510000 pMICRO cMICRO 5 Calculate total time between time tags dTIME dTIME nMICRO x rMICRO MICRO x 26 9851 ps HRM TDC sensl sense light USER MANUAL gt Appendix gt Resolving Free Running Fito Time tag Values Software Implementation in C int iMACRO double pMICRO cMICRO pMACRO CMACRO double rMICRO dMICRO dMACRO dTIME e o e Remove channel ID bits from MICRO values and Convert to doubles pMACRO double PreviousMacroValue pMICRO double PreviousMicroValue gt gt 2 CMACRO double CurrentMacroValue CMICRO double CurrentMicroValue gt gt 2 Calculate the MICRO counter rollover time rMICRO 0x510000 26 9851 Calculate the number of MICRO counter rollovers if cMACRO gt pMACRO dMACRO cMACRO pMACRO 5000 0 rMICRO else dMACRO cMACRO OxFFFFFFFF pMACRO 1 5000 0 rMICRO Cast rollover count to get dMACRO as a whole number then convert count into picoseconds iMACRO int dMACRO dMACRO double iMACRO dMACRO dMACRO rMICRO Calculate the change in MICRO counter in picoseconds if CMICRO gt pMICRO dMICRO CMICRO pMICRO 26 9851 else dMICRO cMICRO 0x510000 pMICRO 26 9851 Calculate the change in time from previous to current time tag dTIME dMICRO dMACRO HRM TDC sensl sense light USER MANUAL gt Appendix gt Resolving Free Running Fi
6. sense light USER MANUAL gt Appendix gt Labview Driver Details HRM GetModulelDRegister vi Handle Module handle Module ID Numeric Module serial number HRM_InitMemory vi Handle Module handle Start address Start address Length Block length Fill data Fill data HRM ReadMemory vi Handle Module handle Mode mask Mode bits mask Start address Read start address Length Read block size Buffer Read buffer Numeric HRM TDC SensL sense light USER MANUAL gt Appendix gt Labview Driver Details HRM ReadFIFOMemory vi Handle Module handle Mode mask Mode bits mask Start address Read start address Length Read block size Buf Read buffer Numeric HRM RequestStop vi Handle Module handle HRM TDC sensl sense light USER MANUAL gt Appendix gt Labview Driver Details HRM StreamTCSPC2Mem vi Handle Module handle Buffer size Read buffer size Recording length Recording time in ms Micro bits Number of microtime bits Micro LSB Microtime least significant bit Macro bits Number of macrotime bits Macro LSB Macrotime least significant bit Edge selection Edge selection data Recorded byte count Number of recorded bytes Buffer Numeric Read buffer HRM StreamTCSPC2File vi Handle Module handle Recording length Recording time in ms Micro bits Number of microtime bits Micro LSB Microtime least significant bit Macro bits Number of macro
7. Error writing command Error reading command Error reading data block FIFO has overflowed Memory buffer full Timeout error Could not detect module HRM TDC sens sense light USER MANUAL gt Appendix gt DII Application Examples DLL APPLICATION EXAMPLES Streaming Time Tags to file Description The following example streams Time Tags to a binary file and then creates a TEXT file from the RAW binary file If there is no additional argument argc 1 then streaming will be carried out in FIFO Time Tagging mode If there is an additional argument argc gt 1 then streaming will be carried out in FIFO TCSPC with MACRO time mode Source Code include lt stdio h gt include lt stdlib h gt include lt windows h gt include HRM TDCAPI h typedef unsigned char Ubyte Unsigned byte typedef char Sbyte Signed byte typedef unsigned short Uword Unsigned 16 bits typedef short Sword Signed 16 bits typedef unsigned int Ulong Unsigned 32 bits typedef int Slong Signed 32 bits typedef double Sdoub Double void main Sword argc Sbyte argv HANDLE hd1 10 HRM STATUS error FILE xfi fo Sbyte Ch Sword i flag Ulong moduleCount ttag 2 pMAC pMIC cMAC cMIC Num Sdoub gapT Tot mac mic error HRM OK pMAC 0 pMIC 0 fi NULL fo NULL Detect the number of HRM TDC modules HRM RefreshConnectedModuleList moduleC
8. HRM OK error HRM InitMemory hdl 0 0 0x200000 0 Start the histogram running if error HRM OK error HRM StartHistogramFSM hdl 0 tcspc 0 Run the histogram for the programmed time in ms ul if error HRM OK for i GetTickCount Uword GetTickCount i lt delay Stop the histogram process if error HRM OK error HRM SetModeBitsRegister hdl 0 0x0030 Read all the memory into the buffer if error HRM OK error HRM ReadMemory hdl 0 0x0030 0 0x200000 buffer Open the file and set the headings if error HRM OK fl fopen HISTOGRAM csv w t fprintf fl Chan 0 Chan 1 Chan 2 Chan 31n For each channel read all the time bins from 20ns before to 20ns after the 1 2 clock cycle and save then in the file for i 0 i range amp amp error HRM OK i fprintf fl 1d 2 1d 1d 1d n buffer i CHO ADDR offset bufter i CH1 ADDR offset buffer i CH2 ADDR offset buffer i CH3 ADDR offset HRM TDC USER MANUAL gt Appendix gt DII Application Examples Close the file and print error code if failed if fl fclose l if error HRM OK printf Done else d error HRM GetLastError HRM OK printf Failed Error code d error SensL sense light HRM TDC Sens sense light USER MANUAL gt Appendix gt Resolving Free Running Fifo Time tag Values RESOLVING FREE RUNNING FIFO
9. the drrData array must be set to 0 0 1 0 2 0 3 0 4 0 5 0 6 0 7 0 26 0 27 0 28 0 29 0 30 0 31 0 32 0 33 0 34 0 35 0 36 0 37 0 38 0 39 0 40 0 41 0 42 0 43 0 44 0 45 0 46 0 47 0 23 0 24 0 LAL LAH Load Address LO HI Register Register Description These two registers are used to initialize the Address Counter see ARR register to a pre defined value The order of loading the initialization address must be LAL followed by LAH The LAL command will define the least significant 16 bits A15 down to AO of the counter The least significant 11 bits of the LAH command will define counter bits A26 down to A16 On completion of the LAH command the Address Register will be loaded with the new value HRM TDC sensl sense light USER MANUAL gt Appendix gt Hrm tdc Registers And Low Level Dil Functions Driver HRM SetAddressRegister HRM_STATUS WINAPI HRM_SetAddressRegister HANDLE handle ULONG arData handle HRM TDC module handle arData 32 bit address to set LAH LAL to LFL LFH Load Fill Value LO HI Register Register Description The user can command the HRM TDC module to fill a range of memory with a given value The value used for this command is defined using these 2 commands The initialization value is a 32 bit value The most significant 16 bits is defined by LFH and the least significant 16 bits is defined bits LFL Driver HRM SetFillValueRegister HRM STATUS WINAPI HRM_SetFillValueRegister HANDLE handle ULONG fvr
10. until the memory is full Once the process has stopped the top graph will display a plot of the event frequency over time The bottom graph will display the correlation curve as specified by the configuration parameters For details of the correlation algorithm see the Appendix in this document HRM TDC SensL sense light USER MANUAL gt Sens Integrated Environment sie gt Using The Sens Integrated Environment sie SensL Integrated Environment PEN d Macro X time 00000 000 X 00000 000 dX 00000 000 Fide cursors _Hide annotations 35 M Y 300 000 Time ns 30 35 40 45 20 25 Time ns Target dataset i CM geg Bin size fa ii Resolution 0 027 ns Micro time Maximum lag 2000 bins FIFO TCSPC configuration Recording length 1000 ms Maximum event count 4000000 External clock period 1000 ns Reverse plot Micro time bits Maximum micro time 221 157 ns Micro time sb o Micro time resolution 27 ps A mmm PA a Fe Macro time bits ji Maximum macro time 1655355 lt l ns Macro time Isb o Macro time resolution 5 8 ns Channel 1 Channel 2 Channel 3 Channel 4 Enabled Iv O r r Start on rising edge M Iv Iv Iv Start on falling edge O O O Stop on rising edge O r r Stop on falling edge M iv Vv iv Figure 17 SIE Correlation screen HRM TDC SensL sense light USER MANUAL gt Appendix
11. 2 or 3 micro otorage location for micro time in picoseconds macro otorage location for macro time in nanoseconds HRM STATUS returned equal to HRM OK if success HRM TDC Sens sense light USER MANUAL gt Appendix gt High Level Dil Functions Driver HRM CorrelateTimeBins HRM STATUS WINAPI HRM_CorrelateTimeBins HANDLE handle ULONG Xx ULONG Ix ULONG y ULONG ly ULONG maxlag double corr Carries out a correlation algorithm on two sets of Time Bins handle HRM TDC module handle X Pointer to an array of time bin values Ix Number of bins in x array y Pointer to an array of time bin values ly Number of bins in y array maxlag Total number of bins to be used as the lag time corr Pointer to array for storing the correlation results HRM_STATUS returned equal to HRM_OK if success Note For autocorrelation the user must input the same set of time bins for x and y For details of the correlation algorithm used see article in appendix Driver HRM_RunFifo Time Tagging HRM STATUS WINAPI HRM RunFifoTimeTagging HANDLE handle USHORT ESRreg USHORT microlsb USHORT mode Starts running the FIFO time tagging mode Once this has been executed the function HRM_GetFifoData can be used to continuously download the data handle HRM TDC module handle ESHreg Module ESR register value for defining channels and edge sensitivity microlsb Resolution 0227ps 1 54ps 2 108ps etc mode 1 HFO FREE RUNNING or 2 FI
12. Address Option Bits to be routed to that particular address bit The Address Option Bits are as follows AOB 24 O TagData AOB 51 25 Address Counter AOB 67 52 16 bit I O Data AOB 79 68 Pixel Counter AOB 91 80 Line Counter AOBI92 Fix to logic O TagData This is the time tag data as received by the Pico Second Timing Interface Bits 23 24 define on which channel the time tag was received OO 01 10 or 11 The bits 22 down to O define the time with bit O being the LSB LSB 26 9851 ps Address Counter These bits provide a 27 bit counter that can be routed to the address bus This counter can be pre loaded with a given value After each write to memory this counter will be automatically incremented This counter would be most used when the system is in time tag mode Here the system reads time tags and stores them in consecutive locations in memory These bits are also available to be used in Time bin mode However in this case the address is not incremented Instead the address counter bits are used purely as an offset address in memory for saving curves 16 Bit I O Data The value of the 16 I O data bits can be routed to any address line This would be useful for plotting X Y curves For example the I O could be used as 8 bit X and 8 bit Y inputs allowing a 256 x 256 array of curves to be plotted Pixel Counter Line Counter Frame Reset The 16 bit I O method of X Y plotting is limited to 256 x 256 arrays An altern
13. HRM SetEdgeSensitivityRegister HANDLE handle USHORT esrData handle HRM TDC module handle esrData 16 bit value to write to the ESR RRR Routing Reset Register Register Description A write to this register Resets the ARR and DRH registers ready for programming Clears the WCH and WCL registers Clears the LINE and PIXEL counters Clears the Memory Wrap Error bit in the status register Driver HRM SetRoutingResetRegister HRM_STATUS WINAPI HRM_SetRoutingResetRegister HANDLE handle USHORT rrrData handle HRM TDC module handle rrrData Don t care MCL MCH Memory Count LO HI Register Register Description When the system is commanded to initialize the memory these registers will define the block size of 32 bit memory locations to be written to with the value defined by the Load Fill Value registers When the system is put into Time Tag or TCSPC Time Tag mode these registers will define the number of 32 bit memory locations to be stored as time tag data before halting If these registers are set to O the time tag processor will run until commanded to stop by resetting the state machine For further details see MBR Md bits 000 Driver HRM SetMemoryCountRegister HRM STATUS WINAPI HRM SetMemoryCountRegister HANDLE handle ULONG mcrData handle HRM TDC module handle morData Number of 32 bit locations to process HRM TDC sensl sense light USER MANUAL gt Appendix gt Hrm tdc Registers And Low Level DII Fu
14. Macrotime Microtime 2 0 D D 18584 e 0 1 18683 3 1 0 0 55740 1 0 2 18681 4 2 D D 92796 2 0 3 18680 5 3 D 0 129852 3 0 4 18681 6 4 D 0 166907 4 0 5 18679 7 5 0 0 203958 5 0 6 18679 8 6 0 0 241012 G 0 H 18681 9 H 0 0 278066 7 0 8 18677 10 8 0 0 315120 8 0 9 18679 11 H 0 0 352173 9 0 10 18679 12 10 0 0 389227 10 0 11 18581 13 11 0 0 426280 11 0 12 18678 14 12 0 0 453331 12 0 13 18676 15 13 0 0 500383 13 0 14 18681 16 14 0 0 537437 14 0 15 18581 17 15 0 0 574488 15 0 16 18676 18 16 D 0 611543 16 0 17 18679 19 17 D 0 648595 17 0 18 18676 20 18 0 D 665646 18 0 19 18677 21 19 0 0 722698 19 0 20 18678 22 20 0 D 759750 20 0 21 18680 23 21 0 0 796804 21 0 22 18678 24 22 0 0 833855 22 0 23 16676 25 23 O 0 970910 23 0 24 18678 26 24 0 0 907961 24 0 25 18678 27 25 0 0 945014 25 0 26 18677 28 26 0 0 982066 26 0 27 18678 29 27 0 0 1019119 27 0 28 18679 30 28 0 0 1056174 28 0 29 18679 21 29 n n 1003770 20 n an 18676 Figure 16 Data from Free Running mode Data from Resync mode Example If the MACRO time value is 28 and the MICRO time is 11232 then the absolute time of the tag from the start pulse is Free Running 28 x 5808416 11232 x 26 9851ps 4011250921ps Note 5308416 Hex 510000 Resync 28 x 4000000 11232 x 26 9851 11230309 ps Note Rollover is every 4000000 ps HRM TDC sensl sense light USER MANUAL gt Sens Integrated Environment sie gt Using The Sens Integrated Environment sie Correlation The Correlation f
15. TIME TAG VALUES Free Running Algorithm Explained When the module operates in Free Running FIFO Time Tagging mode resolving the time tag values can be quite complicated A FIFO time tag consists of two 32 bit unsigned values The first word reports the MICRO time and channel number The second word called the MACRO time is a 32 bit free running counter value with an LSB of ons The MICRO counter is a 23 bit counter with an LSB value of 26 9851 ps This counter rolls over at a value of OXSOFFFF The time for a complete rollover of the MACRO counter is 21 5 seconds So assuming that the intervals between consecutive time tags is not greater than 21 5 seconds each time tag interval can be calculated as follows li Calculate MACRO change MACRO If previous MACRO value is less than current MACRO value then dMACRO CMACRO pMACRO If previous value pMACRO is greater than current MACRO then counter has rolled over so AMACRO 0x100000000 pMACRO cMACRO 2 Calculate complete MICRO rollover time rMICRO Complete rollover time for MICRO rMICRO 0x510000 26 9851ps 143248136 6016ps 3 Calculate number of complete MICRO rollovers nMICRO NMICRO dMACRO x 5000 rMICRO x 5000 to convert MACRO into ps 4 Calculate change in MICRO counter dMICRO If previous value pMICRO is less than current value CMICRO then dMICRO cMICRO pMICRO If previous value pMICRO is greater than current CMACRO then counter has rolled over so
16. and lower byte are set to 1 2 period in 5ns per bit 1 clock Uword clock 5 if clock clock clock Uword clock lt lt 8 clock 1 Set the flag for TCSPC or MULTI SCALAR mode 2 Read in the time in ms for running the histogram 3 Form the 4 channel edge enables based on the input parameter HRM TDC sensl sense light USER MANUAL gt Appendix gt DII Application Examples if error HRM OK tcspc Uword argv 1 0 1 delay Sword atoi argv 3 if argv 2 0 1 chann 0x9000 if argv 2 1 1 chann 0x0900 if argv 2 2 1 chann 0x0090 if argv 2 3 1 chann 0x0009 Detect the number of HRM TDC modules if error HRM OK HRM RefreshConnectedModuleList moduleCount Ulong HRM GetConnectedModuleCount If a module is present connect to the first module If no module set error and reason in last error report udi if error HRM OK if moduleCount HRM GetConnectedModuleList hdl else d HRM GetLastError HRM OPEN USB error HRM ERROR Set the clock frequency if error HRM OK error HRM SetFrequencySelectionRegister hd1l 0 clock Set the channel edge enables if error HRM OK error HRM SetEdgeSensitivityRegister hdl 0 chann HRM TDC sensl sense light USER MANUAL gt Appendix gt DII Application Examples Clear the memory if error
17. components included INSTALLATION To install the TDC software and USB drivers follow these steps Go to www sensl com support sw and download both the Release Note PDF and the HRM TDC ooftware EXE files Run the HRM TDC Install XpXX exe where the XpXX is the revision number file and follow the instructions After the GUI and DLLs are installed you will be prompted to install QuickUSB drivers which are necessary for communication with the TDC Now power up the HRM TDC module and connect the USB cable The PC will recognize that new hardware has been added Depending on the operating system the drivers may be located automatically or it may be necessary to select them manually by directing the PC to the directory c Program Files SensL HRM TDC QuickUSB where the necessary file will be located The PC is ready to launch the TDC software It can be found in the directory C Program Files SensL HRM TDC his assumes you have used the default directory settings for your installation HRM TDC sensl sense light USER MANUAL gt Sens Integrated Environment sie gt Using The Sens Integrated Environment sie USING THE SENSL INTEGRATED ENVIRONMENT SIE Main Page When the SIE software is launched it will search the USB for available HRM TDC modules and initialize them ready for use Once this has been carried out the main SIE page will appear as shown in Figure 9 A list of available devices will be shown To in
18. gt Hrm tdc Registers And Low Level DII Functions Appendix HRM TDC REGISTERS AND LOW LEVEL DLL FUNCTIONS The control and setup of the HRM TDC is carried out by a series of commands to a set of configuration registers within the module To simplify the control of these registers a set of low level drivers in a DLL is available The low level drivers will return an HM STATUS of value HRM_OK or HM ERROR For standard C programming the user must use the DLL HRMTimeAPI DLL For LabVIEW the user must use the modified version of the DLL providid called HRMTimeALI_LV DLL In both cases a copy of the relevant DLL MUST reside in the same folder as the application Initialization Low Level Drivers Before the user can read write to these configuration registers communication must be established with the module To do this the following low level driver functions must be used Driver HRM GetDLLVersion HRM API const char WINAPI HRM_GetDLLVersion void This function returns a pointer to a text string describing the revision level of the drivers Driver HRM SetConfigurationPath HRM API void WINAPI HRM SetConfigurationPath char path path Pointer to text string defining path This function is used to define the path where the configuration data for the module resides Driver HRM RefreshConnectedModuleList HRM API bool HRM RefreshConnectedModuleList void This function can be called at any time to determine if the list of connected mo
19. in the location pointed at by size This function keeps a pointer that is updated as data is downloaded from the FIFO Hence consecutive calls to this function will read the data in sequence as it is stored in the FIFO This function allows the user to continuosly download the FIFO data in blocks allowing processing of the data between each call Note e The data transferred will be rounded to a number of 256 x 32 bit elements Therefore the minimum data transfer is 256 x 32 bit elements The minimum allowable value of max is 256 e The amount of processing time available between each call is dependant on the hit rate at the module input s handle HRM TDC module handle mode 1 FIFO_TIMETAGGING or 2 FIFO_TCSPC max Maximum elements to store size Pointer to location for storing actual number of elements read from the FIFO buffer Pointer to 32 bit buffer for storing the data HRM_STATUS returned equal to HRM_OK if success HRM TDC SensL sense light USER MANUAL gt Appendix gt High Level Dil Functions Driver HRM ConvertRAWtoCSV HRM STATUS WINAPI HRM ConvertRAWtoCSV USHORT mode USHORT mocroBits BYTE rawFile BYTE csvFile Converts a previously generated RAW binary file into a CSV file for importing into a spreadsheet or TEXT editor mode FIFO_TCSPC FIFO FREE RUNNING or FIFO RESYNC microBits Number of micro bits Only applicable for FIFO_TCSPC mode rawFile Name of RAW binary file csvFile Name of file to
20. parameters and starting the execution of a particular task HRM TDC SensL sense light USER MANUAL gt Hrm tdc System Description gt System Processor And Controller Detailed Description DMA to USB Fast Transfer Interface The system memory is dual ported between the USB and the Time Bin Time Tag controller This module controls the reading of data from memory to the USB interface by means of high speed DMA block transfers The Command Interpreter initializes this module with a start address and block data count When commanded to start this module interfaces with the Dual Port Memory Arbiter to read the pre programmed data block The rate of this process is such that data can be transferred from the memory to the USB port as fast as required This allows the USB 2 0 high speed interface to operate at full speed without loss of data Time Bin and Time Tag Controller This module is responsible for carrying out the particular Time Tag or Time Bin process as defined by the Command Interpreter This module communicates with the Timing Modules and saves the results of the measurements in the dual ported memory The format of these results is determined by the mode of operation In time bin mode this module will use the time information from the Timing Modules to determine the particular bin to be incremented In time tag mode this module will treat the memory as a large FIFO saving time tag data in consecutive locations The format of the time ta
21. with the module has been established the configuration registers can be programmed using the associated low level driver ARR Address Route Register Register Description The method of time binning is based on using the received time tag data and discrete O inputs to form the address in memory for time bin processing In its simplest form a time tag could be used as the address bus so that each time bin is separated by the resolution of the least significant bit On receipt of a time tag the system outputs the time tag as an address and then increments that location time bin In the HRM TDC system further data bits are included in the address selection to allow multiple curve plotting based on multiple channel inputs and discrete inputs for X Y array plotting To allow maximum flexibility the AAR register can define any bit to be placed in any HRM TDC sensl sense light USER MANUAL gt Appendix gt Hrm tdc Registers And Low Level Dil Functions position within the address bus for the shared memory Understanding the ARR is critical as it is the controller that defines the resolution curve count and array size of all measurements Before programming the ARR the user must first assert an RRR Route Register Reset command to initialize the system Once this is done the ARR is then programmed by sending 27 consecutive writes The address bus of the memory is 27 bits A26 A0 Starting with AO each write defines the bit number of the
22. 00 zl Cc Cn Ewha of Dead Time time to process event 190ns Tt E ng sun a z Macro time LSB time during experiment 5ns 13 41 ololojojeojojojojojojojojo Minimum time from START to first STOP Figure 7 FIFO modes continually record the timing of events and save the results in consecutive locations in memory as shown in Fig 7a When the last location in memory is filled if not commanded to STOP the module continues to record data starting at the beginning of memory again The host PC via the USB interface keeps up in time with the module reading the data from memory to a file in the host computer Hence the memory can be regarded as a very large FIFO Providing the host PC can keep up with the module timing data can be recorded indefinitely In this mode the module carries out the Single STOP process as described previously and illustrated in Fig 7b and Fig c However along with the timing of the Single STOP event a MACRO time the time during the experiment that this measurement is made is also recorded Both times are recorded in the FIFO An example of the data recorded is shown in Fig 5d Data is saved in CSV format This mode is also referred to as TCSPC with Macro Time in the SIE due to its application in Time Correlated Single Photon Counting Note In this mode the START of each channel will be the event and the STOP will be a delayed version of the LASER clock On receipt of an event the timing
23. Channel Macro tag Micro tag 0 0 197 18712 1 397 16713 2 0 597 18713 3 0 T97 1614 4 0 997 18714 5 O 1197 18714 6 U 1397 18712 D U 1597 18714 8 O 41797 18712 9 U 1997 18710 10 0 2197 18712 11 0 2397 18711 12 0 2597 18709 13 0 2797 18711 14 0 2997 187 10 15 U 3197 18708 16 0 3397 18712 17 0 3597 18712 16 0 3797 18708 19 0 3997 18708 20 0 4197 18713 21 0 4397 18711 22 O 4597 16710 23 0 4797 18713 24 oO 4997 18712 25 0 5197 18711 26 O 5397 18712 2T U 5597 16710 28 0 5797 18 08 29 O 5997 18712 30 oO 6197 16 14 31 U 639 16710 Figure 14 Typical output data from streaming TCSPC Time Tags FIFO Time Tagging FIFO Multi stop This page is used to continuously stream event time tags as shown in Fig 15 This mode offers 2 methods that are selected by the value of the programmable clock If the programmable clock is set to 1280 HI and 1280 LO then the Resync option is selected Any other clock value will select the Free Running option Free Running Once the configuration is selected the user can start the module recording The module will wait for the first single start pulse and then start recording every stop event until the recording time is reached the maximum event count is reached or the process is manually stopped The first start pulse will begin recording All following stop events will be stamped and saved Any following start pulses during the process will be ignored Hence all even
24. DLL The Appendix of the User Manual covers Registers low level DLL functions high level DLL functions DLL error reporting and examples as well as help and examples for resolving time tag values an explanation of the correlation function used and the Labview drivers provided HRM TDC Sens sense light USER MANUAL gt Contents gt Getting Started Contents Document e 1 AP 5 o Po PP AP A 6 Segre edo lo ele q er CPP Po o o A 6 Unpacking the System and Preparing ee 6 Sale E el A Ol e E ta 6 Yem A OY I SAS Sn 6 SOE SU e e 8 VO FOR GON eC OG NOC e EE 8 sinh OC Sy stem DeSoriDION D 9 a PP e Oo 9 NO A o E 9 Hme to Digital EE Ee 9 PHONE SO EE 9 LOSS SCN FUO OVO FON E 10 EE ORIO co 10 System Processor and Controller Detailed DescCriptiON coccconnconnconnconnconcconnnonrnonrconrcnnrnnnrnancnnnenancnanennanon 10 COTA IMC 10 DMA to USB Fast HAS OPINADO ina aaa A Aa Danana Naai Aini RN 11 Time Bin and Time lag CONT ONCE v 11 EE 11 EE EAO E E E E E E A E E E E EE A A A E 11 DR eege 11 HRM TDC Specific Feature E 12 Eege 13 Eege 13 Histogram Single stop TOSPO MODE rra 14 Histogram Multi stop Multiscaler Counter ancccncconnnonnncornnarconrnanronnrnnncnnncnnncnnncnna ron ran roma rnnnronaronrranrnnnas 15 HRM TDC Sens sense light USER MANUAL gt Contents gt Getting Started FIFO Single stop TCSPC with Macros TIME Tanta 16 FIFO Multico FIFO TIS TOJN e EE 17 SensL In
25. Data handle HRM TDC module handle arData 32 bit value to set LFH LFL to UAL UAH Load Address LO HI Register Register Description These two registers are used to initialize the USB address counter The block DMA transfers from memory to the USB start at the address defined by these two commands On completion of each USB transfer the USB address counter is automatically incremented This address is a 32 bit long word address All USB block transfers are carried out in long words 4 bytes at a time The order of loading the initialization address must be UAL followed by UAH The UAL command will define the least significant 16 bits A15 down to AO of the counter The least significant 10 bits of the UAH command will define counter bits A25 down to A16 On completion of the UAH command the Address Register will be loaded with the new value UAL D15 D14 D13 D12 D11 D10 Dog Dos Do7 Doe Dos Do4 pos DO2 Do1 Doo UAH D15 D14 D13 12 D11 D10 DO9 Dos Do7 Doe DOS D04 pos poz Do1 Doo HRM TDC Sens sense light USER MANUAL gt Appendix gt Hrm tdc Registers And Low Level Dil Functions Driver HRM SetUSBAddressRegister HRM_STATUS WINAPI HRM_SetUSBAddressRegister HANDLE handle ULONG uarData handle HRM TDC module handle uarData 32 bit address to set UAH UAL to MBR Mode Bits Register Register Description This register defines a number of set
26. EAE 44 HB s VV COUT Ee 45 WCL VIS COURT LO COIS tee EE 45 Non Register Specific Low Level Drivers ccsscceeccceneecenecsnneecnneeensecenscenseonssecaeeconsecenssenseonsseoaseconsenaees 46 HIS ALS PRAES ETT Tm TET ETUR 48 PAM e TTE e UT Tm 56 WM eee uic iSc ETE 57 Resolving Free Running FIFO Time Tag Values Lee LL EE KEEN KEREN RE EEN EEEEEE ama aan annus 66 e E ee ADORO EXA ceo iio 66 ee ale el EE 68 COSTA FUNCUONAIGOrNU as 70 LS ier E 71 PAI ICV DYN eege 71 SEO Lap DO e 84 HRM TDC SensL sense light USER MANUAL gt Glossary gt Getting Started Glossary Here are words and phrases used in this user manual in relation to the HRM TDC module SIE LSB Histogram FIFO TCSPC Time bin Time Tag Curve Micro time Macro time oensL Integrated Environment the GUI that runs on the SensL DLL and provides an example program allowing the user to make measurements with the HRM TDC Least Significant Bit The right most bit in a binary integer and in the case of the HRM TDC it determines the minimum timing resolution possible The use of consecutive memory locations to store counts that represent points on a graph Each memory location represents a time range that can be specified via software down to the LSB value of the HRM TDC 27ps First In First Out in the HRM TDC timing data can be stored in memory before being downloaded to the PC FIFO is an
27. F Time to Digital Start 1 Converter Module Stop 1 Time to Digital Start 2 Converter Module Stop 2 Time to Digital Start 3 Converter Module Stop 3 Data Control Memory 8 MB 16 bit General Purpose oro Me Figure 2 An overview of the HRM TDC operation The HRM TDC system consists of 4 time to digital modules each having a START and a STOP input 16 I O ports a high speed USB interface memory storage and an FPGA based processor as depicted in Fig 2 The purpose of each element is as follows Memory The memory module is an HRM TDC format plug in mezzanine board providing 8 Mbytes of memory Time to Digital Converter Module This module is the front end of the system and is responsible for resolving the timing between the START and STOP inputs of each of up to four channels Each channel is controlled by the FPGA and can be programmed to start and stop on either LO HI or HI LO transitions High Speed USB 2 0 Interface The USB interface is used to command configure the HRM TDC as well as download in real time timing data to the host computer This USB interface implements high speed USB 2 0 protocol allowing real time continuous logging of timing data up to rates of 4 5 MHz without data loss HRM TDC sensl sense light USER MANUAL gt Hrm tdc System Description gt System Processor And Controller Detailed Description 16 Bit General Purpose I O Port This general purpose O port is u
28. FO_RESYNG HRM_STATUS returned equal to HRM_OK if success HRM TDC SensL sense light USER MANUAL gt Appendix gt High Level Dil Functions Driver HRM RunFifoTCSPC HRM STATUS WINAPI HRM RunFifoTCSPC HANDLE _ handle USHORT ESRreg USHORT microbits USHORT microlsb USHORT macrolsb Starts running the FIFO TCSPC mode Once this has been executed the function HRM_GetFifoData can be used to continuously download the data handle HRM TDC module handle ESHreg Module ESH register value for defining channels and edge sensitivity microbits Number of micro T CSPC bits in time tag max value 23 microlsb TCSPC resolution 0227ps 1 54ps 2 108ps etc macrolsb Macro time resolution O 5ns 1 10ns 2 20ns etc HRM_STATUS returned equal to HRM_OK if success Note Each time tag consists of 1 x 32 bit word The least significant 2 bits are reserved for the channel ID leaving 30 bits to be shared between the macro and micro time Driver HRM GetFifoData HRM_STATUS WINAPI HRM_GetFifoData HANDLE handle USHORT mode ULONG max ULONG size ULONG buffer Once the module is running in FIFO time tagging or FIFO TCSPC mode see HRM RunFifoTimeTagging and HRM_RunFifolTCSPC this function can be used to continuosly download the data from the FIFO This function will download all the data available up to a specified max count from the FIFO and save it in the buffer The actual number of 32 bit values read from the FIFO will be stored
29. HRM TDC sensl USER MANUAL ef sense light A Le High Resolution Time to Digital Converter Module Document Overview This document provides the user with a comprehensive description of the hardware and software of the HRM TDC module including system description the various timing modes software GUI and DLL drivers The document is split up into the following sections GETTING STARTED This section provides instructions for unpacking the HRM TDC and a brief overview SYSTEM DESCRIPTION This section gives a description of the system hardware the various ports and communication channels the internal processor and the specific timing features SENSL INTEGRATED ENVIRONMENT SIE The SIE is a user interface for setting up and controlling the HRM TDC module While the interface provides an extensive range of operating modes and measurement processes including graphical presentation it does not fully cover all features available in the HRM TDC module This section of the User Manual includes instructions for the installation of the necessary software and detailed description of each part of the SIE and how to set up and use it APPENDIX The HRM TDC DLL provides a set of functions that will allow full control of the HRM TDC for all features For complex experiments that require control beyond the scope of the SIE it is expected that the user will write their own real time application utilizing the various functions in this
30. In this example only channel O is active After starting the experiment the module will run for the Recording Length or until the memory is full Once the process has stopped the top graph will display a plot of the event frequency over time The user can now use the cursors to select a time period of the top graph When this is done the software will automatically plot the TCSPC curve for the time tags over that particular period The user can at any time save these curves and run the experiment again Fig 13 shows an example of this mode of operation The user can for each run save a particular TCSPC curve or set of curves and compare it with other curves at different MACRO time ranges and or runs Once the processing has been stopped the graphs can be analyzed To zoom in hold right mouse button down and size selection box over area of interest To zoom out sweep mouse from right o left with right mouse button held down To measure between points click on graph with right button and left button to position two cursors The position of these two cursors and their X and Y differences will be displayed at the top of the graph see Fig 13 This mode of operation is particularly useful for carrying out preliminary tests to determine the best configuration before carrying out a full experiment using continuous streaming of results to a PC file Streaming TCSPC Time Tags Once the configuration is selected the user can now select a path and
31. YSTEM AND PREPARING FOR USE Unpack the contents and identify each of the components o HRM TDC Module e Power Supply with country specific connector e USB cable SAFETY CONSIDERATIONS de Only use the power supply supplied with the HRM TDC module 2 The power supply should be disconnected from the mains supply when the module is not in use 3 The module is not intended for outdoor use 4 The power supply should not be opened nor should the module covers be removed at any time as there are no user adjustable components or settings except via the SensL Integrated Environment Software 9 Liquids should not be spilled on or into the module SYSTEM INSTALLATION PROCEDURES For software driver and SensL Integrated Environment installation instructions see the SIE User Guide on page 18 of this document Please follow the instructions carefully and ensure you have installed the QuickUSB drivers as instructed HRM TDC Sens sense light USER MANUAL gt Getting Started gt System Installation Procedures SYSTEM CHARACTERISTICS AND SPECIFICATIONS Dimensions 164mm L x 96mm W x 34 mm H Weight 680g Power 5V 0 65 A Temperature Operating 0 C to 50 C Storage 20 C to 0 C Specifications Memory format Dual ported linear or dual ported FIFO mode dependent Readout during operation Fully dual ported memory no stop start operation required Multi detector operation Up to 4 Multi module operation Number de
32. able clock This clock is available an SMA output for test purposes This clock is provided for testing and diagnostics only The clock will exhibit a level of jitter that would not be suitable for accurate measurements as part of an experiment Resync With the clock programmed to 1280 HI 1280 LO FSR register set to OXFFFF the module will operate in Resync HRM TDC sensl sense light USER MANUAL gt Sens Integrated Environment sie gt Using The Sens Integrated Environment sie Recording Length The recording length should be set to the desired period over which the TCSPC measurements are to be taken Maximum Event Count This defines the maximum number of events to be stored before recording stops This value is used to ensure the storage data size does not exceed the capacity of the system Timer LSB This is used to select the resolution of the time tag Selecting bit O will give the time tag a resolution of 27ps Bit 1 will set the resolution to 54ps 2 x 27 bit 2 will set the resolution to 108ps 4 x 27 and so forth Channel Enable and Edge Selection These check boxes allow the individual channels to be enabled disabled and the START STOP inputs sensitivity to be specified Note Press the Apply changes button to set your selected configuration Data Recording Once the configuration is selected the mode is now ready for recoding data In FIFO Time Tagging mode two forms of data recording are available Graphical P
33. ad buf Pointer to buffer for storing the data HRM TDC sensl sense light USER MANUAL gt Appendix gt Hrm tdc Registers And Low Level Dil Functions Driver HRM GetMemorySize HRM_STATUS WINAPI HRM_GetMemorySize HANDLE handle ULONG size Gets the memory size of the module in bytes handle HRM TDC module handle Size Pointer to location for storing number of memory bytes HRM TDC SensL sense light USER MANUAL gt Appendix gt High Level Dil Functions HIGH LEVEL DLL FUNCTIONS The HRM TDC DLL HRMTimeAPI DLL contains a set of high level drivers designed to allow the user to easily stream date from the module to memory or file These drivers are as follows Driver HRM StartHistogramFSM HRM STATUS WINAPI HRM StartHistogramFSM HANDLE handle USHORT tcspc USHORT microlsb oetup the module in histogram mode and start it running handle HRM TDC module handle Rene Value 1 for TCSPC histogram mode Value O for multiscalar averaging mode microlsb Time bin resolution 0227ps 1 54ps 2 108ps etc HRM STATUS returned equal to HRM OK if success Driver HRM StreamTCSPC2File HM STATUS WINAPI HRM StreamTCSPC2File HANDLE handle BYTE outfname ULONG recordinglength ULONG esr USHORT microbits USHORT microlsb USHORT macrobits USHORT macrolsb Stream FIFO date to file TCSPC with MACRO mode handle HRM TDC module handle outfname File name for storing data recordinglength Time in msec to s
34. alogous to putting the data into a queue in memory whereby the first loaded in will also be the first downloaded to the PC Time Correlated Single Photon Counting A technique used to study properties of molecules by exciting with a laser source and measuring the subsequent relaxation time through the acquisition of lifetime curves he time interval covered by one memory location in one of the HRM TDC s Histogram modes The timing value recorded between a START of a STOP signal in one of the HRM TDC s FIFO modes The data resulting from one of the HRM TDOs histogramming modes The timing value between a START signal and any given STOP signal in FIFO single stop ICSPO mode In the FIFO multi stop time tagging mode it refers to the value of the high resolution TDC when the event occured The time elapsed since the experiment began in FIFO single stop TCSPC mode In FIFO multi stop time tagging mode it refers to the the coarse timer that used in conjunction with the micro time allows the user to determine the absolute time of the event HRM TDC Sens sense light USER MANUAL Getting Started Contact amp Support Getting Started CONTACT amp SUPPORT For all enquiries please email support sensl com Supporting documentation can be found on the SensL website at www sensl com documentation Downloadable copies of the SensL HRM TDC software and release note can be found at www sensl com support sw UNPACKING THE S
35. already occurred 5 Now calculate the time in picoseconds Time FrameNo x 4000000 MICRO x 26 9851 HRM TDC SensL sense light USER MANUAL gt Appendix gt Resolving Free Running Fito Time tag Values Software Implementation in C long MACOFF MACRO MICRO FRACT double dvl dv2 dTIME Calculate the MACRO offset count dvl double FirstMicroValue gt gt 2 dv1 double dvl 26 9851 dv1 double dv1 25000 0 MACOFF long dvl MACOFF long FirstMacroValue MACOFF Remove offset and calculate the MACRO and the fraction of frame S dvl double MacroValue MACOFF dvl 160 0 MACRO long dvl dv2 floor dv1 dv2 double dvl dv2 dv2 double dv2 160 0 FRACT long dv2 Increment or decrement the MACRO based on boundary positions If MACRO is just past boundary and MICRO is large then ROLLOVER hasn t occurred yet If MACRO is near end of boundary and MACRO is small the ROLLOVER has already occurred MICRO MicroValue gt gt 2 if FRACT lt 60 amp amp MicroValue gt 100000 MACRO if FRACT 110 amp amp MicroValue 40000 MACRO 3 Calculate the time in picoseconds dvl double MACRO dv2 double MicroValue dTIME dvl 4000000 dv2 26 9851 HRM TDC Sens sense light USER MANUAL gt Appendix gt Correlation Function Algorithm CORRELATION FUNCTION ALGORITHM In correlation m
36. atch the value used for the HRM StramTimeTags2File call SensL sense light HRM TDC sensl sense light USER MANUAL gt Appendix gt Labview Driver Details Sample LabView Application Test TCSPC vi This is a sample application demonstrating the TCSPC stream to file functionality tespc_dump csw i 1 E n A h E T1 At p HRM TDC SensL sense light USER MANUAL HIM Timia AP DLL rav no HRIM Geff Version i OM SebcanheurationPath sa RI Ra6resmcenneccedrnduleLiz vi umber nf connected modules HEM Get ConnectedModuleList vi HEM GaecSsofb4sregesvisianR e E est clock Frequency selection Tel on cr otimme bits L d HRM Stream Coe ler ile 4 CS m La HEP Cocreschh wat Cp Je ZC wi www sensl com A salesQsensl com S e S 353 21 240 7110 International 1 650 641 3278 North America sense light All specifications are subject to change without notice
37. ately put the processor into reset Rmd This bit when set to 1 will start the mode processor The mode of operation is defined by the Md bits Taking this bit to O at any time will immediately put the processor into reset Driver HRM SetModeBitsRegister HRM STATUS WINAPI HRM SetModeBitsRegister HANDLE handle USHORT mbrData handle HRM TDC module handle mbrData 16 bit value to write to the MBR ESR Edge Sensitivity Register Register Description All start and stop inputs can be programmed to produce an event on either a Ve or Ve transition This register defines the edge sensitivity for each input as follows D15 D14 D13 D12 D11 D10 Do9 pos Do7 Doe Dos Do4 Dos DO2 Do1 Doo SP3 SP2 SP1 SPO Set to 1 for start event of corresponding channel on positive edge SN3 SN2 SN1 SNO Set to 1 for start event of corresponding channel on negative edge FP3 FP2 FP1 FPO Set to 1 for end event of corresponding channel on positive edge FN3 FN2 ENT FNO Set to 1 for end event of corresponding channel on negative edge Note The positive and negative settings must never both be set to 1 Only one edge is allowed To disable an input set both the negative and positive bits to O HRM TDC Sens sense light USER MANUAL gt Appendix gt Hrm tdc Registers And Low Level Dil Functions Driver HRM SetEdgeSensitivityRegister HRM STATUS WINAPI
38. ative method that allows larger arrays is to use 2 discrete inputs to clock counters that in turn can be used as the address in memory The HRM TDC module provides a 12 bit Pixel Counter and a 12 bit Line Counter The Pixel Counter is incremented by clock inputs to IODATA 0 and the line counter is incremented by clock inputs to IODATA 1 If these bits are routed to the address lines then the user can command the HRM TDC module to move from one curve to the next by clocking the IODAT O and IOADAT 1 lines This allows arrays of up to 4096 x 4096 The contents of the LINE and PIXEL counters are cleared when 1 A write is sent to the Routing Reset Register RRR 2 ALO HI transition is detected on the IODATA 2 port HRM TDC Sens sense light USER MANUAL gt Appendix gt Hrm tdc Registers And Low Level DII Functions The IODATA 2 can be used as a Frame Reset clock input for synchronizing an X Y pixel image with an external instrument such as a microscope Fix to logic 0 oelecting this bit will drive the particular address line low This is used for driving the chip select line of a single memory card If two memory cards are used then the chip select should be an address counter bit Example WRITE 1 2 3 4 5 6 7 8 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 This would set up the system recording 4 curves one from each channel Each curve would consist of 256 bins 8 bits with a bin size of 54ps This reduced resoluti
39. ature of the HRM TDC module The HRM TDC allows the user to carry out TCSPC and save time tags These time tags consist of the TCSPC measurement plus a MACRO time defining at what time during the experiment the measurement was made For normal operation this feature would use data streaming that would allow the user to continually record time tags indefinitely to a PC file This mode of the SIE records for a given period or until the HRM TDC memory is full Programmable Clock Output The Programmable Clock Output is made available for all modes and is used to set the frequency and duty cycle of the internal programmable clock This clock is available at an SMA output for test purposes This clock is provided mainly for testing and diagnostics The clock will exhibit a level of jitter that would not be suitable for accurate measurements as part of an experiment Recording Length The recording length should be set to the desired period over which the TCSPC measurements are to be taken Note that the processing will stop prematurely if the Maximum Event Count is reached Maximum Event Count This defines the maximum number of events to be stored before recording stops This value is used to ensure the storage data size does not exceed the capacity of the system External Clock Period This should be set to the period of the external LASER clock Reverse Plot Due to the method of TCSPC measurement where the start and stop events are reversed It i
40. d gt N The most common approaches are to either ignore these points or assuming the series x and y are zero for i lt O and i gt N In many signal processing applications the series is assumed to be circular in which case the out of range indexes are wrapped back within range le x 1 x N 1 x N 5 x 5 etc r d The range of delays d and thus the length of the cross correlation series can be less than N for example the aim may be to test correlation at short delays only The denominator in the expression above serves to normalize the correlation coefficients such that 1 lt r d lt 1 the bounds indicating maximum correlation and O indicating no correlation A high negative correlation indicates a high correlation but of the inverse of one of the series HRM TDC sensl sense light USER MANUAL gt Appendix gt Labview Driver Details LABVIEW DRIVER DETAILS The HRM TDC Labview driver has been designed to allow the construction of a wide variety of custom applications based on the HRM TDC module The library contains VI wrappers for all functions defined in the HRM TDC API DLL The following naming convention has been used the VI wrapper for HRM TDC API DLL function HRM_XXXX is HRM XXXX vi For LabVIEW the user must use the modified version of the DLL providid called HRMTimeALI_LV DLL In both cases a copy of the relevant DLL MUST reside in the same folder as the application HRM TDC LabView Driver VI List HRM G
41. dules has changed This can be used to periodically poll the USB bus to determine if modules have been connected or disconnected Driver HRM GetConnectedModuleCount void HRM API UINT WINAPI HRM_GetConnectedModuleCount void This function is used to determine how many HRM TDC modules are currently connected to the USB bus Driver HRM GetConnectedModuleList HRM API void WINAPI HRM_GetConnectedModuleList HANDLE handleList handleList Pointer to array of HRM TDC handles for initialization HRM TDC sensL sense light USER MANUAL gt Appendix gt Hrm tdc Registers And Low Level DII Functions This function initializes an array of HRM TDC handles to allow communication with all HRM TDC modules present on the USB bus The size of the array must be greater or equal to the number of modules detected using the function HRM_GetConnectedModuleCount Driver HRM CloseModule HRM_STATUS WINAPI HRM_CloseModule HANDLE handle On completion of the application this function must be called to release the handle and close the session Example int moduleCount HANDLE handleArr 20 HRM RetfreshConnectedModulelast 7 moculecou t HRM Getconne eccedMoOuleCcOUDnmt4 s 1f moduleCount d HRM GetConnectedModuleList handleArr APPLICATION CODE HERE HRM CloseModule handleArr j else printf No HRM TDC modules detected In this example the APPLICATION CODE can address up to tmoduleCount HRM TDC modules Now that communication
42. e microlsb TCSPC resolution 0227ps 1 54ps 2 108ps etc macrobits Number of MACRO bits to use macrolsb MACRO time resolution O 5ns 1 10ns 2 20ns etc recordedbytes Pointer to location for storing total number of bytes saved to buffer HRM_STATUS returned equal to HRM_OK if success HRM TDC sensl sense light USER MANUAL gt Appendix gt High Level Dil Functions Data format See HRM_StreamTCSPC2File Driver HRM StreamTimeTags2File HRM STATUS WINAPI HRM StreamTimeTags2File HANDLE handle BYTE outfname ULONG recordinglength ULONG esr USHORT microlsb otream FIFO date to file FIFO Time Tagging mode handle HRM TDC module handle outfname File name for storing data recordinglength Time in msec to stream data to file esr Module ESR register value for defining channels and edge sensitivity microlsb Micro resolution O 27ps 1 54ps 2 108ps etc HRM STATUS returned equal to HM OK if success Data format MICRO BITS D31 DI DO D31 Do Each time tag consists of two 32 bit unsigned values 1st word The 2 LSBs C1 and CO will define the channel the time tag was received on The remaining bits are reserved for the MICRO time HRM TDC Sens sense light USER MANUAL gt Appendix gt High Level Dil Functions 2nd word Free Running The second word is a free running 32 bit counter with an LSB of 5ns The MICRO counter is a 23 bit counter with an LSB value of 26 9851ps This counter roll
43. e I O data can be used by external equipments to move the curve for multi dimensional measurements Dual Port Memory Arbiter This module controls the data transfers to from system memory to the USB and Time Bin Time Tag Controller Each port presents an address direction R W and request signal This module detects the particular request carries out the memory access and directs the data to from the requesting port at the requested address HRM TDC Sens sense light USER MANUAL gt Hrm tdc System Description gt Hrm tdc Specific Feature Overview HRM TDC TYPICAL APPLICATION I O Control HRM TDC Photon IVA VAYA VAS SIE Software Detector Clock JUL Figure 4 Example application using the HRM TDC Note Figure 4 shows a typical application setup utilizing a wide range of the HRM TDC features In this example the experiment is a TCSPC application where a LASER is stimulated by a clock and the time before a photon is detected is measured The LASER is continually pulsed at a fixed frequency typically 5OMHz The LASER output will affect a setup resulting in a photon arriving at the APD Detector such as the SensL PCDMiniSL It is assumed that the rate of photons arriving at the APD is far less than the rate of the LASER pulses As a photon is not guaranteed for each cycle of the LASER the system will use the photon event as the start of the TCSPC process and a delayed version of the LASER pulse as the stop signal T
44. e two words will provide timing value with a resolution of 27ps and the channel ID The memory will be configured as a large FIFO interfacing to the USB interface Suitable handshake signals are implemented allowing continuous transfer of these time tags from the FIFO to the PC via the USB port Hence in this mode continuous time tagging to the host PC can be achieved indefinitely HRM TDC SensL sense light USER MANUAL gt Sens Integrated Environment sie gt System Requirements SensL Integrated Environment SIE The SIE is a user interface for setting up and controlling the HRM TDC module While the interface provides an extensive range of operating modes and measurement processes including graphical presentation it does not fully cover all features available in the HRM TDC module The SIE communicates with the module via a low level DLL This DLL has been designed to provide a set of functions that will allow full control of the HRM TDC for all features For complex experiments that require control beyond the scope of the SIE it is expected that the user will write their own real time application utilizing the various function in this DLL For details of the DLL functions see the Appendix in this document SYSTEM REQUIREMENTS Windows XP SP2 operating system 1 GByte of RAM At least one spare High Speed USB 2 0 port NET Framework installed included JAVA runtime environment installed included Microsoft Visual C runtime
45. eature allows the user to carry out cross and auto correlation on FIFO TCSPC streams for both the TCSPC values and the MACRO times The correlation screen is shown in Fig 17 In Correlation mode the configuration setup is identical to FIFO TCSPC mode However channel select is restricted to a maximum of two channels A single channel selected will result in auto correlation on that input Two channels will result in cross correlation on the two channels Further correlation specific settings are as follows Target Data Set Use these two mutually exclusive radio buttons to select correlation on the MICRO TCSPC or MACRO time Bin Size Resolution This setting determines the bin size to be used for the correlation function Increasing this value will direct the correlation function to group greater numbers of consecutive time tags into software bins These bins are then used for phase sweeping the streams to create the correlation curve Maximum Lag This defines the maximum number of bins to be used for carrying out the correlation algorithm Graphical Presentation Once the configuration is selected the mode is now ready for recording data In this mode recording is carried out at the module until the recording length or the maximum event count is reached To start processing click on the green right arrow at the top of the page After starting the experiment the module will run for the Recording Length the maximum event count is reached or
46. ed of 64 bits The MSB of ID 1 will be the first bit returned from the ID chip The LSB of ID 4 will be the last bit returned from the ID chip HRM TDC sensl sense light USER MANUAL gt Appendix gt Hrm tdc Registers And Low Level Dil Functions Driver HRM GetModulelDRegister HRM_STATUS WINAPI HRM_GetModulelDRegister HANDLE handle BYTE midData handle HRM TDC module handle midData Pointer for saving text string of the HRM TDC module ID WCH Write Count HI Register Register Description When operating in time tag mode this register will contain the number of 1K 1024 bytes blocks of data that have been written to memory by the time tag processor When the time tag processor is running this register should be used to track the memory for continuous download of data Note This register automatically wraps around at the maximum address as defined by the memory configuration bits in the status register Driver HRM GetWriteCountRegister HRM_STATUS WINAPI HRM_GetWriteCountRegister HANDLE handle ULONG wrrData handle HRM TDC module handle wrrData Pointer for saving current 32 bit value of WCH and WCL registers WCL Write Count LO Register Register Description When operating in time tag mode this register will contain the residual bytes 0 1023 bytes that have been written to memory by the time tag processor The value of the WCH and WCL are not locked The WCH should be used for tracking the memory data Once t
47. egrated Environment g EIEA File Help 10 te Devices DA BI Br Q WW CH 3 500 000 3 000 000 500 000 504 500 504 750 505 000 505 250 505 500 505 750 506 000 506 25 Time ps Figure 12 SIE Histogram TCSPC graph section only HISTOGRAM Multi scaler Histogram Multi stop When in this mode the configuration setup and operation is identical to the HISTOGRAM TCSPC mode In TCSPC mode the system repeatedly plots the time of the first event after a LASER pulse In Multi scaler Counter mode the operation is very different The start event is a slow clock of less than 7MHz The system records and saves all stop HRM TDC sensl sense light USER MANUAL gt Sens Integrated Environment sie gt Using The Sens Integrated Environment sie events in their respective time bins Each start event will reset the timer and a new set of stop events will be added to the existing array of time bins This process will result in a histogram being built up of all the events following the start This is particularly useful for plotting pulse shapes decay curves etc FIFO TCSPC with MACRO time FIFO Single stop When this page is launched the top half will display a graph page Left click on this graph to reveal the configuration settings The size of the configuration and graph area can be adjusted by dragging the partition to suite This page is a graphical demonstration of the TCSPC with MACRO time fe
48. etDLLVersion vi HRMTime API DLL Version Returns the HRMTime API DLL version HRM SetConfigurationPath vi Configuration path Path to the folder where the HRMTime feature files are located HRM TDC USER MANUAL gt Appendix gt Labview Driver Details HRM RefreshConnectedModuleList vi HRM GetConnectedModuleCount vi Connected module count Returns the number of connected modules detected by the previous HRM RefreshConnectedModuleList call HRM GetConnectedModuleList vi Handle list Numeric Holds the list of handles for the connected moduled detected by the previous HRM_RefreshConnectedModuleList call SensL sense light HRM TDC SENSL sense light USER MANUAL gt Appendix gt Labview Driver Details HRM CloseModule vi Handle The module handle HRM SetAddressRouteRegister vi Address routing data Numeric Data to be written to the address route register Handle Module handle HRM_SetDataRouteRegister vi Handle Module handle Data route routing data Numeric Data to be written to the Data Route Register HRM TDC USER MANUAL gt Appendix gt Labview Driver Details HRM SetAddressRegister vi Address Data to be written to the Address Register Handle Module handle HRM SetFillValueRegister vi Handle Module handle Fill value Memory fill value HRM _ SetUSBAddressRegister vi Handle Module handle USB Address USB block transfer address SensL sense light
49. file name for saving the data It is recommended that the file name have a suffix of CSV Doing this will allow the file to be easily viewed using a spreadsheet package Once this is done the process can be started by clicking the Start button Clicking the otart button will start the module streaming all time tags to the chosen file until the recording time is reached the maximum event count is reached or the process is manually stopped After the process is stopped the file will be available for viewing Figure 14 shows a section of a typical output file As can be seen in Fig 14 four columns are used to define the tag number channel ID macro time and micro time The example experiment used the test waveform set to 1MHz with a 5096 duty cycle This signal was fed directly into both the start and stop inputs of channel O The start was set to trigger on the LO HI transition and the stop HRM TDC sensl sense light USER MANUAL gt Sens Integrated Environment sie gt Using The Sens Integrated Environment sie was set o trigger on the HI LO transition As can be seen in Fig 14 the time tags are repeating every 200 counts of the MACRO time As the resolution of the MACRO time was set to 5ns this represents a repetition rate of Tus 200 x 5 ns The TCSPC time is typically 18712 As the resolution of the MICRO time was set to 27ps this represents a TCSPC MICRO time of 505ns 18712 x 27ps The value of 505ns rather than the the
50. fo Time tag Values RESOLVING RESYNC FIFO TIME TAG VALUES Resync Algorithm Explained When the module operates in Resync FIFO Time Tagging mode resolving the time tag values can be quite complicated A FIFO time tag consists of two 32 bit unsigned values The first word reports the MICRO time and channel number The second word called the MACRO time is a 32 bit counter value with an LSB of 25ns that is synchronized to the 250KHz START clock The MICRO counter has an LSB value of 26 9851ps This counter is reset to O on every cycle of the 250KHz START clock So each time tag value can be calculated as follows 1 Calculate offset between MACRO and MICRO timers The first time tag is used to calculate the MACRO offset MACoffset as follows MACROoffset FirstMACRO FirstMICRO 26 9851 25000 25000ps 25ns The gives the count of the MACRO when the first Aus 250KHz frame started 2 Calculate the current 4us frame FrameNo MACRO MACRO offset 160 160 x 25ns 4us 250KHz 3 Calculate the remainder of MACRO counts Remainder REM of MACRO MACRO offset 160 4 Now adjust the FrameNo based on possible boundary conditions If Remainder lt 60 and MICRO gt 100000 Ift MACRO is just past boundary and MICRO FrameNo FrameNo 1 is large then Rollover hasn t occurred yet If Remainder gt 110 and MICRO lt 40000 Ift MACRO is near end of boundary and MACRO FrameNo FrameNo 1 is small the ROLLOVER has
51. g data is determined by the Data Router Module Data Router Module The Data Router Module is a complex programmable multiplexer that allows any of a wide range of inputs to be routed to any of the 32 memory data bits In time bin mode this module is bypassed to allow the Time Bin and Time Tag Controller to directly access the memory for the purpose of incrementing time bins In Time Tag mode this module determines the format of the time tag data The Command Interpreter presets the routing of this module to define which bits of the time tag are Time Tag data both Micro and Macro from the Time Bin and Time lag Controller and I O data from external equipments Address Router Module The Address Router Module is a complex programmable multiplexer that allows any of a wide range of inputs plus an internal address counter to be routed to any of the memory address lines In time tag mode this module will normally be programmed to present the internal address counter bits as the memory address The internal address counter automatically increments after each memory write creating a FIFO type interface In time bin mode the Command Interpreter presets the routing of this module to a mix of the address counter time tag data and O data Routing the time tag data to the address will create a range of consecutive bins separated by the time resolution of the LSB The address counter bits can be used to define the base address of a particular curve whilst th
52. he time tagging has been stopped the WCL register should be used to download any remaining data Driver HRM GetWriteCountRegister See WCH register HRM TDC Sens sense light USER MANUAL gt Appendix gt Hrm tdc Registers And Low Level Dil Functions Non Register Specific Low Level Drivers Driver HM InitMemory HRM STATUS WINAPI HRM InitMemory HANDLE handle ULONG addr ULONG len ULONG fillData Fill a block of memory with a specific bit pattern handle HRM TDC module handle adar 32 bit starting address len Number of 32 bit locations to fill fillData 32 bit value to fill the memory with Driver HRM ReadMemory HRM_STATUS WINAPI HRM_ReadMemory HANDLE _ handle USHORT modeMask ULONG addr ULONG len BYTE buf Read a block of data from a given location in memory handle HRM TDC module handle modeMask Mask to define desired state of mode register bits when executing the function addr 32 bit starting address len Number of 32 bit locations to read buf Pointer to buffer for storing the data Driver HRM ReadFIFOMemory HRM STATUS WINAPI HRM ReadFIFOMemory HANDLE handle USHORT modeMask ULONG addr ULONG len BYTE buf Head a block of data from a given location in memory when card is operating in FIFO mode handle HRM TDC module handle modeMask Mask to define desired state of mode register bits when executing the function adar 32 bit starting address len Number of 32 bit locations to re
53. his technique avoids countless dead cycles and simplifies the associated electronics required for recording the events The HRM TDC module measures and records the time delay between clock and photon from the experiment and uploads the results in real time to the host computer via the USB interface In some cases the experiment will involve multiple TCSPC curve measurements as the experiment changes the settings of external equipment The programmable O of the HRM TDC module is used to cater for such applications The external equipment such as a microscope can indicate its X Y movement to the HRM TDC module allowing multiple curves to be measured Alternatively the HRM TDC module can be programmed as outputs to control the external equipment and cause the actual X Y positioning of the equipment HRM TDC SPECIFIC FEATURE OVERVIEW The flexibility of the HRM TDC allows it to be used in a variety of modes The following are examples of how the SIE software utilizes the START and STOP signals in different ways to cater for different applications HRM TDC Sens sense light USER MANUAL gt Hrm tdc System Description gt Hrm tdc Specific Feature Overview HISTOGRAM Histogram modes use consecutive memory locations to store counts that represent points on a graph These memory locations or time bins are incremented based on the value of a time measurement Each memory location represents a time range equal to the resolution of the timer Withi
54. location n n 1 D Microtime 4 B E Tag Channel Macrotime 18684 55740 92796 129852 166907 Tw Min START or STOP input pulse width 1 5ns Se Dead Time time to process event 190ns 278068 LSB timing resolution 315120 Min time between STOPs 5 5ns SS Minimum time from START to first STOP 5 2ns 426280 463331 Although the time to process an event is 190ns burst rates in excess of 100MHz are possible owing to a 256 deep FIFO The average rate should not exceed SMHz CO JO AN P wN z CH ejojojoiojojojojjjjiojo 2000000000000 Figure 8 In this mode the process is started with a single START pulse The module will then fill the memory with time tags defining the time of each STOP event with relation to the initial single START pulse Any further START inputs will be ignored This mode is illustrated in Fig 8a and Fig 8c and is also referred to as Time Tagging Data is saved as a CSV file A typical data file is shown in Fig 8b There is a further Re Sync option within this mode that uses a 250KHz clock output from the module as the START input The clock continuously re synchronizes the module to eliminate long term drift between channels This is the preferred method when it is required to compare the data from more than one channel Note In this mode all STOP events will be time stamped and saved to memory Each time tag will be comprised of two 32 bit words Thes
55. lue to write to the IDR IVR I O Value Register Register Description Writing to this register sets any I O bit enabled as an output to the value of its corresponding bit HRM TDC sensl sense light USER MANUAL gt Appendix gt Hrm tdc Registers And Low Level DII Functions Driver HRM SetlOValueRegister HRM_STATUS WINAPI HRM SetlOValueRegister HANDLE handle USHORT iovrData handle HRM TDC module handle iovrData Value to write to the IVR BCL BCH Bin Count LO HI Register Register Description These registers define the maximum number bins that can occur during the period of the TCSPC clock This count can be calculated as Bin Count MOD Clock Period Resolution 1 Resolution 26 9851 ps The Bin Count is a 23 bit number BCL defines the least significant 16 bits and BCH defines the most significant 7 bits It is important that this value is correctly set for both Time Binning and Time Tagging Note This feature is disabled if bit 6 of the mode register is clear Driver HRM SetBinCountRegister HRM STATUS WINAPI HRM_SetBinCountRegister HANDLE handle ULONG bcrData handle HRM TDC module handle bcrData 32 bit value to write to the BCH BCL registers UCL UCH USB Count HI LO Register Register Description These registers define the number of 32 bit words to be read from the USB high speed interface Driver HRM SetUSBCountRegister HRM_STATUS WINAPI HRM_SetUSBCountRegister HANDLE handle ULONG ucrData
56. n CSV format The GUI will display a plot similar to that in Fig 5d This mode is also referred to as Multiscaler Counter in the SIE Note In this mode the START signal is a low frequency clock less than 7 MHz The STOP signals will be the events Unlike the single stop mode the 27ps timing module is not reset after the first event Due to the long clock period it will be possible for the same channel to receive a number of events per clock cycle Hence in this mode the time bins will fill up to plot the occurrence of events over the period of the clock cycle Each new START signal will reset the 27ps timing module This allows the system to build up a plot of all the events within the START pulse cycle Once again the flexibility of the Address Routing Register provides a wide range of options from single to multiple Curves Min Time Bin Size Max Time Bin Size Max Image Size HRM TDC sensl sense light USER MANUAL gt Hrm tdc System Description gt Fifo Single stop tespc With Macro time FIFO SINGLE STOP TCSPC WITH MACRO TIME a Result from Measurement n in the n memory location 122324 5 6 f n TIME H gt c A B C D d Tw Te 1 Tm Te 3 1 Tag Channel Macro tag Micro tag Td 2 197 18712 i 3 397 18713 4 597 18713 5 797 18714 6 997 18714 7 8 1197 18714 1397 18712 1597 18714 1797 18712 1997 18710 2197 18712 2397 18711 2597 18709 Min START or STOP input pulse width
57. n the HISTOGRAM category there are two distinct modes of operation single stop and multi stop Single stop histogram Following a START event the first stop event is measured and the corresponding time bin is incremented This is repeated to build up a histogram curve in memory showing the distribution of 1st events following a start input This mode is also referred to as TCSPC mode due to its application in Time Correlated Single Photon Counting Multi stop histogram Following a START event all stop events are measured and their corresponding time bins incremented The next START input will reset the timer and the following events processed again This is repeated to build up a histogram in memory showing the distribution of STOP events following a START input This mode is also referred to as Multiscaler Counter mode FIFO FIFO modes continually record the timing of events and save the results in consecutive locations in memory When the last location in memory is filled if not commanded to stop the module continues to record data starting at the beginning of memory again The host PC via the USB interface keeps up in time with the module reading the data from memory to a file in the host computer Hence the memory can be regarded as a very large FIFO Providing the host PC can keep up with the module timing data can be recorded indefinitely Within the FIFO category there are two distinct modes of operation single stop a
58. nctions FSR Frequency Select Register Register Description The HRM TDC module provides a programmable frequency output This register defines the number of 5ns cycles required to complete the HI and LO parts of the cycle The most significant 8 bits of the FSR defines the HI time and the least significant 8 bits defines the LO time However there is an offset of 1 such that Setting this value to Ox0000 would result in an output waveform 5ns low followed by 5ns high Setting this value to OxO309 would result in an output waveform 20ns HI 50ns LO When in FIFO Time Tagging mode setting the FSR to the value of OxFFFF will force the module to operate in Resync and the output frequency will be fixed to 250KHz Driver HRM _ SetFrequencySelectionRegister HRM STATUS WINAPI HRM_SetFrequencySelectionRegister HANDLE handle USHORT fsrData handle HRM TDC module handle fsrData Value to write to the FSR IDR I O Direction Register Register Description The 16 bit I O signals of the HRM TDC can be programmed to be inputs or outputs The value of this register defines the direction of each I O bit Setting a bit in this register to 1 will program the corresponding I O bit as an output Setting a bit in this register to O will program the corresponding l O bit as an input Driver HRM SetlODirectionRegister HRM STATUS WINAPI HRM_SetlODirectionRegister HANDLE handle USHORT iodrData handle HRM TDC module handle iodrData Va
59. nd multi stop Single stop FIFO In this mode the module carries out the single stop histogram process as described previously However along with the single stop measurement the information stored in the FIFO also has a MACRO time that defines what time during the experiment the timing measurement was made This mode is also referred to as TCSPC with Macro time Multi stop FIFO This mode is also referred to as FIFO time tagging and offers 2 options Free Running Using this option the process is started with a single start pulse The module will then fill the memory with time tags defining the time of each stop event with relation to the initial single start pulse Any further Start inputs will be ignored Resync This option uses a 250KHz clock output from the module as the Start input The clock continuously re synchronizes the module to eliminate long term drift between channels This is the preferred method when it is required to compare the data from more than one channel HRM TDC sensl sense light USER MANUAL gt Hrm tdc System Description gt Histogram Single stop tespc Mode HISTOGRAM SINGLE STOP TCSPC MODE Counts a a Compute time bin Time At bin width SEERA Increment corresponding 123429290 tf memory location by 1 ccm t d so UL JUL BINS Min START or STOP input pulse width 1 5ns Dead Time time to process event 190ns LSB Min his
60. nnel 1 Channel 2 Channel 3 Enabled Iv O O Start on rising edge Iv Iv Iv Iv Start on falling edge O E E E Stop on rising edge O E E O Stop on falling edge Iv Iv Iv Iv Fridav Mav 25 2007 Figure 11 SIE Histogram TCSPC screen HRM TDC sensl sense light USER MANUAL gt Sens Integrated Environment sie gt Using The Sens Integrated Environment sie Graphical Presentation Once the configuration is selected the configuration page can be removed by clicking on the X tab to display the graph section only See Figure 12 To start processing click on the green right arrow at the top of the page This can be done numerous times to display multiple traces on the same graph Fig 11 shows the result of a simple TCSPC experiment The right hand side of the display shows the traces In this case two traces are displayed both from channel These traces can be saved to file or cleared by selecting them with the relevant checkbox and using the save and clear buttons Once the processing has been stopped the graph can be analyzed To zoom in hold right mouse button down and size selection box over area of interest To zoom out Sweep mouse from right to left with right mouse button held down To measure between points click on the graph with right button and left button to position the two cursors The position of these two cursors and their X and Y differences will be displayed at the top of the graph see Fig 12 SensL Int
61. ode the system will carry out a single sweep of software bins with all the bins initially set to O On completion the system will calculate the correlation between two inputs cross correlation or correlation on a single input auto correlation and save the result The number of time bins to be used for the calculation and the resolution of the bin is programmable The results will comprise of a number of values equal to the number of time bins used for the calculation The position of each value represents the level of phase shift between the input streams The first value corresponds to a shift of O the second a shift of T etc where T is the resolution of the time bin The value of each result represents the level of correlation at that particular phase Cross Auto correlation is a standard method of estimating the degree to which two series are correlated Consider two series x i and y i where 0 1 2 N 1 The cross correlation r at delay d is defined as mx yG d my S LL Y a m Y GG d myY Where mx and my are the means of the corresponding series If the above is computed for all delays d 0 1 2 N 1 then it results in a cross correlation series of twice the length as the original series gt LG mx G d my x i mx 2 y d myy There is the issue of what to do when the index into the series is less than O or greater than or equal to the number of points i d lt O or i
62. on is due to bit 1 Second bit of the time tag being routed to address bit O The channel bits 23 24 will move each channel event to a different curve The base start address of these curves will be defined by the pre programmed value of the Address Counter Driver HRM SetAddressRouteRegister HRM STATUS WINAPI HRM SetAddressRouteRegister HANDLE handle BYTE arrData handle HRM TDC module handle arrData Array of bytes to write to the address route register Note The arrData bytes must be padded with O values after each routing value Therefore for the example the arrData array must be set to 1 0 2 0 3 0 4 0 5 0 6 0 7 0 8 0 23 0 24 0 25 0 26 0 27 0 28 0 29 0 30 0 31 0 32 0 33 0 34 0 35 0 36 0 37 0 38 0 39 0 40 0 41 0 DRR Data Route Register Register Description When the HRM TDC system is in time tag mode it will continually save time stamps to memory Each time stamp will always be 32 bits however the format of the time stamp is programmable using the DRR To allow maximum flexibility the DRR register can define any Data Option Bit bit to be placed in any position within the 32 bit time tag Before programming the DRR the user must first assert an RRR Route Register Reset command to initialize the system Once this is done the DRR is then programmed by sending 32 consecutive writes Starting with DO each write defines the bit number of the Data Option Bits to be routed to that particular data bit within the time
63. oretical value of 500ns is due to the jitter of the clock and the quality of the cabling SensL Integrated Environment fax De Help GEET E L i HRMTime Macro time CERES AAA AAA Se X2215040 00 X 614400 00 dX 399360 00 Show cursors du annotations MTNA CCA n A p A y AAA 300 000 400 000 Time ns 3 2 1 e Time ns Keep current 2501 200 4 1501 1004 504 0 20 000 25 000 30 000 35 000 40 000 45 000 50 000 55 000 Time ps Deme i A Apply changes Programmable clock output V Enable CockHr 15S ns ClockLo 250 ns v FIFO TCSPC configuration Recording length 1000 ms Maximum event count 4000000 External clock period 1000 ns Reverse plot Micro time bits 13 2 Maximum micro time 221157 rm Micro time Isb o a Micro time resolution E ps Macro time bits 17 Maximum macro time 655355 ns Macro time Isb o a Macrotimeresolution 5 ns Channel 1 Channel 2 Channel 3 Channel 4 Enabled IT Start on rising edge Start on falling edge Stop on rising edge Stop on falling edge E r r sS 71718 3I 4111410 Vv Stream to file Output file U Browse Start Figure 13 SIE showing the FIFO TCSPC with Macro Time screen SensL sense light HRM TDC USER MANUAL gt Sens Integrated Environment sie gt Using The Sens Integrated Environment sie EJ Microsoft Excel D D I File Edit View Insert Format Tools E dg fa y 2d c Y Hp f EES Tag
64. ount HRM GetConnectedModuleCount HRM TDC SensL sense light USER MANUAL gt Appendix gt DII Application Examples If a module is present connect to the first module If no module set error and reason in last error report if moduleCount HRM GetConnectedModuleList hdl else HRM GetLastError HRM OPEN USB error HRM ERROR If no argument do FIFO Time tagging for lms on channel O0 If an argument then do FIFO TCSPC with macro time if error HRM OK amp amp argc 1 error HRM StreamTimeTags2File hdl 0 FIFO RAW 1 0x0009 0 else if error HRM OK error HRM StreamTCSPC2File hdl 0 FIFO RAW 1 0x0009 13 0 17 0 Open the RAW file and create a TXT file if error HRM OK fi fopen FIFO RAW r b fo fopen FIFO TXT w t If file open error set error and reason in last error report if error HRM OK amp amp fi NULL fo NULL HRM GetLastError HRM OUTPUT FILE error HRM ERROR If an argument then read the TCSPC time tags get the macro and micro values in ns and ps and put to the TXT file for Num 1 flag 1 flag amp amp error HRM OK amp amp argc 1 Num if fread ttag 4 1 fi 0 flag 0 HRM TDC SENSL sense light USER MANUAL gt Appendix gt DII Application Examples else HRM GetFifoTCSPCinfo ttag 0 13 0 0 amp ch amp mic amp mac fprintf fo Sla esa ts 0f eE
65. pends on USB capability of PC I O control 16 fully programmable I O ports Software SensL Integrated Environment SIE and DLL drivers PC Interface High speed USB 2 0 Useful count rate is maximum count rate without loss of greater than 50 HRM TDC sensl ense light USER MANUAL gt Getting Started gt Signal Inputs And Outputs SIGNAL INPUTS AND OUTPUTS HGFEDCB A J Figure 1 HRM TDC ports and connectors labelled Channel O Start Input SMA LVTTL gt Channel 1 Start Input SMA LVTTL gt Channel 2 Start Input SMA LVTTL gt Channel 3 Start Input SMA LVTTL USB connector Channel O Stop Input SMA LVTTL gt Channel 1 Stop Input SMA VIII Channel 2 Stop Input SMA LVTTL Channel 3 Stop Input SMA LVTTL LEMO power supply connector for SensL PSU use only Programmable Clock output SMA LVTTL 502 A GO Dm CO P PG T nU D 26 way l O port connector 5V TTL tolerant I O PORT CONNECTOR PIN ALLOCATION D a 4 4 1 18 ee 10 26 eee e ee ee ag Pins 1 to 16 I O ports O to 15 respectively Test clock signal ENABLE LO to disable test clocks Pin 18 to 22 Test clock signals outputs Pin 23 24 Pin 25 26 HRM TDC sensl sense light USER MANUAL gt Hrm tdc System Description gt Block Diagram HRM TDC System Description BLOCK DIAGRAM System Processor and Time to Digital Start 0 High Speed 2 0 Controller FPGA Converter Module Stop 0 USB Interface N
66. phical output being displayed as histogram bars rather than as a single best fit line as shown in Fig 11 Microtime LSB The smallest bin width is 27ps In some cases it may not be necessary to be this accurate Selecting the LSB of the microtime defines the bin resolution Bit O is the highest resolution of 27ps Bit 1 will set the bin width to 54ps 2 x 27 bit 2 will set the bin width to 108ps 4 x 27 and so forth The choice of bin width is application specific Should the experiment not require such accuracy it may be better to select a lower resolution than 27ps This will give the added advantage of allowing a wider time range over the available memory and or more room for multiple curves Channel Enable and Edge Selection These check boxes allow the individual channels to be enabled disabled and the sensitivity of the START STOP inputs to be specified Note Press the Apply changes button to set your selected configuration SensL Integrated Environment 8 x Ele Help Pg Devices 22 _ T O ERA IE Trace list 8 _ ELI oo HRMTime ES 1 500 000 1 250 000 1 000 000 P Channel 0 0 E Channel 0 1 500 000 Time ps Y 5 Configuration e WW Ta Programmable clock output IV Enable Clock HI 490 ns Clock LO 480 ns Histogram configuration External clock period 1000 ns Reverse plot O Show time bins as bars Microtime lsb p a Channel 0 Cha
67. resentation and Streaming FIFO Time Tags Graphical Presentation In this mode recording is carried out at the module until the recording length or the maximum event count is reached To start processing click on the green right arrow at the top of the page The right hand side of the display will show which channels are active On completion the graph will display a plot of event density frequency over time This mode of operation is particularly useful for carrying out preliminary tests to determine the best configuration before carrying out a full experiment using continuous streaming of results to a PC file Streaming FIFO Time Tags Once the configuration is selected the user can now select a path and file name for saving the data It is recommended that the file name have a suffix of CSV Doing this will allow the file to be easily viewed using a spreadsheet package Once this is done the process can be started by clicking the Start button Clicking the Start button will start the module streaming all time tags to the chosen file until the recording time is reached the maximum event count is reached or the process is manually stopped In this mode there is no TCSPC The first start pulse will begin recording All following stop events will be stamped and saved in the target PC file Hence all events after the initial start signal can be saved to file indefinitely After the process is stopped the file will be available for viewing The fo
68. rmat of the output file will differ depending on whether the mode used the Free Running or Resync option Figure 16 shows a section of a typical output file for both options As can be seen in Fig 16 four columns are used to define the tag number channel ID macro time and micro HRM TDC SensL sense light USER MANUAL gt Sens Integrated Environment sie gt Using The Sens Integrated Environment sie time The time tag for this mode consists of 2 x 32 bit words The first word is a micro time that has a resolution down to 27ps Using the Free Running option this timer will roll over at the count of 5308415 Hex SOFFFF Using the Resync option this timer will roll over every 4 microseconds In both cases the MACRO counter is a count of how many times the MICRO counter has rolled over Note The LSB value of 27ps is not an exact value This value is a simplified rounded up value that is suitable for all other modes The true LSB value is 26 9851 ps As this mode involves the continuous running of the MICRO clock for very long periods it is recommended that the value of 26 9851 is used to avoid a cumulative error occurring over long periods of time UE Edit View Insert Format Tools Data Window Help File Edit View Insert Format Tools Data Window Help Guassimix38 e 9 e6 ia cua zeases vimixse ei ri Zb zBrU amp zssm a X rz rzBrUEzs a14 zm sl fo tor EE A 1 Tag Channel Macrotime Microtime te Channel
69. s over at a value of OXSOFFFF By comparing the previous MACRO time with the current MACRO time the number of roll overs if any of the MICRO counter can be determined This allows the time tag values to be resolved indefinately For details of the MICRO counter and how this is achieved see article in appendix Resync The second word is a 40MHz 25ns LSB counter synchronized to the 250KHz START clock By comparing the previous MACRO time with the current MACRO time the number of roll overs if any of the MICRO counter can be determined This allows the time tag values to be resolved indefinately For details of the MICRO counter and how this is achieved see article in appendix Driver HRM StreamTimeTags2Mem HRM STATUS WINAPI HRM_StreamTimeTags2Mem HANDLE handle BYTE buf ULONG bufsize ULONG recordinglength ULONG esr USHORT microlsb ULONG recordedbytes otream FIFO date to memory buffer FIFO Time Tagging mode handle HRM TDC module handle buf Pointer to memory buffer bufsize Memory buffer size in bytes Recording stops if this is reached recordinglength Time in msec to stream data to buffer while buffer not full esr Module ESR register value for defining channels and edge sensitivity microlsb TCSPC resolution 0227ps 1 54ps 2 108ps etc recordedbytes Pointer to location for storing total number of bytes saved to buffer HRM STATUS returned equal to HRM OK if success Data format See HRM_StreamTimeTag
70. s sometimes useful to plot the curves with the TIME axis reversed Selecting this option will reverse the time axis for the plot Macro and Micro Time Configuration Selection These fields allow the user to select the number of MACRO and MICRO bits and resolution to appear in the 32 bit time tag word As bit counts and resolution are changed the resulting roll over times and resolution values will be automatically displayed in the boxes to the right hand side If the user attempts to input an illegal value the relevant text boxes will turn red HRM TDC sensl sense light USER MANUAL gt Sens Integrated Environment sie gt Using The Sens Integrated Environment sie Channel Enable and Edge Selection These check boxes allow the individual channels to be enabled disabled and the START STOP inputs sensitivity to be specified Note Press Apply changes button to set your selected configuration Data Recording Once the configuration is selected the mode is now ready for recoding data In FIFO TCSPC mode two forms of data recording are available Graphical Presentation and Streaming TCSPC Time Tags Graphical Presentation In this mode recording is carried out at the module until the recording length or the maximum event count is reached To start processing click on the green right arrow at the top of the page Figure 13 shows the result of a simple experiment The right hand side of the display will show which channels are active
71. s2File HRM TDC SensL sense light USER MANUAL gt Appendix gt High Level Dil Functions Driver HRM GetTimeTagGap HRM STATUS WINAPI HRM GetTimeTagGap ULONG pMacro ULONG pMicro ULONG cMacro ULONG cMicro BYTE channel double gap Calculates the gap between the previous FIFO time tag and the current time tag and saves it in picoseconds This function is for FREE RUNNING mode only pMacro 32 bit MACRO value of previous time tag pMicro 32 bit MICRO value of previous time tag cMacro 32 bit MACRO value of current time tag cMicro 32 bit MICRO value of current time tag channel Storage location for channel ID 0 1 2 or 3 gap Storage location for calculated gap value in picoseconds HRM_STATUS returned TRUE if error Note All four input parameters pMacro pMicro cMacro and cMicro are data values as read directly from a FIFO Time Tagging RAW buffer or file Driver HRM GetFifoTCSPCinfo HRM STATUS WINAPI HRM GetFifoTCSPCinfo ULONG tag ULONG microBits ULONG microLSB ULONG macroLSB BYTE channel double micro double macro Get the channel ID and the macro and micro times from the FIFO TCSPC 32 bit time tag The macro time is returned in nanoseconds and the micro time is returned in picoseconds tag 32 bit time tag microBits Number of micro bits in time tag 0 to 23 microL SB LSB of micro time 0 to 22 macroL SB LSB of micro time 0 to 31 channel Storage location for channel ID 0 1
72. sed to allow multi dimensional curve readings The position of curve data within the system memory can be defined by these ports These ports can be set directly by outside control lines inputs or by software to drive outside equipment outputs System Processor and Controller The System Processor Controller is responsible for implementing all the functionality of the HRM TDC module This module decodes commands from the USB and executes the timing function accordingly All results are saved in memory as either time bins for curve measurements or time tags for continuous recording In this latter mode the memory is configured as a large FIFO to allow continuous downloading of time tag data up to rates of 4 5MHz SYSTEM PROCESSOR AND CONTROLLER DETAILED DESCRIPTION 16 BIT I O Address Router Module 7 Command Time bin and 4x2fps Interpreter Time Tag TIMING USB 2 0 Controller MODULES DMA to USB fast transfer interface Data Router Module Dual port memory gt arbiter qmm O PORTS deng TIME TAG DATA CONTROL MEMORY INTERFACE Figure 3 Overview of the system processor and controller Command Interpreter This module is responsible for receiving a set of commands from the host computer and controlling the system accordingly HRM TDC is a fully programmable system with a wide range of parameters that can be user defined The Command Interpreter is responsible for setting these
73. spect and select the various operating modes available right click on the module name and then select the particular mode you require see Fig 9 SensL Integrated Environment FIFO time tagging Histogram TCSPC Histogram Multiscaler Counter FIFO TCSPC w Macro time Correlation Module information Figure 9 SIE Main Page screen Module Information This page displays the configuration information unique to this module This information includes the module ID number and the various measurement modes This page also allows the user to upgrade the internal FPGA image To upgrade the FPGA image the user must first click on the Update FPGA button This will launch the Update Wizard as shown in Figure 10 Use the Browse button to find the RPD file for upgrading Finally click the Update Device button to start the upgrade WARNING USB communication must be maintained during this process Do NOT disconnect the USB cable during the update HRM TDC sensl USER MANUAL gt Sens Integrated Environment sie gt Using The Sens Integrated Environment sie Updating the FPGA should only be carried out if you are instructed to do so by SensL This procedure requires a valid RPD file as provided by SensL Failure to carry out this process correctly may render the module inoperable resulting in the need to return it to SensL for reconfiguration le xi File Help 10 oo HRMTime Em
74. store TEXT formatted data HRM STATUS returned equal to HM OK if success HRM TDC USER MANUAL gt Appendix gt Dil Error Reporting DLL ERROR REPORTING sens sense light All DLL functions return TRUE on error and FALSE on success When a DLL function encounters an error it also updates a global ERROR word describing the reason for the error This error can be inspected at any time by calling the function HRM GetLastError Driver HRM GetLastError HRM STATUS WINAPI HRM GetLastError HRM STATUS newVal This function returns the last error that was encountered by the DLL functions new Val Value to update the ERROR word with after returning the current value Note For normal operation the value of newVal should be set to one of two values 0 HRM_OK 9999 HRM_NO_CHANGE The possible values returned by this function are as follows HRM_OK HRM_ERROR HRM_NO_LICENSE HRM_OPEN_USB HRM_CLOSE_USB HRM_INV_HANDLE HRM_RAW_FILE HRM_OUTPUT_FILE HRM_INV_PARAMETER HRM_WRITE_COMMAND HRM_READ_COMMAND HRM_READ_DATA HRM_FIFO_OVERFLOW HRM_BUFFER_FULL HRM_TIMEOUT HRM_NO_MODULE_FOUND CON Oo C 2 GO b i O A gt CO O1 Aa W N O Clear error after reading value Do not change error value No error Function error License error Could not open USB module Could not close USB module Invalid HANDLE Could not open RAW file Could not open O P file Invalid function parameter
75. tag The Data Option Bits are as follows DOBI24 0 TagData DOB 56 25 Macro Counter DOB 57 Fix to logic O HRM TDC sensl sense light USER MANUAL gt Appendix gt Hrm tdc Registers And Low Level Dil Functions TagData This is the time tag data as received by the Pico Second Timing Interface Bits 23 24 define the channel the time tag was received on OO 01 10 or 11 The bits 22 down to O define the time with bit O being the LSB LSB 26 985 1ps Macro Counter When time tag recording the user may along with the TCSPC time wish to record the chronological time that the event occurred A 32 bit Macro Time Counter is made available that is cleared at the start of time tag processing and will increment every 5ns The user can select a range of these bits to provide a macro time to time stamp each time tag Example WRITE 0 1 2 3 4 5 6 7 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 23 24 This would set up the time tag as follows D 7 O TCSPC time LSB 26 9851 ps D 29 8 22 bit Macro time with LSB resolution of 5ns DST EN 2 bit channel code 00 01 10 11 for channels O to 3 Driver HRM_SetDataRouteRegister HRM_STATUS WINAPI HRM_SetDataRouteRegister HANDLE handle BYTE drrData handle HRM TDC module handle drrData Array of bytes to write to the data route register Note The drrData bytes must be padded with O values after each routing value Therefore for the example
76. te Uword Sword Ulong Slong Sdoub CHO ADDR 0x80000 CH1 ADDR 0x80000 CH2 ADDR 0x80000 void main Sword argc Sbyte argv Unsigned byte Signed byte Unsigned 16 bits Signed 16 bits Unsigned 32 bits Signed 32 bits Double range 1 HRM STATUS error Uword tcspc delay chann Uword period clock Ulong moduleCount offset HANDLE hdl 10 FILE fl Initialise variables and clear error report error HRM OK tespe 0 i wi SensL HRM TDC SensL sense light USER MANUAL gt Appendix gt DII Application Examples delay 0 chann 0 period 2000 fl NULL HRM GetLastError HRM OK Set error if too few input parameters and set reason in last error if argc 4 HRM GetLastError HRM INV PARAMETER error HRM ERROR If define frequency then read period in ns and ensure not greater than maximum allowable value of 2500 if argc gt 4 period Uword atoi argv 4 if period gt 2500 period 2500 Read from 20ns before 1 2 cycle to 20ns after Form the offset in the memory where reading is to start This is 20ns before half period of clock Then set the range for reading results of 40ns clock Uword period 2 i Ulong clock if i gt 20 i Ulong i 20 offset Ulong i 1000 27 range Ulong 40 1000 27 Form the programmable clock value Upper byte
77. tegrated Environment SIE cooncoonconccocnnoncconcconccnnccnnccnnncnancnnncnnrcnnrnnnrnnnrnonrrnnrrnnrnnnrnancnancnanenanenns 18 SEN e ag E 18 VS FAM ONG E 18 Using the SensL Integrated Environment SIE cccsscccssecessecessceneecnseecneeconesonseonneecanseoaeecosssonsesenessaseoons 19 SLDS O AE O o O o A QA 19 US nn OE E O N A 19 HISTOGRAM RI sie Histogram enee ee 20 HISTOGRAM Multi scaler Histogram AV WIN SOD EE 22 FIFO TCSPC with MACRO time FIFO Single stop ee eene eene eene nano nnn unn ununi nns 23 Qux EE dE niat LM ipo sm 26 ioc cre E se 30 elei te E ER HRM TDC Registers and Low Level DLL FUNCtIONS eeeggug egeegees eege cers onasweevewsddecesecneessenccexceaeesesewssreese 32 erte ee EE 32 FAA PPO OFC SS OU erie SUG ege 33 EEN 35 LAL LAH Load Address LO HI ROGIStCS cocccccannonrnnnrnnnrnancnancnan cnn cnn cnn cnn cnn conan roma rnnaronrronrrnnrnanenanas 36 ON OE A 37 UAL UAH LOS AGO ES SEGRE MECO STO aiii elos 37 MOR OOS e 38 ESR Edge Sensitivity Register caenmateniada idilio rise 39 ARR ROUINO Fie Set ROSTO TTE t TTE TS 40 MCL MCH EE eege 40 Fah F requer CY EEN 41 A O Ee 41 EE E PS E 41 BUE CT GOA EEN 42 TC JA EE 42 HRM TDC Sens sense light USER MANUAL gt Contents gt Getting Started A OUS REJIS OE NETT A A 43 EE ee 44 SRM OON Wale ROSON ROISTO M PP 44 MR O GID E e o AA
78. tes o D po L1 po 1 16 Mbytes po NN 8 Mbytes No card installed MC _ If set to 1 only one card of MT type is installed If O two cards of MT type are installed HRM TDC SensL sense light USER MANUAL gt Appendix gt Hrm tdc Registers And Low Level Dil Functions Driver HRM GetStatusRegister HRM STATUS WINAPI HRM_GetStatusRegister HANDLE handle USHORT srData handle HRM TDC module handle srData Pointer for saving current 16 bit HRS value PCR Product Code Register Register Description Heading from this register will report the PRODUCT code The LS byte will report the product ID and the MS byte defines any variants from the standard product For a standard HRM TDC module this value should read Ox0001 Low Level Driver HRM STATUS WINAPI HRM GetProductCodeRegister HANDLE handle USHORT pcrData handle HRM TDC module handle ocrData Pointer for saving current 16 bit PCR value SRR Software Revision Register Register Description Reading from this register will report the current rev of the FPGA code Low Level Driver HRM_STATUS WINAPI HRM_GetSoftwareRevisionRegister HANDLE handle USHORT srrData handle HRM TDC module handle srrData Pointer for saving current 16 bit SRR value MIR Module ID 1 2 3 4 Register Register Description Heading from these four registers will report the contents of the on board serial ID chip The contents of the serial ID chip is compris
79. the address counter and external control from the I O port Min Time Bin Size Max Time Bin Size Max No Time Bins 4 194 304 Time Bin Depth 65 536 or 4 294 967 296 Max Count Rate 4 5Mcps Max Image Size 2048 x 4096 HRM TDC sensl sense light USER MANUAL gt Hrm tdc System Description gt Histogram Multi stop multiscaler counter HISTOGRAM MULTI STOP MULTISCALER COUNTER Counts a b Reset Histogram At time btw Start and i Stop event 27ps lt gt Time Compute time bin At bin width Increment corresponding Y WANN SEN memory location by 1 C Ta Tp Td START JI s Y Im Tw TT f Tb N STOP i l MEMORY BINS Min START or STOP input pulse width 1 5ns Dead Time time to process event 190ns LSB Min histogram bin size Min time between STOPs 5 5ns Minimum time from START to first STOP 5 2ns Although the time to process an event is 190ns burst rates in excess of 100MHz are possible owing to a 256 deep FIFO The average rate should not exceed SMHz Figure 6 In this mode all STOP events following a given START event are measured and their corresponding time bins in the histogram incremented Fig 6a The following START input will reset the timer and the following STOP events will be again recorded until another START is received The process is illustrated in Fig 6b and Fig 6c This is repeated to build up a histogram in memory Data is saved i
80. time bits Macro LSB Macrotime least significant bit File name Output filename Edge selection Edge selection data HRM TDC sensl sense light USER MANUAL gt Appendix gt Labview Driver Details HRM ConvertRawTCSPCFile2CSV vi Raw input file Inout raw filename CSV output file Output CSV filename Microtime bits Number of microtime bits must match the value used in the HRM_ StreamTCSPC2File call Microtime Isb Microtime least significant bit must match value used for the HRM_StreamTCSPC2File Call Macrotime bits Number of macrotime bits must match the value used for the HRM_ StreamTCSPC2File call Macrotime Isb Macrotime least significant bit must match value used for the HRM_StreamTCSPC2File Call HRM StreamTimeTags2Mem vi Handle Module handle Buffer size Read buffer size Recording length Recording time in ms Edge selection Edge selection data Microtime Isb Microtime least significant bit Number of recorded bytes Number of recorded bytes Buffer Numeric Read buffer HRM TDC USER MANUAL gt Appendix gt Labview Driver Details HRM_StreamTimeTags2File vi Handle Module handle Output file Output filename Recording length Recording time in ms Edge selection Edge selection data Microtime Isb Microtime least significant bit HRM ConvertRawContTTagsFile2CSV vi Input file Input raw filename Output file Output CSV filename Microtime Isb Microtime least significant bit must m
81. tings for the HRM TDC module as follows D15 D14 D13 D12 D11 Dto DO9 pos Do7 pos pos DO4 pos DO2 por DOO Md 2 0 These bits define in which mode the HRM TDC module will operate 000 Fill n memory locations with the LFL LFH value The value of n is defined by the MCL MCH registers The start address is defined by the LAL LAH registers 001 Run in TIME TAG with TCSPC mode 010 Run in TIME TAG continuous mode 011 Run in TIME BIN with TCSPC mode 100 Run in TIME BIN continuous mode All other Md combinations are reserved Power up default 000 Size In TIME DIN mode the bin size can be set for 16 bits or 32 bits If Size is set to 1 the bin size will be 16 bits With Size set to O the bin size will be 32 bits Note that when the size is 16 bits the memory address defined by the ARR Address Route Register is a 16 bit word address In all other cases the ARR shall define a 32 bit long words address Power up default 1 Rvd Bits reserved Must be set to 1 BCe With this bit set to 1 the BINCNT BCH BCL feature is enabled If this bit is O then the effect of the BCH HRM TDC Sens sense light USER MANUAL gt Appendix gt Hrm tdc Registers And Low Level Dil Functions and BCL is disabled Mem This bit when set to 1 will start the high speed USB memory or time tag transfer processor Taking this bit to O at any time will immedi
82. togram bin size Figure 5 MEM DHD DER Ems DEn eem org Pei Tee paj Histogram modes use consecutive memory locations to store counts that represent successive timing values Fig 5a These memory locations or time bins are incremented based on the result of a time measurement between a START and the first STOP received In this single stop mode this is repeated to build up a histogram in memory showing the distribution of first events STOPs following a START input This process is illustrated in Fig 5b and Fig 5c and an example GUI data plot is shown in Fig 5d Data is saved to the PC in CSV format This mode is also referred to as TCSPC in the SIE due to its application in Time Correlated Single Photon Counting Note In this mode the START of each channel will be the event and the STOP will be a delayed version of the LASER clock On receipt of an event the timing value will be read and then the timing module will immediately be reset The reset will clear the channel ready for the next event Each time stamp from the timing module will be used as an address to increment a memory location time bin The resolution of the bins and the position of the curve in memory will be defined by the highly flexible Address Routing Module The timing value address counter and I O bits can all be routed to the memory address lines This flexibility allows many options from a simple single curve to multiple curves defined by
83. tream data to file esr Module ESR register value for defining channels and edge sensitivity microbits Number of micro TCSPC measurement bits to use microlsb TCSPC resolution 0227ps 1 54ps 2 108ps etc macrobits Number of MACRO bits to use macrolsb MACRO time resolution O 5ns 1 10ns 2 20ns etc HRM_STATUS returned equal to HRM_OK if success HRM TDC sensl sense light USER MANUAL gt Appendix gt High Level Dil Functions Data format MICRO BITS WSL D31 D1 DO Each time tag value will be a 32 bit unsigned value The 2 LSBs C1 and CO will define the channel the time tag was received on The remaining 30 bits are shared between the MICRO and MACRO bits Note The total of the MICRO and MACRO bits must add up to 30 If this is not true the function will return an error Driver HRM StreamTCSPC2FMem HRM_STATUS WINAPI HRM_StreamTCSPC2Mem HANDLE handle BYTE but ULONG bufsize ULONG recordinglength ULONG esr USHORT microbits USHORT microlsb USHORT macrobits USHORT macrolsb ULONG recordedbytes Stream FIFO date to memory buffer TCSPC with MACRO mode handle HRM TDC module handle buf Pointer to memory buffer bufsize Memory buffer size in bytes Recording stops if this is reached recordinglength Time in msec to stream data to buffer while buffer not full esr Module ESR register value for defining channels and edge sensitivity microbits Number of micro TCSPC measurement bits to us
84. ts after the initial start signal can be saved indefinitely HRM TDC sensl sense light USER MANUAL gt Sens Integrated Environment sie gt Using The Sens Integrated Environment sie Resync Using this method the user must feed the programmable clock output to the Start inout of any channel being used Once the configuration is selected the user can start the module recording The module will wait for the first Start pulse and then start recording every stop event until the recording time is reached the maximum event count is reached or the process is manually stopped j 00 0 100 000 000 200 000 000 300 000 000 400 000 000 500 000 000 600 000 000 700 000 000 Time ns Mf Configuration X Programmable clock output V Enable Clock HI 500 ns Clock LO 500 ns v FIFO time tagging configuration Recording length 10000 ms Maximum event count Timer Isb o a Timer resolution ps Channel 1 Channel 2 Channel 3 Channel 4 Enabled Start on rising edge Start on falling edge Stop on rising edge Stop on falling edge X 71718 8I 71718 8I 9717757 S 717757 w Stream to file output be M umm Start Figure 15 SIE screen for FIFO Time Tagging Programmable Clock Output Free Running The Programmable Clock Output is made available for all modes and is used to set the frequency and duty cycle of the internal programm
85. ts 0F n Num cb mac mie I If no argument then read the FIFO time tags convert them into ps gap times and and put to the TXT file for Num 1 Tot 0 flag 1 flag amp amp error HRM OK amp amp argc 1 Num if fread ttag 4 2 fi 0 flag 0 else CMAC ttag 1 CMIC ttag 0 HRM GetTimeTagGap pMAC pMIC cMAC cMIC amp ch amp gapT Tot gapT Tot fprintf fo 1dNt 0f Nt 0fNn Num Tot gapT pMAC cMAC pMIC CMIC Close the files and report any error if fi NULL fclose fi if fo NULL fclose fo if error HRM OK printf Done else d error HRM GetLastError HRM OK printf Failed Error code d error Histogram Example Description The following example sets up the module in TCSPC or Multi scalar Histogram mode This console based application allows input parameters to define setup information as follows HRM TDC SensL sense light USER MANUAL gt Appendix gt DII Application Examples Histogram exe tcspc channels time clock period lt tcspc gt lt channels gt lt time gt lt clock_period gt Example A single char 1 or 0 1 tcspc mode O multi scalar mode 4 chars of value 1 or O defining if channel is enabled or disabled 0001 Channel O only 1000 Channel 3 only 1111 All channels enabled Time in msec to run the histogram mode Period of programmable clock in ns
86. value will be read and the MICRO time will be immediately reset The reset will clear the channel ready for the next event All subsequent STOP pulses will be ignored until a new START pulse arrives Each time stamp will be a 32 bit word giving the time since the last START MICRO time Tt or Tt in Fig 7c and the value of a free running clock defining the time within the experiment MACRO time Ic Due to the highly flexible Data Routing Module the resolution and number of bits for the micro time macro time and channel ID bits is selectable using the USB selection registers When this process begins 32 bit timing values will be inserted into the shared memory The memory will be configured as a large FIFO interfacing to the USB interface Suitable handshake signals are implemented allowing continuous transfer of time tags from the FIFO to the PC via the USB port With counts of up to 4 5MHz this process can run indefinitely without loss of data HRM TDC sensl sense light USER MANUAL gt Hrm tdc System Description gt Fito Multi stop fifo Time Tagging FIFO MULTI STOP FIFO TIME TAGGING a Option 1 Free Running Once acquisition started it carries on indefinitely Reset Memory At time btw Start Option 2 Re Synch and n Stop event Acquisition is re started at a rate of 250kHz TIME e 0 Tm Tp Td start AAA he so JM APN Record At in the ni memory
87. will start at 32 word address Ox100000 The histogram for channel 3 will start at 32 word address Ox180000 The resolution of the timing is fixed at 27ps per bin The edge sensitivity register sets an enabled channel to START on the LO HI edge of the clock and STOP on the HI LO edge After the histogram is run for lt time gt milliseconds the histogram is stopped and all the memory is read to a buffer This program then uses the clock period to calculate the address of the time bins corresponding to 20ns before the STOP HI LO transition of the clock It then reads to file a range of time bins that finishes 20ns after the STOP This is done to save the time bins where the histogram resides whilst keeping the file size to a minimum As the STOP signals are from a clock the resulting histogram will be a narrow peak The width of this peak will represent the amount of noise jitter on the clock The screen shot shows a section of the output file Histogram csv using EXCEL The right hand side shows the 4 columns of time tag values The graph is a simple EXCEL representation of this data Source Code include lt stdio h gt include lt stdlib h gt include lt windows h gt include HRM TDCAPI h typedef unsigned char typedef char typedef unsigned short typedef short typedef unsigned int typedef int typedef double define CHO ADDR 0 define CH1 ADDR define CH2 ADDR define CH3 ADDR Ulong buffer 0x200000 Ubyte Sby
Download Pdf Manuals
Related Search
Related Contents
DTS 3641/3661/3681 –230V Standard-Controller Amana ABB2224BRM Dimension Guide 0 ¥ HC 35 E ¥ deutsch - Airless Sprayers & Spray Equipment Handbuch CEL-Scripts Deutsch 1.3.1 Copyright © All rights reserved.
Failed to retrieve file