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 ...@@ -12,13 +12,14 @@ import scipy as sp
T_ZERO = 273.15 T_ZERO = 273.15
# common ADC coefficients # common ADC coefficients
ADC_INPRNG = 7.34783 # V # EQM (?)
ADC_OFFSET = -1.69565 # V # ADC_INPRNG = 7.34783 # V
# ADC_OFFSET = -1.69565 # V
# PFM # PFM
# # nom # # nom
# ADC_INPRNG = 7.58261 # V ADC_INPRNG = 7.58261 # V
# ADC_OFFSET = -1.76956 # V ADC_OFFSET = -1.76956 # V
# # red # # red
# ADC_INPRNG = 7.54783 # V # ADC_INPRNG = 7.54783 # V
# ADC_OFFSET = -1.77391 # V # ADC_OFFSET = -1.77391 # V
...@@ -60,15 +61,16 @@ class Temp: ...@@ -60,15 +61,16 @@ class Temp:
# Signal specific coefficients # Signal specific coefficients
class V_T0: class V_T0:
CCD = 2.5650 # EQM
TEMP1 = 2.5770 # CCD = 2.5650
FEE = 1.2800 # TEMP1 = 2.5770
# FEE = 1.2800
# PFM # PFM
# # nom # # nom
# CCD = 2.5688 CCD = 2.5688
# TEMP1 = 2.5599 TEMP1 = 2.5599
# FEE = 1.2749 FEE = 1.2749
# # red # # red
# CCD = 2.5547 # CCD = 2.5547
# TEMP1 = 2.5649 # TEMP1 = 2.5649
...@@ -83,63 +85,64 @@ class K_T: ...@@ -83,63 +85,64 @@ class K_T:
# interpolation table for nominal operation CCD temperature # interpolation table for nominal operation CCD temperature
# (degC, ADC_V, ADU_dec, ADU_hex) # (degC, ADC_V, ADU_dec, ADU_hex)
CCD_TEMP_TABLE = [ # EQM
(-140.0, 1.125, 6288, 0x1890), # CCD_TEMP_TABLE = [
(-135.0, 1.178, 6407, 0x1906), # (-140.0, 1.125, 6288, 0x1890),
(-130.0, 1.231, 6524, 0x197C), # (-135.0, 1.178, 6407, 0x1906),
(-125.0, 1.283, 6642, 0x19F1), # (-130.0, 1.231, 6524, 0x197C),
(-120.0, 1.336, 6759, 0x1A66), # (-125.0, 1.283, 6642, 0x19F1),
(-115.0, 1.388, 6876, 0x1ADB), # (-120.0, 1.336, 6759, 0x1A66),
(-110.0, 1.440, 6992, 0x1B50), # (-115.0, 1.388, 6876, 0x1ADB),
(-105.0, 1.493, 7109, 0x1BC4), # (-110.0, 1.440, 6992, 0x1B50),
(-100.0, 1.545, 7225, 0x1C38), # (-105.0, 1.493, 7109, 0x1BC4),
(-95.0, 1.596, 7340, 0x1CAC), # (-100.0, 1.545, 7225, 0x1C38),
(-90.0, 1.648, 7456, 0x1D1F), # (-95.0, 1.596, 7340, 0x1CAC),
(-85.0, 1.700, 7571, 0x1D92), # (-90.0, 1.648, 7456, 0x1D1F),
(-80.0, 1.751, 7686, 0x1E05), # (-85.0, 1.700, 7571, 0x1D92),
(-75.0, 1.803, 7800, 0x1E78), # (-80.0, 1.751, 7686, 0x1E05),
(-70.0, 1.854, 7915, 0x1EEA), # (-75.0, 1.803, 7800, 0x1E78),
(-65.0, 1.905, 8029, 0x1F5D), # (-70.0, 1.854, 7915, 0x1EEA),
(-60.0, 1.957, 8143, 0x1FCF), # (-65.0, 1.905, 8029, 0x1F5D),
(-55.0, 2.008, 8257, 0x2040), # (-60.0, 1.957, 8143, 0x1FCF),
(-50.0, 2.059, 8371, 0x20B2), # (-55.0, 2.008, 8257, 0x2040),
(-45.0, 2.109, 8484, 0x2123), # (-50.0, 2.059, 8371, 0x20B2),
(-40.0, 2.160, 8597, 0x2195), # (-45.0, 2.109, 8484, 0x2123),
(-35.0, 2.211, 8710, 0x2206), # (-40.0, 2.160, 8597, 0x2195),
(-30.0, 2.261, 8823, 0x2276), # (-35.0, 2.211, 8710, 0x2206),
(-25.0, 2.312, 8936, 0x22E7), # (-30.0, 2.261, 8823, 0x2276),
(-20.0, 2.362, 9048, 0x2358) # (-25.0, 2.312, 8936, 0x22E7),
] # (-20.0, 2.362, 9048, 0x2358)
# ]
# PFM # PFM
# # nom # # nom
# CCD_TEMP_TABLE = [ CCD_TEMP_TABLE = [
# (-140.0, 1.123, 6250, 0x186A), (-140.0, 1.123, 6250, 0x186A),
# (-135.0, 1.176, 6364, 0x18DC), (-135.0, 1.176, 6364, 0x18DC),
# (-130.0, 1.229, 6478, 0x194E), (-130.0, 1.229, 6478, 0x194E),
# (-125.0, 1.281, 6592, 0x19C0), (-125.0, 1.281, 6592, 0x19C0),
# (-120.0, 1.334, 6705, 0x1A31), (-120.0, 1.334, 6705, 0x1A31),
# (-115.0, 1.386, 6818, 0x1AA2), (-115.0, 1.386, 6818, 0x1AA2),
# (-110.0, 1.438, 6931, 0x1B13), (-110.0, 1.438, 6931, 0x1B13),
# (-105.0, 1.491, 7044, 0x1B84), (-105.0, 1.491, 7044, 0x1B84),
# (-100.0, 1.542, 7156, 0x1BF4), (-100.0, 1.542, 7156, 0x1BF4),
# (-95.0, 1.594, 7268, 0x1C64), (-95.0, 1.594, 7268, 0x1C64),
# (-90.0, 1.646, 7380, 0x1CD4), (-90.0, 1.646, 7380, 0x1CD4),
# (-85.0, 1.698, 7491, 0x1D43), (-85.0, 1.698, 7491, 0x1D43),
# (-80.0, 1.749, 7602, 0x1DB2), (-80.0, 1.749, 7602, 0x1DB2),
# (-75.0, 1.800, 7713, 0x1E21), (-75.0, 1.800, 7713, 0x1E21),
# (-70.0, 1.852, 7824, 0x1E90), (-70.0, 1.852, 7824, 0x1E90),
# (-65.0, 1.903, 7935, 0x1EFF), (-65.0, 1.903, 7935, 0x1EFF),
# (-60.0, 1.954, 8045, 0x1F6D), (-60.0, 1.954, 8045, 0x1F6D),
# (-55.0, 2.005, 8155, 0x1FDB), (-55.0, 2.005, 8155, 0x1FDB),
# (-50.0, 2.056, 8265, 0x2049), (-50.0, 2.056, 8265, 0x2049),
# (-45.0, 2.107, 8375, 0x20B7), (-45.0, 2.107, 8375, 0x20B7),
# (-40.0, 2.157, 8484, 0x2124), (-40.0, 2.157, 8484, 0x2124),
# (-35.0, 2.208, 8594, 0x2192), (-35.0, 2.208, 8594, 0x2192),
# (-30.0, 2.258, 8703, 0x21FF), (-30.0, 2.258, 8703, 0x21FF),
# (-25.0, 2.309, 8812, 0x226C), (-25.0, 2.309, 8812, 0x226C),
# (-20.0, 2.359, 8921, 0x22D9) (-20.0, 2.359, 8921, 0x22D9)
# ] ]
# #
# # red # # red
# CCD_TEMP_TABLE = [ # CCD_TEMP_TABLE = [
...@@ -173,21 +176,7 @@ CCD_TEMP_TABLE = [ ...@@ -173,21 +176,7 @@ CCD_TEMP_TABLE = [
# interpolation table for PSU temperature # interpolation table for PSU temperature
# (degC, ADC_V, ADU_dec, ADU_hex) # (degC, ADC_V, ADU_dec, ADU_hex)
PSU_TEMP = [ # EQM
(-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
# PSU_TEMP = [ # PSU_TEMP = [
# (-50.0, 3.237, 10998, 0x2AF6), # (-50.0, 3.237, 10998, 0x2AF6),
# (-40.0, 3.187, 10887, 0x2A86), # (-40.0, 3.187, 10887, 0x2A86),
...@@ -202,6 +191,21 @@ PSU_TEMP = [ ...@@ -202,6 +191,21 @@ PSU_TEMP = [
# (100.0, 0.252, 4343, 0x10F6) # (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: class Psu:
...@@ -214,23 +218,24 @@ class Psu: ...@@ -214,23 +218,24 @@ class Psu:
ADC_I_HEATER = "HK_ADC_I_HEATER" ADC_I_HEATER = "HK_ADC_I_HEATER"
K_PSU = { # EQM
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
# K_PSU = { # K_PSU = {
# Psu.ADC_I_FEE_ANA: 0.3058, # Psu.ADC_I_FEE_ANA: 0.3058,
# Psu.ADC_I_FEE_DIG: 0.1528, # 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_RSE: 0.844,
# Psu.ADC_I_HEATER: 0.4349 # 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_OFFSET = {
Psu.ADC_I_FEE_ANA: 0, Psu.ADC_I_FEE_ANA: 0,
Psu.ADC_I_FEE_DIG: 0, Psu.ADC_I_FEE_DIG: 0,
...@@ -742,7 +747,16 @@ class Fee: ...@@ -742,7 +747,16 @@ class Fee:
# FEE HK gains/offsets # 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.CCD2_TS_A: (0.048589970854, 326.709603726099),
# Fee.CCD4_TS_B: (0.048346071846, 317.545999899085), # Fee.CCD4_TS_B: (0.048346071846, 317.545999899085),
# Fee.PRT1: (0.049337666752, 310.304954966437), # Fee.PRT1: (0.049337666752, 310.304954966437),
...@@ -751,6 +765,7 @@ class Fee: ...@@ -751,6 +765,7 @@ class Fee:
# Fee.PRT4: (0.048777132761, 322.321990156487), # Fee.PRT4: (0.048777132761, 322.321990156487),
# Fee.PRT5: (0.048683458078, 323.746239172483), # Fee.PRT5: (0.048683458078, 323.746239172483),
# EQM
FEE_GAIN_OFFSET = { FEE_GAIN_OFFSET = {
Fee.CCD2_TS_A: (0.0143896, 507.7463659), Fee.CCD2_TS_A: (0.0143896, 507.7463659),
Fee.CCD4_TS_B: (0.0143869, 508.0853237), Fee.CCD4_TS_B: (0.0143869, 508.0853237),
...@@ -793,6 +808,50 @@ FEE_GAIN_OFFSET = { ...@@ -793,6 +808,50 @@ FEE_GAIN_OFFSET = {
Fee.CCD2_VOD_MON_F: (0.000562860544, -0.00642286504851342) 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_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] FEE_CCD4TsB_gain, FEE_CCD4TsB_offset = FEE_GAIN_OFFSET[Fee.CCD4_TS_B]
...@@ -983,6 +1042,6 @@ if __name__ == '__main__': ...@@ -983,6 +1042,6 @@ if __name__ == '__main__':
import matplotlib.pyplot as plt import matplotlib.pyplot as plt
ct = CalibrationTables() ct = CalibrationTables()
ct._plot(Temp.ADC_TEMP_CCD) ct._plot(Temp.ADC_PSU_TEMP)
# ct.write_to_files('/home/marko/space/CCS/calibrations') # ct.write_to_files('/home/marko/space/CCS/calibrations')
lmt = LimitTables() lmt = LimitTables()
0% Loading or .
You are about to add 0 people to the discussion. Proceed with caution.
Please register or to comment