Linduino  1.3.0
Linear Technology Arduino-Compatible Demonstration Board

Linear Technology DC1012A-A Demonstration Board. More...

Detailed Description

Linear Technology DC1012A-A Demonstration Board.

LTC2499: 24-Bit, 16-Channel Delta Sigma ADCs with Easy Drive Input Current Cancellation

NOTES
  Setup:
   Set the terminal baud rate to 115200 and select the newline terminator. Equipment
   required is a precision voltage source and a precision voltmeter. Additionally,
   an external power supply is required to provide a negative voltage for Amp V-.
   Set it to anywhere from -1V to -5V. Set Amp V+ to Vcc. Ensure the COM and REF-
   pins are connected to ground. The REF+ pin should be connected to +5V.

  How to test Single-Ended mode:
   The voltage source should be connected to the ADC such that the negative lead is
   connected to the COM(common) pin. The positive lead may be connected to any
   channel input. Ensure voltage is within analog input voltage range -0.3 to 2.5V.

  How to test Differential Mode:
   The voltage source should be connected with positive and negative leads to paired
   channels. The voltage source negative output must also be connected to the COM
   pin in order to provide a ground-referenced voltage. Ensure voltage is within
   analog input voltage range -0.3V to +2.5V. Swapping input voltages results in a
   reversed polarity reading.

USER INPUT DATA FORMAT:
 decimal : 1024
 hex     : 0x400
 octal   : 02000  (leading 0 "zero")
 binary  : B10000000000
 float   : 1024.0

http://www.linear.com/product/LTC2499

http://www.linear.com/product/LTC2499#demoboards

Copyright 2018(c) Analog Devices, Inc.

All rights reserved.

Redistribution and use in source and binary forms, with or without modification, are permitted provided that the following conditions are met:

  • Redistributions of source code must retain the above copyright notice, this list of conditions and the following disclaimer.
  • Redistributions in binary form must reproduce the above copyright notice, this list of conditions and the following disclaimer in the documentation and/or other materials provided with the distribution.
  • Neither the name of Analog Devices, Inc. nor the names of its contributors may be used to endorse or promote products derived from this software without specific prior written permission.
  • The use of this software may or may not infringe the patent rights of one or more patent holders. This license does not release you from the requirement that you obtain separate licenses from these patent holders to use this software.
  • Use of the software either in source or binary form, must be run on or directly connected to an Analog Devices Inc. component.

THIS SOFTWARE IS PROVIDED BY ANALOG DEVICES "AS IS" AND ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, NON-INFRINGEMENT, MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE DISCLAIMED. IN NO EVENT SHALL ANALOG DEVICES BE LIABLE FOR ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES (INCLUDING, BUT NOT LIMITED TO, INTELLECTUAL PROPERTY RIGHTS, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.

Definition in file DC1012AA.ino.

Go to the source code of this file.

Functions

static void print_title ()
 Prints the title block when program first starts. More...
 
static void print_prompt ()
 Prints main menu. More...
 
static void print_user_command (uint8_t menu)
 Display selected differential channels. More...
 
static int8_t menu_1_read_single_ended ()
 Read channels in single-ended mode. More...
 
static int8_t menu_2_read_differential ()
 Read channels in differential mode. More...
 
static int8_t menu_3_read_temperature ()
 Read Temperature. More...
 
static void menu_4_set_1X2X ()
 Set 1X or 2X mode. More...
 
static void menu_5_set_address ()
 Set the I2C 7 bit address. More...
 
static void setup ()
 Initialize Linduino. More...
 
static void loop ()
 Repeats Linduino loop. More...
 

Variables

static uint8_t demo_board_connected
 Set to 1 if the board is connected. More...
 
static int16_t two_x_mode = LTC2499_SPEED_1X
 The LTC2499 2X Mode settings. More...
 
static float LTC2499_vref = 2.5
 The LTC2499 reference voltage. More...
 
static uint8_t rejection_mode = LTC2499_R50_R60
 The LTC2499 rejection mode. More...
 
static uint8_t i2c_address = LTC2497_I2C_ADDRESS
 I2C address in 7 bit format for part. More...
 
static uint16_t eoc_timeout = 300
 Timeout in ms. More...
 
const uint16_t BUILD_COMMAND_SINGLE_ENDED [16]
 Lookup table to build the command for single-ended mode. More...
 
const uint16_t BUILD_COMMAND_DIFF [16]
 Lookup table to build the command for differential mode. More...
 
const uint16_t BUILD_1X_2X_COMMAND [2] = {LTC2499_SPEED_1X, LTC2499_SPEED_2X}
 Lookup table to build 1X / 2X bits. More...
 

Function Documentation

◆ loop()

static void loop ( void  )
static

Repeats Linduino loop.

Definition at line 161 of file DC1012AA.ino.

◆ menu_1_read_single_ended()

static int8_t menu_1_read_single_ended ( )
static

Read channels in single-ended mode.

Returns
0 if successful, 1 is failure

Definition at line 289 of file DC1012AA.ino.

◆ menu_2_read_differential()

static int8_t menu_2_read_differential ( )
static

Read channels in differential mode.

Returns
0 if successful, 1 is failure

Definition at line 389 of file DC1012AA.ino.

◆ menu_3_read_temperature()

static int8_t menu_3_read_temperature ( )
static

Read Temperature.

Definition at line 496 of file DC1012AA.ino.

◆ menu_4_set_1X2X()

static void menu_4_set_1X2X ( )
static

Set 1X or 2X mode.

Definition at line 532 of file DC1012AA.ino.

◆ menu_5_set_address()

static void menu_5_set_address ( )
static

Set the I2C 7 bit address.

Definition at line 557 of file DC1012AA.ino.

◆ print_prompt()

static void print_prompt ( )
static

Prints main menu.

Definition at line 219 of file DC1012AA.ino.

◆ print_title()

static void print_title ( void  )
static

Prints the title block when program first starts.

Definition at line 204 of file DC1012AA.ino.

◆ print_user_command()

static void print_user_command ( uint8_t  menu)
static

Display selected differential channels.

Displaying single-ended channels is straightforward; not so with differential because the inputs can take either polarity.

Definition at line 231 of file DC1012AA.ino.

◆ setup()

static void setup ( void  )
static

Initialize Linduino.

Definition at line 139 of file DC1012AA.ino.

Variable Documentation

◆ BUILD_1X_2X_COMMAND

const uint16_t BUILD_1X_2X_COMMAND[2] = {LTC2499_SPEED_1X, LTC2499_SPEED_2X}

Lookup table to build 1X / 2X bits.

Build the command for 1x or 2x mode

Definition at line 135 of file DC1012AA.ino.

◆ BUILD_COMMAND_DIFF

const uint16_t BUILD_COMMAND_DIFF[16]
Initial value:
}
#define LTC2499_P3_N2
Definition: LTC2499.h:195
#define LTC2499_P7_N6
Definition: LTC2499.h:201
#define LTC2499_P15_N14
Definition: LTC2499.h:213
#define LTC2499_P1_N0
Definition: LTC2499.h:192
#define LTC2499_P5_N4
Definition: LTC2499.h:198
#define LTC2499_P4_N5
Definition: LTC2499.h:197
#define LTC2499_P2_N3
Definition: LTC2499.h:194
#define LTC2499_P14_N15
Definition: LTC2499.h:212
#define LTC2499_P10_N11
Definition: LTC2499.h:206
#define LTC2499_P12_N13
Definition: LTC2499.h:209
#define LTC2499_P0_N1
Definition: LTC2499.h:191
#define LTC2499_P9_N8
Definition: LTC2499.h:204
#define LTC2499_P6_N7
Definition: LTC2499.h:200
#define LTC2499_P8_N9
Definition: LTC2499.h:203
#define LTC2499_P13_N12
Definition: LTC2499.h:210
#define LTC2499_P11_N10
Definition: LTC2499.h:207

Lookup table to build the command for differential mode.

Build the command for differential mode

Definition at line 127 of file DC1012AA.ino.

◆ BUILD_COMMAND_SINGLE_ENDED

const uint16_t BUILD_COMMAND_SINGLE_ENDED[16]
Initial value:
}
#define LTC2499_CH6
Definition: LTC2499.h:177
#define LTC2499_CH13
Definition: LTC2499.h:184
#define LTC2499_CH14
Definition: LTC2499.h:185
#define LTC2499_CH3
Definition: LTC2499.h:174
#define LTC2499_CH1
Definition: LTC2499.h:172
#define LTC2499_CH5
Definition: LTC2499.h:176
#define LTC2499_CH4
Definition: LTC2499.h:175
#define LTC2499_CH10
Definition: LTC2499.h:181
#define LTC2499_CH11
Definition: LTC2499.h:182
#define LTC2499_CH9
Definition: LTC2499.h:180
#define LTC2499_CH0
Definition: LTC2499.h:171
#define LTC2499_CH12
Definition: LTC2499.h:183
#define LTC2499_CH8
Definition: LTC2499.h:179
#define LTC2499_CH15
Definition: LTC2499.h:186
#define LTC2499_CH2
Definition: LTC2499.h:173
#define LTC2499_CH7
Definition: LTC2499.h:178

Lookup table to build the command for single-ended mode.

Builds the command for single-ended mode

Definition at line 120 of file DC1012AA.ino.

◆ demo_board_connected

uint8_t demo_board_connected
static

Set to 1 if the board is connected.

Definition at line 110 of file DC1012AA.ino.

◆ eoc_timeout

uint16_t eoc_timeout = 300
static

Timeout in ms.

Definition at line 115 of file DC1012AA.ino.

◆ i2c_address

uint8_t i2c_address = LTC2497_I2C_ADDRESS
static

I2C address in 7 bit format for part.

Definition at line 114 of file DC1012AA.ino.

◆ LTC2499_vref

float LTC2499_vref = 2.5
static

The LTC2499 reference voltage.

Definition at line 112 of file DC1012AA.ino.

◆ rejection_mode

uint8_t rejection_mode = LTC2499_R50_R60
static

The LTC2499 rejection mode.

Definition at line 113 of file DC1012AA.ino.

◆ two_x_mode

int16_t two_x_mode = LTC2499_SPEED_1X
static

The LTC2499 2X Mode settings.

Definition at line 111 of file DC1012AA.ino.