I looking for device that help me split a n bit input bus, or n analog lines into two or more bus at output

Please consideration concept diagram below.

concept diagram

At input there is n bit input bus, or n analog lines

At control there is 2 bit control:

  • 00: input signal not routed to output
  • 01: input signal routed only to output 1
  • 10: input signal routed only to output 2
  • 11: input signal routed to both output

I cannot think of any ready made digital logic device I buy at counted do this, hence need some help to realize this using ready made digital logic device.

Ready to use relay or logic ICs, anything is OK as long as parts easily available.

If digital logic used, must be able to support signals till 1Mhz, 0 to +5Vpp, low (like 100mA) current good enough

If analog drive like relay used, must be able to support signals till 100Hz, -50 to +50Vpp, 10Amp current

Important to keep the size compact. I am ready to use PIC microcontroller if it help

  • \$\begingroup\$ What does the output do when the signal is "not routed" to it. Does it drive high, low, go to high impedance, something else? \$\endgroup\$ Commented Aug 9, 2011 at 18:39
  • \$\begingroup\$ Very good question. Tristate is best answer I can give as I think if I ever change decision and want to pull it low or high, I can add pull down or up resistors, right? \$\endgroup\$
    – sekharan
    Commented Aug 9, 2011 at 18:53
  • 1
    \$\begingroup\$ Yes. In that case two tri-state buffer chips is all you need. Your two control signals are the output enable inputs of the two buffer chips. \$\endgroup\$ Commented Aug 9, 2011 at 20:34
  • \$\begingroup\$ @Olin Lathrop: Mr. Lathrop I agree. However, what could I use if I want analog solution? Drive relay using this same control logic? Would be very very bulky with all those relays. \$\endgroup\$
    – sekharan
    Commented Aug 10, 2011 at 23:40
  • \$\begingroup\$ I do a little more reading and also finding 74HC4316, 74HC652, 74HC541, 74HC645 and 74HC245 - seems like good matching with my need. \$\endgroup\$
    – sekharan
    Commented Aug 10, 2011 at 23:53

1 Answer 1


A couple ideas:

  1. Use two n-bit wide tri-state buffer devices. Tie one of your control bits to the enable input of each buffer. As an example, you could implement a 4 bit wide version of this circuit on a single 74LS240 chip. Since the enable inputs are often active low, you may need to invert you control signals. If you want the outputs to be in a certain state when inactive, add pull-up or pull-down resistors at the outputs.

  2. This would be pretty simple to implement on a CPLD. If you have the tools to do that, in my opinion, it would be a simpler solution than using an MCU.

  3. As you mention, you could implement with an MCU, using DIO pins to check the inputs and drive the outputs.

  • \$\begingroup\$ I like idea about using two n-bit wide tri-state buffer, but I worried if connecting PIC pins to two ICs directly (effectively shorting together PIC output with both the IC inputs) will damage anything? I also not mention that MCU will have enough pins to connect one n bit channel and not enough pins to have two separate ports to emulate a switch itself. \$\endgroup\$
    – sekharan
    Commented Aug 9, 2011 at 18:59
  • \$\begingroup\$ @SGosh: A PIC output should drive multiple logic inputs with no problems. \$\endgroup\$
    – B Pete
    Commented Aug 9, 2011 at 19:33
  • \$\begingroup\$ @SGhosh - "shorting inputs" isn't usually a concern with digital inputs, as long as you don't exceed the fan-out of the device whose output is driving them. \$\endgroup\$
    – JustJeff
    Commented Aug 9, 2011 at 21:32
  • \$\begingroup\$ Thanking you both of you. Seem like good solution. I want also route either 3v3 or 5v to a ADC ref volt. Can I use a NC-NO relay or use 4066 better? \$\endgroup\$
    – sekharan
    Commented Aug 10, 2011 at 23:42

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.