Skip to content

2. Testing and Errors

pricna edited this page Jun 10, 2021 · 2 revisions

Basic Tests Done

The boards were constructed following our bring-up plan and Bill of Materials.

The first tests done were some basic continuity tests with a multimeter to confirm there were no major errors, such as a short between Vcc and ground, or shorts between pins on any of the smaller chips. We wound up eventually finding out that SDA and SCL were shorted, but that was determined after other tests were conducted.

One of the most useful tools for our testing was the program Logic, which we used with a Saleae Logic Analyzer connected to ground and the SDA and SCL pins on the Arduino. This was used because when we originally set up the Arduino phase software, we found that the I/Q signals were the default signals from our crystal. We updated the I2C address in the code from 0x60 to 0x62 to try and make it work, but that did not help. Hooking up the logic analyzer helped us determine that there were errors in our PCB because the Si5351 was not communicating with the Arduino. Those errors are detailed below in the Errors section.

When those errors were eventually fixed on Jared's board, we were able to get the proper devices communicating and confirm it with the logic analyzer. An oscilloscope was used to confirm that the Arduino code was changing the frequency, and properly offsetting the phase. We did not fix the communication issue on the other board, because that would require much more work (as detailed in the results page). The phase offset on Jared's board can be seen below.

Also during our testing, the Bandpass filter was hooked up to a signal generator and oscilloscope to confirm that the connections were properly made. The results seemed good enough for the 10-16MHz range, so we decided it seemed to be working.

The final test needed before fully launching Quisk was to get the Arduino code that integrates with Quisk properly running. This wound up being a much more exhaustive undertaking than expected, because the code we used came from Dr. Frohne's untested code here, and we struggled to get the correct phases output. Eventually, we determined with the help of Dr. Frohne that the frequency that set the proper phases needed to be multiplied by 100, and several instances of clocks 0&1 needed to be changed to clocks 0&2. With that updated, we were able to get the phases properly set.

Errors

Revealed by the testing process

Below are some images of some shorts that were discovered in our PCB. The appearance of these shorts was because of errors made in both our schematic and PCB. And since I (Nate) made the schematic, and Jared made the PCB, and we did not carefully check each others' work, we did not catch any obvious errors, such as the fact that SDA and SCL were obviously shorted.

Here are some of the errors in the schematic that led to the errors in the PCB, and what was changed to fix them:

Oscillator:

As can be seen in the pictures above, pull-up resistors were incorrectly used.

Voltage Converter:

As can be seen, an incorrect adjustment to the resistors in the Adafruit voltage converter was made. This was one of the bigger issues for how our PCB turned out.

Clone this wiki locally