2025-02-07 08:30 AM
Hi, all. I've been beating my head against this problem for a few days now. I'm not getting any output from an STW81200 frequency synthesizer. I used the schematic from the eval board except that the reference is a crystal oscillator. Power is supplied by a VCC of 3.3 Volts. The registers are initialized as follows:
WriteLORegister(9, 0x0000000);
WriteLORegister(8, 0x0000001); /* 2.6V output */
WriteLORegister(7,
(0 << 25) | /* Tristate LD */
(1 << 24) | /* LD at 2.5V CMOS level */
(0 << 23) | /* LD becomes SDO when SPI active */
(0 << 21) | /* LD pin is lock detect */
(0 << 20) | /* Disable over current protect on LDO */
(0 << 19) | /* Disable cycle slip */
(0 << 18) | /* Disable fast lock */
(0 << 13) | /* Fast lock charge current */
2 /* Fast lock counter value */
); /* See datasheet page 46 */
WriteLORegister(6, 0x0000000);
WriteLORegister(5, 0x0000000); /* Everything full power */
WriteLORegister(4,
(1 << 23) | /* RF Out power */
(1 << 22) | /* VCO 2.5 Volt mode */
(0 << 19) | /* External VCO not enabled */
(5 << 15) | /* VCO signal level */
(0 << 14) | /* VCO direct to N divider */
(2 << 12) | /* Charge pump at 2.6V */
(0 << 11) | /* Compensation enabled */
(0 << 10) | /* PFD polarity 0 = standard */
(2 << 8) | /* Reference = XTal */
(0 << 7) | /* Mute on unlock off */
(0 << 6) | /* Lock indicator active high */
(1 << 3) | /* Lock detect precision = 4 ns */
1 /* Lock detector count = 1 */
); /* See datasheet page 41 */
WriteLORegister(3, DOUBLE_BUFFER_MASK | 1);
WriteLORegister(2, DOUBLE_BUFFER_MASK | RF_OUTPUT_DISABLED | FRAC_MOD);
SetSTWFrequency(50);
The SetSTWFrequency call sets ST1 to 0x04C00002 and ST0 to 0x04C00085. After initialization, I read back register 10 to be 0x0003E06C, which indicates that all the LDOs are up and not in a fault condition, but that the PLL is not locked, which makes sense because apparently the VCO is not operating!
The HW_PD pin is low, as is PDRF1.
The 24 MHz reference crystal is oscillating, as I can see on a scope.
Where the heck should I look?