6502.org Forum  Projects  Code  Documents  Tools  Forum
It is currently Sun Nov 24, 2024 10:05 pm

All times are UTC




Post new topic Reply to topic  [ 209 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 14  Next
Author Message
PostPosted: Sat Dec 09, 2017 7:03 am 
Offline

Joined: Sat Jun 04, 2016 10:22 pm
Posts: 483
Location: Australia
Thank you for the design tips, Garth. I'll remember those. I was also planning to use DirtyPCBs in the first place, them being the cheapest mob I'd heard of. Also thank you for the compliment, that's really encouraging.

I'm planning for this to be the prototype of the handheld unit, as the current one(wires under a pad-per-hole protoboard) seems to be misbehaving. This one uses thru-hole parts, and in the final design, I'm planning to go for SMD components for non-I/O devices, socketed PLCCs for I/O chips, and the ROM will also be socketed, so I can change it out if I want.

Now that I think about it, I might be going down this path prematurely.
I'll want to add more chips and change a few things around later, particularly the address decoding, which will require more address lines for what I have in mind.
Trouble is, I don't want to build another board like this. It was a pain putting the current version of this thing together, and I don't think this board will stand up to another rework, as I damaged it slightly getting the sockets out of it the last time. It might be a better idea to make a modular thing, maybe based on the RC2014.

I'm not sure whether I should press on down this path, or change tack and only do a full board when I've got the design more or less finalised.
What do you recommend?


Top
 Profile  
Reply with quote  
PostPosted: Sat Dec 09, 2017 8:10 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
It's nice that board prices have come down to where the idea of everything not working perfectly and ideally the first time is not so terrifying. You still want to be as thorough as possible of course to avoid having to do it again, along with the unnecessary delays and also the work involved. But get the price online and see what you think. I didn't check your work nearly as thoroughly as I would check my own. My own checks take hours; but then as a result, my boards are nearly always right the first time. I just brought yours up in the gerber viewer (gerbv) and panned around looking for anything that might pop out at me as not looking right.

_________________
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 Dec 11, 2017 6:50 am 
Offline

Joined: Sat Jun 04, 2016 10:22 pm
Posts: 483
Location: Australia
I'm inclined to either go modular or bring out enough of the buses to plug in a daughterboard (D0-7, A0-5, R/W, and a chip select, for a SID clone). I did read your primer on doing just that, and I remember you saying that's a terrible idea.
I also remembered that there are no bypass capacitors on that board...

I'm more inclined to go with the daughterboard connector. I'll see if I can do that reasonably close to the CPU.

In any case, I need a few SPI-10 modules that I can use thru-hole for. I've designed one, and I'll get that made, once I figure out how to panelize it.


Top
 Profile  
Reply with quote  
PostPosted: Mon Dec 11, 2017 9:17 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
Small daughter boards (like my 4Mx8 SRAM module) are one thing; but I'm particularly against using a backplane, for performance reasons. Connections become much longer, and have to go through more connectors. Do put the SPI-10 connectors on though. There are gobs of SPI ICs you can make tiny modules with. What did you have in mind? Others may want to buy it too.

I still had your gerber view up, and was about to close it but thought I should comment on a few more things:

  • Starting at the left side, the four traces coming out of that TO-92's pad will conduct so much heat that it may be kind of hard to unsolder the transistor if the need ever arises. I usually do only one, sometimes two, .008" traces connecting the pad to the plane around it. You have four of about .020".
  • For better AC behavior, run the planes between the IC leads' pads too, especially where you have a trace running through, so the traces' return current can run directly underneath it, not having to go around the end of the IC.
  • Preferably make thin traces bend only 45° at a time rather than 90°. The reason is so the board house can get the chemicals washed out of the corners better so there's no corrosion or cracking.

This might be a little picky, but these measures don't increase the cost any, and they can't hurt, only help.


Attachment:
IttiaraCritique1.gif
IttiaraCritique1.gif [ 79.28 KiB | Viewed 2327 times ]

_________________
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 Dec 11, 2017 11:29 am 
Offline

Joined: Sat Jun 04, 2016 10:22 pm
Posts: 483
Location: Australia
Thanks for that critique. I'll see about correcting those issues you raised.

The SPI modules I have in mind are like the little storage module you designed, except for 5v DIP ICs. I went and bought some 25AA512s in DIP-8. I think I did that before I'd seen your board, or I would have bought them in SO-8.


Top
 Profile  
Reply with quote  
PostPosted: Wed Dec 13, 2017 7:12 pm 
Offline

Joined: Sat Jun 04, 2016 10:22 pm
Posts: 483
Location: Australia
Actually... I've just realised, that since the Propeller(which I'd be using for the SID emulation) can't keep up with an 8-10 MHz 6502 bus, I shouldn't bother putting it on the main bus in the first instance. I should probably use SPI for that, and save a few chips, since I'm gong to have to roll an interface anyway. I was originally thinking of using 74-series logic to allow the prop to run asynchronously, which is comparatively easy, because the SIDcog doesn't implement the readable registers.

Now that I've tumbled to this, I feel simultaneously stupid and brilliant at the same time. Thank you for putting me on the path to this, Garth.


Top
 Profile  
Reply with quote  
PostPosted: Fri Dec 15, 2017 10:37 am 
Offline

Joined: Sat Jun 04, 2016 10:22 pm
Posts: 483
Location: Australia
I've implemented Garth's advice at this point.
The board is 10.7x12.9cm, and I'm not sure how much I can shrink it(or that I really want to try). I ran it past OSHpark's online tool to get their price(and highlight some errors/problems), and they're far more expensive(around US$270), so I'm almost certainly going to DirtyPCBs for this.

I've attached the gerbers, as I intend to send them off, in case anyone's interested, although I'm not going to pull the trigger on this just yet, partly due to DirtyPCBs' quote tool telling me I've got invalid board settings whenever I try to add it to the cart.


Attachments:
Ittiara board.zip [249.3 KiB]
Downloaded 93 times
Top
 Profile  
Reply with quote  
PostPosted: Sun Dec 17, 2017 3:53 am 
Offline

Joined: Sat Jun 04, 2016 10:22 pm
Posts: 483
Location: Australia
It looks like I'm going to have to shrink the board down if I want to use DirtyPCBs. As soon as I pick a custom size and four layers, it goes crazy and doesn't let me submit it. If I can get it to 10x10cm, I can get it for US$45(~AU$60), though. Which is really good value for around 10 boards.


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 09, 2018 8:32 am 
Offline

Joined: Sat Jun 04, 2016 10:22 pm
Posts: 483
Location: Australia
I've completely re-done the board, so that it fits in the 10x10 limits. I hope it's not too horrible on the board house, when I do send it off.


Attachments:
board views.zip [237.06 KiB]
Downloaded 95 times
Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 09, 2018 1:40 pm 
Offline
User avatar

Joined: Wed Aug 17, 2005 12:07 am
Posts: 1250
Location: Soddy-Daisy, TN USA
DerTrueForce wrote:
Actually... I've just realised, that since the Propeller(which I'd be using for the SID emulation) can't keep up with an 8-10 MHz 6502 bus, I shouldn't bother putting it on the main bus in the first instance.


Sorry to dig up an older post. But I plan on using a Propeller for video (and maybe serial) on my current design. I'm certainly going against the grain here and doing a backplane design.

However, the reason I am doing that is because I don't want to design a 8, 14, 20 MHz computer...I want to *purposely* design a 1 MHz computer along the lines of an Apple II.

Anyway, did you ever finalize how you're going to connect the Propeller to your design? Running my design at 3V3 isn't an option because I want to use some legacy components that only run at 5V. So I was thinking about using a level shifter in between. But this is another problem for me because I'd like to use the Propeller as general purpose video RAM but I don't think it can handle even the 1 MHz bus when there is a level shifter in it.

_________________
Cat; the other white meat.


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 09, 2018 8:52 pm 
Offline

Joined: Sat Jun 04, 2016 10:22 pm
Posts: 483
Location: Australia
I've already got a little 4-channel two-way level shifter module from adafruit. It's one of those transistor-based modules, so I'm not entirely sure they'll be all that fast.
I imagine I could simply use resistors on the input lines(I've seen schematics that do just that), but I'll try the proper level converter first, since I have it.

How I connect the prop isn't fully set in stone yet. I'd like to have it on the board, but connected to the 65SPI. That's what I'm going for, at least. But until I do that, I'll use SPI-10 to connect it. Initially, I'll use a 5v port, and convert the levels on the prop side of that. I can get away with this because I have what they call a FLiP module, which includes 3.3V regulation on the board.


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 09, 2018 9:22 pm 
Offline
User avatar

Joined: Wed Aug 17, 2005 12:07 am
Posts: 1250
Location: Soddy-Daisy, TN USA
Oh yeah...I've wanted to get one of those FLiP modules. I might be able to use resistors too. I'm thinking of having the CPLD poke the Propeller to let it know the CPU is writing to video RAM. Then, the Propeller just snags the data bus through resistors. The Propeller would never be an output to the CPU. More like a shadow copy of the video RAM and if the CPU needed to read from it then it should be fine. Since I only intend to run at 1 MHz, I'm hoping that will work. I hate using level shifters unless I have to. Why can't the world just go back to 5V? LOL

_________________
Cat; the other white meat.


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 09, 2018 9:32 pm 
Online
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
It almost feels like we need a sticky thread on 3.3V interoperation. There are very fast bidirectional level shifters available (see OHO's products) and there's at least one 74 series family which can be used to bridge the gap. In a case like this, if the 6502 writes to an octal latch then the Prop will have plenty of time to read the value. Another approach we see is using a CPLD for combination glue and level shifting.

(Edit: seeking input for a possible sticky thread over here)


Last edited by BigEd on Wed Jan 10, 2018 12:40 pm, edited 1 time in total.

Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 09, 2018 9:52 pm 
Offline
User avatar

Joined: Wed Aug 17, 2005 12:07 am
Posts: 1250
Location: Soddy-Daisy, TN USA
I agree on the sticky thread.

I don't want to go OT and hijack this thread but how would the latch work? I mean, I know that a latch can act as a "one byte" memory IC but if the Propeller is really slow at grabbing it off the latch, wouldn't the next CPU write cause a problem when it tried to write to the latch again? How does the Propeller get more time is what I don't understand.

(forgive my ignorance)

_________________
Cat; the other white meat.


Top
 Profile  
Reply with quote  
PostPosted: Tue Jan 09, 2018 9:55 pm 
Online
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
You'd make the latch work like an 8 bit output port. I'm sure that's been discussed here before... but I'm not in a position to dig into a search right now. The latch would be loaded by a decoded address, and therefore not reloaded until the next intentional write by the CPU. You'd also need some kind of handshake with the Prop, so it knows there's a new value, and doesn't read the same value twice. So that's a ninth bit of state - a flip flop of some kind, I guess.


Top
 Profile  
Reply with quote  
Display posts from previous:  Sort by  
Post new topic Reply to topic  [ 209 posts ]  Go to page Previous  1, 2, 3, 4, 5 ... 14  Next

All times are UTC


Who is online

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