Category Archives: Transistor Circuits

Jim Williams, AN13, & Op Amp Wizardry

Not too long ago I was reading through one of Jim Williams’ famous App Notes, AN13, High Speed Comparator Techniques. It’s an older App Note that was published back in 1985 and I didn’t really have a specific reason for reading it other than thinking it looked interesting and I wanted to learn more about comparators. For a comprehensive overview of AN13 I recommend reading Dr. Lundberg’s (aka Dr. Analog) three part summary over on his blog Reading Jim Williams.

The first section of AN13 is extremely informative and makes the app note well worth the read in my opinion. Entitled “The Rouges Gallery of High Speed Comparator Problems” this portion of the app note highlights common pitfalls of comparator circuits including bypassing, ground planes, probe compensation, and much more. As useful as The Rouges Gallery is what intrigues me the most in AN13 doesn’t actually have anything to do with comparators and is found in the first circuit of the Applications Section. The overall circuit is a Voltage to Frequency Converter shown in Figure 16 of AN13 and reproduced below with the part that fascinates me most boxed in red.

What Jim Williams has done is replace the input stage of A1, the LT318A, with a pair of 2N4393 JFETs. These JFETs drive the output stage of A1 via the two Comp pins of the amplifier. A1’s true inputs are shutdown by shorting them directly to the -15V supply leaving the rest of the amplifier free to serve Williams’ needs for this particular application. According to page 8 of the app note this trick was done “for low bias, high-speed operation.”  Now I don’t have a whole lot of experience using op amps with Comp pins to begin with let alone understand their internal architecture enough to hack them like Jim did. As far as I knew something like this wasn’t even possible and it definitely wasn’t brought up in any of the classes I took in school! Needless to say, upon seeing it done here in AN13 I was a little stunned.

After my initial shock I decided to look at the LT318A a little more closely to try to see how Jim Williams had pulled off this neat little trick. Linear Tech is usually pretty good about providing schematics  of their op amps with a description in their datasheets and I was hoping this was the case with the 318. As it turns out, the LT318A datasheet is a bit sparse compared to other datasheets from Linear but fortunately for me it does contain a schematic of the part. Unfortunately for me, it doesn’t appear to be a simplified version and there isn’t a functional description. Looking at the schematic in detail I could tell this wasn’t the basic op-amp architecture I was used to dealing with but I decided to dive in anyways. I’ve copied the LT318A schematic here and marked it up into functional blocks as best as I’m able to but if anyone out there has more info on this op amp or sees somewhere that I went wrong please let me know.

From studying the datasheet schematic of the LT318A I was able to understand more of how Jim’s op amp hack works. Connecting the amps inputs on pins 2 and 3 to the negative rail turns off the differential amplifier, the heart of which are the input transistors Q1-Q4 with Q13 and Q14 being the active loads. As a side note there may be some common-mode feedback on the diff pair but I’m not 100% sure. Thinking about what was said in the app note I would have to assume using two JFETs in place of the input circuit on the op amp would lower bias requirements and cutting out all those transistors speeds up operation of the overall application circuit.

The output from the input differential stage is then fed into what I assume to be a second gain stage  (not sure what Q21 does, this may be a weird folded cascode configuration too). From Figure 16 in AN13, you can see that Jim Williams has the JFET input transistors driving pins 1 and 5 on the LT318A. Sure enough these two pins correspond to the output of the diff pair on the amplifier and feed directly into the second gain stage. Following the gain stage comes what appears to be a Class AB output stage.

I enjoyed this little exercise of trying to understand some of Jim Williams’ techniques. While I may not have exactly figured out how the LT318A works I feel I did understand the high-level thought process behind this neat little trick. I also saw that my BJT design skills are a little rusty and that perhaps I should dust off Gray & Meyer or Sedra-Smith and brush up on the topic. Who knows, there could be a revisit to this post in the future…

Any neat op amp hacks of your own? See a mistake in my analysis of the LT318A? Let me know in the comments. Oh, and Happy New Year!

Advertisements

Transistor Latching Circuits: Improvement

This journey began back in Part 1 with me discussing the theory behind the transistor latch used by Dino at Hack a Week back in August.  Next it progressed to recreating Dino’s circuit using components I had on hand in Part 2.  Originally, the circuit I built didn’t work at all and I was able to narrow the problem down to leakage current in the base of the transistors.  Knowing what I was up against finally, our story concludes as I set out to improve upon the latching circuit.

Figure 3: Transistor Latch Using FETs

Figure 3 shows my first method of improving the transistor latch, losing the BJTs all together.  Since the 2N3904s and 2N3906s were drawing too much leakage current in the first place and setting off the latch randomly I decide they had to go.  What type of transistor could I use instead of a BJT that draws little to no leakage current?  Why a MOSFET of course. The gate leakage current of the only FETs I had on hand, the ALD1103 transistor array, was spec’d between 1 and 50pA, orders of magnitude less than the BJTs used before.  Surely such a small current wouldn’t cause the latch to turn on when it wasn’t supposed to.  After breadboarding the revised circuit using the ALD1103 I found that the circuit was much more consistent in its operation.  The only real changes to the circuit I had to make were the addition of bypass caps on the supply (not shown above, sorry) and tweaking the value of R8 (boxed in blue above) to 39kΩ.  While the latch worked well enough keeping R8 at 1MΩ I found that lowering its value caused many less false triggers.

Now that I had a functioning latch finally I decided to challenge myself. I wanted to see if I could go back and make a working latch using the “inferior” BJTs.  There were a few ideas floating around in my head on how to go about doing such a thing and Figure 4 below gives my best solution.  Since the base leakage current from Q3 through the 1MΩ resistor was causing most, if not all, of my problems the first time around my focus was now to minimize the effect that leakage could have on the overall operation of the circuit.

Figure 4: Improved Latch Using BJTs

Looking at Figure 4, one can see that R8 has been replaced with a fourth BJT.  Q3 and Q4 (boxed in orange above) form what’s called a simple current mirror (or current source depending on how you want to look at things but I digress) with Q4 configured as a diode connected transistor.  Note that when adding the simple current mirror to the latch the diode connected transistor MUST be located where Q4 is in the circuit.  With the diode connection Q4 acts like a standard diode with its anode at 9V meaning that at least in this application, it always looks forward biased. Diode connecting Q3 instead gives a constant path for current to flow from 9V to ground (via diode connected Q3, R4, and R5) and so the circuit will never turn off.  In an IC this would mean that a start up circuit would be unnecessary (typically a good thing) but in the case of the latch that’s exactly the opposite of what we want.  Placing the diode connection on Q4 means that even though it looks forward biased, current doesn’t flow through that branch of the bias network since the collector of Q1 would float high as Q1 itself is turned off.

Powering up this new circuit showed great improvement over my previous attempts to build a latch using BJTs.  Most of the time the latch was only triggering when I toggled the pushbutton.  With the main leakage problem taken care of I then began to look at Q1.  Ignoring R6 for a moment, Q1 looked an awful lot like how Q3 was configured with the 1MΩ resistor back in Figure 1 which had me thinking about leakage through this transistor.  Reducing the resistance of R5 down to 56kΩ (via trial and error) further improved the circuit’s reliability and I hardly ever saw a false trigger when testing the circuit.  I briefly toyed with the idea of adding a current mirror to the bottom half of the bias network which would remove R5 and R6 and add a fifth transistor but decided against it as I wasn’t quite sure if I could maintain reliable operation by doing so.  Instead, I called it a day, happy that I had successfully challenged myself to build a better circuit.

As a final helpful hint to anyone looking to build this circuit, pay careful attention to how you layout the latch on your breadboard.  Keep your jumpers wires and component leads as short as possible to avoid accidental shorts and reduce any coupling between nodes that may take place. Even though my improved designs functioned much better than the original they still were sensitive to disturbances on their nodes.  While testing the circuit in Figure 4 I rarely, if ever, experienced false triggers when simply pressing the pushbutton after I applied power but probing a node with my multimeter would often be enough to trip the latch and have it turn on.  Other than that, good luck!


Transistor Latching Circuits: Initial Hardware Attempt

In the first part of what’s fast becoming a novel of a blog post I discussed some of the theory behind the transistor latch circuit demonstrated by Dino at Hack A Week back in August.  In this section I’ll discuss what happened when I first attempted to get the circuit working myself. 

Figure 1: Initial BJT Latch Circuit

Here’s a quick recap of what was covered so far about Figure 1:

~ Instead of the BC547 and BC557 BJTs used by Dino I had to use 2N3904s and 2N3906s because that’s all I have available.

~ When C1 is charged pressing the pushbutton switch will cause the LED to latch on.  Pressing the pushbutton when C1 is discharged turns the LED off.

~ The area in the yellow box can be views as a bias network similar to one that may be used on an IC.  It has two desired state of operation, off and on which is why it was chosen for a latching circuit.

~The rest of the circuit forms a start up/shut off circuit which is used to snap the bias network into either one of its two states of operation.

Immediately upon firing up the circuit once it was breadboarded I saw a problem.  The LED lit right away and pressing the switch did nothing to turn it on or off (though occasionally it would flicker).  Probing the circuit with my multimeter I discovered that something was causing the three transistors to turn on independently of whether or not the pushbutton was pressed.  All three VBE voltages (VEB technically for Q3) were sitting solidly at 0.7 V which was more than enough to turn them on.  Checking the voltage on C1 showed it to be in the low millivolt  range which could be expected since Q2 was turned on.

In order to check for an error on my part when wiring the circuit together I then broke it up into three separate networks and tested each one individually. Network 1 consisted of the start up circuitry Q2, R1, R2, R3, and C1 which on its own properly charged and discharged the cap when Q2’s base was tied low or high.  Networks 2 and 3 were each a single string of the bias network with the bases of each transistor kept floating for testing purposes.  The LED load and pushbutton were removed during these tests.  On their own, each section of the circuit worked as I expected it to and it was only when the entire circuit was wired together that something was going wrong.

Leafing through Chapter 4 of Gray and Meyer again I recalled that these types of bias networks operated as a positive feedback loop. Basically, all it takes is a small disturbance on one of its nodes to cause it to turn fully on. The addition of a start up circuit is merely insurance that the small disturbance occurs every time power is applied.  Okay, I thought, what could be disturbing a node so much that the circuit would self start?  Perhaps it was the way I was applying power, some initial surge of current?  I had a 9V battery with a snap connector from Radio Shack on it to connect the battery to my breadboard and was just plugging and unplugging the positive lead when I wanted the circuit on or off, maybe that was doing it?  I tried slapping a few 1µF bypass caps to the 9V rail to improve circuit by smoothing out any initial pulses. It didn’t work but proper bypassing is always good practice so I left the capacitors on the board anyways.

At this point I was getting stumped so I started going back over each piece of the circuit again looking for clues. Something was nagging me about Q3 and R8 (outlined in green in Figure 1) but I couldn’t quite place it.  Lifting the one end of R8 from the 9V rail caused the LED to turn off but as soon it was reconnected, the LED would instantly turn on.  Ah ha! Something I could work with.  I began to suspect leakage current at this point. My theory was perhaps the base of Q3 was pulling current from the battery through R8 even though the circuit was supposed to be off.  This would cause a voltage to be dropped across R8 which might turn Q3 on just enough for the circuit to drive itself out of the off state.  Making R8 smaller should help alleviate this problem, less resistance, less voltage drop, and Q3 is not turned on as much.  I tried various values of R8 between 1kΩ and 1MΩ before finding a sweet spot between 30kΩ and 50kΩ.  Less than 30kΩ and the circuit would never turn on, greater than 50kΩ and it would never turn off.  Even in the sweet spot however the circuit was finicky and would often refuse function properly.  I had improved things but I still wasn’t satisfied.

To further try to prove my theory I studied the datasheets of the BC557 and the 2N3906.   I was thinking that Dino’s transistors had to be drawing less base current than mine which would explain why most of the time his circuit was working and mine wasn’t.  Sure enough the 3906 was drawing just over 3 times as much current in the off state than the 557 (see Figure 2 below).  As far as I could tell, the increase in off-current for the 3906 was enough to barely turn on Q3 which would then cause the positive feedback of the bias network to drive the circuit fully on.  Feeling validated, I then set out to improve upon the circuit with the components I had available…

Figure 2: Off State Base Current Comparision


Transistor Latching Circuits: Theory

Back in August Dino published a latching circuit made from BJTs over at his blog Hack A Week.  In his video Dino made a comment or two on how the circuit was a little finicky and adding a capacitor from the +9 V rail to the output node seemed to help things though he didn’t understand why.  I took an interest in the circuit and spent some time prototyping and refining the design.  I did succeed in tweaking the circuit for the better but I never did figure out why Dino needed the extra cap in his build. During my tests I found no difference in performance by having the capacitor in place and so it’s labeled as an optional component in my schematics. Read on for my analysis on the transistor latch.

Figure 1: BJT Latch Circuit

Figure 1 displays my initial attempt to copy Dino’s latch circuit; I didn’t have any BC547 or BC557 BJTs on hand when breadboarding the circuit so I turned to the ever popular 2N3904 and 2N3906 instead.  Ignoring the two colored boxes for now let’s discuss how the circuit is supposed to operate.  When power is first applied all three of the transistors are off and the LED on the output is unlit as both it’s anode and cathode are at 9V (Q2 being off causes the output at it’s collector to rise to 9V through the two pull up resistors).  Capacitor C1 also begins to charge to 9V through the two 470kΩ resistors R1 and R2.  Toggling the pushbutton switch momentarily causes the voltage across R5 to be equal to that of C1 which causes Q1 to turn on.  Q1’s collector is then pulled low which pulls the base of Q3 low turning it on.  The LED, with its cathode now close to ground, turns on. Q3’s collector is now close to the supply voltage turning on Q2.  At this point the voltage at the R5-R6 node is high enough to keep Q1 turned on and the circuit “latches” keeping the LED on.  With Q2 turned on, C1 discharges through R2 and eventually sits at 0V.  Toggling the switch again pulls Q1’s base low turning it off and causing a domino effect around the loop, latching the circuit in the off state.

My first impression upon studying this circuit was that closely resembled a bias network that I had seen in my IC design classes at school and so I went to my stack of books to refresh myself.  Sure enough, in Chapter 4 of Gray and Meyer there were all sorts of circuits that were similar in form to the yellow boxed in section of Figure 1.  It was official, the yellow boxed in area is a form of bias network which would be used in IC design as a support circuit so to speak to develop a key voltage or current needed to bias a transistor along the signal path somewhere else on chip.

The rest of the components form what’s known as a start up circuit.  Bias circuits themselves tend to have two different operating points; one is the operating point set by the designer and the second is off.  When designing an IC, having it fail to turn on when power is applied is generally a bad thing.  Start up circuits are used to prevent this from happening by providing a temporary kick to one the nodes in the bias circuitry before shutting themselves off.  After this initial disturbance, the bias network turns itself full on via positive feedback found inherently in the bias loop itself.  In an actual IC the pushbutton switch and Q3 could be replaced with a single diode and C1 replaced with a string of diodes but that’s a post for another time.  The circuit in Figure 1 requires the user, through the form of the pushbutton, to provide the needed kick from the start up circuit to get the bias network of Q1, Q3, and associated resistors to the desired operating point, though I guess in this case it would be a start up, shut off circuit…

Well this post has certainly turned into a much longer article than I expected it to. I haven’t even begun to talk about the actual results I got in hardware. I guess I have a lot to say about the intricacies of transistor circuits.  Sorry, it’s kinda my thing.  I realize that I kind of glossed over how positive feedback affects the bias loop but the actual analysis is rather in-depth, complicated, and involves a lot small signal analysis (I don’t know if I fully understand more than the basics of it myself either).  Hopefully I’ve made my descriptions relatively clear, if not just let me know and I’ll attempt to fix them.  I’ll discuss the hardware results in a new post to break things up a bit.