Page 1 of 1

Buffering system buses

Posted: Tue Feb 11, 2025 7:23 pm
by fan3000
Keeping up with the state of my design, had a lot of circuits laying around, and (noob mistake) didn´t even thought of buffering and protecting the buses(address and data), so looked up on what to do and came up with this so far:

Re: Buffering system buses

Posted: Tue Feb 11, 2025 7:24 pm
by fan3000
fan3000 wrote:
Keeping up with the state of my design, had a lot of circuits laying around, and (noob mistake) didn´t even thought of buffering and protecting the buses(address and data), so looked up on what to do and came up with this so far:

Woops, I just noticed I connected A14 to VCC, noob mistake, going to remove that...

Re: Buffering system buses

Posted: Tue Feb 11, 2025 7:56 pm
by Yuri
Be sure to check out the primer guide: http://wilsonminesco.com/6502primer/

Of note, the section on the 74xx logic and if you need bus transceivers at all.
http://wilsonminesco.com/6502primer/LogicFamilies.html

That being said.

It doesn't appear you have any of the 245's #CE pins tied to anything, and the several of the other 245's don't have their VCC connected.

In addition I don't see RDY or #SO connected.

EDIT:
Also, the 245's connected to the address bus do not need to be connected to the R/W pin for A -> B.
That should be hard wired to ground to flow from B -> A. (The address pins are always outputs)

Re: Buffering system buses

Posted: Tue Feb 11, 2025 8:43 pm
by barnacle
Indeed, you might replace the bidirectional *245 with a unidirectional *241 (for tidier layout, I'd prefer the *541 as it closely matches the *245's arrangement of pins - all the inputs (or A) on one side and outputs (or B) on the other).

That said, if there's no timing difference, it can be handy to use as few chip types as possible. So you might choose to use a *245 permanently wired in one direction.


Neil

Re: Buffering system buses

Posted: Tue Feb 11, 2025 9:46 pm
by L0uis.m
Hello Neil,
barnacle wrote:
[··] for tidier layout, I'd prefer the *541 as it closely matches the *245's arrangement of pins - all the inputs (or A) on one side and outputs (or B) on the other [··]
Isn't that what manufacturers call "Broadside Pinout"❓

Buffering system buses — Usually Unnecessary!

Posted: Wed Feb 12, 2025 4:49 am
by BigDumbDinosaur
If you are using the 65C02 (I HIGHLY recommend you do not use the NMOS 6502), buffering the buses is a mostly a waste of chips.  The WDC 65C02 can readily drive the buses nearly to the rails.

Incidentally, 74LS logic should not be used in new builds.  Recommended choices are (in order of increasingly-aggressive drive and speed) are 74HC(T), 74AHC(T) and 74AC(T).  Driving the input of a CMOS device with the output of an LS device may result in unreliable operation due to differing logic levels.

Re: Buffering system buses

Posted: Wed Feb 12, 2025 5:56 am
by barnacle
@ Louis - I dunno, I wasn't aware there was even a name for it. I just recall too much swearing at the *241 pinout in my younger days. Possibly it was designed to buffer busses moving in both directions at the same time?

Neil

Re: Buffering system buses

Posted: Thu Feb 13, 2025 11:56 pm
by BillO
I have to agree with BDD. Go with the 65C02.

Fewer parts, fewer connections to make, simpler and smaller PCB, higher speed, better availability, and if you stick to driving modern CMOS based chips, you can put dozens of them on the bus, provided you keep length reasonable.

What is the end goal as far as devices on the bus goes?