61 lines
2.2 KiB
C
61 lines
2.2 KiB
C
#ifndef __D9V2FR_DP2201V5000_h__
|
|
#define __D9V2FR_DP2201V5000_h__
|
|
|
|
//##############################################################################
|
|
#if DP2201_CORE_V5000
|
|
//##############################################################################
|
|
|
|
// CODE = [(VREF-VREFN)*RR/(RA+RR) - (VREF-VREFN)*RB/(RA+RB)]*Gain / VREF*32768 + 32768
|
|
// CODE -32768 = (VREF-VREFN)/VREF*[ RR/(RA+RR) - RB/(RA+RB)]*GAIN / VREF*32768
|
|
// (CODE -32768) * VREF/32768 = (VREF-VREFN)*[ RR/(RA+RR) - RB/(RA+RB)]*GAIN
|
|
// VREF_PER_CODE: VREF/32768
|
|
// (CODE -32768) * VREF_PER_CODE / GAIN = (VREF-VREFN)*[ RR/(RA+RR) - RB/(RA+RB)]
|
|
// VRR_VREF: VREF_PER_CODE/GAIN
|
|
// VRR_VDC:(VREF-VREFN)*RB/(RA+RB)
|
|
// (CODE -32768) * VRR_VREF = (VREF-VREFN)*[ RR/(RA+RR) - RB/(RA+RB)]
|
|
// (CODE -32768) * VRR_VREF + VRR_VDC = (VREF-VREFN)*RR/(RA+RR) // VRR
|
|
|
|
// CODE = [(VREF-VREFN)*RR/(RA+RR) - (VREF-VREFN)*RB/(RA+RB)]*Gain / VREF*32768 + 32768
|
|
// (CODE-32768) = (VREF-VREFN)*[RR/(RA+RR) - RB/(RA+RB)]*GAIN*32768/VREF
|
|
// (CODE-32768)*VREF/[(VREF-VREFN)*GAIN*32768] = RR/(RA+RR) - RB/(RA+RB)
|
|
// VRR_PER_CODE: VREF/[(VREF-VREFN)*GAIN*32768]
|
|
// VRR_RDC: RB/(RA+RB)
|
|
// 1) (CODE-32768)*VRR_PER_CODE
|
|
// 2) 1)+VRR_RDC
|
|
// 3) 1/2)
|
|
// 4) 3)-1
|
|
// 5) RA/4)
|
|
|
|
#define ADC_VREF 2500.0
|
|
|
|
//-----------------------------------------------------------------------------
|
|
#define IRH_RA 33000.0
|
|
#define IRH_RB 2800.0
|
|
#define IRH_VDC (ADC_VREF*IRH_RB/(IRH_RA + IRH_RB))
|
|
#define IRH_ADC_GAIN 16.0
|
|
#define IRH_VREF (VREF_PER_CODE/IRH_ADC_GAIN)
|
|
#define IRH_RC 56.0
|
|
|
|
#define VRH_VREF VREF_PER_CODE
|
|
|
|
void RHCircuitParameterInit(void);
|
|
void CalibrateOffset(void);
|
|
void PreCalibrationParameterWriting(void);
|
|
void LowTemperatureParameterWriting(void);
|
|
void HighTemperatureParameterWriting(void);
|
|
void SaveVHHAndNRHInTempretureMode(void);
|
|
void ComputeRHParameter(void);
|
|
void ComputeRRParameter(void);
|
|
|
|
// for internal modbus
|
|
void InterCurveProcess(void);
|
|
void InterControlProcess(void);
|
|
void InterClearProcess(void);
|
|
|
|
//##############################################################################
|
|
#endif
|
|
//##############################################################################
|
|
|
|
#endif
|
|
|