---
title: Phase I Silicon Detector Assembly
...


# Overview

The CMS Phase I Upgrade project was an effort to design and construct an improved detector for Run II of the LHC.

# Automated Assembly

# Gantry Software

# Quality Control

# Results

# The Phase II telescope

In anticipation of test beams to commission detector elements of the Phase II Upgrade of the CMS detector, a telescope was designed to serve as a reference measurement. The design of the telescope is centered around several layers of silicon strip sensors placed fore and aft of the device under test (DUT). Hits in the strips are correlated to construct a track. This track is then projected onto the DUT, yielding residuals that can be used to characterize the DUT.

[@Fig:telescope_hierarchy] shows a block diagram of the telescope in operation. 

![Block diagram of the telescope. The lines represent signal flow.](figures/telescope/Telescope_Hierarchy.png){#fig:telescope_hierarchy}

## Design

The telescope's several layers of sensing material consist of silicon micro-strip sensors. These particular sensors consist of 512 strips of 25 $\mu$m pitch. The metalization that defines the strips has readout pads on alternating sides of the chip leading to 50 $\mu$m pitch on the pads along either side. [@Fig:telescope_sensor] illustrates this pattern.

![Schematic representation of the silicon micro-strip detector to be used with the telescope. The solid lines indicate metalization that collects charge liberated by the traversal of an energetic charged particle.](figures/telescope/Microstrip_Sensor.png){#fig:telescope_sensor}

The sensor is read out with an integrated circuit called the Analog Pipeline Chip - 128 (APC128). Each APC128 is has a 128 channels which correspond to reading out 128 strips of a silicon micro-strip sensor. [@Fig:apc128] shows an operational schematic detailing one of these channels. Going from left to right, the circuit consists of a pre-amplifier, the sampling capacitors, and readout pipeline. Lets look at each of these in turn.

![Operational diagram of the APC128. Note the main features: a charge sensitive pre-amplifier(red), a sampling pipeline(green), and the readout stage(blue).](figures/telescope/APC128_Schematic_annotated.png){#fig:apc128}

When the APC128 is in sampling mode $SR$ is high, meaning that the switches labeled $SR$ are closed and the switches labeled $\bar{SR}$ are open, and $IS$ is high. Lets also assume that $Reset$, $R12$, and $CS$ are low for now. In this configuration any current originating from $In$ flows onto $C_1$. The pre-amplifier will sink the charge that was removed from the right "plate" of $C_1$ to keep it electrically neutral. In the end, the preamplifier now has a voltage to maintain on its output that is proportional to the charge read from the sensor. If the $R12$ signal goes high, some of the charge from $C_1$ is allowed to bleed off over time so the voltage of the pre-amplifier will spike with input current and slowly return to its original value. $R12$ also keeps leakage current from saturating the pre-amplifier. On the other hand, if $Reset$ goes high, all of the charge is quickly removed and the pre-amplifier immediately returns to its original state. In a testing environment with bunched particles, the $Reset$ signal may be timed with the beam crossing to clear out the channel between bunches. However, if there is ambiguity when particles could potentially arrive, it is useful to keep a series of periodic samples of the input signal and then read out the correct one when a trigger is received.

Each channel has 32 sampling capacitors, labeled $C_p$ in the schematic. A bit is shifted through the "Pipeline shift register" which connects the output of the pre-amplifier to one $C_p$ at a time. When the pre-amplifier is connected to a particular $C_p$, that capacitor gets charged to a voltage proportional to the input signal at that time. As the bit moves through the shift register, it takes a series of 32 samples of the input signal. Having a time series of samples is important because there is generally a time delay between when the signal from the sensor arrives and when a trigger makes its way through the trigger system to the chip. Without a history of samples, the pulse height information will be lost by the time a trigger arrives.

When a trigger arrives, sampling of the input stops. A specific $C_p$ is selected with the pipeline shift register based on a pre-calibrated trigger delay, and the $SR$ and $IS$ signals go low. This hooks up the $C_p$ capacitor back to the input of the preamplifier. A bit is shifted into the "Readout shift register" which connects each of the 128 channels sequentially to the output stage. When a particular channel is connected to the output stage, The preamplifier charges the $C_L$ capacitor which in turn places a voltage across $C_fb$ and causes the output amplifier to supply an analog voltage that is proportional to the magnitude of the original pulse from the silicon micro-strip sensor. As the bit in the readout shift register works its way through the channels, a series of analog voltages are supplied to the output which ultimately represent the charge deposits on each of the 128 strips the particular chip is connected to.

For calibration and testing, the input of the preamplifier is given a charge through the $CAL$ input. There is a separate $CAL$ capacitor for each channel with values that cycle starting with C, then 2C, 3C, 4C, and back to C. The different capacitor values give different charge inputs to the pre-amplifiers for a shared calibration voltage. As the different channels are readout, the analog output voltage will step through four discrete values corresponding to the four different capacitor values. [@Fig:step_curve] shows what this "step curve" looks like.

![The calibration "step curve" for an APC128 chip. In this oscilloscope trace the signal has been routed through a differential amplifier, thus the inverted blue and green traces. The pink envelope shows the subtraction of the differential signals and clearly demonstrates the "step" nature of the signal. The dark pink curve shows the $R\Phi 1$ signal which, together with $R\Phi 2$, steps the channel selection bit through the readout shift register.](figures/telescope/step_curve.png){#fig:step_curve}

The APC128 was originally developed for the HERA experiment at DESY[@Hilgers2001] in the 1990s. In the decades since, Much expertise on the operation and performance of the chip has been lost, and very little technical documentation is available. Therefore, in order to better understand the operation of the chip a dedicated testboard was designed as part of the telescope R&D. [@Fig:step_curve] was acquired with the aide of this test board, an image of which is shown in [@fig:apc128_testboard].

![The testboard for characterizing the APC128 chip and developing the correct control sequences to generate the step curve shown in [@fig:step_curve]. The APC128 is mounted on the reverse side of the board. The board features switchable potentiometer and DAC analog supply voltage sources, an integrated adjustable gain differential amplifier with twisted pair output, and parallel digital control signal supply via a 40-pin parallel cable. The control signals are generated off-board by an Altera Cyclone-IV FPGA running custom firmware. Schematics of this board are available at [@apc128_testboard_designs]](figures/telescope/apc128_testboard.png){#fig:apc128_testboard}

Developing the signal patterns that correctly operate the chip to produce the step curve was a significant achievement. This is simply because even a small error in the pattern can result in erroneous output, with little indication of exactly which signal was wrong and at which clock cycle. To aide in the development of the control signal patterns, software was developed to convert a simple text-based representation of the pattern to FPGA firmware that would actually generate those patterns. [@Fig:apc_pattern] shows an excerpt from one of these patterns. A `-` indicates that the digital signal is high during a clock cycle while a `_` indicates it is low. This excerpt shows the pipeline selection bit being shifted through the pipeline shift register of the APC128 while at some point the `CAL` signal goes from high to low, injecting some charge into the preamplifier. The preamplifier will then charge up the currently selected pipeline capacitor. A following section of the pattern will select this capacitor for readout and shift through all 128 channels, producing the step curve.

![An excerpt from the APC128 control signal pattern for producing the step curve. Note that here the IS and SR signals are tied together and represented by ISSR. The full pattern as well as the tooling to convert such a text pattern to FPGA firmware can be found at [@pattern_gen]](figures/telescope/apc_pattern.png){#fig:apc_pattern}

Studies were also done to observe the shape of the pulse when charge is injected into the pre-amplifier via the calibration capacitor. This is shown in [@fig:pulse_decay]. The plot clearly shows the increasing magnitude of the output signal with increasing calibration capacitance, as well as the decay of the signal when the feedback resistor is enabled.


![The relationship between the output voltage and the time delay between when the calibration charge is injected and when the preamplifier is sampled. Height 1-4 correspond to the four calibration capacitor values. The value of `R12` indicates whether or not switch enabling the feedback resistor is open(0) or closed(1).](figures/telescope/pulse_decay.png){#fig:pulse_decay}

The design of the telescope calls for four layers of detector on each side of the DUT. Each layer will contain one silicon micro-strip detector with four APC128 chips to read out all 512 strips. The analog output of the APC128 has relatively high impedance[@Ryser2013] which implies the need for a nearby amplifier to drive the signal through the connections that lead out of the beam area to the DAQ. This may be a distance of up to several meters, depending upon the beam site. Based on these requirements, the AD8138ARZ differential amplifier was chosen to drive the signal and twisted pairs in a CAT-5 (ie Ethernet) cable were chosen to carry the signal. The board that carries the micro-strip detector, APC128, and amplifiers is referred to as a sensor card. There are four sensor cards mounted onto each of two identical back-plane boards as shown in [@fig:back_plane_board]. 

The back-plane board would be physically mounted to supports to bold the sensors in the beam path. It has four RJ-45 ports for the CAT-5 cables that route the differential analog signals to the DAQ and a 2x20 parallel connector for the DAQ to supply the APC128 control signals, bias voltage, and other miscellaneous signals required by the sensor cards. 

![One of the two identical back-plane boards that make up the in-beam part of the telescope. The silicon micro-strip detectors are mounted at at 45 degree angle relative to the back-plane board, and each of the cards has board-edge connectors on both the top and bottom. This means that one can rotate a card 180 degrees to change the relative orientation of the strips. They can be alternating horizontal-vertial (as shown), all vertical, all horizontal or any combination accoring to the operators needs.](figures/telescope/back_plane_board.png){#fig:back_plane_board}

The DAQ has four main jobs:

  - Generate the control patterns for the APC128. This includes the pattern to continuously sample the pre-amplifier and the pattern to select the correct sample from each channel and readout the samples.
  - Digitize the analog signals coming from the 32 APC128 chips. To minimize downtime during readout, all 32 are digitized in parallel.
  - Pre-process the readings to suppress noise and identify hits.
  - Transmit the collected hit data to a connected PC for further processing and storage.

To accomplish these goals, a DAQ board, shown in [@fig:daq_overview], was designed and built. Not shown in the figure is the brains of the board: an Opal Kelly ZEM4310 FPGA integration board. The ZEM4310 plugs into the two central HSMC connectors which connect the FPGA to power, the ADCs, the APC128 control pattern lines, and other utility circuits. The ZEM4310 was chosen for its high amount of I/O, USB3 connectivity, and, importantly, its use of an Altera FPGA, a part that the DAQ designer already had experience programming.

![Front (left) and rear (right) 3d rendering of the Telescope DAQ. In the foreground of the front image are the LEMO connectors for supplying external clock and trigger as well as two programmable IO lines. The large center-front connector is a double 2x20 parallel port which is connected to matching connectors on the two backplane boards. Finally on the front right there is barrel jack for supplying power. The large connector in the foreground of the left image is an 8xRJ-45 jack for receiving the differential analog signals from the APC128 chips.](figures/telescope/DAQCard_combined.png){#fig:daq_overview}




![The fan control circuit. The FPGA, ADCs, and other electronics will potentially consume several watts of power. To allow for continuous operation within a case, it was decided to add a fan controller to the board. This would regulate the speed of a chassis mounted fan in accordance with a reading from a thermistor on the board.](figures/telescope/DAQ_Fan_Control_Scheme.png){#fig:daq_fan_control}

![Single ADC assembly, capable of digitizing four APC128 signals. The design uses a Texas Instruments THS4524IDBTR four channel differential op amp to isolate the input lines from the ADC circuit and convert the differential signals to single-ended signal. This is paired with an Analog Devices AD9219 four-channel 10-bit ADC.](figures/telescope/DAQ_Single_Channel.png){#fig:daq_single_channel}

![The power supply for the DAQ board. It uses a switching DC/DC converter to regulate a 7-25VDC supply down to 5V. It then employs two linear regulators to supply the 2.5V and 1.8V rails. There is a rocker switch (3d model missing) for turning the DAQ on and off, and a diode bridge between the plug and supply electronics to be tolerant to reverse polarity power sources.](figures/telescope/DAQ_Power.png){#fig:daq_power}

![Bias voltage control. High voltage is supplied by an external source and connected to the board via a chassis mounted SHV connector. A mechanical relay, controled by a signal coming from the FPGA, controls whether bias voltage gets supplied to the micro-strip detectors. Large value serial resistors are used to limit any potential shock hazard.](figures/telescope/DAQ_HV_Control.png){#fig:daq_hv_control}

An FPGA is a dynamic and programmable piece of hardware. Unlike micro-controllers, however, an FPGA is able to directly emulate bare-metal logic circuits. This means that specialized digital circuits can be designed to handle specific tasks quickly, efficiently, and parallelized when necessary. The downside of this, however, is that FPGAs are not programmed with a typical programming language like C++ or Python, but instead use a special *hardware* design language. There are two popular language choices for FPGA design: Verilog, and VHDL. There is also a "block diagram" visual style of programming that some IDEs support. For the DAQ software, Verilog was chosen due to its more "C-like" syntax over the more verbose VHDL. [@Fig:verilog_sample] shows a sample of some Verilog code.


![A simple example of some Verilog code[@readler2011]. This shows how one may implement a 2-input 4-bit multiplexer. Note many of the C-like syntax features.](figures/telescope/verilog_sample.jpg){#fig:verilog_sample}

<mark>Talk about DAQ Firmware and Software</mark>

<!-- Having a way to operate the APC128, the next step was to incorporate this into a full data acquisition system (DAQ). The DAQ is implemented using a custom PCB that interfaces with the same Altera Cyclone-IV FPGA as the APC128 testboard, but has additional hardware to digitize the analog readings and transmit them to a connected computer over USB. -->


## Performance


# Outlook
