From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
From Friday, April 19th (11:00 PM CDT) through Saturday, April 20th (2:00 PM CDT), 2024, ni.com will undergo system upgrades that may result in temporary service interruption.
We appreciate your patience as we improve our online experience.
03-12-2009 03:07 PM - edited 03-12-2009 03:16 PM
Solved! Go to Solution.
03-17-2009 12:28 PM
I found out everything by myself.
- Yes, self-calibration of NI PCI-6251 is possible with the DDK,
and I have a working implementation for Darwin on said
Intel Dual Core Atom board D945GCLF2
- No, there is no magic routine at the board. Everything has
to be done step by step by software.
1a) use AI_Config_FIFO_Bypass to select the calibration source 5
board->AI_Config_FIFO_Bypass.setAI_Bypass_Config_FIFO(1);
board->AI_Config_FIFO_Bypass.setAI_Bypass_Gain(1);
board->AI_Config_FIFO_Bypass.setAI_Bypass_Cal_Sel_Pos(5);
board->AI_Config_FIFO_Bypass.setAI_Bypass_Cal_Sel_Neg(0);
and pass tMSeries::tAI_Config_FIFO_Data::kAI_Config_Channel_TypeCalibration to aiConfigureChannel()
and set the PWM High/Low_Time (below code sets the PWM-CalDAC to +7.5 V)
board->Cal_PWM.setLow_Time(896);
board->Cal_PWM.setHigh_Time(128);
2a) use AI_Config_FIFO_Bypass to select the calibration source 1 (see code above)
2b) for calibrating the +/- 5 V range, set(Low/High)_Time to 128 / 64 (ca. 3.3 V),
and measure the exact value with the calibrated 10 V range,
then use this exact value as reference for the 5V range
2c) use AI_Config_FIFO_Bypass to select the calibration source 2 (see code above)
BTW: A calibration sweep of the PWM-CalDACs from - 10 to +10 V showed that the characteristics of the ADC at my NI PCI-6251 is almost linear, this was already suggested by the 2nd and 3rd order calibration constants (3.97e-11, 5.89e-15), that I found in the EEPROM of my board. As a matter of fact, the simulated deviation from the ideal straight line is only ±0.6 LSB at a reading of ±FS. Furthermore, a simulation with the calibration constants that I found in the EEPROM do not fit well to the results of said calibration sweep (see the 2 curves that are attached to this message).
Best regards
Dr. Rolf Jansen
10-21-2009 08:38 AM
12-02-2009 04:07 PM
0 (SCXI)
1 (SCXI)
2 correct
3 correct
4 correct
5 correct
6 AI Ground
7 correct
0 (SCXI)
1 (SCXI)
2 correct
3 AI Sense
4 AI Sense2
5 AO Ground
6 AI Ground
7 correct
Joe Friedchicken
NI Configuration Based Software Get with your fellow OS users
[ Linux ] [ macOS ]Principal Software Engineer :: Configuration Based Software
Senior Software Engineer :: Multifunction Instruments Applications Group (until May 2018)
Software Engineer :: Measurements RLP Group (until Mar 2014)
Applications Engineer :: High Speed Product Group (until Sep 2008)
12-02-2009 05:46 PM
Hi Joe,
many thanks for the helpful information. With that I corrected already the calibration module of my program, because I assumed wrong selectors for AI Ground and AO Ground. Although the calibration did not show any significant change, I feel better now by using confirmed selectors.
By the way, I found out the relationship between the voltage reading of the internal Tsensor and the actual temperature in °C. For this I used MAX at a PC and during the warm-up phase of the DAQ-board, I noted down the voltage reading of the Tsensor from the test panel and correlated this to the displayed temperature.
A linear regression resulted almost exactly in:
T(°C) = 100*abs(TsensorVoltage) - 50
Best regards
Rolf
09-28-2012 09:00 AM
i am new to the labVIEW can any one help me how to generate a sequence using PCI6251. for example sequence should be the line should be 1 for 10us, 0 for 20us and 1 for 5us then it should go to zero.