Vous êtes sur la page 1sur 10

Open source scanning probe microscopy control software package GXSM

Percy Zahl, Thorsten Wagner, Rolf Möller, and Andreas Klust

Citation: Journal of Vacuum Science & Technology B 28, C4E39 (2010); doi: 10.1116/1.3374719
View online: http://dx.doi.org/10.1116/1.3374719
View Table of Contents: http://scitation.aip.org/content/avs/journal/jvstb/28/3?ver=pdfcov
Published by the AVS: Science & Technology of Materials, Interfaces, and Processing

Redistribution subject to AVS license or copyright; see http://scitation.aip.org/termsconditions. Download to IP: 139.124.18.99 On: Tue, 12 Nov 2013 14:38:19
Open source scanning probe microscopy control software package GXSM
Percy Zahla兲
Center for Functional Nanomaterials, Brookhaven National Laboratory, 11973 Upton,
New York 11973-5000
Thorsten Wagner
Atomic Physics and Surface Science Division, Institute of Experimental Physics, Johannes Kepler University
Linz, Altenbergerstr. 69, A-4040 Linz, Austria
Rolf Möller
Department of Physics, University of Duisburg-Essen, Lotharstrasse 1, 47048 Duisburg, Germany
Andreas Klust
Massachusetts Institute of Technology, 77 Massachusetts Avenue, Cambridge, MA 02139–4307
共Received 28 October 2009; accepted 1 March 2010; published 20 May 2010兲
GXSM is a full featured and modern scanning probe microscopy 共SPM兲 software. It can be used for
powerful multidimensional image/data processing, analysis, and visualization. Connected to an
instrument, it is operating many different flavors of SPM, e.g., scanning tunneling microscopy and
atomic force microscopy or, in general, two-dimensional multichannel data acquisition instruments.
The GXSM core can handle different data types, e.g., integer and floating point numbers. An easily
extendable plug-in architecture provides many image analysis and manipulation functions. A digital
signal processor subsystem runs the feedback loop, generates the scanning signals, and acquires the
data during SPM measurements. The programmable GXSM vector probe engine performs virtually
any thinkable spectroscopy and manipulation task, such as scanning tunneling spectroscopy or tip
formation. The GXSM software is released under the GNU general public license and can be obtained
via the internet. © 2010 American Vacuum Society. 关DOI: 10.1116/1.3374719兴

I. INTRODUCTION AND OVERVIEW digital feedback loops5–9 and are demonstrative, but less
available 共mostly home made hardware兲 to the scientist as
The development of the scanning tunneling microscope1,2 they are not maintained nor supported like GXSM is. This
共STM兲 provided scientists with a versatile tool to image, article presents the major updates and new developments of
spectroscopically analyze, and manipulate atoms and mol- the GXSM software project and will focus on the new data
ecules on surfaces at length scales from ⬃100 ␮m down to acquisition and control design and new features since the
the atomic scale. Due to the tremendous potential of scan- first publication.10
ning probe microscopy 共SPM兲 many different SPM tech- In 2003 support for a commercially available completely
niques and instruments such as the STM and the atomic new digital signal processor 共DSP兲 platform “signal
force microscope 共AFM兲 were developed in the last 30 ranger”11 共SR兲 with USB interface was started. At this point
years.3,4 Nowadays, SPM is widely used and belongs to the a new fully modular hardware interface 共HwI兲 plug-in was
standard experimental techniques in many different research designed and the HwI for the new platform was created. A
fields, starting from basic surface science, where it origi- fourth generation of DSP code design was set into place.
nated, surface chemistry, to biology. Especially the potential This new design of a low level real time and multitask ca-
of local spectroscopic measurements and manipulations on pable data processing DSP code allows simultaneous scan-
atomic scale was and is still discovered by many research ning, probing 共spectroscopy, etc.兲, or changing of almost ev-
groups. There is a very broad range of different types of ery parameter at any time.
spectroscopy and manipulation methods existing and only a Later the invention of the generic vector probe 共VP兲 en-
few commercial SPM control and software solutions are ad- gine took place, a novel approach to spectroscopic measure-
dressing these needs in a universal way and all of them are ments and manipulations. This engine allows performing al-
built on top of special instruments and hardware solutions. most every imaginable spectroscopic measurement or
Furthermore, for most systems the source code is not avail- manipulation in real time without the need for low level
able as open source. Therefore, the extension of these soft- programming.
ware packages by their users to special dedicated tasks is Also the vector scan generator and data acquisition engine
very limited if not impossible. and data transfer were redesigned for maximum of efficiency
Previous publications on various special and universal and universality. The DSP is now running a full frame scan
SPM control hardware cover computer controlled analog or in real time with zero time loss in between lines for any data
transfers, as data are continuously streamed via a first in first
a兲
Electronic mail: zahl@users.sourceforge.net out 共FIFO兲 background task. Also all user interactions with

C4E39 J. Vac. Sci. Technol. B 28„3…, May/Jun 2010 1071-1023/2010/28„3…/C4E39/9/$30.00 ©2010 American Vacuum Society C4E39

Redistribution subject to AVS license or copyright; see http://scitation.aip.org/termsconditions. Download to IP: 139.124.18.99 On: Tue, 12 Nov 2013 14:38:19
C4E40 Zahl et al.: Open source SPM control software package GXSM C4E40

own needs, not excluding the DSP code. Since over 9 years it
resides at the open source development network14 “source-
forge.net” as a “GXSM” project. Public online help and dis-
cussion forums are available. For convenience an Ubuntu
based LINUX distribution can be downloaded from Ref. 15,
which includes the GXSM binaries as well as the source code
for further development. The distribution can even run in a
live mode without installation on a host PC.

II. GXSM ARCHITECTURE


The GXSM system core provides a highly efficient multi-
dimensional data management module with no software size
limits of scans—you can get image sizes up to your hard-
ware 共DSP/analog兲 capabilities. It allows storing any native
scalar numbers up to 共8–64 bit integers and floating point
numbers up to double precision兲. Natively, two-dimensional
data are handled as 共simple兲 images but the core supports up
to four dimensions, i.e., stacks of layered images in time. A
data access module allows extracting or manipulating data. It
can deliver interpolated or averaged data of selected regions,
generate cuts in any dimension, and copy and rearrange or
convert data. Also any number of arbitrary extra data sets,
FIG. 1. 共Color online兲 Screenshot of the GXSM main control window, only including notes or spectroscopic data, can be attached to any
one of many available control windows. Check the GXSM home page for position within this main data set. The universal NetCDF
more screen shots of “GXSM in action” 共Ref. 14兲.
共Ref. 16兲 data file format remains the GXSM native data stor-
age back end and is still compatible with all versions.
the DSP and scan generator are instant, no delays, no waits Multidimensional data visualization functionality is
for finishing lines, and scan start/stop is possible at any time, implemented in the GXSM core.10 Further analysis function-
instantly. ality as data filtering, basic math, statistical data extraction,
Most recently in 2009, the next generation DSP “signal and data exchange with other formats is provided via plug-
ranger-Mark2 共SR-MK2兲” with a specifically for SPM and, ins. This plug-in interface enables users to write their own
in particular, for this project optimized digital to analog and plug-ins and thus adds functionality that they need. We en-
analog to digital interface “SR2-A810” became reality11,12 courage users to share these with the GXSM user community.
and will be discussed in this article. The advantage of using GXSM itself for data analysis and
It takes over all the exact same well established DSP soft- visualization is that the original precision 共floating point兲 and
ware and HwI design to a new hardware providing all known all dimensions are preserved. However there are other free
features but delivers over three times of the old SR 共Ref. 13兲 software packages like IMAGEJ,17 GWYDDION,18 and WSXM
performance combined with a high precision data conversion 共Ref. 19兲 available for image processing. All of them allow
and up to 150 kHz sampling rate and USB-2.0 interface— importing data acquired with GXSM.
compared to 22 kHz of the old SR with USB-1.0. The HwI plug-in provides all hardware specific interfac-
This new, highly for SPM optimized and very affordable ing and special instrument controls. Thus it decouples the
GXSM core fully from any specific hardware and allows
DSP based SPM control and data acquisition hardware solu-
tion is suitable for basically all homemade SPM, especially developing support for other SR based SPM controls
new prototypes intended to invent new modes of operation, independently.
where the development of a complete new software system For example, recently a GXSM HwI plug-in was developed
from scratch would be too expensive and time consuming. by Carla 共see Refs. 20 and 21兲 to add support their real time
LINUX kernel powered “feedback control loop of a scanning
However it can also replace several commercial systems if
there is a need for extended flexibility or functionality. probe microscope,” which was so far missing a dedicated
Today, the GXSM project and design builds on over 10 graphical user interface.
years of expertise in using DSPs for SPM control and data
A. GXSM SPM control architecture
handling. It keeps serving the SPM community with a mod-
ern and flexible SPM control and data analysis software, Figure 2 shows all components of a typical SPM configu-
which is not limited to SPM data at all. Figure 1 shows the ration using the GXSM system. User interacts via the X11
GXSM main control window. windows system with GXSM and its plug-ins. The state of the
Since GXSM is licensed under the GNU general public art graphical user interface library Gnome/ Gtk+ 共Ref. 22兲 is
license the full source code is published and everyone is used for seamless Gnome desktop integration.
allowed to use and modify the software package for their Efficient and fast handling of multidimensional data is the

J. Vac. Sci. Technol. B, Vol. 28, No. 3, May/Jun 2010

Redistribution subject to AVS license or copyright; see http://scitation.aip.org/termsconditions. Download to IP: 139.124.18.99 On: Tue, 12 Nov 2013 14:38:19
C4E41 Zahl et al.: Open source SPM control software package GXSM C4E41

outputs plus digital inputs for two independent high-


resolution, hardware gated 共utilizing a field programmable
gate array 共FPGA兲兲 counter channels of 32 bits each 共16 bits
on the FPGA, increased to 32 bits on DSP software level, can
be increased further to any width in software兲, both with
quadrature input option.
The real time DSP system then connects via analog and
optional digital input/output 共IO兲 to the SPM head. A low-
noise five-channel 共⫾X , ⫾ Y , Z兲 piezovoltage amplifier
“piezodrive”24 with analog offset inputs and manual ten-turn
offset control knobs and manual or computer controlled
gains is used to drive commonly used piezoelectric trans-
ducer 共PZT兲 type segmented piezotube scanners. Selectable
gains are ranging from 1⫻ to 20⫻ as required for typical
PZT scanner piezos 共⫾200 V兲. It also provides a selectable
bandwidth limiter/low pass filter for all channels 共1, 10, and
50 kHz兲. The bias voltage is fed via a buffer/amplifier/filter
to the SPM head.
A current to voltage amplifier25 is used to pick up the
tunneling current if the feedback loop is running on a tun-
neling junction in STM mode. In this case, the default loga-
FIG. 2. 共Color online兲 Schematic of a typical SPM control system using
rithmic linearization of the input signal is done by the DSP.
GXSM and the signal ranger MK2-A810 DSP: The SPM user interacts with Otherwise a linear mode can be selected for nontunneling
the SPM via the GXSM software using the X11 window system. A GXSM HwI feedback signals as commonly used for AFM.
plug-in sends and receives data via a Unix device, which is managed by a For coarse motion and automatic tip approach, several
hardware dependent LINUX kernel module. This module moves data via the
Universal Serial Bus 共USB-2.0兲 to and from the DSP subsystem. This makes
modes are supported. Especially XY-piezoinertia driven mo-
GXSM independent of any hardware, as only the signal ranger specific HwI tions used by “Mover” 共Besocke/Beetle兲26 type SPMs are
plug-in talks to the low level hardware and feed data into the GXSM to supported. However digital IO can also be used to drive ex-
manage it further. The MK2-A810 is built around a TMS320C5502 DSP that ternal motor controls. A Python27 scripting interface allows
is interfaced to an XC3S400 FPGA. This FPGA manages digital IO, two 32
bit counters, and the digital to analog interface which provides 8⫻ high implementing additional custom approach variants.
precision ADCs and 8⫻ DACs, each with a full 16 bit resolution, low drift,
low loop delay 共in/out兲 at data conversion rates up to 150 kHz. The bias
voltage is passed via a bias buffer/filter to the SPM. The DSP runs a SPM
B. Hardware interface plug-in for signal ranger DSP
specialized software. The SPM head/piezotube共s兲 are connected to a piezo- The HwI plug-in implements the basic set of methods
drive, which provides the needed symmetric ⫾X, ⫾Y, and Z voltages at
various gains 共typically 1 ⫻ , . . . , 20⫻兲 as needed for optimal performance. required by the fully abstracted hardware base class defined
Analog signal sources 关e.g., tunneling current, amplified via a current to by GXSM and thus providing basic SPM control user inter-
voltage converter 共IVC兲, and auxiliary 共aux兲 signals兴 are connected to the faces and scan functionality to the whole GXSM system. Any
analog input共s兲. The digital ports are available for a slider control or other
further more specialized task or management of DSP inter-
optional purposes. Also two independent counter/timer channels are
realized. actions, such as feedback controls, scan speed, or spectros-
copy, have to be implemented by the HwI including the
graphical user interface 共GUI兲. This allows a maximum of
main tasks of the GXSM core. The details about the capability flexibility in supporting any hardware and instrument by just
to handle basically unlimited amounts of data in up to four adding a HwI for it. Every HwI plug-in can be set up to
dimensions and powerful visualization tools are not dis- automatically store additional parameters into the NetCDF
cussed here but online and within the GXSM manual.14,23 data file at the time of data file saving.
A special new type of plug-in is the HwI plug-in. There The signal ranger HwI implements the methods to interact
can be multiple HwI plug-ins existing, but only one 共or none兲 with the signal ranger DSP subsystem. It is responsible for
can be loaded at GXSM startup to connect to a given SPM 共or setting all parameters and data streaming. For the users the
similar兲 hardware. controls are presented within one control window, as shown
The HwI has to provide all essential hardware control in Fig. 3, ordered by tasks and separated into folders for
functions and feed the data to the GXSM core. Also all hard- feedback and scan control 共as shown here兲.
ware specific user interface modules are implemented at In addition to standard SPM functions such as setting the
plug-in level 共see Sec. II B兲. bias voltage and I / V-spectroscopy, the HwI plug-in also pro-
The hardware, here the signal ranger MK2-A810 DSP vides several advanced functions. For instance, GXSM is able
board, does all real time work, feedback, scanning, probing, to perform automatic spectroscopic measurements during
data preprocessing, digital to analog conversion 共DAC兲 and scanning 共raster vector probe兲 and scan parameters can be
analog to digital conversion 共ADC兲, and also provides a 16 changed automatically when passing given positions during
bit wide interface of generic programmable digital inputs/ scans 共trigger function兲. For sample and tip manipulation,

JVST B - Microelectronics and Nanometer Structures

Redistribution subject to AVS license or copyright; see http://scitation.aip.org/termsconditions. Download to IP: 139.124.18.99 On: Tue, 12 Nov 2013 14:38:19
C4E42 Zahl et al.: Open source SPM control software package GXSM C4E42

FIG. 3. 共Color online兲 Screenshot of the signal ranger HwI control window,
feedback folder selected. The other folders are for “trigger” 共trigger param-
eter changes while scanning兲, “advanced” 共IIR filter configuration, raster
vector probe setup and expert scan settings兲, “STS” 关ordinary I / V spectros-
copy with option for gap 共Z兲 adjustments, repetitions, multiposition probes,
etc.兴, Z 共vertical manipulation兲, PL 共generate bias/Z pulses for tip forming,
etc.兲, “LPC, SP” 共custom user modes兲, “TS” 共time spectrum兲, “LM” 共lateral
manipulation兲, “lock-in” 共DSP lock-in amplifier settings兲, “AX” 共auxiliary FIG. 4. 共Color online兲 Schematic of the DSP code topology: Start up section
data collection, e.g., from a spectrometer via the counter channel兲. Via configures the DSP system, sets up timers for data processing ISR and enters
“graphs” the user defines which data should be collected and how to plot it. the never ending idle loop, which implements a state machine.

GXSM supports modes for lateral and vertical manipulation of


manipulation the vector probe engine was designed and
atoms or molecules as well as voltage pulses that can also be implemented 共see section vector probe engine兲. Also a full
used for tip forming. A full description of available features digital lock-in amplifier with bias modulation providing re-
can be found in the GXSM manual and on the website.14 sults for two arbitrary phase settings for first and second
Its open design allows users to add their own custom de- order signals is implemented. It can be used for dI / dV im-
signed “probe” or “manipulation” tasks simply by adding a aging or spectroscopy. It typically operates at multiples of
new tab to enter the desired boundary conditions from which 586 Hz up to approximately 5 kHz.
the DSP vector probe table is generated to set up the custom Real time multitasking of all above mentioned DSP jobs
mode 共refer to section “vector probe engine”兲. is realized, synchronous with the data sampling rate, so any
actions/reactions of all jobs appear simultaneously, including
III. DSP SOFTWARE DESIGN FOR SIGNAL RANGER the gating of both counters, which are synchronous to the
The design of the DSP program is similar to a state ma- data sampling on hardware level and ensure any counting
chine. The state engine is implemented as “idle loop,” as windows matched to the scanning. All tasks are designed as
shown in Fig. 4. The interrupt subroutine 共ISR兲 “data pro- nonblocking and fully finishing their designated job within
cess” is a real time job running at the fixed data conversion every cycle. Job control is realized in two ways: On the one
rate of 75 kHz. Every time the ISR is executed a new set of hand jobs get started and canceled via the state machine as
16 bit data samples from all eight ADCs is available for reaction to an user request, on the other hand jobs can be
processing. Depending on the current state none or several triggered in real time by an already running job, can cancel
nonblocking subtasks were executed, and finally a modified themselves 共if finished兲 or can be canceled by a different job.
set of 16 bit data for the eight DACs is ready for conversion The status of any job 共running or stopped兲 can be determined
at end of this ISR. The full loop delay is five samples 共two in on user request at any time.
and three out兲 or 67 µs. The scan and feedback jobs, in particular, are designed so
The major SPM tasks are to run the Z position control that control parameters can be adjusted at any time and take
feedback loop, generate XY offset, and scan motions coordi- effect immediately; a scan can be interrupted even in the
nated with all data acquisition tasks. A full frame real time middle of a scan line at zero delay.
vector scan generator and multichannel data collecting task, Further, the whole driver architecture is multitasking ca-
automatic bandwidth adaption to current scan speed via digi- pable. This allows running multiple jobs on user level watch-
tal data over sampling are implemented, including trigger for ing or manipulation DSP parameters and data, as long as this
subgrid probe and X scan position sensitive trigger for pre- does not interfere the DSP operation itself 共i.e., two requests
defined parameter changes. to scan an image from two different jobs will certainly not
Further a control module for tip/sample coarse motion work兲; whereby it is possible to have GXSM scanning and
usable for typical inertial driven motors for positioning and have a different job requesting a vector probe, offset move,
automatic tip approach is available. For spectroscopy and watch Z, etc.

J. Vac. Sci. Technol. B, Vol. 28, No. 3, May/Jun 2010

Redistribution subject to AVS license or copyright; see http://scitation.aip.org/termsconditions. Download to IP: 139.124.18.99 On: Tue, 12 Nov 2013 14:38:19
C4E43 Zahl et al.: Open source SPM control software package GXSM C4E43

Optionally a second trace of the same scan line at fixed and


offset height relative to the previously determined profile
with feedback off is possible 共as often used for AFM to de-
termine magnetization兲. Digital bandwidth adjustment ac-
cording to scan speed of the acquired incoming data is
performed.
Any parameter such as scan speed 共given in Å/s兲, feed-
back controls, bias, offset, and trigger points can be changed
any time while scanning. The only exception to that is the
scan geometry 共size and number of points兲. Any probe can be
performed while scanning without interrupting the scan pro-
cess, i.e., the tip keeps moving, if desired. The position of the
probe is recorded and marked within the scan for later re-
view. GXSM is also keeping track of when, where, and how
FIG. 5. 共Color online兲 STM image demonstrating atomic resolution of an major parameters were changed while scanning, i.e., bias,
epitaxially grown single graphite layer 共graphene兲 on top of a ruthenium speed, and setpoint changes are recorded for later review.
film. Steps and the very dominant Moiré are very well resolved as the Several tools for on-the-fly profile and data extraction/
consecutive zoom-ins are shown 关zoom into the original big data set as visualization and background corrections are available and
shown in full in the small inset of 250⫻ 250 nm2 共scanned with 10 000
⫻ 10 000 pixels兲兴 共provided by Albrecht, CFN兲. can be used any time, even while a scan is in progress. In
Fig. 5 a sample STM scan shows atomic resolution of an
epitaxially grown single graphite layer 共graphene兲 on top of a
A. Vector scan generator ruthenium film. Steps and the very dominant Moiré are very
well resolved as the consecutive zoom-ins are shown. The
A vector scan generator implemented on the SR platforms
insets are zooms into the original big data set, as shown in
is running real time full frame scans, including scan rotation.
full in the small inset of 250⫻ 250 nm2, which was scanned
Scan sizes and number of data points can be set freely to any
with 10 000⫻ 10 000 pixels resolution. The profile 共show
number not exceeding the DAC resolution limits. The num-
line tool兲 is shown in Fig. 6.
ber of acquired data sources 共channels兲 and scan speed is
only limited by the effective USB-2.0 bandwidth 共including
B. Vector probe engine
FIFO overhead and transfers protocols兲 as the effective data
stream has to keep up to prevent buffer over-runs. All analog A powerful feature of scanning probe microscopy is the
inputs, the data of the digital lock-in amplifier and 32 bit ability to perform spectroscopic measurements and manipu-
precision gated counter 共DSP/FPGA based兲 are available. lations on the atomic scale. The most common example for
Data can be taken in forward and/or backward scan direction. scanning probe spectroscopy are I / V and dI / dV curves taken

FIG. 6. 共Color online兲 Profile as extracted from Fig. 5 via the “show line tool” as marked with a line.

JVST B - Microelectronics and Nanometer Structures

Redistribution subject to AVS license or copyright; see http://scitation.aip.org/termsconditions. Download to IP: 139.124.18.99 On: Tue, 12 Nov 2013 14:38:19
C4E44 Zahl et al.: Open source SPM control software package GXSM C4E44

The state of the instrument Ss,i is defined by all variables


controlled by the DSP. For most SPMs, the state vector Sជ s,i at
point i within a section s is defined by

Sជ s,i ª 共v,x,y,z,fb兲,

where v denotes the bias voltage, 共x , y , z兲 is the three-


dimensional tip position, and fb is the feedback status 共on/
off兲. It should be noted that this definition of Sជ is only an
example. GXSM provides enough flexibility for controlling
instruments that may require a different set of control param-
eters.
Assuming a linear state change within every section, the
change in the SPM state between two consecutive measure-
ment points i and i + 1 is described by the step vector dS,

dSជ ª 共dv,dx,dy,dz,fb兲.

Each component of the vector simply describes the change in


one parameter controlled by the DSP, only the fb flag just
tells the feedback to be on or off.
Similar to the state, the data acquired at each measure-
ment point i in a section are selected from the DSP’s input
channels by the data vector D ជ,
FIG. 7. 共Color online兲 LT-STM/STS study performed with GXSM: The STM

冉 冊
scan shows a Cu共111兲 sample covered with a submonolayer of PTCDA and
a small amount of copper phthalocyanine 共CuPc兲 molecules, which are 共ADC0,ADC1, . . . ,ADC7兲,
ជª
D .
found to be in contact to the PTCDA islands at low temperatures 共8 K兲. The 共Zmon,L0,L1a,L1b,L2a,L2b兲
spectroscopy data were measured at distinct positions of the molecules as
indicated by the colored dots. As a reference, the dI / dV spectrum of the bare
Cu substrate is given 共black line兲. It exhibits the Shockley surface state at
Here, ADCn is a analog input channel with n = 0 , . . . , 7, Zmon
⬃0.45 eV below Fermi energy. The PTCDA molecules show an interface is the current z value given by the feedback loop, and Lx
state 共sharp feature at ⫺0.75 eV兲. Due to molecule-molecule interaction, denotes data generated by the built-in digital lock-in ampli-
some benzene rings of adjacent CuPc molecules also show this interface fier. The components of the data vector are flags that are set
state, in this example shifted by 100 meV.
to 1 when data are to be acquired and to 0 if no data are
taken 共to optimize data transfer bandwidth, only requested
data are transferred to and recorded by GXSM兲.
A section of a vector probe event is then described by the
with STMs where the tunneling current 共I兲 and its derivative change in the systems state dSជ between the individual data
共dI / dV兲 is measured as a function of the bias voltage to points and the data sources D ជ to be acquired at each data
study the local electronic structure of the sample, see Fig. 7. point,
Countless variations in scanning probe spectroscopy are used
by different research groups. However, many SPM control pជ s ª 共dSជ ,D
ជ ,n, ␯兲,
software systems are restricted to the most common spectros-
copy modes, such as I / V curves. GXSM features a novel ap- where n is the number of times to apply dSជ and also the
proach to scanning probe spectroscopy and manipulation, the number of data points in this VP segment and ␯ is the rate in
VP engine. GXSM’s universal vector probe allows almost ev- vectors per second, which defines the duration 共n / ␯兲 of every
ery imaginable spectroscopy or manipulation task to be per- probe segment.
formed without the need to modify the DSP code. Neverthe- A complete VP is defined by a list of probe vectors pជ s that
less, the VP engine DSP code is small and extremely efficient are executed consecutively. A null vector is used as program
to reduce the memory footprint and increase performance. end mark for the VP engine.
The basic idea behind GXSM’s VP is that every spectro- For example, a simple delay is done by just setting all
scopic measurement 共probe兲 can be described by the state of components of dSជ to zero and the fb flag as desired and then
the instrument at each measurement point and the data ac- use n and ␯ to define the total duration n / ␯ of this segment.
quired at this point and how to get to the next state. A full A simple bias ramp can be achieved by setting just the value
generic probe can usually be split into sections s of specific for dv, the total bias change will be defined as n · dv and the
actions such as “go from the current state to the initial in- duration again by n / ␯.
tended probe state” 共i.e., ramp from current bias to the start This description is simplified, as the real implementation
bias兲, then “run the probe itself” 共ramp from start to end includes digital oversampling, data averaging, and has addi-
bias兲, and “finish with a return to the original state.” tional vector components. Our vector probe engine has also

J. Vac. Sci. Technol. B, Vol. 28, No. 3, May/Jun 2010

Redistribution subject to AVS license or copyright; see http://scitation.aip.org/termsconditions. Download to IP: 139.124.18.99 On: Tue, 12 Nov 2013 14:38:19
C4E45 Zahl et al.: Open source SPM control software package GXSM C4E45

dedicated vector program control parameters to allow simple


and nested loop constructs in addition to consecutive vector
execution.
As the generation of a set of probe vectors for a specific
task is not complicated but also not user friendly, the GXSM
HwI implements a vector generator for several SPM typical
probe tasks. It derives the needed vector set for the desired FIG. 8. 共Color online兲 Schematic of the new DSP feedback with four signal
task and downloads it to the DSP for execution. The design source mixer. The input signals are transformed as requested 共TRi: linear/
of this vector generator including the GUI is kept simple and logarithmic/fuzzy兲 and the error signal ⌬i is computed for every channel i
is user extendable. using individual set points. The sum of previously with gain Gi scaled delta
signals is computed and feed into the feedback algorithm fb as ⌬.

C. Gridded probe
GXSM allows setting up an automated gridded probe while speed 共given here in pixels/s兲. All available input channels
scanning. The vector scan engine can trigger any probe ac- ADCi are managed in this automatic scan speed matching
tion every nth data point. We are assuming a scan speed slow bandwidth mode,
compared to the probe time 共i.e., the time in between trig- N−1
gering single probes must be at least larger than the probe 1 75 000 Hz
V = 兺 ADCi共n兲, N=
duration itself兲. This probe action is performed fully simul- N n=0 pixel/s
taneous to the scanning, meaning the tip keeps—very
slowly—moving. The advantage of this is that the scan im- or in signal noise gain 共SN兲 terms,
age stays undisturbed by any means of piezononlinearities,
such as creep. Nevertheless a simple stop and go mode is
available as well.
SN = 20 log 冉冑 冊
1
N
The first trigger within every line is shifted by a computed is the gain in signal to noise ratio—assuming statistical
number of pixels 共offset from left兲 to get an optimized cov- noise—on top of the available 16 bits 共1 bit rms兲 of the
erage of the whole scan with data points. By using this lin- SR2-A810.12
ewise variation in the offset, the probe data are not only Further the latest experimental release revises the feed-
acquired on a fixed grid 共e.g., every nth point in every mth back loop configuration and allows up to four signals 共pro-
line兲 but in every line. While maintaining a constant raster vided on ADC0,…,3兲 to be user configurable as feedback
speed of the tip, the number of data points can be increased sources using linear or logarithmic signal transformations
so that an implemented filter algorithm can be used to inter- and can even be mixed and weighted in different ways via
polate between the two-dimensional distributed probe points the gains Gi, as illustrated in Fig. 8. It also includes a special
to restore a multidimensional, hence multilayered probe im- “fuzzy” mixing mode to enable a particular channel depend-
age with the full pixel resolution of the topography image. ing on its signal level; only the “amount beyond” is used for
⌬i computation.
D. Roadmap and latest developments for the This multichannel feedback mode allows, for example,
MK2-A810 SPM control continuous transitions between STM and AFM or dynamic
force microscope 共DFM兲 operation modes. The fuzzy mode
As experimental code release a high-resolution mode for
can be used in many ways, one may be a kind of “tip guard”
the DAC converts is implemented. This will allow increasing
mechanism watching for special conditions, i.e., watching
the bit resolution of selected output channels by 1–3 bits.
the power dissipation signal commonly available from phase
This is possible on DSP software level now running sam-
locked loop controllers used for DFM.
pling and data processing at full 150 kHz but limiting all
For channel ADC0 a real time self-adaptive infinite re-
other DSP tasks such as scan and feedback to a reasonable
sponse 共IIR兲 filter which adjusts its frequency as function of
fraction of this. For all input channels an automatic scan
the signal magnitude is implemented—assuming to be used
speed depending on bandwidth adjustment 共simple averag-
for sampling the tunnel current in STM mode. The user se-
ing兲 is used as before, but now the gained resolution due to
lects a crossover current Ic and cutoff lower limit frequency
statistics is not any longer thrown away 共rounded off to in-
f min, also the upper bandwidth can be limited to f max. This
teger兲, but the full 32 bit accumulated value and normaliza-
will then in real time limit the ADC0 input bandwidth in
tion count are kept and transferred. A normalization to the
dependence of the signal magnitude 兩In兩 according to
original 16 bit magnitude, but now as floating point number,
is done by the HwI as data post processing. For performance f min
Ic + 兩In兩
reasons and future expansions the FIFO data stream consist- ln共q兲 f max
ing of a set of 32 bit signals are now compressed using first f 0共q兲 = − 75 000 Hz , q共In兲 = 1 − .
2␲ Ic + 兩In兩
order linear predictor and custom encoded byte packed.
In particular, the signal to noise ratio of small or noisy This real time computed q is limited to a qmin matching the
signals will increase automatically while lowering the scan given f max before the bandwidth limited 共IIR filter兲 current

JVST B - Microelectronics and Nanometer Structures

Redistribution subject to AVS license or copyright; see http://scitation.aip.org/termsconditions. Download to IP: 139.124.18.99 On: Tue, 12 Nov 2013 14:38:19
C4E46 Zahl et al.: Open source SPM control software package GXSM C4E46

0
10
ADC-0: current
combination with a DSP based hardware it becomes a com-
Z-mon: IIR response
plete real time SPM control system including a full digital
-1
signal [V]

10 feedback, scan generator, and a flexible spectroscopic/


-2
manipulation mode. The project does not only provide the
10
software binaries and its sources to the scanning probe com-
-3
munity free of charge but also the support by community
driven online discussion and help forum.14,15
10
1.0 0.5 kHz
1 kHz

5 kHz

0.5
ACKNOWLEDGMENTS
q

10 kHz

The authors thank all volunteers29 contributing to the


q cut-off level 20 kHz
GXSM project and the GXSM user community for many ideas
0.0
0 2 4 6 8 10 12 and discussions. The shown STM image in Fig. 5 was taken
time [ms]
by Peter Albrecht at the Center for Functional Nanomateri-
FIG. 9. 共Color online兲 Live IIR performance demonstration in GXSM self-test als. In particular the authors thank Bruno Paillard and
共Ref. 28兲 configuration. A stair-case-like current input signal starting at 3.6 SOFTDB 共Ref. 11兲 for their outstanding cooperation and the
pA noise level assuming 1 V/nA 共or a ⫻109 gain兲 with exponential steps design of the new A810 analog module.12 One of the authors
starting at 20 pA and scaled by ⫻2 for the following steps 共ADC-0兲 is
generated using the GXSM PL-vector probe mode. At the same time the
共R.M.兲 gratefully acknowledges financial support from the
IIR-response 共via Z-mon兲 and the real time q is recorded. IIR settings used: Deutsche Forschungsgemeinschaft under program “SFB616:
f min = 50 Hz, f max = 20 kHz, and Ic = 500 pA. Energy Dissipation at Surfaces.” This work was performed
under the auspices of the U.S. Department of Energy under
Grant No. DE-AC02-98CH1-886.
signal Ĩn, which is recursively computed on the DSP accord-
1
ing to G. Binnig, H. Rohrer, C. Gerber, and E. Weibel, Phys. Rev. Lett. 49, 57
共1982兲.
2
Ĩn = qĨn−1 + 共1 − q兲In . G. Binnig, H. Rohrer, C. Gerber, and E. Weibel, Phys. Rev. Lett. 50, 120
共1983兲.
3
Figure 9 illustrates the IIR filter response to an exponen- E. Meyer, H. J. Hug, and R. Bennewitz, Scanning Probe Microscopy: The
Lab on a Tip, 1st ed. 共Springer, New York, 2003兲.
tial steepening stair case test input signal. This is a live IIR 4
Applied Scanning Probe Methods II: Scanning Probe Microscopy Tech-
performance demonstration utilizing the GXSM vector probe niques, NanoScience and Technology, 1st ed., edited by B. Bhushan and
engine itself and having GXSM and the MK2-A810 set up in H. Fuchs 共Springer, New York, 2006兲, Vol. 2.
5
a self-test28 configuration. The stair-case-like current input A. Boudreau, B. Paillard, and P. Rowntree, Meas. Sci. Technol. 13, 1599
共2002兲.
signal is starting at about 3.6 pA noise level assuming 1 6
D. Brodbeck, L. Howald, R. Luthi, E. Meyer, and R. Overney, Ultrami-
V/nA 共or a ⫻109 gain兲. The steps start at 20 pA and scale by croscopy 42–44, 1580 共1992兲.
⫻2 for the adjacent steps 关ADC-0 共black兲兴. The test signal is 7
8
T. M. H. Wong and M. E. Welland, Meas. Sci. Technol. 4, 270 共1993兲.
generated using the GXSM “PL”-vector probe mode. At the C. Barchesi, C. A. R. Generosi, C. Giammichele, M. Luce, and M.
Rinaldi, Rev. Sci. Instrum. 68, 3799 共1997兲.
same time the IIR-response 关via Z-mon 共red兲兴 and the real 9
H. Fuchs, STM student project 共Uni Münster兲, see URL: http://sxm4.uni-
time q 共blue兲 is recorded. The IIR settings used for this dem- muenster.de/stm-en/.
10
onstration are f min = 50 Hz, f max = 20 kHz, and Ic = 500 pA. P. Zahl, M. Bierkandt, S. Schröder, and A. Klust, Rev. Sci. Instrum. 74,
1222 共2003兲.
Looking at the IIR signal 共red兲 the filter effectivity is 11
SOFTDB, manufacturer of all the signal ranger DSP boards, see URL:
clearly visible for small signals; also the fast “step-up” re- http://www.softdb.com.
12
sponse is demonstrated by comparing with the slower “step- MK2-A810, signal ranger MK2 with Analog810 module, see URL: http://
down” response. Also note the q cutoff indicated as the q www.softdb.com/a-dsp_SPM_Controller.html.
13
SR-STD, SR-SP2: Signal ranger standard, self-powered 2.
cutoff level at 20 kHz. 14
P. Zahl, T. Wagner, and A. Klust, GXSM software project homepage, see
For a low signal to noise ratio 共given for tunneling cur- URL: http://gxsm.sourceforge.net, 2010.
15
rents in the picoampere regime兲 the feedback stability can be GXSM Live CD/DVD Ubuntu System can be downloaded via URL: http://

gained by a combination of IIR filtering and slower scan- www.ventiotec.com/linux/GXSM-Linux.iso, provided via Ventiotec
Dolega Wagner GbR, Marler Straße 100-102, 45896 Gelsenkirchen, Ger-
ning. This digital self-adapting IIR filter implementation al- many.
lows full control of the frequency ranges and guarantees a 16
UNIDATA, NetCDF Homepage: see URL: http://www.unidata.ucar.edu/
fast tip response to a sudden increase in the tunnel signal 共up packages/netcdf.
17
to full band width兲 as needed to prevent the tip from crashing The IMAGEJ project, see URL: http://rsbweb.nih.gov/ij/index.html.
18
The GWYDDION project, see URL: http://gwyddion.net.
into step bunches or other “edges.” 19
I. Horcas, R. Fernandez, J. M. Gomez-Rodriguez, J. Colchero, J. Gomez-
Herrero, and A. M. Baro, Rev. Sci. Instrum. 78, 013705 共2007兲.
20
E. Conclusion G. Aloisi, F. Bacci, M. Carla, D. Dolci, and L. Lanzi, Rev. Sci. Instrum.
79, 113702 共2008兲.
21
We present an update on the open source scanning probe Florence Open SPM, see URL: http://spm.polosci.unifi.it.
22
Miguel de Icaza, the Gnome desktop environment, see URL: http://
microscopy control project GXSM. The GXSM control soft-
www.gnome.org.
ware is already a versatile data processing tool for multidi- 23
P. Zahl, S. Schröder, T. Wagner, and A. Klust, The GXSM Manual,
mensional data obtained by scanning probe microscopes. In Brookhaven National Laboratory, NY, USA, 2010, online available via

J. Vac. Sci. Technol. B, Vol. 28, No. 3, May/Jun 2010

Redistribution subject to AVS license or copyright; see http://scitation.aip.org/termsconditions. Download to IP: 139.124.18.99 On: Tue, 12 Nov 2013 14:38:19
C4E47 Zahl et al.: Open source SPM control software package GXSM C4E47

URL: http://gxsm.sourceforge.net, navigate to Documentation, Manual/ for current simulation. Using the mixer and feedback settings typical
Help. situations can be tested using various vector probe modes. Here, for this
24
Piezodrive by Ing. Büro W. Reimann, Germany, see URL: http:// IIR performance test, the feedback is configured in linear mode with
gxsm.sourceforge.net and look at the section hardware for details. proportional gain one and integration set to zero. This means the IIR filter
25
FEMTO: model DLPCA-200 variable-gain low-noise current amplifier or
output 共feedback input signal兲 can be monitored as Z signal. See URL:
any other current to voltage amplifier with typical gains of 108 and 109.
26 http://sourceforge.net/apps/wordpress/gxsm/2009/10/09.
K. Besocke, Surf. Sci. 181, 145 共1987兲. 29
27
Python scripting language, see URL: http://www.python.org. A complete list of all GXSM developers can be found at URL: http://
28
GXSM self-test configuration: bias looped back to feedback input 共current兲 sourceforge.net/projects/gxsm/, click on “view members.”

JVST B - Microelectronics and Nanometer Structures

Redistribution subject to AVS license or copyright; see http://scitation.aip.org/termsconditions. Download to IP: 139.124.18.99 On: Tue, 12 Nov 2013 14:38:19

Vous aimerez peut-être aussi