Saturday, 25 May 2024

TDR Pulse Generator

Introduction 
In this blog, a pulse generator with a rise time less than 
900 ps was created for educational and illustrative purposes. The design incorporates two options for Cypress PSoC microcontroller devices that produce a pulse that drives an LVC series logic chip. The engineering pack is provided at the end of this post for the board and the project for one of the Cypress PSoC devices.

Pulse Generator PCB
Pulse Generator PCB
 

Another Pulse Generator Idea
Available online are schematics and content relating to easy-to-build fast-rising edge generators including a novel battery and oscilloscope solution from Hackaday, a Schmidt trigger design from w2aew, the well-known Jim Williams transistor design or Time Domain Reflectometry (TDR) product that doesn't require an oscilloscope.

This design is similar to pulse generators that use hardware for pulse generation and separate hardware such as a driver to produce a fast edge rate. The fast edge rate in this design is derived from a common gate, part 74LVC04. Faster edge rates are possible using alternative driver components such as high-speed comparators or fast push-pull drivers.

Circuit Board Design
The pulse is initiated from a Cypress PSoC. Alternatively, other microcontroller types or discrete hardware could produce the pulsing signal. The pulsing output of the microcontroller drives one gate of the six gates available in the 74LVC04. The first logic gate output subsequently drives the five remaining gate inputs. All five outputs of the logic gates are connected to individual 249 R resistors. Finally, all resistors are tried together to provide a 49.8 R output impedance and parallel operation.

Buffered Output for Pulse Generator
Buffered Output for Pulse Generator

Two types of Cypress microcontrollers were designed onto the board, a CY8C4245AXI-483 and a CY8C4245PVI-DS402. These parts were chosen because they were available as excess stock from local suppliers. At the time of writing this post, however, the buy price for a CY8C4245AXI-483 had risen above USD 5.

2D Circuit Board of Pulse Generator
2D Circuit Board of Pulse Generator

Two versions of the pulse generator board were drafted to experiment with faster rise time. The first design did not contain a top power plane, via stitching or impedance-controlled traces. Applying those changes to the circuit board, in revision 1 of the board the output rise time was improved by 30 ps.

Revisions of Pulse Generator Circuit Board
Revisions of Pulse Generator Circuit Board

Microcontroller Code Design

For testing, the initial code design only required a pulsing output. The pulsing can be achieved using several solutions however after referencing the Infineon website, one of the quickest methods of toggling an output pin on a Cypress 4000 microcontroller is a direct write to the port. The ON duration of the pulse is not critical, albeit it depends on the hardware output driver capabilities.

Programming the PSoC device was performed with the MiniProg 3, using PSoC Creator 4.4 and a connection to the 5-pin header on the pulse generator circuit board.

An extract of the code used in the PSoC Generator pulse generator is shown below.

#include "project.h"

int main(void)
{  
CyGlobalIntEnable;
    for(;;)
  {
        Port0_0_DR |= 0x01;
     Port0_0_DR &= ~0x01;
    }
}


Testing the Board
Signal measurements were performed on a Keysight oscilloscope with a 20 GSa/s resolution. The first image below was taken from the board without circuit board improvements and the second image from the board with the changes.

Output Waveform from Pulse Tester Rev 0
Output Waveform from Pulse Tester Rev 0

Output Waveform from Pulse Tester Rev 1
Output Waveform from Pulse Tester Rev1

Rising edge measurements were also performed with the oscilloscope configured for 10% to 90% points.

Output Waveform Rise Time from Pulse Tester Rev0
Output Waveform Rise Time from Pulse Tester Rev0

Output Waveform Rise Time from Pulse Tester Rev1
Output Waveform Rise Time from Pulse Tester Rev1

The second board shows an indicative marginal improvement in rising time however this could be attributable to the component tolerances.

Reflectometry Testing

One of the uses for the fast-rising edge is for reflectometry. Some examples of reflectometry are cable length or circuit board trace impedance measurement. As a test for reflectometry, the pulse generator was connected through a BNC Tee adaptor to an oscilloscope with a short unterminated BNC cable. The image below shows the test setup.

Pulse Tester as TDR Test Setup
Pulse Tester as TDR Test Setup

From the oscilloscope, the reflected pulse is captured as displayed below.

TDR Capture from Oscilloscope
TDR Capture from Oscilloscope

For verifying the cable length, the period between the initial and reflected pulses was measured on the oscilloscope. This time measurement was required to calculate the cable length. Calculations in this blog. A velocity factor of 81% was used for the 3D-FB coax. Using a period of 8.92 ns from the oscilloscope, the cable length was calculated at 108 cm. The result is similar to the actual coax cable length of 102 cm which excludes the BNC connector and other periphery.

Engineering Files
For anyone wanting to create a similar device the PSoC project, Schematic, Gerber and BOM files (CY8C4245AXI-483) are available for download using the links below.

Pulse Generator PSoC Project

Pulse Generator Schematic Rev1










Pulse Generator Bill of Materials Rev1


















No comments:

Post a Comment