DS1077 Oscilator as CPU clock?

Building your first 6502-based project? We'll help you get started here.
Post Reply
dracosilv
Posts: 13
Joined: 09 Nov 2015

DS1077 Oscilator as CPU clock?

Post by dracosilv »

Could I foreseeably use a DS1077z-100 (5v compatable part) as my clock source for my CPU?

I was figuring on using an Arduino to allow switching the EconOscillator between 1mhz and 2mhz clock-output speeds

DIV1 divider set to 50, and P1 Prescaler set to /1 : (100mhz * 1/50 * 1/1)
DIV1 divider set to 50, and P1 Prescaler set to /2 : (100mhz * 1/50 * 1/2)

Also I would use the Arduino as a sort of.. way to add fancier features (of the Arduino) to the 6502, like analog I/O and I2C/SPI... but i'd mainly/firstly start out with a software debounced reset switch, and a reset-on-change-of-cpu-speed (for now).

Does this sound reasonable? or is it overly rube-Goldberg-ish?
User avatar
Dr Jefyll
Posts: 3525
Joined: 11 Dec 2009
Location: Ontario, Canada
Contact:

Re: DS1077 Oscilator as CPU clock?

Post by Dr Jefyll »

Hi, dracosilv. I'm attaching the datasheet for that part since more people are likely to respond if the information is made readily available. I like the device's flexibility, BTW.
DS1077.pdf
(309.4 KiB) Downloaded 170 times
I have only glanced over the datasheet but it seems the part might be appropriate for your purpose. Of course in order to configure the device you'll be obliged to establish the two-wire serial interface and determine the commands necessary, but that will be kind of fun probably, and maybe educational. :)

Using the Arduino as a software debounced reset switch for the CPU does not strike me as Goldberg-ish, but it depends on one's point of view, I suppose. Yes it's a lot of computing power devoted to a trivial task. But if you already have an Arduino on hand then it's a convenient and effective means to an end.
Quote:
way to add fancier features (of the Arduino) to the 6502, like analog I/O and I2C/SPI
This implies two-way communication between your CPU and the Arduino, and establishing that is a task a novice may find challenging -- but, again, educational and kinda fun.

Good luck, and keep us posted. Which CPU do you plan to use, BTW?

-- Jeff
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
User avatar
BigDumbDinosaur
Posts: 9425
Joined: 28 May 2009
Location: Midwestern USA (JB Pritzker’s dystopia)
Contact:

Re: DS1077 Oscilator as CPU clock?

Post by BigDumbDinosaur »

dracosilv wrote:
Could I foreseeably use a DS1077z-100 (5v compatable part) as my clock source for my CPU?

I was figuring on using an Arduino to allow switching the EconOscillator between 1mhz and 2mhz clock-output speeds
As Jeff noted, you should be able to use the DS1077 for that purpose, although I question the value of switching clock speeds on the fly. You might want to consider whether the 65C02 will continue to hum along when the speed changes or crash due to the resulting sudden change in timing.
Quote:
Also I would use the Arduino as a sort of.. way to add fancier features (of the Arduino) to the 6502, like analog I/O and I2C/SPI... but i'd mainly/firstly start out with a software debounced reset switch, and a reset-on-change-of-cpu-speed (for now).
Using the Arduino as a reset controller does seem overly complicated. The Maxim DS-1813 reset controller is a lot simpler, requires no programming, is aware of the rise and fall of Vcc in your circuit, and takes up only the space of a TO-92 device.

While we always encourage experimentation and finding new ways to use various hardware pieces, we also suggest that a first-time effort not have too much complexity. More complexity increases the likelihood of a DOA unit, although troubleshooting and resolving the DOA cause in itself is educational.
x86?  We ain't got no x86.  We don't NEED no stinking x86!
User avatar
Dr Jefyll
Posts: 3525
Joined: 11 Dec 2009
Location: Ontario, Canada
Contact:

Re: DS1077 Oscilator as CPU clock?

Post by Dr Jefyll »

BigDumbDinosaur wrote:
You might want to consider whether the 65C02 will continue to hum along when the speed changes or crash due to the resulting sudden change in timing.
The bulleted list of features at the top of page 1 of the DS1077 datasheet mentions "Frequency changes on-the-fly" and "Synchronous output gating." Did you overlook this, BDD? I know you're still recovering from eye surgery. :| The 'C02 isn't bothered by speed changes, sudden or otherwise, provided that the PHI2 spec's for minimum tPWH and tPWL are met.

ETA: Hmm, apologies to our novice readers -- a better explanation is in order. With a WDC 'C02 you can flip the clock input , PHI2, high and low as quickly or slowly as you choose, and as regularly or irregularly as you choose, as long as you obey the following simple rule: Having flipped PHI2 high-to-low, or low-to-high, you must wait 35 ns or more (the WDC part has no upper limit) before you flip PHI2 again. IOW if PHI2 is high it must stay high for at least the minimum tPWH. If it's low it must remain low for at least the minimum tPWL. (Both figures are 35 ns, assuming 5 volt operation.) A runt pulse -- one that's too short -- can cause the CPU to crash or otherwise malfunction.

Runt pulses can arise when switching between clock sources. But the DS1077 is evidently designed in a way that avoids the threat.
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
User avatar
Dr Jefyll
Posts: 3525
Joined: 11 Dec 2009
Location: Ontario, Canada
Contact:

Re: DS1077 Oscilator as CPU clock?

Post by Dr Jefyll »

dracosilv wrote:
Could I foreseeably use a DS1077z-100 (5v compatable part) as my clock source for my CPU?
dracosilv, I just noticed the output high voltage produced by this part is only 2.4 volts. That is acceptable only for driving TTL inputs and also CMOS chips whose inputs use the TTL spec. The Rockwell 'C02 is a CMOS chip that uses the TTL spec, but the WDC 'C02 is a CMOS chip that requires its PHI2 input to be driven almost "rail to rail" (ie, within .4 volt of 0 or +5).

You haven't mentioned which CPU you plan to use. There are simple remedies that will allow the WDC part to work. The Rockwell part can accept the DS1077 output directly.
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html
Post Reply