Software apps and online services
It can be argued that every engineer that works with electronic hardware is also a test engineer because building/developing electronics is only part of the work. The rest of the work an engineer faces is making sure that the design works and behaves as expected. This is why test equipment such as oscilloscopes, logic analyzers, power supplies, digital multimeters, etc. are a necessity for any bench or lab setup, hobbyist and professional alike.
Traditional test equipment is not the cheapest, but as we've transitioned to the digital world, compact and affordable versions of oscilloscopes, power supplies, waveform generators, etc. have become very prominent in the market.
The ADP3450 is an FPGA-based mixed signal oscilloscope with four high resolution oscilloscope channels, two waveform generator channels, two external input trigger channels, and 16 digital I/O pins for logic analyzer functionality. It can be connected to from a host PC via either a serial COM port USB connection or SSH Ethernet connection.
The ADP3450 has two main boot modes: standard boot and Linux boot, along with recovery boot options for both standard boot and Linux boot. Standard boot mode is what we are used to seeing in digital test equipment like this where the controlling GUI and any test sequencing is done on a host PC with the control interface being over a USB or Ethernet connection.
The ADP3450's Linux boot mode makes is unique as it moves the control of the device back onto the device itself. A user can log into the Linux root filesystem running on the Zynq-based brain of the device to program whatever sort of test sequencing is needed or add capabilities for peripherals to the SDP3450 such as a USB Wi-Fi dongles.ADP3450 Setup
For this demonstration I am using the standard boot mode (also the default boot mode) which means the ADP3450 will boot up and look for a host PC connection via either USB or Ethernet connection to take commands for measurements to be performed from the host software, WaveForms, that is installed on the host PC.
The ADP3450 comes with a power brick and its IEC cable, a USB type B cable for the host PC interface, and an MTE cable to break out the Digital IO MTE connector into individual jumpers.
For this basic setup, plug in the power cable and USB host cable for communication to the back of the device:
And power on the ADP3450 with the rocker switch on its side:
I'm running Ubuntu on my host machine, so I'll be installing WaveForms (and it's necessary prerequisite, Adept runtime) from their Debian packages that I downloaded from Digilent's resource web pages using the Debian package manager, dpkg.
First install Adept 2 Runtime:
sudo dpkg -i <path to downloaded Adept Runtime .deb file>
Then install the WaveForms application:
sudo dpkg -i <path to downloaded WaveForms .deb file>
Wrap up by fixing any broken dependencies that may have resulted from either installation:
sudo apt-get install -f
And that's really all the more installation that's needed. The WaveForms icon will now appear in the app grid view of Ubuntu (accessed by the Show Applications button or Ctrl+Alt+T keyboard shortcut):
Side note: if you ever need to uninstall Waveforms and/or Adept Runtime, I would recommend doing so again using the Debian package manager, dpkg.
Also be sure to uninstall the WaveForms application first before uninstalling Adept Runtime. I've found that it is best not to uninstall dependencies before the applications/other packages using them:
sudo dpkg --remove digilent.waveforms
sudo dpkg --remove digilent.adept.runtime
Now that the ADP3450 is connected, powered on and WaveForms has been successfully installed, it's ready for action.
Launching WaveForms will first bring up the device manager to select the target device for performing measurements. Each supported device (any of the Analog Discovery, Analog Discovery Pro devices) has a demo mode which is a software emulation of the device on the host PC. This can be handy for determining which device has the features you need for your particular measurements/setup before purchasing.
The physical devices plugged into the host PC will appear at the top of the device list above the demo devices. Once the target device is selected, that device's available configurations will be listed in the bottom window. For the ADP3450, since it is a flexible device (meaning it's re-programmable thanks to its FPGA brain), you can choose how the buffer space is distributed between its various measurement inputs/outputs.
Currently, you can choose to have the buffer space evenly distributed between the oscilloscope channels, waveform generator channels, and logic analyzer functions or you can have a majority of the buffer space dedicated to the oscilloscope channels to achieve those high resolution measurements.
I'm sticking with the default option to distribute the buffer space evenly for this project.
A firmware version check is done at every power up of the ADP3450, if there is a later version available than what's found on the ADP3450 itself, the Update Device button will appear (which it most likely will the first time it is powered on out of the box).
Select the Update Device option in the device manager after selecting the ADP3450 as the target hardware and buffer configuration.
WaveForms will prompt you to verify the ADP3450 can't loose power unexpectedly during the update which will take about 10 seconds.
Once the update has completed, the ADP3450 needs to reboot into the new firmware image which WaveForms will show another prompt indicating this. You'll also hear some relays switch in the device as well.
Upon rebooting, you'll notice that the Update Device option is now gone when the ADP3450 device is selected.
Again, select the desired buffer configuration after selecting the ADP3450 in the device list and click the Select button at the bottom right on the Device Manager window to get to the WaveForms welcome screen where you can choose the desired measurement function(s).
This new workspaces allows for a user to open each instrument function in a tab and configure the settings as desired:
As a quick test, I used a BNC to BNC cable to loop the waveform generator channels back to the scope channels.
I then opened a new Wavegen tab for channel one of the waveform generator and a Scope tab for channel one of the scope.
Running the waveform generator to output the default 1kHz sine wave, I was able to run the scope channel one that it's output was connected to and view it.
To create something for the ADP3450 to measure and strut its stuff, I set up my Eclypse Z7 with DAC Zmod to output a 1MHz sine wave just I did in my last project using the Eclypse board where I connected the DAC's output to my vintage spectrum analyzer.
From Vitis, I programmed the FPGA and ran a debug run of my bare metal application that configures DAC Zmod to output a 1MHz sine wave on its channel 0.
Returning to the Scope tab of my Waveforms workspace, I changed the time base to 500ns/div since the DAC Zmod is output a 1 MHz sine wave which has a period of 1us.
It was so satisfying to see the 1 MHz sine wave coming from my DAC Zmod. This will be a huge help in future development! And it fills the gaps I have in test equipment for my lab bench here at home.
Finally, I saved the workspace with the instrument windows for the Scope/Wavegen and their respective settings for future use: