Skip to content

Commit 980cef3

Browse files
committed
rst formatting
1 parent 68f5df1 commit 980cef3

1 file changed

Lines changed: 10 additions & 8 deletions

File tree

docs/source/afe.rst

Lines changed: 10 additions & 8 deletions
Original file line numberDiff line numberDiff line change
@@ -161,13 +161,15 @@ Both voltages **VTHR** and **VINJ** are generated by a 12-bit digital to analog
161161
Exercises
162162
=========
163163

164-
The exercises are grouped into three parts. In the first part the basic functionality of the analog front-end is tested. This is accomplished by implementing a script to enable the charge injection and to observe waveforms of the charge sensitive amplifier, shaper, and comparator with an external oscilloscope and/or the fast ADC on the Raspberry Pi base board. In the second part methods to extract analog performance parameters from the digital hit information will be developed. Finally, the full analog signal processing chain will be characterized as a function of shaping time and detector capacitance.
165164

166-
The exercise 0 contains preparatory questions that should be answered before coming to the lab.
165+
166+
The pre-lab exercises (Exercise 0) are questions which must be answered before coming to the lab, with the method of your choosing, although Latex may be preferable to avoid duplicating effort with the report.
167+
168+
The in-lab exercises (Exercise 1-3) are grouped into three section. In the first part the basic functionality of the analog front-end is tested. This is accomplished by implementing a script to enable the charge injection and to observe waveforms of the charge sensitive amplifier, shaper, and comparator with an external oscilloscope and/or the fast ADC on the Raspberry Pi base board. In the second part methods to extract analog performance parameters from the digital hit information will be developed. Finally, the full analog signal processing chain will be characterized as a function of shaping time and detector capacitance.
167169

168170
.. admonition:: Exercise 0: Pre-lab questions
169171

170-
Please answer the following questions before lab:
172+
Please answer the following questions before lab:
171173

172174
#. The injection circuit generates a charge signal of the size :math:`C_{inj} \cdot V_{inj}`. What is the charge in femto-Coulombs generated by a voltage step of 100 mV with :math:`C_{inj} = 0.1 pF`? What is the charge step size for :math:`V_{inj} = 0.05 mV`? (This voltage step corresponds to the effective LSB size of the injection voltage DAC.) What is the expression to convert these charge values in Coulombs to units of the elementary charge (electrons)?
173175
#. An ideal charge sensitive amplifier generates a step-like voltage output waveform in response to an instantaneous charge signal at the input. What is the **CSA** output step amplitude for an input charge of 1 fC, assuming the feedback capacitance is :math:`C_{f}=1 pF` ? If charge sensitivity is defined as the output amplitude per input charge, what is its unit?
@@ -183,11 +185,11 @@ Please answer the following questions before lab:
183185

184186
.. admonition:: Exercise 1. Characterizing an analog front-end
185187

186-
The first set of exercises is intended to familiarize you with the analog front-end hardware and the control software. The goal is to observe the different signals of the analog front-end chain (CSA, SHA, COMP) and to understand the effect of the different circuit parameters on the signal shape. To monitor the signal waveform, connect an oscilloscope to the LEMO socket **OUTPUT**. Use the jumper bank in front of the LEMO socket to select the signal to be monitored manually (**CSA, HPF, SHA, COMP**) or use the setting **MUX** to select the signal to be monitored via your program code with the **SPI** interface. Note: As mentioned in the circuit description above, the shaper circuit adds a total gain of 1000 to the CSA output signal. This gain is split in three gain stages with G=10 that are distributed along the signal chain in front of the **CSA**, the **HPF**, and the **SHA** output, respectively. The **CSA** output is amplified by 10, the **HPF** accumulated amplification is 100 and the shaper output **SHA** finally accumulates the total gain of 1000.
188+
The first set of exercises is intended to familiarize you with the analog front-end hardware and the control software. The goal is to observe the different signals of the analog front-end chain (CSA, SHA, COMP) and to understand the effect of the different circuit parameters on the signal shape. To monitor the signal waveform, connect an oscilloscope to the LEMO socket **OUTPUT**. Use the jumper bank in front of the LEMO socket to select the signal to be monitored manually (**CSA, HPF, SHA, COMP**) or use the setting **MUX** to select the signal to be monitored via your program code with the **SPI** interface. Note: As mentioned in the circuit description above, the shaper circuit adds a total gain of 1000 to the CSA output signal. This gain is split in three gain stages with G=10 that are distributed along the signal chain in front of the **CSA**, the **HPF**, and the **SHA** output, respectively. The **CSA** output is amplified by 10, the **HPF** accumulated amplification is 100 and the shaper output **SHA** finally accumulates the total gain of 1000.
187189

188-
Once you are familiar with the signal generation and monitoring, switch from the external oscilloscope to the fast ADC on the Raspberry Pi base board to record and save the waveform data for further analysis. Connect the monitor signal to the **ADC** input on the base board and set the gain jumper to **1**. The trigger for the waveform acquisition should be derived from the charge injection signal. To select this trigger source set the **TRG** jumper to **GPIO4**. The fast ADC is controlled by a Python script ``osc.py`` which can be found in the folder ``FAST_ADC``. The script needs root privileges to access the interface to the fast ADC and thus has to be started by calling ``sudo -E python osc.py``. A simple command line interface of the ``osc.py`` tool will allow you to set the horizontal resolution and the saving of acquired waveform data to file (csv) or to save a waveform image (png).
190+
Once you are familiar with the signal generation and monitoring, switch from the external oscilloscope to the fast ADC on the Raspberry Pi base board to record and save the waveform data for further analysis. Connect the monitor signal to the **ADC** input on the base board and set the gain jumper to **1**. The trigger for the waveform acquisition should be derived from the charge injection signal. To select this trigger source set the **TRG** jumper to **GPIO4**. The fast ADC is controlled by a Python script ``osc.py`` which can be found in the folder ``FAST_ADC``. The script needs root privileges to access the interface to the fast ADC and thus has to be started by calling ``sudo -E python osc.py``. A simple command line interface of the ``osc.py`` tool will allow you to set the horizontal resolution and the saving of acquired waveform data to file (csv) or to save a waveform image (png).
189191

190-
After reading the above, answer the following questions in your lab report:
192+
After reading the above, answer the following questions in your lab report:
191193

192194
#. A negative charge is injected with the rising edge of the **INJ** signal, which will generate a positive amplitude at the **CSA**, **HPF**, and **SHA** outputs. What happens at the falling edge of the **INJ** signal? What happens if the time delay between the rising and the falling injection signal is too short? What circuit parameters do you have to take into account to estimate the maximum injection frequency?
193195
#. Implement a routine to continuously inject charge pulses into the CSA and observe the different signals (**CSA**, high-pass filter **HPF**, shaper **SHA**, and comparator **COMP**) while varying the injected charge amplitude, shaper time constants, and comparator threshold. To get a reasonable comparator response, the threshold needs to be set in a range between the baseline of the signal and the pulse peak amplitude (remember the LSB step size of the threshold DAC is 0.5 mV). Advanced: You could use threading to change configuration parameters to avoid needing to stop, modify and restart your injecting loop script (see ``threads.py`` as an example for using threads in Python).
@@ -198,7 +200,7 @@ After reading the above, answer the following questions in your lab report:
198200

199201
.. admonition:: Exercise 2. Characterizating a digital read-out
200202

201-
In this section, we will understand the behavior of the logic which quantizers and records the hit information in a digital manner. Please answer the following questions in your report:
203+
In this section, we will understand the behavior of the logic which quantizers and records the hit information in a digital manner. Please answer the following questions in your report:
202204

203205
#. First, select the comparator output with the monitor multiplexer. Set a threshold at half of the shaper peak amplitude (the **Vthr** DAC gain is 0.5 mV/DAC step). Observe the pulse width of the comparator output (time-over-threshold, TOT) for different injection amplitudes with an oscilloscope or the ``osc.py`` application. What relation between TOT and injected charge would you expect? Measure (by hand) the average TOT value for 5-10 different input charge values. An automated TOT measurement using the hit signal to start and stop a digital timer will be implemented later with the FPGA lab module.
204206
#. Implement a scan routine to measure the s-curve of the system. The s-curve is obtained by measuring the hit probability as a function of the injected charge. The charge is varied by changing the injection voltage. The hit probability is calculated by counting the number of hits (using the comparator output pulse) for a given charge step in relation to the total number of injections. Be sure to convert the x-axis of the s-curve from DAC units to charge units (in electrons) **Note:** The effective value of the feedback capacitance is :math:`C_{f}^{eff} = 1.39 pF` due to the parasitic capacitance of the PCB traces and the feedback resistor which add to the nominal value :math:`C_{f} = 1.0 pF`
@@ -207,7 +209,7 @@ In this section, we will understand the behavior of the logic which quantizers a
207209

208210
.. admonition:: Exercise 3. Noise performance of complete
209211

210-
Finally, we will understand the performance of the system in aggregate. Noise plays a critical role, as you have read in the pre-lab questions:
212+
Finally, we will understand the performance of the system in aggregate. Noise plays a critical role, as you have read in the pre-lab questions:
211213

212214
#. Acquire s-curves for different shaping time constants. What is the effect of the shaping time on the noise? (Do not connect a sensor diode to the CSA during this step, as we just want characterize the AFE circuit in isolation.)
213215
#. Now connect a sensor diode to the CSA and apply 20 V bias voltage. Repeat the s-curves measurements. What happens if you lower the bias voltage? What is the effect of the detector capacitance on the noise performance?

0 commit comments

Comments
 (0)