| Linduino 1.3.0 Linear Technology Arduino-Compatible Demonstration Board

Functions | Variables
LTC6952.cpp File Reference
RF, Silicon Oscillators, PLL Synthesizers, and VCOs » LTC6952: Ultralow Jitter, 4.5GHz PLL with 11 Outputs and JESD204B Support

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

## Detailed Description

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

Definition in file LTC6952.cpp.

Go to the source code of this file.

## Functions
uint8_t | LTC6952_read (uint8_t cs, int8_t address)
| LTC6952 Read Single Address reads 8 bit Data field to LTC6952. More...
long | LTC6952_read_field (uint8_t cs, uint8_t address, uint8_t MSB_loc, uint8_t numbits)
| LTC6952 Read Single Field For SPI FIELDS located in 1 or multiple address location reads specific address locations identifies and returns specific field in question can handle SPI fields in multiple addresses, if MSB bit is in the lower number address. More...
long | get_LTC6952_SPI_FIELD (uint8_t cs, uint8_t f)
| Gets the LTC6952 SPI field value calls function LTC6952_read_field, which reads specific address locations identifies and returns specific field in question can handle SPI fields in multiple addresses, if MSB bit is in the lower number address. More...
void | LTC6952_write (uint8_t cs, uint8_t address, uint8_t Data)
| LTC6952 Write Single Address writes 8 bit Data field to LTC6952. More...
uint8_t | LTC6952_write_field (uint8_t cs, long field_data, uint8_t address, uint8_t MSB_loc, uint8_t numbits)
| LTC6952 Write Single Field For SPI FIELDS in 1 or multiple address locations reads specific address/field location then writes to specific field can handle SPI fields in multiple addresses, if MSB bit is in the lower number address. More...
uint8_t | get_LTC6952_REGSIZE ()
| returns # of addresses in parts register map (array size) More...
uint8_t | get_LTC6952_SPI_FIELD_NUMBITS (uint8_t f)
| returns the number of bits for a given field name in the SPI map More...
uint8_t | get_LTC6952_SPI_FIELD_RW (uint8_t f)
| returns if the given field name is (0)read/write or (1)read_only field More...
void | set_LTC6952_SPI_FIELD (uint8_t cs, uint8_t f, long field_data)
| Sets the LTC6952 SPI field value calls function LTC6952_read_field, which reads specific address/field location then writes to specific field can handle SPI fields in multiple addresses, if MSB bit is in the lower number address. More...
void | set_LTC6952_REGS_lkup_tbl (uint8_t lkup_tbl_row)
| Writes values to ALL LTC6952 RW addresses from a look-up table. More...
void | LTC6952_init ()
| Initializes the SPI MAP arrays The values set in initialization are used for all the LTC6952 SPI/WRITE and read functions (set_LTC6952_SPI_FIELD, get_LTC6952_SPI_FIELD, LTC6952_read, LTC6952_write, etc, etc) More...
int8_t | discover_demo_board_local (char *demo_name)
| Read the ID string from the EEPROM and determine if any demo board is connected. More...

## Variables
uint8_t | LTC6952_reg [LTC6952_NUM_REGADDR]
| number of LTC6952 spi addresses More...
uint16_t | LTC6952_spi_map [(LTC6952_NUM_REGFIELD+1)]
| LTC6952 spi map, AAAA AAAA RMMM NNNN; A= ADDR LOC, R=R or RW, M = MSB bit location, N = field length. More...
uint8_t | LTC6952_lkup_tbl [2][LTC6952_NUM_REGADDR]
| created with the LTC6952Wizard tool More...

## Function Documentation

## ◆ discover_demo_board_local()

int8_t discover_demo_board_local | ( | char * | demo_name | ) |

Read the ID string from the EEPROM and determine if any demo board is connected.

Returns 1 if successful, 0 if not successful

Definition at line 493 of file LTC6952.cpp.

## ◆ get_LTC6952_REGSIZE()

uint8_t get_LTC6952_REGSIZE | ( |  | ) |

returns # of addresses in parts register map (array size)

Returns
  # of addresses in parts register map

Definition at line 244 of file LTC6952.cpp.

## ◆ get_LTC6952_SPI_FIELD()

long get_LTC6952_SPI_FIELD | ( | uint8_t | cs,
|  | uint8_t | f
| ) |  |

Gets the LTC6952 SPI field value calls function LTC6952_read_field, which reads specific address locations identifies and returns specific field in question can handle SPI fields in multiple addresses, if MSB bit is in the lower number address.

Returns
  data that was read from field

Parameters

  cs | Chip Select Pin
  f | SPI field number

Definition at line 156 of file LTC6952.cpp.

## ◆ get_LTC6952_SPI_FIELD_NUMBITS()

uint8_t get_LTC6952_SPI_FIELD_NUMBITS | ( | uint8_t | f | ) |

returns the number of bits for a given field name in the SPI map

Returns
  the number of bits for a given field name in the SPI map

Parameters

  f | SPI field number

Definition at line 254 of file LTC6952.cpp.

## ◆ get_LTC6952_SPI_FIELD_RW()

uint8_t get_LTC6952_SPI_FIELD_RW | ( | uint8_t | f | ) |

returns if the given field name is (0)read/write or (1)read_only field

Returns
  if the given field is a (0)read/write or (1)read_only field

Parameters

  f | SPI field number

Definition at line 267 of file LTC6952.cpp.

## ◆ LTC6952_init()

void LTC6952_init | ( |  | ) |

Initializes the SPI MAP arrays The values set in initialization are used for all the LTC6952 SPI/WRITE and read functions (set_LTC6952_SPI_FIELD, get_LTC6952_SPI_FIELD, LTC6952_read, LTC6952_write, etc, etc)

Returns
  void

Definition at line 355 of file LTC6952.cpp.

## ◆ LTC6952_read()

uint8_t LTC6952_read | ( | uint8_t | cs,
|  | int8_t | address
| ) |  |

LTC6952 Read Single Address reads 8 bit Data field to LTC6952.

has to shift data by one bit to account for RW bit

Returns
  data that was read from address

Parameters

  cs | Chip Select Pin
  address | Register address for the LTC6952.

Definition at line 100 of file LTC6952.cpp.

## ◆ LTC6952_read_field()

long LTC6952_read_field | ( | uint8_t | cs,
|  | uint8_t | address,
|  | uint8_t | MSB_loc,
|  | uint8_t | numbits
| ) |  |

LTC6952 Read Single Field For SPI FIELDS located in 1 or multiple address location reads specific address locations identifies and returns specific field in question can handle SPI fields in multiple addresses, if MSB bit is in the lower number address.

Returns
  data that was read from field

Parameters

  cs | Chip Select Pin
  address | Register address for the LTC6952.
  MSB_loc | MSB bit location of field
  numbits | length of field (i.e. number of bits in field)

Definition at line 120 of file LTC6952.cpp.

## ◆ LTC6952_write()

void LTC6952_write | ( | uint8_t | cs,
|  | uint8_t | address,
|  | uint8_t | Data
| ) |  |

LTC6952 Write Single Address writes 8 bit Data field to LTC6952.

has to shift data by one bit to account for RW bit

Returns
  void

Parameters

  cs | Chip Select Pin
  address | Register address for the LTC6952.
  Data | 8-bit data to be written to register

Definition at line 177 of file LTC6952.cpp.

## ◆ LTC6952_write_field()

uint8_t LTC6952_write_field | ( | uint8_t | cs,
|  | long | field_data,
|  | uint8_t | address,
|  | uint8_t | MSB_loc,
|  | uint8_t | numbits
| ) |  |

LTC6952 Write Single Field For SPI FIELDS in 1 or multiple address locations reads specific address/field location then writes to specific field can handle SPI fields in multiple addresses, if MSB bit is in the lower number address.

Returns
  void

Parameters

  cs | Chip Select Pin
  field_data | Value field value to be set to
  address | Register address for the LTC6952.
  MSB_loc | MSB bit location of field
  numbits | length of field (i.e. number of bits in field)

Definition at line 193 of file LTC6952.cpp.

## ◆ set_LTC6952_REGS_lkup_tbl()

void set_LTC6952_REGS_lkup_tbl | ( | uint8_t | lkup_tbl_row | ) |

Writes values to ALL LTC6952 RW addresses from a look-up table.

- uses the Multi-byte write option for more efficient data transfer
- Either SPI Syncs or recommends the use to SYNC pin based on RAO value
  Returns
    void

Parameters

  lkup_tbl_row | Any number 0-2, lookup table has 2 options

Definition at line 305 of file LTC6952.cpp.

## ◆ set_LTC6952_SPI_FIELD()

void set_LTC6952_SPI_FIELD | ( | uint8_t | cs,
|  | uint8_t | f,
|  | long | field_data
| ) |  |

Sets the LTC6952 SPI field value calls function LTC6952_read_field, which reads specific address/field location then writes to specific field can handle SPI fields in multiple addresses, if MSB bit is in the lower number address.

Returns
  void

Parameters

  cs | Chip Select Pin
  f | SPI field number
  field_data | Value field value to be set to

Definition at line 283 of file LTC6952.cpp.

## Variable Documentation

## ◆ LTC6952_lkup_tbl

uint8_t LTC6952_lkup_tbl[2][LTC6952_NUM_REGADDR]

Initial value:
=
{
{0x15, 0xaa, 0x08, 0x00, 0x00, 0x00, 0x0c, 0x01, 0x00, 0x28, 0x13, 0x06, 0x9c, 0xe0, 0x00, 0x00, 0x38, 0x81, 0x40, 0x00, 0x9c, 0xe0, 0x00, 0x00, 0x38, 0x81, 0x40, 0x00, 0x9c, 0xe0, 0x00, 0x00, 0xf8, 0x81, 0x40, 0x00, 0x99, 0x80, 0x00, 0x00, 0x9c, 0xe0, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x9c, 0xe0, 0x00, 0x00, 0x00, 0x81, 0x40, 0x00, 0x12},
{0x15, 0xaa, 0x08, 0xf0, 0xf0, 0x30, 0x0c, 0x01, 0x00, 0x28, 0x13, 0x06, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x60, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x80, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x12},
}

created with the LTC6952Wizard tool

LTC6952 Configuration look-up table

Definition at line 88 of file LTC6952.cpp.

## ◆ LTC6952_reg

uint8_t LTC6952_reg[LTC6952_NUM_REGADDR]

number of LTC6952 spi addresses

Definition at line 85 of file LTC6952.cpp.

## ◆ LTC6952_spi_map

uint16_t LTC6952_spi_map[(LTC6952_NUM_REGFIELD+1)]

LTC6952 spi map, AAAA AAAA RMMM NNNN; A= ADDR LOC, R=R or RW, M = MSB bit location, N = field length.

Definition at line 86 of file LTC6952.cpp.