Frequency Synthesizer User's Guide (TN-006)


This article describes the Frequency Synthesizer developed at CSU-CHILL suitable for use as the STALO for the Solid-state X-band project as well as on the CSU-CHILL and CSU-Pawnee radar systems.

Block Diagram

The figure below shows a block diagram of the frequency synthesizer. An Atmel microcontroller (ATmega164P) is used as the primary controller. Two serial interfaces are provided, RS-232 and RS-485. The RS-232 interface may be configured as a DCE or DTE through jumpers. An in-system programming (ISP) port is provided. Three indicator LEDs and 8 GPIOs are available. A Herley-CTI XS synthesizer module produces the 9 GHz output. Finally, an alphanumeric display is used to indicate the current operating frequency.

Frequency Synthesizer Block Diagram

Frequency Synthesizer



The microcontroller used is an Atmel ATmega164P. This device contains 16k Flash memory, 1k of SRAM and 512 bytes of EEPROM. The ATmega series of controllers is chosen since they provide an inexpensive means of controlling remote devices, and open-source programming tools such as WinAVR are available.

Two independent USARTs are available on the device. In this design, they are used to drive the RS-232 and RS-485 interfaces of the synthesizer. The RS-485 interface is used to implement the Modbus/RTU protocol. This permits the synthesizer to be remotely controlled, while sharing the control bus with various other devices that also use the Modbus protocol.

The SPI interface port available on the microcontroller provides a convenient means of controlling the Herley-CTI XS microwave synthesizer module, which requires a serial interface. The same interface is also used to control the on-board LED display.

I/O ports available on the controller are used to implement the 8-bit GPIO port on the board. Each bit has independent direction control and an optional pullup resistor.

The microcontroller is clocked by a 7.3728 MHz crystal oscillator. The frequency is chosen to be a multiple of popular serial port baud rates such as 9600 bps. This permits the microcontroller to divide down the oscillator frequency to the baud rate with a very small error.


The design uses a Herley-CTI XS series microwave multiloop frequency synthesizer. The exact model used can be chosen based on the application. In the case of the X-band project, an XS-9303 was chosen, which can output between 9.16 and 9.36 GHz, with a step-size of 1 MHz. The synthesizer phase-locks to a 10 MHz reference signal at 0 dBm input power.

The synthesizer achieves phase lock within 60-100 ms of being issued a frequency switch command. It is programmed over a serial port, which uses a strobe, clock and data, similar to the SPI bus. The output power is rated at +13 dBm. An alarm output is available, which permits external devices to know if the synthesizer has fallen out of lock,

The synthesizer is chosen for its excellent RF properties. It can achieve harmonics 60 dB below the carrier frequency (second harmonic). The phase noise specifications are shown below:

Offset from Carrier (Hz) Phase Noise (dBc)
Spec @ 9.16 GHz @ 9.36 GHz
100 -80 -80 -80
1k -95 -96 -96
10k -100 -100 -101
100k -104 -108 -108
1M -127 -134 -134

Phase Noise Specifications - XS9303 synthesizer

Communication Interface

The frequency synthesizer provides two means of communication: RS-232 and Modbus/RTU over RS-485.


The RS-232 protocol is used when the synthesizer must operate in an environment without any available Modbus infrastructure. The port is used merely as a means of downloading a configuration to the synthesizer, which is stored on the EEPROM non-volatile memory.

The RS-232 port can be configured for either DCE (Data Communications Equipment) or DTE (Data Terminal Equipment) modes of the RS-232 standard. In the DCE mode, a straight-through cable can be used to attach the synthesizer to a standard DB-9 Serial Port, such as those found on PCs or USB-to-Serial converters. In the DTE mode, a crossover cable is needed to attach to a standard port. The modes are chosen by selectively populating resistors, as shown below:

R15 R16 R17 R18 R19 R20 R21 R22
DCE Mode x x x x
DTE Mode x x x x

RS-232 Mode Selection Resistors

Modbus/RTU over RS-485

The Modbus/RTU over RS-485 protocol is used in an environment where the synthesizer output frequency must be changed over time. The Modbus/RTU protocol provides an industry-standard mechanism to achieve this. The RS-485 physical-layer provides a multi-drop bus, which permits multiple devices to attach to the bus by tapping off the differential-pair transmission line.

The Modbus/RTU protocol assigns a unique address to each device on the bus. The controller uses a DIP switch to assign a Modbus address.

Switch Position Address
3 2 1 0
0 0 0 0 0x40
0 0 0 1 0x41
0 0 1 0 0x42
0 0 1 1 0x43
0 1 0 0 0x44
0 1 0 1 0x45
0 1 1 0 0x46
0 1 1 1 0x47
1 0 0 0 0x48
1 0 0 1 0x49
1 0 1 0 0x4A
1 0 1 1 0x4B
1 1 0 0 0x4C
1 1 0 1 0x4D
1 1 1 0 0x4E
1 1 1 1 0x4F

Modbus/RTU Address Switch Settings

In addition to the standard Modbus/RTU signals, the synthesizer also provides an open-drain alarm output (ALM), which may be wire-or connected with other Modbus/RTU devices in order to provide an interrupt or service required line to the Modbus master. The output is driven by a VN10 MOSFET, and can sink up to 150 mA.


The synthesizer includes the Avago HCMS-2973 eight-character dot-matrix LED display. The display interfaces to the microcontroller through the SPI bus. It appears as a shift register, with each bit corresponding to a pixel on the display. The microcontroller driver code includes a character map to convert ASCII characters to their dot-matrix representations. The display is used to indicate frequency setting and error messages.

LED Indicators

The board features three LED indicators, as shown below

Indicator Color Purpose
ALARM Red Indicates an alarm condition (such as synthesizer out-of-lock)
OK Green Indicates normal operating conditions. Blinks to indicate that a host has addressed the synthesizer on the Modbus interface.
COMM Yellow Flashes to indicate any communications activity on the Modbus interface

LED Indicators

Modbus Registers

The interface to the synthesizer is through Modbus/RTU. The Modbus communications model is a single master controlling various slave devices[1]. Each slave is addressable, and has different registers which may be read or written. This design implements read-only registers (referred to as Input Registers in the Modbus specifications) and read-write registers (Holding Registers). There are no coils or status bits available.

Input Registers

The available input registers are shown in the table below:

Register Number Name Description
1000 ALARM Indicates the cause of any alarms indicated by the Modbus ALM signal. Reading the register clears the alarm condition and deasserts the Modbus ALM signal.
1001 STATUS Indicates the operating status of the synthesizer.
1002 GPIO_IN Reflects the contents of the GPIO port

Input Register Map

7-1 0
Reserved Synthesizer Unlocked

ALARM register

7-1 0
Reserved Synthesizer Unlocked

STATUS register

Holding Registers

The available holding registers are shown in the table below:

Register Number Name Description
1000 CHANNEL The current channel at which the synthesizer module operates. The channel-to-frequency mapping is specific to the XS-93xx module used.
1001 CONTROL Operating parameters for the synthesizer module
1002 DEFCHANNEL The default channel to use on power-on. This is stored to Non-volatile storage.
1003 DEFCONTROL The default control word to use on power-on. This is stored to Non-volatile storage.
1004 GPIO Writing to this register changes the state of the GPIO pins (when configured as outputs) and the state of the pullups (when configured as inputs).
1005 GPIODIR Writing to this register changes the state of the GPIO pins (when configured as outputs) and the state of the pullups (when configured as inputs).
1006 DEFGPIO Default GPIO Output/Pullup, stored in EEPROM.
1007 DEFGPIODIR Default GPIO Direction, stored in EEPROM.

Holding Register Map

Channel Frequency (GHz)
0 9.160
1 9.161
2 9.162
... ...
200 9.360

Channel-to-Frequency Mapping, CHANNEL register (for XS-9303)

7-1 0
Reserved Display Mode (0 - Frequency, 1 - Channel Number)



Refdes Purpose
J1 Controller Power
J2 Modbus I/O
J3 RS-232 I/O
J4 Frequency Synthesizer Interface
J6 Synthesizer +5.2V Supply
J7 In-System Programming Port
J8 Synthesizer +15V Supply

List of Connectors

Controller Power

This connector provides power to the microcontroller and logic circuits. This connector provides reverse-voltage and over-voltage protection. Any voltage over 6.8V or below -0.6V will cause an on-board Transient Suppressor Diode to switch on. Prolonged fault voltages may cause damage to the board.

Pin Signal
1 +5V

J1 (Controller Power)

Modbus I/O

This connector allows the synthesizer to connect to a Modbus/RTU bus. Also provides connection to the ALM (alarm) output. The "A" and "B" outputs are protected by a pair of transient suppressor diodes. Ferrite common-mode chokes are also provided for additional noise immunity.

Pin Signal
1 A
2 B

J2 (Modbus I/O)

RS-232 I/O

This connector allows the synthesizer to connect to an RS-232 port. Note that two possible pin-outs are possible, based on whether the board is configured as a DCE or a DTE.

Pin Signal
1, 4, 6, 9 No Connect No Connect
5 Signal GND Signal GND

J3 (RS-232 I/O)

Frequency Synthesizer I/O

This connector is attached by a 10-pin ribbon cable to the XS synthesizer module.

Pin Signal
1,2 GND
3,4 +5.2V to Synthesizer
5 +15V to Synthesizer
6 No Connect
7 Locked input
8 Serial Clock
9 Serial Enable
10 Serial Data

J4 (Frequency Synthesizer I/O)


The GPIO connector is not populated, but will accept a 16-pin shrouded header. The General-purpose I/O pins are available on this port. The I/O pins are 5V TTL compatible, and have a 22 ohm series resistor. If 3.3V I/Os are used, ensure that the target device has clamp diodes to +3.3V, and replace the 22 ohm series resistor networks with 330 ohm.

Pin Signal
2,4,6,8,10,12,14,16 GND
1 GPIO 0
3 GPIO 1
5 GPIO 2
7 GPIO 3
9 GPIO 4
11 GPIO 5
13 GPIO 6
15 GPIO 7

J5 (Frequency Synthesizer I/O)

Synthesizer Power (+5.2V)

This connector is connected to the +5.2V (at 900 mA) power supply for the XS Synthesizer module

Pin Signal
1 +5.2V

J6 (Synthesizer +5.2V Power)

In-System Programming Port

This connector permits the ATmega164P Flash and EEPROM to be programmed during development. It is designed to mate with the Atmel AVRISP mkII programming cable.

Pin Signal
2 +5V

J7 (In-System Programming Port)

Synthesizer Power (+15V)

This connector is connected to the +15V (at 80 mA) power supply for the XS Synthesizer module

Pin Signal
1 +5.2V

J8 (Synthesizer +15V Power)

Other Resources


  1. Modbus specifications

External Links