82 #define MAJOR_REVISION 1
83 #define MINOR_REVISION 0
124 XUartLite_ResetFifos(&Uart);
128 XGpio_Initialize(&
g_xGpioLed, XPAR_LEDS_4BITS_DEVICE_ID);
129 XGpio_SetDataDirection(&
g_xGpioLed, 1, 0x00000000);
144 printf(
"Maxim Carmel (MAXREFDES18#) for the LX9 Board\r\n");
149 uchMOSIBuffer[0]=0x42;
150 uchMOSIBuffer[1]=0x80;
151 uchMOSIBuffer[2]=0x00;
167 printf(
"%c\r\n",uchInput+48);
184 printf(
"%c\r\n",uchInput+48);
202 printf(
"Mode 1: Bipolar current +/-20mA.\r\n");
203 printf(
"IdealIout = 0.5 * (VAIN - 0.5 * VREFIN)/Rsense.\r\n");
204 printf(
"Where Rsense = 42.2OHM for 20%% OVERRANGE, Rsense = 48.7OHM for 5%% OVERRANGE.\r\n");
205 printf(
"VAIN = 4.096V * DAC_CODE/65536.\r\n");
206 printf(
"VREFIN = 4.096V.\r\n");
212 uchMOSIBuffer[0]=0x23;
213 uchMOSIBuffer[1]=0x60;
218 uchMOSIBuffer[0]=0x10 + ((DAC_CODE >> 12) & 0xF);
219 uchMOSIBuffer[1]=(DAC_CODE >> 4) & 0xFF;
220 uchMOSIBuffer[2]=(DAC_CODE << 4) & 0xF0;
229 printf(
"Mode 2: Unipolar current 0 to 20mA.\r\n");
230 printf(
"IdealIout = 0.2625 * (VAIN - 0.05 * VREFIN)/Rsense.\r\n");
231 printf(
"Where Rsense = 42.2OHM for 20%% OVERRANGE, Rsense = 48.7OHM for 5%% OVERRANGE.\r\n");
232 printf(
"VAIN = 4.096V * DAC_CODE/65536.\r\n");
233 printf(
"VREFIN = 4.096V.\r\n");
239 uchMOSIBuffer[0]=0x25;
240 uchMOSIBuffer[1]=0x60;
245 uchMOSIBuffer[0]=0x10 + ((DAC_CODE >> 12) & 0xF);
246 uchMOSIBuffer[1]=(DAC_CODE >> 4) & 0xFF;
247 uchMOSIBuffer[2]=(DAC_CODE << 4) & 0xF0;
256 printf(
"Mode 3: Unipolar current 4 to 20mA.\r\n");
257 printf(
"IdealIout = 0.2625 * (VAIN - 0.05 * VREFIN)/Rsense.\r\n");
258 printf(
"Where Rsense = 42.2OHM for 20%% OVERRANGE, Rsense = 48.7OHM for 5%% OVERRANGE.\r\n");
259 printf(
"VAIN = 4.096V * DAC_CODE/65536.\r\n");
260 printf(
"VREFIN = 4.096V.\r\n");
266 uchMOSIBuffer[0]=0x27;
267 uchMOSIBuffer[1]=0x60;
272 uchMOSIBuffer[0]=0x10 + ((DAC_CODE >> 12) & 0xF);
273 uchMOSIBuffer[1]=(DAC_CODE >> 4) & 0xFF;
274 uchMOSIBuffer[2]=(DAC_CODE << 4) & 0xF0;
287 printf(
"%c\r\n",uchInput+48);
305 printf(
"Mode 5: Bipolar voltage +/-10V.\r\n");
306 printf(
"IdealVout = IdealGain * (VAIN - 0.5 * VREFIN).\r\n");
307 printf(
"Where IdealGain = 6 for 20%% OVERRANGE, IdealGain = 5.25 for 5%% OVERRANGE.\r\n");
308 printf(
"VAIN = 4.096V * DAC_CODE/65536.\r\n");
309 printf(
"VREFIN = 4.096V.\r\n");
315 uchMOSIBuffer[0]=0x2B;
316 uchMOSIBuffer[1]=0x60;
321 uchMOSIBuffer[0]=0x10 + ((DAC_CODE >> 12) & 0xF);
322 uchMOSIBuffer[1]=(DAC_CODE >> 4) & 0xFF;
323 uchMOSIBuffer[2]=(DAC_CODE << 4) & 0xF0;
333 printf(
"Mode 6: Unipolar voltage 0 to 10V.\r\n");
334 printf(
"IdealVout = IdealGain * (VAIN - 0.05 * VREFIN).\r\n");
335 printf(
"Where IdealGain = 3.125 for 20%% OVERRANGE, IdealGain = 2.75 for 5%% OVERRANGE.\r\n");
336 printf(
"VAIN = 4.096V * DAC_CODE/65536.\r\n");
337 printf(
"VREFIN = 4.096V.\r\n");
343 uchMOSIBuffer[0]=0x2D;
344 uchMOSIBuffer[1]=0x60;
349 uchMOSIBuffer[0]=0x10 + ((DAC_CODE >> 12) & 0xF);
350 uchMOSIBuffer[1]=(DAC_CODE >> 4) & 0xFF;
351 uchMOSIBuffer[2]=(DAC_CODE << 4) & 0xF0;
361 printf(
"Mode 7: Unipolar voltage 0 to 5V.\r\n");
362 printf(
"IdealVout = IdealGain * (VAIN - 0.05 * VREFIN).\r\n");
363 printf(
"Where IdealGain = 1.5625 for 20%% OVERRANGE, IdealGain = 1.375 for 5%% OVERRANGE.\r\n");
364 printf(
"VAIN = 4.096V * DAC_CODE/65536.\r\n");
365 printf(
"VREFIN = 4.096V.\r\n");
371 uchMOSIBuffer[0]=0x2F;
372 uchMOSIBuffer[1]=0x60;
377 uchMOSIBuffer[0]=0x10 + ((DAC_CODE >> 12) & 0xF);
378 uchMOSIBuffer[1]=(DAC_CODE >> 4) & 0xFF;
379 uchMOSIBuffer[2]=(DAC_CODE << 4) & 0xF0;