Both sides previous revisionPrevious revisionNext revision | Previous revision |
university:tools:m2k:libm2k:calibration [22 Oct 2020 15:23] – [Standard calibration] Adrian Suciu | university:tools:m2k:libm2k:calibration [04 May 2021 07:41] (current) – add temp file max size Alexandra Trifan |
---|
===== Temperature calibration ===== | ===== Temperature calibration ===== |
<note important>Only available from firmware version [[https://github.com/analogdevicesinc/m2k-fw/releases/tag/v0.26|v0.26]]</note> | <note important>Only available from firmware version [[https://github.com/analogdevicesinc/m2k-fw/releases/tag/v0.26|v0.26]]</note> |
This calibration procedure is based on predefined calibration values saved inside the context. The values are grouped by temperature. | Libm2k offers a way to use prerecorded calibration values that are stored in a context attribute. Using this approach, there is no need to disconnect the analog inputs/outputs at every run because the calibration parameters are stored on the device. |
| Since calibration values are dependent on temperature, a script will record the values at different temperatures and eventually create a file that is compatible with libm2k and the context attribute format. |
| |
==== Generating the file ==== | ==== Generating the file ==== |
A calibration file is a file used at boot time to write inside the context predefined values for the calibration process. The values will be stored until they will be overwritten. | The calibration values are written to the context attribute from a file on the ADALM2000 partition. The values will be stored on the device until they are overwritten. |
| |
| <note important> There is a known limitation: The maximum temperature file size is 4 kb. This will change in a future release. </note> |
| |
This file must be called 'm2k-calib-temp-lut.ini' and it should contain only a row having the following format: | This file must be called 'm2k-calib-temp-lut.ini' and it should contain only a row having the following format: |
| |
Example of file: | Example of file: |
| |
cal,temp_lut=49.0,3038,2056,0.769531,1.07428,474,2026,0.597656,0.68335,49.2,3038,2056,0.769531,1.07428,474,2026,0.597656,0.68335,49.4,3038,2057,0.769531,1.073547,474,2024,0.597656,0.683777,49.6,3038,2057,0.769531,1.073547,474,2024,0.597656,0.683777 | cal,temp_lut=49.0,3038,2056,0.769531,1.07428,474,2026,0.597656,0.68335,49.2,3038,2056,0.769531,1.07428,474,2026,0.597656,0.68335,49.4,3038,2057,0.769531,1.073547,474,2024,0.597656,0.683777,49.6,3038,2057,0.769531,1.073547,474,2024,0.597656,0.683777 |
| |
**<fc #ff0000>The values differ from board to board.</fc>** | **<fc #ff0000>The values differ from board to board.</fc>** |
| |
The file can be generated by using the following [[https://github.com/analogdevicesinc/libm2k/tree/master/bindings/python/calibration/generate_temperature_calib_lut.py | script]]. For better result, please consider exposing ADALM2000 to variable temperature conditions, while the file is generated, in order to cover a wider values spectrum. | The file can be generated by using the following [[https://github.com/analogdevicesinc/libm2k/tree/master/bindings/python/calibration/generate_temperature_calib_lut.py | script]]. For better result, please consider exposing ADALM2000 to wider temperature variations, while the file is generated - will generate calibration values for more diverse points. |
| |
=== synopsis === | === synopsis === |
| |
==== Calibrating using the ini file ==== | ==== Calibrating using the ini file ==== |
The purpose of this calibration type is to automate and to make the calibration process more efficient. Please make sure to have the following minimum requirements: | The purpose of this calibration type is to automate and to make the calibration process faster. Please make sure to have the following minimum requirements: |
* A valid calibration file. The file can be generated using the script mentioned above. | * A valid calibration file. The file can be generated using the script mentioned above. |
* Firmware v0.26 on your board | * Firmware v0.26 on your board |