Page 1 of 1

Can I drive the 65c02 at 3.3v with other 3.3v devices?

Posted: Wed Jul 01, 2015 3:59 pm
by cbmeeks
I've searched this site and I'm reading the datasheet for the 65c02 here (http://www.westerndesigncenter.com/wdc/ ... 65c02s.pdf).

However, I'm just not finding the answer I'm looking for.

I have a Parallax Propeller that has pins that can only handle 3.3v.

So, is it safe to power the 65c02 at 3.3v and tie the address/data pins DIRECTLY to the propeller? I should have to use any level shifters right?

Also, in the datasheet, I'm looking at the DC Characteristics chart but it doesn't make sense to me. I see the supply voltage can handle 3.3v (at +/- 10%). But the Vih has (VDD+0.3 VDD+0.3) for 3.6. What does that mean??

If I knew how to read these datasheets better, I wouldn't have to ask such beginner questions. :-)

Thanks.

Re: Can I drive the 65c02 at 3.3v with other 3.3v devices?

Posted: Wed Jul 01, 2015 4:06 pm
by BigEd
Yes, an all-3.3V design should work OK.

Probably the max input voltage is limited by the fragility of the input protection diodes - the datasheet is saying they can withstand 0.3V but not more. Presumably excessive voltage would damage them due to the current.

Conversely, the speed of the device is proportional to voltage, so a proportional margin makes more sense there. Probably! Basically, if you go below 3.0V the device may not be fast enough to comply with the figures in the datasheet.

Re: Can I drive the 65c02 at 3.3v with other 3.3v devices?

Posted: Wed Jul 01, 2015 5:19 pm
by cbmeeks
Ah, but you don't think there will be an issue if I connect the 65c02 to/from the 3.3v propeller?

I plan on finding some 3.3v SRAM but in the beginning, I will probably have the propeller drive the 65c02 directly.

Thanks

Re: Can I drive the 65c02 at 3.3v with other 3.3v devices?

Posted: Wed Jul 01, 2015 6:41 pm
by cbscpe
If you are not looking for a fast running machine at 14MHz and more and you are fine with the maximum of 8MHz for a W65C02 at 3V3 then an all 3V3 design has many advantages. As a ACIA I use the Harris CDP65C51AE4, which is a 4MHz capable CMOS version of the 6551, that supports VCC from 3V to 6V and does not have the TX bit stuck error. As RAM I use a 512kbyte AS6C4008-55 which supports VCC from 2.7V to 5.5V. There is also the 128kbyte AS6C1008 version with the same voltage range. The good point about a 3V3 system is that it also can interface directly with current versions of CPLDs, so you could use Darlys SPI device and port it to any available CPLD and you can also bit-bang I2C to a SD-Card which also is limited to 3V3. What you're left now with is the ROM, however I suspect that you want to use the Propeller to avoid a ROM.

Re: Can I drive the 65c02 at 3.3v with other 3.3v devices?

Posted: Wed Jul 01, 2015 7:35 pm
by cbmeeks
Yes I want to use the propeller as the ROM. I plan on halting the CPU at boot, copy the ROM into RAM and then have the CPU execute the ROM (now RAM). Similar to the C64.

Later, I plan on having the propeller also provide the SD card interface, audio and video.

Honestly, I may not have to connect the propeller directly to the CPU at all. Other than a few control lines because I plan on halting the CPU while the propeller accesses RAM for audio/video work. But that comes much later.

Re: Can I drive the 65c02 at 3.3v with other 3.3v devices?

Posted: Fri Jul 03, 2015 10:08 pm
by jac_goudsmit
Connecting the Propeller to the WD65C02, both running at 3.3V is no problem.

Vince Briel even connected an ACIA (MC6850P) running at 5V to a Propeller and WD65C02 running at 3.3V on the Superboard III project and it works fine, even though the Propeller datasheet explicitly says that it's not 5V tolerant.

I'll be interested to see what you're going to come up with. With the Propeller running at 80MHz, you can bitbang the address bus and databus of the 65C02 at 1MHz, and not much faster. I had to cheat with my Propeddle and L-Star projects to make the Apple-1 PIA emulator work: they react to 65C02 access within the normal 1 microsecond time frame but they need an extra 6502 clock cycle to finish the job of changing the internal state.

Generating the clock from the Propeller makes it easy to change the speed of the 6502 bus, if you want to run it at 1kHz or even 1Hz instead of 1MHz or if you want to stop the clock, it's just a matter of reprogramming the pulse generator on the Propeller. Using an external clock is also possible as I demonstrated with KimStar (a hybrid of the Apple-1 and KIM-1 running on a Propeller QuickStart connected to a MicroKim, see https://hackaday.io/project/4418). But running the 65C02 at a faster speed than 1MHz while the Propeller is on the address bus and data bus is going to confuse the hell out of the Propeller firmware because it's simply not going to be able to keep up.

If you want to run your 65C02 system faster than 1MHz, you're going to have to find a way to keep the Propeller separated when it's not needed, and slow the system down when it is needed. For example, you could design a circuit that runs at 14MHz and boots from the Propeller at 1MHz. Some address decoding hardware will be necessary (unlike my projects which decode all addresses in the Propeller firmware) which will have to be linked to the clock generator. Should be an interesting experiment! Maybe I'll spend some time doing this in the future. But it has been mentioned in these forums before: Speed is not all that important if you're building your own 6502 computer just for the sake of bringing up a 6502 computer. And 1MHz is a very nice speed to get started with, without complicating things too much like switching speeds on a clock generator while it's running.

===Jac