Question: I have DMM which is producing pulse with duration of around few microseconds. The pulse need to be sampled in PLC, which has sampling rate of 1ms. In other words the cycle loop can't be reduced to microsecond resolution. So it's impossible to reliably detect the pulse from DMM.

Could somebody recommend a simple TTL based circuit solution, which will be able to capture that microsecond resolution pulse and convert it into millisecond resolution pulse?

[![I](https://i.stack.imgur.com/orsZq.png)](https://i.stack.imgur.com/orsZq.png)

Answer: 
TTL solution with active low input and output. R and C are calculated for 2ms output pulse width.

![schematic](https://i.stack.imgur.com/BL5ef.png)

[simulate this circuit](/plugins/schematics?image=http%3a%2f%2fi.stack.imgur.com%2fBL5ef.png) – Schematic created using [CircuitLab](https://www.circuitlab.com/)
This is not a pulse extension problem/solution, rather it is a memory issue to tell the PLC that there was a new ADC conversion pulse, then the PLC responds to clear that latch when it is ready and sees the ADC ready output =1.

Set + Reset functions active low can be implemented a variety of ways. This is also called a "pulse-triggered handshake" like REQ/ACK

![schematic](https://i.stack.imgur.com/TQeS2.png)

[simulate this circuit](/plugins/schematics?image=http%3a%2f%2fi.stack.imgur.com%2fTQeS2.png) – Schematic created using [CircuitLab](https://www.circuitlab.com/)

This way you are guaranteed to stay in sync if your PLC can keep up to readings at the ADC rate without having to guess or miss a new reading. This way the PLC can sample at >= the ADC rate and not 2x the ADC rate as in Nyquist theory as there is a 1 bit memory involved.

Stock 2 input 5V NAND Gate [choices](https://www.digikey.ca/en/products/filter/logic-gates-and-inverters/705?s=N4IgjCBcoKxaBjKAzAhgGwM4FMA0IB7KAbXBHwBYAGKgZgDYAOckaugdipAF18AHAC5QQAZQEAnAJYA7AOYgAvvgBMFdvBBJIaLHkIkQtdo0ZhmvEIOFipcxSvb0NWnTnxFIpMMrDeu%2BGFozAE4WGBh2RzDjZX8QGHpgsCd8ejBaWgoWZOCaFPBEqjBQlSplY1oWWOVGdkr8MHYKH2ZSxkSSkFjg4IoICytIUQkZeSUQenp1aE0UDDd9T3AfWmUnAaEhm1H7cGDGUJmXeb0PUi5ucYBaZWcoCQBXU4M4S-HbpelUaQATHgUgA).