This article will explain the way a simple transistor based current source is designed, this will give an idea on how some components can be used in a practical way to make the circuit do some function, the objective is not design but to become familiar with the basic ideas.
Design of a Constant Current Source
In the circuit the LED is used as a reference so to keep it cool a 2.2K is chosen. (20V – 1.6V) / 2.2K = 8.3mA on the high side and when voltage is 10V the current will be 3.8mA min.
You should know that the LED forward drop can change with ambient light as it is photo sensitive and will vary with temperature.
The circuit can be improved by using a zener in place of the LED or better still a temperature compensated reference like LM336.
Operating Current of LM336 is 400uA to 10mA, 20V The max. voltage 20V / 3.3K = 6mA. so within limits. Then you can compute the rest, wire it up to see if your design works.
This circuit is a small representation of a very low cost printer sharer. It has no Active Devices only diodes.
Pot the product in epoxy with a black dye, they serve the purpose. Output impedance of this circuit is high, sink is 220K source is 3.9K+ so use some buffers or drivers at Output. If Buffers are omitted, then fix this unit on the printer port connector of Computer.
when Enable A is at float-high impedance or low the output O1-O4 is not influenced by A1-A4 inputs. If Enable A is made logic high or 5V then A1-A4 is available at O1-O4.
By turning Enable A or Enable B high, you can route the data A1-A4 or B1-B4 to the output O1-O4, you can also mix data and you can expand to any number of input sets or data width. 1N4148 is fast, 4nS, that makes this data switch quite fast. This circuit cannot drive long printer cables without drivers. They will load the output.