Для начала хочу получить от нее 40 МГц, режим full chip mode, на входе 32.768 MHz.
На выходе примерно 42.5185 МГц, на тестовоый пин вывел Digital Lock - не лочится.
Вывел N divider - на нем не оч красивый клок около 69MHz, вместо ожидаемых 65.536 (я включил удвоитель OSC_2X=1).
Настройки делителя и множителя верные, Fast Lock не использую и не настраивал. Остальные параметры настроил
не вполне уверен что правильно, в частности, для Charge Pump не знаю какую оптимальную величину задать. Пробовал мин, макс и посередине.
Настройки такие:
Код
lmxwrite 0x00000017
lmxwrite 0x0000008d
lmxwrite 0x0000001c
lmxwrite 0x28001409
lmxwrite 0x0111cf88
lmxwrite 0x001f3316
lmxwrite 0xa0000005
lmxwrite 0xff4b8214
lmxwrite 0x11bc7f03
lmxwrite 0x07200002
lmxwrite 0x02000011
lmxwrite 0xfc000220
lmxwrite 0x0000008d
lmxwrite 0x0000001c
lmxwrite 0x28001409
lmxwrite 0x0111cf88
lmxwrite 0x001f3316
lmxwrite 0xa0000005
lmxwrite 0xff4b8214
lmxwrite 0x11bc7f03
lmxwrite 0x07200002
lmxwrite 0x02000011
lmxwrite 0xfc000220
Вот в более читабельном виде:
Код
// LMX settings bits
#define LMX_VCO_DIV_OPT 0 // VCO_DIV > 1
#define LMX_AC_TEMP_COMP 24 // Temp drift compensation as for fixed freq
#define LMX_VCOGAIN 12 // Default is 12, valid if VCO_DIV == 1 (bypass)
#define LMX_OUTTERM 12 // Default is 12
#define LMX_DIVGAIN 15 // Default is 12, valid if VCO_DIV > 1
#define LMX_RFOUT 1 // Enable RFout control via EN_RFout pin
#define LMX_FL_CPG 0 // Not using Fastlock feature currently
#define LMX_FL_RF_LF 0 // Not using Fastlock feature currently
#define LMX_FL_R3_LF 0 // Not using Fastlock feature currently
#define LMX_FL_TOC 0 // Not using Fastlock feature currently
#define LMX_C4_LF 15 // C4 = 100pF (max)
#define LMX_C3_LF 15 // C3 = 20pF (max)
#define LMX_R4_LF 2 // R4 = 2k
#define LMX_R3_LF 2 // R3 = 2k
#define LMX_VCO_DIV
#define LMX_OSC_FREQ 33 // OSCIn freq nearest value
#define LMX_FSK 0 // FSK Mode Disabled
#define LMX_DLOCK 4 // Digital Lock detect Window Size = 11.5
#define LMX_CPT 0 // Normal Operation
#define LMX_DITH 3 // Dithering Disabled
#define LMX_ORDER 3 // Delta Sigma Modulator Order = 3
#define LMX_FDM 1 // Extended Fractional Denominator Mode Enable (22-bit)
#define LMX_OSC_2X 1 // OSCin frequency is doubled
#define LMX_CPP 0 // Negative Charge Pump Polarity
#define LMX_MUX 8//3 // Ftest/LD pin is Digital Lock Detect <-- now is 8 for N-div output
#define LMX_CPG 9 // 1.0 mA charge pump curr
#define LMX_XO 0 // Single ended
#define LMX_POWER_DOWN 0 // Powered Up
#define LMX_MODE 0 // Full Chip Mode
#define LMX_DEN 3276800
#define LMX_PLL_NUM <--- this calculating at runtime
#define LMX_PLL_N <--- this calculating at runtime
#define LMX_PLL_R 1 // dummy value, R divider is bypassed, frequency doubler enabled
#define LMX_VCO_DIV_OPT 0 // VCO_DIV > 1
#define LMX_AC_TEMP_COMP 24 // Temp drift compensation as for fixed freq
#define LMX_VCOGAIN 12 // Default is 12, valid if VCO_DIV == 1 (bypass)
#define LMX_OUTTERM 12 // Default is 12
#define LMX_DIVGAIN 15 // Default is 12, valid if VCO_DIV > 1
#define LMX_RFOUT 1 // Enable RFout control via EN_RFout pin
#define LMX_FL_CPG 0 // Not using Fastlock feature currently
#define LMX_FL_RF_LF 0 // Not using Fastlock feature currently
#define LMX_FL_R3_LF 0 // Not using Fastlock feature currently
#define LMX_FL_TOC 0 // Not using Fastlock feature currently
#define LMX_C4_LF 15 // C4 = 100pF (max)
#define LMX_C3_LF 15 // C3 = 20pF (max)
#define LMX_R4_LF 2 // R4 = 2k
#define LMX_R3_LF 2 // R3 = 2k
#define LMX_VCO_DIV
#define LMX_OSC_FREQ 33 // OSCIn freq nearest value
#define LMX_FSK 0 // FSK Mode Disabled
#define LMX_DLOCK 4 // Digital Lock detect Window Size = 11.5
#define LMX_CPT 0 // Normal Operation
#define LMX_DITH 3 // Dithering Disabled
#define LMX_ORDER 3 // Delta Sigma Modulator Order = 3
#define LMX_FDM 1 // Extended Fractional Denominator Mode Enable (22-bit)
#define LMX_OSC_2X 1 // OSCin frequency is doubled
#define LMX_CPP 0 // Negative Charge Pump Polarity
#define LMX_MUX 8//3 // Ftest/LD pin is Digital Lock Detect <-- now is 8 for N-div output
#define LMX_CPG 9 // 1.0 mA charge pump curr
#define LMX_XO 0 // Single ended
#define LMX_POWER_DOWN 0 // Powered Up
#define LMX_MODE 0 // Full Chip Mode
#define LMX_DEN 3276800
#define LMX_PLL_NUM <--- this calculating at runtime
#define LMX_PLL_N <--- this calculating at runtime
#define LMX_PLL_R 1 // dummy value, R divider is bypassed, frequency doubler enabled