Tuesday, December 30, 2014

10MSPS ADC with a BeagleBoneBlack

I wanted to revisit the ADC board used previously with a BBB for SDR and instrumentation work. The first version used a serial ADC with a PRU.  It produced acceptable SDR results (and here and here )  However, for instrumentation work the SFDR was less than desired due to amplifier selection (saga described here).

The first goal was to increase the sample rate without resorting to an FPGA.  Previous measurements and benchmarks indicated that 10MSPS should be possible.  Additional bits of resolution was also a goal.  Most serial ADCs at 14+ bits do not have sample and hold bandwidths high enough for use in the intended subsampling application.  In addition, getting to just 2.5MSPS using a serial interface is challenging using only a PRU to clock the data. I decided to start simple and use a parallel part with a differential input.  The LTC2225 was selected as it supports the desired sampling rate, has a large SH bandwidth, is reasonably priced, readily available, and has a 12 and 14 bit variants.

Another goal was to stack the new ADC board with an existing IO board thus allowing a single BBB to control mixers, gain and filter boards.  The led to PRU1 being used to interface with the parallel ADC.

The following is a block diagram:
BeaglBoneBlack 10MSPS ADC board
There were some errors and difficulty involving the power on reset circuitry (PRU1 R31 uses pins that are shared with the system boot mode selection).   The following is a picture of the updated and functional assembly (white wires and all).  Given the changes I will post a schematic once the PCB has been updated.
10MSPS ADC mounted on BBB.
TCXO upper left, LTC2225 upper right, LTC6406 bottom right, regulator and power-on circuitry lower left.
Even though it can't be stacked yet, its good enough to take some measurements and work on the software for higher sample rate processing.

Monday, December 22, 2014

Interface Board Updates

An interface board was developed to provide 3 ports of 6 discretes and +5V in a 2x5 header connector.  It also allows high side switching of the +5V supply. The first version is described here. I did not properly check the power-on state of the enable gpios. I also realized that I should have buffered all of the pins.  Most digital IOs have ESD protection diodes.  What this means is if you are not careful, a digital high voltage can partially power the part when the main supply is switched off.  This has the negative effect of raising a pin above VDD (which is ~0) and can damage the part.  The software worked around this by ensuring that when the supply was disabled all IO pins were at 0.  I took the opportunity to correct this and add a FET buffer between the BBB gpios and the connector pins.
There was one error on the board where the inputs to an inverter were swapped (NC was connected to the input).  By using a NOR gate in the same package rather than the inverter I was able to correct this without a white wire.  The schematic is shown below.
There is one pin unused (PRU1_R31_15) on the P9 connector to allow stacking with a board using the rest of the PRU1 pins on P8.

Sunday, November 30, 2014

Prj133 Mixer at 1575MHz IF (Part 2)

Given the issues with the high frequency balun, I populated the synthesizer and discrete balun for a 1575MHz IF output.  The schematic can be found in this post. The balun values used are shown below.
DC blocking capacitors
DC supply chokes
4:1 Lattice Balun inductor
4:1 Lattice Balun capacitor

The following is a picture of the final assembly:
Synthesizer (ADF4351 - left off center) and Mixer (LTC5510 - right center) using a 1575 MHz discrete balun (upper right).  Power and digital interface at left via 2x5 header.  
This was then used to sweep 200MHz about an IF of 1575MHz using various RF input frequencies.

The measurement device has an uncertainty of +/-2 dB.  The input RF level should remain fixed, however, its level can be pulled a dB or so with load reactance.  So the +/- dB wobble across the IF band is not a surprise.  The level falling off with increased frequency is also not a surprise given the board loss with the LO at 3.2GHz for the higher RF input cases. 

Sunday, November 16, 2014

Prj133 Mixer at 1575MHz IF

The most significant challenge has been hand mounting the high frequency output balun.  The part is so small and only has 6 small pads that it has proven very difficult to seat properly.  Even the smallest amount of excess solder causes the part to not self align properly leaving one of the pads open.  Unlike some of the QFN parts I have used there are not enough pads to create enough surface tension to decently self align.  In the process of wicking off excess solder it is very easy to wick off too much and again wind up with an open.

In an attempt to address these difficulties, I started by mounting the balun first without any other components and measuring the resistance between the pads at the board level to ensure there were no opens.  The following is a picture of that.

This produced an output that was about 10dB lower than expected.  In retrospect, I may have been having problems using the external LO port and getting enough power into the mixer coupled.  In addition there uncertainties in drive level (+/- 5dB) and measurement level (+/- 2dB).  In short, I had myself convinced an open had appeared and proceeded to rework the part mounting.  This led to more problems with opens and alignment. Finally, I ended up tearing off a couple of pads by accident.  The part is so small with only 6 pads its easy to accidentally move it as the solder is not fully at temperature.  The figure below captures that saga.

The top part has missing pads and the bottom part is for reference.  Pin one indicator at left.  Pin 6 pad is missing while pin 1 is partially lifted. The trace to left of parts is 0.2mm, the C146 lands are for an 0805 part, the ground plane vias are 0.89mm diameter.  At this point, the discrete balun was looking pretty good ...

The overall mistake was to use orthogonal pads.  The datasheet for the balun recommends taking the corner pads out at a 45 degree angle.  This would have given enough vertical and horizontal pull to self align including the middle two pads.

Saturday, November 1, 2014

Prj133 Mixer at 315MHz IF

Admittedly, using a 10.7MHz IF is not very challenging, however, it was a good first step to understand the PCB, the LTC5510, and the balun responses.  The next step was to use a higher IF.  315MHz was chosen due to the wide spread availability of low cost SAW filters.  The following captures that construction.
Initial measurements showed what appeared to be some shunt capacitance between the differential output lines.  Based on frequency response roll offs it looked like about 2pF.  This is higher than I had hoped.  I cut the traces to the pads for the high frequency SMT balun hoping this would alleviate some of that (it did not).  The DC feed chokes for the differential outputs were reduced from 1uF to 39nF in an effort to use them to cancel the shunt capacitance.  The table of final values used is shown below.

4:1 315 MHz Balun Part
DC blocking capacitors
DC supply chokes
4:1 Lattice Balun inductor
4:1 Lattice Balun capacitor
Measurements were taken with a 1220MHz RF input at -15dBm while the LO was high side swept.  Those results are shown on the following graphs.

Based on the above figure the mixer gain is on the order of a dB or so at the frequency response peak.  This is within expected results all things considered (the uncertainty of the test equipment is +/-2dB).  The LO bleed through is roughly -40 dB while the RF bleed through is -25dB.  The data sheet at this supply voltage and with these frequency ranges indicates both should be <= -40dB.  The LO is fine while I suspect the RF to output port isolation is lower than the device due to PCB level issues (layout/proximity/groundplane on a routed 2 layer board).

I have noticed that a higher frequencies it is difficult to get enough power into the LO port.  The dog leg input is not helping me here but was only for early testing and sampling.  I suspect the "stray capacitance" I thought I was tuning out was a function of measurement uncertainties and LO power input roll off.  The final version will populate the on board synthesizer which has a nice impedance controlled direct differential input with the necessary power output. At this point the behavior is good enough and within expectations to move on to using the high frequency output balun.

Sunday, October 19, 2014

RF Level Characterization

While trying to measure the frequency response levels of a mixer, I was having problems accounting for the observed mixer gain.  I do not have a high quality wide ranging frequency source.  I use synthesizers built from previous efforts.  These work fine with respect to frequency accuracy and phase noise.  I knew they were not designed as signal generators and had some level variance.  For my most purposes this was fine. With this activity I needed a better estimate.  Below is the output power level at the fundamental of a ADF4351 based synthesizer.

This was taken using a SA0314 using the max hold functionality while scanning 1GHz at a time.  Beyond the expected roll off with frequency (largely due to PCB layout and board) there is a ~90MHz swing of +/- 2dB.  There is a slightly larger variance at select frequencies.  My first thought was to calibrate it out and use the 3dB power output steps of the part to get something a little better.   Unfortunately the variance changes with load and between parts.  I knew this from reading the support forums but also observed it by comparing the maximum at different frequencies through different mixers, amplifiers and load combinations. So if you are using these items in their intended application (i.e. a LO with only a minimum output requirement) its fine.  If, on the other hand, you are using it as the RF source and sweeping them across a fixed LO you end up measuring the source variance (+/- 2dB), not the mixer gain.

Sunday, October 5, 2014

Beagle Bone Black Mixer Board (Prj133)

The B board took some short cuts with the mixer input and output impedance matching for a variety of reasons.  I wanted to revisit the mixer used and focus on level control, higher input levels, and a broader band match.  The board shown below uses a LTC5510 broadband mixer.

The prototype (Prj133) includes a layout for an on-board ADF4351 synthesizer.  It uses a broad band 1:1 input balun and has provisions for a SMT high frequency output balun or a discrete lattice balun.  The board gets its power and digital interface from a Beagle Bone Black interface board (I board).  The digital controls are only used for the synthesizer.  Provisions were made to allow an external LO input in cases where the synthesizer is not populated. (NOTE: the mixer is a 0.65mm pitch part and not 0.5mm, and no when you make this mistake you can't get it to work with careful soldering/seating)
Mixer Board Using LTC5510

The following is a picture of the first unit built (synthesizer unpopulated to focus on mixer measurements).

Synthesizer (ADF4351) and Mixer (LTC5510) Board.  Power and digital interface at left via 2x5 header.  Synthesizer not populate.  External LO input from bottom center SMA.
The output sections does show a fair amount of rework.  I actually started with the high frequency SMT output balun.  I had enough problems mounting this part that I decided to back up and start with something simpler.
IF output on left, RF input on right.  Mixer in center. Discrete 4:1 Balun at left of mixer.
This output balun was designed as a 4:1 impedance match around 10.7MHz.  It was constructed using the component values shown in the following table.

4:1 10MHz Balun Part
DC blocking capacitors
DC supply chokes
4x Lattice Balun inductor
4x Lattice Balun capacitor

 The following graph captures the difference product across a swept LO using a 50 ohm LO (~ 0dBm) and RF (-15dBm) source.
Mixer IF output using a 4:1 lattice lalun
The output level of -13.2 dBm with an input level of -15.0 dBm is within expectations.  It is +1.8dB.  The datasheet indicates a 3.3V supply at 1575MHz IF output of +1.5dB.  We expected to loose a fraction of a dB on the input balun in the 1200MHz range and a fraction of a dB on the output balun due to losses as well as 245 ohm vs 200 ohm mismatch.  At this IF we would expect a slightly larger mixer gain (the datasheet does show a 44MHz IF output on page 13 but the gain is still showing 1.5 – 2 dB).  Given the uncertainty in the measurement values (at least 0.5dBm)  the device and balun are acting as expected. The output level was also verified to be constant with a varying LO from -12dBm to 0 dBm (as per datasheet results).