DEVELOPMENT OF A TIMEPIX3 READOUT SYSTEM BASED ON THE MERLIN READOUT SYSTEM G. Crevatina, I. Horswellb, D. Omarb, N. Tartonib, S. Carratoa, G. Cauteroc a
Università degli Studi di Trieste, piazzale Europa 1, 34127 Trieste (TS), Italy b Diamond Light Source Ltd., Harwell Science and Innovation Campus, Didcot, Oxfordshire, OX11 0DE, U.K. c Elettra Sincrotrone Trieste, Area Science Park, Basovizza, 34149 Trieste (TS), Italy E-mail:
[email protected]
ABSTRACT: Timepix3 chip is a new ASIC specifically designed to readout hybrid pixel detectors. The main purpose of Timepix3 is to measure the time of arrival of events. This characteristic can be exploited very effectively to develop detectors for time resolved experiments at synchrotron radiation facilities. In order to investigate how the ASIC can be applied to synchrotron experiments the Merlin readout system, developed at Diamond for the Medipix3 ASIC, has been adapted to readout the Timepix3 ASIC. The first tests of the ASIC with pulse injection and with alpha particles show that its behaviour is consistent with its nominal characteristics. KEYWORDS: X-ray detectors; Data acquisition circuits; Detector control systems (detector and experiment monitoring and slow-control systems, architecture, hardware, algorithms, databases).
Contents 1. Introduction
1
2. Merlin Readout System Overview
2
3. Timepix3
2
3.1. Communication Protocol: Key Features 4. Merlin Adaptation to Timepix3
3 3
4.1. Accessing the Chip 4.2. Receiving Side: Data from Timepix3
3 4
4.3. FPGA Firmware and Host Software
4
5. Operation and characterization of the ASIC
4
5.1. Equalization 5.2. Time of Arrival (ToA), Time over Threshold (ToT) and fast Time of Arrival (fToA)
5
5.3. Alpha Particles 6. Conclusions
7 8
7. Acknowledgements 8. References
8 8
5
1. Introduction Timepix3 [1] is the latest readout ASIC (Application Specific Integrated Circuit) for hybrid pixel detectors released by the Medipix collaboration. It is an ASIC that gives information about the time of arrival of events as well as the time over threshold, that is proportional to the charge released by the events. The format of the chip is a square matrix of 256 X 256 pixels with a pitch of 55 µm. The time resolution that can be achieved in the measurement of the time of arrival is 1.56 ns. The measurement of the time of arrival of events can be exploited effectively in time resolved experiments performed at synchrotron radiation facilities such as Diamond Light Source (DLS). Indeed, experiments such as X-ray photon correlation spectroscopy would greatly benefit from the availability of area detectors with time resolution in the submicrosecond or nanosecond range. It is therefore interesting for a facility such as DLS to investigate the performance of the Timepix3 ASIC in order to assess if it can be used to develop a detector for time resolved experiments. In order to carry out the investigation of Timepix3, the detector group of Diamond decided to adapt the Merlin readout system [2], already developed for the Medipix3 ASIC, to Timepix3. This enables the detector group to have full control of all of the parameters of Timepix3 for a thorough investigation of its characteristics and in addition provides a useful pilot project for a future detector development for time resolved experiments.
–1–
This contribution reports the work done to adapt the Merlin readout system. Furthermore, the first results of the chip characterization are presented.
2. Merlin Readout System Overview Merlin, acronym for MEdipix Readout with a LabVIEW Interface, is the name for the readout system developed at Diamond Light Source for Medipix3 chips. It is based on a National Instrument PXI/FlexRIO system running a Xilinx Virtex-5 FPGA. The PXI rack integrates a Windows based PC and an FPGA card with 512MB on-board RAM. The FPGA card has a FlexRIO general purpose interface slot into which a custom adapter module (designed at Diamond) is fitted. The adapter module is needed as interface between the FPGA and the sensor chipboard. It provides the analog communication functionalities (such as line receivers) needed to adapt the signals at the FPGA standard and power supplies (low and high voltages). The signals are sent and received to and from the Timpeix3 chipboard using a VHDCI connector, which is the standard used by the Medipix collaboration. The FPGA software contains all the lower level functionality needed to allow the communication between the host pc and the Medipix3 chipboard. The basic work of the FPGA is to receive commands from the host, send them to the chip, receive the data from the chip and send them to the host respecting the communication protocol on both sides. The communication between host program and FPGA is made possible using DMA (Direct Memory Access) FIFOs; these FIFOs are needed to transfer data and separate different clock regions. The FPGA system is completely autonomous in all its functions. The host side runs National Instrument’s LabVIEW 2012. The user interface is entirely built on LabVIEW. The system running on the host program is responsible for configuring and correctly calibrating the chip, managing the user interface and recording the data returned by the FPGA.
3. Timepix3 Timepix3 is mainly designed to provide two measures for each event: the time of arrival, by placing a time stamp to the events, and the energy, by measuring the time over threshold of the events. Timepix3 works in “data driven” mode: every time an event occurs the data related to such an event are streamed out in a data packet that includes information about the coordinate of the pixel. In addition to this mode of operation there is a more standard photon counting mode where the events occurring during a predefined time frame are counted. In this mode of operation also the integral time over threshold is provided that gives the overall energy deposited by the events occurring during the frame. Timepix3 has a few different mode of operation: • Time of Arrival (ToA) and fast Time of Arrival (fToA). ToA uses a 40 MHz clock for the time stamp and fToA uses a 640 MHz clock to improve the resolution of the time stamp; • Time over Threshold (ToT), it measures the energy of the event by measuring the time over threshold of the analogue signal; • Event Counting (PC) and integral Time over Threshold (iToT). PC provides the number of detected particles. The pixel matrix can be programmed in 3 different pixel acquisition modes: • ToA & ToT;
–2–
• •
Only ToA; Event Count & Integral ToT.
Table 1 provides the main characteristics of Timepix3. Pixel Arrangement Pixel Size Technology Acquisition Modes
256 X 256 55 X 55 µm2 130 nm CMOS – 8 Metals 1) Time (ToA) and Charge (ToT) 2) Time (ToA) 3) Event Counting (PC) and integral ToT (iToT) Readout Type 1) Data Driven (DD) Zero Suppressed 2) Frame (FB) Zero Suppressed Dead Time Per Pixel > 475 ns (pulse measurement time and packet transfer time) Minimum Timing Resolution 1.562 ns Minimum Detectable Charge > 500 eOutput Bandwidth 1 to 8 SLVS @ 640 Mbps DDR Table 1 – Timepix3 main characteristics 3.1 Communication Protocol: Key Features The custom communication protocol implemented in the Timepix3 [3] chip is completely different from the Medipix3 one. The input data uses a custom made command-based serial protocol. All data input streams are synchronized with the rising edge of the input clock (SDR mode) using a 40 bit header and are loaded MSB first. All the output data is sent through the
output block in DDR format (one new bit for each clock edge) using 48 bits packets. The composition of the single packet depends on the operation performed by the chip. The output data is encoded using the 8b10b standard [4]. The packet-based communication provides an easy way to synchronize and recognize data bits, at expense of a lower throughput (for the same number of bits), because the payload is only a fraction of the total number of bits. 4. Merlin Adaptation to Timepix3 The adaptation work of the Merlin readout system to the Timepix3 consists in 4 different steps. It involves modification of the custom adapter board (interface between the readout system and the Timepix3 chipboard), development of new low-level FPGA communication software, adaptation of the FPGA firmware to the Timepix3 communication protocol and modification of the host GUI to implement the new Timepix3 functionalities. 4.1 Accessing the Chip Each command sent to the chip has to be decoded from the Command Decoder, which respects a precise protocol. To handle this feature, an access state machine has been implemented in the FPGA. The evolution in time of the state machine depends on both host software and Timepix3 chipboard. Its operation is completely transparent for the final user as the communication protocol is automatically handled without any other further intervention.
–3–
4.2 Receiving Side: Data from Timepix3
Figure 1 – Receiving chain With reference to Figure 1, from left to right, at the receiving side (data from Timepix3) the operations performed are: • IBUF: data are buffered in the FPGA bit by bit. • SERDES DELAYED: data are received serially from each output line. A SERDES (SERializer/DESerializer) is needed in order to obtain the 10 bit encoded words that have to be decoded in the next block. Furthermore, the implemented SERDES provides the possibility of setting a desired delay on the input. • 8b10b DECODER: each 10 bit 8b10b encoded word is decoded to obtain the corresponding 8 bit word using a Xilinx VHDL decoder [5]. • FIFO36_72: data received from Timepix3 chip is organized in 48bit packets. That means the 8bit decoded words have to be grouped to form the complete packet. The FIFO is implemented with this purpose. • SYNC: this block receives and analyses the complete packets, then provides several control signals used by the access state machine. 4.3 FPGA Firmware and Host Software Thanks to the FlexRio architecture, the Virtex5 FPGA can be programmed using the LabVIEW FPGA environment where all the custom VHDL software can be integrated. The FPGA firmware is organized in 9 parallel loops running at different rates; each one of those controls a different aspect of the system. The host software is based on LabVIEW and runs on the FlexRio Windows-based controller. It contains the GUI, through which the user can setup the parameters of the measurements, save results, run tests, change detector parameters, load/save configuration files. At the moment, results of measurements are shown in form of images. To obtain the images, the host software analyses the data packets coming from the FPGA to extract pixel coordinates and measurements results.
5. Operation and characterization of the ASIC After the adaptation of the readout, tests on the operation of the chips have been performed as well as some preliminary characterization tests. When all the pixels of the matrix are active at the same time the power consumption is very high. Therefore a “spacing” pattern has been introduced. Only one pixel out of nine of a 3x3 square has been kept active. The results showed in the sections 5.1 and 5.2 are obtained with this spacing, however the results presented in section 5.3 are obtained with the full matrix active.
–4–
5.1 Equalization The equalization of the active matrix is needed to line up all the pixels thresholds. Pixels are not exactly identical, so their responses may be different event if they share the same threshold value. The consequence is a non-uniform response of the pixels, extremely visible when measuring noise. Timepix3 provides two DACs to set a global threshold value. This is applied to the whole pixel matrix. In addition, each single pixel contains a 4 bit (trim bits) DAC for a fine local threshold tuning. The equalization routine sets the trim bits in order to have a uniform response of all the pixels. Figure 2 shows the result of the equalization process. The blue, red and green lines are the measure of the noise when the trim bits are set to 0x0, 0x8 and 0xF respectively for all the pixels; the light blue line is the response after the equalization. The light blue line indicates that the global response is stronger in the middle of the noise and the dispersion is lower than the non-equalized case.
Figure 2 - Equalization result (X-axis: threshold fine DAC steps; Y-axis: sum of detected hits) 5.2 Time of Arrival (ToA), Time over Threshold (ToT) and fast Time of Arrival (fToA) The ToA recordes the instant at which a photon is detected (with a resolution of 25 ns). Tests have been run using the built-in test pulse generator that allows sending pulses with a tunable delay with respect to the shutter opening time. A single pulse has been sent to all the active pixels and the delay has been measured. The result is very good in as much as the chip behaves as expected as far as the ToA measurement is concerned. The ToT measures the time spent above the threshold from the pulse produced by the shaper output, which is strictly related to the energy of the incoming photon. The test pulse generator allows testing ToT by setting the amplitude of the test pulse. The result shows an increasing spread in gain with the pulse amplitude for different pixels.
–5–
The fToA is a fine timing measurement (resolution of 1.5625 ns) related to the ToA measurement. This resolution allows measuring the propagation delay of the test pulses inside the pixel matrix. The test pulse generator is placed inside the periphery, in the bottom right corner of the pixel matrix. A delay in both left-to-right and bottom-to-top directions is expected. Figure 3 shows the image acquired when a single pulse is sent to the pixel matrix. A tilted repeating pattern is clearly visible.
Figure 3 – fToA propagation delay as a function of the pixel.
Figure 4 – a) delay in row 62 as a function of the column number; b) delay in column105 as a function of the row number The plot of figure 4a shows the horizontal propagation delay for row 62 where the test pulse takes around 200 ns (the fToA counter wraps around 8 times) to travel from the left hand side to the right hand side of the matrix; the plot in figure 4b shows the vertical propagation delay for column 105 where a single pulse takes 4.68 ns to travel from the bottom to the top of the pixel matrix. The big difference in the two propagation delays is due to the internal organization of pixels in double columns sharing the digital part of the pixel [3].
–6–
5.3 Alpha particles The behavior of the Timepix3 chip has been tested also with alpha particles. A radioactive source consisting of a mixture of three isotopes (239Pu, 241Am, 244Cm) emitting alpha particles between 5.1 MeV and 5.7 MeV has been used. The experiment consisted in putting the source close to the sensitive area and taking acquisitions. The result is more qualitative than quantitative, but shows exactly what the Timepix3 chip is capable of doing, especially in timing measurements.
Figure 5 – Alpha particles: ToA (a), fToA (b), ToT (c) Figure 5 shows the images taken using the Timepix3 chip after a 1 second exposure to the alpha source: • ToA: each single blob shows good color uniformity. This is due to the fact that the interaction of each single alpha particle with the detector is fast if compared to the coarse timing measurement (25 ns of resolution); • ToT: different blobs present a similar behavior for what concerns energy. This is the expected situation, because the energy of the alpha particles depends on the source and in this case is between 5,1 MeV and 5.7 MeV as stated above; • fToA: thanks to the fine timing measurement it is possible to resolve (in time) the interaction process for each single detected alpha particle.
–7–
6. Conclusions The developed readout system for the Timepix3 chip, based on the Merlin readout system for the Medipix3 chip, works properly and can exploit all the basic functions needed to correctly set and drive the chip, read and display measurements results. Further work is needed, however the developed system is very promising. As far as the Timepix3 chip is concerned, the very preliminary characterization tests showed a behaviour that is consistent with the design specifications of the chip. Anyway, a better understanding of the chip is required before it can be used in real experiments.
7. Acknowledgments The authors would like to acknowledge the Medipix3 collaboration and in particular Xavi Llopart and Michael Campbell for their continuing support during the development of the readout system.
8. References [1] V. Gromov et al., Development and Application of the Timepix3 Readout Chip, PoS (Vertex 2011) 046.
[2] R. Plackett et al., Merlin: a fast versatile readout system for Medipix3, 2013 JINST 8 C01038. [3] X. Llopart and Tuomas Poikela, Timepix3 Manual v1.9 [4] A. X. Widmer and P. A. Franaszek, A DC-balanced, partitioned-block, 8B/10B transmission code, IBM Journal of Research and Development, vol. 27 issue 5, pp. 440-451.
[5] Paula Vo, Parameterizable 8b/10b Decoder, Xilinx XAPP1112 (v1.1).
–8–