SBC Expansion Board

Topics related to the SBC- series of printed circuit boards, designed by Daryl Rictor and popular with many 6502.org visitors.
smilingphoenix
Posts: 43
Joined: 20 May 2006
Location: Brighton, England

Post by smilingphoenix »

I've had a look at the schematics for Daryl's SBC. He takes the 8 I/O select lines (7F0x - 7F7x) and the I/O page select line (7Fxx) out to the expansion connector.

All you need to do is gate these lines on your expansion card to create an enable signal for the 74HC245.

A single-chip implementation using a 74HC138 is as follows

Code: Select all

            74HC138
           ----------
7F5x ------|A       |
7F6x ------|B     Q7|O------ Enable 74HC245
7F7x ------|C       |
           |        |
7Fxx ------|EN\     |
  0V ------|EN\     |
  5V ------|EN      |
           ----------
This enables the buffer for the I/O region except for the blocks used by the on-board I/O. If you want, you can break the lines 7F5x, 7F6x and 7F7x with jumpers and pull the 74HC138 inputs high with 4k7 resistors. Then you only fit jumpers if the SBC has the appropriate I/O devices fitted and the buffer gets enabled for the address regions for devices not fitted on the main board as well.

Hope this helps.
Shift to the left, shift to the right,
mask in, mask out,
BYTE! BYTE! BYTE!
User avatar
RichCini
Posts: 156
Joined: 03 Sep 2003
Location: Long Island, NY
Contact:

Post by RichCini »

smilingphoenix wrote:
I've had a look at the schematics for Daryl's SBC. He takes the 8 I/O select lines (7F0x - 7F7x) and the I/O page select line (7Fxx) out to the expansion connector.

All you need to do is gate these lines on your expansion card to create an enable signal for the 74HC245.

A single-chip implementation using a 74HC138 is as follows

Code: Select all

            74HC138
           ----------
7F5x ------|A       |
7F6x ------|B     Q7|O------ Enable 74HC245
7F7x ------|C       |
           |        |
7Fxx ------|EN\     |
  0V ------|EN\     |
  5V ------|EN      |
           ----------
This enables the buffer for the I/O region except for the blocks used by the on-board I/O. If you want, you can break the lines 7F5x, 7F6x and 7F7x with jumpers and pull the 74HC138 inputs high with 4k7 resistors. Then you only fit jumpers if the SBC has the appropriate I/O devices fitted and the buffer gets enabled for the address regions for devices not fitted on the main board as well.

Hope this helps.
Yes, this helps immensely. I'm at the pin limit for Diptrace so I can't add it at this point. I'll probably break down and buy the upgrade but not yet.
User avatar
8BIT
Posts: 1787
Joined: 30 Aug 2002
Location: Sacramento, CA
Contact:

Post by 8BIT »

Rich,

Just a thought...

If 128 bytes of IO space is enough for your expansion, you can also add a 74HC138 and decode the upper 128 bytes of the IO space. $7F80 thru $7FFF is open. This can give 8 - 16 byte blocks for devices and using /7Fxx and A7, you can easily gate your buffers.

Daryl
User avatar
RichCini
Posts: 156
Joined: 03 Sep 2003
Location: Long Island, NY
Contact:

Post by RichCini »

All:

Following up on this, I have the plain board design done and ready to order. It's a very simple board (one header in, three out) but it should serve my needs at least until I can get a larger pin version of Diptrace so I can do a buffered version. I've hand verified the layout and the DRC verifies that it's electrically the same as the schematic, so it should be good.

Anyway, if anyone's interested, let me know. They are expensive in small quantities, but if I order 10, the boards are about $25 each. I plan on making the "vertical" version which is most similar to the Apple II style (cards 2.75" x 6.5" or thereabouts).

I ordered two tonight using the PCB123 service. Now I'm going to start working on an AY3-8910 sound card. Then, I want to do an allophone speech card, then a relay card.


Rich
User avatar
RichCini
Posts: 156
Joined: 03 Sep 2003
Location: Long Island, NY
Contact:

Post by RichCini »

All:

Today I posted the schematic for an 8-relay expansion board for the 6502SBC. I'm in the process of verifying the board layout now. I'm trying to keep the designs to the Apple II expansion card size (6"x2.75").

The next design on-tap is a speech synthesizer board using the SP0256-AL2.

Also, the PCB123 service is pretty fast. I placed the order for the backplane board on Tuesday and they shipped it on Thursday. I should have it sometime this week.

Let me know if there's anything obviously wrong with the schematic.

Enjoy!
smilingphoenix
Posts: 43
Joined: 20 May 2006
Location: Brighton, England

Post by smilingphoenix »

I've looked over the schematic for the 8-relay card and I've found a fairly major problem with it. :(

There is no latch on the outputs that drive the ULN2803 device. This means that the relays will only be driven for the brief period when the processor actually writes to the output - in practice nothing will happen because relays arn't fast enougth to respond to a sub-microsecond pulse.

You want to replace the 74HC245 with an 8-bit latch. The 74HC574 is easiest to use because it has all its inputs on one side and all its outputs on the other. Connect the OE pin of the 574 to ground. The clock line needs to be driven from a 2-input OR gate. One input from the OR gate goes to the address decoder via the jumpers. The other input to the or gate goes to the MWR line (Pin 6 on the SBC expansion connector)

This creates a low pulse when the latch is written to and stores the data on the trailing edge of the pulse.

My job involves relay outputs a lot. Something I've found very useful on relay cards is a 'HAND-OFF-AUTO' switch for each relay. In the HAND position the relay coil is permanantly energised. In the OFF position, the relay coil is permanantly de-energised. In the auto position the relay is controlled by the processor. Minature SPDT center-off toggle switches are ideal for this sort of thing. I don't know how usefull this would be for your application but I certainally find it helpfull when testing whatever the relays are controlling.

Good luck with the board. :wink:
Shift to the left, shift to the right,
mask in, mask out,
BYTE! BYTE! BYTE!
User avatar
8BIT
Posts: 1787
Joined: 30 Aug 2002
Location: Sacramento, CA
Contact:

Post by 8BIT »

RichCini wrote:
The next design on-tap is a speech synthesizer board using the SP0256-AL2.
Rich,

I interfaced the SP0256-AL2 to both my SBC and the COSMAC ELF (My first computer). It was fun building words and phrases. The sound quality was not that good, but you could understand it. My favorite phrase was "Want to play a game?" (from Wargames)

If you are looking for better quality speech, I came across a project someone did using playback of WAV files. He used the AT&T text to speech demo to create the wave files. Here is a link to the AT&T site:

http://www.research.att.com/~ttsweb/tts/demo.php

I'll try to find the reference for the wave playback system.

Good luck with the expansion boards. I'm glad to see someone developing more uses for my SBC board!

Daryl
User avatar
8BIT
Posts: 1787
Joined: 30 Aug 2002
Location: Sacramento, CA
Contact:

Post by 8BIT »

here is the link to the WAVE file system I mentioned earlier. It uses an ARM processor, so might not be very useful for the 6502.

http://www.jandspromotions.com/philips2 ... AR1762.htm

Click on the abstract or entry links in hte upper right to see more details.


On a side note, I have also palyed with the HM2007 voice recognition IC. It was fun also. However, having the right audio input filters makes a big difference in accuracy.

Daryl
User avatar
RichCini
Posts: 156
Joined: 03 Sep 2003
Location: Long Island, NY
Contact:

Post by RichCini »

All:

Ok, I just discovered that I have bit rot in my relay board design. The board has a somple data buffer (HC245) connected to a ULN2003 driver. The data -- I just realized -- isn't latched, meaning that unless you keep strobing the assigned I/O port, the relays won't stay active.

I think that the relays should be "toggle" in operation rather than pulsed. So, I was thinking that I could use an HC374 latch and gate the I/O select and write through a little glue to make it work (thanks Jan Axleson)

Any other ideas worthy of consideration?
Last edited by RichCini on Wed Jul 18, 2007 8:26 pm, edited 1 time in total.
smilingphoenix
Posts: 43
Joined: 20 May 2006
Location: Brighton, England

Post by smilingphoenix »

The HC574 is easier to fit into a PCB layout than the HC374, its basically the same chip in another package. See my earlier post.
Shift to the left, shift to the right,
mask in, mask out,
BYTE! BYTE! BYTE!
User avatar
RichCini
Posts: 156
Joined: 03 Sep 2003
Location: Long Island, NY
Contact:

Post by RichCini »

smilingphoenix wrote:
The HC574 is easier to fit into a PCB layout than the HC374, its basically the same chip in another package. See my earlier post.
Yup...found that out while looking at the 374 footprint.

The new design will use an HC574 with a NOR gate on the clock input. The NOR will combine the appropriate I/O select and R/*W. Should work.

{LATER...}

The schematic and PCB artwork have been posted to my 6502 project page:

http://highgate.comm.sfu.ca/~rcini/clas ... 02proj.htm
Post Reply