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

All times are UTC




Post new topic Reply to topic  [ 11 posts ] 
Author Message
PostPosted: Mon Jun 12, 2017 12:51 am 
Offline
User avatar

Joined: Tue Oct 25, 2016 8:56 pm
Posts: 362
So, I've been giving a lot of thought to Version 2.0 of my computer, based on what I've learnt building version 1 and on trying to give it cooler functionality - that's what the sound synth thread is all about, though I'll probably breadboard that first and retrofit it onto v1 anyway.

Back on topic! the VIA Shift Register makes, I think, quite a good general purpose peripheral expansion bus as per Garth's Ideas for Interfacing, afterall you can use those shift registers to drive any circuits you want, or have a microcontroller that can accept the signals directly, and only needs five pins including power and ground. the only real downside is that its half-duplex. Infact I already have this broken out on v1 on a 5-pin molex KK connector.

But I got to thinking - to make it truly general purpose, what other signals might be useful?
Off the top of my head:
  • PHI2 - so that the peripheral doesn't necessarily have to generate its own clock (the shift register clock being unsuitable as it only clocks when shifting data)
  • !RST - So the peripheral is reset with the rest of the system, or can cause such resets
  • !IRQ - Generate an IRQ. Not too sure about this one, as by definition it would be time consuming to disable or clear the IRQ on the peripheral end, since we can only talk to it via a relatively slow serial connection, and in the mean time we can't return from the interrupt since we'll just be immediately interrupted again.
  • PD - Presence Detect - simple enough, a which is pulled to, say, Vcc when disconnected and pulled to ground when a peripheral is plugged in, so that the computer can actually know that its not just clocking data into the ether.
  • AUX - An auxillary general purpose pin, or several even, as similar to the AUX signal in SPI-10.
I'm not sure how useful they'd all be, probably not all of them are necessary. What are your opinions?

Tally those up and we get 10 pins. Though you can get 10-pin KK connectors, I think they become ungainly and a bit of a pain to connect and disconnect at those high pin numbers. So, what connector could I use? I'm always of the opinion that re-using "common" connectors for a non-common purpose is a bad idea, as people look at your machine and think "Oh cool, its got a Serial port!" plug a Serial device in and bang because it wasn't wired as a Serial port.... oh dear.

Currently I'm looking favourably at MiniDIN connectors, the 8 pin one as used for Apple Localtalk. I feel the connector is now sufficiently uncommon that it won't pose a risk, but sufficiently standardised that getting parts and cables won't be problematic. Thoughts?

_________________
Want to design a PCB for your project? I strongly recommend KiCad. Its free, its multiplatform, and its easy to learn!
Also, I maintain KiCad libraries of Retro Computing and Arduino components you might find useful.


Top
 Profile  
Reply with quote  
PostPosted: Mon Jun 12, 2017 1:25 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
Make sure you look into 65SIB too (6502.org Serial Interface Bus), whose spec is at viewtopic.php?t=1064&start=105 . The discussion leading up to the spec might be interesting, especially the first page. Daryl and someone else have put 65SIB on their SBCs, and I have it on my workbench computer. I'm thinking I'll get little boards made up to supply, to get one and two addresses per device, maybe with optional-to-stuff voltage-translation circuitry and voltage regulators, plus SPI-10 breakouts to make building easier, and gain further flexibility. Samuel Falvo started another version to use a smaller connector at the expense of addressing becoming a little more complex, at viewtopic.php?f=4&t=1077 . That one didn't get finalized, but you could revive the topic or just do your own version of it, I suppose.

Regardless, I'm in favor of connectors that easily fit into standard perfboard. Many connectors won't do this, for example the PS/2 keyboard connectors, RJ-11's, etc.. Pin headers work nicely.

_________________
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 Jun 12, 2017 9:37 am 
Offline
User avatar

Joined: Tue Oct 25, 2016 8:56 pm
Posts: 362
GARTHWILSON wrote:
Regardless, I'm in favor of connectors that easily fit into standard perfboard. Many connectors won't do this, for example the PS/2 keyboard connectors, RJ-11's, etc.. Pin headers work nicely.


I agree entirely, hence the initial desire to use molex KK connectors at a right-angle to the board, however as I said for a 10-pin version they're rather awkward to use. A straight-up 2x5 0.1" pin headers or IDC header, on the other hand, would look an awful lot like an SPI-10 connector to the unwary...

I'm also specifically looking to use the 6522 Serial for this expansion connector, as I have no other use for it on V2.0 whereas I don't have much in the way of spare GPIO to bitbang SPI ports from...

_________________
Want to design a PCB for your project? I strongly recommend KiCad. Its free, its multiplatform, and its easy to learn!
Also, I maintain KiCad libraries of Retro Computing and Arduino components you might find useful.


Top
 Profile  
Reply with quote  
PostPosted: Mon Jun 12, 2017 9:53 am 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
There's also SS22 which uses the 6522's synchronous-serial port (hence the name), although no one but me has adopted it, AFAIK. I've been using it for many years.

To avoid confusing connectors, you can key them differently, so your creation won't get crossed with an SPI-10 connector (either the 5V version or the 3.3V version).

_________________
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: Tue Jun 13, 2017 10:51 am 
Offline
User avatar

Joined: Tue Oct 25, 2016 8:56 pm
Posts: 362
SS22 is interesting, but I'm not planning or expecting this connection to be connected through to a second VIA on another computer, though I don't think the below design entirely precludes it. If I want to talk to another computer I'll use RS-232.

I think I'm going to use a 6-pin Molex KK right-angle connector,
1. +5V
2. Data Direction
3. Serial Clock
4. Serial Data
5. Presence Detect
6. Ground

I mulled heavily on the other pins. I don't think PHI2 will be that useful, and certainly isn't related to the actual communication in any way. If a peripheral needs a clock it can generate it itself. IRQ, RST and AUX would be useful in some situations, but would make a KK connector unweildy. I'm specifically aiming for a consumer-friendly (not hobbyist friendly) connector here, so I don't think IDC will do the trick. Admiteddly the KK isn't great either, but I feel its better than an IDC in that regard whilst remaining breadboard-friendly.

_________________
Want to design a PCB for your project? I strongly recommend KiCad. Its free, its multiplatform, and its easy to learn!
Also, I maintain KiCad libraries of Retro Computing and Arduino components you might find useful.


Top
 Profile  
Reply with quote  
PostPosted: Sat Jul 29, 2017 2:25 pm 
Offline
User avatar

Joined: Tue Oct 25, 2016 8:56 pm
Posts: 362
*flips table*

Decided to go with something completely different, and have gone for a Dual UART - one for Debug/Programming and one for Link. The Link one will replace the SS22 / Molex previously discussed for the application. Size of connector is still very important though, particularly that it should not stick out from the side of the board. Therefore I have decided to go for a Mini-DIN-8 Socket, following the SGI Indigo pinout, with the exception that I'm substituting DSR for DCD. I'm re-using the VIA's serial for internal I/O.

My next thought for consideration is whether to put Vcc on to one of the pins (one of the two marked GND in the link) for use by an external device. Basically, this connection would ordinarily used, as the name suggests, as a Link cable between two computers using a Null Modem cable. For this purpose, Vcc is pointless and I think would have to be specifically excluded from the cable to prevent interesting interactions between the two machines' Vcc rails. On the other hand, this port is the only "standard" expansion port on the device so I can definitely see it being used for some kind of standalone accessory in the future - for which providing Vcc would be useful.

If I don't provide Vcc I get a stronger GND connection and no risk of rail problems, but any accessories have to have their own power supply. If I provide it, I need to supply two cables - a null modem cable without Vcc and a straight through cable with Vcc, which increases cost and risks confusion / problems if the user uses the wrong cable for the function, though I suppose I could make the accessory end of the straight-through cable different so you can't use the two cables in the same configurations....

_________________
Want to design a PCB for your project? I strongly recommend KiCad. Its free, its multiplatform, and its easy to learn!
Also, I maintain KiCad libraries of Retro Computing and Arduino components you might find useful.


Top
 Profile  
Reply with quote  
PostPosted: Sat Jul 29, 2017 3:42 pm 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
Having a VCC can be handy if you ever need to intersperse level conversion. And as you say, can power a gadget too.


Top
 Profile  
Reply with quote  
PostPosted: Sat Jul 29, 2017 7:05 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
Alarm Siren wrote:
If I don't provide Vcc I get a stronger GND connection and no risk of rail problems

Vcc should be bypassed to ground through a capacitor right at the connector anyway, making it function as another ground pin as far as AC performance goes. No loss.

_________________
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: Sat Jul 29, 2017 7:16 pm 
Offline
User avatar

Joined: Tue Oct 25, 2016 8:56 pm
Posts: 362
GARTHWILSON wrote:
Alarm Siren wrote:
If I don't provide Vcc I get a stronger GND connection and no risk of rail problems

Vcc should be bypassed to ground through a capacitor right at the connector anyway, making it function as another ground pin as far as AC performance goes. No loss.


I'm thinking more in terms of the two VCC rails not quite being the same as eachother, leading to DC current flow.

_________________
Want to design a PCB for your project? I strongly recommend KiCad. Its free, its multiplatform, and its easy to learn!
Also, I maintain KiCad libraries of Retro Computing and Arduino components you might find useful.


Top
 Profile  
Reply with quote  
PostPosted: Sat Jul 29, 2017 8:26 pm 
Offline
User avatar

Joined: Fri Aug 30, 2002 1:09 am
Posts: 8546
Location: Southern California
Bypass them both to ground at the connectors, both the male and the female. The DC imbalance won't be more than a few microvolts (or less) which won't matter at all; but the AC performance which is far more important will be improved.

_________________
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: Sun Jul 30, 2017 5:22 am 
Offline
User avatar

Joined: Thu Dec 11, 2008 1:28 pm
Posts: 10986
Location: England
It's right though not to connect the power rails of two powered systems.

So there are two possible use cases. One way to accomodate both is to have a jumper.


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: No registered users and 43 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: