level and edge triggered 74HC 573 / 574

Discussion in 'General Electronics Chat' started by atferrari, Jul 29, 2013.

  1. atferrari

    Thread Starter AAC Fanatic!

    Jan 6, 2004
    2,652
    767
    The 74HC573 is an octal D-type transparent latch where latch is activated when the LE output is high.

    The 74HC574 is an octal D-type flip flop with latched output activated by the positive edge of its LE output.

    My questions:

    What is the specific use of each type, thinking of the way their output is latched?

    Is it ANY particular case where ANY of them could be used with no sensible difference?

    First time I find myself looking for differences between them. :eek:
     
  2. Papabravo

    Expert

    Feb 24, 2006
    10,178
    1,799
    The latch is transparent (ie Output = Input) when the LE (Latch Enable is high). The outputs are latched when the LE goes low. The input must be stable for some "setup" time before LE goes low. This is an advantage for things like address decoding.

    The outputs of an edge triggered flip-flop always change on the clock edge. Again there must be some setup time prior to the clock edge to minimize the probability of a metastable state.

    You use the flip-flop in a synchronous design, and you use the latch in an asynchronous design.

    Look at the design of a microprocessor system with a multiplexed bus and an ALE (Address Latch Enable) signal.
     
  3. atferrari

    Thread Starter AAC Fanatic!

    Jan 6, 2004
    2,652
    767
    Hola PB. Gracias for replying.

    I plan to output data through PORTC from my micro but I want it to go into the bus only when I pulse one specific pin high and then low, for the latch to show the new data.

    Before the pulse, I need the old data stay unchanged in the bus.

    As far I understand this, any of both will do. Do you agree?

    Timing for the moment is not extremely critical.

    Yes, I am reinventing a LED cube. :)

    All my previous experiences were, in several designs, with the marvelous CD4094 but that is another kind of beast. I found that it would take a huge overhead to use it here.
     
  4. Papabravo

    Expert

    Feb 24, 2006
    10,178
    1,799
    Almost. Read the datsheet carefully to determine the polarity of the latch enable signal. I think HIGH means tranparent, ie Input=Output and LOW means hold. With the flip-flop the output will change on the clock edge. If the data inputs are from a port there should be absolutely no problems with setup and hold time violations for either the latch or the flip-flop.

    For noise immunity I would go with the latch and I would hold the data on the port until just before the next update, change the data, take LE high, then low.
     
  5. WBahn

    Moderator

    Mar 31, 2012
    17,788
    4,807
    I can think of one case in which there would be no sensible difference and one case in which there would be no practical difference.

    If the data input to the latch doesn't change while the LE pin is HI, then the output won't change while the LE pin is HI and you would have no way of sensing which part you are using.

    If the data input to the latch is the same just before the falling edge of the LE as it was just prior to the rising edge, then the data output from the latch while the LE pin is LO will be the same regardless of which part you are using. Then, if it is also the case that circuit looking at the data output from the latch is only sensitive to the data values when the LE pin is LO, there will be no practical difference between the two. However, if you monitor the data output from that latch and change the data input while LE is HI, you will see a change in the data output using one part and not the other. It will have no practical impact because the follow-on circuitry is insensitive to changes while LE is HI, but the difference IS sensible.

    To decide which you want to use ask the following questions:

    1) Is it possible for the data input values to change while the LE pin is HI?

    If the answer to (1) is NO: The choice doesn't really matter (at least functionally). Stop.

    If the answer to (1) is YES: Then then ask (2).

    2) If the data input values change while the LE pin is HI, does it matter if my output values change as well?

    If the answer to (2) is NO: Ask (3).

    If the answer to (2) is YES: Ask (4).

    3) What values do I want held as the output when LE is LO? The values that were on the input just as the LE went HI, or the values on the input as the LE went LO?

    If the answer to (3) is that you want the values when the LE went HI: Use the edge-tiggered part. Stop.

    If the answer to (3) is that you want the values when the LE went LO: Use the level-triggered part. Stop.

    4) Do I want changes in the input while LE is HI to be immediately presented on the outputs?

    If the answer to (4) is YES: Use the level-triggered part.

    If the answer to (4) is NO: Use the edge-triggered part.

    Notice that there are cases in which you can't have your cake and eat it to. For instance, if you WANT to see changes in the output immediately as the input changes while LE is HI but you also want the data held when LE is LO to be the data that was present just prior to the rising edge, you can't have both. I can't imagine a situation in which you would want that, but if you did you could build up a circuit that behaved that way.
     
  6. atferrari

    Thread Starter AAC Fanatic!

    Jan 6, 2004
    2,652
    767
    Thanks to you both for replying.

    WBahn, your decisions-tree helped to visualize my options. Gracias.
     
  7. WBahn

    Moderator

    Mar 31, 2012
    17,788
    4,807
    You're welcome. I was afraid that my decision tree was becoming too convoluted to be of any utility.
     
  8. atferrari

    Thread Starter AAC Fanatic!

    Jan 6, 2004
    2,652
    767
    Obviously you had a clear idea so the process to make a choice resulted logical. Gracias again.

    BTW, I was warned that LED cubes do TAKE time. Now, I :eek: can say that!

    (And what makes it harder is my job, disrupting my thinking process, so often). Have to pull the plug to complete this, I guess. :p
     
Loading...