Difference between revisions of "DAQ Testing/20180727"

From PREX Wiki
Jump to navigationJump to search
 
(15 intermediate revisions by the same user not shown)
Line 1: Line 1:
Main Page - [[DAQ Testing]] - July 27th, 2018
+
Back to [[Main_Page|Main Page]] >> [[DAQ_Doc_Portal|DAQ Documentation Portal]] >> [[DAQ_Testing|DAQ Testing]] >> [[DAQ_Commissioning_Notes|DAQ Commissioning Notes]]
Testers: Cameron and Chandan
 
  
Goal: Test HAPPEX and QWeak ADCs in Right HRS Parity DAQ for functionality and dynamic range
+
>> [[DAQ_Testing/20180728|Next Day of Testing]]
 +
 
 +
July 27th, 2018 Testers: Cameron and Chandan
 +
 
 +
See [[DAQ_Meeting/20180727|Today's Meeting Notes]]
 +
 
 +
== Goal ==
 +
 
 +
Cameron and Chandan learn how to test DAC and ADCs with Bob Michaels
  
 
== Calibrate RHRS HAPPEX Timing Board (HAPTB ) 12 and 16 bit DAC ==
 
== Calibrate RHRS HAPPEX Timing Board (HAPTB ) 12 and 16 bit DAC ==
  
 
To calibrate the 12 and 16 bit DACs we:
 
To calibrate the 12 and 16 bit DACs we:
* Log into the RHRS ROC with telnet (see [[DAQ_Networking|Network Map]])
+
* Log into the RHRS ROC with telnet (see [[DAQ_Network_Map|Network Map]])
* Set the DAC output level with the C code command setDACHAPTB(DAC#,Level#)
+
* Set the DAC output level with the C code command '''setDACHAPTB(DAC#,Level#)'''
 
* Read the DAC output level with a voltmeter
 
* Read the DAC output level with a voltmeter
 
** DAC# 1 = 12bit, 2 = 16 bit
 
** DAC# 1 = 12bit, 2 = 16 bit
** 12 Bit DAC Level# unknown scale, testing with voltmeter determines - expect positive voltages for values that range within Level ⊂ [0, 2^12 - 1 = 4095] modularly
+
 
*** Level = 200 -> Voltage read = 0.480V
+
== Testing RHRS HAPPEX ADCs using 12bit DAC ==
*** Level = 300 -> Voltage read = 0.731V
+
* To test an ADC channel
*** Level = 400 -> Voltage read = 0.976V
+
** Set a specific ADC slot and channel number's gains in the Prex_ts.crl file (in ~/devices/crl/) and make with "makelist Prex_ts.crl ppc"
*** Level = 500 -> Voltage read = 1.220V
+
** Run through several DAC values and ensure that the base and peak values (adcx#_#_b0 or p0) are not railed to minimum or maximum values
*** Level = 600 -> Voltage read = 1.464V
+
** Reset the conversion and integrator gain values with functions
*** Level = 700 -> Voltage read = 1.708V
+
*** '''adc18_intgain(adcModule#,value#)''' - min = 3, max = 0
*** Level = 800 -> Voltage read = 1.952V
+
*** '''adc18_setconv(adcModule#,value#)''' - min = 0, max = 15
*** Level = 900  -> Voltage read = 2.19V
+
*** in Prex_ts.crl around lines 543 and 544 - inside a loop that sets every single ADC channel and gain in all DAQs
*** Level = 1000 -> Voltage read = 2.44V
+
*** Set to lower net level first, and scan up
*** Level = 1100 -> Voltage read = 2.68V
+
*** to see how high a gain can still read the peak 5V voltage from DAC at ~75% of saturation level
*** Level = 1200 -> Voltage read = 2.92V
+
** We are testing with 30Hz helicity flip rate (longest integration time, most likely to saturate, probably will be used for CREX)
*** Level = 1300 -> Voltage read = 3.17V
+
** Metrics - analyze a run's output with ~/adc18_ana/newrun run# numEvents# roc# slot#
*** Level = 1400 -> Voltage read = 3.41V
+
* RHRS "adcx2" according to tape label = first ADC on the left (of two options) of the 18bit ADC crate; address = 0 in ROC26 crate, name = adcx7 in ~/bpan18/pan/control.db
*** Level = 1500 -> Voltage read = 3.66V
+
** test by logging into HAPPEX7 via telnet and running int and conv gain settings (adcModule#=0) in there while CODA takes data in the background
*** Level = 1600 -> Voltage read = 3.90V
+
 
*** Level = 1700 -> Voltage read = 4.15V
+
== To Do ==
*** Level = 1800 -> Voltage read = 4.39V
+
* Test ADCs and continue in todo list
*** Level = 1900 -> Voltage read = 4.63V
+
* Perfect and better justify parameters in Ramp testing function (and separate it out into a specific ramp-testing .crl file to avoid messing with the main Prex_ts.crl functionality)
*** Level = 2000 -> Voltage read = 4.88V
+
* Move the RJ45 cable to a better location on the RHRS, with more slack and less likelihood of getting in the way of other people\
*** Level = 2100 -> Voltage read = 5.12V
+
* Check if something like int = 2 and conv = 0 is actually a more suitable gain setting
*** Level = 3000 -> Voltage read = 7.32V
+
* Understand the nature of "saturation", why signals over 5V are suitable if the gain is low enough, and what non-linearities arise near saturation
*** Functional V = 0.0024402 * Level - 0.00257905
+
* Put all of the DAQ software into a [https://www.github.com/JeffersonLab JeffersonLab] repository and track it adequately
** 16 Bit DAC Level# unknown scale, testing with voltmeter determines - expect negative to positive voltages for values that range within Level ⊂ [0, 2^16 - 1 = 65535] modularly
+
* (JAPAN?) Develop a similar ramping function but to use a constant DAC value and systematically scan the gain settings to understand the linearity, starting points, and relative significance of Integrator and Conversion gains
*** Level = 300 -> Voltage read = -4.92V
+
* Learn how to tweak and characterize QWeak ADCs (begin with RHRS QWeak ADCs)
*** Level = 400 -> Voltage read = -4.94V
+
* Do the LHRS, Injector, and Counting House
*** Level = 500 -> Voltage read = -4.92V
+
 
*** Level = 2000 -> Voltage read = -4.69V
+
 
*** Level = 3000 -> Voltage read = -4.54V
 
*** Level = 8000 -> Voltage read = -3.77V
 
*** Level = 12000 -> Voltage read = -3.16V
 
*** Level = 16000 -> Voltage read = -2.55V
 
*** Level = 20000 -> Voltage read = -1.94V
 
*** Level = 24000 -> Voltage read = -1.32V
 
*** Level = 28000 -> Voltage read = -0.72V
 
*** Level = 32000 -> Voltage read = -0.07V
 
*** Level = 36000 -> Voltage read = 0.49V
 
*** Level = 40000 -> Voltage read = 1.10V
 
*** Level = 44000 -> Voltage read = 1.71V
 
*** Level = 48000 -> Voltage read = 2.32V
 
*** Level = 52000 -> Voltage read = 2.93V
 
*** Level = 56000 -> Voltage read = 3.54V
 
*** Level = 60000 -> Voltage read = 4.15V
 
*** Level = 64000 -> Voltage read = 4.76V
 
*** Level = 68000 -> Voltage read = -4.61V (Modular wraps around)
 
*** Functional V = 0.000152329 * Level - 4.9871
 
 
[[Category:DAQ_Testing]]
 
[[Category:DAQ_Testing]]

Latest revision as of 11:28, 30 July 2018

Back to Main Page >> DAQ Documentation Portal >> DAQ Testing >> DAQ Commissioning Notes

>> Next Day of Testing

July 27th, 2018 Testers: Cameron and Chandan

See Today's Meeting Notes

Goal

Cameron and Chandan learn how to test DAC and ADCs with Bob Michaels

Calibrate RHRS HAPPEX Timing Board (HAPTB ) 12 and 16 bit DAC

To calibrate the 12 and 16 bit DACs we:

  • Log into the RHRS ROC with telnet (see Network Map)
  • Set the DAC output level with the C code command setDACHAPTB(DAC#,Level#)
  • Read the DAC output level with a voltmeter
    • DAC# 1 = 12bit, 2 = 16 bit

Testing RHRS HAPPEX ADCs using 12bit DAC

  • To test an ADC channel
    • Set a specific ADC slot and channel number's gains in the Prex_ts.crl file (in ~/devices/crl/) and make with "makelist Prex_ts.crl ppc"
    • Run through several DAC values and ensure that the base and peak values (adcx#_#_b0 or p0) are not railed to minimum or maximum values
    • Reset the conversion and integrator gain values with functions
      • adc18_intgain(adcModule#,value#) - min = 3, max = 0
      • adc18_setconv(adcModule#,value#) - min = 0, max = 15
      • in Prex_ts.crl around lines 543 and 544 - inside a loop that sets every single ADC channel and gain in all DAQs
      • Set to lower net level first, and scan up
      • to see how high a gain can still read the peak 5V voltage from DAC at ~75% of saturation level
    • We are testing with 30Hz helicity flip rate (longest integration time, most likely to saturate, probably will be used for CREX)
    • Metrics - analyze a run's output with ~/adc18_ana/newrun run# numEvents# roc# slot#
  • RHRS "adcx2" according to tape label = first ADC on the left (of two options) of the 18bit ADC crate; address = 0 in ROC26 crate, name = adcx7 in ~/bpan18/pan/control.db
    • test by logging into HAPPEX7 via telnet and running int and conv gain settings (adcModule#=0) in there while CODA takes data in the background

To Do

  • Test ADCs and continue in todo list
  • Perfect and better justify parameters in Ramp testing function (and separate it out into a specific ramp-testing .crl file to avoid messing with the main Prex_ts.crl functionality)
  • Move the RJ45 cable to a better location on the RHRS, with more slack and less likelihood of getting in the way of other people\
  • Check if something like int = 2 and conv = 0 is actually a more suitable gain setting
  • Understand the nature of "saturation", why signals over 5V are suitable if the gain is low enough, and what non-linearities arise near saturation
  • Put all of the DAQ software into a JeffersonLab repository and track it adequately
  • (JAPAN?) Develop a similar ramping function but to use a constant DAC value and systematically scan the gain settings to understand the linearity, starting points, and relative significance of Integrator and Conversion gains
  • Learn how to tweak and characterize QWeak ADCs (begin with RHRS QWeak ADCs)
  • Do the LHRS, Injector, and Counting House