LTC1859CG Evaluation board with an Arduino
I’ve been playing with a LTC1859 Evaluation board. Linear supply code for their Linduino platform (which costs a lot) and a cable to connect to it. However the Linduino is really just a standard Arduino with a special connector. I wired up the SPI interface to the board as shown above and it works fine (a couple of the ground connections are not connected above, I needed to connect them all before the board was stable). The code adapted from the Linduino library and their LTC1859 example is in the tarball below:
DC682A.ino can be simplified to the following to give a continuous single channel voltage reading:
#include <Arduino.h>
#include "Linduino.h"
#include "LT_SPI.h"
#include "LT_I2C.h"
#include "LTC1859.h"
#include <SPI.h>
#include <Wire.h>
void setup()
{
uint16_t adc_code;
quikeval_SPI_init(); // Configure the spi port for 4MHz SCK
quikeval_SPI_connect(); // Connect SPI to main data port
Serial.begin(115200); // Initialize the serial port to the PC
}
//! Repeats Linduino loop
void loop()
{
uint16_t user_command;
uint16_t adc_command; // The LTC1859 command byte
uint16_t adc_code = 0; // The LTC1859 code
float adc_voltage;
uint8_t x, y, startcount, endcount;
uint8_t uni_bipolar = LTC1859_BIPOLAR_MODE;
uint8_t single_ended_differential = LTC1859_SINGLE_ENDED_MODE;
uint8_t range_low_high = LTC1859_HIGH_RANGE_MODE;
startcount=0;
endcount=0;
float LTC1859_vref = 10;
adc_command = LTC1859_CH0 | uni_bipolar | range_low_high;
LTC1859_read(LTC1859_CS, adc_command, &adc_code); // Throws out last reading and starts CH0 conversion
adc_command = LTC1859_CH0 | uni_bipolar | range_low_high; // Send channel config for the NEXT conversion to take place
LTC1859_read(LTC1859_CS, adc_command, &adc_code); // Read previous channel conversion (x-1) and start next one (x)
LTC1859_read(LTC1859_CS, adc_command, &adc_code); // Read previous channel conversion (x-1) and start next one (x)
adc_voltage = LTC1859_code_to_voltage(adc_code, LTC1859_vref, range_low_high, uni_bipolar);
//Serial.println(adc_code, BIN);
Serial.print(adc_voltage, 4);
Serial.println();
}
