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

0 Members and 2 Guests are viewing this topic.

Offline fremen67

  • Frequent Contributor
  • **
  • Posts: 349
  • Country: fr
I'm curious, when using Bluepill would it be possible to use i2c programmable any-frequency generator to remove jitter?

https://www.silabs.com/documents/public/data-sheets/Si5351-B.pdf
The idea is interresting. Say we don't want any jitter between a frequency of 50Mhz (5 samples) and a frequency of 62.5 Mhz (4 samples). The idea would be to always have 4 samples in this range. That is to control continuously the sampling rate from 200Msample/s @ 50Mhz to 250Msample/s @ 62.5 Mhz. If the device is able to generate a frequency that would change precisely betwwen 40Mhz and 50Mhz that could work... provided that there is an easy way to find the correct parameters for the device in real time.
You can't switch these frequency generators without a hick-up in between.
Yes, I guess that this won't be a problem when setting manually the frequency... That would be a problem for the sweeping function as it changes fast but in that particular case, I think that jitter is not that important when sweeping. So we can just sweep frequency the normal way.
The Si5351 also can handle several clocks... maybe of some use when switching...

Would someone please point to *how* the sweep is implemented?  My question is about the algorithm.  My apologies if someone answered and I missed it, but this is a rather busy thread.  Go away for a few days and it's impossible to catch up.

How is the sample clock implemented?  is it done in the FPGA or a separate device?
The device can sweep Frequency, Amplitude, Offset or Duty. The sweeping source can be based on time or on external VCO Input (0-5V). This is the FP MCU which sends the values (Frequency, Amp, Offset or Duty) to the FPGA.
In the original FY6600, the values are updated every 900µs when time based.
In the bluepill firmware the values are sent only when they change and the time resolution is 10µs. So when sweeping on a time base, a new value can be sent every 10µs. The time reference is handled in the FP MCU by 2 internal timers that are chained.

For the level of work that has been expended, I think we could have an OSHW device of higher quality using a Zynq dev board for not a lot more money than the FY-6600 after the various upgrades and fixes.
Maybe but the original idea was to be able to replace the original firmware with a better one. As far as I am concerned, redesigning a new FP board is far beyond my goal but when someone wants to go that route, why not!
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
[
Would someone please point to *how* the sweep is implemented?  My question is about the algorithm.  My apologies if someone answered and I missed it, but this is a rather busy thread.  Go away for a few days and it's impossible to catch up.

How is the sample clock implemented?  is it done in the FPGA or a separate device?
The device can sweep Frequency, Amplitude, Offset or Duty. The sweeping source can be based on time or on external VCO Input (0-5V). This is the FP MCU which sends the values (Frequency, Amp, Offset or Duty) to the FPGA.
In the original FY6600, the values are updated every 900µs when time based.
In the bluepill firmware the values are sent only when they change and the time resolution is 10µs. So when sweeping on a time base, a new value can be sent every 10µs. The time reference is handled in the FP MCU by 2 internal timers that are chained.

For the level of work that has been expended, I think we could have an OSHW device of higher quality using a Zynq dev board for not a lot more money than the FY-6600 after the various upgrades and fixes.
Maybe but the original idea was to be able to replace the original firmware with a better one. As far as I am concerned, redesigning a new FP board is far beyond my goal but when someone wants to go that route, why not!

Somehow I'm failing to make myself clear. HOW is the sweep implemented?   Is a constant frequency sine wave being run with the clock sped  up each time or is a swept sine wave being stepped?

I was not referring t the FB.  I was referring to the FPGA board.  Except for the details of the FP hardware, you've implemented an alternative  FP from what I've read
 

Offline cybermaus

  • Frequent Contributor
  • **
  • Posts: 674
  • Country: nl
You can't switch these frequency generators without a hick-up in between.
It does clearly specify a "hitch-less" frequency change. Which would make it useable as clock for the FPGA

I was trying to figure out how precise the frequency can be changed. But the formula's are a bit complex for casual understanding.
Best I can figure its a 'devide by any number up to 512/512'  (which is also something already in the FPGA, but not used to its full potential)

This means we can increase the number of frequencies that are without jitter. But we cannot make jitter-free for all frequencies.
For example, if we have 25MHz jitter free by using a 50/250 clock, we ,may be able to make 24MHz jitter free by using a 48/240 clock. And probably also 24.5. But not 24.65.
I did not want to install the configurator software for that chip. So not completely free, but all 2-digits jitter free would already be very nice.


The idea is good, but I think the Sine-Through-Logic-Gate idea may be easier, and "good enough"

 

Offline fremen67

  • Frequent Contributor
  • **
  • Posts: 349
  • Country: fr
Here is revision 0.7 of the bluepill software with the corresponding modified PC Software.
- The Modulation functions are now working
- The SPI write times are improved (bypassing the STM libraries and new specific 32bit write)
- The FPGA write protocol has been improved (The FPGA protocol allows not to resend the Control Register number when the last used was the same)
- The sweep functions are faster, because of the 2 previous points (now 6µs potential update time instead of 10µs)
- The calibration bug found by DaveR has been fixed

Enjoy and thank you for your feedback!

Edit: Should it be usefull, Modulation functions and Sweep functions can work together ...
« Last Edit: May 13, 2018, 03:58:39 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!
 
The following users thanked this post: Jacon, Ebel0410, DerKammi, DPA31

Online Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Hi fremen67,

Great work, thanks! I can't wait to get my FY6600 and bluepill. Can I suggest that you add the connection diagram to every new package so is all in one place?
Thanks again.
Fear does not stop death, it stops life.
 

Offline DerKammi

  • Regular Contributor
  • *
  • Posts: 107
  • Country: nl
Great work again fremen67, too bad I'm studying for my HAM exam this week :) Next week a bit more time for trying out your mega effort for this forum.

Edit: Should it be usefull, Modulation functions and Sweep functions can work together ...

NICE!
 

Offline soundtec

  • Regular Contributor
  • *
  • Posts: 194
  • Country: ie
So I hooked up the St link and processor board .

I did spend sometime messing round with an older version of the St link software but eventually found this ,
https://download.freedownloadmanager.org/Windows-PC/STM32-ST-Link-Utility/FREE-4.2.0.html
worked first time ,updated the firmware ok ,and uploaded Fremens hex file perfectly .


theres some usefull info and links here ,
http://www.emcu.it/ST-LINKv2/ST-LINKv2.html

The small board I couldnt get to work , I tried different jumper settings but no luck .
The other board has the 20 pin connector so it was more or less idiot proof .
Im not really sure what Im doing next, connections on the larger board are labeled PA,PB,PC etc followed by a number.Are the pins I need for the FY6600 available from the 20 pin header ? Is the front panel dissconnected  from the main board when the connection from the bluepill is installed or can they both co-exist?
 

Offline soundtec

  • Regular Contributor
  • *
  • Posts: 194
  • Country: ie
 I made another attempt with the smaller board later ,might have been the jumper settings that were messing it up . Seems all working correctly now .Its being recognised by windows after flashing and resetting .

Is there a connection diagram on the github ?

Looks like Pete's got his 6800, heres the article .
https://tech.scargill.net/fy6800-signal-generator/

« Last Edit: May 14, 2018, 07:35:40 pm by soundtec »
 

Offline DaveR

  • Regular Contributor
  • *
  • Posts: 165
  • Country: gb
Did you miss my post here, soundtec?

https://www.eevblog.com/forum/testgear/feeltech-fy6600-60mhz-2-ch-vco-function-arbitrary-waveform-signal-generator/msg1525054/#msg1525054

You've got some soldering work to do to get the small board working - it should have come with a couple of 10 pin headers, and it should have a couple of jumpers on the pins in the middle of the board.  Wire it up as in mine or fremen's photos, then disconnect the cables from the front panel and connect the free ends to the wiring you've attached to the the blue pill.  As you've already got the big board programmed, follow fremen's wiring photos to work out what goes where, as the pinouts may be different.  If all blue pill boards are the same, it ought to work ok.  If it doesn't, you'll need to get the small board fitted out so that we're all using the same type.

EDIT - I've just compared the pinouts on your small board with one of mine, and they ARE different, so all the photos posted so far will only be a partial guide.  Still, it's not difficult to work out which pin connects to which FP cable socket hole, so you should be there by the end of the night :)
« Last Edit: May 14, 2018, 08:22:31 pm by DaveR »
 

Offline cybermaus

  • Frequent Contributor
  • **
  • Posts: 674
  • Country: nl
Is there a connection diagram on the github ?

In a way yes. Just use the normal FP diagram on the github.
both connectors are on the FP diagram with how they are wired to the CPU, and the BluePill is the same CPU and wired the same way as the original FP.
 

Offline DaveR

  • Regular Contributor
  • *
  • Posts: 165
  • Country: gb
A simple way to explain the blue pill wiring is this:

Pull the plugs out of the front panel and look at them end on (ie wires running away from you) with the flat side of the plug uppermost.  Starting from the left side, connect each hole of the 8-pin plug to the following pins on the blue pill:  B15, B14, B13, B12, B11, A1, G, A0.  Doing the same for the 4-pin plug:  A3, A2, G, 5v.  The two jumpers on the BP should both be in the 0 position.

This "should" work for any variant of the blue pill board, assuming they are all electrically the same!
 

Offline DerKammi

  • Regular Contributor
  • *
  • Posts: 107
  • Country: nl
https://www.eevblog.com/forum/testgear/feeltech-fy6600-60mhz-2-ch-vco-function-arbitrary-waveform-signal-generator/msg1441974/#msg1441974

Here is the schematic with yellow highlight how to connect a bluepill. I'll add it to the Git for future reference

https://github.com/DerKammi/FY6600-15-30-50-60M added the different firmware revisions also as reference.
« Last Edit: May 15, 2018, 06:28:33 am by DerKammi »
 
The following users thanked this post: Jacon, Bob Sava, andrewjessop

Offline soundtec

  • Regular Contributor
  • *
  • Posts: 194
  • Country: ie
Thanks for the help guys.
Had a powercut all day today ,so got everyting connected up with the larger board ,just a few extra pins needed to be soldered for 5 volts and ground . Might be later or tomorrow before I see what happens .

Ive been messing with an ESP8266 (wifi)breakout board ,it seems from what Fremen said that even wired lan connection is to slow to sweep the fy6600 every 10 uS ,could a routine for sweep be programmed and sent to something like an ESP8266's internal memory and then triggered  remotely and used to control the sweep parameters of the Fpga?  The ESP 8266 board I got only has four pins brought out ,but there are others available with more comprehensive i/o. There very cheap ,easy enough to program ,and would mean sweep routines could be uploaded to the device and run locally with no 'comms' delay  ,and no need for any processing on the controling pc . Wifi control of the generator would be an interesting possabillity though, anyway hopefully some ideas there ,thanks for the great work once again Fremen.
« Last Edit: May 15, 2018, 07:39:58 pm by soundtec »
 

Offline fremen67

  • Frequent Contributor
  • **
  • Posts: 349
  • Country: fr
Thanks for the help guys.
Had a powercut all day today ,so got everyting connected up with the larger board ,just a few extra pins needed to be soldered for 5 volts and ground . Might be later or tomorrow before I see what happens .
The larger board is a "STM32 Smart V2.0". I already used one in a previous project and the main advantage compared to the blue pill is that it has a 20pin JTAG connector. Compared to the basic bluepill, it has a 24c02 eprom onboard (connected to PB6 and PB7, not used by the blue pill firmware) and an extra switch, connected to PA0 which is used for VCO-IN. This should not be a problem at the moment.

Ive been messing with an ESP8266 (wifi)breakout board ,it seems from what Fremen said that even wired lan connection is to slow to sweep the fy6600 every 10 uS ,could a routine for sweep be programmed and sent to something like an ESP8266's internal memory and then triggered  remotely and used to control the sweep parameters of the Fpga?  The ESP 8266 board I got only has four pins brought out ,but there are others available with more comprehensive i/o. There very cheap ,easy enough to program ,and would mean sweep routines could be uploaded to the device and run locally with no 'comms' delay  ,and no need for any processing on the controling pc . Wifi control of the generator would be an interesting possabillity though, anyway hopefully some ideas there ,thanks for the great work once again Fremen.
The sweeping functions are done by the FP MCU. We don't need external connection for that. What I said is that the FP will have trouble handling sweep functions while spending time for other tasks like external communication (serial or ethernet for example if we add such a module) or even refreshing the display.
ESP8266 are interresting modules but then we would have to handle two different architectures with no reusable code.
If we need more CPU power for ethernet connection for example, the idea would be to use something like a bluepill as we could directly re-use existing code.

There would be several possibilities to connect this new board. We could for example just "daisy chain" this board between the existing USB/RS232 converter (4-wires ribbon) and the FP using RS232 link: no modification in the FP would be required. The new board would handle both existing external serial link and the new ethernet module, redirecting requests to a serial port connected to the FP..

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
There would be several possibilities to connect this new board. We could for example just "daisy chain" this board between the existing USB/RS232 converter (4-wires ribbon) and the FP using RS232 link: no modification in the FP would be required. The new board would handle both existing external serial link and the new ethernet module, redirecting requests to a serial port connected to the FP..

I like this idea the best as the sweep needs to be perfect and fast in my opinion.
 

Offline DPA31

  • Contributor
  • Posts: 20
  • Country: fr
Anyone with a V3.2.1 able to dump the flash memory and post it?
Hello everybody,
First, I am a newbie on this forum I used to follow, but up to now I didn't subscribe.
I'd like to say I have been impressed by the quality of the exchanges  and the work been performed herein.
Impressed also by the quality of the contributors, cybermaus, DC1MC, ebel0410, arthurdent, beanflying, soundtech, derkami and of course fremen67, ....and others (sorry for those I forgot)
It made me want to participate to this adventure, as expressed by cybermaus not for it worth but for the plaisure it provides. Thks to all of you.
Attached Flash dump of FY6600-30MHz flash memory.
Dominique
 

Offline soundtec

  • Regular Contributor
  • *
  • Posts: 194
  • Country: ie
Hi Dom ,welcome ,

On account of the fine weather I put off trying the bluepill board again ,maybe tomorrow .

 

Offline DPA31

  • Contributor
  • Posts: 20
  • Country: fr
Hi Dom ,welcome ,

On account of the fine weather I put off trying the bluepill board again ,maybe tomorrow .
Thks soundtech,
Just to explain where I am on the project:
I got a FY6600-30 release 3.2.1.
I changed the output amplifier with a pair of THS3091, I replaced SB 16V electrolytic caps with panasonic 25V low ESR ones,
The SMPS is for the moment emulated with a RIGOL lab PSU and the plastic box has been removed so I can perform  thermal measurements either at 12V or at 15V.
I put my footsteps in cybermaus' footprints to dump the flash memory, and in fremen67's ones  to flash a bluepill with his SW (the connections with the SB are in place).
Report in a few day.
Cheers.
Dominique.
 

Offline DPA31

  • Contributor
  • Posts: 20
  • Country: fr
Hi,
Attached my first thermal measurements on the SB.
> PSU : +/- 12V, CH1=CH2= sine 10KHz, no offset, channels unloaded as there is no heatsink on output amplifier
My goal is to establish a thermal image of the board for further measurements. The measure is quite unprecised on a large chip like the cyclone as the laser spot is not always at the same place.
First impression :
- the 2 output amps have not identical temperatures (? :-//)
- T2 & T5 regulators dissipate quite a bit and could be at risk with a +/-15V PSU (to be tested)
- the cyclone should not request a heatsink
Further measurements to come with a heatsink on the output amplifiers as I will load them and applied square waves with offset
Any suggestion or remark is welcome.
Dominique.
 

Online Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
I just received mine today and it is ver. 3.3. Beside some cosmetic issues, it seems to be ok.
Sure enough, the output connectors float at around 46VAC, 5V is 5.00..V but both 12V are around 11.4V.
« Last Edit: May 17, 2018, 01:04:08 am by Miti »
Fear does not stop death, it stops life.
 

Offline DaveR

  • Regular Contributor
  • *
  • Posts: 165
  • Country: gb
Well, that's the first 3.3 that we've seen - I wonder what's been tweaked this time?  What's the rev number on the main board (mine was 1.501) - just wondering if any hardware changes have been made as well?  The power supply looks identical to that originally fitted in mine, except that the version number has gone from 1.6 to 1.7 (maybe just a minor component value change).

Regards,
Dave
 

Online Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
What's the rev number on the main board (mine was 1.501) - just wondering if any hardware changes have been made as well?  The power supply looks identical to that originally fitted in mine, except that the version number has gone from 1.6 to 1.7 (maybe just a minor component value change).

Regards,
Dave

Main board is V1.503. One thing I've noticed on the power supply comparing to other pictures in this thread, the yellow capacitor is gone and they added a fuse.
Fear does not stop death, it stops life.
 

Online Miti

  • Super Contributor
  • ***
  • Posts: 1324
  • Country: ca
Ohh sure there will be some mistakes in the schematic, no doubt :) I'll beep them out and correct the file when I can. The clamp diode sure make sense :)

Hey DerKammi,

I think I just found a mistake in the main board schematic. The AS interface SV1 doesn't look like the one in the picture. I think you swapped some pins there.
Fear does not stop death, it stops life.
 

Offline soundtec

  • Regular Contributor
  • *
  • Posts: 194
  • Country: ie
So the 6800 arrived today .
I just had a preliminary look at it so far ,the switch on the encoder shaft is gone ,replaced by the ok button on the front panel .
Sync options are now accessed via systems menu and VCO has its own dedicated setup page . Only difference I found was in the 6800 you get a realtime display of modulation frequency ,where in the 6600 theres nothing appart from start/stop buttons to tell you your sweep is running .

The rubberised keys are definately an improvement ,much lighter to the touch and doesnt send the machine skidding off the table .On the inside the front panel is new ,the main board is V1.51 and psu is v1.7.
Main board seems tidied up a bit ,from version 1.501,some of the unused stuff is gone and other minor changes in placement in components. One of the ground wires which used to connect psu board to signal board now returns to the mains earth instead ,and the back panel is now plastic . Looks like its the simple dual channel single op amp in place on the outputs ,but the extra pads for the upgrade op amps are still there .No sign of any firmware update button  that was hinted at previously by FT either. So Im wondering what happens if I swap out the front panels between 66 and 68 models ,does my 60 mhz unit then become a 15mhz and the 15mhz work upto 60mhz ?

It comes with a version 1.6 firmware and its the 60mhz model , The new badge on the front panel now reads FeelElec .
 

Offline DC1MC

  • Super Contributor
  • ***
  • Posts: 1882
  • Country: de
So the 6800 arrived today .
I just had a preliminary look at it so far ,the switch on the encoder shaft is gone ,replaced by the ok button on the front panel .
Sync options are now accessed via systems menu and VCO has its own dedicated setup page . Only difference I found was in the 6800 you get a realtime display of modulation frequency ,where in the 6600 theres nothing appart from start/stop buttons to tell you your sweep is running .

The rubberised keys are definately an improvement ,much lighter to the touch and doesnt send the machine skidding off the table .On the inside the front panel is new ,the main board is V1.51 and psu is v1.7.
Main board seems tidied up a bit ,from version 1.501,some of the unused stuff is gone and other minor changes in placement in components. One of the ground wires which used to connect psu board to signal board now returns to the mains earth instead ,and the back panel is now plastic . Looks like its the simple dual channel single op amp in place on the outputs ,but the extra pads for the upgrade op amps are still there .No sign of any firmware update button  that was hinted at previously by FT either. So Im wondering what happens if I swap out the front panels between 66 and 68 models ,does my 60 mhz unit then become a 15mhz and the 15mhz work upto 60mhz ?

It comes with a version 1.6 firmware and its the 60mhz model , The new badge on the front panel now reads FeelElec .

The most important part: is the STM on the front panel locked permanently ? Does it come with a new PC software, has this one some update option ?
I'm really curious about the update option, if it's really possible, does these lock bits be disabled from the inside of the running firmware and then re-enabled or there there is actually no option to update the FW.
Questions, questions...  >:D

 Cheers,
 DC1MC

 
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf