Signals between digital IC's

Thread Starter

georgedb

Joined Jul 29, 2017
49
When "designing" (well...) some things in digital electronics, I come accross some issues that were certainly solved before ;-)

1) When power is applied, you want that some things are reset before we can start. With a microcontroller this is easy, but how is that solved without using a microcontroller?

2) When an output goes from e.g. HIGH to LOW, I want to detect that (easy) and give a pulse, only a pulse, to another digital component. There are one-shot triggers, like the 74121, but that seems like a solution which requires quite come components? Isn't there a simple solution with a C, and R en a transistor for example?

3) Sometimes you just need to have a little delay, to make sure some input or output has become stable. Is this the easiest solution: from output X a resistor to input Y and from input Y a capacitor to ground (R/C nework)?

4) To create one-way traffic in signals between digital IC's, using a diode is the best option?

I think these are all pretty common design issues so you'd expect that there are simple solutions. In my solutions the number of parts "explodes" ;-)
 

WBahn

Joined Mar 31, 2012
32,829
It's hard to tell if possible alternatives are better than yours until you show yours (preferably with schematics). Also, the devil is in the details. The goal of delaying a signal isn't well-specified. How long you want to delay it and how fast and frequently it changes have a significant impact on viable approaches.

Also, what is this "one way traffic" you are talking about. What is the situation you have in mind where this is an issue?

You can usually use a "power-on reset" circuit to reset your logic upon power up. You just connect a capacitor between the reset pin and the asserting supply level and a resistor to the non-asserting supply level. Choose the RC constant so that the reset pin is held in its asserted state long enough for the supplies to come up and stabilize.
 

Thread Starter

georgedb

Joined Jul 29, 2017
49
It's hard to tell if possible alternatives are better than yours until you show yours (preferably with schematics). Also, the devil is in the details. The goal of delaying a signal isn't well-specified. How long you want to delay it and how fast and frequently it changes have a significant impact on viable approaches.
I see... My question was in general and I think the circumstances are basic. See the attached schematic. The left-hand side of the MM54104 is irrelevant. I just wanted to do something simple using a 4040 to automatically have Digitalker say all of its vocabulary.

In terms of process flow:
  1. 4040 should be reset and start at 0;
  2. Not-WR low to load address;
  3. Not-WR high to start speech;
  4. When Not-WR goes high, INTR goes low;
  5. Not-WR returns to low, while during speech INTR remains low;
  6. INTR goes high again when speech is finished;
  7. When not-WR goes high could be a trigger to give a clock pulse to the 4040 to increase the address;
  8. Go to step 2
When the 4040 ended up at address 143d, it needs to reset (can be solved with AND gates, I used 5 diodes).
I don't want to use a microcontroller, as I'd like to learn from other ways to fix these issues.

Also, what is this "one way traffic" you are talking about. What is the situation you have in mind where this is an issue?
I think these can be seen in the pseudo-schematic attached. For example when the 5 diodes based on 143d trigger the reset, this should not end up in other parts of the circuit.

You can usually use a "power-on reset" circuit to reset your logic upon power up. You just connect a capacitor between the reset pin and the asserting supply level and a resistor to the non-asserting supply level. Choose the RC constant so that the reset pin is held in its asserted state long enough for the supplies to come up and stabilize.
The terms "asserting" and "non-asserting" supply level are not clear to me... Can you maybe explain in terms of +5V and ground?
 

Attachments

WBahn

Joined Mar 31, 2012
32,829
Is this "4040" you are talking about an Intel 4040 microprocessor? I tend to not think so because the signal names don't seem to make sense. Please indicate exactly what part you are talking about, including the technology (logic family). I'm guessing you're using the 12-bit ripple counter, but still need to know the technology.

Your wired-AND is wrong. The anodes of the five diodes are hard tied to 5 V, so one of two things will happen -- the supply is strong enough to hold them at 5 V in which case you will have contention on the outputs trying to pull a cathode low, or the supply will not be strong enough in which case any of the outputs going LO will pull the power supply down, affecting the power to everything.

Why don't you want to use a microcontroller? Just because you want to learn how to do things without it? If so, that's perfectly fine; knowing that that's the goal tells us that you are willing to accept the resulting complexity and parts count.

Reset signals can either be asserted with a HI signal or a LO signal (known as active-HI or active-LO resets, respectively). It looks like your MR on the 4040 is active-HI, so the asserting level is 5 V and the non-asserting level is 0 V.
 

Thread Starter

georgedb

Joined Jul 29, 2017
49
Is this "4040" you are talking about an Intel 4040 microprocessor? I tend to not think so because the signal names don't seem to make sense. Please indicate exactly what part you are talking about, including the technology (logic family). I'm guessing you're using the 12-bit ripple counter, but still need to know the technology.
Yes, it is a CMOS-4000 family component and not an INS4040 or C4040... As far as I know "4040" (12-bit ripple counter) is a common way of expressing these type of IC's? I was actually searching for an IC with more addresslines, there are, but for some reason they seem to skip a few addresslines (!?); check 4000-series / 74XX-series. Not in this specific case by the way, and I could possibly "chain" two 4040's...

Your wired-AND is wrong. The anodes of the five diodes are hard tied to 5 V, so one of two things will happen -- the supply is strong enough to hold them at 5 V in which case you will have contention on the outputs trying to pull a cathode low, or the supply will not be strong enough in which case any of the outputs going LO will pull the power supply down, affecting the power to everything.
That is awkward, as the information comes from here and I got it working in EveryCircuit.com.

Why don't you want to use a microcontroller? Just because you want to learn how to do things without it? If so, that's perfectly fine; knowing that that's the goal tells us that you are willing to accept the resulting complexity and parts count.
Correct. It was done in the past without microcontrollers, I think a lot can be achieved with an R/C-network, but I'm not familar how to set that up. The idea was to keep it simple, with some basic components, the less the better ;-)

Reset signals can either be asserted with a HI signal or a LO signal (known as active-HI or active-LO resets, respectively). It looks like your MR on the 4040 is active-HI, so the asserting level is 5 V and the non-asserting level is 0 V.
Clear. It is the word "assert" that doesn't give a proper translation in Google Translate and I didn't know it in this context. Indeed, the Master Reset (MR) of a (CMOS-series) 4040 is active High (which is in this case +5V). The clock of the 4040 (Not-CP) acts on the High to Low transition.
 

Kjeldgaard

Joined Apr 7, 2016
476
I feel it's decades since I last have drawn diode / resistor logic in multiple layers.

But here's a bid on a Power On addition to the schematic:
PowerOnReset_1.jpg
The circuit with R4 and R12, I'm in doubt about how it will work.
 

dendad

Joined Feb 20, 2016
4,637
Over time I have made many things with just logic chips and diode gates. Includund designing and building a hand drawn and etched frequency systhesyser for my 2M Ham tranceiver. But now I would not hesitate to use a processor. "Simple" is in the eye of the beholder. You will no doubt be able to do what you want with logic chips but I would not really call it simple. Simple could be a single PIC or Atmel processor. There are a range of them that would only need the chip and a bypass cap as they have internal oscillators. But as you indicate, doing it all in logic is not such a bad idea. You will get to learn hardware that way instead of software.
It will be interesting to see what you can come up with.
One way may be to have on the low counter outputs, a 74HC139 dual 1 of 4 decoder to drive a diode matrix whoes output is the control signals you need.

But I think your circuit is a bit sus. Not only as pointed out prevoiusly, it does not seem a good idea to me to ground Q8-11, if that is what is done. The circuit is not clear on that as there are no dots on the joins to the gnd pin, but they don't look to cross either?????.
 
Last edited:

WBahn

Joined Mar 31, 2012
32,829
Yes, it is a CMOS-4000 family component and not an INS4040 or C4040... As far as I know "4040" (12-bit ripple counter) is a common way of expressing these type of IC's? I was actually searching for an IC with more addresslines, there are, but for some reason they seem to skip a few addresslines (!?); check 4000-series / 74XX-series. Not in this specific case by the way, and I could possibly "chain" two 4040's...
It's common to just say the part number of a common logic IC, but this can and does cause confusion if there is another type of IC that is also commonly called by just the same number, such as in this case.

That is awkward, as the information comes from here and I got it working in EveryCircuit.com.
You left out #2 on their parts list -- the resistor. It is NOT optional. Or, you put it in the wrong place. It's placement is not optional, either.
 

Thread Starter

georgedb

Joined Jul 29, 2017
49
It's common to just say the part number of a common logic IC, but this can and does cause confusion if there is another type of IC that is also commonly called by just the same number, such as in this case.
Clear, point taken.

You left out #2 on their parts list -- the resistor. It is NOT optional. Or, you put it in the wrong place. It's placement is not optional, either.
Wrong place indeed, I wasn't thorough.
 

Thread Starter

georgedb

Joined Jul 29, 2017
49
Over time I have made many things with just logic chips and diode gates. Includund designing and building a hand drawn and etched frequency systhesyser for my 2M Ham tranceiver. But now I would not hesitate to use a processor. "Simple" is in the eye of the beholder. You will no doubt be able to do what you want with logic chips but I would not really call it simple. Simple could be a single PIC or Atmel processor. There are a range of them that would only need the chip and a bypass cap as they have internal oscillators.
I'm aware of the benefits, on the other hand the Digitalker (MM54104) is eighties technology and it shouldn't be that complicated (well, it is for me): in the end it is generating addresses (that's what the 4040 is for) and 2 pins to control the Digitalker. But, the moment you start thinking, there is a series of things that need to happen:
  1. 4040 should be reset on power up and start at 0 (MR = high temporarily);
  2. Not-WR low to load address;
  3. Not-WR high to start speech;
  4. When Not-WR goes high, INTR goes low;
  5. Not-WR returns to low, while during speech INTR remains low;
  6. INTR goes high again when speech is finished;
  7. When not-WR goes high could be a trigger to give a clock pulse to the 4040 to increase the address;
  8. Go to step 2
(7) in this case is an easy benefit of the Digitalker's steps. I think I could get it working with a Schmitt-trigger + some R/C networks. But the longer I think about it, the more difficult it gets to start it automatically when power is applied, incl. a master reset ;-) But that's actually the fun, I think I can really learn a lot from it. With a micrcontroller, in my case an Arduino Nano, I can get it working without too much difficulty. But, if you look at electronics magazines these days, it looks like a microcontroller is needed to light up an LED...

But as you indicate, doing it all in logic is not such a bad idea. You will get to learn hardware that way instead of software.
It will be interesting to see what you can come up with.
It might take some time, but I'll do my best. Time is not on my side, so please bear with me ;-)

One way may be to have on the low counter outputs, a 74HC139 dual 1 of 4 decoder to drive a diode matrix whoes output is the control signals you need.
I'm not sure what matrix you refer to... Do you mean the diode AND-gate? I could have used an 74688 here instead, but 5 1N4148's seemed elegant and simple. But maybe you mean another part of my drawing?

But I think your circuit is a bit sus. Not only as pointed out prevoiusly, it does not seem a good idea to me to ground Q8-11, if that is what is done. The circuit is not clear on that as there are no dots on the joins to the gnd pin, but they don't look to cross either?????.
I'm using Scheme-IT. a free tool from Digikey. The dot seems not always drawn, I haven't found out how this works. I'm using it for a couple of weeks now, and I think it is really intuitive... As a far as I know, but that is a remark in my drawing, unused outputs of the 4040 need to be grounded or tied high, I'm not sure about that.
 

Thread Starter

georgedb

Joined Jul 29, 2017
49
I feel it's decades since I last have drawn diode / resistor logic in multiple layers.
;-). Really happy with your help, thanks a lot for your annotations. Could you maybe help me a bit more and explain the part you added around C1, which is the Power On (Master Reset)? Also about the replacement of the diode D3 by the 100K resistor?

But here's a bid on a Power On addition to the schematic:
View attachment 154138
The circuit with R4 and R12, I'm in doubt about how it will work.
U3 is there as I thought I needed an inverter, the drawing is work in progress. R4/R12 are work in progress, see the steps above that I need to take to keep it running. I was trying to draw something to start. I only uploaded the drawing because the moderator asked for it, initially my questions were about a pulse, a delay and a Master Reset to get me going ;-) I'll adapt the drawing.

In the end what I want should be simple: I already created a working Digitalker + ROM, where I can set addresses with a DIP-switch and I push a button that makes Not-WR low (to load that address) and when I release that button, Not-WR becomes high, which starts speech. As INTR
can tell me something about if speech is finished, the idea was that I could automatically generate the next address on the 4040 and launch speech related to the next address. Being a newbie, I still think this shouldn't be too complicated ;-)
 

AnalogKid

Joined Aug 1, 2013
12,128
but that is a remark in my drawing, unused outputs of the 4040 need to be grounded or tied high, I'm not sure about that.
I am.

Your remembering of the rule of thumb is off by one syllable. Unused normal 4000 series CMOS ***in***puts must be tied high or low. Unused output should be left floating. They are changing constantly as the counter counts, so no matter which rail they are tied to, they will create a short circuit to the other rail periodically (or die trying).

Also, your original reset circuit was pretty close. You don't need D3 - maybe. The question to you is: How fast must the 4040 respond to a decoded reset condition? What is the highest frequency of the 4040 clock input? With the reset capacitor fixed at 1 uF, the value of R1 sets the power-on-reset (POE) pulse width and the response time to the diode decoder tree.

ak
 
Last edited:

Thread Starter

georgedb

Joined Jul 29, 2017
49
I am.

Your remembering of the rule of thumb is off by one syllable. Unused normal 4000 series CMOS ***in***puts must be tied high or low. Unused output should be left floating. They are changing constantly as the counter counts, so no matter which rail they are tied to, they will create a short circuit to the other rail periodically (or die trying)
Wow, somehow I must have misinterpreted that rule. Indeed, the moment an output becomes high, it is short-circuited now. Solved it. I think it would never happen in my case, as I "intercept" with the diode AND-gate at 143d. I could have tied those floating lines to MR as well though (?), then they would trigger a reset if the counter would reach them.

Also, your original reset circuit was pretty close. You don't need D3 - maybe. The question to you is: How fast must the 4040 respond to a decoded reset condition? What is the highest frequency of the 4040 clock input? With the reset capacitor fixed at 1 uF, the value of R1 sets the power-on-reset (POE) pulse width and the response time to the diode decoder tree.
And with that reset condition you mean when the diode AND-gate triggers MR to high? The highest clock frequency will be quite low, it will be the shortest sentence/word that Digitalker will speak + some overhead time. The shortest "sentence" is actually a 10ms silence, so clock speed for the 4040 will be fairly low.

For the logic:
  1. The Power-on Reset, I have a counter that starts at 0;
  2. I could manually kick off the process by using the button to make Not-WR low (loads address of the 4040 in the Digitalker) and then when releasing the button it flips automatically back to high (starts speech);
  3. When INTR goes from high to low (when speech starts), I have a falling edge clock signal for the 4040;
  4. So far, so good ;-)
  5. When INTR goes from low to high (speech finished), I need to make Not-WR temporarily low (then back to high) and as far as I can see, the process keeps on going. After 143d is reached, it continues from 0 on, without any button press.
Well, theoretically ;-)

I now would need an "ingredient" to make Not-WR shortly low (a pulse with along enough duration), then have it go back to its default high again.
I'll draw that part and I think I need a Schmitt-trigger invertor, and an R and a C for that?
 
Last edited:
Top