Part Number:PGA970EVM
Hello,
I am having difficulty using the compensation algorithm included in the reference firmware (which I really want to use for testing).
I have read SLDU024 several times over and have a faint idea as to how it should be implemented.
However, it seems to me that the FIR filter that was defined in pga970_fir.c is not used anywhere in the application.
The whole thing is very confusing, since a FIR filter is defined, yet how it's use factors into the Temperature Compensation algorithm is not straight-forward.
Is the FIR just for low-pass filtering of the temperature signal from ADC3? Or should the both the TADC and PADC signals be filtered through it? If so, where are the coefficients that should be applied to both TADC and PADC?
Does TADC mean the temperature reading from ADC3?
Does PADC mean the position measurement from either ADC1, ADC2 or a ratio of both?
If diagnostic testing is not being used, will the ping-pong buffer increment? Meaning, will we go from VarJ = 0 up to VarJ=3? Same for VarI?
This reference firmware has been a blessing, but its implementation is very confusing...it's like trying to piece together a jigsaw puzzle to use it...one with missing or very unclear instructions.
Also, can I just bypass the FIR filter and plug the ADC values for DEMOD1 and ADC3 into the compensation algo directly?
If so, what was the purpose of the FIR filter?
On another topic, according to 7.3.1.7, "Internal Temperature Sensor," from SLDS201A describes an algo for calculating the device junction temperature from the voltage reading of ADC3. Does this temperature reading need to be factored into the TC compensation algo, or just the raw ADC3 value, i.e. TADC? Or is TADC = 25+(ADC_CODE_READ - CODE_25C)/GAIN ? Or is this value just for broadcasting over SPI to the main micro in larger application for end user use?
Thanks.