Linduino  1.3.0
Linear Technology Arduino-Compatible Demonstration Board

DC1954A LTC6954: Low Phase Noise, Triple Output Clock Distribution Divider/Driver. More...

Detailed Description

DC1954A LTC6954: Low Phase Noise, Triple Output Clock Distribution Divider/Driver.

  Setup:
    Set the terminal baud rate to 115200 and select the newline terminator.
    Refer to Demo Manual DC1954A.
    Ensure all jumpers are installed in the factory default positions.
    One 3.3V power supplies ia needed for this demo board
    An input signal is also needed for this demo board, refer to the
    DC1954 Demo Manual for details.


Command Description:

                             *****Main Menu*****
    1-  Load Default Settings- Loads the SPI map that is identical to file
        LTC6954.6954set that is supplied with the LTC6954_GUI and mentioned
        in the DC1954A user's manual.

    2-  READ/WRITE to Registers Addresses- Selecting this option will cause all the registers to
        be read, stored to variables, and displayed.  The user will then have the option
        to write to one register address at a time.

    3-  READ/WRITE to Registers Fields- Selecting this option will allow the user
        to read or write to one register field name at a time.

    4-  This function stores the current SPI settings in the demo boards EEPROM

    5-  This function loads SPI settings from the demo boards EEPROM to the device


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

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

http://www.linear.com/product/LTC6954#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 DC1954A.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 menu_1_load_default_settings ()
 Menu 1: Load Default SPI Register Settings This function identifies which of the 4 LTC6954 frequency versions are connected. More...
 
static void menu_2_RW_to_reg_addresss ()
 Menu 2: Reads and/or Writes the SPI register address This function reads and displays all SPI register address settings in HEX format. More...
 
static void menu_3_RW_to_reg_field ()
 Menu 3: Reads and/or Writes individual SPI fields This function provides the user with a list of all SPI fields. More...
 
static void menu_4_store_settings ()
 Store PLL settings to nonvolatile EEPROM on demo board. More...
 
static void menu_5_restore_settings ()
 Read stored PLL settings from nonvolatile EEPROM on demo board. More...
 
static void setup ()
 Initialize Linduino. More...
 
static void loop ()
 Repeats Linduino loop. More...
 
long field_menu_RW (long field_val, char field_name[], uint8_t f)
 Support function for function menu_3_RW_to_reg_field displays current state of select field provides user the option to write to that field or return to menu. More...
 

Variables

static uint8_t ref_out = 0
 Used to keep track of reference out status. More...
 
static int8_t demo_board_connected
 Demo Board Name stored in QuikEval EEPROM. More...
 
static uint8_t First_Run =0
 if first time through loop = 0, otherwise=1 More...
 

Function Documentation

◆ field_menu_RW()

long field_menu_RW ( long  field_val,
char  field_name[],
uint8_t  f 
)

Support function for function menu_3_RW_to_reg_field displays current state of select field provides user the option to write to that field or return to menu.

Returns
field value (user input) that will be written to part
Parameters
field_valcurrent state of the selected field
field_nameSPI Field name selected
fSPI field identifier identifies selected fields information in SPI MAP arrays

Definition at line 289 of file DC1954A.ino.

◆ loop()

static void loop ( void  )
static

Repeats Linduino loop.

Returns
void

Definition at line 143 of file DC1954A.ino.

◆ menu_1_load_default_settings()

static void menu_1_load_default_settings ( )
static

Menu 1: Load Default SPI Register Settings This function identifies which of the 4 LTC6954 frequency versions are connected.

Based on the version connected, this function loads the register settings referenced in the DC1954A demo manual's quick start section. The register settings loaded are the same as the LTC6954_GUI 6954set files LTC6954.6954set. The setting loaded with this function assume the DC1954A's loop filter has not been modified.

Returns
void

Definition at line 199 of file DC1954A.ino.

◆ menu_2_RW_to_reg_addresss()

static void menu_2_RW_to_reg_addresss ( )
static

Menu 2: Reads and/or Writes the SPI register address This function reads and displays all SPI register address settings in HEX format.

It then provides an option to modify(write to) individual registers one at time

EXAMPLE:

  • 0- ADDR00 = 0x00
  • 1- ADDR01 = 0x08
  • ....
  • 6- ADDR06 = 0x04
  • 7- ADDR07 = 0x21 (read only)
  • -1 - Return to Main Menu
  • Enter a command (0-6 to modify register, or '-1' to return to Main Menu):
    Returns
    void

Definition at line 235 of file DC1954A.ino.

◆ menu_3_RW_to_reg_field()

static void menu_3_RW_to_reg_field ( )
static

Menu 3: Reads and/or Writes individual SPI fields This function provides the user with a list of all SPI fields.

The user can select a SPI field to read its current value. Then the user will be provided with an option to write to that field or return to the selection menu.

EXAMPLE:

  • 1-CMSINV0 9-LVCS2 17-PD_DIV2
  • 2-CMSINV1 10-M0 18-PD_OUT0
  • ....
  • 7-LVCS0 15-PD_DIV0 23-SYNC_EN1
  • 8-LVCS1 16-PD_DIV1 24-SYNC_EN2
  • 0 - Return to Main Menu
  • * = READ ONLY FIELD
  • Enter a command (1-24 to modify register, or '0' to return to Main Menu):
    Returns
    void

Definition at line 349 of file DC1954A.ino.

◆ menu_4_store_settings()

static void menu_4_store_settings ( )
static

Store PLL settings to nonvolatile EEPROM on demo board.

Returns
void

Definition at line 603 of file DC1954A.ino.

◆ menu_5_restore_settings()

static void menu_5_restore_settings ( )
static

Read stored PLL settings from nonvolatile EEPROM on demo board.

Returns
void

Definition at line 629 of file DC1954A.ino.

◆ print_prompt()

static void print_prompt ( )
static

Prints main menu.

Definition at line 683 of file DC1954A.ino.

◆ print_title()

static void print_title ( void  )
static

Prints the title block when program first starts.

Definition at line 665 of file DC1954A.ino.

◆ setup()

static void setup ( void  )
static

Initialize Linduino.

Returns
void

Definition at line 116 of file DC1954A.ino.

Variable Documentation

◆ demo_board_connected

int8_t demo_board_connected
static

Demo Board Name stored in QuikEval EEPROM.

Definition at line 109 of file DC1954A.ino.

◆ First_Run

uint8_t First_Run =0
static

if first time through loop = 0, otherwise=1

Definition at line 110 of file DC1954A.ino.

◆ ref_out

uint8_t ref_out = 0
static

Used to keep track of reference out status.

Definition at line 108 of file DC1954A.ino.