6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Fri Nov 01, 2024 4:38 am

All times are UTC




Post new topic Reply to topic  [ 21 posts ]  Go to page Previous  1, 2
Author Message
PostPosted: Thu Feb 05, 2015 7:05 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8534
Location: Southern California
Quote:
Since I am doing a PCB and not wirewrap, I suspect I can keep the noise down.

Be sure you've gone through the sticky topic "Techniques for reliable high-speed digital circuits." See also my 6502 primer which has 22 chapters detailing different aspects of making your own 6502 computer, mostly hardware but a little software too, plus things like steps for a successful project, and workbench equipment.

_________________
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: Thu Feb 05, 2015 3:22 pm 
Offline
User avatar

Joined: Wed Feb 13, 2013 1:38 pm
Posts: 589
Location: Michigan, USA
Hi Jeff. Welcome to the group.

May I ask if you've considered using a single SRAM chip (64K or 128K) instead of a pair of 32K chips? The 64K and 128K chips I've seen have an additional active high chip select input that might be handy for address decoding. For example, you could use a single active low I/O chip select output ($8000..$BFFF) to drive active low I/O chip select pins as well as the active high RAM chip select pin ($0000-$7FFF + $C000-$FFFF).

Good luck on your project.

Cheerful regards, Mike


Attachments:
Decoder 2 ('139).png
Decoder 2 ('139).png [ 22.32 KiB | Viewed 667 times ]
Top
 Profile  
Reply with quote  
PostPosted: Fri Feb 06, 2015 11:03 pm 
Offline

Joined: Sat Jan 10, 2015 3:14 am
Posts: 13
BigDumbDinosaur wrote:
sponaugle wrote:

I printed the schematic on B-size paper so I could read it and noted a few things:

  1. The SOB input on the 65C02 must be tied to Vcc or Gnd if you are not planning to actively drive it. Allowing it to float will make it susceptible to noise and may cause the V bit in the status register to be randomly set. There's no telling what that might do in your software. I suggest pulling SOB up to Vcc through a 3.3K resistor so you can use it as a high speed input if desired.
  2. The pullup resistor values for /IRQ and /NMI are too high. I recommend no more than 3.3K for these resistors. If they are too high, a long R-C time-constant will be created and the corresponding circuit will take too long to return to Vcc when all interrupt sources are cleared. Such behavior is a common cause of spurious interrupts. Garth Wilson has a good discussion of this phenomenon in his interrupts article on his website.
  3. I see that you are using an SRAM as a pseudo-ROM, but it appears that it isn't write-protected once the ISL has been completed. A bug in your code could corrupt its contents.
  4. I notice that your serial port has no provisions for hardware handshaking. That will limit its useful speed to around 9600 bps, as XON/XOFF handshaking is unreliable above that speed.

Otherwise, it looks as though it ought to work once you get the PIC programmed.


That for taking the time to print it out and take a look! If you are ever in Portland, OR, beer on me.
On the pull-ups, indeed those would be high in a wired-or/open collector setup. In my layout, the NMI, RDY, and IRQ (edit: IRQ was, NMI now is!) are all driven directly by the PIC, and I'll configure the PIC to always drive them (no tristate), so in theory no pull-up needed. I will leave the pull-ups in the schematic (and the board layout) in case I change something later. I will also edit the schematic to change them to 3.3K, as if I did do an open collector setup you are spot on that 10k is too high.

SOB: Yes.. great catch.. I was going to run through all of the 'disconnected' pin, so I'll add the pull-up to that one.

SRAM: Yea... The 65C02 could write to the SRAM where the rom is. I'll add a jumper pad for that, so if I later want to allow that it would be easy to do.

Interesting comment on the serial port.. I can see that with a 65C02 running a serial port that the hardware handshaking would be needed, as it would be easy to overflow the CPUs ability to handle input. In my case I am having the serial terminate inside the PIC, and I am implemented a large buffer that can hold data while being sent to the 65C02. In my experience using PICs and AVRs, I have not had any problem without handshaking as long as there is a good amount of buffer space. Since I have two SPI ports exposed, I hope to add a real keyboard and display so I don't need to use serial as the primary IO. Good input non the less.

Cheers!

Jeff


Last edited by sponaugle on Sat Feb 07, 2015 2:58 am, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Fri Feb 06, 2015 11:18 pm 
Offline

Joined: Sat Jan 10, 2015 3:14 am
Posts: 13
Michael wrote:
Hi Jeff. Welcome to the group.

May I ask if you've considered using a single SRAM chip (64K or 128K) instead of a pair of 32K chips? The 64K and 128K chips I've seen have an additional active high chip select input that might be handy for address decoding. For example, you could use a single active low I/O chip select output ($8000..$BFFF) to drive active low I/O chip select pins as well as the active high RAM chip select pin ($0000-$7FFF + $C000-$FFFF).
Good luck on your project.
Cheerful regards, Mike


Yea.. I was surprised when I looked on the selector on digikey that most of the SRAMs were 32K or 128K... not many 64k chips. Using a single chip would simplify the board design as well. On the other hand I have a tube of 20 of the 32K SRAMS sitting here on my desk.. so there is that!

This has been a fun project in part because when I was in college (almost 20 years ago) I implemented a partial 6502 in VHDL and built up a board using the very early Xilinx FPGAs. It is fun to play with the technology of my youth! While I was an engineer at Intel I built a few 8086 boards, and strangely enough a TMS320C30 one, so getting back into good old PCBs in awesome.

Cheers,
Jeff


Last edited by sponaugle on Sat Feb 07, 2015 2:58 am, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Fri Feb 06, 2015 11:23 pm 
Offline

Joined: Sat Jan 10, 2015 3:14 am
Posts: 13
OH.. and I did a quick board layout to see how things fit. This is almost entirely auto routed, 4 layers (two signal layers, GND plane, Vcc plane). I'll tweak a few placements and make some small route optimizations and get this thing built!

Image

Image


Top
 Profile  
Reply with quote  
PostPosted: Sat Feb 07, 2015 6:13 am 
Offline
User avatar

Joined: Thu Jun 23, 2011 2:12 am
Posts: 229
Location: Rancho Cucamonga, California
Are you sure you can get a board made with the traces that close together?

By the way, it looks like you should have plenty of space to put those SRAM chips in parallel with the 65C02 which should make the routing much easier. It's usually possible to route the address bus and data bus from the 6502 to an SRAM chip with just a few via's (you may have to swap a few address bus and data bus lines on the SRAM). For example, check out the (manual, 2-layer, 50-mil grid) routing on my project:

Attachment:
File comment: 2-layer, 50-mil grid routing on my L-Star project. I use fills for the GND and VCC signals.
Screenshot 2015-02-06 23.10.12.png
Screenshot 2015-02-06 23.10.12.png [ 175.97 KiB | Viewed 612 times ]


Attachment:
File comment: Close-up of the SRAM chip, 65C02 and Propeller at the bottom left of the PCB, with some layers/items made invisible for a good view of the traces.
Screenshot 2015-02-06 23.18.32.png
Screenshot 2015-02-06 23.18.32.png [ 141.91 KiB | Viewed 612 times ]


===Jac


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 21 posts ]  Go to page Previous  1, 2

All times are UTC


Who is online

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