| 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455 |
- #ifndef DMADRIVER_LMX2594_H
- #define DMADRIVER_LMX2594_H
- #include "tmsgheaders.h"
- #include "lmx2594regs.h"
- #define LMX_COUNT 113
- #define LMX_BASE_ADDR 0x04
- #define LMX_LD_STATUS_ADDR 0x18
- struct vco_params {
- int vco_core;
- double f_coremin;
- double f_coremax;
- int c_core_min;
- int c_core_max;
- int a_core_min;
- int a_core_max;
- uint16_t vco_cap_ctrl_strt;
- uint16_t vco_daciset_strt;
- uint16_t acal_cmp_dly;
- uint16_t cal_clk_div;
- uint16_t pfd_dly_sel;
- uint16_t fcal_hpfd_adj;
- // LMX parameters
- double N_div;
- uint32_t N;
- int chan_div;
- uint8_t ch_div_reg;
- double f_vco;
- };
- extern uint32_t lmx_change_freq_regs[12];
- void set_vco_params (struct vco_params *params);
- void send_vco_params(void *bar1, struct vco_params *params);
- struct vco_params calculate_vco_params (double lmx_freq, double f_pd);
- void lmx2594_init(void *bar1);
- void auto_cal(void *bar1);
- int lmx_freq_set_main_band(void *bar1, double freq, double f_pd);
- int lmx_freq_set_main_band_int_mode(void *bar1, double freq, double f_pd);
- int lmx_freq_set_out_of_band(void *bar1, double freq, double f_pd);
- int lmx_freq_set_out_of_band_int_mode(void *bar1, double freq, double f_pd);
- double lmx_lower_bond_set (double freq, double f_pd);
- double lmx_get_freq(double freq);
- int lmx_freq_set(void *bar1, double freq,double f_pd);
- uint32_t lmx_ld_status(void *bar1);
- #endif //DMADRIVER_LMX2594_H
|