6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Wed May 01, 2024 5:38 am

All times are UTC




Post new topic Reply to topic  [ 180 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9, 10 ... 12  Next
Author Message
PostPosted: Mon Nov 07, 2022 9:59 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8428
Location: Southern California
Your persistence is admirable.

adrianhudson wrote:
Exactly the same as before. No difference whatsoever. The *£$%~@ thing rruns with a Rockwell cpu but fails with the WDC part.

It still seems to be a matter of thresholds, that that SRAM can't pull up high enough to please the WDC part.

Quote:
Iteration 1 - on solderless breadboard - that worked - eventually. Moral: BUY REALLY GOOD BREADBOARD!! == $$$. Its worth it. (However, on reflection, I was never quite sure about memory integrity - but I put it down to breaboard connection problems).

I always recommend against doing this kind of work on solderless breadboards. Keep them for your audio and control circuits or applications where the stray inductance and capacitance are not enough to cause problems. But when you do use them, yes, get the American ones with a lifetime warranty. I've never had any connection problems with those. The Chinese imitations don't use the right material and prong shape.


Quote:
So, iteration 4 is next. This time on perfboard with a ground plane.

I will, unless someone corrects me:

1. Add capacitors first. Soldered to the+5V pins.

And solder each capacitor from the Vcc pin to the ground plane immediately outside that pin's hole, and solder a little wire from each ground pin to the ground plane immediately outside that pin's hole. Make the Vcc capacitors' leads as short as practicable (or even better, use a chip capacitor) to minimize lead inductance; and of course make sure you don't get solder or flux farther up the pin where you'll need the corners to get a good bite into WW wire later. The extremes shouldn't be necessary just to get it to work; but if you're redoing it with that kind of board anyway, it doesn't hurt to just do a really good job of it, eliminating one of the possible causes of malfunction for any and all parts choices and speeds.

_________________
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 Nov 07, 2022 10:24 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8428
Location: Southern California
floobydust wrote:
I've been using the Alliance AS6C62256 SRAM chips with WDC W65C02S processors for close to 10 years now. Right now I have 4- SBCs running. There's no issue running these memory chips with the WDC CPU. I've never used data line pull-up resistors either. Note: my 3.3V prototype system uses the SAME SRAM as it's rated down to 2.7V operation.

I wonder if, as someone suggested in one of the earlier pages of this topic, the Alliance SRAM is internally regulating the power-supply voltage down to 3.3V or thereabouts, with the expectation that the resulting TTL-level outputs will be adequate. When running the WDC processor at 3.3V, it apparently does bring its logic threshold down lower so it would work ok with this, whereas it would have trouble at 5V. (I don't have any experience with it at 3.3V to confirm though.)

_________________
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 Nov 07, 2022 10:30 pm 
Offline

Joined: Sat Apr 30, 2022 7:13 pm
Posts: 159
Location: Devon. UK
GARTHWILSON wrote:
floobydust wrote:
I've been using the Alliance AS6C62256 SRAM chips with WDC W65C02S processors for close to 10 years now. Right now I have 4- SBCs running. There's no issue running these memory chips with the WDC CPU. I've never used data line pull-up resistors either. Note: my 3.3V prototype system uses the SAME SRAM as it's rated down to 2.7V operation.

I wonder if, as someone suggested in one of the earlier pages of this topic, the Alliance SRAM is internally regulating the power-supply voltage down to 3.3V or thereabouts, with the expectation that the resulting TTL-level outputs will be adequate. When running the WDC processor at 3.3V, it apparently does bring its logic threshold down lower so it would work ok with this, whereas it would have trouble at 5V. (I don't have any experience with it at 3.3V to confirm though.)

Forgive me if I am totally misunderstanding you but are you suggesting that I could try a lower power supply voltage? As I mentioned somewhere above my power +ve is a little high. I think I said it was 5.15V - ish.
I shall go and try it anyway!


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 07, 2022 11:00 pm 
Offline

Joined: Sat Apr 30, 2022 7:13 pm
Posts: 159
Location: Devon. UK
Interesting.

I don't have a variable "bench" power supply. I found a wall-wart (I think thats what you guys over The Pond call them) that outputs 4.97V and although its not perfect, my test program gets a lot further (before crashing). But that is a REAL change. It crashed before, as far as I can tell, on the first or second level of a subroutine - i.e. a few bytes of stack used and probably corrupted. Now it calls display soubroutines several times before crashing.

So, I think we really are converging on TTL/CMOS levels. Nice one Dr Jefyll, back on page 3.

Now, pullup resistors didn't seem to make a lot of difference. I still have them in circuit - 2K2. I wonder if stronger pullups would help. 1K5 or 1K even.


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 07, 2022 11:11 pm 
Offline

Joined: Wed Jun 23, 2021 8:02 am
Posts: 165
If you have a rectifier diode in your parts box (1N4001 or similar) you could try sticking that in series with the power supply - that should drop it down to somewhere near 4V. Then see if that makes it any more reliable.


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 07, 2022 11:29 pm 
Offline
User avatar

Joined: Fri Dec 12, 2008 10:40 pm
Posts: 1000
Location: Canada
kernelthread wrote:
If you have a rectifier diode in your parts box (1N4001 or similar) you could try sticking that in series with the power supply - that should drop it down to somewhere near 4V. Then see if that makes it any more reliable.

Yes, and I would suggest you do this to the W65C02 only. If it begins working then, it's almost 100% an I/O threshold problem due to the RAM.

_________________
Bill


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 07, 2022 11:31 pm 
Offline

Joined: Sat Apr 30, 2022 7:13 pm
Posts: 159
Location: Devon. UK
BillO wrote:
kernelthread wrote:
If you have a rectifier diode in your parts box (1N4001 or similar) you could try sticking that in series with the power supply - that should drop it down to somewhere near 4V. Then see if that makes it any more reliable.

Yes, and I would suggest you do this to the W65C02 only. If it begins working then, it's almost 100% an I/O threshold problem due to the RAM.

Hang in there BillO - I'm typing another post.


Top
 Profile  
Reply with quote  
PostPosted: Mon Nov 07, 2022 11:34 pm 
Offline

Joined: Sat Apr 30, 2022 7:13 pm
Posts: 159
Location: Devon. UK
kernelthread wrote:
If you have a rectifier diode in your parts box (1N4001 or similar) you could try sticking that in series with the power supply - that should drop it down to somewhere near 4V. Then see if that makes it any more reliable.

I should have thought of that! Thanks...

...and BINGO!

At last, AT LAST. IT WORKS! W65C02 WORKS!

Its still a little unstable - I think it would benefit with just a little lower voltage - it runs at 5.5V but occasionally crashes but before it only got one character to the screen with this program and died. Now it runs for minutes at a time. Unfortunaltely my display won't run at any lower voltage so I can't go lower - at least not tonight.

So, I am assuming it is indeed TTL/CMOS levels and stronger data line pullup may indeed work.

I will do a proper thank you to everyone tomorrow.


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 08, 2022 2:31 am 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1076
Location: Albuquerque NM USA
To give you an idea of how low you can drop the voltage, I ran memory diagnostic while lowering voltage. It stopped at 4.5V, but that's due to the voltage supervisor resetting. Removing the voltage supervisor and manually reset with push button, I can lower the voltage down to 2.6V before it stopped. It never reported memory error, just stopped so I infer memory diagnostic is still passing just something else quitting. While I'm confident it will operate at 3.6V, 2.6V is quite unexpected simply because 7430 is a TTL logic that shouldn't operate much lower than 3.3V.

When an intermittent problem is "cured" by lower supply voltage, system noise is a likely candidate. This is because lower voltage slows down the devices and reduces rail-to-rail voltage swing thus reducing system noise. Contention can also be affected by supply voltage because the drive output weaken and caused less power spike.

The part list for this experiment are W65C02, KM62256, AT28C256, W65C51, 2x1.8432MHz can oscillators, 7430, 74ACT138, and 74AHC00.

I can test whether TTL/CMOS of RAM is a problem by replacing KM62256 with AS6C1008 which is quite similar to AS6C62256. I'll let you know.
Bill


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 08, 2022 3:11 am 
Offline

Joined: Fri Dec 21, 2018 1:05 am
Posts: 1076
Location: Albuquerque NM USA
Replacing KM62256 with AS6C1008 (pull up A15 and A16 inputs) and verify it still passes memory diagnostic at 2.6V (it should, AS6C1008 is rated 2.7V-5.5V, same as AS6C62256); then raise voltage slowly while running memory diagnostic to 5.5V. Memory test passes from 2.6V to 5.5V. Attached is the memory diagnostic program which resides in AT28C256 EPROM.
Bill

Edit, Since a fast 55nS AS6C1008 is now installed, I decided to do a speed test. I don't expect the board to run much faster than 2MHz because AT28C256 is a 250nS part, so I replace it with Winbond W27C512 which is a 45nS device. The existing wiring are compatible with W27C512 as long as the code is from $C000-$FFFF. So with W27C512 and AS6C1008 installed, the board will run 12MHz at 5V. It will not run at 14.7MHz @5V, but will run 14.7MHz @5.5V.


Attachments:
6502SXB_memory_test.zip [4.82 KiB]
Downloaded 42 times
Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 08, 2022 6:30 am 
Offline
User avatar

Joined: Tue Mar 05, 2013 4:31 am
Posts: 1373
adrianhudson wrote:
kernelthread wrote:
If you have a rectifier diode in your parts box (1N4001 or similar) you could try sticking that in series with the power supply - that should drop it down to somewhere near 4V. Then see if that makes it any more reliable.

I should have thought of that! Thanks...

...and BINGO!

At last, AT LAST. IT WORKS! W65C02 WORKS!

Its still a little unstable - I think it would benefit with just a little lower voltage - it runs at 5.5V but occasionally crashes but before it only got one character to the screen with this program and died. Now it runs for minutes at a time. Unfortunaltely my display won't run at any lower voltage so I can't go lower - at least not tonight.

So, I am assuming it is indeed TTL/CMOS levels and stronger data line pullup may indeed work.

I will do a proper thank you to everyone tomorrow.


Well, this is an oddity no doubt! So, another test you could try to confirm it's a voltage threshold problem with the W65C02 would be to use the diode and ONLY insert it in the +5V to the W65C02. This would lower the CPU's voltage, but maintain the normal +5V (or whatever it is) for the rest of the logic chips... and the memory. In theory, the CPU's threshold voltage would be a bit lower and the memory output levels would remain the same.

I'm traveling this week and next, so I don't have access to my normal test lab... in any case, I did bring one of my C02 Pocket SBC setups and my usual toolbag, which includes a Fluke 115. Running a sequential block read test of a Compact Flash, the voltage at the Alliance SRAM is hovering around 5.045 volts. Again, this is one of several boards I've built up with the Alliance SRAM and none are experiencing any issues. I've also run a RAM test on the boards in the past with zero failures.

Sadly, your puzzle continues.... ugh!

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


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 08, 2022 8:18 am 
Offline

Joined: Sat Apr 30, 2022 7:13 pm
Posts: 159
Location: Devon. UK
Thanks Folks for your thoughts and physical work. I continue to be humbled by your kindness and help.

Indeed, on sleeping on it I agree that things are not "fixed" - the underlying cause is still there. Levels, noise, whatever. I will spend more time this evening thinking about your posts. I do think though that I can rule out simple wiring faults.


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 08, 2022 8:19 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8167
Location: Midwestern USA
BillO wrote:
Try a different brand of memory chip. The Voh =2.4V current of only 1mA is rather feeble on the item you are using.

I looked up the DC specs on the ISSI part I use in my contraptions. VOH is rated 2.4 at 4 mA.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 08, 2022 8:22 am 
Offline

Joined: Sat Apr 30, 2022 7:13 pm
Posts: 159
Location: Devon. UK
BigDumbDinosaur wrote:
BillO wrote:
Try a different brand of memory chip. The Voh =2.4V current of only 1mA is rather feeble on the item you are using.

I looked up the DC specs on the ISSI part I use in my contraptions. VOH is rated 2.4 at 4 mA.

BDD, can you explain what you are saying there. Are you agreeing the 1mA is feeble or saying it's okay?


Top
 Profile  
Reply with quote  
PostPosted: Tue Nov 08, 2022 9:11 am 
Offline
User avatar

Joined: Thu May 28, 2009 9:46 pm
Posts: 8167
Location: Midwestern USA
adrianhudson wrote:
BigDumbDinosaur wrote:
BillO wrote:
Try a different brand of memory chip. The Voh =2.4V current of only 1mA is rather feeble on the item you are using.

I looked up the DC specs on the ISSI part I use in my contraptions. VOH is rated 2.4 at 4 mA.

BDD, can you explain what you are saying there. Are you agreeing the 1mA is feeble or saying it's okay?

1 mA is feeble.

Just for the sake of explanation, just about all SRAM available these days has TTL outputs. Each output is a “totem-pole” arrangement that consists of two NPN transistors wired in series, the collector of the bottom one connected to the emitter of the top one through a diode. The top transistor on the totem pole has its collector connected to VCC through a current-limiting resistor. The bottom transistor's emitter is connected to ground. Output is taken at the collector of the bottom transistor, that is, “below” the cathode of the diode.

When the totem pole drives the output low, the top transistor is quiescent and the bottom one is turned on. The path for current flow is through the bottom transistor, which looks almost like a short to ground to the output. The output is driven to near zero, typically no more than 0.4 volts.

When the totem pole drives the output high, the bottom transistor is quiescent and the top one is turned on. The path for current flow is through the diode, the top transistor and the current-limiting resistor. This path has a substantially higher equivalent resistance than the path to ground through the bottom transistor due to the presence of two diode drops (the diode and the top transistor) and the resistor. For that reason, the maximum theoretical output voltage is 3.4 volts in a 5 volt circuit. Each diode drop introduces about 0.8 volts loss (worst-case), which when subtracted from 5 volts leaves you with 3.4 volts.

The resistor is necessary because there will be a small period of time as the input changes state when both transistors will be conducting. Without the resistor, the resulting high current flow would be destructive.

The rub is that 3.4 volts quickly deteriorates with any kind of loading, mainly due to the resistor in the circuit. 3.4 volts is below what is considered the minimum logic 1 threshold for CMOS inputs, which in a 5 volt circuit, is typically 70 percent of VCC, or 3.5 volts. So even before loading is considered, you’re already operating at a voltage deficit.

A CMOS input draws microamps when not in transition. Therefore steady-state loading is vanishingly small. When a CMOS input changes state, a brief current transient occurs. The output device has to be able to supply that current without appreciable voltage sag if reliability is expected. I think that requirement is not being met in your device.

Another “gotcha” involves parasitic capacitance. That imposes a significant load on a device's output when it changes state, as that capacitance has to be charged or discharged before voltages will stabilize. It could be parasitic bus capacitance is loading down the SRAM’s output, causing a lazy rise in voltage when the SRAM emits a 1 on one of its pins. I could see where that would cause random errors that would result in a crash.

All five of my POC V1 designs have been built with the ISSI RAM I mentioned. Excepting V1.4, which isn’t finished, all of them run at double-digit clock speeds, with one unit stable at 20 MHz. I’m suspecting you have a dodgy SRAM, or maybe something else that is loading down the data bus. You should see about single-stepping the clock so you can measure bus voltages with a DVM. That should help in pinpointing the problem.

_________________
x86?  We ain't got no x86.  We don't NEED no stinking x86!


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 180 posts ]  Go to page Previous  1 ... 4, 5, 6, 7, 8, 9, 10 ... 12  Next

All times are UTC


Who is online

Users browsing this forum: No registered users and 7 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: