VOGONS


First post, by GigAHerZ

User metadata
Rank Oldbie
Rank
Oldbie

Hi all!

An idea came to my mind: What if a static frequency oscillator cold be replaced with a tiny PCB, that has jumpers for frequency selection and fits directly into DIP-14 socket of the oscillator?

Is it possible? Or there's something, that prevents such thing? It would be nice to have something like that, and if possible, maybe even with a range, let's say, 1MHz - 200MHz.

If that is something that can be done, does someone have any schema to share? 😀

Thank you!

"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!

Reply 1 of 18, by stamasd

User metadata
Rank l33t
Rank
l33t

You could have several can oscillators switched by jumpers or dip switches on a small PCB... Or if you want to go all modern and not-time-correct you could rig up a DDS module such as AD9850 or 9851 and make the frequency basically continually variable from zero to the max of that module (about 50MHz for 9850, 80MHz for 9851). I made one of those a while back with and AD9850 and an Arduino pro mini based on http://www.ad7c.com/projects/ad9850-dds-vfo/

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 2 of 18, by maxtherabbit

User metadata
Rank l33t
Rank
l33t

this is very relevant to my interests

finding a good selection of DIP-14 full cans above ~40MHz is quite difficult, a drop in VFO would make tinkering with overclocking old boards much better than buying a few random values at $10 a pop shipped

Reply 3 of 18, by stamasd

User metadata
Rank l33t
Rank
l33t

If you want to try that could be an interesting project IMO. There are higher rated DDS chips too like the AD9854 that can go to 150MHz or even higher but expect that to cost more (about $40 for a board vs about $15 for an 9851).

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 4 of 18, by GigAHerZ

User metadata
Rank Oldbie
Rank
Oldbie

It seems it would be easy to do with a microcontroller on board. But if i would like to keep it simpler, i wonder, if there are chips that only need some pins to be grounded/vcc'd to set some multiplier for the frequency and that's it? Putting some Atmel/STM chip on board feels a bit overkill... 😜

"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!

Reply 5 of 18, by stamasd

User metadata
Rank l33t
Rank
l33t

AFAIK no; these DDS chips have a number of internal registers that need to be rewritten for each frequency change and the easiest way to do it is with a microcontroller. You could, of course, only put the DDS board in the PC and wire its control lines to a connector, then when you want to make a frequency change you would connect an external microcontroller to those lines. This way you wouldn't have an arduino inside your vintage PC. 😀

If you don't want to go the DDS route you could probably rig something up with a fixed-frequency oscillator followed by a variable divider; say a 200MHz osc divided by 10 would give you 20MHz, by 6 you get 33.3MHz, by 5 you get 40MHz and so on. It would be more complicated though and less flexible than a DDS, but that's just my opinion.

(edit) plus with a clock source above 100MHz you wouldn't be able to use regular TTL or CMOS dividers but would have to use an ECL divider such as https://www.onsemi.com/products/clock-timing/ … ctions/mc10e016

(edit2) Huh, this project really keeps me researching. I found an even better alternative: https://www.onsemi.com/products/clock-timing/ … erators/nb3n511 It's a small (SOIC-8) PLL clock multiplier that takes a crystal from 5 to 32MHz and multiplies its frequency from 2x to 8x in 8 steps selectable with 2 pins. So with e.g. a 10MHz crystal you could generate outputs of 20MHz/25MHz/30MHz/33MHz/40MHz/50MHz/53.3MHz/60MHz/80MHZ depending on the state of the 2 pins (2 jumpers). Sounds like a simple and adequate solution to me. You could even use several crystals (switchable with another jumper block) to generate even more frequencies. Similar chip but with fewer selectable outputs https://www.onsemi.com/products/clock-timing/ … erators/nb3n502

Last edited by stamasd on 2019-12-13, 14:19. Edited 1 time in total.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 6 of 18, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
stamasd wrote:

(edit2) Huh, this project really keeps me researching. I found an even better alternative: https://www.onsemi.com/products/clock-timing/ … erators/nb3n511 It's a small (SOIC-8) PLL clock multiplier that takes a crystal from 5 to 32MHz and multiplies its frequency from 2x to 8x in 8 steps selectable with 2 pins. So with e.g. a 10MHz crystal you could generate outputs of 20MHz/25MHz/30MHz/33MHz/40MHz/50MHz/53.3MHz/60MHz/80MHZ depending on the state of the 2 pins (2 jumpers). Sounds like a simple and adequate solution to me.

that looks very doable

Reply 7 of 18, by GigAHerZ

User metadata
Rank Oldbie
Rank
Oldbie

@stamasd, the NB3N511 sounds amazing.
It is capable up to 200MHz (25MHz x8) and one could have clock divider for the 25MHz crystal to have lower frequencies in the end result as well. (For example to have something like 25MHz divided by 8 and then multiplied by 1 gives 3,125MHz.)
Having a range from ~3MHz to 200MHz with maybe about 4-6 jumpers/dip-switches would be amazing! 😮

Sounds like a project i could try to do! Haven't yet ever tried any pcb manufacturer in china and this tiny OSC replacement would be nice thing to start with!

"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!

Reply 8 of 18, by stamasd

User metadata
Rank l33t
Rank
l33t

I think so too. And if you switch the crystal for a 8MHz one you get 16/20/24/26/32/40/42/48/64MHz; or with a 12MHz crystal you end up with 24/30/36/39/48/60/63/72/96 MHz. That would cover a lot of the range you would need.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 9 of 18, by stamasd

User metadata
Rank l33t
Rank
l33t

Looks like someone has done something similar: https://www.changpuak.ch/electronics/XCO-100.php

The NB3N511 can be had for under $5 from places like Mouser and Digi-key. Or if you have (hint) a samples account with OnSemi (easy to setup) they will send you up to 5 devices for free, you only pay shipping.

Also on eBay for $4.60 with free shipping from China. Or https://www.aliexpress.com/item/33052812299.h … rchweb201603_53 $10 incl shipping for 5 pieces also from China.

Last edited by Stiletto on 2020-03-02, 06:40. Edited 1 time in total.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 10 of 18, by GigAHerZ

User metadata
Rank Oldbie
Rank
Oldbie

Yep, i've gotten myself a little project now!

Thank you! I will definitely keep you guys posted. Can't promise any speed on it, as i don't have too much free time to do this, yet, i do want to benchmark some overclocked 386 and 486 machines! So i do need it! 😁

"640K ought to be enough for anybody." - And i intend to get every last bit out of it even after loading every damn driver!

Reply 11 of 18, by stamasd

User metadata
Rank l33t
Rank
l33t

There's also this https://www.onsemi.com/products/clock-timing/ … rators/nb3n3020 which takes a 5-27MHz crystal and offers 26 selectable multipliers from 1x to 16x with 3 selection pins (max 210MHz). This is only a 3.3V device though so it will need voltage conversion circuitry.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 12 of 18, by maxtherabbit

User metadata
Rank l33t
Rank
l33t
GigAHerZ wrote:
@stamasd, the NB3N511 sounds amazing. It is capable up to 200MHz (25MHz x8) and one could have clock divider for the 25MHz cryst […]
Show full quote

@stamasd, the NB3N511 sounds amazing.
It is capable up to 200MHz (25MHz x8) and one could have clock divider for the 25MHz crystal to have lower frequencies in the end result as well. (For example to have something like 25MHz divided by 8 and then multiplied by 1 gives 3,125MHz.)
Having a range from ~3MHz to 200MHz with maybe about 4-6 jumpers/dip-switches would be amazing! 😮

Sounds like a project i could try to do! Haven't yet ever tried any pcb manufacturer in china and this tiny OSC replacement would be nice thing to start with!

go with JLCPCB - they have been god tier for me so far, I've done like 20 designs with them now

Reply 13 of 18, by stamasd

User metadata
Rank l33t
Rank
l33t

Looks like a 25MHz crystal divided by 3 would give the most useful range of frequencies (8.33 to 66.6MHz). Here's BTW a divide-by-3 circuit with 50% output duty cycle with 3 D-flipflops and 3 NOR gates (one used as an inverter to change the phase of the clock for the 3rd flipflop):

https://1.bp.blogspot.com/_e6JO8zk2riM/R53eO1 … w/s1600-h/2.bmp

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 14 of 18, by stamasd

User metadata
Rank l33t
Rank
l33t

FWIW I ordered some parts from OnSemi; the NB3N511 is currently out of stock in their sampling program and will take a couple weeks, but I have already received another part https://www.onsemi.com/products/clock-timing/ … nerators/fs6370 https://www.onsemi.com/pub/Collateral/FS6370-D.PDF which is a programmable clock multiplier; it can be programmed by I2C and has an internal EEPROM that holds its settings. It is capable of generating 4 clock signals simultaneously (3 independent and one derived from the 3rd one) up to about 150MHz. There is simulation software at https://www.onsemi.com/support/design-resourc … ware?rpn=FS6370 which can be used as a calculator for the registry values you need to write for a desired output.

Here's an example of simulation for generating 30, 40, 50 and 60MHz simultaneously from a 25MHz crystal:

Capture.jpg

Once the chip is programmed for a set of frequencies, you could select with jumpers one of the 4 output clocks to go to the socket. And if you include a I2C programming header you can also quickly change the chip's programming, even on-the-fly.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 15 of 18, by retardware

User metadata
Rank Oldbie
Rank
Oldbie

You might like my simple circuit that I built to generate clock from a few hundred kilohertz to >66MHz.
It works like a charm.
Clock speed is adjusted the most simple way I can think of: setting clock by just turning a potentiometer until the built-in frequency counter LED display indicates the desired frequency.

Schematics, photos and project report here (in German, use a translator).

Reply 16 of 18, by stamasd

User metadata
Rank l33t
Rank
l33t
retardware wrote:
You might like my simple circuit that I built to generate clock from a few hundred kilohertz to >66MHz. It works like a charm. C […]
Show full quote

You might like my simple circuit that I built to generate clock from a few hundred kilohertz to >66MHz.
It works like a charm.
Clock speed is adjusted the most simple way I can think of: setting clock by just turning a potentiometer until the built-in frequency counter LED display indicates the desired frequency.

Schematics, photos and project report here (in German, use a translator).

Those pictures are tiny and I can barely distinguish the schematic but it looks like a RC oscillator. While that will work it won't have the stability of a quartz PLL generator.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O

Reply 17 of 18, by retardware

User metadata
Rank Oldbie
Rank
Oldbie
stamasd wrote:

Those pictures are tiny and I can barely distinguish the schematic but it looks like a RC oscillator. While that will work it won't have the stability of a quartz PLL generator.

These are thumbnail pictures, they open when clicked.

My intention was to easily adjust the PC to a desired clock speed, without the need for extreme precision.
So I found that that simple RC oscillator is sufficient for me.
Of course, if one wants to do (for example) benchmarks based on exact clock frequencies, instead of (roughly) adjusting computer speed for some clock-sensitive games, that approach would be inadequate.

Reply 18 of 18, by stamasd

User metadata
Rank l33t
Rank
l33t
retardware wrote:
stamasd wrote:

Those pictures are tiny and I can barely distinguish the schematic but it looks like a RC oscillator. While that will work it won't have the stability of a quartz PLL generator.

These are thumbnail pictures, they open when clicked.

They are not clickable for me. It may be a feature only for users registered on that forum.

My intention was to easily adjust the PC to a desired clock speed, without the need for extreme precision.
So I found that that simple RC oscillator is sufficient for me.
Of course, if one wants to do (for example) benchmarks based on exact clock frequencies, instead of (roughly) adjusting computer speed for some clock-sensitive games, that approach would be inadequate.

Another approach, which would give you more options for frequency values while retaining crystal stability, would be to start with a low freq quartz oscillator (say 1-2MHz) and run it through a PLL chip like NE564 in conjunction with a binary presettable counter such as 74193 used to count down from a preset "x" value (defined by jumpers) to create a divide-by-x circuit. With a 2MHz crystal and one 74193 you could generate from 2 to 32MHz in 2MHz increments, or if you add another divide-by-2 stage like a D flipflop you would expand up to NE564's upper range of about 50MHz.

I/O, I/O,
It's off to disk I go,
With a bit and a byte
And a read and a write,
I/O, I/O