(deleted)
The standard way is called a bus transceiver
There are questions to be answered first, like:
- Which family of ic's (CMOS or TTL) ?
- Monodirectional or bidirectional ?
- What are the SPEED requirements ?
- Do you require TRI-STATE capability ?
- Which package type do you plan to use ?
(and maybe a few more...)
The TS3L501E would probably work but the choice of bus tranceiver vs SPDT electronic switch is a question for a circuit design engineer, (which I am not). I can't think of any reasons to disqualify
the SPDT switch and have had a lot of success with analog switches personally so I would say try
whichever type of ic you have on hand first if that doesn't work try asking some people who design
circuits. Crossroads is a design engineer so I would think he can answer your question. Search for his
name on the forum and then PM him the LINK to this post. DO NOT ASK ANYONE ANY TECHNICAL
QUESTIONS IN A PM !!! That is a violation of forum protocol. The protocol is to simply pm them the
link to your post with a simple. "Please have a look at my post when you have time". DO NOT START
EXPLAINING YOUR PROJECT IN A PM !
(deleted)
I'm just going to take a stab at it (since I'm not a design engineer) but I am having trouble finding a
monodirectional non-tri-state tranceiver so my suggestion is tie the tri-state EN HIGH and leave it high
and tie the DIR high or low , whichever is more convenient for you layout and use it as a monodirectional
non-tri-state tranceiver. Read the datasheet. The ls645 is the only one that is NOT inverting AND NOT
open-collector.
Obviously you need to use TWO of these, one for each input to the ROM.
The DIRECTION is NOT going to change in your application so that pin is tied H or L depending on
which side of the chip you decide to use for your inputs (A or B).
Then use the Tri-State G(NOT) pin as your enable (ONE and ONLY one of the two tranceivers can
be enabled at a time. When using the G(NOT) pin as an enable , think of it as an active-LOW enable,
LOW=ON
HIGH=OFF.
The DIR pins on your chips allows you to choose which side of the chip is easier to use for you input,
and then look up the logic for that direction (L or H) on the datasheet.
FYI, this chip is ten times faster than you need.
Check out the 74(LS)244 octal buffer.
It has 8-bit input and true or hi-Z
outputs.
Herb
The 74ls244 is a MONODIRECTIONAL DUAL TRI-STATE chip divided into two Nibbles (4-bit sections).
It will work just fine but you will have to tie both tristate control pins together.
I like the 645 because you can choose which side of the chip you use for inputs, which may or may not
make wiring easier. If you're making a PCB then of course it doesn't matter.
jaskamakkara:
What's the best way to switch a bus of 8 signals between 2 different sets of inputs?
If I understand your requirements correctly, you can use 2 quad 2:1 multiplexers (74157 or 74257). It could be done with 2 octal tri-state buffers, but that's a higher pin count. Though the flow through nature of the buffer pinout might make designing a PCB easier.
jaskamakkara:
Hi,What's the best way to switch a bus of 8 signals between 2 different sets of inputs?
I have a ROM, the top 8 address lines of which can switch to a completely different set of inputs. Should I use something like a TS3L501E?
That chip is very fast logic. You have good knowledge of dealing with ultra-high-speed logic, where layout and decoupling has to be just right? And can reliably solder 0.5mm pitch QFN packages?
Stick to 74HCxx family unless you have a good reason not to, the layout and decoupling and soldering requirements are much simpler and easier.
(deleted)
jaskamakkara:
- TTL
Why would you be using an obsolete logic series? Surely it would be CMOS (74HC)?
If you work in electronis as a professional,
the term "TTL" means "5V logic" lije "Kleenex" means facial tissue. It's been that way for 50 years and will probably still be used that way for another 50 years. Nobody uses a 74XX number when all they are trying to do is distinguish between High-level logic (CMOS) and Low-level logic.
" TTL" is still being used to designate Low level logic because it has come to mean ANYTHING that starts with "74".
If uou look at the context of the usage, the question can be translated (for you) to read:
High-level logic or Low level logic ?
No engineer I work with would ever think I meant
anything more specific (like 7400 series) if they
saw "TTL" in an email I sent. They would automatically interpret it as "Low-level logic".
That's just how it is.
Your comment is like saying "Why are you still using Kleenex" when there are so many other
less expensive brands ? (when the person was simply trying to say "facial tissue".)
If you Google it , it comes back as :
A widely used technology in electronics,
NOT
"An obsolete technology in electronics"
because "TTL" no longer means 7400 series.
Now it means "Low-level 5V logic" and nothing
more specific than that.
Here it CLEARLY indicates that "TTL" is General term and everything you were referring to is classified as a " Subcategory" of TTL.
transistor-transistor-logic-ttl
BTW,
It also means Time To Leave
True To Life
and
ToTal Loser...
So you asked:
raschemmel:
- Which family of ic's (CMOS or TTL) ?
So you asked:
- Which family of ic's (CMOS or TTL) ?
Exactly.
Can you answer the OP's original question below without asking the same question I asked above ?
What's the best way to switch a bus of 8 signals between 2 different sets of inputs?
The OP said this:
I have a ROM, the top 8 address lines of which can switch to a completely different set of inputs.
But he doesn't say what he wants to switch the ROM outputs to:
He could, could he not , want to switch them to a CMOS circuit and use them as inputs for a CMOS chip ?
The fact that he wants to switch the ADDRESS lines and not the DATA lines adds even more mystery to
the application. Who knows what he wants to do with them ?
(in which case he would need the TTL chip I suggested as well as a CD4050 TTL-CMOS converter chip.)
(not sure why the OP would want to switch the address lines of the ROM)
8 pole double throw relay.
Nice Larry !
I should have thought of that but for some reason I assumed the OP wanted a semiconductor solution.
Technically, that is EXACTLY what the OP asked for but since he didn't mention relays I don't know if
he wanted an electro-mechanical solution.
Just a bit of levity
Just a bit of levity
Duly noted.
Although the device suggested by larryd, by its functional
description, would work, alas, I feel that its propagation
delay may be a tad too long for proper operation of the
Read Only Memory!
Although the device suggested by larryd, by its functional
description, would work, alas, I feel that its propagation
delay may be a tad too long for proper operation of the
Read Only Memory!
That would be true if this was the most likely scenario, (scenario A)
scenario A: ROM output data switched between two different processors that both need access to that data.
but , just our luck, this is scenario B :
scenario B:ROM address lines switched between Unknown Source A and Unknown Source B
for reasons only the OP can imagine.
That being the case, data read/write times are irrelevant because the processor controlling the switcher has to send a "Switch Complete" signal to the processor that is going to access the data. If it is being accessed by the "switching processor", then it can insert a delay of any length prior to executing the data transfer routine, Larry's suggestion, while originally intended to simply inject a bit of humor into a serious discussion (dare I say 'heated debate' ?) rather than propose a solution, is , nevertheless, totally valid.
(deleted)