Linduino  1.3.0
Linear Technology Arduino-Compatible Demonstration Board

DC2609A LTC6952: Ultralow Jitter, 4.5GHz PLL with 11 Outputs and JESD204B Support. More...

Detailed Description

DC2609A LTC6952: Ultralow Jitter, 4.5GHz PLL with 11 Outputs and JESD204B Support.

  Setup:
    Set the terminal baud rate to 115200 and select the newline terminator.
    Refer to Demo Manual DC2609A.
    One Power Supply is needed for this demo board: 3.3V supply.


Command Description:
    1-  Load Default Settings from a Look-up Table- Loads the SPI map from one of several options in a
        look-up table.  The look-up table allows the user to select different frequencies and synchronization
        option.

    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

    6 - SPI Frequency:  Allows user to control Linduino's SPI frequency.  By default this is set to 8MHz
        when connecting Linduino directly to the DC2609.  If Linduino is connected to the DC2430 the default
        SPI rate is 4MHz

    7 - If using a DC2430 (Linduino Expander), this allows the user to select 1 of 8 sites to talk to.

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

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

http://www.linear.com/product/LTC6952#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 DC2609A.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 loads the register settings from a look up table. 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 menu_6_SPI_speed ()
 Read stored PLL settings from nonvolatile EEPROM on demo board. More...
 
static void menu_7_DC2430_site_select ()
 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...
 
static void DUTsync (uint16_t delay_num)
 Syncs LTC6952 Outputs using SSYNC bit. More...
 
static void dc2430_site_select (int site_select)
 Called from function menu_8_DC2430_site_select(), programs DC2430 to site selected. More...
 

Variables

static int8_t demo_board_connected = 0
 Demo Board Name stored in QuikEval EEPROM. More...
 
static int8_t DC2609_board_connected = 0
 Demo Board Name stored in QuikEval EEPROM. More...
 
static uint8_t First_Run =0
 if first time through loop = 0, otherwise=1 More...
 
boolean Using_DC2430 = false
 Indicator if DC2430 (Linduino Expander) is connected. More...
 
static int dc2430_site_A0_APin =0
 DC2430 resistor tree, if it reads 3.3V then DC2430 connected. More...
 
static int dc2430_site_A1_APin =1
 DC2430 resistor tree, if it reads 1.66V then DC2430 connected. More...
 
static int dc2430_site_A2_APin =2
 DC2430 INFO ONLY, measures DC2226 (Linduino) VCCIO voltage. More...
 
static int dc2430_site_DA0_Pin =2
 DC2430 digital pin allows Linduino to control which DC2430 site is selected. More...
 
static int dc2430_site_DA1_Pin =3
 DC2430 digital pin allows Linduino to control which DC2430 site is selected. More...
 
static int dc2430_site_DA2_Pin =4
 DC2430 digital pin allows Linduino to control which DC2430 site is selected. More...
 
static int dc2430_en_Pin =5
 DC2430 digital pin enables Linduino to control which DC2430 site is selected & turns on DC2430 LED. More...
 

Function Documentation

◆ dc2430_site_select()

static void dc2430_site_select ( int  site_select)
static

Called from function menu_8_DC2430_site_select(), programs DC2430 to site selected.

Returns
void

Definition at line 718 of file DC2609A.ino.

◆ DUTsync()

static void DUTsync ( uint16_t  delay_num)
static

Syncs LTC6952 Outputs using SSYNC bit.

Returns
void

Definition at line 621 of file DC2609A.ino.

◆ 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 412 of file DC2609A.ino.

◆ loop()

static void loop ( void  )
static

Repeats Linduino loop.

Returns
void

Definition at line 241 of file DC2609A.ino.

◆ menu_1_load_default_settings()

static void menu_1_load_default_settings ( )
static

Menu 1: Load Default SPI Register Settings This function loads the register settings from a look up table.

The settings in the look up table were created using the LTC6952Wizard. It is recommended to use the LTC6952Wizard to create the register settings for all desired frequency plans and enter these frequency plans into a look-up table. The LTC6952Wizard generates register values for optimal LTC6952 performance.

Returns
void

Definition at line 305 of file DC2609A.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 = 0x29 (read only)
  • 1- ADDR01 = 0xAA
  • ....
  • 54- ADDR36 = 0x00 55- ADDR37 = 0x00
  • 56- ADDR38 = 0x13 (read only)
  • 0 - Return to Main Menu
  • Enter a command (1-55 to modify register, or '0' to return to Main Menu):
    Returns
    void

Definition at line 355 of file DC2609A.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-ADEL0 43-MD4 85-PART
  • 2-ADEL1 44-MD5 86-PDALL
  • ....
  • 40-MD1 82-OINV9 124-VCOOK
  • 41-MD2 83-OINV10 125-x
  • 42-MD3 84-PARSYNC
  • 0 - Return to Main Menu
  • * = READ ONLY FIELD
  • Enter a command (1-125 to modify register, or '0' to return to Main Menu)
    Returns
    void

Definition at line 469 of file DC2609A.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 553 of file DC2609A.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 578 of file DC2609A.ino.

◆ menu_6_SPI_speed()

static void menu_6_SPI_speed ( )
static

Read stored PLL settings from nonvolatile EEPROM on demo board.

Returns
void

Definition at line 634 of file DC2609A.ino.

◆ menu_7_DC2430_site_select()

static void menu_7_DC2430_site_select ( )
static

Read stored PLL settings from nonvolatile EEPROM on demo board.

Returns
void

Definition at line 694 of file DC2609A.ino.

◆ print_prompt()

static void print_prompt ( )
static

Prints main menu.

Definition at line 813 of file DC2609A.ino.

◆ print_title()

static void print_title ( void  )
static

Prints the title block when program first starts.

Definition at line 778 of file DC2609A.ino.

◆ setup()

static void setup ( void  )
static

Initialize Linduino.

Returns
void

Definition at line 130 of file DC2609A.ino.

Variable Documentation

◆ dc2430_en_Pin

int dc2430_en_Pin =5
static

DC2430 digital pin enables Linduino to control which DC2430 site is selected & turns on DC2430 LED.

Definition at line 125 of file DC2609A.ino.

◆ dc2430_site_A0_APin

int dc2430_site_A0_APin =0
static

DC2430 resistor tree, if it reads 3.3V then DC2430 connected.

Definition at line 117 of file DC2609A.ino.

◆ dc2430_site_A1_APin

int dc2430_site_A1_APin =1
static

DC2430 resistor tree, if it reads 1.66V then DC2430 connected.

Definition at line 118 of file DC2609A.ino.

◆ dc2430_site_A2_APin

int dc2430_site_A2_APin =2
static

DC2430 INFO ONLY, measures DC2226 (Linduino) VCCIO voltage.

Definition at line 119 of file DC2609A.ino.

◆ dc2430_site_DA0_Pin

int dc2430_site_DA0_Pin =2
static

DC2430 digital pin allows Linduino to control which DC2430 site is selected.

Definition at line 122 of file DC2609A.ino.

◆ dc2430_site_DA1_Pin

int dc2430_site_DA1_Pin =3
static

DC2430 digital pin allows Linduino to control which DC2430 site is selected.

Definition at line 123 of file DC2609A.ino.

◆ dc2430_site_DA2_Pin

int dc2430_site_DA2_Pin =4
static

DC2430 digital pin allows Linduino to control which DC2430 site is selected.

Definition at line 124 of file DC2609A.ino.

◆ DC2609_board_connected

int8_t DC2609_board_connected = 0
static

Demo Board Name stored in QuikEval EEPROM.

Definition at line 112 of file DC2609A.ino.

◆ demo_board_connected

int8_t demo_board_connected = 0
static

Demo Board Name stored in QuikEval EEPROM.

Definition at line 111 of file DC2609A.ino.

◆ First_Run

uint8_t First_Run =0
static

if first time through loop = 0, otherwise=1

Definition at line 113 of file DC2609A.ino.

◆ Using_DC2430

boolean Using_DC2430 = false

Indicator if DC2430 (Linduino Expander) is connected.

Definition at line 114 of file DC2609A.ino.