Skip to content
Snippets Groups Projects
Commit 2d027583 authored by Marko Mecina's avatar Marko Mecina
Browse files

add FEE FM calibrations

parent b7903381
No related branches found
No related tags found
No related merge requests found
......@@ -12,13 +12,14 @@ import scipy as sp
T_ZERO = 273.15
# common ADC coefficients
ADC_INPRNG = 7.34783 # V
ADC_OFFSET = -1.69565 # V
# EQM (?)
# ADC_INPRNG = 7.34783 # V
# ADC_OFFSET = -1.69565 # V
# PFM
# # nom
# ADC_INPRNG = 7.58261 # V
# ADC_OFFSET = -1.76956 # V
ADC_INPRNG = 7.58261 # V
ADC_OFFSET = -1.76956 # V
# # red
# ADC_INPRNG = 7.54783 # V
# ADC_OFFSET = -1.77391 # V
......@@ -60,15 +61,16 @@ class Temp:
# Signal specific coefficients
class V_T0:
CCD = 2.5650
TEMP1 = 2.5770
FEE = 1.2800
# EQM
# CCD = 2.5650
# TEMP1 = 2.5770
# FEE = 1.2800
# PFM
# # nom
# CCD = 2.5688
# TEMP1 = 2.5599
# FEE = 1.2749
CCD = 2.5688
TEMP1 = 2.5599
FEE = 1.2749
# # red
# CCD = 2.5547
# TEMP1 = 2.5649
......@@ -83,63 +85,64 @@ class K_T:
# interpolation table for nominal operation CCD temperature
# (degC, ADC_V, ADU_dec, ADU_hex)
CCD_TEMP_TABLE = [
(-140.0, 1.125, 6288, 0x1890),
(-135.0, 1.178, 6407, 0x1906),
(-130.0, 1.231, 6524, 0x197C),
(-125.0, 1.283, 6642, 0x19F1),
(-120.0, 1.336, 6759, 0x1A66),
(-115.0, 1.388, 6876, 0x1ADB),
(-110.0, 1.440, 6992, 0x1B50),
(-105.0, 1.493, 7109, 0x1BC4),
(-100.0, 1.545, 7225, 0x1C38),
(-95.0, 1.596, 7340, 0x1CAC),
(-90.0, 1.648, 7456, 0x1D1F),
(-85.0, 1.700, 7571, 0x1D92),
(-80.0, 1.751, 7686, 0x1E05),
(-75.0, 1.803, 7800, 0x1E78),
(-70.0, 1.854, 7915, 0x1EEA),
(-65.0, 1.905, 8029, 0x1F5D),
(-60.0, 1.957, 8143, 0x1FCF),
(-55.0, 2.008, 8257, 0x2040),
(-50.0, 2.059, 8371, 0x20B2),
(-45.0, 2.109, 8484, 0x2123),
(-40.0, 2.160, 8597, 0x2195),
(-35.0, 2.211, 8710, 0x2206),
(-30.0, 2.261, 8823, 0x2276),
(-25.0, 2.312, 8936, 0x22E7),
(-20.0, 2.362, 9048, 0x2358)
]
# EQM
# CCD_TEMP_TABLE = [
# (-140.0, 1.125, 6288, 0x1890),
# (-135.0, 1.178, 6407, 0x1906),
# (-130.0, 1.231, 6524, 0x197C),
# (-125.0, 1.283, 6642, 0x19F1),
# (-120.0, 1.336, 6759, 0x1A66),
# (-115.0, 1.388, 6876, 0x1ADB),
# (-110.0, 1.440, 6992, 0x1B50),
# (-105.0, 1.493, 7109, 0x1BC4),
# (-100.0, 1.545, 7225, 0x1C38),
# (-95.0, 1.596, 7340, 0x1CAC),
# (-90.0, 1.648, 7456, 0x1D1F),
# (-85.0, 1.700, 7571, 0x1D92),
# (-80.0, 1.751, 7686, 0x1E05),
# (-75.0, 1.803, 7800, 0x1E78),
# (-70.0, 1.854, 7915, 0x1EEA),
# (-65.0, 1.905, 8029, 0x1F5D),
# (-60.0, 1.957, 8143, 0x1FCF),
# (-55.0, 2.008, 8257, 0x2040),
# (-50.0, 2.059, 8371, 0x20B2),
# (-45.0, 2.109, 8484, 0x2123),
# (-40.0, 2.160, 8597, 0x2195),
# (-35.0, 2.211, 8710, 0x2206),
# (-30.0, 2.261, 8823, 0x2276),
# (-25.0, 2.312, 8936, 0x22E7),
# (-20.0, 2.362, 9048, 0x2358)
# ]
# PFM
# # nom
# CCD_TEMP_TABLE = [
# (-140.0, 1.123, 6250, 0x186A),
# (-135.0, 1.176, 6364, 0x18DC),
# (-130.0, 1.229, 6478, 0x194E),
# (-125.0, 1.281, 6592, 0x19C0),
# (-120.0, 1.334, 6705, 0x1A31),
# (-115.0, 1.386, 6818, 0x1AA2),
# (-110.0, 1.438, 6931, 0x1B13),
# (-105.0, 1.491, 7044, 0x1B84),
# (-100.0, 1.542, 7156, 0x1BF4),
# (-95.0, 1.594, 7268, 0x1C64),
# (-90.0, 1.646, 7380, 0x1CD4),
# (-85.0, 1.698, 7491, 0x1D43),
# (-80.0, 1.749, 7602, 0x1DB2),
# (-75.0, 1.800, 7713, 0x1E21),
# (-70.0, 1.852, 7824, 0x1E90),
# (-65.0, 1.903, 7935, 0x1EFF),
# (-60.0, 1.954, 8045, 0x1F6D),
# (-55.0, 2.005, 8155, 0x1FDB),
# (-50.0, 2.056, 8265, 0x2049),
# (-45.0, 2.107, 8375, 0x20B7),
# (-40.0, 2.157, 8484, 0x2124),
# (-35.0, 2.208, 8594, 0x2192),
# (-30.0, 2.258, 8703, 0x21FF),
# (-25.0, 2.309, 8812, 0x226C),
# (-20.0, 2.359, 8921, 0x22D9)
# ]
CCD_TEMP_TABLE = [
(-140.0, 1.123, 6250, 0x186A),
(-135.0, 1.176, 6364, 0x18DC),
(-130.0, 1.229, 6478, 0x194E),
(-125.0, 1.281, 6592, 0x19C0),
(-120.0, 1.334, 6705, 0x1A31),
(-115.0, 1.386, 6818, 0x1AA2),
(-110.0, 1.438, 6931, 0x1B13),
(-105.0, 1.491, 7044, 0x1B84),
(-100.0, 1.542, 7156, 0x1BF4),
(-95.0, 1.594, 7268, 0x1C64),
(-90.0, 1.646, 7380, 0x1CD4),
(-85.0, 1.698, 7491, 0x1D43),
(-80.0, 1.749, 7602, 0x1DB2),
(-75.0, 1.800, 7713, 0x1E21),
(-70.0, 1.852, 7824, 0x1E90),
(-65.0, 1.903, 7935, 0x1EFF),
(-60.0, 1.954, 8045, 0x1F6D),
(-55.0, 2.005, 8155, 0x1FDB),
(-50.0, 2.056, 8265, 0x2049),
(-45.0, 2.107, 8375, 0x20B7),
(-40.0, 2.157, 8484, 0x2124),
(-35.0, 2.208, 8594, 0x2192),
(-30.0, 2.258, 8703, 0x21FF),
(-25.0, 2.309, 8812, 0x226C),
(-20.0, 2.359, 8921, 0x22D9)
]
#
# # red
# CCD_TEMP_TABLE = [
......@@ -173,21 +176,7 @@ CCD_TEMP_TABLE = [
# interpolation table for PSU temperature
# (degC, ADC_V, ADU_dec, ADU_hex)
PSU_TEMP = [
(-50.0, 3.237, 10998, 0x2AF6),
(-40.0, 3.187, 10887, 0x2A86),
(-20.0, 2.960, 10380, 0x288C),
(0.0, 2.487, 9326, 0x246D),
(20.0, 1.816, 7830, 0x1E95),
(25.0, 1.643, 7444, 0x1D13),
(40.0, 1.169, 6387, 0x18F3),
(60.0, 0.703, 5348, 0x14E4),
(80.0, 0.417, 4710, 0x1266),
(90.0, 0.323, 4501, 0x1194),
(100.0, 0.252, 4343, 0x10F6)
]
# PFM
# EQM
# PSU_TEMP = [
# (-50.0, 3.237, 10998, 0x2AF6),
# (-40.0, 3.187, 10887, 0x2A86),
......@@ -202,6 +191,21 @@ PSU_TEMP = [
# (100.0, 0.252, 4343, 0x10F6)
# ]
# PFM
PSU_TEMP = [
(-50.0, 3.237, 10998, 0x2AF6),
(-40.0, 3.187, 10887, 0x2A86),
(-20.0, 2.960, 10380, 0x288C),
(0.0, 2.487, 9326, 0x246D),
(20.0, 1.816, 7830, 0x1E95),
(25.0, 1.643, 7444, 0x1D13),
(40.0, 1.169, 6387, 0x18F3),
(60.0, 0.703, 5348, 0x14E4),
(80.0, 0.417, 4710, 0x1266),
(90.0, 0.323, 4501, 0x1194),
(100.0, 0.252, 4343, 0x10F6)
]
class Psu:
......@@ -214,23 +218,24 @@ class Psu:
ADC_I_HEATER = "HK_ADC_I_HEATER"
K_PSU = {
Psu.ADC_I_FEE_ANA: 0.3058,
Psu.ADC_I_FEE_DIG: 0.1528,
Psu.ADC_I_DPU: 0.4913,
Psu.ADC_I_RSE: 0.844,
Psu.ADC_I_HEATER: 0.4349
}
# PFM
# EQM
# K_PSU = {
# Psu.ADC_I_FEE_ANA: 0.3058,
# Psu.ADC_I_FEE_DIG: 0.1528,
# Psu.ADC_I_DPU: 0.603,
# Psu.ADC_I_DPU: 0.4913,
# Psu.ADC_I_RSE: 0.844,
# Psu.ADC_I_HEATER: 0.4349
# }
# PFM
K_PSU = {
Psu.ADC_I_FEE_ANA: 0.3058,
Psu.ADC_I_FEE_DIG: 0.1528,
Psu.ADC_I_DPU: 0.603,
Psu.ADC_I_RSE: 0.844,
Psu.ADC_I_HEATER: 0.4349
}
PSU_OFFSET = {
Psu.ADC_I_FEE_ANA: 0,
Psu.ADC_I_FEE_DIG: 0,
......@@ -742,7 +747,16 @@ class Fee:
# FEE HK gains/offsets
# EQM
# EQM ???
# Fee.CCD2_TS_A: (0.0143896, 507.7463659),
# Fee.CCD4_TS_B: (0.0143869, 508.0853237),
# Fee.PRT1: (0.013942679, 511.4689646),
# Fee.PRT2: (0.014066366, 520.9910997),
# Fee.PRT3: (0.014075819, 520.1841103),
# Fee.PRT4: (0.013816741, 535.4382444),
# Fee.PRT5: (0.014074936, 520.4885901),
#
# Fee.CCD2_TS_A: (0.048589970854, 326.709603726099),
# Fee.CCD4_TS_B: (0.048346071846, 317.545999899085),
# Fee.PRT1: (0.049337666752, 310.304954966437),
......@@ -751,6 +765,7 @@ class Fee:
# Fee.PRT4: (0.048777132761, 322.321990156487),
# Fee.PRT5: (0.048683458078, 323.746239172483),
# EQM
FEE_GAIN_OFFSET = {
Fee.CCD2_TS_A: (0.0143896, 507.7463659),
Fee.CCD4_TS_B: (0.0143869, 508.0853237),
......@@ -793,6 +808,50 @@ FEE_GAIN_OFFSET = {
Fee.CCD2_VOD_MON_F: (0.000562860544, -0.00642286504851342)
}
# FM
# FEE_GAIN_OFFSET = {
# Fee.CCD2_TS_A: (0.014369244000, 372.541803600000),
# Fee.CCD4_TS_B: (0.014373897000, 372.828009000000),
# Fee.PRT1: (0.014371437000, 372.685351900000),
# Fee.PRT2: (0.014371437000, 372.685351900000),
# Fee.PRT3: (0.014371437000, 372.685351900000),
# Fee.PRT4: (0.014371437000, 372.685351900000),
# Fee.PRT5: (0.014371437000, 372.685351900000),
# Fee.CCD4_VOD_MON_E: (0.000562370000, 0.010150918000),
# Fee.CCD4_VOG_MON: (0.000132526000, 0.000030609000),
# Fee.CCD4_VRD_MON_E: (0.000562986000, 0.011770430000),
# Fee.CCD2_VOD_MON_E: (0.000562758000, -0.000015833000),
# Fee.CCD2_VOG_MON: (0.000132538000, -0.000518162000),
# Fee.CCD2_VRD_MON_E: (0.000562977000, 0.009355482000),
# Fee.CCD4_VRD_MON_F: (0.000562755000, 0.014634286000),
# Fee.CCD4_VDD_MON: (0.000878920000, 0.000000000000),
# Fee.CCD4_VGD_MON: (0.000562959000, 0.012800967000),
# Fee.CCD2_VRD_MON_F: (0.000562992000, 0.012512884000),
# Fee.CCD2_VDD_MON: (0.000802557000, 0.000000000000),
# Fee.CCD2_VGD_MON: (0.000563277000, 0.006843414000),
# Fee.VCCD: (0.000755650000, 0.000000000000),
# Fee.VRCLK_MON: (0.000360278000, 0.000000000000),
# Fee.VICLK: (0.000360286000, 0.000000000000),
# Fee.CCD4_VOD_MON_F: (0.000562421000, 0.011387822000),
# Fee.P5VB_POS_MON: (0.000092222000, 0.000000000000),
# Fee.P5VB_NEG_MON: (-0.000125804000, 0.000000000000),
# Fee.P3V3B_MON: (0.000062651000, 0.000000000000),
# Fee.P2V5A_MON: (0.000062656000, 0.000000000000),
# Fee.P3V3D_MON: (0.000062654000, 0.000000000000),
# Fee.P2V5D_MON: (0.000062658000, 0.000000000000),
# Fee.P1V2D_MON: (0.000031315000, 0.000000000000),
# Fee.P5VREF_MON: (0.000097241000, 0.000000000000),
# Fee.VCCD_POS_RAW: (0.000756621000, 0.000000000000),
# Fee.VCLK_POS_RAW: (0.000360158000, 0.000000000000),
# Fee.VAN1_POS_RAW: (0.000163416000, 0.000000000000),
# Fee.VAN3_NEG_MON: (-0.000208731000, 0.000000000000),
# Fee.VAN2_POS_RAW: (0.000163228000, 0.000000000000),
# Fee.VDIG_RAW: (0.000097252000, 0.000000000000),
# Fee.IG_HI_MON: (0.000187565000, 0.000000000000),
# Fee.CCD2_VOD_MON_F: (0.000563010000, 0.006615808000)
# }
FEE_CCD2TsA_gain, FEE_CCD2TsA_offset = FEE_GAIN_OFFSET[Fee.CCD2_TS_A]
FEE_CCD4TsB_gain, FEE_CCD4TsB_offset = FEE_GAIN_OFFSET[Fee.CCD4_TS_B]
......@@ -983,6 +1042,6 @@ if __name__ == '__main__':
import matplotlib.pyplot as plt
ct = CalibrationTables()
ct._plot(Temp.ADC_TEMP_CCD)
ct._plot(Temp.ADC_PSU_TEMP)
# ct.write_to_files('/home/marko/space/CCS/calibrations')
lmt = LimitTables()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment