06/12/2020 at 12:33 •
Out of curiosity I tried replacing the base resistor in my 5-stage ring oscillator with a red LED. Why would I do that? Well, first of all the footprint of the LED and resistor exactly matched on the PCB. So why not?
There was a bit more rationale behind this, though: The LED will increase switching voltage and should improve noise margin, similar to what I did with "LTL". Since LEDs have a non-negligible internal capacitance, I was also hoping that the LED would act in a similar way as the reach-through capacitors in parallel to the base resistor, as I tried earlier.
What started as a quick experiment turned into quite a curious feat, as you will notice later.
PMBT2369 based RINGO5
Results for a voltage sweep of the PMBT2369 based ring-oscillator are shown above in green, in comparison with previous results. Two things are apparent:
- Oscillations are only observed at a much higher operating voltage of ~2.2V instead of 1V for the others devices.
- The frequency is continuously rising with the voltage, no maximum is visible within the voltage range.
An increased operating voltage is expected since the additional voltage drop over the LED increases the turn on voltage of each inverter. The larger swing of the logic levels also leads to a reduction of propagation delay and hence oscillator frequency.
The absence of a frequency maximum and the higer maximum frequency compared to the normal ring oscillator without reach-through capacitor (orange) suggest that the LED capacitance does indeed act in a similar way as the parallel capacitor.
It seems that both initial assumptions have been confirmed. Does it mean that RTL with LED-instead-of base-resistor is the way to go? Probably not, as there will be serious issues with device matching when multiple gates are connected in parallel due to variation of LED forward voltage and transistor VBE. This is addressed in the LTL gate, however.
PMBT3904 based RINGO5 with LED instead of base resistor
Ok, let's repeat the same experiment with the "standard" switching transistor PMBT3904.
The plot above shows the ring oscillator frequency when sweeping the voltage up to 7V and then down again. There were quite a few surprises. First, the maximum frequency is above 50MHz, far above anything I had measured with the PMBT3904 before. Then, and this is even more suprising, above 5 V the frequency suddely drops to a very low value below 0.5 MHz - 100 times lower. When the voltage is lowered to below ~3.5 V, the frequency increases again.
The low frequency region is shown in more detail in the figure above.
It is clear that the frequency shows a hysteretic behavior in respect to the voltage sweep. This means that the circuit has two stable operating points between 3.5 V and 5 V - one at low oscillating frequency and one at high frequency. Some waveforms details are shown below.
Waveform of the high frequency oscalliating mode.
Waveform of the low frequency oscillating mode. You can clearly see fully saturated switching.
Waveform in the high frequency operating point close to the switching point. One can see that several frequencies are superimposed and the oscilation gets instable.
This result is quite weird. In one mode, the oscillator is much faster than any PMBT3904 based oscillator i built before, in the other mode it is incredibly slow. What is the exact mechanism behind the metastability? Can it be used for something?
I set up a Spice model in LTSpice to understand better what is going on. See below for the schematics. One big source of inaccuracy is the LED model itself. I took a model for a similar LED from the OSRAM OS homepage and modified it to fit the LED I used (some noname 0603 SMD LED). However, I am certain that there are lots of inaccuracies. I doubt there are many spice model for LEDs out there that exactly model transient behavior.
For this circuit, the most relevant parameter in the LEDs seemed to be the junction capacitance Cj, hence I modified this throughout my investigation.
I set up the model as a transient simulation that sweeps VDD. You can see the result above. The upper pane shows the voltage at the input and output of one of the inverters withing the ring oscaillator. The lower panel shows the supply voltage over time.
The metastable behavior is also reproduced in Spice. There is a clear distinction between fast and slow oscillating mode and the transition voltages between these depend on sweep direction.
Looking at the detailed input-output relationship of the inverter already shows some differences: When the input goes hi, the output is immediately pulled to low, both in fast and slow oscillation mode. Things are quite different for that falling edge of the input signal: In slow mode, that output rises with a delay of almost 1µs, while it almost immediately risis in fast oscillation mode.
This suggest that the slow oscillation mode is dominated by base saturation charge storage time, while this is somehow eliminated for the fast mode. Please note that also in the fast mode, there is full saturation switching going in, the transistor is fully turned on and off as can be seeen from the voltage swing.
Looking at the base potential and current suggests the reason for the much faster switching in fast mode: A falling edge on the input is fed directly via the capacitance of the LED to the base and pushes it to deeply negative bias. Since the VF of the LED is quite high, no current will flow through the LED to compensate for the negative bias at the base. The negative bias at the base helps to significantly speed up saturation charge removal and therefore switching off of the transistor. This is also evident from the base current.
This is not the case for the slow oscillation. An addtion, the positive base current is much higher for slow oscillation, which means that even more saturation charge is build up.
These results seem to explain the bahavior from a phenomenological point of view. It is not quite clear, however, what compels the circuit to switch into one mode or another? One reason could be that the fast oscillating mode needs a high frequency input signal to avoid build up of too much saturation charge and for the negative overdrive to work. Since the circuit is circular, this operational mode is self sustaining.
As an interesting addendum: One critical factor for the behavior of the oscillator is the junction capacitance of the LED. I assumed a junction capacitance of 40pF for the simulations above, which may be on the high side for a 0603 SMd LED.
A smaller junction capacitance increases the frequency of the fast oscillation, while a larger does decrease it. Furthermore, a larger capacitance improves the stability region of the fast oscillation mode.
When reducing Cj to 6 pF (first panel above) or 4 pF (second panel), a notable region of instability with several frequency components is observed close to the transition, similar to what I observed in the actual circuit. This behavior appears to be unpredictable and could point to chaotic behavior of the system, as observed, for example, in the van der pol oscillator. Varying the junction capacitance to other values has somewhat unpredictable results. It is not quite clear to me, what the governing parameters of this system are. More simulations would be needed.
Using a LED instead of a base resistors help increasing the switching threshold and had a speed-up effect on the ring oscillator for the PMBT2369 and the PMBT3904. It was, however, observed that the PMBT3904 ring oscillator had two or more metastable operating conditions that are interesting, but not completely understood, and could introduce instability into any circuit using this approach. This would be especially relevant of the input signal is not well controlled. Using a LED instead of a bases resistor is therefore not really recommendable.
The PMBT3904 ring oscillator exhibits a region of instability that may point to chaotic behavior, the underlying effects are not understood so far.
Addendum - Trajectory Plots
I used the X-Y functionality of my oscilloscope to plot the trajectories at different supply voltages to test the hypothesis that the ring oscillator is not only metastable, but also a chaotic system, as also suggested on µC.net by Andreas.
The test setup is shown above, for the sake of completeness. I tapped into two output nodes that were spaced two inverters apart. Assuming that the phase delay through the entire ring oscillator is 180°, we shold observe a phase shift of 2*180°/5=72°, which means that we shold see a slightly elliptic circle if the oscillator generated a pure sine. In the investigations above, I connected the oscilloscope via an output buffer (rightmost inverter on the PCB) to create a constant loading.
Since I needed to tap two places in this case, I have to directly probe the oscillator. The additional capacitive loading of the two probes on the ring oscillator led to a shift of the transition voltage from high to low frequency mode to above 7V. The general characteristics of the setup remained the same, though.
The plot above shows trajectories from 2 V to 5 V supply voltage in steps of 100 mV overlaid. In this range, the oscillator shows stable operation with limited noise. The shape of the trajectory changes due to a change in rise- and fall-times with voltage and due to smoothing caused by the limited bandwidth of the oscilloscope.
Things start to get interesting at 5.3V. Here we can see that the oscillation becomes instable, looking like noise is overlaid. However, at 5.7 V and 6.1 V we can see two stable complex trajectories that suggest the presence of limit cycles. 6.2 V is unstable again, 6.5 V shows a drastically changed trajectory.
Again, clear limit cycles at 6.8 V, 7.1 V and 7.3 V. At 7.5 V the oscillator finally switches to the low frequency mode.
All in all, even though I am not an expert for nonlinear systems, this looks very much like a chaotic oscillator to me.
There are many other chaotic circuit out there, like Chuas circuit. Typically nonlinearity is introduced by a nonlinear resistive element, like a diode. What seems intriguing about the ring oscillator investigated here, is that it appears to introduce a nonlinear timing element in form of the base saturation charge.
05/04/2020 at 21:46 •
So, we established that the PMBT2369 is the fastest saturation-switching transistor available today and that it achieves a minimum propagation delay of 3.5 ns at a bias current level of 10 mA. How can we go further from there? Obviously, more brute forcing by changing resistor values and increasing currents is not the way to go. Alternatively we can add components to the basic RTL gate.
There are two approaches: Adding a reach-through capacitor in parallel to the base resistor and adding a baker clamp.
The panel above shows circuits of both options individually and in combination including the resulting waveformt of the ring oscillator.
The reach through cap basically shorts the base resistor for high frequency components of the input signal; the rising and falling edge. For the critical case of a falling edge of the input signal it will lead to negative biasing of the base, which will help to remove the saturation charge. You can see above, that it even leads to a negative spike of the output signal due to coupling to the collector.
The baker clamp prevents saturation of the transistor by shorting the base with the collector if the base potential is too high. The choice of the diode is quite critical here: A schottky diode is needed to minimize forward voltage and the capacitance needs to be lower than CBC of the transistor to avoid excessive miller capacitance that could limit the turn-on time. Since the baker clamp shorts the base to the collector, also the low voltage level is increased to about 0.4V. Therefore, noise margin is drastically reduced for this solution, something that is not preferrable considering the already low noise margin of RTL.
Spice simulation of the ring oscillator at a supply of 5V shows that both options improve switching speed and the combination of both measures is cumulative. All options use a 180 Ohm base resistor.
The reach through cap works best, when the voltage drop across the base resistor is high, because this leads to a stronger negative overdrive of the base. This condition is optimizated when Rb is large compared to Rc, as is evident for the strong increase in frequency for lower collector resistance in the plot above.
Due to lack of suitable schottky diodes I was only able to test the reach-through cap in real hardware.
Comparing an RTL oscillator with and without reach-through cap reveals quite dramatic differences. The yellow and blue graphs above are from an oscillator with the same Rb and Rc. The blue one has a 68 pF reach-through cap added in parallel. Due to negative base overdrive, no local maximum of switching speed is observed anymore and the oscillator frequency continues to rise for higher supply voltage/current.
A scope trace shows that, despite the high frequency, there is still fully saturated switching. The signals looks a bit smoothed, which may be caused by bandwidth limitations of my probe and the scope (100 MHz):
05/04/2020 at 21:29 •
To speed up the propagation time of the inverters in the ring-oscillator further, I built up samples with smaller base and collector resistors.
Rb Rc Sample 1 360 Ohm 2.4 kOhm Sample 2 180 Ohm 1.8 kOhm Sample 3 180 Ohm 470 Ohm
04/25/2020 at 16:32 •
In parallel to building the ring oscillator models I also implemented the same in LTspice. You can find the files files on the project page. Please find a very brief summary below.
I implemented a 5-stage ring oscillator with an output buffer. Same circuit as on the PCB.. Using the transient function, it is possible to investigate frequency and waveform.
To test the transfer function, I used the DC sweep function in the circuit below. Since the loading of the output has a significant influence on the output voltages of an RTL gate I looked at both loaded and unloaded output.
Sweep output shown below.
An inverter circuit is shown below. As you note, I also did some experiments with a reach through capacitor.
Resistor variation on the PMBT2369 based inverter
I used the ring oscillator model to investigate the impact of base and collector resistor on ring-oscillator frequency and hence propagation delay. the graph below shows the collector resistance on the x-axis and various plots as a function of base resistance.
Impact on logic levels.
04/01/2020 at 13:22 •
The 2N3904 is one of the most widely spread switching transistors. There are countless SMT variants available from at least 15+ different vendors in all kinds of packages. Mouser lists more than 50 variants, LCSC more than 80.
I picked four devices in SOT23 package at random, trying to balance between more established manufacturers and lesser known chinese sources. Ironically the Nexperia part was the cheapest.
The table above lists the four devices and their respective datasheet values. Siko admits to having a slightly slower device while the other datasheets look like they were copied from each other.
04/01/2020 at 13:09 •
Digital transistors look extremely appealing to build discrete logic: They come with integrated resistors so the bias emitter in an RTL gate can be omitted. Furthermore, they are available from many manufacturers in basically any package type, down to chip scale packages, at very lost cost.
There is a nice introduction to digital transistors by Rohm here.
The internal circuit of such a device is shown above. A wide variety of value for R1 and R2 are available. Unfortunately, the minum value for R1 is 1 kOhm, which will already limits switching currents significantly.
Furthermore, although many different variants are listed, not all of those are available. I picked four devices at random from different suppliers.
The candidates are listed above. What is alarming about these devices is that basically no information about transient behavior and switching applications is listed. A few devices liste transistion frequencies, which are rather unimpressive.
04/01/2020 at 06:15 •
As outlined earlier there are still two fast switching transistor types on the market: The PMBT/MMBT2369 and the BVS52. Both are offered by Nexperia and On Semi.
The plot above shows a comparison of both devices. It appears that the PMBT2369 is quite a bit faster. The MMBT2369 shows a maximum at around 5V supply. At higher voltage (current), the saturation charge seems to dominate switching behavior. This trend can only be seen at >8V for the PMBT2369.
Minimum tpd of the MMBT2369 based RTL inverter is 6.8 ns, that of the PMBT2369 based inverter is 4.8 ns.
It's quite difficult to asses the actual origin of the speed difference, just speculating: The higher current gain will increase the miller capacitance of the MMBT2369. However this is mostly relevant while the device is turned on. The critical condition is the storage time of the saturation charge, which flows out of the base when VBE is already zero and the miller capactance plays no role.
The PMBT2369 definitly appears to be the faster of the two. In fact, the PMBT2369 seems to be the fastest bipolar switching transistor that is still available in high volume today.
Why even look at other devices? Unfortunately it seems that the PMBT2369 is only available in the relatively large SOT23 package. To build dense discrete logic (yes, it makes no sense, I know), it would be of interest to use much smaller packages such as SOT523 or SOT723.
04/01/2020 at 05:51 •
Why is it so difficult to identify the fastest transistor for our application from merily looking at the datasheets?
One issue is that many transistor types are not characterized for saturation switching operation anymore and hence little information about that use case is available in the datasheet. As it turns out, many newer transistor types are not optimized for this operational mode either...
A second issue is that most datasheets only list maximum and minimum values. These usually represent garuanteed test limits, but they are not necessarily representative for the typical performance of the device.
In an ideal world, all of this could be solved by simulation. Unfortunately, I had very mixed results using spice models provided by different vendors. In some cases this may be, because the spice model is not finetuned to switching operations.
In the end, the only way is to actually test various candidate devices. The tool of the trade is the ring oscillator.
The images above shows a single RTL inverter including design settings. I used a 2.4 kOhm collector resistor and 360 Ohm base resistor for all investigations. To form an oscillator, an odd number of inverters have to be connected in a circular fasion.
The picture above shows the design I used for most of my investigation. The first five inverters form the ring oscillator, the sixth inverter is used as an output buffer to make sure there is a well defined load on the oscillator.
Btw - the wire was used to fix a flaw in the first revision of the PCB.
The image above shows a smaple measurement from the article i linked above. By changing supply voltage it is possible to investigate the behavior it difference current settings. The propagation deleay of individual gates can be easily deduced from the oscillator frequency by tpd=1/(2*5*fosc).