6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 6:56 am

All times are UTC




Post new topic Reply to topic  [ 11 posts ] 
Author Message
PostPosted: Mon Oct 22, 2018 1:25 pm 
Offline
User avatar

Joined: Wed Aug 17, 2005 12:07 am
Posts: 1250
Location: Soddy-Daisy, TN USA
IIRC, I believe the AT28C256 is rated at 150ns.

http://ww1.microchip.com/downloads/en/D ... oc0006.pdf

In my current SBC, I've been running it at 3.58MHz for about a week now. Perfectly stable.

In my parts drawer, I found an even faster oscillator of 4.43MHz that is half-can. I have others but they are all full-can.

So for grins, I thought I would see how it ran at 4.43MHz and, to my surprise, it worked perfectly for about 9 hours.

But I'm puzzled how it worked when I thought 4.43MHz would be a little too fast for the 150ns ROM I have. I guess I'm right on the edge of manufacturer tolerances?

How fast have you guys pushed AT28C256 or other 150ns ROM before it broke down? Keep in mind I'm not using any wait-states or anything like that.

_________________
Cat; the other white meat.


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 22, 2018 1:55 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
The 150ns spec - like any spec - is a worst case which all parts should meet in all situations. So, wide variations of voltage and temperature which you can probably stay well within. And part-to-part and batch-to-batch variation, which means you might be lucky and get something much faster, or unlucky and get something which only just meets.

Worth noting that while you might appreciate a faster clock-to-Q or input-to-output delay, you might no longer meet hold time requirements for the parts which accept the signals. Faster is not always better.


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 22, 2018 2:11 pm 
Offline
User avatar

Joined: Wed Aug 17, 2005 12:07 am
Posts: 1250
Location: Soddy-Daisy, TN USA
BigEd wrote:
Faster is not always better.


Oh, I agree 100%. I only wanted to design at 1MHz. But since I didn't have a 1MHz half-can available, I used what I had. However, I think I'm going to be OK running at 4MHz. At least with the AT28C256's that I have.

So I'm thinking I must have gotten a "lucky" batch of slightly faster versions or something. Either that or the demo gods are giving me a break for once in my life. LOL

_________________
Cat; the other white meat.


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 22, 2018 2:14 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
I've a feeling we had some recent threads where hold time violations were the problem: the handover between the sender and the receiver needs a certain amount of slack. So, regardless of the clock speed of your design, the speed of your parts can be important, beyond just 'are they fast enough'.


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 22, 2018 2:19 pm 
Offline
User avatar

Joined: Wed Aug 17, 2005 12:07 am
Posts: 1250
Location: Soddy-Daisy, TN USA
Hmm. That's a good point.

I recently tried to interface a 65C51 ("just for kicks") and found that the computer crashed. Thinking it was one of my slots, I then removed it and wired up another VIA controlling some LED's (this is in addition to my primary VIA). Worked great.

I never could figure out why the 65C51 was causing the crash when I wasn't really doing anything other than sending it a few simple config commands. So maybe I was driving it too hard.

I think I might try getting my function generator to work on this again so that I can drive it at 1MHz. Maybe that will reveal some other issues I haven't found.

_________________
Cat; the other white meat.


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 22, 2018 3:08 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1385
Well, for the Atmel 28C256, I have lots of new 150ns rated parts... while I've not tried all of them, I've not had any troubles running them on a W65C02 CPU board at 10MHz. Beyond that, they don't work. I also have some 70ns rated parts in PLCC... I've run those at 12MHz but haven't tried beyond that yet. I would expect them (the PLCC 70ns parts) to run at 16MHz but one never knows... as the rest of the circuit will also have some affect on timings.

65C51... really depends on which manufacturer and spec you have... plus how you're trying to use the chip, i.e., IRQ-driven or polled, etc. Bill O has had luck running at very high speeds but simply using polled I/O mode... I only use the 65C51 with full duplex IRQ-driven receive and transmit and I have a couple older WDC parts (not the new buggy ones) that run at 12MHz. I also have several Rockwell 4MHz R65C51 parts... these will usually run at 5MHz but no more. Hope this helps....

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 22, 2018 4:53 pm 
Offline
User avatar

Joined: Fri Dec 11, 2009 3:50 pm
Posts: 3367
Location: Ontario, Canada
cbmeeks wrote:
I think I might try getting my function generator to work on this
Sounds good. Just a reminder: if you haven't already, then have a look a the function generator's spec for rise and fall time. If this is too slow for the CPU you're using (consult that spec, too) then you're at risk for some flaky, hard-to-diagnose problems. To prevent that, interpose a 74ac14 (or similar) as a buffer. Ie: the function generator drives the '14, and the '14 drives your project. But step one is to see what the function generator's rise & fall spec is.

-- Jeff

_________________
In 1988 my 65C02 got six new registers and 44 new full-speed instructions!
https://laughtonelectronics.com/Arcana/ ... mmary.html


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 22, 2018 6:21 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
Other relevant topics:

If you run a cable from a workbench signal generator to the board, you will probably need to terminate it with a resistor matching the characteristic impedance (Zo) of that cable, or you will get reflections buzzing back and forth between the ends of the cable that can keep your board from working. The tiny VFO you can plug directly into the board eliminates this potential problem.

_________________
http://WilsonMinesCo.com/ lots of 6502 resources
The "second front page" is http://wilsonminesco.com/links.html .
What's an additional VIA among friends, anyhow?


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 22, 2018 6:44 pm 
Offline
User avatar

Joined: Wed Aug 17, 2005 12:07 am
Posts: 1250
Location: Soddy-Daisy, TN USA
Thanks for the tips.

Regarding the function generator, I used to drive sound chips all the time with it at 1.79 and 3.58MHz with no issues and nothing else between the FG and the sound chip clock input pin. Which is why I was puzzled that even 100 Hz didn't work. But then again, I probably just fat-fingered something on the FG.

However, it's a m00t point at the moment anyway...I went ahead and ordered a few more half-can oscillators. 1, 4, 6 and 8MHz. I like nice, round integers so one of those is going to be my permanent clock. Probably the 4 MHz since 4.43 has worked so well (that I can tell). I will try 6 and 8 just to see if I can break things.

Speaking of, I'm going to switch gears a little anyway. I'm not going to worry about serial over the next few weeks. I have vacation this week and since I have a pretty good LCD library working, I think I might try and get EhBASIC running on my machine with the LCD as output. Then maybe a PS/2 keyboard as input.

So I should be able (hopefully) to get some BASIC software running to test stability and then see how far I can go before it breaks.

_________________
Cat; the other white meat.


Top
 Profile  
Reply with quote  
PostPosted: Mon Oct 22, 2018 7:33 pm 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1385
For half-size can oscillators, I keep a collection around: 1, 2, 4, 5, 6, 8, 10, 12, 16MHz for CPU clocks. I also have 1.8432 and 3.6864MHz for baud rate clocks... as the 65(c)51 uses the former and the NXP UARTs use the latter. I've also driven the W65C51 with the 3.6864MHz clock and have had reliable operation at 38.4K baud.

Daryl put together a nice PS/2 keyboard interface using an ATTiny chip, might be worth looking at. I also have a somewhat smaller and streamlined version of EhBasic which has page zero usage contiguous from $00 up, plus it uses less space than the normal version (chrget/chrgot runs in ROM). The version I have is a single source and requires nothing beyond the vector locations for character in and character out. You're welcome to try it if you like... but it makes use of CMOS opcodes, so a CMOS 65C02 is required.

_________________
Regards, KM
https://github.com/floobydust


Top
 Profile  
Reply with quote  
PostPosted: Tue Oct 23, 2018 3:30 pm 
Offline
User avatar

Joined: Fri Dec 12, 2008 10:40 pm
Posts: 1007
Location: Canada
floobydust wrote:
65C51... really depends on which manufacturer and spec you have... plus how you're trying to use the chip, i.e., IRQ-driven or polled, etc. Bill O has had luck running at very high speeds but simply using polled I/O mode...

I have. In doing experiments the propagation delay in enabling the chip is critical - at least for polled use. BTW, I have a large pile (more than 60) of these Intersil CDP65C51A UARTs. I'd be willing to test at high speed (20Mhz) and ship a couple of them out to anyone that would like to try them for free (as long as you pay the shipping)

BigEd wrote:
Faster is not always better.

If you can make it work its is. (I used to race dirt bikes ... so ...) :D

cbmeeks wrote:
IIRC, I believe the AT28C256 is rated at 150ns.
....
How fast have you guys pushed ....

I've recently used SST 27SF256 EEPROMs rated a 70ns which I seem to be able to push to 20MHz. I'm really liking the EEPROMS as they greatly speed up the re-programming process. However, I generally use the fastest stuff I can get for anything I build these days. There are DIP EPROMS readily available in 45ns and even 35ns versions. Unfortunately I have no experience with these ATMEL parts.

GARTHWILSON wrote:
If you run a cable from a workbench signal generator to the board, you will probably need to terminate it with a resistor matching the characteristic impedance (Zo) of that cable, or you will get reflections buzzing back and forth between the ends of the cable that can keep your board from working.

This is what I do using a cheap (~$150) JDS6600 60MHz DSP based generator. It gets the job done. At least up to 20MHz so far. Keep the unshielded leads short and use termination.

_________________
Bill


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 11 posts ] 

All times are UTC


Who is online

Users browsing this forum: Google [Bot] and 60 guests


You cannot post new topics in this forum
You cannot reply to topics in this forum
You cannot edit your posts in this forum
You cannot delete your posts in this forum
You cannot post attachments in this forum

Search for:
Jump to: