CROSS Technical Documentation User Manual and Technical Doc.
INFN Milano Bicocca
Loading...
Searching...
No Matches
Trimmer.h File Reference
#include <stdint.h>

Go to the source code of this file.

Data Structures

struct  trimmer_type
 
struct  trimmer_CMRR_JFET_COLD_type
 
struct  address_detector_bias_trimmer_type
 Coordinates for the preamplifier and onboard EPROMs. More...
 

Macros

#define preampli_JFET_Offset_trimmer   0
 
#define preampli_fine_offset_trimmer   1
 
#define preampli_coarse_thermal_trimmer   2
 
#define preampli_corse_offset_trimmer   3
 
#define commom_mode_trimmer_ch0   2
 
#define commom_mode_trimmer_ch1   3
 
#define transistor_cold_0   0
 
#define transistor_cold_1   1
 
#define coarse_Trimmer_offset_step   (int)(1e6*(10.0*20.0/40.0/255*5.1/2.7*2))
 
#define fine_Trimmer_offset_step   (int)((10.0*20.0/40.0/255*5.1/470*2)*1e6)
 
#define coarse_Trimmer_thermal_step   (int)((2.4*20.0/40.0/255*5.1/2.7*2)*1e6)
 
#define fine_Trimmer_thermal_step   (int)((2.4*20.0/40.0/255*5.1/470*2)*1e6)
 
#define JFET_Offset_coefficient   (int) (0.1293*1e6) /*in microV. Valore con l'introduzione del partitore che compensa */
 
#define JFET_offset_conversione   (int) (( coarse_Trimmer_offset_step *128) / JFET_Offset_coefficient ) /*Ricordarsi di dividere >> 7*/
 
#define coarse_Trimmer_drift_offset_ratio_by_2e7   (int)((coarse_Trimmer_thermal_step / coarse_Trimmer_offset_step) * 128)
 
#define reference_thermal_drift   (int) (6645*20/40/255*5.1/2.7*2) /*6.645 mV/C is the measured drift of the 4 diodes*/
 
#define I2C_addres_trimmer_bias_ch1   0x2C
 
#define I2C_addres_trimmer_bias_ch0   0x2D
 
#define I2C_addres_trimmer_common_mode_cold   0x2F
 
#define I2C_addres_trimmer_pre_ch0   0x2D
 
#define I2C_addres_trimmer_pre_ch1   0x2F
 
#define massimo_numero_offset_per_impostazione_deriva   24
 
#define massimo_numero_temperature_impostazione_deriva   16
 
#define Trimmer_numero_offset   2
 
#define I2C_address_ch_dispari   0x2E
 I2C address of the detecor trimmers.
 
#define I2C_address_ch_pari   0x2F
 
#define I2C_addres_trimmer_PGA   0x2C
 
#define maschera_solo_bit_di_scrittura_trimmer   0x60
 Mask for command of the trimmer.
 
#define trimmer_CMRR_compensation   0
 Settings for the digital sifgnals of the trimmer that manage the PGA relay.
 
#define trimmer_fine_offset   1
 
#define trimmer_thermal_compensation   2
 
#define trimmer_coarse_offset   3
 
#define trimmer_max_voltage_per_trimmer_calibration   3e6
 

Functions

void detector_scrittura_lettura_trimmer_bias (uint8_t scheda_su_scheda_giu, uint8_t canale, uint8_t trimmer, uint8_t valore, uint8_t scrivi_leggi_1_leggi_0)
 Setting the value of any trimmer for detector biasing, the contents of the trimmers are stored in the matrix contenuto_trimmer_detector[canale][trimmer]

 
void preamplifier_scrittura_lettura_trimmer (uint8_t scheda_su_scheda_giu, uint8_t canale, uint8_t trimmer, uint8_t valore, uint8_t scrivi_leggi_1_leggi_0)
 Setting the value of any trimmer for preamplifier trimmer, the contents of the trimmers are stored in the matrix contenuto_trimmer_preamplifier[canale][trimmer]

 
void instr_offset_trimmer_calibration_function (void)
 The fine and coarse trimmers for offset adjustment are calibrated here

 
void instr_DetBias_trimmer_calibration_function (void)
 The fine and coarse trimmers for Detector bias adjustment are calibrated here

 
void Imposta_wiper_a_meta_scala_canale_0_I2C_A (void)
 
void Imposta_wiper_a_meta_scala_canale_1_I2C_A (void)
 
void Imposta_canale_del_trimmer_ennesimo_al_valore_I2CA (uint8_t numero_canale, uint8_t numero_trimmer, uint8_t valore_dato)
 
void Imposta_wiper_a_meta_scala_canale_0_I2CB (void)
 
void Imposta_wiper_a_meta_scala_canale_1_I2CB (void)
 
void Imposta_canale_del_trimmer_ennesimo_al_valore_I2CB (uint8_t numero_canale, uint8_t numero_trimmer, uint8_t valore_dato)
 
long int Arrotonda (float temp)
 
void Trova_valori_trimmer_per_offset_preamplificatore (long int offset, struct trimmer_type *Valori_per_i_trimmer, int coarse_trimmer_step, int fine_trimmer_step)
 
void Imposta_trimmer_common_mode_I2CB (uint8_t numero_trimmer, uint8_t valore_dato)
 

Variables

int coarse_Trimmer_offset_step_actual []
 
int fine_Trimmer_offset_step_actual []
 
int fine_Trimmer_thermal_step_actual []
 
int coarse_Trimmer_thermal_step_actual []
 
int reference_thermal_drift_actual
 
char numero_offset_per_impostazione_deriva []
 
char numero_temperature_impostazione_deriva []
 
unsigned char coefficiente_termico_trimmer_deriva []
 
signed char valori_offset_per_impostazione_deriva [2][20]
 
unsigned char valori_temperature_impostazione_deriva [2][12]
 
char temperatura_di_lavoro [2]
 
char offset_di_lavoro []
 
struct trimmer_type Trimmer_offset_preampli []
 
struct trimmer_CMRR_JFET_COLD_type Trimmer_CMRR_JFET_COLD
 
uint8_t contenuto_trimmer_detector [12][4]
 Content of the trimmer for detector bias system.
 
uint8_t volatile contenuto_trimmer_preamplifier [12][4]
 
uint8_t volatile contenuto_trimmer_PGA_a_trimmer [][4]
 
uint8_t volatile attenuatori_PGA_a_trimmer []
 
const struct address_detector_bias_trimmer_type termometro_adrress [6]
 Thermometer selection structure.
 
const struct address_detector_bias_trimmer_type EPROM_address []
 This is the structure from which the I2C addressess and the I2C of the preamplifier and frontend board are located.
 
const struct address_detector_bias_trimmer_type address_detector_bias_trimmer []
 Detector trimmer addresses.
 
const struct address_detector_bias_trimmer_type address_preamplifier_trimmer []
 Preamplifier trimmer addresses

 
const struct address_detector_bias_trimmer_type address_PGA_a_trimmer []
 Preamplifier trimmer addresses