Generate Normal Link Pulses (NLP)

A Normal Link Pulse (NLP) is a short voltage pulse used in 10BASE-T Ethernet to verify the physical connection between two network devices. It is sent periodically when no data is being transmitted and serves solely for link monitoring as part of the so-called link integrity test, meaning it allows a device to detect whether an active, functioning device is connected at the other end of the cable. An NLP consists of a single pulse about 100 ns long with an amplitude of roughly 2.5 V, transmitted at intervals of 16 ± 8 ms; it carries no data and merely ensures that the physical link is intact.

In the 802.3 document, we find Figure 14-12, which describes the shape of the actual pulse. All in all, the requirements for the accuracy of the pulse width and the spacing between pulses are fairly relaxed.

In two blog posts I found examples of how such a pulse can be generated using discrete logic. Both Andrew Holme and Ivan use Schmitt-trigger oscillators for this purpose, based on NAND gates with Schmitt-trigger inputs (74HC132) or inverters (74HC14), respectively. First, I set up the circuit from Ivan’s blog.

Unfortunately, in my setup the timing of the oscillators was not symmetrical, causing both the pulse width and the spacing between pulses to fluctuate. The following graphic is for illustration purposes and does not represent the time axis accurately.

The timing was still within the specifications, but since I had an unused OR gate available, I replaced the XOR gate and adjusted R4.

With this change, the asymmetries of the oscillators no longer mattered.

The goal is to build a network card using discrete logic and then operate it with a home computer.


Posted

in

by

Tags:

Comments

Leave a Reply

Your email address will not be published. Required fields are marked *