Continue to Site

Welcome to our site!

Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

  • Welcome to our site! Electro Tech is an online community (with over 170,000 members) who enjoy talking about and building electronic circuits, projects and gadgets. To participate you need to register. Registration is free. Click here to register now.

Demultiplexer

Status
Not open for further replies.
hi nobtiba,

Attached rough drawing a 138 decoder version.

As the parallel port is driving 16 * 138 ic's, you may require a buffer driver on the D0 to D2 and D6 port pins.

REMEMBER: the 'selected' channel be be LOW and revert back to a HIGH when deselected.
 
Last edited:
Thank you Eric,

Your support is great! I really appreciate it.
My test circuit works as I hope. Unfortunately, after all, I realize that the decoder may not the right thing as I hope. When I said outputs I mean we can set whatever combination of values. But here, with the decoder (whatever type) only the 'selected' pin is 'set' which mean only one pin can be effected. For example: if I have a 3-to-8 decoder, I can not set the output (let's say: from pin 0 to pin 7) to: HHLHLLHL (H: High, L: Low), so it is not the same as parallel pins which has this capability!!
I really do not know any method that could help me to do this ?? The parallel port is good, I can set what ever group of bits to the output. The only limittation is the number of pins (8 pins) but I need about more than a hundred.
All the method I know to expand the output, until now, is only help me to set one 'selected pin' not ANY group of pins.
Do you know any solution ?
 
Last edited:
hi nobtiba,

The other way I can suggest is this.

Retain the first set of decoders that drive the second group, but have their inputs latched. [ideal ic would be 4514/4515]
This 1st group is enabled by using another output pin from the port. From memory there are 4 more output pins?

Call it address or data select control.

The second group of LS138's are replaced by octal latches, the 1st 138 outputs select the individual octal latches.

The address/data pin is set to 'data', now output the 8 bit wide data pattern [on the same 8 pins as you did the address]
and strobe that 8 bit data into the octal latches.

I hope you can follow the general idea?
 
I spent time reading your instruction. But not very sure that I understand it clearly. :(
My final target is: Having about 100 (or more) pins (called pin 1 to pin 100) which could satisfy:

- First, set all to high level : HHHHHH....HHH (100 high)
- Now want to set pin 2,3, 45, 68 to high: then I have: LHHLLLL....LLH(45)LLLL...LH(68)LL..L
- Then I set pin 1,3,7,38 to High, I have : HLHLLLHLL....LLH(38)LLLL..LLL

some thing like that, in which H and L stand for High and Low logic level output at the pins.
 
Last edited:
hi
This should give you the outputs you require.

Consider 8 outputs from the port as 8 bit Address or Data.

Set the Addr/Data line so that you write the Address of the Latch you want to write to.

Strobe the Addr into the Decoder latches.

Set the Addr/Data line to DATA.

Write an 8 bit Data byte to the selected 8 bit Latch.

Strobe the Data into the latches. and repeat as required.

You will require a 'image' byte in your PC program for each Latch, update the 'image' and output it.

I have only drawn as a block diagram, you will have to configure the logic with ic's you can get.

Its drawn to show ALL 255 bits, reduce it to suit your application.

Is this any clearer?
 
Last edited:
It is very intuitive!
Tomorrow I will go to buy new ICs. The ICs here is really expensive, so that I would like to ask for your recommend to eliminate unneccessary redundancy. Here, hard to find any 4-to-18 decoder.

So for my application I need 128 output (parallelly). Here is my temporary list:

1) 3-to-8 decoder 74LS138 ( how many ? - I got one now)
2) 8 bit latch -> don't know what type is suitable?

is this enough?

I am not very familiar with "latch" and "strobe" concept. I heard that with the latch it is not really parallel which means not every output at the same time !? My application really ask for exactly all at the same time !
 
hi,
Can you get any of these ic's.

74174
74237
74259
74273
74373
74374
74573
EDIT: 74100
Can you say why you want to control 100+ output bits?
 
Last edited:
I will check it tomorrow, this time all the shops closed already. So if I could get one of the following:74100,74174,74237,74259,74273,74373,74374,74573 then it will be ok right ?
I want to control 100 + output bits because I need to make other wires of other devices to connect to /then/ separate from the grown. But this control should be at the same time and the values High or Low (1 or 0) is decided freely.
Could you tell me what is the function of the above ICs and how will I use them ?
 
hi,
I would recommend that you download the datasheets for the devices listed and study their function.

Its important that you do not waste your money buying the wrong ic's.

The ones I have listed are data latches.

www.datasheetarchive.com

**broken link removed**

EDIT:
>> I need to make other wires of other devices to connect to /then/ separate from the grown. [ground???]

Do these other wires have any voltages on them?, also are they able to accept the TTL HIGH [+5Vdc]
 
Last edited:
They do nothave voltages on them, they could accept TTL High I guess, at least I tested with 3.4 Volt and everything is still ok.

However, I still fell that the system could not give me any combination of bit as I want. For example with parallel port I could output the combination like: 10011101 but with 3-to-8 decoder I could only set ONE 'selected' pin.
 
hi,
If you want to set any 8 bits from 255 combinations, I cannot see a simple solution.

If you can accept, setting the state of the individual bits within an 8 bit byte from a possible 32 bytes, this is possible.

I know that you are only concerned with about 100+ bits, but the explanation
is the same, ie for 128bits, its 16 bytes, each of 8 bits.
 
Yes Eric,
I also see that it could not be a simple solution now. I want to set ANY BITS from possible bits. If I have 8 bits then I want to have the capability to set any of them. The same if explanation, 100 + pins, then I could set any group of pins, (i.e. set 1 of them / or set 100 of them / or set 30 of them / or any thing...)
Even if I do not use simple logic IC, is there a possible solution? For example, could I use 8255 or Max307
 
Last edited:
hi,
The 8255 PIO is an old device, it has 3 * bit parallel I/O ports, only PORTC is bit direction addressable.
The MAX307 is the same logic as the HEF4067.

I cannot see an easy way to enable your parallel port to address any 8 bit combination from 128 or 256.
With above devices you will still have to work with defined 8 bit bytes.
That is, an 8 bit byte, having its bits updated in one write operation.

You should consider the speed/rate which an 8 bit byte from any 16 bytes can be changed via the port.
I estimate you could modify every bit of 128 bits within 1 to 2mSec, using the fixed byte method.

Question, when you ground the individual bits [output] of the 100+ outputs, what does the change do?

EDIT: added direction
 
Last edited:
Each output will be connected to one pin of a device. The other pin of the device connected to the ground already. Then, if the output is High, these two pins have different voltage, meaning they are separated from each other. But when the output is Low (= ground) they have the same voltage (=ground) and connected. This action has the same meaning as short circuit. Changing the output from High to Low like switching OFF to On. If I have the ability to choose any pin H or L then I can switch On/Off each device freely !

And this switching on the devices need to be parallelly. 1 to 2 m Sec between them could be too long. :(

Any way could help me please ?
 
You are not selecting a single pin with the 74LS138, you selecting an octal latched buffer, 8 bits wide.

Action:
Address the 1st octal latch via the 138's
Write data byte to octal latch [could be 10010001]

Address another octal latch via the 138's
Write a byte to the selected octal latch. [could be 01101110]

And so on................

Got the idea?

You have told me about the output pin levels, but whats the end result?
 
I checked. The store has 74AC573 ICs. Use them with 74LS138 ICs could satisfy my application !?

What do you mean by addressing in the sentence :""Address the 1st octal latch via the 138's" ?
 
If I am going to give you my best answer for your problem, you must give me some feedback on my questions.

What devices are the 'bit' outputs switching??????

Whats the purpose of the selection???

74573 would work as the octal latches.
 
The device is a camera. Pushing the button to take snapshot means closing a contact of two wires. One wire I connect to the ground. The other to the output pin. If output Low, it will equal to ground and the camera shutters. So, if many camera take snapshot at the same time, requires many outputs.

I could think about the 74595 ICs. It is better than 74573 since it output does not change until having Enable signal. However it requires clock signal.

Do you know any IC that we input the data than stored it there. After that we input the second IC, stored it there, etc.. until input for all ICs. Then have a signal enable to all to get all the parallel output ?
 
The 74595 is a 8 bit serial inp/parallel output Shift Register.

>> Do you know any IC that we input the data than stored it there. After that we input the second IC, stored it there, etc.. until input for all ICs. Then have a signal enable to all to get all the parallel output ?

The 74373 octal latch has 3 state outputs.
 
Status
Not open for further replies.

Latest threads

Back
Top