0

I added a schematic even though the question is actually too simple for it. The datasheets for the devices are likely to be more revealing.

The circuit is super simple. I have a 74HC148 priority encoder. I attach its encoded outputs (A0..A2) to the parallel load inputs (P0..P2) of a 74HC193 counter, and strobe that word into the 74HC193 by connecting the GS output from the 74HC148 to the /PL input of the 74HC193. (I am not actually using the counter as a counter, just as a quad latch, though this probably doesn't matter.)

When one of the inputs to the priority encoder is activated, GS goes low then snaps back high when the input is released, which is why the latching works. It does this just barely a few nanoseconds before the A0..A2 outputs resume their previous state. It's a race condition being won.

I have experimented with this a lot and have 3 handmade circuits in operation based on it, all working. I have tried changing the 74HC193 to different manufacturers versions (but not the 148 because I don't have other types handy). I have even tried the same circuit with all LS TTL ICs. All have worked wonderfully. I even tried a variation where I used a 74HC75 quad latch being strobed by the E0 output of the priority encoder, and as I recall, it worked too.

So here is my problem, and big question. I want to go to some expense now and include this circuit in a manufactured product. I read the datasheets and realise that under some interpretations my circuit shouldn't even be working at all! Even though I am winning the race condition every time now, it doesn't mean I will always be that lucky in the future.

Maybe I just am not skilled enough at reading the datasheets, and it is in fact safe for me to assume that this trick will keep working. Or maybe the opposite is true and I should add some persistence to the A0..A2 outputs in any mass-produced circuit, just for safety.

The big question is, "is it likely to be the case that this race condition will always be won, or should I do something more to tilt the odds in my favour?"

latching priority encoder

DarylK
  • 178
  • 9
  • Personally, when manufacturing something, I'll always put in things to tilt the odds in my favour. Even if the space on the PCB is left with components not fitted, it's there just in case and doesn't cost any more. If you find that they are needed, then you can simply fit the component. If not, next time you revise the design, take it out – MCG Jan 12 '21 at 07:56
  • DarylK. Do the work to ensure that it will ***always*** work, or else do the extra work to make sure. End of story. Otherwise? Do you want a situation where 5% of the customers have a legitimate problem with their units? After-sale support EATS MONEY really fast. The huge advantage you have right now is that you are aware of the question. A lot of times, those escape being viewed and hurt a lot when found. But you know about it. That's a big advantage. Use it. Don't throw it away. Make sure. Extensive testing of incoming parts is one way. Production testing another. But don't do nothing. – jonk Jan 12 '21 at 08:18
  • I hear. I almost wish I was getting even some kind of failure rate, because at the moment I don't even have a way to tell if a "solution" isn't apt to be riskier than no solution. Hmm, it's only 3 data lines. Maybe leaving room for, um, say, 3 resistors, 3 caps and 3 diodes, and jumpering past them for now, wouldn't be too inelegant. – DarylK Jan 12 '21 at 08:44

0 Answers0