|
|
== https://es.technikum-wien.at/openlab/openlab_wiki/wikis/home[Home] | https://es.technikum-wien.at/openlab/openlab_wiki/wikis/SOTA_osci[<State of the Art Research (SOTA) (Oscilloscope)] | https://es.technikum-wien.at/openlab/openlab_wiki/wikis/SOTA_osci_FPGA[FPGA/CPLD-based projects/products>]
|
|
|
|
|
|
= Micro-controller-based projects/products
|
|
|
|
|
|
The following excerpt of the research results shows a selection of devices that are micro-controller based and provide at least
|
|
|
the firmware, or the hardware, as open-source. A summary of the specifications of the most interesting solutions are shown in table 1.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
image::https://es.technikum-wien.at/openlab/openlab_wiki/wikis/img/SOTA_osci/SOTA_osci_uC_based_table.PNG[caption="Table 1: ",title="Market overview of micro-controller based oscilloscopes around 100€ (1) (modified)",align="center"]
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
The exemplary devices vary widely regarding the offered performance, number of channels
|
|
|
and additional features not specifically listed in the table like for example digital inputs or analog
|
|
|
output signals.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
== XMEGA Xminilab
|
|
|
|
|
|
The "XMEGA Xminilab" shown in figure 1 offers reasonable performance in terms of resolution and sampling rate.
|
|
|
It also provides two input channels combined with additional digital input and it has an integrated display.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
image::https://es.technikum-wien.at/openlab/openlab_wiki/wikis/img/SOTA_osci/SOTA_osci_XMEGA.png[caption="Figure 1: ",title="Xminilab board (2)",height=220,align="center"]
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
The downsides of this board are that its specification states just 200kHz of analog input bandwidth, a rather small sample buffer of 256 samples per channel and a maximum sampling
|
|
|
rate of 2MS/s. These specs are well below the anticipated performance.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
== DPScope II
|
|
|
|
|
|
The DPScope II[3] features two input channels with selectable AC or DC coupling. It outputs the measured signal through an USB connection to the PC.
|
|
|
This device also provides a two channel signal generator using the same connectors as the scope. +
|
|
|
The following picture, seen in Figure 2, shows the product in its casing.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
image::https://es.technikum-wien.at/openlab/openlab_wiki/wikis/img/SOTA_osci/SOTA_osci_DPSCOPE.jpg[caption="Figure 2: ",title="DPScope II in its casing (3)",height=260,align="center"]
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
Schematics can be downloaded from the project website, the software however is closed source.
|
|
|
The DPScope II is available for purchase for 69€.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
=== Hardware
|
|
|
|
|
|
The DPScope II is powered by a dsPIC micro-controller[4] sampling the input signal with its internal ADC.
|
|
|
For generating signals, this device uses an external MCP4822[5] DAC connected via the Serial Peripheral Interface (SPI) interface.
|
|
|
Data transmission is done by a virtual serial connection provided by a FTDI[6] chip, transmitting data at 1 Mbaud.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
=== PC software
|
|
|
|
|
|
The PC application of the DPScope II features a simple to use user interface, categorized in a waveform display on the left side and some controls on the right side of the window.
|
|
|
Figure 3 shows the graphical user interface of the product displaying a demo signal.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
image::https://es.technikum-wien.at/openlab/openlab_wiki/wikis/img/SOTA_osci/SOTA_osci_DPSCOPE_GUI.png[caption="Figure 3: ",title="Graphical user interface of the DPScope II (7)",height=330,align="center"]
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
Due to the fact that the DPScope PC software is only available for the Windows operating system, this device does not comply with the cross platform goals of the OpenLab project.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
=== Specification
|
|
|
|
|
|
The DPScope II features a input bandwidth of about 2.5 MHz and a resolution of 8 bits. The integrated ADC is sampling at 2MSa/s in single shot and 50MSa/s in repetitive mode.
|
|
|
The input voltage can range from -20V up to +20V. This can be 10 times higher using a 1:10 probe. The signal generator is able to output waves at 3Vpp max with a bandwidth of 300Hz to 3MHz.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
== NXP Labtool
|
|
|
|
|
|
The NXP Labtool uses a high performance micro-controller that integrates a triple core consisting of ARM Cortex-M (8) processors
|
|
|
which are one Cortex-M4 and two Cortex-M0 processors capable of running at up to 204MHz.
|
|
|
Additionally it integrates multiple internal ADCs of which the fastest provides up to 80MS/s.
|
|
|
The device itself is shown in figure 4.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
image::https://es.technikum-wien.at/openlab/openlab_wiki/wikis/img/SOTA_osci/SOTA_osci_NXP.png[caption="Figure 4: ",title="NXP Labtool board (9)",height=280,align="center"]
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
To complete the overall package an internal DMA unit has been integrated as well, that could be used to transfer the sample results to the internal memory without
|
|
|
intervention of any of the processors.
|
|
|
But these features come at a price. The "NXP Labtool" costs around 99€ which is at the anticipated price boundary.
|
|
|
The hardware-design files of the NXP Labtool (schematics, layout, gerber files,...) are not open-source.
|
|
|
Only the source code of the PC application as well as the firmware of the micro-controller are publicly accessible.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
== Low speed AVR oscilloscope
|
|
|
|
|
|
Using a standard LC-display, this micro-controller based oscilloscope can be used as a stand-alone solution.
|
|
|
Designed by a hobbyist, this device just gives an idea of how basic signal acquisition can be done. Figure 5 shows the AVR oscilloscope measuring a 1kHz sine-wave.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
image::https://es.technikum-wien.at/openlab/openlab_wiki/wikis/img/SOTA_osci/SOTA_osci_AVR.jpg[caption="Figure 5: ",title="AVR Oscilloscope measuring a sine wave (10)",height=260,align="center"]
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
A total of 5 push buttons are used to interact with the graphical user interface for changing the x and y scaling.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
=== Hardware and Specification
|
|
|
|
|
|
The AVR oscilloscope is powered by a ATMEGA32 micro-controller which handles data acquisition and communicates with a KS0108 controller based graphical LCD.
|
|
|
A simple analog circuit is used to measure signals outside of the ADC input range. The operating voltage of the circuit is 12V DC, which is provided by a standard power supply.
|
|
|
Additional supply voltages are generated by using Z-diodes and voltage regulators. Figure 6 shows an image of the schematics.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
image::https://es.technikum-wien.at/openlab/openlab_wiki/wikis/img/SOTA_osci/SOTA_osci_AVR_SCHEMATIC.GIF[caption="Figure 6: ",title="Schematics of the AVR Oscilloscope (10)",height=480,align="center"]
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
According to the developer of this device, the AVR oscilloscope is capable of measuring sinusoidal signals up to a maximum frequency of about 1kHz.
|
|
|
For square signals the AVR oscilloscope is able to display waveforms with a maximum frequency of 7.7kHz.
|
|
|
The reason for this limitations might be the lack of a hardware-based trigger. The whole trigger logic of this device is done in software.
|
|
|
In terms of voltage it can handle -25V to +25V signals using a 1:10 probe.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
== XMOS Raspberry Pi Oscilloscope
|
|
|
|
|
|
This project is considered as a proof-of-concept and should act as a simple example for analog data logging using a Raspberry Pi in combination with a XMOS startKIT.
|
|
|
This kit is a educational development platform which is priced at £12 (~ 14,10€). The XMOS startKIT connects via SPI to the Raspberry Pi and is responsible for the data acquisition. +
|
|
|
|
|
|
The whole setup is shown in figure 7.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
image::https://es.technikum-wien.at/openlab/openlab_wiki/wikis/img/SOTA_osci/SOTA_osci_XMOS.jpg[caption="Figure 7: ",title="Raspberry Pi and XMOS oscilloscope (11)",height=330,align="center"]
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
Marked by two circles are the connections for the analog signal (on the very left side) and the SPI interface in the middle of the image.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
=== Hardware
|
|
|
|
|
|
The data acquisition is done by a 4-channel ADC which is built-in into the XMOS core of the development platform. It features a maximum sample rate of 1MSp/s and a resolution of 12 bit.
|
|
|
Due to the lack of proper analog circuitry on the development platform the maximum voltage range is limited to the max specifications of the ADC.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
=== Software
|
|
|
|
|
|
The software running on the XMOS-cores is divided in three major parts. The first one called "spi_process" is used to handle data flow between the development board and a Raspberry Pi.
|
|
|
The second software part "app" is responsible for changing oscilloscope relevant parameters like the trigger level and slope. The last one called "adc_task" configures and reads data from the built-in ADC.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
A Raspberry Pi on the other side processes the sample data and provides the information for the client by hosting a web server.
|
|
|
A client is able to connect via a standard web browser in order to display the waveform.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
This configuration is illustrated in figure 8.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
image::https://es.technikum-wien.at/openlab/openlab_wiki/wikis/img/SOTA_osci/SOTA_osci_XMOS_software_arch.png[caption="Figure 8: ",title="XMOS software architecture (11)",height=350,align="center"]
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
The graphical user interface itself, which is provided by the web server, is written in JavaScript and can be seen in figure 9.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
image::https://es.technikum-wien.at/openlab/openlab_wiki/wikis/img/SOTA_osci/SOTA_osci_XMOS_GUI.png[caption="Figure 9: ",title="XMOS web based GUI (11)",height=350,align="center"]
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
In this example the XMOS measures a triangle waveform and triggers on rising-edge. The GUI is kept very simple and supports only basic settings.
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
== Bibliography +
|
|
|
|
|
|
This chapter is primarily based on the master thesis "Development of a low-cost micro-controller based oscilloscope including equivalent time sampling" by Ing. Harald Schloffer, MSc, November 2016 +
|
|
|
|
|
|
. Schloffer Harald: _Development of a low-cost micro-controller based oscilloscope including equivalent time sampling_, University of Applied Sciences FH Technikum Wien, 2016
|
|
|
. Gabotronics: _XMEGA Xminilab_ [Online] http://www.gabotronics.com/development-boards/xmega-xminilab.htm[xminilab product page]
|
|
|
. Maichen Wolfgang : _DPScope II webpage_ [Online] http://www.pdamusician.com/dpscope/index.html[DPScope II product page]
|
|
|
. Microchip: _dsPIC33FJ16GS502-50I - product page_ [Online] http://www.microchip.com/wwwproducts/Devices.aspx?product=dsPIC33FJ16GS502[dsPIC33FJ16GS502-50I - product page].
|
|
|
. Microchip: _MCP4822 - product page_ [Online] http://www.microchip.com/wwwproducts/Devices.aspx?product=MCP4822[MCP4822 - product page].
|
|
|
. Future Technology Devices International: _FTDI - main webpage_ [Online] http://www.ftdichip.com/[FTDI - main webpage].
|
|
|
. Maichen Wolfgang: _Graphical User Interface - DPscope II_ [Online] http://www.pdamusician.com/dpscope/index.html[DPScope II product page]
|
|
|
. ARM: _Cortex-M Series Family_ [Online] http://www.arm.com/products/processors/cortex-m[Cortex-M Series Family - product page]
|
|
|
. Embedded Artists: _Labtool - product page_ [Online] http://www.embeddedartists.com/products/app/labtool.php[Labtool - product page]
|
|
|
. Vassilis Serasidis: _Low Speed AVR oscilloscope_ [Online] http://www.serasidis.gr/circuits/AVR_oscilloscope/avr_oscilloscope.htm[Low Speed AVR oscilloscope project page]
|
|
|
. element14 community: _XMOS and Raspberry Pi Oscilloscope XAE 1000_ [Online] https://www.element14.com/community/community/raspberry-pi/raspberrypi_projects/blog/2014/06/22/xmos-startkit-xmos-and-raspberry-pi-oscilloscope-xae-1000[XMOS and Raspberry Pi Oscilloscope XAE 1000 - project page]
|
|
|
|
|
|
{empty} +
|
|
|
|
|
|
== https://es.technikum-wien.at/openlab/openlab_wiki/wikis/home[Home] | https://es.technikum-wien.at/openlab/openlab_wiki/wikis/SOTA_osci[<State of the Art Research (SOTA) (Oscilloscope)] | https://es.technikum-wien.at/openlab/openlab_wiki/wikis/SOTA_osci_FPGA[FPGA/CPLD-based projects/products>] |