In my opinion, such a device can only be tested in a meaningful way if the necessary external components are also connected, which is not always the case with these tests.
I looked at the tests of two well-known testers: BeeProg2 and TL-866. Both testers claim to be able to test this device and both testers use vectors to describe the tests:
With the BeeProg2 the test looks like this:
000HL0XG000HL0XV 110HL0XG110HL0XV 010HL0XG010HL0XV 111HL0XG111HL0XV 000HL0XG000HL0XV 101HL0XG101HL0XV
The TL-866 uses very similar vectors:
000HLLZG000HLLZV 110HLLZG110HLLZV 010HLLZG010HLLZV 111HLLZG111HLLZV 000HLLZG000HLLZV 101HLLZG101HLLZV
The 74123 contains two multivibrators, so the pinout for the first multivibrator is:
Pin 1 = A1 Pin 2 = B1 Pin 3 = CLR1 Pin 4 = /Q1 Pin 13 = Q1 Pin 14 = Cext Pin 15 = Rext/Cext
To make it easier to identify the pins, the non-relevant information has been removed from the tests:
000H--------L0X- # deaktiviert mit clear, Q1=L, /Q1=H 110H--------L0X- # deaktiviert mit clear, Q1=L, /Q1=H 010H--------L0X- # aktiviert mit clear, Q1=L, /Q1=H 111H--------L0X- # deaktiviert, Q1=L, /Q1=H 000H--------L0X- # deaktiviert mit clear, Q1=L, /Q1=H 101H--------L0X- # deaktiviert, Q1=L, /Q1=H Cext is GND Rext/Cext ist undefined (MPU is switched to input mode)
The test of the TL-866 is comparable, only Rext/Cext is „open“ (and not on GND):
000H--------LLZ- 110H--------LLZ- 010H--------LLZ- 111H--------LLZ- 000H--------LLZ- 101H--------LLZ- Cext is "open" (MPU is switched to input mode) Rext/Cext is connected with Vcc using a pullup
The inputs A1/B1/CLR are used as enable. An impulse is triggered when A1=L, B1=H and CLR1=H… Just this exact combination is not part of the above vectors!
If we take a closer look at the test vectors, we find that either the selected A/B combination always disables the device, or in the one case where A/B could read a pulse, CLR is enabled.
An error has also crept in here, because if CLR had not already been set to „0“ in the previous step, an impulse would actually (unintentionally) be triggered, since the vectors are evaluated from left to right and after B was applied and before CLR is set to „0“, the inputs could possibly have a valid state for a pulse.
How do the testers deal with the external components? Cext would need to be connected to Rect/Cext with a capacitor, Rext with a resistor to Vcc. The Beeprog2 has Rext/Cext undefined (probably the pin on the MPU is switched to input) and connects Cext to GND, the TL-866 at least connects Rext/Cext to Vcc with a pullup and leaves Cext „open“ (pin on the MPU switched to input).
Here the TL-866 behaves correctly with regard to Rext/Cext, since a pullup is used as Rext, with regard to Cext, the BeeProg2 behaves correctly, which puts Cext to ground. If you are testing without external components, then a combination of both would be desirable, i.e. Cext to GND and Rext/Cext to „Z“, i.e. via pullup to Vcc. Only the capacitor would be missing. Due to the lack of capacitance, the pulse should then be triggered immediately (i.e. for a few ns). Definitely too fast to be able to detect him.
The main function of this IC is to trigger a pulse for a certain time. The time is determined by the capacitor and the resistor. However, the vectors above show that neither a pulse is emitted whose time can be measured, nor that the device is operated within its specification.
To put it simply: the inputs are “strummed” a bit and no combination triggers an impulse, the two outputs do not change their state with any test vector.
My conclusion: The 74123 tests implemented in these testers make no sense from a functional point of view. Comments are welcome.
I was made aware of the ELV tester by a user. This does not use vector-based tests, but a language similar to Pascal. Although this tester cannot reliably test the 74123 either, it at least triggers an impulse that is tested for. After that, the condition must fall back again within a certain period of time. This is not ideal, but it is much better than what the two testers mentioned above deliver as a result.