![]() |
Linduino
1.3.0
Linear Technology Arduino-Compatible Demonstration Board
|
DC1705C LTC6946: Ultralow Noise and Spurious 0.37GHz to 6.39GHz IntegerN Synthesizer with Integrated VCO. More...
DC1705C LTC6946: Ultralow Noise and Spurious 0.37GHz to 6.39GHz IntegerN Synthesizer with Integrated VCO.
Setup: Set the terminal baud rate to 115200 and select the newline terminator. Refer to Demo Manual DC1705C. Ensure all jumpers are installed in the factory default positions. Two power supplies are needed for this demo board: a 5v and a 3.3v supply. A reference frequency is also needed for this demo board, refer to the DC1705 Demo Manual for details. Command Description: *****Main Menu***** 1- Load Default Settings- Loads the SPI map that is identical to file LTC6946-x_100MHz.pllset that is supplied with the PLLWizard and mentioned in the DC1705C user's manual. It assumes a 100MHz reference input and the default DC1705C loop filter. It should output a 907MHz signal on RF+/-. ** If you want to use a different loop filter, reference frequency or different register settings. Please use PLLWizard for the loop filter design and initial device setup. The register settings from PLLWizard can be entered into menu option 2. 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 calculates and programs OD, ND, NUM based on the desired Frf, the reference frequency, and the current RD value. Linduino One (Arduino Uno) are limited to 32 bit floats, int and doubles. Significant rounding errors are created with this 32 bit limitation. Therefore, this function uses 64bit math functions specifically created to overcome this limitation. After OD, ND, and NUM are programmed, the program calibrates the LTC6946. If other register need change see menu 2 or menu 3. 5- This function stores the current SPI settings in the demo boards EEPROM 6- 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/LTC6946
http://www.linear.com/product/LTC6946#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:
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 DC1705C.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 LTC6946 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_set_frf () |
Menu 4: Calculates and programs OD, ND based on desired Frf This function calculates and programs OD, ND based on desired Frf, the reference frequency, and current RD value. More... | |
static void | menu_5_store_settings () |
Store PLL settings to nonvolatile EEPROM on demo board. More... | |
static void | menu_6_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... | |
static void | LTC6946_Ref_Freq_Verification () |
verifies reference frequency is within datasheet specifications More... | |
static void | LTC6946_Fout_Freq_Verification (char part_version[]) |
verifies frf frequency is within datasheet specifications 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... | |
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.
field_val | current state of the selected field |
field_name | SPI Field name selected |
f | SPI field identifier identifies selected fields information in SPI MAP arrays |
Definition at line 307 of file DC1705C.ino.
|
static |
|
static |
verifies frf frequency is within datasheet specifications
Definition at line 830 of file DC1705C.ino.
|
static |
verifies reference frequency is within datasheet specifications
Definition at line 779 of file DC1705C.ino.
|
static |
Menu 1: Load Default SPI Register Settings This function identifies which of the 4 LTC6946 frequency versions are connected.
Based on the version connected, this function loads the register settings referenced in the DC1705C demo manual's quick start section. The register settings loaded are the same as PLL WIZARDS pllset files DC1705-x(LTC6946-x)100MHz.pllset (where x=1,2,3,or 4) The setting loaded with this function assume the LTC6946's reference is set to 100MHz and the DC1705C's loop filter has not been modified.
Definition at line 216 of file DC1705C.ino.
|
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:
Definition at line 252 of file DC1705C.ino.
|
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:
Definition at line 367 of file DC1705C.ino.
|
static |
Menu 4: Calculates and programs OD, ND based on desired Frf This function calculates and programs OD, ND based on desired Frf, the reference frequency, and current RD value.
Linduino One (Arduino Uno) are limited to 32 bit floats, int and doubles. Significant rounding errors are created with this 32 bit limitation. Therefore, This function uses 64bit math functions specifically created to overcome this limitation. After OD, ND are programmed, the program calibrates the LTC6946 If RD needs to change see menu 2 or menu 3
Definition at line 903 of file DC1705C.ino.
|
static |
Store PLL settings to nonvolatile EEPROM on demo board.
Definition at line 918 of file DC1705C.ino.
|
static |
Read stored PLL settings from nonvolatile EEPROM on demo board.
Definition at line 944 of file DC1705C.ino.
|
static |
Prints main menu.
Definition at line 1004 of file DC1705C.ino.
|
static |
Prints the title block when program first starts.
Definition at line 980 of file DC1705C.ino.
|
static |
|
static |
Demo Board Name stored in QuikEval EEPROM.
Definition at line 121 of file DC1705C.ino.
|
static |
if first time through loop = 0, otherwise=1
Definition at line 122 of file DC1705C.ino.
|
static |
Used to keep track of reference out status.
Definition at line 120 of file DC1705C.ino.