no-OS
All Classes Files Functions Variables Typedefs Enumerations Enumerator Macros Modules Pages
ad9208.h
Go to the documentation of this file.
1/***************************************************************************/
33#ifndef __AD9208_H__
34#define __AD9208_H__
35
36#include <stdbool.h>
37#include <stddef.h>
38#include <string.h>
39#include "ad9208_api.h"
40#include "ad9208_reg.h"
41#include "no_os_gpio.h"
42#include "no_os_spi.h"
43#include "no_os_delay.h"
44
45#define AD9208_FULL_BANDWIDTH_MODE 0
46#define AD9208_1_DDC_MODE 1
47#define AD9208_2_DDC_MODE 2
48#define AD9208_4_DDC_MODE 4
49
50#define AD9208_SYSREF_NONE 0 /* No SYSREF Support */
51#define AD9208_SYSREF_ONESHOT 1 /* ONE-SHOT SYSREF */
52#define AD9208_SYSREF_CONT 2 /* Continuous Sysref Synchronisation */
53#define AD9208_SYSREF_MON 3 /* SYSREF monitor Mode */
54
55#define AD9208_NCO_MODE_VIF 0 /* Variable IF Mode */
56#define AD9208_NCO_MODE_ZIF 1 /* Zero IF Mode */
57#define AD9208_NCO_MODE_TEST 3 /* Test Mode*/
58
59#define AD9208_BUFF_CURR_400_UA 0x4 /* Buffer Current set to 400 uA */
60#define AD9208_BUFF_CURR_500_UA 0x9 /* Buffer Current set to 500 uA */
61#define AD9208_BUFF_CURR_600_UA 0x1E /* Buffer Current set to 600 uA */
62#define AD9208_BUFF_CURR_700_UA 0x23 /* Buffer Current set to 700 uA */
63#define AD9208_BUFF_CURR_800_UA 0x28 /* Buffer Current set to 800 uA */
64#define AD9208_BUFF_CURR_1000_UA 0x32 /* Buffer Current set to 1000 uA */
65
66#define AD9208_CHIP_TYPE 0x03
67#define AD9208_CHIP_ID 0xDF
68
69struct ad9208_ddc {
70 uint32_t decimation;
71 uint32_t nco_mode;
73 uint64_t po;
74 bool gain_db;
75};
76
77typedef struct ad9208_dev {
78 /* SPI */
80 /* GPIO */
84
116
151
152/* Initialize the device. */
154/* Remove the device. */
156
157#endif // __AD9208_H__
struct ad7616_init_param init_param
Definition ad7616_sdz.c:107
int32_t ad9208_initialize(ad9208_dev **device, ad9208_init_param *init_param)
Definition ad9208.c:370
int32_t ad9208_remove(ad9208_dev *device)
Definition ad9208.c:493
AD9208 SPI Register Definition Header File.
Header file of Delay functions.
Header file of GPIO Interface.
Header file of SPI Interface.
Definition ad9208.h:69
uint32_t decimation
Definition ad9208.h:70
uint32_t nco_mode
Definition ad9208.h:71
bool gain_db
Definition ad9208.h:74
uint64_t po
Definition ad9208.h:73
uint64_t carrier_freq_hz
Definition ad9208.h:72
Definition ad9208.h:77
struct no_os_spi_desc * spi_desc
Definition ad9208.h:79
struct ad9208_state * st
Definition ad9208.h:82
struct no_os_gpio_desc * gpio_powerdown
Definition ad9208.h:81
Definition ad9208_api.h:78
Definition ad9208.h:117
uint32_t test_mode_ch0
Definition ad9208.h:137
bool duty_cycle_stabilizer_en
Definition ad9208.h:126
uint32_t input_div
Definition ad9208.h:123
uint32_t sysref_lmfc_offset
Definition ad9208.h:140
uint32_t buff_curr_n
Definition ad9208.h:130
struct no_os_gpio_init_param gpio_powerdown
Definition ad9208.h:121
uint32_t sysref_neg_window_skew
Definition ad9208.h:143
uint32_t test_mode_ch1
Definition ad9208.h:138
struct no_os_spi_init_param * spi_init
Definition ad9208.h:119
bool ddc_input_format_real_en
Definition ad9208.h:136
uint32_t sysref_pos_window_skew
Definition ad9208.h:144
bool analog_input_mode
Definition ad9208.h:128
jesd_param_t * jesd_param
Definition ad9208.h:148
uint8_t fc_ch
Definition ad9208.h:132
uint32_t buff_curr_p
Definition ad9208.h:131
bool ext_vref_en
Definition ad9208.h:129
uint32_t sysref_mode
Definition ad9208.h:145
uint32_t powerdown_mode
Definition ad9208.h:125
bool ddc_output_format_real_en
Definition ad9208.h:135
bool sysref_edge_sel
Definition ad9208.h:141
bool sysref_clk_edge_sel
Definition ad9208.h:142
uint32_t ddc_cnt
Definition ad9208.h:134
bool powerdown_pin_en
Definition ad9208.h:124
struct ad9208_ddc * ddc
Definition ad9208.h:133
uint32_t jesd_subclass
Definition ad9208.h:149
uint8_t current_scale
Definition ad9208.h:127
uint32_t sysref_count
Definition ad9208.h:146
uint64_t sampling_frequency_hz
Definition ad9208.h:122
Definition ad9208.h:85
bool powerdown_pin_en
Definition ad9208.h:89
uint32_t jesd_subclass
Definition ad9208.h:114
bool sysref_edge_sel
Definition ad9208.h:106
uint32_t powerdown_mode
Definition ad9208.h:90
bool ext_vref_en
Definition ad9208.h:94
ad9208_handle_t * adc_h
Definition ad9208.h:86
jesd_param_t * jesd_param
Definition ad9208.h:113
uint32_t sysref_count
Definition ad9208.h:111
uint32_t test_mode_ch1
Definition ad9208.h:103
uint32_t buff_curr_n
Definition ad9208.h:95
uint32_t ddc_cnt
Definition ad9208.h:99
bool ddc_output_format_real_en
Definition ad9208.h:100
uint32_t sysref_lmfc_offset
Definition ad9208.h:105
uint32_t sysref_neg_window_skew
Definition ad9208.h:108
bool duty_cycle_stabilizer_en
Definition ad9208.h:91
uint32_t buff_curr_p
Definition ad9208.h:96
bool ddc_input_format_real_en
Definition ad9208.h:101
struct ad9208_ddc ddc[4]
Definition ad9208.h:98
uint8_t fc_ch
Definition ad9208.h:97
bool sysref_clk_edge_sel
Definition ad9208.h:107
uint32_t sysref_pos_window_skew
Definition ad9208.h:109
uint8_t current_scale
Definition ad9208.h:92
uint32_t sysref_mode
Definition ad9208.h:110
bool analog_input_mode
Definition ad9208.h:93
uint64_t sampling_frequency_hz
Definition ad9208.h:87
uint32_t test_mode_ch0
Definition ad9208.h:102
uint32_t input_div
Definition ad9208.h:88
Definition ad9361_util.h:63
Definition api_def.h:230
Structure holding the GPIO descriptor.
Definition no_os_gpio.h:84
Structure holding the parameters for GPIO initialization.
Definition no_os_gpio.h:67
Structure holding SPI descriptor.
Definition no_os_spi.h:180
Structure holding the parameters for SPI initialization.
Definition no_os_spi.h:128