#include "stm32f0xx.h" #ifndef LMX2595_H #define LMX2595_H #pragma anon_unions typedef struct { union { __IO uint16_t All; struct { __IO uint16_t POWERDOWN:1; __IO uint16_t RESET:1; __IO uint16_t MUXOUT_LD_SEL:1; __IO uint16_t FCAL_EN:1; __IO uint16_t NA00:1; __IO uint16_t FCAL_LPFD_ADJ:2; __IO uint16_t FCAL_HPFD_ADJ:2; __IO uint16_t OUT_MUTE:1; __IO uint16_t NA01:4; __IO uint16_t VCO_PHASE_SYNC:1; __IO uint16_t RAMP_EN:1; }; }LMX_R0; union { __IO uint16_t All; struct { __IO uint16_t CAL_CLK_DIV:3; __IO uint16_t NA10:13; }; }LMX_R1; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R2; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R3; union { __IO uint16_t All; struct { __IO uint16_t NA40:8; __IO uint16_t ACAL_CMP_DLY:8; }; }LMX_R4; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R5; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R6; union { __IO uint16_t All; struct { __IO uint16_t NA70:14; __IO uint16_t OUT_FORCE:1; __IO uint16_t NA71:1; }; }LMX_R7; union { __IO uint16_t All; struct { __IO uint16_t NA80:13; __IO uint16_t VCO_CAPCTRL_FORCE:1; __IO uint16_t NA81:2; __IO uint16_t VCO_DACISET_FORCE:1; __IO uint16_t NA82:1; }; }LMX_R8; union { __IO uint16_t All; struct { __IO uint16_t NA90:12; __IO uint16_t OSC_2X:1; __IO uint16_t NA92:3; }; }LMX_R9; union { __IO uint16_t All; struct { __IO uint16_t NA100:7; __IO uint16_t MULT:5; __IO uint16_t NA101:4; }; }LMX_R10; union { __IO uint16_t All; struct { __IO uint16_t NA110:4; __IO uint16_t PLL_R:8; __IO uint16_t NA111:4; }; }LMX_R11; union { __IO uint16_t All; struct { __IO uint16_t PLL_R_PRE:12; __IO uint16_t NA120:4; }; }LMX_R12; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R13; union { __IO uint16_t All; struct { __IO uint16_t NA140:4; __IO uint16_t CPG:3; __IO uint16_t NA141:9; }; }LMX_R14; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R15; union { __IO uint16_t All; struct { __IO uint16_t VCO_DACISET:9; __IO uint16_t NA160:7; }; }LMX_R16; union { __IO uint16_t All; struct { __IO uint16_t VCO_DACISET_START:9; __IO uint16_t NA170:7; }; }LMX_R17; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R18; union { __IO uint16_t All; struct { __IO uint16_t VCO_CAPCTRL:8; __IO uint16_t NA190:8; }; }LMX_R19; union { __IO uint16_t All; struct { __IO uint16_t NA200:10; __IO uint16_t VCO_SEL_FORCE:1; __IO uint16_t VCO_SEL:1; __IO uint16_t NA201:4; }; }LMX_R20; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R21; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R22; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R23; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R24; union { __IO uint16_t All; uint16_t DBLR_IBIAS_CTRL1; }LMX_R25; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R26; union { __IO uint16_t All; struct { __IO uint16_t VCO2X_EN:1; __IO uint16_t NA270:15; }; }LMX_R27; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R28; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R29; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R30; union { __IO uint16_t All; struct { __IO uint16_t NA310:14; __IO uint16_t CHDIV_DIV2:1; __IO uint16_t NA311:1; }; }LMX_R31; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R32; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R33; union { __IO uint16_t All; struct { __IO uint16_t PLL_N_B18_B16:3; __IO uint16_t NA340:13; }; }LMX_R34; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R35; union { __IO uint16_t All; __IO uint16_t PLL_N_B15_B0; }LMX_R36; union { __IO uint16_t All; struct { __IO uint16_t NA370:8; __IO uint16_t PFD_DLY_SEL:6; __IO uint16_t NA371:1; __IO uint16_t MASH_SEED_EN:1; }; }LMX_R37; union { __IO uint16_t All; __IO uint16_t PLL_DEN_B31_B16; }LMX_R38; union { __IO uint16_t All; __IO uint16_t PLL_DEN_B15_B0; }LMX_R39; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R40; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R41; union { __IO uint16_t All; __IO uint16_t PLL_NUM_B31_B16; }LMX_R42; union { __IO uint16_t All; __IO uint16_t PLL_NUM_B15_B0; }LMX_R43; union { __IO uint16_t All; struct { __IO uint16_t MASH_ORDER:3; __IO uint16_t NA440:2; __IO uint16_t MASH_RESET_N:1; __IO uint16_t OUTA_PD:1; __IO uint16_t OUTB_PD:1; __IO uint16_t OUTA_PWR:6; __IO uint16_t NA441:2; }; }LMX_R44; union { __IO uint16_t All; struct { __IO uint16_t OUTA_PWR:6; __IO uint16_t NA450:3; __IO uint16_t OUT_ISET:2; __IO uint16_t OUTA_MUX:2; __IO uint16_t NA451:3; }; }LMX_R45; union { __IO uint16_t All; struct { __IO uint16_t OUTB_MUX:2; __IO uint16_t NA460:14; }; }LMX_R46; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R47; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R48; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R49; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R50; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R51; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R52; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R53; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R54; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R55; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R56; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R57; union { __IO uint16_t All; struct { __IO uint16_t NA580:9; __IO uint16_t INPIN_FMT:2; __IO uint16_t INPIN_LVL:2; __IO uint16_t INPIN_HYST:1; __IO uint16_t INPIN_IGNORE:1; }; }LMX_R58; union { __IO uint16_t All; struct { __IO uint16_t LD_TYPE:1; __IO uint16_t NA590:15; }; }LMX_R59; union { __IO uint16_t All; __IO uint16_t LD_DLY; }LMX_R60; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R61; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R62; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R63; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R64; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R65; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R66; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R67; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R68; union { __IO uint16_t All; __IO uint16_t MASH_RST_COUNT_B31_B16; }LMX_R69; union { __IO uint16_t All; __IO uint16_t MASH_RST_COUNT_B15_B0; }LMX_R70; union { __IO uint16_t All; struct { __IO uint16_t NA710:2; __IO uint16_t SYSREF_REPEAT:1; __IO uint16_t SYSREF_EN:1; __IO uint16_t SYSREF_PULSE:1; __IO uint16_t SYSREF_DIV_PRE:3; __IO uint16_t NA711:8; }; }LMX_R71; union { __IO uint16_t All; struct { __IO uint16_t SYSREF_DIV:11; __IO uint16_t NA720:5; }; }LMX_R72; union { __IO uint16_t All; struct { __IO uint16_t JESD_DAC1_CTRL:6; __IO uint16_t JESD_DAC2_CTRL:6; __IO uint16_t NA730:4; }; }LMX_R73; union { __IO uint16_t All; struct { __IO uint16_t JESD_DAC3_CTRL:6; __IO uint16_t JESD_DAC4_CTRL:6; __IO uint16_t SYSREF_PULSE_CNT:4; }; }LMX_R74; union { __IO uint16_t All; struct { __IO uint16_t NA750:6; __IO uint16_t CHDIV:5; __IO uint16_t NA751:5; }; }LMX_R75; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R76; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R77; union { __IO uint16_t All; struct { __IO uint16_t NA780:1; __IO uint16_t VCO_CAPCTRL_STRT:8; __IO uint16_t QUICK_RECAL_EN:1; __IO uint16_t NA781:1; __IO uint16_t RAMP_THRESH_B32:1; __IO uint16_t NA782:4; }; }LMX_R78; union { __IO uint16_t All; __IO uint16_t RAMP_THRESH_B31_B16; }LMX_R79; union { __IO uint16_t All; __IO uint16_t RAMP_THRESH_B15_B0; }LMX_R80; union { __IO uint16_t All; struct { __IO uint16_t RAMP_LIMIT_HIGH_B32:1; __IO uint16_t NA810:15; }; }LMX_R81; union { __IO uint16_t All; __IO uint16_t RAMP_LIMIT_HIGH_B31_B16; }LMX_R82; union { __IO uint16_t All; __IO uint16_t RAMP_LIMIT_HIGH_B15_B0; }LMX_R83; union { __IO uint16_t All; struct { __IO uint16_t RAMP_LIMIT_LOW_B32:1; __IO uint16_t NA840:15; }; }LMX_R84; union { __IO uint16_t All; __IO uint16_t RAMP_LIMIT_LOW_B31_B16; }LMX_R85; union { __IO uint16_t All; __IO uint16_t RAMP_LIMIT_LOW_B15_B0; }LMX_R86; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R87; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R88; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R89; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R90; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R91; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R92; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R93; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R94; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R95; union { __IO uint16_t All; struct { __IO uint16_t NA960:2; __IO uint16_t RAMP_BURST_COUNT:13; __IO uint16_t RAMP_BURST_EN:1; }; }LMX_R96; union { __IO uint16_t All; struct { __IO uint16_t RAMP_BURST_TRIG:2; __IO uint16_t NA970:1; __IO uint16_t RAMP_TRIGA:4; __IO uint16_t RAMP_TRIGB:4; __IO uint16_t NA971:4; __IO uint16_t RAMP0_RST:1; }; }LMX_R97; union { __IO uint16_t All; struct { __IO uint16_t RAMP0_DLY:1; __IO uint16_t NA970:1; __IO uint16_t RAMP0_INC_B29_B16:13; }; }LMX_R98; union { __IO uint16_t All; __IO uint16_t RAMP0_INC_B15_B0; }LMX_R99; union { __IO uint16_t All; __IO uint16_t RAMP0_LEN; }LMX_R100; union { __IO uint16_t All; struct { __IO uint16_t RAMP0_NEXT_TRIG:1; __IO uint16_t NA1010:2; __IO uint16_t RAMP0_NEXT:1; __IO uint16_t RAMP1_RST:1; __IO uint16_t RAMP1_DLY:1; __IO uint16_t NA1011:10; }; }LMX_R101; union { __IO uint16_t All; struct { __IO uint16_t RAMP1_INC_B29_B16:14; __IO uint16_t NA1020:2; }; }LMX_R102; union { __IO uint16_t All; __IO uint16_t RAMP1_INC_B15_B0; }LMX_R103; union { __IO uint16_t All; __IO uint16_t RAMP1_LEN; }LMX_R104; union { __IO uint16_t All; struct { __IO uint16_t RAMP1_NEXT_TRIG:1; __IO uint16_t NA1050:2; __IO uint16_t RAMP1_NEXT:1; __IO uint16_t RAMP_MANUAL:1; __IO uint16_t RAMP_DLY_CNT:11; }; }LMX_R105; union { __IO uint16_t All; struct { __IO uint16_t RAMP_SCALE_COUNT:1; __IO uint16_t NA1060:1; __IO uint16_t RAMMP_TRIG_CAL:1; __IO uint16_t NA1061:13; }; }LMX_R106; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R107; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R108; union { __IO uint16_t All; __IO uint16_t BIT; }LMX_R109; union { __IO uint16_t All; struct { __IO uint16_t NA1100:5; __IO uint16_t rb_VCO_SEL:3; __IO uint16_t NA1101:1; __IO uint16_t rb_LD_VTUNE:2; __IO uint16_t NA1102:4; }; }LMX_R110; union { __IO uint16_t All; struct { __IO uint16_t rb_VCO_CAPCTRL:8; __IO uint16_t NA1110:8; }; }LMX_R111; union { __IO uint16_t All; struct { __IO uint16_t rb_VCO_DACISET:9; __IO uint16_t NA1120:7; }; }LMX_R112; }_LMX2595_REG; typedef struct { //GPIO type GPIO_TypeDef *gpio; uint16_t gpio_pin; }LMX_PORT_T; typedef struct { //LMX type LMX_PORT_T SCK; LMX_PORT_T SDI; LMX_PORT_T CSB; LMX_PORT_T LDO; }LMX_MAP_T; extern void Lmx_PortIntit(void); extern void SetLmxParameter(void); extern void SetLmxFreq(void); extern void ConfigLmxAgain(void); extern void CheckLmxLdStatus(void); extern void LMX2592_WRITE_FREQ(double freq); extern _LMX2595_REG lmx; #endif