Part Number: ADC32RF45
In order to suppress spurs at certain frequencies, we use the offset corrector like the following way:
1) Make sure no signal on inputs.
2) Enable offset corrector and wait for sometime to collect enough data for estimation
3) Freeze corrector
4) Now ADC can receive signal without spurs.
Instead of doing this procedure every time, we would like to make the calibration at factory and store the coefficients. In that case, we will be able to calibrate the ADC by only loading related coefficients without any extra calibration step (with no signal on input). Otherwise, while using the ADC in the field, at least for every startup, we need to apply a calibration procedure with no signal.
Is it possible to load/store offset coefficients?
We are glad that we were able to resolve this issue, and will now proceed to close this thread.
If you have further questions related to this thread, you may click "Ask a related question" below. The newly created question will be automatically linked to this question.
In reply to Jim Brinkhurst84999:
In reply to Vijayendra Varma Siddamsetty:
Thanks for the update. It's been a while and no answer, so we played around with the registers and reverse engineered some of the registers in page 0x61. We guess that registers at 0x08, 0x09, 0x10, 0x11, 0x0c and 0x0d may be related to DC offset settings. Of course without your procedure definition it's not easy to finalize, waiting for your update..
In reply to Ozer Ozaydin18:
Please find the procedure below:
1) Power up and run complete device configuration exactly as it will be used in the field.
2) Wait for a few seconds for temperature to settle. (It is important for the temperature to be same as it will in the field for better correction performance)
3) Turn off input signal to the device.
4) Wait for at least 0.4 ms for the corrector to estimate internal offset.
5) Freeze offset estimation using the writes shown in the table below:
SPI write/ Read
Freeze corrector for channel A
Freeze corrector for channel B
6) Read coefficients as shown in the table below:
Page select for channel A
Save as c1
Coefficient read register 1
Save as c2
Coefficient read register 2
Save as c3
Coefficient read register 3
Save as c4
Coefficient read register 4
Save as c5
Coefficient read register 5
Save as c6
Coefficient read register 6
Save as c7
Coefficient read register 7
Save as c8
Coefficient read register 8
Save as c9
Coefficient read register 9
Save as c10
Coefficient read register 10
Save as c11
Coefficient read register 11
Save as c12
Coefficient read register 12
Save as c13
Coefficient read register 13
Save as c14
Coefficient read register 14
Save as c15
Coefficient read register 15
Save as c16
Coefficient read register 16
Page select for channel B
0x6050 to 0x605F
Save as c17 to c32
Coefficient read registers for channel B
In the Field:
1) Power up and run complete device configuration.
2) Load offset correction coefficients into the device as shown in the table below:
Coefficient write register 1
Coefficient write register 2
Coefficient write register 3
Coefficient write register 4
Coefficient write register 5
Coefficient write register 6
Coefficient write register 7
Coefficient write register 8
Coefficient write register 9
Coefficient write register 10
Coefficient write register 11
Coefficient write register 12
Coefficient write register 13
Coefficient write register 14
Coefficient write register 15
Coefficient write register 16
0x6000 to 0x600F
c17 to c32
Coefficient write registers for channel B
3) Enable loading external offset correction coefficients using the writes shown in the table below:
Enable loading external offset coefficients for channel A
Enable loading external offset coefficients for channel B
Thanks for the info, however it seem that after the ADC is initialized the saved coefficients doesn't work correctly. It is better, but not enough. Please check the averaging spectrum outputs (half of real spectrum) below for each step. ADC is in 14bit real mode, 1.5GSPS sampling rate, 2048 points fft average around 100ms.
1-Initial spectrum after ADC init, notch filter disabled.
2- corrector block enabled, not frozen
3- after corrector frozen
4- save and load coefficients as described. Without ADC re-init, it's OK. We're sure that coefficients are really loaded, we made tests with incorrect coefficients and saw the difference.
5- reinitialize ADC, corrector disabled initially.
6- enable corrector block
7- load previously saved coefficients. as you can see, it's better than without correction, but not acceptable.
We repeated this scenario many times but after ADC reinitialized (soft reset, without poweroff-on, without temperature/environment change) the coefficients seemed to be not working correctly. As mentioned above, if you just save and load coefficients without reinit ADC, it's working fine.
All content and materials on this site are provided "as is". TI and its respective suppliers and providers of content make no representations about the suitability of these materials for any purpose and disclaim all warranties and conditions with regard to these materials, including but not limited to all implied warranties and conditions of merchantability, fitness for a particular purpose, title and non-infringement of any third party intellectual property right. No license, either express or implied, by estoppel or otherwise, is granted by TI. Use of the information on this site may require a license from a third party, or a license from TI.
TI is a global semiconductor design and manufacturing company. Innovate with 100,000+ analog ICs andembedded processors, along with software, tools and the industry’s largest sales/support staff.