{"id":396591,"date":"2024-06-29T12:55:50","date_gmt":"2024-06-29T12:55:50","guid":{"rendered":"http:\/\/savepearlharbor.com\/?p=396591"},"modified":"-0001-11-30T00:00:00","modified_gmt":"2024-06-29T12:55:50","slug":"","status":"publish","type":"post","link":"https:\/\/savepearlharbor.com\/?p=396591","title":{"rendered":"<span>Active Termination Drivers<\/span>"},"content":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/qa\/z7\/ad\/qaz7adraqnwvt-fmv_kc548dx7m.png\" data-src=\"https:\/\/habrastorage.org\/webt\/qa\/z7\/ad\/qaz7adraqnwvt-fmv_kc548dx7m.png\"\/><\/p>\n<p>  The easiest way to build a driver with specified output impedance is to use an amplifier with high load compatibility and add a resistor to its output. The penalty is a voltage drop across this resistor, so there is power loss and we need a higher supply voltage. If our driver is able to deliver the same voltage and current to the same load, but the extra resistor will have a lower value, our device will be able to deliver the same output power at a lower supply voltage. Less power losses, less heat, and longer working time when a battery is used.<br \/>  There is an idea how to solve this problem: active termination. We can synthesize the output impedance!<\/p>\n<p>  Now when we know what we want, go to design our drivers!<br \/>  <a name=\"habracut\"><\/a>  <\/p>\n<h2>Single-Ended Driver<\/h2>\n<p>  Maxim Integrated\u2019 engineers shared equations to design active termination single-ended drivers in [1]. The idea is to add positive feedback to reduce the output resistor value, use it to measure current, and synthesize the desired output impedance. As the result we have lower power losses. It is interesting that this circuit looks exactly as Improved Howland Current Pump! We just use another set of equations to get the desired behavior.<\/p>\n<p>  Let\u2019s design single-ended drivers with parameters: gain G is 1 when unloaded, output impedance Zout is 50\u00a0Ohm. It means that if we load our driver with 50\u00a0Ohm resistor, the output voltage drops by half and the gain is 0.5.<\/p>\n<h3>Inverting Active Termination Driver<\/h3>\n<p>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/q-\/fn\/yo\/q-fnyo4muvsuzm3kngy67zq6_jg.png\" alt=\"'Circuit Calcualator', Inverting Active Termination Driver\" data-src=\"https:\/\/habrastorage.org\/webt\/q-\/fn\/yo\/q-fnyo4muvsuzm3kngy67zq6_jg.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Inverting Active Termination Driver<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  Select <nobr>Ro = 22 Ohm<\/nobr>, which is much lower than 50\u00a0Ohm. Now we can choose either R1 or R2. Let\u2019s choose <nobr>R2 = 3 KOhm<\/nobr>.  <\/p>\n<pre>      Ro    22 Ohm K = \u2014\u2014\u2014\u2014 = \u2014\u2014\u2014\u2014\u2014\u2014 = 0.44     Zout   50 Ohm       R2     3 kOhm R1 = \u2014\u2014\u2014 = \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 = 6818 \u2248 6.8 K (E24)      K G   0.44 \u00d7 1 <\/pre>\n<p>  Now we need to choose R3, let\u2019s set it to 4.3\u00a0kOhm.  <\/p>\n<pre> R4 = R3 [(1 + K G)\/(1 \u2212 K) \u2212 1] = 4.3 KOhm \u00d7 [(1 + 0.44 \u00d7 1)\/(1 \u2212 0.44) \u2212 1] = 6757 \u2248 6.8 K (E24) <\/pre>\n<p>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/0t\/nt\/ze\/0tntzevt_u6d0wd9-dv4a2mpphw.png\" alt=\"'Circuit Calcualator', Inverting Active Termination Driver, Unloaded Gain = 1, Loaded Gain = 0.5, Zout = 50 Ohm\" data-src=\"https:\/\/habrastorage.org\/webt\/0t\/nt\/ze\/0tntzevt_u6d0wd9-dv4a2mpphw.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Inverting Active Termination Driver, Unloaded Gain = 1, Loaded Gain = 0.5, Zout = 50 Ohm<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  Enter the values into a simulator. The output voltage drops by half when 50\u00a0Ohm load is connected, so the circuit works exactly as expected.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/qc\/f1\/bm\/qcf1bmdkwqkusgicvssuzc0rpz8.png\" alt=\"Inverting Active Termination Driver, simulation\" data-src=\"https:\/\/habrastorage.org\/webt\/qc\/f1\/bm\/qcf1bmdkwqkusgicvssuzc0rpz8.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Inverting Active Termination Driver, simulation<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<h3>Why are we wasting our time and money?<\/h3>\n<p>  We had to do calculations and add 2 resistors. What are the benefits?<br \/>  Let\u2019s compare an inverting driver and inverting active termination driver with the same parameters.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/p7\/98\/-j\/p798-jbi8j0afzcbalz2m65s4ka.png\" alt=\"Common Driver Vs Inverting Active Termination Driver\" data-src=\"https:\/\/habrastorage.org\/webt\/p7\/98\/-j\/p798-jbi8j0afzcbalz2m65s4ka.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Inverting Driver Vs Inverting Active Termination Driver<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  The output voltages, green and yellow lines, are the same 0.5\u00a0Vpp. But the common driver output voltage is 1\u00a0Vpp, the cyan line, and the active termination driver output voltage is 0.72\u00a0Vpp, the purple line. So the power losses of the common driver are:  <\/p>\n<pre> P1 = Urms^2 \/ R = [\u221a2 \u00d7 (1 Vpp \u2212 0.5 Vpp)]^2 \/ 50 Ohm = 10 mW <\/pre>\n<p>  and for our active termination driver:  <\/p>\n<pre> P2 = Urms^2 \/ R = [\u221a2 \u00d7 (0.72 Vpp \u2212 0.5 Vpp)]^2 \/ 22 Ohm = 4.4 mW <\/pre>\n<p>  More than 2 times lower! And a lower supply voltage can be used.<br \/>  Obviously, the lower the Ro value, the lower the power losses.<br \/>  The Zout\/Ro ratio defines the R1\/R2 ratio and there is some output impedance of a used Op Amp. When the output is shorted to the ground, Ro acts as a protection. And the lower Ro value, the more the positive feedback must be, which can cause instability and distortions. So Ro should not be too low.<br \/>  Thus, the most used Zout\/Ro ratio in real circuits is about 2 and practical limit is about 10\u2026<\/p>\n<h3>Choosing R3 and R4<\/h3>\n<p>  We see that R3 and R4 are arbitrary values linked with the equation:  <\/p>\n<pre> R4 = R3 [(1 + K G) \/ (1 \u2212 K) \u2212 1] = R3 N <\/pre>\n<p>  So what values to choose?<br \/>  Maxim Integrates\u2019 engineers write in [1]:  <\/p>\n<blockquote><p>Ensure that the time constant of the negative feedback loop dominates the overall loop control.<br \/>  \u2026<br \/>  TC(\u2212) = Ccom (R1 || R2)<br \/>  TC(+) = Ccom (R3 || R4)<br \/>  Set TC(\u2212) &lt; TC(+)<\/p><\/blockquote>\n<p>  If we design two drivers with unloaded gain of 1 and 50 Ohm output impedance, take parameters from the OPA2134 datasheet, for example, we will see 2.2 dB peak at 2.8 MHz when <nobr>(R1||R2) > (R3||R4)<\/nobr>, the top circuit and green line on the chart.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/ve\/ac\/jh\/veacjhy25qjxqtd8niv5diqhss0.png\" alt=\"Inverting Active Termination Driver, 2 designs with an Op Amp model\" data-src=\"https:\/\/habrastorage.org\/webt\/ve\/ac\/jh\/veacjhy25qjxqtd8niv5diqhss0.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Inverting Active Termination Driver, simulation with an Op Amp model<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  Stability check shows that the phase margin is about 40\u00b0 for the top circuit and 84\u00b0 for the bottom circuit.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/_q\/v7\/ey\/_qv7ey5djk47zw9okydaogptv2y.png\" alt=\"Inverting Active Termination Driver, stability check\" data-src=\"https:\/\/habrastorage.org\/webt\/_q\/v7\/ey\/_qv7ey5djk47zw9okydaogptv2y.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Inverting Active Termination Driver, stability check<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  Of course, a capacitor can be added in parallel with R2 to increase the phase margin.<\/p>\n<p>  R3 and R4 are connected in parallel with a load, so it is the reason to have them not too low. On the other hand, there is resistor thermal noise, which can be important if we design a driver for some audio device, for example, so their values should be as low as possible.<br \/>  To solve this problem, a good start value for R3 is to be equal to R1.<\/p>\n<h3>Input Impedance of the Inverting Active Termination Driver<\/h3>\n<p>  The input impedance of the inverting active termination driver without a load is:  <\/p>\n<pre>                      R2 R3 Rin.unloaded = R1 \u2212 \u2014\u2014\u2014\u2014\u2014\u2014\u2014                     Ro + R4 <\/pre>\n<p>  and with a load is:  <\/p>\n<pre>                             R2 R3 Rload Rin.loaded = R1 \u2212 \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014                   (Ro + R4) Rload + (R4 + R3) Ro <\/pre>\n<p>  Thus, unlike the inverting amplifier, the input impedance of the drivver is less than R1 and depends on Rload. In our case Rin.unloaded \u2248 4.9\u00a0kOhm and Rin.loaded \u2248 5.7\u00a0kOhm with 50\u00a0Ohm load.<\/p>\n<p>  Pay attention that the output impedance of the previous stage can affect the driver parameters, though usually it is not a problem, because the output impedance is low.<\/p>\n<h3>Non-Inverting Active Termination Driver<\/h3>\n<p>  AN-3390 [1] says:  <\/p>\n<blockquote><p>Inverting only practical operation.<\/p><\/blockquote>\n<p>  Still we will try to design the non-inverting version of the driver.<\/p>\n<p>  It is the non-inverting amplifier, so we can design the non-inverting active termination driver only with a gain greater than 1. The equations are the same but we must subtract 1 from specified unloaded gain value or 0.5 from a loaded gain value. If we enter the same values as in the previous example, the gain will be 2 when the driver is unloaded.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/mm\/dg\/ca\/mmdgca757jzvylqfaownndiqw8o.png\" alt=\"Non-Inverting Active Termination Driver, simulation\" data-src=\"https:\/\/habrastorage.org\/webt\/mm\/dg\/ca\/mmdgca757jzvylqfaownndiqw8o.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Non-Inverting Active Termination Driver, simulation<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  Our simulation confirms that at the same component values <nobr>Gain = 2<\/nobr> when the driver is unloaded and 1 when loaded.<\/p>\n<h3>Input Impedance of the Non-Inverting Active Termination Driver<\/h3>\n<p>  The input impedance of the non-inverting active termination driver without a load is:  <\/p>\n<pre>                     R1 (Ro + R4) Rin.unloaded = R3 \u2212 \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014                          R2 <\/pre>\n<p>  and with a load is:  <\/p>\n<pre>                   R1 [(Ro + R4) Rload + R4 Ro] Rin.loaded = R3 \u2212 \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014                         R2 Rload \u2212 R1 Ro <\/pre>\n<p>  In our case Rin.unloaded \u2248 \u221211.16\u00a0kOhm and Rin.loaded \u2248 \u22128.3\u00a0MOhm with 50\u00a0Ohm load.<br \/>  Yes, it is negative! It means that the current flows from the driver input, so the previous stage must be able to sink this current.<\/p>\n<h2>Fully Differential Active Termination Driver<\/h2>\n<p>  A fully differential version of the driver is described in [2], Chapter\u00a016.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/bd\/xr\/z0\/bdxrz0mvxqkx5jfmhy5ixdse0jo.png\" alt=\"'Circuit Calculator', Fully Differential Active Termination Driver\" data-src=\"https:\/\/habrastorage.org\/webt\/bd\/xr\/z0\/bdxrz0mvxqkx5jfmhy5ixdse0jo.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Fully Differential Active Termination Driver<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  Let\u2019s design a driver with the same parameters: gain is 1 when unloaded, output impedance Zout is 50\u00a0Ohm.<br \/>  Select <nobr>Ro = 16 Ohm<\/nobr>, <nobr>R2 = 3 KOhm<\/nobr>.  <\/p>\n<pre>         R2          3 kOhm R3 = \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 = \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 = 8.333 \u2248 8.2 K (E24)          2 Ro       2 \u00d7 16 Ohm      1 \u2212 \u2014\u2014\u2014\u2014   1 \u2212 \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014          Zout         50 Ohm <\/pre>\n<p>  <\/p>\n<pre>                 2 Zout R2 R3                           2 \u00d7 50 \u00d7 3000 \u00d7 8200 R1 = \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 = \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 = 4701 \u2248 4.7 K (E24)      G [2 Ro R3 + Zout (R3 + Ro \u2212 R2)]   1 \u00d7 [2 \u00d7 16 \u00d7 8200 + 50 \u00d7 (8200 + 16 \u2212 3000)] <\/pre>\n<p>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/z5\/zl\/ty\/z5zlty7vpbiubzcbwo9-yncr8me.png\" alt=\"'Circuit Calculator', Fully Differential Active Termination Driver, Unloaded Gain = 1, Loaded Gain = 0.5, Zout = 50 Ohm\" data-src=\"https:\/\/habrastorage.org\/webt\/z5\/zl\/ty\/z5zlty7vpbiubzcbwo9-yncr8me.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Fully Differential Active Termination Driver, Unloaded Gain = 1, Loaded Gain = 0.5, Zout = 50 Ohm<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  <\/p>\n<h2>Differential Active Termination Driver<\/h2>\n<p>  Another variant is used in ADSL modems and described in [3], for example. Since it is a modified differential amplifier, there is limitation for minimum gain.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/r7\/zw\/lz\/r7zwlznuubjbydipupsea7suyd8.png\" alt=\"'Circuit Calculator', Differential Active Termination Driver\" data-src=\"https:\/\/habrastorage.org\/webt\/r7\/zw\/lz\/r7zwlznuubjbydipupsea7suyd8.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Differential Active Termination Driver<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  Let\u2019s design a driver with parameters: gain is 2 when unloaded, output impedance Zout is 50\u00a0Ohm.<br \/>  Select <nobr>Ro = 20 Ohm<\/nobr>, <nobr>R2 = 910 Ohm<\/nobr>.  <\/p>\n<pre>         R2          910 Ohm R3 = \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 = \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 = 4550 \u2248 4.7 K (E24)          2 Ro       2 \u00d7 20 Ohm      1 \u2212 \u2014\u2014\u2014\u2014   1 \u2212 \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014          Zout         50 Ohm <\/pre>\n<p>  <\/p>\n<pre>                            2 R2 R3                                                    2 \u00d7 910 \u00d7 4700 R1 = \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 = \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 = 4320 \u2248 4.3 K (E24)      Ro \u2212 R2 \u2212 R3 + G (Ro + R3 \u2212 R2 + 2 R3 Ro \/ Zout) \/ 2   20 \u2212 910 \u2212 4700 + 2 \u00d7 (20 + 4700 \u2212 910 + 2 \u00d7 4700 \u00d7 20 \/ 50) \/ 2 <\/pre>\n<p>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/an\/en\/nu\/anennucpkyr6ljeibc7mkpcnmni.png\" alt=\"'Circuit Calculator', Differential Active Termination Driver, Unloaded Gain = 2, Loaded Gain = 1, Zout = 50 Ohm\" data-src=\"https:\/\/habrastorage.org\/webt\/an\/en\/nu\/anennucpkyr6ljeibc7mkpcnmni.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Differential Active Termination Driver, Unloaded Gain = 2, Loaded Gain = 1, Zout = 50 Ohm<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  The differential input impedance is constant, 2\u00d7R1.<\/p>\n<h2>Balanced Driver or Floating Differential Output<\/h2>\n<p>  There is the problem with differential drivers described above: if one of their outputs is loaded to the ground, the other output voltage will not change, so the differential output voltage will be lower. But what if we want to have a constant differential voltage, as if it were a transformer?<\/p>\n<p>  We would like:  <\/p>\n<ul>\n<li>Both outputs have the same output voltage with opposite phase;<\/li>\n<li>When one output is loaded to the ground, the opposite output increases output voltage, so the differential output voltage remains the same;<\/li>\n<\/ul>\n<h3>Single-Ended Input Balanced Driver<\/h3>\n<p>  There are ready-made drivers: SSM2142, DRV134, DRV135, THAT1606, THAT1646.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/og\/ln\/3d\/ogln3doqti7w2mi6clw1bmjf-os.png\" alt=\"Balanced Line Drivers\" data-src=\"https:\/\/habrastorage.org\/webt\/og\/ln\/3d\/ogln3doqti7w2mi6clw1bmjf-os.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Balanced Line Drivers<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  They are pin-to-pin compatible, easy in use, but there are drawbacks too:  <\/p>\n<ul>\n<li>Supply voltage is from \u00b14.5V to \u00b118V;<\/li>\n<li>Output impedance is fixed to 50\u00a0\u03a9;<\/li>\n<li>Limited bandwidth;<\/li>\n<\/ul>\n<p>  So if we need a driver with lower or higher output impedance or supply voltages, or higher bandwidth, we have to design our own driver.<\/p>\n<p>  We find such a driver initially in HP 8903A Audio Analyzer. The idea of its output circuit was published in [4] in 1980. There is a mistake in the circuit, U2\u2019 inputs must be exchanged.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/29\/bj\/ol\/29bjoluwfkqcmag1vx2js8cn-0m.png\" alt=\"HP 8903, Output Driver, Idea\" data-src=\"https:\/\/habrastorage.org\/webt\/29\/bj\/ol\/29bjoluwfkqcmag1vx2js8cn-0m.png\"\/><\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  The author\u2019s recommendation:  <\/p>\n<pre> R2\/R1 = R12\/R11, R3 = R7, R6 = R10, R4 = R5 = R8 = R9 R2\/R1 = (2R6 + R4) \/ 2R3 <\/pre>\n<p>  There is a service manual of this device on the Internet, so we can get exact values and see how it worked. According to [4] the parameters are: the gain is 1.125, the output impedance of the driver is 480\u00a0Ohm, so 120\u00a0Ohm resistor is added to have the output impedance of 600\u00a0Ohm.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/dz\/fz\/po\/dzfzpou-2if0axyffovjsyrnjgw.png\" alt=\"HP-8903A Audio Analyzer, output driver\" data-src=\"https:\/\/habrastorage.org\/webt\/dz\/fz\/po\/dzfzpou-2if0axyffovjsyrnjgw.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">HP-8903A Audio Analyzer, output driver<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/kh\/e6\/bb\/khe6bbnpvsvroo4vsaksuuwhwmq.png\" alt=\"HP-8903A, output driver, simulation\" data-src=\"https:\/\/habrastorage.org\/webt\/kh\/e6\/bb\/khe6bbnpvsvroo4vsaksuuwhwmq.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">HP-8903A, output driver, simulation<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  Our simulation shows that the driver has 600\u00a0Ohm floating differential output. If we load one output to ground even with 1\u00a0GOhm resistor, the output goes down like a transformer. But its outputs do not have signals with equal levels and opposite phases how we could wait.<\/p>\n<p>  The next version of the driver we find in 1995 in dbx168a [5] and in 1996 in dbx740X [6].  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/dy\/yx\/sh\/dyyxshlpvrv3noj2mvgsfrf2q88.png\" alt=\"dbx168a, dbx740X output driver\" data-src=\"https:\/\/habrastorage.org\/webt\/dy\/yx\/sh\/dyyxshlpvrv3noj2mvgsfrf2q88.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">dbx168a, dbx740X output driver<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  Simulation shows that this driver is balanced perfectly. dbx\u2019 engineers solved problems by changing resistor values, adding DC servo and load resistors. The gain is about 1.5, the output impedance is about 30\u00a0Ohm.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/b8\/jx\/-n\/b8jx-nu0xnotkt0f_ptlg-9nwme.png\" alt=\"dbx168a, dbx740X output driver\" data-src=\"https:\/\/habrastorage.org\/webt\/b8\/jx\/-n\/b8jx-nu0xnotkt0f_ptlg-9nwme.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">dbx168a, dbx740X output driver<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  We find a new version in Behringer devices starting from about 2000 (sorry, I do not remember where I got it and you can find it in different devices).  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/bd\/8u\/cp\/bd8ucpcxqpido6cts3zyetg0axw.png\" alt=\"Behringer, output driver\" data-src=\"https:\/\/habrastorage.org\/webt\/bd\/8u\/cp\/bd8ucpcxqpido6cts3zyetg0axw.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Behringer, output driver<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  Using a simulator we see that the unloaded gain is about 1, the output impedance is about 100\u00a0Ohm.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/br\/cg\/dm\/brcgdmen0nyc4rjlvf4aay80d3s.png\" alt=\"Behringer, output driver, simulation\" data-src=\"https:\/\/habrastorage.org\/webt\/br\/cg\/dm\/brcgdmen0nyc4rjlvf4aay80d3s.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Behringer, output driver, simulation<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  Now the driver works without an extra Op Amp and has good balance. So the problems were finally solved.<\/p>\n<p>  So, how does the driver work and how to design it if we want to change its parameters?<\/p>\n<p>  Of course, you have already realized that it is the inverting and non-inverting single-ended active termination drivers compiled in one driver.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/nr\/ik\/lk\/nriklkav9zjy0h24_totptsu6dm.png\" alt=\"Balanced Driver with Single-Ended Input, Idea\" data-src=\"https:\/\/habrastorage.org\/webt\/nr\/ik\/lk\/nriklkav9zjy0h24_totptsu6dm.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Balanced Driver with Single-Ended Input, Idea<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  We have seen earlier that it is not so easy to make a working driver using this circuit. It is because both legs are not equal.<\/p>\n<p>  The algorithm to design the balanced driver is:  <\/p>\n<ul>\n<li>Calculate the Inverting and Non-Inverting Active Termination Driver with twice of specified gain and <nobr>Ro = Zout \/ 2<\/nobr>;<\/li>\n<li>Set (R3\u00a0=\u00a0R5) = (2\u00a0R3 of the Inverting Driver) and (R6\u00a0=\u00a0R8) = (2\u00a0R1 of the Non-Inverting Driver);<\/li>\n<li>Vary R3, R4, R5, R6, R7, R8 to get specified gain when unloaded and a half of the gain when loaded at the load equals to its output impedance; Then verify that both output voltages are almost equal;<\/li>\n<li>If you are not able to get the desired result, change Ro and start again;<\/li>\n<\/ul>\n<p>  Keeping in mind that (R3\u00a0||\u00a0R5) \u2248 (R3 of the Inverting Driver) and (R8\u00a0||\u00a0R6) \u2248 (R1 of the Non-Inverting Driver) you can do it manually using a simulator intuitively in about an hour varying resistor values. And if you set (R3\u00a0||\u00a0R4\u00a0||\u00a0R5) &lt;&lt; (R1\u00a0||\u00a0R2) and (R6\u00a0||\u00a0R7\u00a0||\u00a0R8) &lt;&lt; (R9\u00a0||\u00a0R10), you will get the result faster (how you could see, HP\u2019s and Behringer\u2019 engineers did it).<\/p>\n<p>  Of course, a computer will do it much faster and better. Several variants can be computed to choose the best one.<\/p>\n<p>  <b>Important note!<\/b> This circuit is very sensitive to the resistor values, so it is better to use 0.1% resistors.<\/p>\n<h3>Differential Input Balanced Driver<\/h3>\n<p>  Another idea of this driver is to use two similar drivers. But in this case we have differential input, so if we need single-ended input, an extra Op Amp must be added.  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/gy\/sn\/4e\/gysn4eezy7hrh9nfqw0bvejzkjs.png\" alt=\"Balanced Driver with Differential Input, Idea\" data-src=\"https:\/\/habrastorage.org\/webt\/gy\/sn\/4e\/gysn4eezy7hrh9nfqw0bvejzkjs.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Balanced Driver with Differential Input, Idea<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  Let\u2019s design a balanced driver with the parameters: gain G is 1 when unloaded, output impedance Zout is 50\u00a0Ohm. The equations are the same as for Inverting Active Termination Driver, but we need to change the gain and split R3\u2019 into R3 and R5.<br \/>  Select <nobr>Ro = 18.7 Ohm<\/nobr> and <nobr>R2 = 4.42 KOhm<\/nobr>.  <\/p>\n<pre>      Ro    18.7 Ohm K = \u2014\u2014\u2014\u2014 = \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 = 0.374     Zout    50 Ohm               R2      4.42 kOhm R1 = R3' = \u2014\u2014\u2014\u2014\u2014 = \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 = 5909 \u2248 5.9 K (E48)            2 K G   2 \u00d7 0.374 \u00d7 1  R4 = R3' [(1 + 2 K G)\/(1 \u2212 K) \u2212 1] = 5900 \u00d7 [(1 + 2 \u00d7 0.374 \u00d7 1)\/(1 \u2212 0.374) \u2212 1] = 10574 \u2248 10.5 K (E48)  R5 = R3' (1 + 2 G) = 5900 \u00d7 (1 + 2 \u00d7 1) = 17800 \u2248 17.8 K (E48)       R3' R5    5900 \u00d7 17800 R3 = \u2014\u2014\u2014\u2014\u2014\u2014\u2014 = \u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014\u2014 = 8825 \u2248 8.66 K (E48)      R5 \u2212 R3'  17800 \u2212 5900 <\/pre>\n<p>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/7u\/vq\/3e\/7uvq3ejq4pdnovmohzytbpfopc0.png\" alt=\"Balanced Driver with Differential Input, circuit\" data-src=\"https:\/\/habrastorage.org\/webt\/7u\/vq\/3e\/7uvq3ejq4pdnovmohzytbpfopc0.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Balanced Driver with Differential Input, circuit<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  <\/p>\n<div class=\"scrollable-table\">\n<table>\n<tr>\n<td align=\"center\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/6o\/jk\/nz\/6ojknzrnuqs9feocm_df6yuyvdo.png\" alt=\"Balanced Driver with Differential Input, simulation\" data-src=\"https:\/\/habrastorage.org\/webt\/6o\/jk\/nz\/6ojknzrnuqs9feocm_df6yuyvdo.png\"\/><\/td>\n<\/tr>\n<tr>\n<td align=\"center\">Balanced Driver with Differential Input, simulation<\/td>\n<\/tr>\n<\/table>\n<\/div>\n<p>  The circuit works, but if the driver must have single-ended input, an extra circuit is needed.<\/p>\n<p>  This circuit is also sensitive to the resistor values, so it is better to use 0.1% resistors.<\/p>\n<p>  A bias can be added using some reference voltage at R3, but to make circuit output voltage DC stable, a DC servo is needed like in dbx\u2019 circuits.<\/p>\n<h2>Conclusion<\/h2>\n<p>  Using active termination we can synthesize the output impedance and make our circuits more efficient, greener. Price for it is complexity and careful design.<\/p>\n<h2>References<\/h2>\n<p>  <\/p>\n<ol>\n<li><a href=\"https:\/\/pdfserv.maximintegrated.com\/en\/an\/AN3390.pdf\" rel=\"nofollow noopener noreferrer\">Maxim Integrated, Application Note 3390, Reduced Termination Loss by Active Synthesis of Output Impedance.<\/a><\/li>\n<li><a href=\"http:\/\/www.ti.com\/litv\/pdf\/sloa054e\" rel=\"nofollow noopener noreferrer\">TI, \u201cFully-Differential Amplifiers\u201d<\/a>.<\/li>\n<li><a href=\"http:\/\/www.ti.com\/lit\/an\/slyt108\/slyt108.pdf\" rel=\"nofollow noopener noreferrer\">TI, \u201cActive output impedance for ADSL line drivers\u201d<\/a>.<\/li>\n<li><a href=\"https:\/\/www.hpl.hp.com\/hpjournal\/pdfs\/IssuePDFs\/1980-08.pdf\" rel=\"nofollow noopener noreferrer\">Hewlett-Packard Journal, August 1980, p. 12, \u201cFloating a Source Output\u201d by George D. Pontis<\/a>.<\/li>\n<li><a href=\"https:\/\/dbxpro.com\/en\/products\/168a\" rel=\"nofollow noopener noreferrer\">dbx168a, Service Manual<\/a>.<\/li>\n<li><a href=\"http:\/\/dbxpro.com\/en\/downloads\/en\/schematic\" rel=\"nofollow noopener noreferrer\">dbx740X, Service Manual<\/a>.<\/li>\n<li><a href=\"https:\/\/sidelinesoft.com\/ic\/\" rel=\"nofollow noopener noreferrer\">\u00abidealCircuit\u00bb, a simulator<\/a>.<\/li>\n<li><a href=\"https:\/\/play.google.com\/store\/apps\/details?id=com.vdv.circuitcalculator\" rel=\"nofollow noopener noreferrer\">\u00abCircuit Calculator\u00bb, an electronics circuit design tool for Android<\/a>.<\/li>\n<\/ol>\n<\/div>\n<\/div>\n<\/div>\n<p><!----><!----><\/div>\n<p><!----><!----><br \/> \u0441\u0441\u044b\u043b\u043a\u0430 \u043d\u0430 \u043e\u0440\u0438\u0433\u0438\u043d\u0430\u043b \u0441\u0442\u0430\u0442\u044c\u0438 <a href=\"https:\/\/habr.com\/ru\/articles\/523896\/\"> https:\/\/habr.com\/ru\/articles\/523896\/<\/a><\/p>\n","protected":false},"excerpt":{"rendered":"<div><!--[--><!--]--><\/div>\n<div id=\"post-content-body\">\n<div>\n<div class=\"article-formatted-body article-formatted-body article-formatted-body_version-1\">\n<div xmlns=\"http:\/\/www.w3.org\/1999\/xhtml\"><img decoding=\"async\" src=\"https:\/\/habrastorage.org\/r\/w1560\/webt\/qa\/z7\/ad\/qaz7adraqnwvt-fmv_kc548dx7m.png\" data-src=\"https:\/\/habrastorage.org\/webt\/qa\/z7\/ad\/qaz7adraqnwvt-fmv_kc548dx7m.png\"\/><\/p>\n<p>  The easiest way to build a driver with specified output impedance is to use an amplifier with high load compatibility and add a resistor to its output. The penalty is a voltage drop across this resistor, so there is power loss and we need a higher supply voltage. If our driver is able to deliver the same voltage and current to the same load, but the extra resistor will have a lower value, our device will be able to deliver the same output power at a lower supply voltage. Less power losses, less heat, and longer working time when a battery is used.<br \/>  There is an idea how to solve this problem: active termination. We can synthesize the output impedance!<\/p>\n<p>  Now when we know what we want, go to design our drivers!  <\/p>\n","protected":false},"author":1,"featured_media":0,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"footnotes":""},"categories":[],"tags":[],"class_list":["post-396591","post","type-post","status-publish","format-standard","hentry"],"_links":{"self":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/396591","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/users\/1"}],"replies":[{"embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcomments&post=396591"}],"version-history":[{"count":0,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=\/wp\/v2\/posts\/396591\/revisions"}],"wp:attachment":[{"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fmedia&parent=396591"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Fcategories&post=396591"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/savepearlharbor.com\/index.php?rest_route=%2Fwp%2Fv2%2Ftags&post=396591"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}