Electronics > Beginners

2 clocks from one oscillator.

(1/2) > >>

DaSkippy:
Hey everyone, I have a question regarding clock generation.

Description of the problem:
In the SNES (yes, the game console) there are currently 2 clocks, one for CPU and one for the APU, which are both highly unstable and varies a lot, for the purpose of emulation, these clocks are 21477272Hz and 24607104Hz respectfully. In our community we try to validate emulators with real hardware by syncing controller inputs and verify that the end result is the same, on the NES this isn't a problem, since there is only one clock, but for the snes it's a huge problem.

The greatest common divider between these clocks is 8Hz, which is a bad thing, since you will need to divide and multiply weirdly. And a small diversion initially will result in a huge difference afterwards, we can live with a certain difference between the original clock, but it's more important that the clocks stay in sync

Now the question we have is, what would be the best way to get these clocks, and keep them in sync? Would it be best to divide.a 10MHz reference to 1Hz, and start multiplying? And what would be the best method to multiply the signals, since the clock will be I the 24ish MHz range, and each multiplication stage needs to add the same delay, and then at the end we would need to multiply one clock probably by 1 a certain amount of times to keep in sync.

fourfathom:
Look at the Si5351, an extremely inexpensive and incredibly flexible triple-output clock generator.  Put a cheap crystal on it and get two fractional-resolution PLLs driving three fractional divider outputs.  Sub-Hz frequency resolution and output range from 8KHz to 150MHz.

Datasheet: https://www.silabs.com/documents/public/data-sheets/Si5351-B.pdf

A cheap eval board with this chip and an xtal: https://learn.adafruit.com/adafruit-si5351-clock-generator-breakout

DaSkippy:
Thanks, this chip seems to be what I need! I will order the eval board from Adafruit.

awallin:
FWIW the first number is an exact (6x) multiple of some (by now) slightly obscure NTSC analog TV frequency of 3.579545 MHz. Crystals on that frequency should be available.

one could now guess that the second one could be related through multiply/divide also to NTSC, or to PAL (europe?) or to some Japanese analog TV frequency...

awallin:
This page talks about the audio chip
https://en.wikipedia.org/wiki/Super_Nintendo_Entertainment_System#Technical_specifications

mentions a clock of 24.576 MHz, which is 750-times the usual watch quartz-crystal of 32768 Hz. (or 24-times 1.024 MHz)

was that what you meant by APU?
 

Navigation

[0] Message Index

[#] Next page

There was an error while thanking
Thanking...
Go to full version
Powered by SMFPacks Advanced Attachments Uploader Mod