Author Topic: Open Source HW RF Signal Generator  (Read 10985 times)

0 Members and 1 Guest are viewing this topic.

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Open Source HW RF Signal Generator
« on: March 10, 2017, 11:08:33 AM »
I believe many of you guys have followed my attempt to build a spectrum analyzer that ultimately fizzled out because of Feature-Creep and system-complexity that drove cost and development-time up. In the end I bought a R3131A Spectrum Analyzer on ebay and despite it having some quirks, I'm pretty happy with it so far.

That being said, I now still miss one device here: A Signal-Gen capable of producing predictable results at frequencies higher than 6MHz (Cheap DDS-Generators are only good to that frequency, even though they say on the front they're capable of 24MHz).


The specs of this thing (which are FINAL now!) are the following:

- 10kHz to 3GHz Frequency Span (to match my Spectrum Analyzer)
- -120 to +13dBm digital Amplitude control (This does not need to be flat all the way up to 3GHz, I'd be ok with some amplitude-drop above 2GHz)
- Capability of the main Signal-Chain to send the signal out to an external Module and receive the signal from an external Module (This module could add different forms of modulation to the signal)
- Internal TCXO and ability to take an external reference-clock (from a GPSDO, for example)
- Use of Vero-Board where possible (High frequency signal-path is on custom-made PCB)
- Fit inside a 19inch case

To achieve this, my first idea was to use the ADF4351 Synthesizer-Module I bought for the Spectrum-Analyzer project. It works from 35MHz up to 4.4GHz.
For lower frequencies I'm using a DDS-Module based on the AD9851-Chip. I have already built a simple Network-Analyzer with that module and it worked pretty nice.

Unfortunately, the ADF4351 can only produce a square-wave. So I want to use several LC-Filters to form that square into a sine, which are switched in and out by MASWSS0115TR-3000 switches.
There are several difficulties associated with this approach, so I'm open to different ideas, like frequency mixing, if they can produce a better sine-wave.


The next difficulty is to keep the amplitude constant across the frequency-band. For frequencies up to 60MHz, a JFET-Attenuator or even a variable gain OpAmp is the way to go. For frequencies higher than that, a PIN-Diode Attenuator, controlled by an ALC-Circuit, takes care of precise attenuation of the signal that is then sent through a step-attenuator made out of 10 and 15dB Attenuator-Chips by M/A-COM. This Attenuator provides up to 110dB of attenuation in 10dB-Steps.

I hope, this time I'm not running out of  patience and/or time and actually finish this project :)

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #1 on: March 13, 2017, 01:07:25 PM »
Quick update:
Based on the Suggestions in the "ADF4351 Sinewave"-Thread, this is the current block-diagram for the LPF-Switching. You can also see the Automatic level control in this picture

Offline dmills

  • Frequent Contributor
  • **
  • Posts: 883
Re: Open Source HW RF Signal Generator
« Reply #2 on: March 14, 2017, 01:44:48 AM »
Just a thought, but something like an AD9912 clocking at 1GHz will get you near DC to maybe 400MHz sine in one hit, and the 9912 has a convenient fast comparator to turn the sine wave output into a square wave, it also programs over SPI, and has built in chirp and limited AWG functionality....

Then the square waves harmonics can be selected out with a filter to get the higher bands, maybe gets you to a GHz or so in 3 or 4 sets of BPFs. Don't forget that a wide tuning range VCO (Possibly YIG) can be phase locked to the output of the DDS, getting you DDS tuning at GHz speeds. 

Relatively low noise 1GHz VCXO are available from Crystek, and PLL chips for locking to the 10MHz reference are an AD/TI sort of thing, low pass filters are a minicircuits thing if you don't want to roll your own.

I would note that a programmable 140dB attenuator at microwave will be more challenging from a screening and leakage perspective then you would ever think possible, this one part is going to take much experimentation, I would personally build (Or buy surplus) a 0-60dB attenuators and then stock a few 30dB in line pads to screw onto the front, less annoying that way.

Personally, I would buy a second hand unit from someone like HP/R&S and have done with it, life is too short, but that is because I have interests that use such sources, but am not really interested in designing them.

Regards, Dan.
 

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #3 on: March 14, 2017, 09:53:24 AM »
The AD9912 is interesting, but I haven't found a module with it yet (I'm not comfortable with spending 50+€ on a Chip that I'm going to have trouble soldering).
There is a module available with the AD9910 though. Worth a look - Would remove the need of LowPass-Filters at lower frequencies (switching to the ADF4351 at 400MHz would remove at least 2 tuneable Filters and leave only fixed filters. The price-tag of 65€ for all the features it has is ok.

It is definitely is something I'm going to add in the future, but for the moment I'd like to keep expenses down to a minimum.
Which is why I'm going to attempt to build the LowPass-Filters myself (except for the 750MHz one, for which I already have the appropriate MiniCircuits-Part).

Using some old used equipment would be ideal, but unless a unit capable of getting as high as 2GHz drops below 250€, I'll try to make the device myself. :)

Online nctnico

  • Super Contributor
  • ***
  • Posts: 13483
  • Country: nl
    • NCT Developments
Re: Open Source HW RF Signal Generator
« Reply #4 on: March 14, 2017, 01:20:52 PM »
I wouldn't use seperate filters but integrate them on the PCB. You can design the filters using SVC filter designer ( http://www.tonnesoftware.com/svcfilter.html ). For up to -say- 800MHz you can built them using surface mounted 0603 parts. Just make sure each capacitor has 1 or more vias to the ground plane to make the filter work. For >800MHz microstripline filters are the way to go. I have created a program which can convert the component values found by SVC filter designer into an (elliptic) microstripline filter (see http://nctdev.nl/page_pg%3d17.htm ). PM me if you want me to pitch in a license for this project. Either way you can download it and play with it a little. IIRC there is also a Sonnet Lite EM simulator example project bundled in the installer. Sonnet Lite ( http://www.sonnetsoftware.com/products/lite/ ) can be used to simulate microstripline structures in general and may be helpful for this project.
« Last Edit: March 14, 2017, 01:24:45 PM by nctnico »
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 
The following users thanked this post: cdev

Offline radar_macgyver

  • Regular Contributor
  • *
  • Posts: 245
  • Country: us
Re: Open Source HW RF Signal Generator
« Reply #5 on: March 14, 2017, 03:13:44 PM »
There is a module available with the AD9910 though.

The AD9910 has an inherent flaw in that the DAC reference voltage is not brought out to an external pin for bypassing. This means that the thermal noise of the bandgap reference shows up as amplitude modulation. The AD9957 also suffers from this issue.

Consider also the RFFC5071A that integrates a multiband VCO, PFD and a pair of mixers. One could mix the synthesizer output with a filtered DDS output to get both fine tuning steps as well as reduced spurious.
 
The following users thanked this post: kony

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #6 on: March 15, 2017, 12:11:33 PM »
I wouldn't use seperate filters but integrate them on the PCB. You can design the filters using SVC filter designer ( http://www.tonnesoftware.com/svcfilter.html ). For up to -say- 800MHz you can built them using surface mounted 0603 parts. Just make sure each capacitor has 1 or more vias to the ground plane to make the filter work. For >800MHz microstripline filters are the way to go. I have created a program which can convert the component values found by SVC filter designer into an (elliptic) microstripline filter (see http://nctdev.nl/page_pg%3d17.htm ). PM me if you want me to pitch in a license for this project. Either way you can download it and play with it a little. IIRC there is also a Sonnet Lite EM simulator example project bundled in the installer. Sonnet Lite ( http://www.sonnetsoftware.com/products/lite/ ) can be used to simulate microstripline structures in general and may be helpful for this project.

I already have the programs from Tonne Software (SVC-Filter, Helicall, Elsie) and Sonnet Lite and played with those programs a little to make Filters for the spectrum-analyzer project, but I didn't know about your program. Thanks! It will surely come in handy here! The stripline-filters I have calculated so far were done by hand, using the script of a lecture I found online :)

There is a module available with the AD9910 though.

The AD9910 has an inherent flaw in that the DAC reference voltage is not brought out to an external pin for bypassing. This means that the thermal noise of the bandgap reference shows up as amplitude modulation. The AD9957 also suffers from this issue.

Consider also the RFFC5071A that integrates a multiband VCO, PFD and a pair of mixers. One could mix the synthesizer output with a filtered DDS output to get both fine tuning steps as well as reduced spurious.

Thanks for pointing that out.
Would you say that a simple differential to single ended converter is able to remove this thermal noise from the signal? I have a few GHz-Capable OpAmps here that could be used for that purpose.

Offline radar_macgyver

  • Regular Contributor
  • *
  • Posts: 245
  • Country: us
Re: Open Source HW RF Signal Generator
« Reply #7 on: March 15, 2017, 02:18:44 PM »
Thanks for pointing that out.
Would you say that a simple differential to single ended converter is able to remove this thermal noise from the signal? I have a few GHz-Capable OpAmps here that could be used for that purpose.

Nope, the thermal noise amplitude modulates any tone that the DDS will output, so the only way out would be to have the DDS only generate a single tone, and apply a very narrow band filter around that tone. Having said this, the noise level is quite low, and you'd need a fairly decent spectrum analyzer to even measure it.
 

Offline dmills

  • Frequent Contributor
  • **
  • Posts: 883
Re: Open Source HW RF Signal Generator
« Reply #8 on: March 16, 2017, 02:33:11 AM »
Martin PA3AKE did the definitive work on this, it is an issue (due to reciprocal mixing) if used in the LO of an extreme performance receiver, but general lab sources are just nout usually that quiet.

Me and Martin did experiment with measuring the current flowing thru the centre tap of the output transformer (Which has nose correlated with the am noise) and feeding it back into the reference pin, but had horrific stability issues with that loop, which is unfortunate as close in it did work. It is possible that some more analysis by someone better at control theory could skin this, I will have to have a look to see if I still have the measured transfer function.

It is possible that something feed forward based with a pin doide could work, but we wanted something that did not require trimming.   

73 Dan.
 
The following users thanked this post: radar_macgyver

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #9 on: March 16, 2017, 06:40:05 AM »
The Article PA3AKE wrote about the AD9910 (it is this one, right?: https://martein.home.xs4all.nl/pa3ake/hmode/dds_ad9910_amnoise.html) was interesting to read, but I'm not aiming that high in terms of performance, so a little AM-noise is no problem for me at the moment.

At the moment I'm redesigning the RF-Module, where the signals from the different modules are being combined, in Circuit Maker to incorporate the suggestions you guys made.
Would you say that the board needs to have ENIG-Finish if I put the Microstrip-Filters on it, or is HASL enough?

Online nctnico

  • Super Contributor
  • ***
  • Posts: 13483
  • Country: nl
    • NCT Developments
Re: Open Source HW RF Signal Generator
« Reply #10 on: March 16, 2017, 08:25:46 AM »
If you keep the filters under a layer of solder mask ENIG or HASL doesn't matter. BTW you can simulate the solder mask as well in Sonnet but I doubt it will have a noticable effect. The errors due to differences in the trace widths due to etching tolerances will be much bigger.
There are small lies, big lies and then there is what is on the screen of your oscilloscope.
 

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #11 on: March 25, 2017, 04:53:45 AM »
Small Update (had to do University-Stuff this week):

I'm going to use the AD9910-Module from ebay as the Signal-Source up to 400MHz. Tests will reveal how the second harmonic behaves and if it can be used. Otherwise I'll have to use the AD4351 from 400MHz instead of 800 and need to include one additional filter.

Also I'm ditching the self-made Attenuator, because there's a bunch available on ebay that cover DC to 2.4GHz and 0 to 95dB and are 5V TTL-Compatible. They sell for about 35€ plus 5€ shipping. I doubt my attempt to build one will provide the same performance and it'll probably cost about the same (components and Board-Space).


Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #12 on: April 03, 2017, 07:54:37 AM »
Apparently, someone had the same idea I had (sort of): http://www.darc-husum.de/Frequenzsynthesizer.html
The website is in german, so short summary: It details a signal-generator that uses the ADF4351 as the frequency-generator and an Arduino Nano as the control-processor.
More or less what my project is about, but with fewer features.

Btw. It seems like the prices for these attenuators on ebay have jumped a bit since I mentioned them here - Coincidence? :D

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #13 on: April 06, 2017, 05:56:56 AM »
While reading about how to filter the signal from the ADF4351 I came across a circuit that involves a differential pair to smooth a triangle wave.

Does anyone here have some experience with that kind of circuit, or is it completely out of it's comfort zone at GHz-Frequencies? I found some NPN-Arrays with Ft of 10Ghz for 65 cents on Digikey (BFU520YX), which might be able to work in this application from a first glance-standpoint.


In the area of the software, I have started to write the code for the device. I'm targeting the ESP8266 as the processor and the NodeMCU V3 as the breakout-board.
The reasons for that: It offers USB, 3.3V outputs (no need for voltage-dividers or level-shifters on the SPI-Lines), has much more processing-power than an Arduino (useful to use the modulation-capabilities of the AD9910) and on top of that it has a WLAN-Transceiver - Everything is better with WiFi :D

As far as the RF-Board is concerned, I've started to do a preliminary layout to see where everything could go. And I've decided to kick everything off the board except local power-supplies and the RF-Path. All the control-logic will be placed on Veroboard and connected to the RF-Board via ribbon-cable or board-to-board interconnects. This should make it possible to make a really small RF-Board and make 4 Layer-Construction possible without spending too much money :)

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #14 on: April 08, 2017, 07:30:28 AM »
Today I managed to get the ADF4351 module working.
It needs about 140mA of current, which was too much for the small voltage-regulator on the NodeMCU V3-Board, but once that problem was solved, I captured several screens of my spectrum analyzer.

I also realized that I don't need a 4-Way switch for the LPFs:
Once the frequency exceeds 1.5 GHz it is outside my zone of interest and any signal-component higher than 3 GHz is going to be attenuated by the output-amplifier anyway.
Also the first harmonic of a 400MHz-Signal is already pretty weak, so I might even be able to use the PLP750+ in the 400 to 800 MHz-Band to achieve the desired suppression of harmonics. I will test that tomorrow.

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #15 on: April 11, 2017, 08:55:07 AM »
Today the AD9910-Module arrived. It comes on a nice board with spacers and screws, as well as SMA-Connectors populated.

I haven't played around with the module yet, but a complete read of the datasheet showed me that this chip is POWERFUL! With some tricks, as mentioned here before, it is even capable of doing Arbitrary Waveforms with 1k-Points. Nice!
I've also decided to connect the module at a point in the signal-chain where its signal isn't processed by the PIN-Attenuator and use the internal capabilities for amplitude control.

Now the only thing left is the attenuator, which I managed to get on ebay for a modest price. :)
Once it is here, I'll start building the signal-gen with the control-board. I'm still planning to use the ESP8266, but I'm getting a lot of compiler-errors when I try to use the GFX-Library from Adafruit. With arduino or teensy-boards, there's no problem. I guess this is because the library has been optimized by Adafruit to give better performance.

I also haven't been able to find a library for the AD9910, so I'll have to do the subroutines to program the chip myself. Inconvenient, but using only libaries and very little original code feels a bit like cheating :D

I'm also still investigating the idea of using a slightly overdriven long tailed pair as a sine-shaper. Googling this led me to some patents, the most recent one was from 2004, granted to Philips, who were using that technique in their PM5193 0.1mHz - 50 MHz Synthesizer back in the 80s and 90s.
They used a transistor-array chip with 3 of the 5 transistors employed as a heater/temperature-control circuit and 2 as the active components in a long tailed pair. The temperature-control was used to heat the chip to 80 - 85°C to keep the operating-point of the transistors constant to smoothly clip only the tops of a triangle wave (and judging by the spectrum I saw from the ADF4351, it is putting out a triangle-wave), which was adjusted with a pot to give the best THD.

Offline Pitrsek

  • Regular Contributor
  • *
  • Posts: 106
  • Country: cz
Re: Open Source HW RF Signal Generator
« Reply #16 on: April 11, 2017, 09:56:41 PM »
Hello,
seems like a nice project!
Would you consider extending LF range? Might be usefull if used as a part of VNA/SA.
 

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #17 on: April 12, 2017, 03:10:00 AM »
Lower frequencies are possible. I wouldn't go too low though, because the DC-Block caps need to get bigger and bigger to pass the signal, which decreases their performance at high frequencies.
The best way would probably be a relay-switched secondary signal path that covers audio-frequencies up to a few MHz. The AD9910 is certainly capable of generating these signals.


By the way, today the Attenuator arrived, which means that I now have all the big modules available to start building the device.
Unfortunately, I cannot find any datasheet for the Attenuator and from what is shown on the device, it isn't clear how to connect it.
I suspect "G" stands for Ground and VC for Vcc, but what does VE and LE mean in that context? LE might be something like "Latch" or "Load", if this Attenuator is supposed to be connected to a bus.
Is there some kind of standard for these things? Or does anyone have seen these Attenuators before?

Offline Pitrsek

  • Regular Contributor
  • *
  • Posts: 106
  • Country: cz
Re: Open Source HW RF Signal Generator
« Reply #18 on: April 12, 2017, 04:05:14 AM »
My guess:
LE - latch enable
VC,VE - bipolar power supply

But I think you should take it apart, you know, just to make sure  :popcorn:
 

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #19 on: April 12, 2017, 06:57:19 AM »
Okay, I have disassembled the Attenuator.
It contains a Philips Semiconductor (so it is a bit older^^) 74HCT563 Octal Non-Inverting Latch, and 2 MaCom AT90-1106 50dB Attenuators.
VE isn't connected to anything, only VC. LE is Latch Enable, which is Active HIGH.

So pretty straight forward: +5V to VC, TTL-Level to the other pins, GND to G.

Datasheets:
74HCT563: http://pdf.datasheetcatalog.com/datasheet/SGSThomsonMicroelectronics/mXsqssx.pdf
MaCom AT90-1106: http://pdf.datasheetcatalog.com/datasheet/macom/AT90-1106-TB.pdf
 
The following users thanked this post: Pitrsek

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #20 on: September 02, 2017, 11:25:23 AM »
I've finally found some time to work on this project again.

Unfortunately, there's still no library available for the AD9910, so I had to write my own code to control that beast.
I've tried to write it in a way that it is easy to read, so there's probably A LOT of room to improve speed or memory-use (see attached file).

I've exposed every bit of the 3 Config-Registers as global variables (I haven't looked into how to write a proper Library yet) and included a function to calculate the CFR-Registers, as well as the frequency tuning word.
« Last Edit: September 02, 2017, 07:27:15 PM by SaabFAN »
 

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #21 on: September 03, 2017, 02:33:42 PM »
I used the time today to finish (well, almost - First Version :) ) of the analog board.

I have opted for only 3 filters, of which one is always active: The 3GHz LPF. A 1.5GHz and a 750MHz LPF can be selected.

To have all the functions regarding modulation and stuff from the AD9910 available, this module is being connected directly to the output-amplifier via a RF-Switch and can be selected.

Attached are quick screenshots of the board and the schematic. Tomorrow I'll upload better ones :)

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #22 on: September 04, 2017, 02:36:45 AM »
As promised, here are the better screenshots.

I've redesigned the board to make it a bit more compact and used a 4-Layer board this time. MUCH EASIER than trying to route everything on 2-Layer.
Unfortunately, I had to use 4mil traces in the microstrip-filters, which means I have to use EasyEDA or any other board manufacturer that is capable to go below 6mil and has a 4Layer-Stackup with 0.18mm thick dielectric between Layer 1 and the GND-Plane on Layer 2.

Obviously, I haven't added any ground-vias yet. That will be the last step, as I haven't found a function in Circuit Maker yet that does this automatically. I'm also going to include some soldermask-cutouts to solder shields to the board.

Is this a good layout for signals up to 3GHz?
Btw. I'm pretty confident in the schematic, but before I spend 50€ on some board, could you guys check if I have made some mistake that would render the boards useless? :)

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #23 on: September 06, 2017, 05:09:14 AM »
Well, damn! EasyEDA does say that they support 3,5mil, but actually using structures smaller than 6mil causes cost to go up. Quite significantly.
So I'm back to using 6mil as the smallest structure.

Also an inquiry at EasyEDA about the dielectric constant didn't yield conclusive details. They told me they use 7628 for 4-Layer boards and 2116 for the 6-Layer ones. Their Core-Material has 4.2, according to the datasheet they provide.
The question now: Is the dielectric constant dependent on the type of Prepreg, or the type of Resin? If the latter is the case, it should be the same for all layers.
Also if the latter is the case, how can I measure Dk with boards I already have here? Or should I just assume the rule-of-thumb value for FR-4, which is about 4.35, according to Wikipedia.

Offline pigrew

  • Frequent Contributor
  • **
  • Posts: 259
  • Country: us
Re: Open Source HW RF Signal Generator
« Reply #24 on: September 06, 2017, 07:34:34 AM »
The dielectric constant is a function of not only the resin, prepreg, but also of frequency, solder mask, humidity, everything.... For less than 1 GHz, just guess it is around 4.2.

 You also should think about the loss of the material (also versus frequency).

You'd want to to use a network analyzer to measure a thru line on the board (usually as part of a coupon). Best case would be multiple thru lines of different lengths.
 

Online chrisl

  • Contributor
  • Posts: 25
  • Country: us
Re: Open Source HW RF Signal Generator
« Reply #25 on: September 06, 2017, 06:34:39 PM »
A couple of quick comments:

Looks like all the RF switches  have DC block caps at the GND pin (2).  You want to ground this pin directly to the board GND.

Do not expect that the fab house can control and hold the tight tolerance on the DK and 4 mil trace width - especially the low coast PCB houses.
Simulate your filter design to make sure that your design can tolerate +/- 10 to 20% of variation.
It would be much easier and cleaner to use SMT filters at 1.5 and 3 GHz.

 

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #26 on: September 09, 2017, 02:23:18 AM »
A couple of quick comments:

Looks like all the RF switches  have DC block caps at the GND pin (2).  You want to ground this pin directly to the board GND.

Do not expect that the fab house can control and hold the tight tolerance on the DK and 4 mil trace width - especially the low coast PCB houses.
Simulate your filter design to make sure that your design can tolerate +/- 10 to 20% of variation.
It would be much easier and cleaner to use SMT filters at 1.5 and 3 GHz.

Yes, they do have DC Blocks at the GND-Pin. The reason behind this: I've used some attenuators from MaCom in a previous design that required exactly that: DC Blocks at the GND-Pin if driven by only positive voltages.
To avoid having to respin the board if that's the case with these switches too, I've but the DC Blocks in there. If they work without those caps, I'll replace them with 0Ohm Resistors or solder-blobs.

I'm currently using 6mil traces, as that's the smallest ShenZhen2U or EasyEDA can manufacture without massive cost increase.
SMT-Filter available from digikey unfortunately don't really have the features I require. There are filters available that could replace the 3GHz Filter, but a Filter for 1.5GHz isn't really available.

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #27 on: September 10, 2017, 10:23:14 AM »
I've just finished the controller-board. I don't have a block-diagram yet, but it is pretty straight forward:
A NodeMCU-Board with an ESP-12E contains the micro, as well as the 3.3V-Converter and the USB-Connection.
Attached to that are 3 PCF8574. One for the Keyboard (Address 0x21), One for the ChipSelect-Signals for the ADF4351 and AD9910, as well as two Interrupt-Inputs - one for the Keyboard, one for the Touch-Controller (Address 0x22), and One PCF8574 for the Attenuator-Control (Address 0x20).
Because the Attenuator requires 5V TTL-Levels, I've added what I had in my parts-drawers to do the level shifting: 74HCT14 and a 74LS00 (Both have a Positive Threshold of about 2V).
To use the TouchScreen, I've installed the STMPE610 Module from Adafruit and the Display is the 3.5inch 480x320 TouchScreen-Display-Module from Adafruit.

The MCU-Board is socketed by the way, because I had problems uploading a new Firmware when I had it soldered in. Really strange - GPIO-Pins 0 and 2 were showing a 0.5Vpp oscillation at about 2V DC-Offset when the Reset came and the bootloader was supposed to start and accept a new Upload.
Did anyone of you guys had similar problems with that board? Or do you have an idea what could have caused this behavior? Installing a socket made with female 2.54mm headers and plugging the MCU-Board into that solved the problem...

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #28 on: September 22, 2017, 10:22:41 AM »
I've measured the Attenuator. Looks like it is rather flat across the frequency-band I'm interested in.

To measure it, I used one of those noise-sources from ebay that get ridiculously hot after a few minutes :)

The B-Trace is just the noise-source connected via a 1m RG316-Cable with SMA-Connectors.
The A-Trace has the Attenuator inserted. It is powered with +5V and no attenuation is selected. The loss at no attenuation is about 10dB.

Input-Power is planned to be about +15dBm, which results in output-power of +5dBm that can be attenuated down to -90dBm.
With the help of the PIN-Attenuator the dynamic range is about +5dBm to -100dBm.
And when I use the AD9910, the amplitude scale factor-setting should allow for even weaker signals, as well as much finer control :)
« Last Edit: September 22, 2017, 06:49:28 PM by SaabFAN »
 

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #29 on: September 23, 2017, 02:16:08 AM »
Updated RF-Detectors for the RF_LEVEL_SENSE and RF_OUT_SENSE-Signals.

RF_OUT_SENSE is used during calibration to fill the lookup-table with the right correction-factors. RF_LEVEL_SENSE provides the feedback-signal for the AGC.

I've also decided to use Microstrip-Traces instead of CPW, after reading through a PDF by Rogers that showed Microstrip to be less sensitive to changes in the dielectric constant of the material.
Manufacturing will take place at EasyEDA, as the 0.012mm thickness of the dielectric between first and second layer is too small to build the filters.

I'm not entirely sure, but I think the board is done now. Unless there's something wrong that I missed :)

Edit: Forgot one thing: The Soldermask-Cutouts to solder RF-Shields.

Edit 2: I just realized that I made a mistake, calculating the DC-Voltages. They don't go higher but lower once a signal is present at the input of the detector. So I don't need the bias-circuit on the RF_LEVEL_SENSE-Detector.
« Last Edit: September 23, 2017, 04:21:47 AM by SaabFAN »
 

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #30 on: September 24, 2017, 05:51:44 AM »
I've changed the Supply-Voltage to 3.3V on the RF-Board, which allows me to work without any level shifters on the i2c-Bus. Doing that also meant I had to add some gain to the Output of the DAC that generates the AGC_BIAS. How much gain I need will be determined during testing.

On the PCB I've added pads to solder some kind of shield-can to. I've also moved the components around a bit to improve the layout and cleaned up the mess of the designators, which were sitting all over the place.

Attached you'll find the current gerbers and the schematics for the board.

This is the memory-map of the i2c-NVRAM-Chip on the RF-Board btw.:
 *  Memory-Map:
 *  0x000 - 0x0F0 = CAL-DATA: 12bit DAC-Calibration Data for PWR_SET-DAC is stored for every 25MHz-Step Starting at 0MHz and going up to 3GHz (120 16bit-Words)
 *  0x0F2 - 0x1E2 = CAL-DATA: 12bit DAC-Calibration Data for AGC_ATTEN_BIAS is stored for every 25MHz-Step Starting at 0MHz and going up to 3GHz (120 16bit Words)
 *  0x400 - 0x5FE = User-Config / User-Data
 *  0x600 - 0x7FE = Sweep-Settings
« Last Edit: September 24, 2017, 06:21:31 PM by SaabFAN »
 

Online ogden

  • Frequent Contributor
  • **
  • Posts: 363
Re: Open Source HW RF Signal Generator
« Reply #31 on: October 03, 2017, 03:52:36 AM »
Filter banks, unless very narrowband, will not help against square wave harmonics. I would go "traditional RF synth gen" way: downmixing. For example check Agilent E4400 service guide, E4400-90335.pdf and you will see what I mean. Instead of filter banks you need one 2.4GHz(?) CW source (like CC2500 in CW mode), 4.4GHz - capable mixer and 1GHz(?) low pass filter. Then you either use direct output from ADF4351 in 1GHz-4.4Ghz range or downmixed and filtered signal. Benefit of using 2.4GHz mixed with 2.4-4.4GHz of ADF4351 is: it is range of its VCO w/o divider.

« Last Edit: October 03, 2017, 07:11:40 AM by ogden »
 

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #32 on: October 09, 2017, 09:47:23 AM »
Thanks for the advice, but I've already ordered the boards and am now comitted to this path  :)

For frequencies up to 400MHz, I'll use the DDS-Module anyway, so not that big of a problem there.
I'll have to see how strong the harmonics are after filtering. If they are too strong, I can always put something between the Synthesizer-Board and the Filter-Board.  ;)

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #33 on: November 25, 2017, 10:33:57 PM »
The boards are here and I've installed all the IC except for the quad PIN-Diodes at the input and the OpAmp for the AGC.
Partially because I don't have the PIN-Diodes and I'm too lazy to dive into my parts-bin to search for the OpAmps :D

I've also noticed that I managed to build the footprint for the MiniCircuits 750 MHz LPF backwards, so I have to solder that one in from the backside of the board. Luckily I have enough space inside the case :)

The PIN-Diodes in question are BAP64Q. Unfortunately these Diodes aren't available on ebay for a decent price and Conrad lists them with a delivery-time of 2 weeks.  :--
Anyone here who's living in Hamburg, Germany and happen to have these diodes on hand?  ;D

Online ogden

  • Frequent Contributor
  • **
  • Posts: 363
Re: Open Source HW RF Signal Generator
« Reply #34 on: November 26, 2017, 09:24:50 AM »
The PIN-Diodes in question are BAP64Q. Unfortunately these Diodes aren't available on ebay for a decent price and Conrad lists them with a delivery-time of 2 weeks.  :--
Anyone here who's living in Hamburg, Germany and happen to have these diodes on hand?  ;D

Farnell does :)
http://de.farnell.com/nxp/bap64q-125/pin-diode-100v-0-1a-sot-753/dp/2775914
 

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #35 on: November 26, 2017, 10:47:48 AM »
Indeed, but two BAR15 also fit the footprint and should work. :)

Next problem I stumbled across: I didn't have the MCP4725 DACs, only MCP4526. Difference: 4725 has A0-Pin on Pin 6, 4726 has a VREF-Input there.
As I only need one DAC (the bias voltage for the PIN-Attenuator can be set once and left there), I've just installed the 4726 to provide PowerSet and Bias-Voltage will for now be 3.3V (should be enough for +5dBm signal) and should shunt all RF-Energy to ground unless the AGC-Circuit sends a higher current through the pass-diodes.

Also the only 3.3V regulator I had available was an 1117-3.3 while the board requires a 78L33. Fortunately, there's enough room on the board to fit the 1117 on a small adapter board.

Next step is to test the board and install everything in the case.

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #36 on: December 31, 2017, 10:08:45 AM »
I didn't have much time the last few weeks, so there wasn't much progress.

I still haven't had the time to test the analog frontend-board, but I've used today to start building the UI.
I've also copied the serial-communication functions from my Game-Controller to the Signal-Generator. They only need minor adjustments to be used with the SignalGen. I'll post the possible commands here as soon as I have them implemented, in case someone wants to build the device too and use a PC-App to control it.

For the look of the UI, I took inspiration from the LW400-Series of LeCroy Signal Generators.
What you see in the attached picture is the Mode_Select_1-Screen, where the different Modes can be selected (Frequency-Set, Amplitude, Set, etc.).
Getting to the Mode to change Frequency, Amplitude or Modulation is also possible by tapping the corresponding area on the Screen instead of the Touch-Button - Once I've implemented the Touch-Functions :)

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #37 on: January 04, 2018, 06:43:02 AM »
Attached is the current version of the Program - Haven't found the time to upload it to Github yet :)


Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #38 on: January 24, 2018, 11:42:34 AM »
Github-Repository is up: https://github.com/SaabFAN/OpenSource-HW-RF-Signal-Generator-OSHW-RFSG-
I'll add content as soon as I'm able to do so. Bachelor-Thesis is eating up time like crazy :)
« Last Edit: January 25, 2018, 07:42:26 AM by SaabFAN »
 

Offline rhb

  • Frequent Contributor
  • **
  • Posts: 521
  • Country: us
Re: Open Source HW RF Signal Generator
« Reply #39 on: January 24, 2018, 12:30:52 PM »
Please excuse my just dropping in, but I very much agree with this remark:

Filter banks, unless very narrowband, will not help against square wave harmonics. I would go "traditional RF synth gen" way: downmixing. For example check Agilent E4400 service guide, E4400-90335.pdf and you will see what I mean. Instead of filter banks you need one 2.4GHz(?) CW source (like CC2500 in CW mode), 4.4GHz - capable mixer and 1GHz(?) low pass filter. Then you either use direct output from ADF4351 in 1GHz-4.4Ghz range or downmixed and filtered signal. Benefit of using 2.4GHz mixed with 2.4-4.4GHz of ADF4351 is: it is range of its VCO w/o divider.


A pair of ADF4351s with a mixer and low pass filters should cover 0-2GHz quite nicely.  The PCB layout will be the hard part. By using two ADF4351s you can map and avoid spurs.  For precision measurements where time is not an issue, you  can dither the frequencies of the ADF4351s so that the  spur average is lower.  Of course, one can use the full range of the ADF4351, but that makes the filtering more difficult. 

If you BP filter the 3rd harmonics from both ADF4351s you can get 0-6 GHz.

If you want the frequency agility of the AD9851 it gets a good bit harder.
 

Offline b_force

  • Frequent Contributor
  • **
  • Posts: 779
  • Country: 00
    • One World Concepts
Re: Open Source HW RF Signal Generator
« Reply #40 on: January 25, 2018, 08:28:50 AM »
Lower frequencies are possible. I wouldn't go too low though, because the DC-Block caps need to get bigger and bigger to pass the signal, which decreases their performance at high frequencies.
The best way would probably be a relay-switched secondary signal path that covers audio-frequencies up to a few MHz. The AD9910 is certainly capable of generating these signals.
Can't you better go for a differential output?
With a differential to single ended output you don't need caps anymore.
Another way is to shift the whole down to 0 DC bias, with like a DC servo.
That's also a way to get rid of those nasty caps.
"If you can't explain it simply (or at all), you don't understand it well enough." A. Einstein

http://www.oneworldconcepts.com/
 

Offline Navarro

  • Contributor
  • Posts: 12
  • Country: br
Re: Open Source HW RF Signal Generator
« Reply #41 on: January 31, 2018, 02:51:12 PM »
A good attenuator that could be used is the PE4312.

I used it on some projects and really liked it.

73 PY1CX
PY1CX
34401A - DSOX2002A - 66332A
 

Offline SaabFAN

  • Frequent Contributor
  • **
  • Posts: 566
  • Country: de
Re: Open Source HW RF Signal Generator
« Reply #42 on: February 04, 2018, 04:52:12 AM »
A good attenuator that could be used is the PE4312.

I used it on some projects and really liked it.

73 PY1CX

Indeed.
I investigated that chip, but didn't really want to use it, because of the QFN-Package.
Luckily someone sold a bunch of Attenuators in really nice cases on ebay, of which I managed to get one (did a teardown a few posts before).
These PE4312, or similar chips, pop up on ebay quite often in ready made attenuators. Sometimes even with a control-panel and a micro to set the desired attenuation.


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf