CROSS Technical Documentation User Manual and Technical Doc.
INFN Milano Bicocca
Loading...
Searching...
No Matches
Detector_Bias.c File Reference
#include "tutti_gli_header.h"

Go to the source code of this file.

Macros

#define det_slope_default_coarse   (int32_t) -264000
 
#define det_slope_default_fine   (int32_t) 3000
 
#define offset_adjusted_at_the_pre_bias_set   0 /*Byte_1*/
 
#define bias_adjustement_start_from_half_scale   1 /*Byte_1*/
 

Functions

void instr_detector_Vbias_we_want_to_set_function (void)
 

 
void instr_Vbias_to_be_set_function (void)
 The detector bias will be set at the value set with the function instr_detector_Vbias_we_want_to_set_function() with which the target values are stored in the vector Detector_bias_target[].
 
static void misura_il_valore_trimmer_detector (EPROM_detector__ *EPROM_detector, uint8_t scheda_su_scheda_giu_, uint8_t canali_da_regolare, uint8_t trimmer_da_scrivere)
 

 
static void Detector_aggiusta_offset_SAR (EPROM_detector__ *EPROM_detector_sar, uint8_t scheda_su_scheda_giu_)
 This function provide the output offset with the fast SAR method: only a few LS bits are left for this.
 
void instr_detector_scrittura_lettura_trimmer_bias_function (void)
 This is an instruction via CAN bus to read/write the detector trimmers. It calls the detector_scrittura_lettura_trimmer_bias(). A copy of the trimmers values is in the array contenuto_trimmer_detector[][].
 
void instr_Relays_driver_set_reset_channel_function (void)
 Function to set the relais for detector bias.
 
static bool Detector_verifica_Vbias (uint8_t scheda_su_giu, bool si_commuta)
 Function to verify if the Vbias voltage is within the limit to be swtitched.
 
void instruction_Vbias_target (void)
 The detector bias will be set at the value passed from the CAN if, after this setting, it is launched instruction_Detector_bias().
 
void instruction_Detector_bias (void)
 The detector bias is set at the value passed from the CAN.
 
void imposta_il_trimmer_del_bias (int16_t *Valori_per_i_trimmer, long int discrepanza, int trimmer_bias_coarse_step_singolo, int trimmer_bias_fine_step_singolo)
 Trimmer settings for the function instruction_Detector_bias()
 

Variables

volatile uint16_t Detector_attesa_tra_le_misure =10
 
int32_t Detector_error_voltage =10000
 
uint8_t Detector_canali_da_regolare =0
 
uint8_t Detector_externalADC_1_onboardADC_0 =0
 
uint8_t Detector_SAR_1_no_SAR_0 =1
 
uint8_t Detector_fastSAR_1_no_fastSAR_0 =1
 
uint8_t Detector_PGA_settled_gain_old [12]
 
int32_t Detector_misura_fatta_old [12]
 
int32_t Detector_bias_target_negativo [12]
 
const struct Detector_coefficiente_type Detector_large_res_normalizing_factor []
 Large Load resistor, negative side, normalizing factor with repect to the positive resistors.
 
const struct Detector_coefficiente_type Detector_small_res_normalizing_factor []
 Small Load resistor, negative side, normalizing factor with repect to the positive resistors.
 
const struct Detector_coefficiente_type Detector_coarse_trimmer_normalizing_factor []
 Coarse trimmer, negative side, normalizing factor with repect to the positive side.
 
const int32_t Detector_positive_coarse_step_trimmer []
 
const int32_t Detector_positive_fine_step_trimmer []
 
const int32_t Detector_negative_coarse_step_trimmer []
 
const int32_t Detector_negative_fine_step_trimmer []
 
int32_t Detector_bias_target [12]
 Detector bias target values.
 
volatile struct detector_SAR_ini_type Detector_SAR_ini [12]
 
uint8_t detector_Relay_state [12]
 The state of the Detector realis is considerede. Note that this is the wanted working condition. The position of the relays could be unpredictable after a power cut.
 
int Detector_Voltage_Bias [] ={0,0}
 The bias voltage applied to the detectors.
 
struct detector_trimmer_type detector_Trimmer_bias [2]
 
int trimmer_bias_coarse_step_actual [] ={ (float) ((10.0*20.0/22.0/255.0)*(10.0/1.5)* 1e6 ) , (float) ((10.0*20.0/22.0/255.0)*(10.0/1.5)* 1e6 ) }
 
int trimmer_bias_fine_step_actual [] ={ (float) ((10.0*20.0/22.0/255.0)*(10e3/(10e3+1e6))*(10.0+1.5)/1.5*1e6 ) , (float) ((10.0*20.0/22.0/255.0)*(10e3/(10e3+1e6))*(10.0+1.5)/1.5*1e6 ) }