Author Topic: FeelTech FY6600 60MHz 2-Ch VCO Function Arbitrary Waveform Signal Generator  (Read 558985 times)

0 Members and 2 Guests are viewing this topic.

Offline cybermaus

  • Frequent Contributor
  • **
  • Posts: 674
  • Country: nl
Yeah, it was down all sunday.

I was also thinking about adding a 50 Ohms mode (at least for mid and high range as low range is not 50 ohms). Or maybe a user defined load if you think it is useful...
Explain please. Is it not always already on a 50 Ohm mode?
Would you mod the board for other values?
 

Offline Kaku

  • Contributor
  • Posts: 12
  • Country: fi
Explain please. Is it not always already on a 50 Ohm mode?

When output attenuator (100R/510R/100R)  is in use output impedance is around 85 ohm.
Better attenuator? http://www.leleivre.com/rf_pipad.html
« Last Edit: March 12, 2018, 07:45:24 am by Kaku »
 

Offline cybermaus

  • Frequent Contributor
  • **
  • Posts: 674
  • Country: nl
Ok, but it is still in 50 ohm "mode" even if the value is a little (lot) off.
Or maybe a better description would be "low-Z" mode.

Point however is, Fremen67 is doing software, and talks about "adding a mode".
But this would more be modding the hardware to correct the 85 Ohm, but still not something to add in software.
So I'd still wonder what he meant exactly.


Edit: Also, why would they have made that 85 Ohm?
Surely they could have selected other values, 58+322 (or 56 + (270+390)) would have yielded the same attenuation with a much better matched 50 Ohm
So maybe there is a reason for 85 Ohm?
« Last Edit: March 12, 2018, 08:51:41 am by cybermaus »
 

Offline Kaku

  • Contributor
  • Posts: 12
  • Country: fi
Point however is, Fremen67 is doing software, and talks about "adding a mode".
So I'd still wonder what he meant exactly.

He probably means that the amplitude is correct to 50 ohm load, hi-z/low-z (50 ohm) selection.
 

Offline fremen67

  • Frequent Contributor
  • **
  • Posts: 349
  • Country: fr
I was also thinking about adding a 50 Ohms mode (at least for mid and high range as low range is not 50 ohms). Or maybe a user defined load if you think it is useful...
Explain please. Is it not always already on a 50 Ohm mode?
Would you mod the board for other values?
« 50 Ohms » and « Hi-Z » output load selection are quite common on function generators.
This selection allows displaying on the FG the voltage that is actually on the output.

Some function generators which have 50 ohms ouput impedance need to have an external 50 ohm on the output to display the correct output voltage. If you don’t, you then have twice the output on a Hi-Z load than what you are supposed to have (which you usually don’t want).
https://www.keysight.com/main/editorial.jspx?ckey=1948055&id=1948055&nid=-11143.0.00&lc=eng&cc=MY

In our case, the FY6600 has a 50 ohms output impedance on 2 channels but the correct output values are displayed for a Hi-Z load.
If you want to match the impedances to avoid ringing on high frequencies, you are supposed to add 50 ohms near you DUT. In that case, the DUT will only receive a signal with half the voltage it is supposed to. The “50 ohms” or “Hi-Z” mode is only a way to show on the display the actual voltage your DUT is receiving depending on its impedance.
In some other cases, your DUT input impedance could be 75 ohms or something different. In that case you might want to configure it on the FG to display the correct values…

The ouput impedance mode I was talking about is just a way for the FG to know the actual ouput parameters to do the correct maths on output values.
I'm a machine! And I can know much more! I can experience so much more. But I'm trapped in this absurd body!
 

Offline cybermaus

  • Frequent Contributor
  • **
  • Posts: 674
  • Country: nl
Yes, with that last remark of Kaku the penny dropped, thanks.
 

Offline spec123

  • Contributor
  • Posts: 15
  • Country: us
Re: FY6600 Jitter

Insatman... Excellent results!!!  Would you do a simple FM modulation test?
Set CH1 to sine wave with freq as before, 10.1398 MHz.
Set CH2 to Square wave with freq 0.25 Hz. (Don't worry about Ampl and Offset as they are not used for internal FM).
Set modulation source to FM from CH2. Use BIAS 00'000'.001'500'000KHz. This will be set modulation depth to 1.5 Hz.
Your SA FFT waterfall should show the 1.5 Hz square wave modulation of the sine wave.

I'm considering your FY6600 modifications. My smd skills are poor. Probably can make the Power Supply mods. But removing the smd oscillator seems beyond me at the moment. If I can get it removed was thinking of tack soldering wires to the new osc module and tacking these wires to PCB. Any comments?


 

Offline Kaku

  • Contributor
  • Posts: 12
  • Country: fi
Set CH1 to sine wave with freq as before, 10.1398 MHz.
Set CH2 to Square wave with freq 0.25 Hz. (Don't worry about Ampl and Offset as they are not used for internal FM).
Set modulation source to FM from CH2. Use BIAS 00'000'.001'500'000KHz. This will be set modulation depth to 1.5 Hz.
For comparison, here is the unmodified FY6600 results in your settings.

 

Offline spec123

  • Contributor
  • Posts: 15
  • Country: us
Re: FY6600 jitter

Thank you Kaku for the wonderful plots! This shows that an unmodified FY6600 is capable of FM down to below 1 Hz.

Unfortunately my brand new FY6600-M60 V3.2 does not have anywhere close to this good performance. See my post #998.

The great mystery now is; what could be causing the FM jitter of 6 Hz and sometimes much more, that I am observing?
I have not opened the enclosure yet or made any modifications. Vendor is close, so maybe it can be returned for another unit.

Could it be a problem with the power supply or some parts not properly soldered? Anyone seen similar jitter?
 

Offline fremen67

  • Frequent Contributor
  • **
  • Posts: 349
  • Country: fr
The display is a ILI9341 for 99% sure. The pinout is the classic 18 pin for this type op display. Link for similar display
Yes it is  :)
SPI1 runs at 18Mhz
Here is the LCD startup sequence, first line value beeing the command register, the other values the parameters:
Code: [Select]
CF 00 81 30
ED 64 03 12 81
E8 85 10 78
CB 39 2C 00 34 02
F7 20
EA 00 00
B1 00 18
B6 0A A2
C0 21
C1 11
C5 3E 31
C7 AA
36 A8
F2 00
26 01
3A 55
E0 0F 26 24 0B 0E 09 54 A8 46 0C 17 09 0F 07 00
E1 00 19 1B 04 10 07 2A 47 39 03 06 06 30 38 0F
2A 00 00 00 EF
2B 00 00 01 3F
11
29

ILI9341 for 100% sure  :-+
I'm a machine! And I can know much more! I can experience so much more. But I'm trapped in this absurd body!
 

Offline DerKammi

  • Regular Contributor
  • *
  • Posts: 107
  • Country: nl
Great to see that it runs at 18MHz, the max of the F103 chip. That makes up for a speedy display in DMA mode. I'm playing with a F401 nucleo board with a ILI9341 display this week.
 

Offline fremen67

  • Frequent Contributor
  • **
  • Posts: 349
  • Country: fr
I'm playing with a F401 nucleo board with a ILI9341 display this week.
Nice board . Will you also have time to do some  "homework" on the calibration thing?
I'm a machine! And I can know much more! I can experience so much more. But I'm trapped in this absurd body!
 

Offline DerKammi

  • Regular Contributor
  • *
  • Posts: 107
  • Country: nl
2 evenings at least. Do you have some wishes in the format you need, a protocol as such?
 

Offline DerKammi

  • Regular Contributor
  • *
  • Posts: 107
  • Country: nl
I had some fun time with a precision impedance analyzer at work today and made some DC-bias curves of the bigger SMD capacitors around the opamps and DAC

Feeltech used some common type caps on these place. As expected.

C53..57 18µF nom >> 12V 2µ7 15% left  :-[
C24..25 6µ8 nom >> 5V 4µ3 63% left

I put a wrong marker at the DAC caps, should have used 3v3 and not 5v but these caps have enough derating left for them to be useful. @3v3 there is roughly 5µ2 left.

But the 18µF ones around the opamps are pretty useless for their size. So there is another upgrade option in place for them. Some proper X7R ones with a lot less derating at higher voltage should help nicely.
 

Offline fremen67

  • Frequent Contributor
  • **
  • Posts: 349
  • Country: fr
2 evenings at least. Do you have some wishes in the format you need, a protocol as such?
Perfect!
For the format, as long as it is in an Excel like format it will be fine.
For the protocol, the only special thing I can think of is to do tests with and without 50 Ohms load, and at least Vpp for Sine, Square and Ramp waves (and maybe others that you might think interesting) on the 3 ranges + DC
For the rest I am sure you will have other ideas when you see special things during tests execution.

The idea would be that your protocol could be used as a basis for others so that we could have some statistical data.
I will also run your protocol on my 2 FGs. If others can also help and run your protocol, that would help also (cybermaus, DC1MC, DaveR, Kaku, ... any volonteer, depending on your free time,  you help will be very much appreciated :))
I'm a machine! And I can know much more! I can experience so much more. But I'm trapped in this absurd body!
 

Offline cybermaus

  • Frequent Contributor
  • **
  • Posts: 674
  • Country: nl
Not sure I have the correct equipment for this. I have no good SA to see dB levels or harmonics
But I surely do not want to ignore this request, I can only guess at how much time you are spending.

Something like this XLS?
Or would you rather have some other X/Y axis values?
I'll use your suggestions, work out the other ranges, and then attach the XLS itself for others to use.

Note:
- voltage levels read from scope
- dB levels calculated
- yellow means visual distortion on sine wave, red means crappy sine wave
« Last Edit: March 13, 2018, 12:03:10 pm by cybermaus »
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3483
  • Country: us
Capture the longest DSO traces at 1 GS/S that you can in an ASCII format.  I'll write spectral analysis routines for Octave/MATLAB. I know how to get *many* more bits of precision out of long signals than even a good SA offers.

The traces will be too long to post. Post a short sample so I can get the read correct and install Octave on your system.  I'll post the Octave code so that anyone can do the analysis.
 

Offline DaveR

  • Regular Contributor
  • *
  • Posts: 165
  • Country: gb
If others can also help and run your protocol, that would help also (cybermaus, DC1MC, DaveR, Kaku, ... any volonteer, depending on your free time,  you help will be very much appreciated :))

I'm a bit limited at the moment, as my ST-Link dongle died yesterday after only about six uses.  I've ordered another four from China in the hope that I might get a decent one amongst them, but I probably won't have them for at least ten days.

Dave
 

Offline cybermaus

  • Frequent Contributor
  • **
  • Posts: 674
  • Country: nl
Capture the longest DSO traces at 1 GS/S that you can in an ASCII format.  I'll write spectral analysis routines for Octave/MATLAB. I know how to get *many* more bits of precision out of long signals than even a good SA offers.

The traces will be too long to post. Post a short sample so I can get the read correct and install Octave on your system.  I'll post the Octave code so that anyone can do the analysis.

Thanks. But that sounds like too many bits of precision. Maybe a bit overkill when all we want to do is determine which "auto" range selection to use?
I have to leave now, but I will at later try to get at least one sample for you, just to see how it works.
 

Offline fremen67

  • Frequent Contributor
  • **
  • Posts: 349
  • Country: fr
Not sure I have the correct equipment for this. I have no good SA to see dB levels or harmonics
But I surely do not want to ignore this request, I can only guess at how much time you are spending.

Something like this XLS?
Or would you rather have some other X/Y axis values?
I'll use your suggestions, work out the other ranges, and then attach the XLS itself for others to use.

Note:
- voltage levels read from scope
- dB levels calculated
- yellow means visual distortion on sine wave, red means crappy sine wave
Yes exactly something like this. Thank you!

For this particular Sine example, I was thinking of creating a compensation gain, depending on the frequency, that would flatten the response in the high frequency zone up to 60Mhz... that is  if we are able to find a generic relation (We may need some more samples in the falling part of the curve).
For arbitrary waves, it seems harder to find some compensation trick that would work for every type of signal.

As for static calibration (Offset and Amplitude) that should be easier. For the Offset response, the DC wave will be handy with a DMM. For amplitude a very slow square wave (like 10  0.1 Herz) should be fine so that we could also use a DMM, unless there is something easier I don't see. Once we have the values, we will find out the best parts of the range to use.

Edit: slow wave is obviously not 10 Hz but 0.1 Hz so that you can have time to read values on DMM  :P
« Last Edit: March 14, 2018, 10:50:33 pm by fremen67 »
I'm a machine! And I can know much more! I can experience so much more. But I'm trapped in this absurd body!
 

Offline fremen67

  • Frequent Contributor
  • **
  • Posts: 349
  • Country: fr
I'm a bit limited at the moment, as my ST-Link dongle died yesterday after only about six uses.  I've ordered another four from China in the hope that I might get a decent one amongst them, but I probably won't have them for at least ten days.

Dave

No worries. There will still be things to do in 10 days  :)
I'm a machine! And I can know much more! I can experience so much more. But I'm trapped in this absurd body!
 

Offline rhb

  • Super Contributor
  • ***
  • Posts: 3483
  • Country: us
At 1 GS/S Nyquist is 500 MHz, and the FFT coefficients are at 100 Hz increments with 10 Mpts.  With a sample rate of 250 MS/S the samples are at 25 Hz increments.  So simple averaging will get a few bits at the cost of a little bit of resolution.

The way to flatten the spectrum is to have a digital filter in the FPGA and pipe the output through that.  That will take care of everything.  The filter approximates the corrections at each sine wave frequency, so once you have the table of gain corrections for the sine wave it's just a matter of designing a filter with that response curve.  I think measurements every 5 MHz should do for a start.  I can fit a filter to that and we'll see how accurate it is by measuring the midpoint frequencies.

I've been following progress, but kept quite because I was not in a position to contribute having borked my cable.  But we're now at the DSP stage and that's something I can do easily. The shift to matching MATLAB exactly has made a lot of what I'm used to invalid, but it's not a huge amount of extra trouble.

I'm just about to embark on learning Vivado and Verilog for the Zynq,  so I can't do the FPGA part.  But I can do the math.  This is real time as opposed to the recorded time we deal with in seismic processing.  But I know what the differences are so it shouldn't be to much work to get up to speed on doing it for real time.  And Zov knows how to convert that to the Altera.
 

Offline cybermaus

  • Frequent Contributor
  • **
  • Posts: 674
  • Country: nl
This is a lot of work, and I had a lot of distraction today (my boss/colleagues/clients kept bothering me)

Attached the XLS with -10~+10 hard range and both High-Z and 50 Ohm.

A few notes:

- At 50 Ohm above 10V, the OpAmp is just not cutting it. Rather then trying to correct this (it will not be able to anyway) this needs to be corrected by a better OpAmp and maybe 15V rails in stead of a 12V rails that is to weak as well. Or at the very least a 12V rail with more power.

- Around 10V - 60Hz there is a weird additional negative offset. It also attenuates more, but I think both are caused by the OpAmp cutting of the high crest of the sine more then the low crest of the sine.

- Likely bad sine to the right and bottom is caused by the OpAmp attenuating, toward the left by a weak DAC signal, amplified noise and DAC resolution.



To be honest, Fremen67, I will provide you with the info requested to my best ability, but I wonder if level correction should not be a lower priority. Sweep/Mod/Counter/LCD may be more rewarding features. Will work on 0.275 range next.
« Last Edit: March 14, 2018, 11:16:29 pm by cybermaus »
 

Offline DerKammi

  • Regular Contributor
  • *
  • Posts: 107
  • Country: nl
And for some reason it won't generate wave forms this evening >:( Flashed the 0.3 and 0.4 and it will connect fine. But no output.  :'(

Was going to fill out Cybermaus his excel to see some diffs maybe. But it is not happening yet  :'( :'( :'(
 

Offline cybermaus

  • Frequent Contributor
  • **
  • Posts: 674
  • Country: nl
Small intermediate result:

The 5.5Vpp in a hard 2.75V range gives such a perfect 6Vpp that I am wondering if you have a coding error in the software.

Also: apparently  the 2.75 range is able to go up to 3V
« Last Edit: March 14, 2018, 09:37:32 pm by cybermaus »
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf