VOGONS


NES PPU ISA Card

Topic actions

Reply 20 of 22, by Deunan

User metadata
Rank l33t
Rank
l33t
kagura1050 wrote on 2025-10-15, 05:59:

I'm planning to use the ICS501 to generate the 21.477272MHz signal (I'm not planning on using the 74HCU04/4069UBE anymore because I want a stable square wave).

You won't get a square wave at this frequency unless you route the clock trace properly, make it thick and avoid any capacitive coupling to power planes.
In general your original oscillator circuit is a bit odd. Why use all these extra gates in series? It only adds thermal noise and more points of failure. One gate for the crystal and another for amplification and separation is enough. Tie the rest to GND/VCC if not used. This is not recommended as such but with gates on the same chip, and CMOS tech, you could put 2 or 3 in parallel. The phase noise on slopes is not going to be anything significant and you'll get more drive out of it for better square shape.

Truth be told sine wave should be good enough if it has clean slopes and good amplitude. But HC (and anything 4000 series) usually doesn't have the drive to output square, or anything close to it, at this frequency. AC series might but that will also add noise with over/undershoots if the signal routing is not good enough. Or might require resistive termination at the end.

kagura1050 wrote on 2025-10-15, 05:59:

1. Divide the ISA bus's 14.318MHz signal by 2 with the HCT74 and multiply it by 3 with the ICS501, or vice versa (is the motherboard's ISA frequency reliable?)

Mobo frequency is usually only "good enough" for CGA divisors and analog TV output. If you plan on having it multiplied via PLL you might get a lot of noise, drift, and pick up other random frequencies from the PC itself.
And then there are weird mobos (and SBCs for example) that might not have this clock, or not in spec. If you want stable frequency you need your own source. Maybe even, like some VGAs do, use a separate power path for it - that is, 12V input with local 5V regulator for the oscillator circuit. But that requires careful consideration of what is going to happen if one of the voltages suddenly goes missing. You don't want chips getting stressed or fried because some lousy PC PSU has poor power-on/off voltage sequencing for example.

And another question I have for the original oscillator circuit you've made: Did you check the datasheet for the crystal you are using, for correct configuration (parallel/serial) and capacitance? This circuit usually starts with 1M resistor at this frequency (though it might be a bit off due to wrong config) but the 22pF capacitors - that's just a middle point and won't always work. Some crystals will require more (33pF for example) and some way less (down to 10pF). Again too thin traces and of different length might upset that as well. Also the correct value depends on the circuit configuration - parallel/serial.
If you don't have a datasheet then just play with the capacitor values a bit, and/or reconsider your routing in that area. Preferably also verify you get correct output frequency because difference between parallel/serial is not big, usually within a few kHz (before multiplication step), but that might be enough to upset some hardware or software. Certainly way above the usual 30 or 50ppm crystal specs. There's plenty of bugs and quirks old consoles had with regard to timing.

Reply 21 of 22, by kagura1050

User metadata
Rank Newbie
Rank
Newbie

Thank you Deunan for your detailed knowledge.

Deunan wrote on 2025-10-15, 08:16:

You won't get a square wave at this frequency unless you route the clock trace properly, make it thick and avoid any capacitive coupling to power planes.
In general your original oscillator circuit is a bit odd. Why use all these extra gates in series? It only adds thermal noise and more points of failure. One gate for the crystal and another for amplification and separation is enough. Tie the rest to GND/VCC if not used. This is not recommended as such but with gates on the same chip, and CMOS tech, you could put 2 or 3 in parallel. The phase noise on slopes is not going to be anything significant and you'll get more drive out of it for better square shape.

Truth be told sine wave should be good enough if it has clean slopes and good amplitude. But HC (and anything 4000 series) usually doesn't have the drive to output square, or anything close to it, at this frequency. AC series might but that will also add noise with over/undershoots if the signal routing is not good enough. Or might require resistive termination at the end.

The reason I connected them all in series was because of some kind of misunderstanding. I once tried connecting all the remaining gates in parallel, but the amplitude still didn't reach the TTL level (this may have been due to the clock trace being too long).

Deunan wrote on 2025-10-15, 08:16:

Mobo frequency is usually only "good enough" for CGA divisors and analog TV output.

I understand, thank you. I will ignore option 1.

Deunan wrote on 2025-10-15, 08:16:

And another question I have for the original oscillator circuit you've made: Did you check the datasheet for the crystal you are using, for correct configuration (parallel/serial) and capacitance? This circuit usually starts with 1M resistor at this frequency (though it might be a bit off due to wrong config) but the 22pF capacitors - that's just a middle point and won't always work. Some crystals will require more (33pF for example) and some way less (down to 10pF). Again too thin traces and of different length might upset that as well. Also the correct value depends on the circuit configuration - parallel/serial.
If you don't have a datasheet then just play with the capacitor values a bit, and/or reconsider your routing in that area. Preferably also verify you get correct output frequency because difference between parallel/serial is not big, usually within a few kHz (before multiplication step), but that might be enough to upset some hardware or software. Certainly way above the usual 30 or 50ppm crystal specs. There's plenty of bugs and quirks old consoles had with regard to timing.

I couldn't find a datasheet for the crystal that came with the Famicom, but the original circuit diagram even had instructions to change the capacitor mounting depending on the shrink wrap color, so it doesn't seem like it'll work with a sloppy job.
So it looks like I'll have to go with option 2. I might combine it with a 7050 active oscillator, but for now I'm thinking of using the format shown in the attached image.

Deunan wrote on 2025-10-15, 08:16:

If you want stable frequency you need your own source. Maybe even, like some VGAs do, use a separate power path for it - that is, 12V input with local 5V regulator for the oscillator circuit. But that requires careful consideration of what is going to happen if one of the voltages suddenly goes missing. You don't want chips getting stressed or fried because some lousy PC PSU has poor power-on/off voltage sequencing for example.

I'll think about this too. If I do it, it will probably be revision 3 (it seems like it would be quite a pain to get the 12V to a good location).

古いマシンで新しいOS(Linux/NetBSD)を動かすのが好き。
Timezone : UTC+9

Reply 22 of 22, by Deunan

User metadata
Rank l33t
Rank
l33t

Active oscillator is easier to use, since all the hard work was done by the manufacturer. You get correct frequency and only need to provide power, and usually the ouput is strong enough to drive multiple CMOS inputs. If you need to drive older TTL chips I would add an extra amplifier in the form of AC/ACT gate. But there is one serious issue with active oscillators - they only come in specific frequencies. If you need something different you have to make your own circuit. There's also cost and package type (and space on PCB).

So I guess you will have to do it the hard way for now. The image looks good, though I don't know what kind of chip that is. But it has thicker trace for output, good placement for capacitors and even signal traces for the crystal. I assume there is a GND plane that spills all over the place there. There is also a power bypass cap for the chip right next to it, as it should be.
If this is a dedicated chip for such oscilators then it's probably driving the crystal with low power and has the required resistances built-in. But with just simple inverting gates you want to add that 1M resistor to the crystal. Also consider another resistor in series with the crystal. Yes it will make the traces a bit uneven but these crystals have a maximum power level they can handle and it's not high. Usually the absolute max is about 100mW level. Driving it hard, with 5V swing, you risk damage (long-term, it won't die right away but might after few weeks of operation). Something around 100 ohm, maybe lower for such high frequency. This resistor should be between the gate output and the crystal. It will also help improve the quality/shape of the oscillator. This part is usually very sinusoidal (and it should be to minimize noise), you get sqare(-ish) output from the next amplifier gate.

Speaking or square, I suspect you used too slow HC series chip and that is what is limiting your amplitude and shape on the output. Oh I suppose that is obvious but you can't use any T series (like HCT) for the oscillator part. The amplifier gate, sure, but not the actual resonator. Also don't try this kind of circuit with TTL gates, these require a bit more effort to get it working right. Use CMOS, preferably AC series, but I again remind you of the extra series resistor I mentioned above. AC gate at 5V will drive the crystal pretty hard. It will not like it long term.