I've always wanted to build my own equipment capable of handling T1 lines, just for fun. A while back, I did a deep dive into T1 line build-out and equalization. I went into some high level description of T1 transmitters.
A T1 transmitter is intended to drive a nominally '100 ohm' twisted pair cable with T1 pulses of a shape that conforms to ANSI T1.403. Unfortunately, I'll have to do some interpretation of T1.403 on my own because I don't have a copy of T1.102 which supposedly details testing for T1 devices in more detail.
ANSI T1.403 defines the concept of a T1 reference signal. There are a number of specifications for a T1 reference signal, but the big ones are as follows:
A 100 ohm +/-5% termination is used at the network interface for evaluation of the signal. This is worded carefully, because the signal is not evaluated at the network interface meaning the transmitter must meet specifications for the reference signal while driving a supported length of cable terminated into this termination.
While we call the cable a '100 ohm' cable, the reality of any real cable is that the characteristic impedance (among other transmission properties) varies with frequency. Simply put, this means there can be quite a range of impedances presented to the T1 transmitter depending on cable length.
The shape of an 'isolated' T1 pulse must conform to a pulse shape mask defined in ANSI T1.403. An isolated pulse means one that is sufficiently far enough from other pulses in time that the other pulses don't substantially influence the pulse.
The pulse amplitude is also normalized before being compared against the mask.
Pulse amplitude is measured at a specific point in the pulse mask (t=0) and the amplitude requirements differ slightly for network equipment vs. customer equipment.
For network equipment the range is 2.25V to 3.6V, and for customer equipment it is 2.4V to 3.6V.
There are other specifications that I won't be going into detail on.
One specification which is notably absent is a transmitter output impedance. This will be important later.
Other specifications which I have not mentioned thus far include:
In this part, I'll start from a very simple and basic example of a transmitter designed to drive a twisted pair cable. I'll slowly introduce complexity as I add non-ideal aspects of the circuit and as the design is modified to meet the pulse shape criteria of ANSI T1.403.
Starting with some basics, a T1 signal is normally coupled to the line through a transformer. The transformer allows us to maintain good line balance which helps to make it immune to external interference.
A basic transformer-coupled transmitter for twisted pair may look something like this:
I've shown two digital logic buffers driving the transformer. With this circuit, we can drive the three-level bipolar signal needed for T1 by either setting one buffer or the other high to get each polarity, or setting both low to get a 0 output.
I've also shown a simple resistive termination here for simplicity. Note that the termination resistance is not part of the transmitter, that represents the cable. The transformer will reflect the 100 ohm termination back through itself towards the driver, so the driver will see a 25 ohm load due to the 1:2 transformer ratio depicted here. The 1:2 transformer lets us drive the T1 line from lower supply voltages such as 3.3V logic supplies while still having enough overhead to ensure we can hit the proper levels. That will become more important later when we start to modify the circuit to shape the pulses but for the moment we'll just consider square pulses for simplicity.
The circuit from the previous section fails to account for some of the non-ideal characteristics of the components used. Firstly, our logic buffer drivers have a non-zero output resistance. Additionally, the windings of our transformer have a non-zero resistance as well.
If we suppose we want to drive a 3V nominal signal into our 100 ohm termination, we will need to drive a 1.5V nominal signal into our 25 ohm impedance reflected by the transformer.
The obvious effect of these new resistances is to lower the output voltage. If we wish to have enough voltage to drive our desired levels on the cable, we need to make sure the output resistance of the driver and the winding resistance of the transformer are low enough. We can always add resistance later if we need to lower the level, but only if we have sufficiently low resistance to begin with.
If we can ensure our combined driver and winding resistance is much less than 25 ohms, then they will be negligible compared to the load we're trying to drive.
Suppose we wanted to use a pair of elements from a 74AC244 (powered from a 3.3V supply) to drive the transformer and T1 line. We would quickly find that the output voltage we can drive is far too low due to the intrinsic output resistance of a 74AC gate. You can see the results below in this scope plot:
The peak voltage level here is about 2.8V, technically in range, but not with enough overhead to ensure we can shape the pulse properly.
However, there's a pretty simple solution to this, just put more drivers in parallel to decrease the overall effective resistance. Using all 8 74AC244 elements, we get much better results:
This time we have nearly 4.7V peak, which should give us plenty of overhead to do whatever we need to do for pulse shaping.
In this idealized circuit, if we drive a square wave into the transformer from the driver, we will get a square wave out. However, we can already see from previous scope plots that this isn't exactly the case. We begin to see some loss of squareness. It was easier to see the effects of magnetizing inductance with a higher driver impedance, so we'll refer back to that.
On the rising edge, we see the voltage level come up to about 2.9V and then begin to fall off. Meanwhile, on the falling edge we see the voltage undershoot below 0 to -0.076V (about 2.6% of the peak value). These two effects are due to the magnetizing inductance of the transformer.
If we have a look at the pulse shape mask from ANSI T1.403, we can start to judge this pulse.
We can see that the T1 pulse mask actually requires some undershoot, but there is an issue. The pulse mask still requires that we settle to within 5% normalized amplitude within about 0.66IU or about 425ns of the falling edge (give or take). The undershoot behavior we see here persists for a very long time.
This is because the time constant tau = L_m/R and this calculates to be a whopping 3.5 microseconds with my transformer and a 100 ohm termination.
We can redraw the circuit again to include this nonideal aspect of the transformer:
As we output a pulse at any level greater than 0V, the current in the magnetizing inductance begins to ramp up according to di/dt=V/L. In words, the voltage and inductance determine how fast the magnetizing current increases. At the end of the pulse time, the current in the magnetizing inductance has reached roughly I_m=del_T*V_out/(L*N) (assuming that the current started off at 0 and also that our resistances aren't too large).
This magnetizing current contributes to the voltage drop across the winding and driver resistances. As the magnetizing current increases the voltage drop increases with it causing our output voltage to fall.
Once the transmitted pulse is over, the driver voltage returns to 0 but the magnetizing current remains and actually drives a negative voltage onto the cable. The voltage due to the magnetizing current will be V_m=-I_m*R*N where R is the equivalent resistance of the termination, the transformer winding, and the driver combined as seen by the magnetizing inductance.
We can also use this equation along with the one for the magnetizing current peak to express the voltage undershoot due to the magnetizing current as a ratio or percentage of the driver voltage: V_m/V_out=del_T*R/L.
If we assume, for a moment, that our driver impedance and winding resistance is very high compared to the impedance of the cable reflected through the transformer, then the the voltage ratio will mostly depend only on the cable and termination impedance.
However, if the combination of the driver impedance and the transformer winding resistance is very low compared to the impedance of the cable reflected through the transformer, the voltage ratio will mostly depend on the driver impedance and transformer winding resistance. As R approaches 0, the voltage as a result of the magnetizing inductance also approaches 0.
We can see the effect of this when we moved to the lower impedance driver by paralleling multiple outputs together:
Here we can see that the driver managed to get the voltage to nearly 4.7V, while restricting the magnetizing inductance undershoot to about -0.071V, about 1.5% of the driver voltage.
The transformer parameters also influence this phenomenon. A larger magnetizing inductance can also prevent undershoot, although this generally results in a larger, more costly transformer.
The pulse time additionally plays a role. Faster data transmission generally does not require as high of a magnetizing inductance in the transformer. For example, common ethernet transformers which only need to work down to 10 Mbits/s are typically around 350 microHenries while many T1 transformers are around 1 milliHenry.
In my experiments, I've been playing with a 350 microHenry ethernet transformer, but I would not have to pay as close attention to this issue if I were using a T1 transformer with a higher magnetizing inductance. The solution will be to pay special attention to keeping the driving impedance as low as possible as we begin to shape the T1 pulses. This will also make our transmitter more robust to changes in load impedance due to differing cable lengths.
The diagram above has a matching table of values in ANSI T1.403. Let's start to have a look at this pulse mask in some more detail.
On the lead-up to our pulse's rising edge, we need to be within 5% of 0. On the rising edge, we're allowed to rise as fast as we want and we are allowed some overshoot (but it is not required of us). The level can fall off somewhat as the pulse progresses. Due to the normalization process, threading the needle through the narrow gap in the middle of the pulse isn't actually all that difficult (although we do need to ensure our amplitude is in the specified range there, nominally 3V).
On the way down, we are not only allowed some undershoot, it is required of us. Our level must surpass -5% for a time in order to fit the mask. After some time, our pulse must settle back out to within 5% of 0 again to meet the tail of the pulse mask.
We'll get into the method of shaping the pulse in a moment, but first let's deal with a simpler task: getting the amplitude right.
Instinctually, we might think to add series resistance between the driver and the transformer to drop the voltage.
In fact, this does work but it also effectively raises the impedance of the driver which we stated was a potential detriment in the previous section.
With about 15 ohms series resistance using our paralleled 74AC244 driver from before, our peak amplitude comes down to about 3.22V and about 75mV due to magnetizing inductance, or about 2.3%
There is an alternate solution, although it goes against my normal instincts. Instead of adding series resistance, we can add parallel resistance to pull down the signal level. This increases load on the drivers, but has the effect of actually lowering impedance.
With about 15 ohms parallel resistance instead, our peak amplitude is about 3.20V with about 40mV due to magnetizing inductance, or about 1.3%.
Our amplitude is about right, and we're settling to within 5% fast enough, but we can compare to our mask and see that we don't yet have the undershoot we need.
If we work with passive components to shape the pulse, anything we do to affect the falling edge will ultimately have the same effect on the rising edge. We can use this to our advantage, fortunately. Let's work on getting some overshoot on the rising edge, and that should also give us some undershoot on the falling edge.
Thinking about this a bit, overshoot is essentially that our voltage needs to be instantaneously higher during our edge and then fall off to a lower value. That means we need an element that 'looks' like one impedance in the short term, but looks like another impedance in the long term.
Capacitors fit this description: instantaneously, they look like a short circuit but as time goes on they charge and look like an open circuit. If we add a series resistor to our circuit and bypass it with a capacitor, the capacitor will look like a short circuit during the edge giving us a higher voltage level, and then start to look like an open circuit causing the additional series resistance to take over and give us a lower (but not 0) voltage level.
During the falling edge, the same effects will occur and give us undershoot instead of overshoot.
By playing around with the components, we get a series resistor of 4.7 ohms in parallel with 32nF of capacitance, and 20 ohms in parallel with the transformer. We can increase the overshoot by increasing the series resistor, control the overshoot settling time by adjusting the capacitance, and control the amplitude by adjusting the parallel resistor. Each of these affects the others just a bit, but by iterating through these adjustments a few times, you can come up with a combination that achieves the proper output shape.
Our results here are pretty good, a 3.0V amplitude with a shape that is falling inside the T1 pulse mask pretty well.
On my Agilent DSO6014A oscilloscope, there is a 'mask' test function built in. This does pretty much what the name implies: you can form a pulse mask and the oscilloscope will automatically determine if every pulse falls within the mask or not and count up statistics.
There is sufficient information in the manuals to develop a custom pulse mask. Still, you'll probably need to use the 'automask' function, save a generated mask, and then modify it.
I have done this for the T1 pulse mask in ANSI T1.403 figure 2 and you may use this as you wish.
You will need to load the mask using the save/recall feature of the oscilloscope using the 'Mask' type. The menu related to the mask test functionality is in Acquire->Mask Test.
You will need to adjust the trigger point, time offset, and use the fine vertical scale mode to normalize the amplitude to fit your pulse into the template. Of course, the pulse mask is just one test and you will also need to check all the other parameters (like amplitude) using other means.
T1E1.2/99-005R7 ANSI T1.403-1999