I want to provide front-panel trigger signals with the microcontroller inside my device. The trigger signal will be fed via a 50 ohm coax cable to another device with a 50 ohm input.

A direct connection would overload the digital output pin drivers of the controller, so I'm looking for something like a buffer amplifier IC. I'd also like to make this trigger output a bit idiot-proof: shorting it shouldn't destroy anything. My idea was to put a resistor in series with the final output, with a resistance enough to limit the current in a short-circuit situation to the absolute maximum rating of the final driver. Of course, this resistor should be small, to still have as much voltage drop on correctly connected 50 Ohm devices as possible. Is the series resistor the correct approach to make the output hard short-circuit proof (PTC "fuses" are too slow for that, I assume)? Further, if someone plugs in a 1 MOhm device, I'd like the trigger pulse to still turn off in a timely manner.

So far, I have these three ideas for amplifiers/drivers:

  • Use a simple transistor to allow more current to flow. For example BC337 has a max rating of 500 mA and seems to have a good rise/fall time. Connect the collector to VCC, the base via resistor to the microcontroller pin, and the emitter (via idiot-proof-resistor) to the output BNC. Seems too easy, what's wrong? My guess is the problem will be with 1 MOhm devices, because there's no pull-down. Once the trigger is high, it would take some time to go low via the 1 MOhm alone, is that correct? Maybe use emitter follower configuration with 10kOhm or so, to allow quicker transitions to low?
  • Use the Line driver SN54ABT126 which seems almost like it's designed for what I want to do. But the maximum current output at high-level is -32 mA, which isn't quite enough for 50 Ohm + idiot-proof-resistor if I'm not mistaken. I haven't found other devices like that which can provide notably higher currents. They all seem to be optimized for sinking high currents in low-level, rather than sourcing in high...
  • Use a darlington array like ULN200x. This seems to be the easy way out for controlling higher currents with digital output pins, but their timing specs aren't that great (~µs). Further, they might have the same issue with lagging high-low-transitions as the BC337 suggestion above?

I'd like comments on those three ideas, as well as of course "the right way to do it".

Some info that might be interesting: I'm aiming for switching times (and rise/fall times) below 100 ns when a 50 ohm device is connected. I have VCC +5V easily available, and with some extra effort +6 V and +12 V. I need two trigger outputs, so I'd like to avoid buffer ICs with >8 channels. I'd like to achieve a high level of >=3V at the 50 Ohm device (that should properly trigger any device, right?)

  • \$\begingroup\$ A simple circuit diagram would go a long way to make this question easier to follow. \$\endgroup\$ – kjgregory Jul 25 '14 at 17:30
  • \$\begingroup\$ Does the signal into the other device need to be 5V TTL? If not I've use a voltage diviedr and source terminated drive, so for only a 1 volt signal you could use a 200 ohm series resistor and then 50 ohms to ground. Coax out connects to the node between the two R's. (do I need to draw a picture?) This should also take care of your concerns about someone shorting the output... And now the current requirements are more modest. ~20mA for the above. (Note: if the input on the other side is also 50 ohm terminated then you'll only get 0.5V.. but that still may be enough.) \$\endgroup\$ – George Herold Jul 25 '14 at 18:02
  • \$\begingroup\$ Are you sure the impedance of your device's trigger input is 50Ohm? Most trigger inputs are TTL compatible, therefore high impedance unless you put a 50Ohm terminator on there. The load caused by the 50Ohm coax is negligible. I use an Arduino Uno to drive 5V trigger inputs of a few devices (function generator, spectrum analyzer) directly - no problems, except jitter of the Arduino (<100µs), which is acceptable for me. Slew rate is 1ns/V. I don't have short-circuit protection, but 150Ohm in series should do it. \$\endgroup\$ – Martin J.H. Apr 7 '15 at 18:35

You could use a MOSFET driver such as the TC4427 with a 47Ω series resistor. The resistor will sufficiently limit the power to protect the output.

Note that with a 50Ω output resistor the voltage on a high-impedance input will be double that on a 50Ω input.

What you really need depends on the device that takes the signal as input.

  • \$\begingroup\$ Thanks for pointing out the existence of MOSFET drivers. I'll definitely buy a few TC4427 and try them, they seem to be just like TTL Buffers/Line drivers with higher current ratings. I'm aware that 50 Ohm outputs cause double the voltage drop on HighZ loads, but this is what any user of my device should be expecting when it's specified as a 50 Ohm output :). \$\endgroup\$ – DerManu Jul 26 '14 at 21:36
  • \$\begingroup\$ Per ww1.microchip.com/downloads/en/DeviceDoc/21422D.pdf, figures 2-9 and 2-12, you should use a 35-ohm resistor, since the output resistance is 15 ohms at a 5-volt supply. However, note that the output resistance is specified at 10 mA output current, and probably rises with increasing current, so the optimal resistor value may be less when driving 50-ohm loads. \$\endgroup\$ – WhatRoughBeast Jul 26 '14 at 22:21
  • \$\begingroup\$ starblue / @WhatRoughBeast: I've implemented the trigger output with a MOSFET driver, as you suggested. I'm using the TC1410N, which should be able to deliver 500mA peak. I'm using a 12 Ohm series resistor, which should limit the short-circuit current to around 420mA. I have expected to get an amplitude of 5V*50Ohm/(50Ohm+12Ohm) = 4V on 50 Ohm devices, however, I measure only 2.4V on my 50-Ohm scope. Am I missing something? (Circuit: i59.tinypic.com/212tzr5.jpg) \$\endgroup\$ – DerManu Aug 26 '14 at 21:15
  • \$\begingroup\$ Continued: Taking into account the TC1410 output resistance of 22 Ohm (according to the datasheet, 16 is typical, 22 max.) I should be getting 3V. Now comes the question whether I should leave out the external 12 Ohm alltogether, and use the TC1410 internal output resistance as "short-circuit" proof. Would that work, or would it break the TC1410? \$\endgroup\$ – DerManu Aug 26 '14 at 21:22
  • \$\begingroup\$ @DerManu Did you end up solving this issue? I have recently been facing roughly the same question so I would be interested to find out how you finally solved things. \$\endgroup\$ – Kris Feb 16 '16 at 8:43

ETA - Regretfully, I have to declare what follows (pertaining to option 1) to be mistaken. Upon further thought, I have concluded that the basic approach does not meet the requirement for driving a 1 Mohm load, and cannot be made to do so. Those kind souls who upvoted me should probably reconsider.

With your requirements, this should be pretty straightforward.

1 - Option A. You can easily do this, but you need to use a PNP transistor, not an NPN.


simulate this circuit – Schematic created using CircuitLab

The one thing to watch out for is that this driver inverts the signal. Also, the input really ought to provide a high of 5 volts. If you like, you can reduce R2 a bit to increase the high level voltage, but the more you do this the greater the chance of accidentally destroying the transistor if you short the output to ground (this can happen easily if you are connecting it to its load while the output is active.)

ETA - I forgot to address the requirement that the circuit be able to drive a high impedance (1 Mohm) load. My bad. This can be done with a slightly non-standard approach to what TTL can drive.


simulate this circuit

This needs 6 volts to get 3 volts of output into 50 ohms, and will drive a high-impedance load to 6 volts, and will drive the high-impedance with little ringing using 50-ohm coax (since the output is now source-terminated to 50 ohms). If the 6 volts into 1 Meg is unacceptable, the 6 volt supply can be reduced to 5, but then the 50 ohm load will only go to about 2.4 volts. The added voltage at the TTL input should be safely limited by the combination of the base resistor and the diode. Almost all TTL will handle this gracefully.

Heh - Actually, this serves as a good example of how designs start simple and then get more and more complex.

Option 2 - That's easy. Just parallel the 4 devices in each package. The total current capacity becomes ~120 mA, which is plenty. This approach works because the 4 channels in a package are all pretty well matched in terms of behavior, and they are thermally connected, so one channel cannot get hotter than the others and start hogging. You could probably get away with using only 2 channels, thereby getting 2 signals worth of driver from a single package.

Option 3 - Sorry, your fears are justified, and it will be "difficult" for something like a ULN2003 to work as you want.

  • \$\begingroup\$ Please forgive my daring, but isn't the driver supposed to have output impedance of roughly 50 Ohm at all its operating points? ... EDIT: No, that's irrelevant. \$\endgroup\$ – Dzarda Jul 25 '14 at 21:00
  • 1
    \$\begingroup\$ Well, it's not quite irrelevant, and I'm glad you brought that up. For best results, it is true that having a matched source impedance is desired. In this case, using a 5 volt supply, a matched impedance limits the received high to 2.5 volts. In the PNP circuit, R2 could have been 50 ohms, but I accepted the deviation in source impedance as a tradeoff to get higher voltage swing. In practice, for logic signals, it won't matter. \$\endgroup\$ – WhatRoughBeast Jul 25 '14 at 22:26
  • \$\begingroup\$ @WhatRoughBeast Thanks for your answer it was quite enlightening. Regarding your edit which says that what you wrote is mistaken, do you mean your circuits for the transistor solutions, or also your comments to option 2? Why do you think your transistor design is wrong, the circuit simulator seems to say it works for both 50 Ohm and HighZ loads. Further: Why did you use a PNP instead of the proposed NPN design? (I'm not challenging your design, just want to learn.) \$\endgroup\$ – DerManu Jul 26 '14 at 21:28
  • 1
    \$\begingroup\$ Only option 1 is bad - I've edited to reflect that. Simulation for high impedance works fine - until you replace the 50 ohm load with a terminated 50-ohm delay line. Basically, the output is source-terminated for high drive, but not for low. PNP was chosen so that when the output is low there is no power dissipated in the drive circuit (and that is the root of the hi-Z impedance matching problem). With an NPN there would have been a low-value pullup which would have dissipated power when the output was low. 6 of one, half a dozen of the other. \$\endgroup\$ – WhatRoughBeast Jul 26 '14 at 22:12

This should do it:

V2 is your 5V logic source, R3 is your 50 ohm source impedance, R4 is your 50 ohm load, and the LTspice circuit list is here if you want to play with the circuit.

enter image description here

  • \$\begingroup\$ I would question your choice of FETs. The BSS84, for instance, has a maximum drain current of 130 mA. Driving 12 volts into 100 ohms will take 120 mA, and this is way too close for comfort. Furthermore, the OP specifically mentioned protecting against a hard short, and such a short will pull 240 mA, well over the FETs rating. Finally, you've made no provision for avoiding shoot-through. Granted, gate capacitance is low, but the low threshold voltage will work against you, as will the very low turn-on and turn-off times. \$\endgroup\$ – WhatRoughBeast Jul 26 '14 at 3:29
  • \$\begingroup\$ My last edit seems to have taken care of all of that. :-) \$\endgroup\$ – EM Fields Jul 26 '14 at 8:53
  • \$\begingroup\$ Well, yes. Except for a few small details. Like, now Q1 has to draw 1.2 amps, and is only rated for 1 amp, and the data sheet only shows performance numbers for a max of 500 mA. Like, assuming an hfe of 10 implies a base current of 120 mA, which is about the drive needed for 2.5 volts into 50 ohms - if you can do that, you don't need the entire rest of the circuit. Like, to get the base drive, you need V2 to be 40 volts, which seems a little excessive given the original goal of buffering a TTL signal. But it does answer my original objections :-) \$\endgroup\$ – WhatRoughBeast Jul 26 '14 at 10:39
  • \$\begingroup\$ 1. Q1's collector is pulled up to 12V through 100 ohms, which is 120 mA, not 1.2 amps. 2. Assume nothing; force the beta you want. For example, Q1, with a collector current of 120 mA and a base current of 12mA, is working with a forced beta of 10, as planned. 3. If there's 5V logic at the far end of the coax, then 2.5V could be less than its switching threshold so, a 5V supply is a little low to be using on the sending side. I chose to use a 12V supply, which the OP said was available, in order to get up to 6V from a 50 ohm voltage divider at the far end, if needed. 4. Huh? \$\endgroup\$ – EM Fields Jul 26 '14 at 11:44
  • \$\begingroup\$ Oops, sorry abut that. It was too early in the morning, and my brain was not fully functional yet. So, I was only off by a factor of 10. \$\endgroup\$ – WhatRoughBeast Jul 26 '14 at 13:10

The simplest way to do this is to use an NPN emitter follower with the collector connected to Vcc via a 10 ohm resistor(for protection), the base connected to your digital output, and the emitter directly connected to the BNC output (without any intervening resistor). The connection of a 50 ohm load via a 50 ohm cable will transmit TTL signals with good fidelity. In fact this idea (stolen from The Art of Electronics) is useful with signals down to about 2ns risetimes using 300 MHz transistors. For protection of the transistor's B-E junction against reverse voltage, an anti parallel diode can be used.

  • \$\begingroup\$ I love that book. Just had to say. \$\endgroup\$ – Wyatt8740 Apr 5 '16 at 5:39

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.