background image

SensL © 2011

84

USER MANUAL

HRM-TDC

 

SensL © 2011

84

 > Appendix  > Labview Driver Details

Sample LabView Application

Test_TCSPC.vi

This is a sample application demonstrating the TCSPC stream-to-file functionality.

Содержание HRM-TDC

Страница 1: ...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 secti...

Страница 2: ...ption 9 Block Diagram 9 Memory 9 Time to Digital Converter Module 9 High Speed USB 2 0 Interface 9 16 Bit General Purpose I O Port 10 System Processor and Controller 10 System Processor and Controller...

Страница 3: ...ngle stop 23 FIFO Time Tagging FIFO Multi stop 26 Correlation 30 Appendix 32 HRM TDC Registers and Low Level DLL Functions 32 Initialization Low Level Drivers 32 ARR Address Route Register 33 DRR Data...

Страница 4: ...ount HI Register 45 WCL Write Count LO Register 45 Non Register Specific Low Level Drivers 46 High Level DLL Functions 48 DLL Error Reporting 56 DLL Application Examples 57 Resolving Free Running FIFO...

Страница 5: ...in memory whereby the first loaded in will also be the first downloaded to the PC TCSPC Time Correlated Single Photon Counting A technique used to study properties of molecules by exciting with a lase...

Страница 6: ...ONSIDERATIONS 1 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 fo...

Страница 7: ...Time Channel 27ps Histogram channel depth 65 535 or 4 294 967 295 bits 16 or 32 bits Dead time 190ns Saturated count rate 4 5MHz Usable count rate 9MHz Burst rate timing Up to 100MHz Mode dependent Ma...

Страница 8: ...Start Input SMA LVTTL F Channel 2 Stop Input SMA LVTTL G Channel 3 Start Input SMA LVTTL H Channel 3 Stop Input SMA LVTTL I USB connector J LEMO power supply connector for SensL PSU use only K 26 way...

Страница 9: ...nterface 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 Mby...

Страница 10: ...le 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 l...

Страница 11: ...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...

Страница 12: ...pulse as the stop signal This 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...

Страница 13: ...ecutive 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 in...

Страница 14: ...ated 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...

Страница 15: ...multi stop mode and limits the maximum frequency achievable Tm is the minimum time between any start and a subsequent stop Note In this mode the START signal is a low frequency clock less than 7 MHz...

Страница 16: ...d 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 t...

Страница 17: ...de 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...

Страница 18: ...e spare High Speed USB 2 0 port NET Framework installed included JAVA runtime environment installed included Microsoft Visual C runtime components included INSTALLATION To install the TDC software and...

Страница 19: ...odule name and then select the particular mode you require see Fig 9 Figure 9 SIE Main Page screen Module Information This page displays the configuration information unique to this module This inform...

Страница 20: ...aph 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...

Страница 21: ...t be necessary to be this accurate Selecting the LSB of the microtime defines the bin resolution Bit 0 is the highest resolution of 27ps Bit 1 will set the bin width to 54ps 2 x 27 bit 2 will set the...

Страница 22: ...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...

Страница 23: ...utput 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 provid...

Страница 24: ...ves 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 selecti...

Страница 25: ...MACRO time As the resolution of the MACRO time was set to 5ns this represents a repetition rate of 1ms 200 x 5 ns The TCSPC time is typically 18712 As the resolution of the MICRO time was set to 27ps...

Страница 26: ...nd 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 modu...

Страница 27: ...the maximum event count is reached or the process is manually stopped Figure 15 SIE screen for FIFO Time Tagging Programmable Clock Output Free Running The Programmable Clock Output is made available...

Страница 28: ...w 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...

Страница 29: ...te 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 9851ps As this mode involves the continuous run...

Страница 30: ...or 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...

Страница 31: ...SensL 2011 31 USER MANUAL HRM TDC SensL 2011 31 Sensl Integrated Environment sie Using The Sensl Integrated Environment sie Figure 17 SIE Correlation screen...

Страница 32: ...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...

Страница 33: ...dules detected In this example the APPLICATION CODE can address up to moduleCount HRM TDC modules Now that communication with the module has been established the configuration registers can be program...

Страница 34: ...omatically 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 availa...

Страница 35: ...INAPI 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 0 val...

Страница 36: ...bit Macro time with LSB resolution of 5ns D 31 30 2 bit channel code 00 01 10 11 for channels 0 to 3 Driver HRM_SetDataRouteRegister HRM_STATUS WINAPI HRM_SetDataRouteRegister HANDLE handle BYTE drrDa...

Страница 37: ...ad 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 t...

Страница 38: ...H 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...

Страница 39: ...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 sensitivit...

Страница 40: ...dle 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 d...

Страница 41: ...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...

Страница 42: ...ast 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 th...

Страница 43: ...s 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 roun...

Страница 44: ...WINAPI HRM_GetProductCodeRegister HANDLE handle USHORT pcrData handle HRM TDC module handle pcrData Pointer for saving current 16 bit PCR value SRR Software Revision Register Register Description Read...

Страница 45: ...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 WI...

Страница 46: ...LONG 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...

Страница 47: ...tdc Registers And Low Level Dll 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...

Страница 48: ...Time bin resolution 0 27ps 1 54ps 2 108ps etc HRM_STATUS returned equal to HRM_OK if success Driver HRM_StreamTCSPC2File HRM_STATUS WINAPI HRM_StreamTCSPC2File HANDLE handle BYTE outfname ULONG record...

Страница 49: ...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 mem...

Страница 50: ...e 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...

Страница 51: ...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...

Страница 52: ...econds 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_GetFifoT...

Страница 53: ...ing 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 u...

Страница 54: ...M_RunFifoTimeTagging and HRM_RunFifoTCSPC 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 t...

Страница 55: ...E 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...

Страница 56: ...on the value of newVal should be set to one of two values 0 HRM_OK Clear error after reading value 9999 HRM_NO_CHANGE Do not change error value The possible values returned by this function are as fol...

Страница 57: ...mode Source Code include stdio h include stdlib h include windows h include HRM TDCAPI h typedef unsigned char Ubyte Unsigned byte typedef char Sbyte Signed byte typedef unsigned short Uword Unsigned...

Страница 58: ...if error HRM_OK 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...

Страница 59: ...ag 4 2 fi 0 flag 0 else cMAC ttag 1 cMIC ttag 0 HRM_GetTimeTagGap pMAC pMIC cMAC cMIC ch gapT Tot gapT Tot fprintf fo ld t 0f t 0f n Num Tot gapT pMAC cMAC pMIC cMIC Close the files and report any err...

Страница 60: ...2000 1000 TCSPC mode channels 2 and 0 enabled run for 2 seconds frequency 1MHz Figure 18 This program assumes that the programmable clock output is connected to all START and STOP inputs of all channe...

Страница 61: ...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...

Страница 62: ...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 40n...

Страница 63: ...rror 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 if er...

Страница 64: ...ram 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...

Страница 65: ...ANUAL HRM TDC SensL 2011 65 Appendix Dll Application Examples Close the file and print error code if failed if fl fclose fl if error HRM_OK printf Done else error HRM_GetLastError HRM_OK printf Failed...

Страница 66: ...etween consecutive time tags is not greater than 21 5 seconds each time tag interval can be calculated as follows 1 Calculate MACRO change dMACRO If previous MACRO value is less than current MACRO val...

Страница 67: ...Value 2 Calculate the MICRO counter rollover time rMICRO 0x510000 26 9851 Calculate the number of MICRO counter rollovers if cMACRO pMACRO dMACRO cMACRO pMACRO 5000 0 rMICRO else dMACRO cMACRO 0xFFFFF...

Страница 68: ...e 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...

Страница 69: ...O and the fraction of frame dv1 double MacroValue MACOFF dv1 160 0 MACRO long dv1 dv2 floor dv1 dv2 double dv1 dv2 dv2 double dv2 160 0 FRACT long dv2 Increment or decrement the MACRO based on boundar...

Страница 70: ...where i 0 1 2 N 1 The cross correlation r at delay d is defined as r x i mx y i d my i x i mx 2 i y i d my 2 i Where mx and my are the means of the corresponding series If the above is computed for a...

Страница 71: ...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 HRMTime...

Страница 72: ...M_GetConnectedModuleCount vi Connected module count Returns the number of connected modules detected by the previous HRM_ RefreshConnectedModuleList call HRM_GetConnectedModuleList vi Handle list Nume...

Страница 73: ...odule 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 M...

Страница 74: ...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_SetUSBAddres...

Страница 75: ...ver 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_SetRoutingRe...

Страница 76: ...river Details HRM_SetMemoryCountRegister vi Handle Module handle Memory count Memory count HRM_SetUSBCountRegister vi Handle Module handle USB count USB count data HRM_SetFrequencySelectionRegister vi...

Страница 77: ...endix Labview Driver Details HRM_SetIODirectionRegister vi Handle Module handle IO direction GPIO direction data HRM_SetIOValueRegister vi Handle Module handle IO value IO value data HRM_SetBinCountRe...

Страница 78: ...endix Labview Driver Details HRM_GetStatusRegister vi Handle Module handle Status Status data HRM_GetSoftwareRevisionRegister vi Handle Module handle FPGA revision FPGA revision HRM_GetWriteCountRegis...

Страница 79: ...dle 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 hand...

Страница 80: ...SensL 2011 80 Appendix 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_Re...

Страница 81: ...ts 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...

Страница 82: ...st 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 lsb Macrotime least significant bit...

Страница 83: ...Output filename Recording length Recording time in ms Edge selection Edge selection data Microtime lsb Microtime least significant bit HRM_ConvertRawContTTagsFile2CSV vi Input file Input raw filename...

Страница 84: ...ensL 2011 84 USER MANUAL HRM TDC SensL 2011 84 Appendix Labview Driver Details Sample LabView Application Test_TCSPC vi This is a sample application demonstrating the TCSPC stream to file functionalit...

Страница 85: ...pendix Labview Driver Details USER MANUAL HRM TDC Rev 3 0 December 2017 www sensl com sales sensl com 353 21 240 7110 International 1 650 641 3278 North America SensL 2011 85 All specifications are su...

Отзывы: