Author Topic: Easy-to-use higher frequency clock generator  (Read 2266 times)

0 Members and 1 Guest are viewing this topic.

Offline coaxialgamerTopic starter

  • Contributor
  • Posts: 11
  • Country: fr
Easy-to-use higher frequency clock generator
« on: August 23, 2019, 04:31:19 pm »
I'm working on a small project for which I need to generate a clock signal.
I'd typically use a 555 timer, but I need higher frequencies, approaching 10mhz. So that's not going to cut it.

I'm sure there are great options out there for this kind of circuit. However, I'm far from an expert in electronics, and I mostly need something that's easy to use ("programmed" externally, like a 555).
I'd really like to be able to adjust the output frequency, which is why I don't really want to use a simple crystal oscillator.
Jitter isn't too much of a concern, but I do need an LVCMOS output to work with the discrete 74 series chips I'll be using.

What options do I have here?

Again, I'm a noob here, so feel free to point out if I'm ignoring something obvious.


 

Online radiolistener

  • Super Contributor
  • ***
  • Posts: 3378
  • Country: ua
Re: Easy-to-use higher frequency clock generator
« Reply #1 on: August 23, 2019, 06:41:18 pm »
you can use si5351 synthesizer module. It allows to make up to 3 output frequencies from 2 PLL's. You can setup it with some cheap microcontroller such as STM32F103 blue pill or some arduino. It allows to get any frequency from 5 kHz to 200 MHz

https://www.aliexpress.com/item/32817431908.html


If you needs just fixed 10 MHz, you can use Crystal Oscillator, jut put proper power supply and get 10 MHz output:
https://www.aliexpress.com/item/32949421823.html
« Last Edit: August 23, 2019, 06:45:10 pm by radiolistener »
 

Offline coaxialgamerTopic starter

  • Contributor
  • Posts: 11
  • Country: fr
Re: Easy-to-use higher frequency clock generator
« Reply #2 on: August 23, 2019, 06:57:20 pm »
Will I need to incorporate this MCU into my actual design, or can I program it once and forget about it?
 

Offline rdl

  • Super Contributor
  • ***
  • Posts: 3667
  • Country: us
Re: Easy-to-use higher frequency clock generator
« Reply #3 on: August 23, 2019, 07:05:41 pm »
You can make one from a couple of logic gates and a few other parts. Just search for "logic gate oscillator".
 

Offline Gyro

  • Super Contributor
  • ***
  • Posts: 9507
  • Country: gb
Re: Easy-to-use higher frequency clock generator
« Reply #4 on: August 23, 2019, 07:07:14 pm »
Will I need to incorporate this MCU into my actual design, or can I program it once and forget about it?

If you look on ebay, you can also find controllers - eg. pre-programmed Arduinos to to take the hassle out of the user interface.

eg:  https://www.ebay.co.uk/itm/VFO-DIY-ARDUINO-PROGRAMMING-CODE-UPLOAD-SI5351-AD9850-AD9851-OTHERS-for-Hams/183786465985?hash=item2aca86eac1:g:pJQAAOSwEVlcBVnH
Best Regards, Chris
 

Online radiolistener

  • Super Contributor
  • ***
  • Posts: 3378
  • Country: ua
Re: Easy-to-use higher frequency clock generator
« Reply #5 on: August 23, 2019, 07:07:55 pm »
yes, you will need to program it each time after power up. Technically you can use factory programmed chips, but this is relevant for large amount production. For amateur projects it's more easy to get default chip and program it with MCU.

For example, you can use this blue pill module and ST-Link USB programmer to flash it:
https://www.aliexpress.com/item/32963983251.html
 

Offline magic

  • Super Contributor
  • ***
  • Posts: 6779
  • Country: pl
Re: Easy-to-use higher frequency clock generator
« Reply #6 on: August 23, 2019, 07:30:19 pm »
Check out those parts

https://para.maximintegrated.com/en/results.mvp?fam=siliosc

One of them is programmable with external resistors (not sure if flexible enough for you), others are "program once by I2C and forget". DS1085 and DS1085L seem to be the most flexible of the I2C types, followed by DS1086/L.

If you use Linux with open source drivers, I2C programing can be done with a VGA/DVI/HDMI port and a right cable ;)
 

Online radiolistener

  • Super Contributor
  • ***
  • Posts: 3378
  • Country: ua
Re: Easy-to-use higher frequency clock generator
« Reply #7 on: August 23, 2019, 07:43:55 pm »
I painted schema on how to wire together si5351 module with STM32 blue-pill:



As you can see, there is nothing difficult. In order to flash STM32 MCU, disconnect it from power supply and connect to ST-Link V2 programmer, connect it to USB and flash file from attachment (I made 10 MHz setup on CH0 for you).

In order to flash, you will needs to download STM32 ST-LINK Utility: https://www.st.com/en/development-tools/stsw-link004.html

After that just wire it with si5351 module and connect 5V power supply. You can use also 3.3 V power supply, just put it on 3.3 pin. That's it :)

I also added picture with schema into archive with flash firmware.



 

Offline coaxialgamerTopic starter

  • Contributor
  • Posts: 11
  • Country: fr
Re: Easy-to-use higher frequency clock generator
« Reply #8 on: August 23, 2019, 07:56:30 pm »
About these I2C devices, more generally: you'd typically program them using a general-purpose microcontroller, correct?

I saw the binary file you wrote (thanks), but assuming I settled on something else I2C, would I need to write code for that? Is there pre-existing software to do handle it? Where can I find ressources on the subject?
I'm not adverse to learning about any particular MCU, I just don't quite know where to look is all.
« Last Edit: August 23, 2019, 08:02:20 pm by coaxialgamer »
 

Offline coaxialgamerTopic starter

  • Contributor
  • Posts: 11
  • Country: fr
Re: Easy-to-use higher frequency clock generator
« Reply #9 on: August 23, 2019, 07:57:04 pm »
Thanks, that chip which uses external resistors might just do. I'll look into it.
 

Online radiolistener

  • Super Contributor
  • ***
  • Posts: 3378
  • Country: ua
Re: Easy-to-use higher frequency clock generator
« Reply #10 on: August 23, 2019, 08:11:52 pm »
About these I2C devices, more generally: you'd typically program them using a general-purpose microcontroller, correct?

yes

I saw the binary file you wrote, but assuming I settled on something else I2C, would I need to write code for that? Is there pre-existing software to do handle it? Where can I find ressources on the subject?
I'm not adverse to learning about any particular MCU, I just don't quite know where to look is all.

I'm using complicated environment, it will be hard for you to start with it. But there is exists much more easier environment, for example you can start here: https://circuitdigest.com/microcontroller-projects/getting-started-with-stm32-development-board-stm32f103c8-using-arduino-ide

In short, you will needs to calculate XTAL (25 MHz) multiplier and divider in form of a+b/c and then send it to si5351 registers through i2c port. And also send some control registers settings in order to enable CH0 and select proper clock source. Thats it :)

For example in binary firmware that I made for 10 MHz (in attachment above) I used:
- PLL multiplier: { a=36, b=0, c=1 }
- divider { a=90, b=0, c=1 }

It leads to PLL frequency 25 MHz * (36 + 0/1) = 25 * 36 = 900 MHz

After divider we will get 900 MHz / (90 + 0/1) = 900 / 90 = 10 MHz

The output of si5351 is very clean and very stable. You will not be able to get so clean and stable signal with circuits like 555 or something like that.
« Last Edit: August 23, 2019, 08:16:23 pm by radiolistener »
 
The following users thanked this post: coaxialgamer

Online tggzzz

  • Super Contributor
  • ***
  • Posts: 19515
  • Country: gb
  • Numbers, not adjectives
    • Having fun doing more, with less
Re: Easy-to-use higher frequency clock generator
« Reply #11 on: August 23, 2019, 08:20:24 pm »
I'm working on a small project for which I need to generate a clock signal.
I'd typically use a 555 timer, but I need higher frequencies, approaching 10mhz. So that's not going to cut it.

I'm sure there are great options out there for this kind of circuit. However, I'm far from an expert in electronics, and I mostly need something that's easy to use ("programmed" externally, like a 555).
I'd really like to be able to adjust the output frequency, which is why I don't really want to use a simple crystal oscillator.
Jitter isn't too much of a concern, but I do need an LVCMOS output to work with the discrete 74 series chips I'll be using.

What options do I have here?

Again, I'm a noob here, so feel free to point out if I'm ignoring something obvious.

One solution to that minimal spec is a 74lvc1g14 with a resistor between output and input, and a capacitor from the input to ground. Use a variable R or C to change the frequency.
There are lies, damned lies, statistics - and ADC/DAC specs.
Glider pilot's aphorism: "there is no substitute for span". Retort: "There is a substitute: skill+imagination. But you can buy span".
Having fun doing more, with less
 


Share me

Digg  Facebook  SlashDot  Delicious  Technorati  Twitter  Google  Yahoo
Smf