Introduction
This post continues a previous blog that used a microcontroller driver design to generate a fast-rising edge for educational and bench-testing purposes. The microcontroller (PSoC) in the earlier blog was replaced with a microcontroller from Microchip (ATmega16U2). The board uses the Microchip part and is powered by USB.
|
Pulse Generator PCB |
Why Another Generator
While the previous design using a PSoC microcontroller was received well, the price of a PSoC microcontroller has become twice that of a competing device such as the Microchip ATmega16U2. Consequently, a design was produced to utilise the Microchip microcontroller.
Circuit Board Design
As featured in the previous design, a pulse train is initiated from a microcontroller (ATmega16U2).
|
ATmega 16U2 for Pulse Generation |
The same output driver arrangement was reused on this design however the output driver was changed to a Nexperia 74AHC04 because of the 5 V supply rail (USB). A linear regulator was considered to maintain the supply rails at 3.3 V but was ultimately not included to keep the total cost as low as possible. Five outputs of the 74AHC04 driver are still connected in parallel to individual 249 R resistors. All five outputs are tied together thus providing a calculated 49.8 R at the output, CN2.
|
Buffered Output for Pulse Generator |
Software Design for Output Pulsing
A minimal software (code) project was prepared in Microchip Studio. This application generates a pulse by direct and continuous writes to the microcontroller port. The code to generate the pulses is shown below.
int main(void)
{
DDRD = 0x08;
PORTD = 0x00;
for (;;)
{
PORTD |= _BV(PD3);
PORTD &= ~(_BV(PD3));
}
}
USB hardware connections were made to the ATmega to allow developers or users to enhance the code further. The ATmega software could be developed to support USB-controlled commands. Below are some links for software that may allow for HID solutions with the USB.
https://github.com/NicoHood/HoodLoader2
https://gitlab.com/arksine.code/HID/-/tree/2.0
A Note on Programming
The post includes details regarding the programming of the Microchip part because this design is intended for the educational system or illustrative purposes.
The 6-way programming connector on the pulse board interfaces with the ATmega. The connections are designed for SPI programming. See Table 3-6 in the Atmel ICE document for information concerning connections between the programmer and Microchip microcontrollers.
|
SPI Connector Pinouts |
For programming of the microcontroller in this blog, the ‘Atmel squid’ connections were made to the pulse generator board as shown below.
|
SPI 'Squid' to Pulser Board |
PCB pad jumper J1 should be shorted with solder to power the external oscillator.
|
Powering External Oscillator J1 |
The settings displayed below are taken from the Microchip Studio's, Tools menu, and the Device Programming item. The settings can be adapted based on the functionality needed on the board. For example, the onboard 8 MHz oscillator could be replaced with a different frequency device or the board could be redesigned to suit a crystal.
|
Microchip Studio ISP Clock Settings |
|
Microchip Studio Oscillator Settings
|
|
Microchip Studio Fuse Settings
|
|
Microchip Studio Fuse Settings Continued
|
Testing the Board
Since the output driver voltage rails were changed from 3.3 V to 5 V, the output rise time (10% - 90%) was predicted to be slower.
|
Prototype Pulser PCA |
|
Drive Voltage from Pulse Tester (Microchip)
|
|
Period from Pulse Tester (Microchip)
|
Signal measurements were again performed on a Keysight oscilloscope with a 20 GSa/s resolution. This board showed a rise time of 1.11 ns when measuring for a rise time of 10% to 90%.
|
Output Waveform Rise Time from Pulse Tester |
Reflectometry Testing
Reflectometry tests were performed with a benchtop oscilloscope. The pulse was connected to the oscilloscope with a BNC Tee adaptor, and the other side of the BNC Tee was connected to a length of coaxial cable.
|
Pulse Tester as TDR Test Setup
|
The initially launched and reflected pulses were captured as shown in the image below.
|
TDR Capture |
Engineering Files
The Atmel Studio project, schematic, Gerber and BOM files are available for download using the links below.