Multiplexer for data bus? - Page 1
Forum section: electronics / beginners

author: sci4me
author_rank: Regular Contributor
timestamp: June 16, 2015, 08:39:50 pm
content: Hey guys! So I am working on a hobby project using 74LS (and related) TTL logic chips. I need (de)multiplexers for 8 bit data busses.What is the best way to do this? (using through-hole components by the way). I figure I could use and gates and decoders right? But that's a LOT of chips to add just for a multiplexer...Is that the best way to do this? Are there actually plexers with that wide of data bus?Or I suppose if there are plexers with 2 or 4 that would still be a lot better.I will probably need multiple different plexers with different numbers of select bits, but I know I will need an 8 bit multiplexer with 2 select bits. I may also need one with 3 select bits... we'll see.What's the best way for me to do this? Thanks guys!

author: T3sl4co1l
author_rank: Super Contributor
timestamp: June 16, 2015, 08:53:46 pm
content: The whole point of a bus is to not need a *plexer. Surely you're going about this the wrong way?Tim

author: sci4me
author_rank: Regular Contributor
timestamp: June 16, 2015, 09:19:51 pm
content: I'm not sure I understand what you just said...I'm a n00b so can you elaborate on that a bit please?When I say bus, I mean that I have an multiple 8-bit registers and I want to select an individual one to go onto the bus. Am I just saying what I mean incorrectly or...?

author: f5r5e5d
author_rank: Frequent Contributor
timestamp: June 16, 2015, 09:36:57 pm
content: common practice with a "bus" is to use tri-state output registers or buffers/driversall of the output bit lines are wired common to the respective bus bit lines and then you only enable the drivers for the register/buffer chip you want to drive the bus

author: sci4me
author_rank: Regular Contributor
timestamp: June 16, 2015, 09:40:29 pm
content: Aah right, so I would have a tri-state buffer and use an encoder to enable it right?Something like a 74LS367?

author: macboy
author_rank: Super Contributor
timestamp: June 16, 2015, 10:54:55 pm
content: 74xx245 is commonly used. 8 bits wide, bidirectional and tri-statable.

author: sci4me
author_rank: Regular Contributor
timestamp: June 16, 2015, 10:59:25 pm
content: the 74xx245 is a transceiver, but what if I don't need to be able to do both directions? Should I still use that or...?

author: macboy
author_rank: Super Contributor
timestamp: June 16, 2015, 11:37:17 pm
content: Quote from: sci4me on June 16, 2015, 10:59:25 pmThere is no issue with that. Just tie the direction pin Hi or Lo and control CS as needed.

author: sci4me
author_rank: Regular Contributor
timestamp: June 16, 2015, 11:44:25 pm
content: I mean, I know that works, I was just wondering if it may be better to have something that's just 1-directional...simply for the purpose of it makes me feel like I'm wasting half a chip to tie the direction Hi or Lo.Anyway, thanks! I really appreciate all the help you guys have been giving me!And thanks for clearing up the tri-state stuff. It makes so much sense to me now - very obvious how useful that is.

author: Paul Moir
author_rank: Frequent Contributor
timestamp: June 17, 2015, 01:08:48 am
content: There are unidirectional ones like the 74LS244, but it has an annoying pinout so people use the 245. Some other annoying pinout chips get fixed like the 74LS373 octal latch has a saner version in the 74LS573.

author: bgm
author_rank: Unknown
timestamp: June 17, 2015, 01:23:57 am
content: Common thing to do is to use a latch when decoding multiplex address bus decoding.This is when for example you are dealing with a micro that uses the same pins for both data bus as well as the address bus.As has been mentioned, typically they have a control pin as well which indicates if these shared pins are being used for the address or data at a point in time. The other source of input for decoding this is typically the clock as well - usually it will be a different stages of the clock cycle when the pins are being used for address vs data so you will be latching the data (sometimes falling edge, sometimes rising edge).Yes, the 74LS573 has been mentioned and that is a pretty common part for this sort of thing./BGM