Saturday, June 8, 2013

Analog Devices ADF4107 Based RF Frequency Synthesizer

I have had a few projects recently needing a stable local oscillator (LO) source for downconversion, notably my hydrogen line radio telescope and a few receivers for low earth orbit high frequency satellite transmitting in the 5.8Ghz range. I have attempted the use of various VCOs along with a very stable power supply to produce a stable LO frequency, but this over the long term has proven unsuccessful. My previous designs used a  precision adjustable voltage regulator trying both analog and digital precision trim-pots, but temperature drift among other things resulted with it being too difficult to keep a stable frequency. These solutions would need constant calibration which proved to be unreliable for a true stable LO source. An alternate good solution could be the use of a precision frequency synthesizer / phase-locked loop from a reference source to produce a stable frequency. Researching frequency synthesizers, I came across the Analog Devices ADF series of PLL frequency synthesizers which I ultimately ended up choosing for my design.

I wanted the design to be flexible, that is with a single board I could populate it with a variety of VCOs only having to update the ADF4107 register configuration and the loop filter component values to produce a fixed or tunable frequency. My final design achieved this goal.

ADF4107 based frequency synthesizer
This design was based on the Analog Devices ADF4107 frequency synthesizer. The ADF4107 consists of a low-noise phase frequency detector that uses a programmable reference divider and prescaler to run a VCO via a precision charge pump to produce a stable locked frequency from a fixed reference oscillator. There are many variations within the ADF frequency synth family, I chose the 4107 as it met my needs with a maximum frequency of 7Ghz.

The ADF4107 can utilize a variety of VCOs, I chose to go with a Z-Comm device which I have used in many previous designs. The specific VCO used in this version is a V940ME02. It has an adjustable output frequency range of 5220 to 5420Mhz which fit well into the 5.40Ghz LO needed for my downconverter. The reference input to the PLL is provided by a 32Mhz TCXO crystal, which was a last minute change as I ordered the wrong package type for the original 20Mhz TCXO I had specified for the design. Only some reference counter changes were needed to use the alternate crystal that I had in my parts bin.

The ADF4107 itself is a very complex device looking at both its usage and programming. To help integrate this family into your design, Analog Devices has a great tool called ADIsimPLL to assist with the initial design regarding calculations of output frequency range based on the reference frequency input. It will also assist with selecting the loop filter component values based on a given design among many other useful things.

ADIsimPLL screenshot
My ADF4107 synthesizer is controlled via a SPI bus from a Microchip PIC18F14K50 microcontroller. After the initial power up of the ADF4107, multiple registers must be sequentially loaded to define the prescaler counters among other configuration flags. The PIC stores and handles this configuration. I have also included an external serial interface into the design to allow remote tuning and control of the frequency synthesizer via the PIC, although in this specific design it is not being used as it only needs to provide a single hard-coded fixed frequency.

The design itself follows good mixed-signal design practices. The board is a four-layer design that I had received from my favorite fab house, OSH Park. Upon receiving, I populated by first board by hand and had a working board on power up. ADF4107 register programming took a bit as the specific loading order of the registers was tricky, but once mastered, the PLL immediately locked onto 5.40Ghz according to my frequency counter. I couldn't view it directly on my spectrum analyzer as it only goes to 3Ghz, but the frequency counter was nicely stable at 5.4 Ghz plus or minus a few hundred hz. Each subsequent PLL lock is almost instantaneous. I added two LEDs to some spare PIC outputs, one of them is used to indicate when there is PLL lock and a spare that can be used for any additional status I wish to see.

An output filter is included in the design, in this case it has a center frequency of 5.4Ghz. Filters of this frequency are easy to find as they are used a lot in 802.11a WLAN hardware. I did not include an output amplifier on this board as I had planned to keep the design as simple as possible, instead I would be using an external amplifier. This will need to be the case as the output of this VCO at 5.4Ghz is -15dBm, which is not high enough to provide a LO for most mixers. So on any future redesigns, I may add an amplifier back in.

Sunday, June 2, 2013

Lowrance Globalmap / LMS GPS Antenna Replacement Modification

The older Lowrance Globalmap and LMS series of marine electronics are terrific GPS receivers. The only common issue I see with them is that the GPS antenna units for them often go bad. The antenna are about 4" round white pucks that you mount high up on your boat that actually contains the GPS antenna / receiver along with an optional DGPS receiver. This then connects to the back of your Lowrance unit supplying power and communication to the antenna from the head unit itself.

There are two series of these GPS antennas depending on how new your Lowrance unit is. The older ones are NMEA-0183 based while the newer stuff is NMEA-2000 based (most models support both). The advantage of the older 0183 protocol is that is uses a simple RS-232 serial interface, while the 2000 protocol is CAN-bus based (not that this is bad, CAN is a great protocol, but for the point of interfacing these units the RS-232 protocol is significantly easier to work with). Both of my units (A Globalmap 3000 and LMS-480) support NMEA-0183.

Repairing the antennas themselves is a huge pain. I have a dead Lowrance LGC-3000 GPS CAN bus antenna that I cracked open to take a look inside, these units are definitely designed to not be opened, it took some serious cutting to get inside.

Inside Lowrance LGC3000

Nothing unexpected found, a basic GPS receiver, small micro, and an impressive watertight enclosure. Typically I see the micro and/or GPS receiver itself is dead. I'm not sure if heat is the cause or possibly static discharge is, but repairing usually isn't really feasible. Just getting into the thing pretty much destroys the nice water-tight enclosure.

So what to do if your GPS antenna is dead and don't want to spend $100+ for a new one? Simply use any GPS receiver that outputs NMEA-0183 data and feed it directly into the Lowrance spare serial port. This is pretty much every GPS receiver / module ever made.

Each device within the Lowrance family has an optional NMEA-0183 input (and sometimes output depending on device) that allows you to daisy-chain units together. So a single unit connected to the GPS antenna can send the GPS information via NMEA-0183 through multiple units allowing you to need only one antenna. Now the cool thing about this is in the Lowrance configuration menu, you can set which serial input you wish to receive the GPS information from along with what GPS strings you want to receive. This means you can feed NMEA-0183 GPS strings directly into the units spare serial input from any 0183 compatible receiver, not needing to use the Lowrance expensive antenna.

My solution as to use an old 12 channel Cirocomm receiver that I have had laying around which cost about $12. This receiver runs off of 3.3V- 5V and outputs TTL level NMEA-0183 GPS strings. The original GPS  module in the LGC puck can also be used as long as it is not dead itself. To use this with the Lowrance, I added an RS-232 level converter and small power supply to run directly off of 12V. I had these boards already designed and built for Xbee use, it was just a matter of wiring in the GPS unit to make it work. The only downside of this is you need to power the GPS unit directly as the Lowrance does not supply power on the spare serial interfaces like it does on the direct GPS interface. The serial interface requires only two wires, TX from the GPS antenna to RX on the Lowrance unit and ground. You could also interface this into the GPS input connector on the Lowrance, but if you are missing the antenna and cable, wiring to the spare serial interface avoids sourcing the expensive twist-lock connector. Once the new receiver is put together the only thing remaining to do is to mount it in a sealed watertight enclosure, something nice looking so it doesn't look stupid. Also preferably something plastic and white to reflect heat and be transparent to the GPS signal.

To use, set the Lowrance to use the NMEA-0183 input for GPS, then set the correct baud rate and GPS strings your receiver supports ($GPGGA and $GPGLL are the important ones). That is all, the Lowrance should respond indicating it is receiving GPS data and begin to populate you satellite information screen. Multiple units can then also be daisy-chained in the exact same manner.

Lowrance Globalmap 3000 NMEA Config
My Cirocomm GPS unit defaults to 4800 8N1, which is fine and sends $GPGLL, $GPGGA, $GPGSA, and $GPRMC strings, so make sure those are selected in the GPS configuration. If daisy-chaining, make sure the NMEA outputs are also enabled and set to the same baud rate on the sending units.

Lowrance LMS-480 NMEA Config
Note that again almost any GPS receiver can be used to supply GPS information to the Lowrance. Something like an old Garmin GPS 12 also works great as a spare if your antenna dies, simply take its NMEA-0183 output and feed it directly into the input of the Lowrance in the exact same manner.

Both units are daisy-chained off of my GPS receiver. Note testing was in my basement, so no GPS lock here