Extending pulse width (multiplying and adding) - Page 1
Forum section: electronics / projects

author: ricko_uk
author_rank: Super Contributor
timestamp: May 26, 2020, 06:27:05 pm
content: Hi,I need to extend the width of a pulse that can vary from 100ns to 1us (at a frequency of 250KHz) to two output:- one output which is the input withaddeda fixed amount (say to add 50ns to the input i.e. when the input is 100ns it becomes 150ns and when the input is say 700ns the output is 750ns)- and a second output which is the inputmultipliedby a fixed amount (say to multiply by 1.5 and the input is 100ns then the output turns to 150ns)I have to implement both in two separate boards, in one PCB I have an external high frequency clock and in another I don't.Any suggestions/ideas?For the lengthening of the pulse in the PCB that does not have a clock I was thinking about a 555 timer (not sure if it works reliably at that frequency) or alternative.But no idea about the other three combinations. Any suggestions/ideas appreciated!

author: SparkyFX
author_rank: Frequent Contributor
timestamp: May 26, 2020, 07:10:49 pm
content: For the delayed OFF the 555 might be too slow for the given pulse widths, i found something between 100kHz and 400kHz depending on variant.Actually 100ns is kind of the order of magnitude for gate logic propagation time (depending on logic family, manufacturer and gate type), hard to work around that, at best you could use this fact to your advantage.Does the output need to be synchronous to the input or would asynchronous also work? Because this rules out if you could OR the signal or not.

author: ricko_uk
author_rank: Super Contributor
timestamp: May 26, 2020, 07:26:38 pm
content: Thank you SparkyFX,they could be either synchronous or asyncronous. Slightly better is synchronous but not that important as I can get around it if they are not.Can you please explain your ORing solution?Thank you

author: Marco
author_rank: Super Contributor
timestamp: May 27, 2020, 02:24:04 pm
content: Quote from: ricko_uk on May 26, 2020, 06:27:05 pmTo do this in analogue you'll probably want to charge a capacitor with say 1 mA while input is high and then discharge it with 2 mA while low and trigger on zero crossing.

author: SparkyFX
author_rank: Frequent Contributor
timestamp: May 27, 2020, 02:24:26 pm
content: The 555 is too slow for what you try to achieve (50ns increments), although pulse delay generators with such specs are commercially available, but that does not seem to be what you are searching for.The DIY approach requires to understand that single pulses need to be quantified somehow to actually manipulate the output according to the requirements, which brings you deep into ADC territory.Maybe you should point out which technology suits your application best, as this indicates how this quantization will need to be implemented.It could be- analog, then you have to know or somehow fix the impedance of your source- digital logic/ASIC with proper propagation delays- microcontroller fast enough for at least 20MHz output frequency, so when eyeballing the instruction cycles there should be enough margin to have the fighting chance to meet demandsShould you intent to use logic ICs for implementation you'd have to remind the propagation delay of the various gates (that stem from capacitance in every gate in the system; holding charge that needs to be dissipated first), which at 50-100ns becomes a significant part of the equation. A sync'd output signal might have to be fed faster than the logic operates, therefore you might need to "OR" the output with whatever delay circuit you come up with.It is not a simple problem, actually it is a typical training question to get into these technologies.

author: SiliconWizard
author_rank: Super Contributor
timestamp: May 27, 2020, 02:59:02 pm
content: A couple questions:- How accurate would have the output pulses' duration to be?- What's the expected time resolution (related, but not exactly the same)?