f20
f20
for the
FILMETRICS F20
Thin-Film Analyzer
Revision 6.9.2
Copyright © 2012 by Filmetrics, Inc.
All Rights Reserved
Welcome
What is the F20 used for?
The Filmetrics F20 is used to measure the thickness and optical constants (n and k) of dielectric and
semiconductor thin films. Measured films must be optically smooth and within the thickness range
set by the system configuration requirements specified in Performance Specifications. Commonly
measured films include semiconductor process films such as oxides, nitrides, resists, and poly-
silicon, optical coatings such as hardness and anti-reflection coatings, flat panel display films such
as polyimides, resist, and cell gaps, and the various coatings used in CD and DVD manufacture.
Warning: Accurate measurements require suitable recipe settings and a valid baseline. Improper system setup or
an aged lamp may also lead to errors. It is the user’s responsibility to ensure that this instrument is being used
properly for its intended purpose. Please contact Filmetrics support for assistance with any questions.
Safety, Maintenance and Care
This symbol indicates information or instructions that must be read and carefully followed to pre-
vent hazards, injury to the operator, or damage to the instrument.
This symbol indicates a potential shock hazard. Areas marked with this symbol should be serviced
by a trained service technician.
This symbol indicates that the product conforms to the WEEE (Waste in Electrical and Electronic
Equipment) Directive 2002/96/EC.
This symbol indicates that the product meets the applicable EU safety, health and environmental
protection directive requirements.
This label indicates the Model Number and Serial Number of the instrument. This information may
be necessary when contacting Filmetrics for assistance.
Disclaimer:Use of this instrument in a manner inconsistent with the information and directions
included in this manual may impair the protections designed into the product resulting in danger to
the operator or damage to the instrument
Installation Location: When deciding on a location for the instrument, ensure that the instrument
in installed in a well-ventilated location. Enclosing the unit, or blocking the vent holes, may impair
the performance of the instrument of damage the internal components.
Cleaning:The need for periodic cleaning of the system is based on the cleanliness of the envi-
ronment in which the system is installed. Only the external surfaces are to be cleaned. Cleaning
and maintenance of all internal components is to be performed by a trained service technician. Do
not use aerosol, or spray, cleaners as they may contaminate the sensitive optical surfaces on the
instrument.
Before performing any service on the instrument ensure that the main power is disconnected.
Cleanroom, or low lint, wipes should be used to wipe down the system. A mixture of Isopropyl
Alcohol (IPA) and De-ionized Water (DI H2O) at 70% DI H2O: 30% IPA is to be used for clean-
ing. Undiluted IPA may be used, if the 70:30 DI and IPA mixture is not available, but extra care
must be taken. Avoid using stronger solvents, such as acetone, as these may compromise the sur-
face finish.
Avoid excessive pressure on any surface when cleaning. Excessive force may bend a component,
which would damage the system, or cause the system to be out of alignment.
Start with the top of the system and work down. Use slow motions, in a straight line, from the back
to the front of the surface being cleaned. Change the cleaning wipe periodically to avoid re-depos-
iting material back onto the surface being cleaned. Allow all cleaned surfaces to dry completely
before restoring power to the system.
CE Mandated Warnings
Please read the following instructions carefully to prevent potential shock or fire hazards. This
manual should be retained for future use
Bitte lesen Sie die nachstehende Anleitung sorgfältig durch um Stromschlag und Feuergefahr zu
vermeiden. Diese Betriebsanleitung sollte für späteren Gebrauch sorgfältig aufbewahrt werden.
The front panel’s switch is not the power disconnect device. The power cord should be removed
after use.
Der Kippschalter an der Vorderseite unterbricht nicht die Stromzuführung. Das Stromkabel sollte
nach Gebrauch aus dem Gerät herausgezogen werden.
L’interutore nella parete frontale non blocca le Corrente. La Corrente viene.
Connect unit only to a properly measured supply. Use only three wire cord which is provided
with the unit.
Schließen Sie das Gerät nur an eine ordnungsgemäss vermessene Stromsversorgung an.
Verwende nur ein dreiadriges Kabel, wie es auch mit dem Gerät ausgeliefert wird.
Montare solo con misura normata. Adoperando solo 3 cavi elettrici cosi come e fornita la
Macchina.
Software Overview
The way that light reflects off of a thin film is determined by the characteristics of the film, such as
its thickness, optical constants, and roughness. The F20 is able to determine thin-film char-
acteristics by first carefully measuring the amount of light reflected from the thin film over a range
of wavelengths (i.e., by measuring the reflectance spectrum), and then analyzing this data by com-
paring it to a series of calculated reflectance spectra. Most of the features of the FILMeasure soft-
ware that runs the F20 can be divided into reflectance acquisition and reflectance analysis
functions. The following pages outline the main features of the FILMeasure software.
The basic steps for any F20 measurement are selecting and editing the film structure, taking a base-
line measurement, and then making and evaluating the measurement. The details of each of these
steps are explained below, followed by descriptions of other FILMeasure functions.
Measure Tab
1. Standard Windows File menu for saving and retrieving data, printing, etc.
2. The Edit menu is used for viewing and editing the material library.
4. For starting and stopping continuous reflectance acquisition and data measurement.
5. Used to access the Help, Diagnostic and Support functions of the software.
10. The baseline measurement sequence, which is required before measurements are made, is ini-
tiated by pressing the Baseline button.
12. This is used to select Recipe settings that correspond to different samples to be measured.
13. This is where the Recipe (the film stack definition and data acquisition and analysis settings) is
set. Hundreds of recipes can be saved and later recalled.
14. This box provides more details about the calculated thickness, as well as any additional param-
eters that were solved for, including Roughness, n and k, and Non-Uniformity as well as the
Goodness of Fit (GOF).
15. Graphical display for spectra. A click of the right mouse button while the cursor is within the
graphical display activates a blue line (one click for measured curve) for easy reading of cursor
values in the main FILMeasure window. Keyboard up/down and right/left arrows move the line to
a desired location.
The graph limits can be changed by double-clicking on the graph display. The Horizontal Axis
Minimum and Maximum fields are used to control the wavelength range displayed on the screen.
Use the Vertical Axis Minimum and Maximum fields to control the vertical-axis display. Check
the Autoscale Maximum checkbox to activate y-axis autoscaling. The lower value is always 0 for
autoscaling; the maximum y-axis upper limit is 5000. Changing the Vertical Axis will change the
reflectance axis, the Vertical Axis 2 will change the transmittance axis. The axes can be set to dis-
play in percent or as a decimal value (100% = 1).
Graph Options can be accessed and edited by double-clicking on the main graph window.
16. This allows the user to enter information about the Operator and Sample for tracking purposes.
History Tab
1. Standard Windows File menu for saving and retrieving data, printing, etc.
2. The Edit menu is used for viewing and editing the material library.
4. For starting and stopping continuous reflectance acquisition and data measurement.
5. Used to access the Help, Diagnostic and Support functions of the software.
8. Selecting the Measurement Trend tab will allow the user to see a plot of the measurement
results versus measurement number.
When the Measurement Trend tab is selected in the History window, the right side of the screens graphs the
results.
9. Displays the measurement results for the currently selected measurement number.
10. Displays the spectra for the currently selected measurement number.
15. Sends the selected spectra and the associated recipe back to the measure tab.
17. Shows all measurements numbers. Selecting a measurement number will cause the associated
spectrum and measurement results to be displayed on the right side.
Edit Recipe Window
The Edit Recipe Window is used to define the film stack and to set analysis and acquisition param-
eters.
A recipe defines the film to be measured and its approximate thickness, any other films present,
and the quantities to be measured:
7. Author, as defined by user login name and recipe modification date are indicated here.
8. Additional solving options for Composition, Thickness, and Non-Uniformity can be hidden or
revealed by pressing the + or - buttons.
10. OK closes the Edit Recipe box, retaining any changes made.
11. The Cancel button closes the Edit Recipe box without retaining changes.
12. Apply will not be permanently saved unless Save or Save As New… is selected.
13. These tabs allow the users to navigate to the various other recipe settings.
14. The thickness units are chosen here. The choices include angstroms (Å, 10e-10 m), nanometers
(nm, 10e-9 m), kilo-angstroms (kÅ, 10e-7 m), microns (µm, 10e-6 m), mils and microinches.
17. This pulldown menu allows the user to select the desired material file. Also, left-clicking on the
text will open the Search Materials dialog box.
The Edit Recipe dialog box is accessed with the Edit Recipe button on the Measure Tab. The
Edit Recipe dialog box lists an initial guess at the specifications of the film structure to be meas-
ured. These specifications include the name of the film structure (which identifies it in the Recipe:
list), the number of films in the structure, the specifications of individual films, and the quantities to
be measured.
The Film Stack tab is used to define the film structure, as well as the starting guesses and con-
straints for thickness, n and k. This is also where you determine your analysis method, Grid, FFT ,
or None, as well as any Non-Uniformity that may be present in the sample. Additional options for
Composition, Thickness and Non-Uniformity can be selected or hidden by using the + and - but-
tons.
If a material is being measured which is not present in the material library there are three possible
approaches:
a) choose a material in the library that is similar.
b) if the material is transparent (an insulator), select “Enter Refractive Index Value” from
the material list and enter a value for the refractive index (n will automatically be varied by
FILMeasure to account for dispersion effects, with the entered value being n at 632 nm).
c) in the Edit>Material Library… dialog box, enter the refractive index values for n and k as
a function of wavelength and save the files so that they may be selected as in a). See Creating
and Editing n and k Files for more information.
As with most measurements, the uncertainty of the measured data increases as the number of simul-
taneously measured values increases. Thus it is best to provide as much information about the film
structure as possible.
Constraints
By setting constraints, the user can limit the possible values of the measured film properties. The
constraints are set in conjunction with the values entered in the Range dialog box for thickness.
For example, if the initial guess of the measured thickness of a film is 100 nm and the thickness
constraint is set at 50%, FILMeasure will only consider possible thicknesses in the range 50 nm to
150 nm. The constraints for n and k are set using the n and k dialog boxes under Composition.
These boxes are only visible when the Composition option is expanded. You can select between
constraining by a percent of the thickness guess, or by a selected thickness by clicking on the % or
measurement unit above the constraints dialog box. Constraining the measurement range can speed
up the measurements and can also help exclude non-physical solutions.
nk Model
When measuring n and k for a film, the general dependence of these values upon wavelength must
be specified. This dependence is determined by the type of material to be measured. For example,
insulators, semiconductors, and metals all have a unique type of n and k wavelength dependence.
Dozens of models for these different dependencies have been proposed and used over the years.
FILMeasure uses a few of the most versatile and accepted of these models. For insulators, the Cau-
chy model is used, for semiconductors, either the Amorphous or Bridge-Lorentzian model, and for
metals, the Drude model. There are also a number of special-purpose models for specific appli-
cations. These models, and starting coefficients values, are selected automatically when a material
is chosen from the Material lists in the Edit Recipe dialog box. Other models may also be spec-
ified by selecting them from the nk Model pulldown menu under the Composition tab which is
accessed by right clicking on the Vary checkbox.
Fourier search for thickness
The FFT option in the thickness dropdown is an alternative option to let FILMeasure choose an ini-
tial thickness for analysis. The Fourier Transform method analyzes the oscillations present in the
spectrum and determines the film thicknesses based on the periodicity of those oscillations. It is
somewhat less robust than the Grid method, but is better at finding the correct thickness in cases
where the shape of the initial theoretical spectrum is different than the measured data (i.e., the reflec-
tance spectrum is non-ideal in some way) or in cases where there is more than one film thickness is
being measured.
Selecting this option enables modeling of thickness non-uniformity within the measurement spot.
An initial guess for Non-Uniformity must first be made, and then solving can be enabled or dis-
abled by toggling the check box.
Search
The Search Materials dialog box is accessible by left clicking on a material name in the Edit
Recipe > Film Stack tab. This feature allows the user to search for materials by using either the
materials name, or a keyword for a certain class of materials. The search function will also show a
brief Description of the material selected, as well as any Synonyms or Keywords related to the
material file. The Similar Materials box will list any materials that may have similar optical prop-
erties.
Analysis Options
Correct setting of the following options will help ensure accurate measurements. Many of the
options are set automatically when film information is supplied in the Edit Recipe dialog box, and
all of them can be saved so that subsequent measurements can be made as quickly and easily as
possible. If Robust (Adaptive; Thickness Only) or FFT (Thickness Only) is checked, only the
Data Selection settings will be accessible.
Data Selection
Wavelength Range
This sets the wavelength range of data that is to be analyzed. It may be either the range displayed
on the current graph or a fixed range. Wavelength range may also be changed by dragging the
ends of the gray bar near the bottom of the graph area.
Smoothing
This function performs wavelength-dependent boxcar averaging on the measured spectra. This can
improve signal-to-noise levels and can filter out oscillations that correspond to optical thicknesses
(defined as index multiplied by thickness) equal or greater than the specified value. This value
should be lowered to increase smoothing, and raised to decrease smoothing. To eliminate smooth-
ing, a very high value (for example, 1000 um) should be entered.
Source Data
If more than one data set is present, this optiontells the software whether to analyze the reflection,
transmission data, 70 degree reflection data, or some combination of the three. Only possible on
spectra from the F10-VC, F10-RT, and PARTS.
Convergence Criteria
This sets the minimum GOF between the measured and calculated spectra that is attained before
the measurement routines consider the solution final. In most cases a value of 0.999 is sufficient.
For cases where the desired GOF is not attainable, the value in the Maximum Iterations field lim-
its the number of iterations performed by the analysis routine.
Solver Cycles
This option will enable multiple solver cycles, with the number of cycles being defined by the
number included in the box. When using this option, the software will run through the model for a
solution once, and then try again starting from the solution previously found. A greater number of
cycles will lead to a slower analysis.
Display Details
This feature controls the wavelength at which n and k are displayed in the Measurement Details
portion of the main screen. These values are only displayed if solving for n or k is enabled in the
Film Stack window.
When the FFT solver is enabled, the advanced options gives you options to help Optimize the per-
formance of the analysis. When optimize position is enabled, The solver with check for the best
possible GOF value in different areas across the spectrum as defined by the window size. For
example, if a window size of 200 nm is selected, the solver will look at six different 200nm sec-
tions of the spectrum, and then select the range the provides the best GOF.
If Optimize Size is enabled, the solver will instead begin with a minimum window size as defined
by the user. It will then start at the center of the analysis range, and then extend equally in both
directions six times to find the best GOF. When Optimize Position and Size is selected, the soft-
ware does both functions, resulting in measuring thirty-one different combinations of location and
analysis range.
Display Details
When solving for n and k, the values displayed in the Results Summary box of the Measure Tab
will be the values determined for the wavelength entered here.
This menu lets the user control sampling settings, active spectrometers (on EXR and UVX sys-
tems), and required baseline reference.
Measurement Timing
To set the integration time manually, set the sample on the stage and select Setup>Raw Signal…
If the proper integration time is unknown, an initial value of 40ms is a good starting guess. The ver-
tical scale of the spectrum extends from zero to 4095. Thus, a good working level is when the peak
height of the sample being measured, or the reference sample, whichever is greater, is 3000-3500
counts. (Note: if the reference measurement saturates – Detector Saturation error – then spurious
final measurements will result.) If the maximum signal is too low, increase the integration time.
Too large an integration time will result in excessive dark current, so it is sometimes necessary to
accept a smaller signal level to limit the dark current.
* * Note * * If the integration time is changed, it will be necessary to perform the baseline pro-
cedure, or re-acquire the background and reference scans.
Spectrometer Type
EXR and UVX systems have two spectrometers (VIS/UV and NIR). Here the user can choose to
use only one or both spectrometers.
Alarms
GOF Error
Constraining the GOF Error will exclude measurements where the calculated GOF does not
reach the specified limit. A warning or “Invalid” result will appear if the GOF constraint is not
met. Specify 0 to have all solutions reported.
Activate Alarms
When Activate Alarms is selected, an alarm will trigger if the measured thickness of the sample is
outside the specified Thickness Limits.
Thickness Limits
Setting the minimum and maximum allowable thickness limits will trigger an alarm if the measured
thickness is outside the limits when Activate Alarms is selected.
Understand and Evaluating Measurement Results
This section covers information on the Display of Measured Spectra and a more in depth look at
the Goodness Of Fit value.
Goodness of Fit
The accuracy of a calculation fit, and thus the reliability of the measurement, can be judged by the
match between the measured and calculated spectra, which is quantified by the GOF value. GOF
is a number between 0 and 1. 0 is a poor fit.
A perfect match between measured (blue) and theoretical (red) spectra will result in a GOF of 1.0.
To ensure accurate results the user may set a minimum acceptable GOF value by entering a
number between 0 and 1 into GOF Error on the Alarms Tab in Edit Recipe. A warning mes-
sage will be displayed after each measurement where the GOF falls below the user-specified GOF
Error. If the GOF is less than 1.0 there are several possible causes as follows:
b) Incorrect Structure Definition – If the refractive index of one or more layers in the struc-
ture is different from what is described in the layer structure, then there may be some mis-
match between the blue curve and the red curve.
c) Graded Interfaces – The amplitude of the peaks in the spectrum depends on both the size
of the change in refractive index at each interface in the layer structure and the sharpness of
the interface. In many hardcoat samples you will find that there is some degree of layer inter-
mixing at the interface, leading to a weaker than expected reflectance at that interface. In
severe cases the peaks may disappear entirely.
File Menu
Edit Menu
Setup Menu
Acquire Menu
Help Menu
File Menu
Open History…
Previously saved history data containing measurements and statistics can be loaded with this com-
mand.
Import: Recipe…
To import recipes that were previously exported, or created with an older version of FILMeasure,
use this command.
Import: Material…
Custom materials, either created by the user or provided by Filmetrics, can be imported using this
command.
Import: License…
When the user purchases an upgrade for the system, Filmetrics will send a license file to the user.
The license must be imported into the software before upgrades are effective.
Save Measured Spectrum…(Measure Tab only)
This command is used to save spectra for export or later analysis. All data is saved along with the
corresponding wavelength data in comma-delimited format. Files can be saved in four different for-
mats:
*.fmspe: This file can only be opened in FILMeasure 6.0 or greater. Additional information from
data acquisition is stored in this file and is the preferred way to store your spectra.
*.txt: This is a tab-delimited file, and can be opened with a text editor.
Export: Recipe…
Recipes can be exported for use on other computers running FILMeasure. The exported file will
also automatically include any material files required by the recipe. To duplicate an analysis, all
that is needed is the exported recipe and the spectrum being analyzed.
Edit Menu
A new material may be entered into the material library manually if refractive index (n) and extinc-
tion coefficient (k) are known as a function of wavelength for the new material.
a. Select Edit>Material Library… menu item. The Edit Material dialog box will appear.
c. Select the type of material you are ready to create (Metal, Semiconductor, Dielectric, Pho-
toresist, Other).
d. Optimize the functionality of the file by entering index values over the entire wavelength
spectrum of the system. The wavelength unit is nanometers. Enter index information every 20
to 50 nm, depending on the complexity of the data. In areas where n or k is quickly changing,
more densely spaced the points should be entered.
e. Alternatively, select on the Model>Custom option button and click the Model button. A
Custom Model Information dialog box will appear. Select the appropriate model. Enter in
the known coefficients and click OK. Cauchy coefficients are displayed in microns. If they are
entered in Å, FILMeasure will automatically detect this and convert them to microns.
f. Click the save button to save the material. You will be asked for a file name, and you may
select one of two file types:
*.fitnk: Compatible with FILMeasure 6 only.
*.nnn: Creates a *.nnn file and a *.kkk file to contain material data. This is compatible with
FILMeasure 6 and earlier.
Setup Menu
This menu contains the settings for manually obtaining the Reference and Background infor-
mation, Optics Configuration, Display options, and the Raw Signal dialog. This is also where
user access can be set through the Access Control option, as well as modifying some system
Options.
Reference/Background
This control is used when manually taking and enabling/disabling Background and Reference com-
pensation.
Take Background
This button allows the background portion of the baseline measurement to be taken without having
to re-take the reference measurement.
Take Reference
This button allows the reference portion of the baseline measurement to be taken without having to
re-take the background measurement.
Subtract Background
This feature allows the background subtraction portion of the baseline correction to be disabled.
Use Reference
This feature allows the reference portion of the baseline correction to be disabled.
Optics Configuration
The Optics Configuration dialog box is accessible through both the Setup menu and the Acqui-
sition Settings tab under the Edit Recipe window. It is important to make sure that you remember
to select the proper configuration for your measurements in order to obtain the best possible results.
Not all options are available with all systems.
Display
When a Color Space is selected, the color of the spectrum and the coordinates appear on the main FILMeasure
window.
Spectrum colors of the same spectrum with fixed luminance of 0%, 30%, and 60%, respectively.
Note that fixing the luminance to view the color does not affect the color space coordinate values.
Significant Figures
For systems with the thickness upgrade, the user can select the number of significant figures that
the results display.
Access Control
The software for the instrument incorporates password protection to limit access to the meas-
urement software and settings. When the software is initially installed the access control is turned
off. The software will automatically boot up with Engineer level access that enables access to all
features of the program except turning on and off access control and adding and deleting users.
Turning on access control requires Supervisor level access. The software is delivered with one
user, a supervisor, in the list of authorized users as shown below:
UserID: filmsuper
Password: filmetricsfff
To turn on access control, log in as filmsuper using the password shown above. The Activate
Access Control checkbox should now be enabled. By placing a check mark in the Activate
Access Control checkbox access control will be active. User ID and Password are case-sensitive.
To add an operator level user, select operator from the Access Level list box, type a user name and
type an initial password for that user. Then click the Add User button. To add an engineer or a
supervisor user follow the same procedure, but pick the appropriate access level from the list box
before pressing the Add User button.
To Delete a user, enter the UserID and press the Delete User button.
Operator and Engineer level users can change their passwords when they are logged in by entering
their password into the password box and pressing the change button. Supervisor-level users can
change their password or the password of any other user by selecting the appropriate access level,
entering the appropriate UserID and the new password and pressing Add User. If the program
finds that a user already exists, it will delete the old entry for that user and create a new entry.
We recommend that you create a new supervisor level user and delete the filmsuper user for max-
imum security. If all supervisor level users forget their passwords, it will be necessary to re-install
the software and add all the users again.
Raw Signal
Raw Signal
The Raw Signal dialog box allows the user to plot the raw (no baseline corrections applied) spec-
trometer signal on the main graph. No spectral smoothing is applied, and there are no saturation
warnings. This is useful when adjusting the focus or when setting integration times manually.
Integration Time
This sets the integration time of the spectrometer. Clicking Update Recipe transfers the listed inte-
gration time to the current recipe.
Start/Stop
This starts the display of the spectrometer signal.
Graph Limits
This allows the user to set temporary graph limits.
Options
The General Settings tab is used to enable, disable, and modify various options in the software.
The Selected Camera pull down menu allows the user to enable the Sample Cam, or choose
between different cameras if there is more than one attached to the system. The Reference Signal
Thresholds options are used by the software during the Baseline process. If, during the Acquire
Reference step of the Baseline, the reflectivity of the reference standard goes above or below the
percentages listed an error message will appear.
The Data Recording tab allows for automatic saving of all spectra and results to a central file.
Acquire Menu
Batch Acquire
The Batch functions allow you to act on groups of spectra, rather than each individual spectrum
This option allows you to acquire a pre-selected number of spectra. You can also choose to save
the batched spectra as they are acquired.
This option allows you to acquire and analyze a pre-selected number of spectra. You can also
choose to save the batched spectra as they are acquired.
Acquire > Batch > Analyze Spectra
This option will apply the currently selected recipe to all open spectra.
Acquire > Batch > Analyze All Spectra in Folder
This option will apply the currently selected recipe to all spectra in a folder. If there are more spec-
tra to be analyzed then the software is set to Display, the analyzed spectra can easily be retrieved
from the History tab.
Help Menu
Diagnostics
The diagnostics window gives information regarding the data taken during baseline routine. Ref-
erence and background counts are shown (this useful to see how much signal the system is getting;
good signals typically are between 2500-3500 counts). Data for the transmittance baseline can be
viewed by changing the Measurement Sub-module.
Help>Diagnostics shows the user information regarding the data taken during the baseline routine.
Taking a Baseline
The baseline measurement allows the FILMeasure software to take into account the response inher-
ent to the reflectance measurement hardware. It does this by first measuring the sample, then a ref-
erence standard, and finally by taking a “dark” reading. The light source should be allowed to
stabilize at least ten minutes before the baseline is taken. When measuring films less than 1000Å
thick, the baseline should be periodically re-taken every 20-30 minutes. For thicker films, a new
baseline can be taken less often.
1. Select the Baseline button, which will guide the user through the baseline procedure, or
2. Select Set Up>Reference/Background... from the menu bar in the for manual access to the
baseline functions.
The first step of the baseline measurement is to acquire a spectra of the sample. This is done by
placing the sample on the stage underneath the light path. This step is used by the software to help
determine the needed integration times and cycles to best measure the sample.
The next step is to take a reference spectrum. This done by placing a reference sample of similar
reflectance to the test sample (usually silicon) on the sample stage. The reference material that is
used should be selected from the Reference Material: list. For reference materials not in the list,
reflectance versus wavelength values may be entered into a comma-delimited text file with the
extension “.rrr” (stored in the Material subfolder). When using the SS-3 Stage it is also important
that the sample and reference are roughly the same height, to insure that the light is properly
focused on both.
The method the background measurement is taken will be dependent on the optical set-up. If using
the SS-3 in reflection mode, simply remove the reflectance standard from the stage and click
Acquire Background. The SS-3 has a small angled piece of glass built into the stage to reflect
away the light. If using the SS-3 in transmission mode, the collection optic must be covered using
an opaque object. If using a contact probe, the probe needs to be pointed away from any light
source or reflective surface.
After acquiring a baseline, the instrument is ready to begin making measurements. To verify that
the system is working properly, you may select Acquire>Single Acquire from the Measure Tab
menu bar, with the reference sample in place. You should see the reflectance spectrum of the ref-
erence material.
Autobaseline
When the Optics Configuration is set to the contact probe, the Autobaseline option can be
selected. This option will automatically perform baseline periodically, so that the user does not
have to do this routinely. Once selected, the Baseline measurement routine mentioned above will
only require the user to measure the BK7 reference and a take a dark reading. A user will only
have to do a manual baseline once per week.
Making Measurements
Accurate measurements with the F20 rely on using the proper measurement setup. The basic steps
for any F20 measurement are:
1) selecting and editing the type of film to be measured
2) taking a baseline measurement
3) clicking on the Measure button to make the measurement.
Each example below will take you through this sequence of steps. In each example it is assumed
that the hardware has been set up as described in the Quick Start Guide, and that you have first
read through the Software Overview section to familiarize yourself with the basic controls.
The Measurement Assumptions, Hints for Improved Accuracy, and Troubleshooting sections
describe techniques that should be followed for the most accurate measurements.
B. Go to the Set Up>Raw Signal… dialog box and set the integration time for 30 mil-
liseconds.
D. Place a reflective sample, such as a silicon reference wafer or BK7 reference on the sample
stage. You will now see the raw signal from the image sensor. If the signal saturates, reduce
the integration time (step b).
* * Note * * Focus position is dependent on subject height. Make sure the surface you
intend to measure is at the same height as the reflective sample.
E. Optimize the focus to maximize the measured signal by adjusting the fiber-optic cable posi-
tion in the lens tube. To achieve this, move the fiber-optic cable slightly up the lens tube until
maximum signal is obtained.
The screw on lens tube is actually a spring-loaded ball plunger and does not require tight-
ening. Users should be aware that the fiber may slip out of focus if the stage or cable is
moved. If one focus height is often used, the set screw can be tightened to reduce the chance
of inadvertent slipping.
F. Close the Set Up>Raw Signal… dialog box. Focusing is now complete.
* * Note * * When performing the baseline procedure, always make sure the top sur-
face of the reference material is at the same height as the sample surface you intend to
measure.
There is also a video demonstration of this procedure on YouTube, which can be found here. An
active internet connection will be needed to view the video.
Measuring Thickness
Examples that describe the most common measurement setups are described in this section.
Example 2: Thickness of Films Less Than ½ Micron Thick on Thick Transparent Sub-
strates
Hardware:
If the sample to be measured is flat, any standard or rotating sample stage will work fine. If the sam-
ple is curved, or is transparent with films on its backside (such as ophthalmic lens applications), a
hand-held contact probe measurement device (e.g., Part# CP-1) may be necessary.
Step 1: Select the film recipe
Select the film structure to be measured, in this case “SiO2 on Si”, from the Recipe: list box on the
main screen. If the structure to be measured does not exist, a new structure must be defined. See
Editing Film Recipe for more details.
Step 2: Edit the film recipe
To edit the structure, click the Edit Recipe button to open the dialog box. Check to see that the
film sequence matches that of the actual sample. If not, different films can be selected. Also enter
your best guess for the thickness of the film to be measured, and check that only the SiO2 layer
thickness is being measured.
Example Edit Recipe>Film Stack window for measuring the thickness of a thin film greater than ½ micron
thick.
Take a baseline measurement by first clicking on the Baseline button on the main screen. A dialog
box will appear to guide you through the process. The first step will consist of a measurement of
your sample. The second step will be a measurement of the reference material. Please make sure
the reference material selected on this dialog box matches the reference you are measuring. For this
sample, you should be using the “Si” reference. Last, you will make a background measurement
by removing the reference from the sample stage.
In the event you are using a contact probe, make the background measurement by pointing the tip
of the probe away from any light source or bright objects. Do not place the contact probe on a dark
surface for the background measurement.
Make the measurement by placing your sample on the stage (or the contact probe on your sample)
and click on the Measure button. FILMeasure will then acquire the reflectance spectrum and cal-
culate the corresponding thickness. If the measurement was successful, the minima and the maxima
of the calculated reflectance (the red line on the graph) will coincide in wavelength with the
minima and the maxima of the measured reflectance (the blue line on the graph). In most cases they
will not overlap, but will be separated in amplitude.
Measured and calculated reflectance spectra when measuring the thickness of SiO2 on silicon.
If the calculated (red) and measured (blue) minima and maxima do not coincide, then the meas-
urement was not successful. There are several possible causes of an unsuccessful measurement.
The most common for this type of measurement are described in Cases #1, #2, #3, and #4 in the
Troubleshooting section.
Example #2: Thickness of Films Less Than ½ Micron Thick on Thick
Transparent Substrates: TiO2 on Glass
This example demonstrates the measurement of TiO2 on glass. This type of measurement has a
broad range of other applications, most commonly optical coating and flat-panel display process
films.
Hardware:
If the sample to be measured is flat, the contact sample stage should be used. If the sample is
curved, the hand-held contact probe (e.g., Part# CP-1) may be necessary.
Step 1: Select the film recipe
Select the film structure to be measured, in this case “TiO2 on Glass”, from the Recipe: list box on
the main screen. If the structure to be measured does not exist, a new structure must be defined see
Editing Film Recipes for more details.
Example Edit recipe>Film Stack window for measuring the thickness of a film less than ½ micron thick on a
thick, clear substrate.
To edit the structure, click the Edit Recipe button to open the dialog box. Check to see that the film
sequence matches that of the actual sample. If not, different films can be selected. Also enter your
best guess for the thickness of the film to be measured, and check that only the TiO2 layer thick-
ness is being measured.
Step 3: Take a Baseline Measurement
Take a baseline measurement by first clicking on the Baseline button on the main screen. A dialog
box will appear to guide you through the process. The first step will consist of a measurement of
your sample. The second step will be a measurement of the reference material. Please make sure
the reference material selected on this dialog box matches the reference you are measuring. For this
sample, you should be using the “BK7” reference. Last, you will make a background measurement
by removing the reference from the sample stage.
In the event you are using a contact probe, make the background measurement by pointing the tip
of the probe away from any light source or bright objects. Do not place the contact probe on a dark
surface for the background measurement.
Make the measurement by placing your sample on the stage (or the contact probe on your sample)
and click on the Measure button. FILMeasure will then acquire the reflectance spectrum and cal-
culate the corresponding thickness. If the measurement was successful, the minima and the maxima
of the calculated reflectance (the red line on the graph) will coincide in wavelength with the
minima and the maxima of the measured reflectance (the blue line on the graph). In most cases they
will not overlap, but will be separated in amplitude.
Measured and calculated reflectance spectra when measuring the thickness of TiO2 on glass.
If the calculated (red) and measured (blue) minima and maxima do not coincide, then the meas-
urement was not successful. There are several possible causes of an unsuccessful measurement.
The most common for this type of measurement are described in Cases #1, #2, #3, and #4 in the
Troubleshooting section.
For this type of measurement the sample must be flat, with the front and backsides parallel. The
standard SS-3 sample stage is required. The contact stage option is recommended. If you are able
to take the baseline measurements with an uncoated substrate, then follow the film structure setup
instructions in Example #2.
Step 1: Select the film recipe
Select the film structure to be measured, in this case “MgF2 on Glass”, from the Recipe: list box on
the main screen. If the structure to be measured does not exist, a new structure must be defined.
See Editing Film Recipes for more information.
Step 2: Edit the film recipe
Example Edit Recipe>Film Stack window for measuring the thickness of films less than ½ micron thick on a
thin transparent substrate.
To edit the structure, click the Edit Recipe button to open the dialog box. Check to see that the
film sequence matches that of the actual sample. If not, different films can be selected. Also enter
your best guess for the thickness of the film to be measured, and check that only the MgF2 layer
thickness is being measured. The Robust (adaptive; thickness only) button should be deselected
under the Analysis Options tab.
Example Edit Recipe>Analysis Options window for measuring the thickness of films less than ½ micron thick
on thin transparent substrate.
Take a baseline measurement by first clicking on the Baseline button on the main screen. A dialog
box will appear to guide you through the process. The first step will consist of a measurement of
your sample. The second step will be a measurement of the reference material. Please make sure
the reference material selected on this dialog box matches the reference you are measuring. For this
sample, you should be using the “Si” reference. Last, you will make a background measurement
by removing the reference from the sample stage.
In the event you are using a contact probe, make the background measurement by pointing the tip
of the probe away from any light source or bright objects. Do not place the contact probe on a dark
surface for the background measurement.
Make the measurement by placing your sample on the stage (or the contact probe on your sample)
and click on the Measure button. FILMeasure will then acquire the reflectance spectrum and cal-
culate the corresponding thickness. If the measurement was successful, the minima and the maxima
of the calculated reflectance (the red line on the graph) will coincide in wavelength with the
minima and the maxima of the measured reflectance (the blue line on the graph). In most cases they
will not overlap, but will be separated in amplitude.
Measured and calculated reflectance spectra when measuring the thickness of MgF2 on a glass slide.
If the calculated (red) and measured (blue) minima and maxima do not coincide, then the meas-
urement was not successful. There are several possible causes of an unsuccessful measurement.
The most common for this type of measurement are described in Cases #1, #2, #3, and #4 in the
Troubleshooting section.
For this type of measurement the sample must be flat, with the front and backsides parallel. The
standard sample stage equipped with the T-1, Transmission Option, is required. When measuring
very thin films, use of a vacuum plugged into the vacuum port is recommended.
Step 1: Specify Transmittance Configuration
Under the Setup menu select Optics Configuration and select standard stage with transmittance
option.
Setup menu.
Take a baseline measurement by first clicking on the Baseline button on the main screen. A dialog
box will appear to guide you through the process. The first step will be a measurement of the ref-
erence material. Air will be used as our reference material. Select “Enter constant…” from the drop
down list, enter a refractive index of “1” and remove all objects from the light path. The second
step is a background measurement. Place an opaque object over the bottom fiber on the state. No
light should enter the fiber during the measurement.
Make the measurement by placing your sample on the stage. Under the Acquire>Single Acquire
from the menu bar.
Single Acquire collects the measured spectrum (blue curve) off of the sample.
Any standard or rotating sample stage should work fine. The sample frontside must be flat. If the
sample backside is not flat and parallel with the frontside, then the contact stage must be used.
Step 1: Select the film recipe
Select the film structure to be measured, in this case “Si3N4 on Si”, from the Recipe: list box on
the main screen. If the structure to be measured does not exist, a new structure must be defined.
See Editing Film Recipes for more details.
Example Edit Recipe>Film Stack window for measuring the thickness, n, and k of films on an opaque sub-
strate.
Step 2: Edit the film recipe
To edit the recipe, click the Edit Recipe button to open the dialog box. Check to see that the film
sequence matches that of the actual sample. If not, different films can be selected. Also enter your
best guess for the thickness of the film to be measured. Also check that thickness, n, and k of the
Si3N4 layer are selected to be measured.
Example Edit Recipe>Analysis Options window for measuring the thickness, n, and k of films on an opaque
substrate.
Take a baseline measurement by first clicking on the Baseline button on the main screen. A dialog
box will appear to guide you through the process. The first step will consist of a measurement of
your sample. The second step will be a measurement of the reference material. Please make sure
the reference material selected on this dialog box matches the reference you are measuring. For this
sample, you should be using the “Si” reference. Last, you will make a background measurement
by removing the reference from the sample stage.
In the event you are using a contact probe, make the background measurement by pointing the tip
of the probe away from any light source or bright objects. Do not place the contact probe on a dark
surface for the background measurement.
Make the measurement by placing your sample on the stage and click on the Measure button.
FILMeasure will then acquire the reflectance spectrum and calculate the corresponding thickness.
If the measurement was successful, the calculated reflectance (the red line on the graph) will coin-
cide with the measured reflectance (the blue line on the graph).
If the measured and calculated spectra do not fall on top of each other, the resulting thickness, n,
and k values are incorrect. If the mismatch between measured data and calculation is only slight,
the results reported will only be off by a small amount. If the measured and calculated spectra
match, but the results are implausible there may be a problem with the sample positioning and light
collection. Causes and corrective actions to improve the measurements are listed in Cases #5 and
#6 in the Troubleshooting section.
Measured and calculated reflectance spectra when measuring the thickness, n, and k of Si3N4 on silicon
The contact stage must be used when measuring the thickness and optical constants of films on a
thick transparent substrate (see Chapter 1 for setup of the contact stage). Use of the contact stage
means that the front side of the sample must be flat.
Step 1: Select the film recipe
Select the film structure to be measured, in this case “MgF2 on BK7”, from the Recipe: list box on
the main screen. If the structure to be measured does not exist, a new structure must be . See Edit-
ing Film Recipes for more details.
Example Edit Recipe>Film Stack window for measuring the thickness, n, and k of films on a thick transparent
substrate.
To edit the recipe, click on the Edit Recipe button to open the dialog box. Check to see that the
film sequence matches that of the actual sample. If not, different films can be selected. Also enter
your best guess for the thickness of the film to be measured.
Example Edit Structure>Analysis Options window for measuring the thickness, n, and k of films on a thick
transparent substrate.
Take a baseline measurement by first clicking on the Baseline button on the main screen. A dialog
box will appear to guide you through the process. The first step will consist of a measurement of
your sample. The second step will be a measurement of the reference material. Please make sure
the reference material selected on this dialog box matches the reference you are measuring. For this
sample, you should be using the “BK7” reference. Last, you will make a background measurement
by removing the reference from the sample stage.
In the event you are using a contact probe, make the background measurement by pointing the tip
of the probe away from any light source or bright objects. Do not place the contact probe on a dark
surface for the background measurement.
Make the measurement by placing your sample on the stage and click on the Measure button.
FILMeasure will then acquire the reflectance spectrum and calculate the corresponding thickness.
If the measurement was successful, the minima and the maxima of the calculated reflectance (the
red line on the graph) will coincide in wavelength with the minima and the maxima of the meas-
ured reflectance (the blue line on the graph).
If the measured and calculated spectra do not fall on top of each other, the resulting thickness, n,
and k values are incorrect. If the mismatch between measured data and calculation is only slight,
the results reported will only be off by a small amount. If the measured and calculated spectra
match, but the results are implausible there may be a problem with the sample positioning and light
collection. Causes and corrective actions to improve the measurements are listed in Cases #5 and
#6 in the Troubleshooting section.
Measured and calculated reflectance spectra when measuring the thickness, n, and k of MgF2 on BK7 glass.
Measurement Assumptions
The following assumptions must be valid if accurate measurements are to be made with the F20:
1. Every film present in the structure is specified in the Edit Recipe dialog box. This includes
every film present in the sample including so-called adhesion films, oxide films (unless they are
less than 20 Å or greater than 500 microns thick), and films on the bottom surface of the substrate
if the substrate is transparent.
2. The thickness of the measured film is uniform over the spot being measured.
3. The light source has been allowed to warm up for at least 5 minutes if measuring thickness of
films greater than 250nm, or 15 minutes if measuring thickness of films less than 250nm, refractive
index, or reflectance.
In addition, the following assumptions are made if optical constants and/or very thin films (<500
Å) are to be measured:
4. Each film in the structure is homogeneous and uniform (i.e. the refractive index and extinction
coefficient are constant as a function of depth and constant over the entire spot being measured).
5. No significant scattering of the light incident on the sample is occurring, unless it is caused be
slight surface roughness that is being accounted for in the Recipe definition.
6. The top surface of the sample under test is at the same height as the reference sample that was
used to make the reference calibration measurement.
7. The sample is flat. (the vacuum chuck may help in this case when samples are warped.)
8. No changes to the measurement system (such as fibers moved) or light source have occurred
since the acquisition of the most recent baseline.
9. No significant changes in room temperature (> 5 degrees F) have occurred since acquisition of
the most recent baseline.
If any of the above assumptions are not true, it may still be possible to make a measurement, but
accuracy may be degraded.
This section contains various tips to help improve accuracy in your measurements.
Roughness.
Roughness
Slight amounts of surface or interface roughness may be present that will decrease the GOF value
of a measurement. Entering a value for or solving for roughness can partially account for this rough-
ness so that a better GOF may be achieved. Generally, roughness is only present when the sample
surface looks hazy at the measurement spot. The fact that haze can be seen means that there is scat-
tered light. (A perfectly smooth surface will scatter no light, and thus the measured spot will not be
visible.) Usually roughness less than 2.5 nm will not be visible, while roughness greater than about
25 nm will be extremely hazy.
FILMeasure assumes a Gaussian distribution of the surface height irregularities about the mean and
it assumes that the roughness is small compared to the wavelength. FILMeasure reports the rms
roughness value.
Another faster method of controlling wavelength analysis range is with the gray bar at the bottom
of the graph. Drag either end of the bar to a new position on the x-axis to change the analyzed
range without altering the graph dimensions or editing the recipe.
Example of a non-ideal film (spectrum with no oscillations at lower wavelengths) that requires reduced wave-
length range for accurate measurement.
Example of a reduced wavelength range for measuring thickness of non-ideal films.
Troubleshooting
Incorrect or unreasonable measurement results can be caused by a number of different factors.
Below are listed some of the more common symptoms of and solutions for poor measurement
results. In all cases it has been assumed that the user has read the Measurement Assumptions sec-
tion, and that each criteria has been met.
Case #1: No oscillations, or portions of oscillations, are present in the measured reflectance
spectrum.
Case #2: The measured reflectance spectrum has periodic oscillations across the entire
screen, but its minima and maxima do not match up with the calculated reflectance.
Case #3: Two or more different, but nearly the same, thickness readings are obtainable from
the same measurement location.
Case #5: Poor matches between the measured and calculated reflectance spectra when meas-
uring thickness and optical constants.
Case #6: Several different answers, or one unreasonable answer, are found when measuring
thickness and optical constants, even though a good match is found between the measured
and calculated reflectance spectra.
Case 3: Two or more different, but nearly the same, thickness readings
are obtainable from the same measurement location.
When this occurs usually the measured and calculated spectra match somewhat, but not very well
across the entire spectra (i.e., the measured and calculated spectra match only over a small
wavelength range and then gradually walk off one another outside this wavelength range). When
thickness is the only value being measured, this is normally caused by the refractive index of the
measured layer not matching that used by FILMeasure, especially when the film is greater than one
micron thick. Unless more accurate index values can be obtained, the best way to solve this prob-
lem is to restrict the wavelength range used in the analysis.
1) the components of the film structure are not all included in the Edit Recipe>Film Stack
dialog box,
2) very inaccurate initial guesses for the film thickness(es) have been listed,
3) the optical constants listed in the Edit Recipe>Film Stack dialog box are far from the
actual optical constants in the material,
4) the film being measured has properties that are not taken into account by FILMeasure.
Examples of these properties are graded interfaces, non-uniform films, and voids.
To activate FFT mode, select the select FFT (Thickness Only) button located on the Analysis
Options > Analysis Method tab in the Edit Recipe box.
The Measure Tab shows a split screen with the measured spectrum on the top graph and the FFT spectrum on
the bottom graph.
In FFT TO mode, instead of matching the measured reflectance spectrum with a calculated reflec-
tance spectrum, FILMeasure identifies the peaks in the FFT Spectrum and uses them to compute
the layer thicknesses. The number of possible FFT peaks is n*(n+1)/2 where n is the number of lay-
ers. Thus, for a two layer structure, we expect to see three peaks in the FFT spectrum.
The image above shows the screen just after measurement of a two layer stack using FFT TO
Mode. The upper graph shows a blue curve representing the reflectance spectrum of the sample.
The lower graph shows a blue and red FFT spectrum. The blue FFT spectrum is computed from
the measured reflectance. The red FFT spectrum is computed from the theoretical reflectance spec-
trum of a layer stack with the measured layer thicknesses. The small side lobes visible on either
side of the two tall peaks are artifacts of the FFT process and can generally be ignored. The only
time the side lobes will cause a problem is if a weak peak from a multi-layer sample is very close to
a much stronger peak. If this case occurs FILMeasure may lock onto one of the side lobes by mis-
take and it may not be possible to measure the layer thickness associated with the weak peak.
Reducing the Constraint and/or increasing the guess for the thickness for the layer with the weak
peak may be helpful in getting FILMeasure to lock onto the weak peak. If the peak is too weak to
reliably measure it is best to change the layer structure definition so that the layer corresponding to
the weak peak is eliminated.
Along with the measured layer thicknesses, the Results text box displays important information
about the measurement. This important information includes the Goodness Of Fit (GOF) and a
description of which peaks were used to determine the measured layer thicknesses. In Fig. A5
layer 1 thickness is determined based on the position of the peak located at 4.780 microns and layer
2 thickness is determined using the peak corresponding to layers 1+2 (7.011 microns). Notice that
the thickness of layer 2 is not exactly equal to 7.011-4.780 = 2.231 microns. FILMeasure computes
a thickness for layer 2 of 2.113 microns because it precisely accounts for the fact that layer 2 has a
different refractive index than layer 1.
Discussion of GOF:
A perfect match between measured and theoretical FFT spectra will result in a GOF of 1.0. To
ensure accurate results the user may set a minimum acceptable GOF value by entering a number
between 0 and 1 into GOF Error on the Alarms settings in Edit Recipe. A warning message will
be displayed after each measurement where the GOF falls below the user-specified GOF Error. If
the GOF is less than 1.0 there are several possible causes as follows:
a) Nonuniformity – Any variation of layer thickness within the measurement spot will result in
a reduction in the FFT peak heights. In order to permit easy visual interpretation of the FFT
results FILMeasure always scales the amplitude of the red curve so that it matches the blue
curve. However, if the scaling factor is not 1.0, FILMeasure reports a reduced GOF even if
the red curve appears to exactly match the blue curve on the screen.
b) Incorrect Structure Definition – If the refractive index of one or more layers in the structure
is different from what is described in the layer structure, then the FFT peak amplitudes in the
blue curve will not match the peak heights in the red curve. The software will attempt to scale
the red curve, but if there is more than one FFT peak present, the scaling will only result in
one correct peak height. If you wish to view the impact of changing the refractive index of
one or more layers, simply change the refractive index in the Edit Recipe dialog box and click
Analyze (ReAnalyze). If there is only a single layer you will notice that the GOF will change,
but the red curve should not change much. If there are multiple layers in the structure you will
notice that the relative peak heights in the red curve will change when you click Analyze.
c) Graded Interfaces – The amplitude of the peaks in the FFT spectrum depends on both the
size of the change in refractive index at each interface in the layer structure and the sharpness
of the interface. In many common samples you will find that there is some degree of layer
intermixing at the interface, leading to a weaker than expected reflectance at that interface.
The FFT peak(s) associated with the intermixed interface will suffer a reduced amplitude and
in severe cases the peaks may disappear entirely.
New n and k files can be created by going to Edit>Material Library… Clicking the New button
will allow the user to define a new material file. Once clicked, while the Default Model is
selected, the user can manually enter wavelength versus n or wavelength versus k values.
The user can also select Custom Model. While this is selected, clicking on the Model… button
allows the user to create n and k files using predefined mathematical models.
Once completed, clicking Save As… will save the new file as a custom material for later use.
Files for n and k can be created directly from a calculated spectrum, where n and k are measured.
Once a spectrum is analyzed, go to File>Save Measured n and k… This will save your n and k
files as a custom material which can be loaded into the user recipe.
Existing material files can be edited by going to Edit>Material Library… There, the user can
load a material file by clicking Open. Values can then be changed manually. Clicking Save will
save the file for later use.
Converting Microsoft Excel files into FILMeasure n and k files
For wavelength versus n or wavelength versus k data saved in Excel (*.xls) format, the data can be
directly saved as material files that can be read by FILMeasure.
For both n and k files, the data should follow the format shown below, where the wavelength
values, in units of nanometers, are in the first column, and the n or k values are in the second. Note
that the version number (cell B1) refers to version of the file. For this cell, you can use 1. The mate-
rial number (cell B2) refers to what material category the file corresponds to. The material cat-
egories (and their corresponding numbers) are: metal (1), semiconductor (2), insulator (3),
photoresist (4), and other (5). By putting the correct value for the material number, the file will auto-
matically be sorted into the correct category when selecting the material in the Edit Recipe win-
dow.
To save the file created by Microsoft Excel, go to File>Save As… For Save as Type: choose
CSV (Comma delimited) (*.csv). For n files, save the file as “FILENAME.nnn”, and for k files,
save the file as “FILENAME.kkk” (FILENAME represents the name you wish to call the file;
note that quotation marks must be used to enclose the filename in Excel to force the extension to
.nnn or .kkk). The file can then be saved to the desktop, and Imported using the File>I-
mport>Material File option
The data should follow the format of shown below, where the wavelength values, in units of nano-
meters, are in the first column, index of refraction (n) in the second, and extinction coefficient (k) in
the third.
The first few columns of the file should be identical to the figure below the only exception being
cell B3 which should contain a number describing the material category. The material categories
(and their corresponding numbers) are: metal (1), semiconductor (2), insulator (3), photoresist (4),
and other (5).
To save the file created by Microsoft Excel, go to File>Save As… For Save as Type: choose
CSV (Comma delimited) (*.csv). Save the file as “FILENAME.fitnk” (FILENAME represents
the name you wish to call the file; note that quotation marks must be used to enclose the filename
in Excel to force the extension to .fitnk). The file can then be saved to the desktop, and Imported
using the File>Import>Material File option
Theory of Operation
This section describes how the instruments work and includes the theory the measurements are
based on, specifics about the hardware, and more detail about the baseline measurement.
Measurement Theory
Hardware Operation
Measurement Theory
Our instruments measure thin-film characteristics by either reflecting or transmitting light through
the sample, and then analyzing this light over a range of wavelengths. Because of its wave-like
properties, light reflected from the top and bottom interfaces of a thin-film can be in-phase so that
reflections add, or out-of-phase so that reflections subtract. Whether the reflections are in- or out-
of-phase (or somewhere in between) depends on the wavelength of the light, as well as the thick-
ness and properties of the film (e.g., reflections are in-phase when λ = (2*n*d)/i, where λ is the
wavelength, n is the refractive index, d is the film thickness, and i is an integer). The result is char-
acteristic intensity oscillations in the reflectance spectrum (see Figure below). In general, the
thicker the film, the more oscillations there are in a given wavelength range.
FILMeasure avoids homing in on a false solution by searching the entire acceptable thickness
range to determine the thickness that gives the best possible match between the measured and cal-
culated spectra. The thickness range searched is determined by the initial guess for thickness
together with the thickness constraint. Since the time to find a solution is proportional to the range
of thicknesses being searched it is beneficial to provide an initial guess for the thickness of the films
to be measured.
Light is supplied by a tungsten-halogen bulb that generates light from approximately 375 nm to
3000 nm. This light is delivered to and collected from the sample through a fiber-optic cable bun-
dle and a lens. The intensity of the reflected light is measured at different wavelengths with a spec-
trometer. The F20 spectrometer uses a diffraction grating to disperse the light and a linear
photodiode array to measure the light at the different wavelengths. After a user-selectable inte-
gration time, the accumulated charge in each photodiode is read by the computer. Because a longer
integration time results in a larger charge, it is the integration time that determines the sensitivity of
the spectrometer. Adjustment of the integration time is used to obtain the proper signal level. Too
short an integration time results in a weak, noisy signal, while too long of an integration time
results in a saturated signal.
The Baseline Measurement
The baseline measurement allows the FILMeasure software to take into account the response inher-
ent to the reflectance measurement hardware. It does this by measuring a reference sample and by
taking a “dark” reading. In any optical system there are many components whose characteristics
vary with wavelength (e.g., the output of the light source and the sensitivity of the spectrometer).
However, when reflectance measurements are made, only variations in reflectance vs. wavelength
due to the sample under test are of interest. Therefore, FILMeasure must perform a calibration to
determine the spectral response of the system. This is done by making a measurement of a "ref-
erence" sample that has known reflectance characteristics. Note that it is not necessary for the ref-
erence sample to be the same as the substrate upon which films to be measured reside. The only
purpose served by the reference sample is to permit calibration of the optical system. For example,
it is possible to use a Si wafer as the reference sample and then measure films on GaAs, InP, glass,
plastic, etc.
After the reference measurement is made a dark reading is taken. A non-zero dark level is due to
current leakage inherent to photodiodes, which causes each photodiode in the array slowly charges
up even when no light enters the spectrometer. Thus, in order to make an accurate measurement of
the light entering the spectrometer, it is necessary to subtract this “dark” current contribution. This
is the purpose of the “dark” reading, which measures the magnitude of the dark current for a given
integration time. When a “dark” measurement is made, a spectrum is measured that represents the
signal generated by the spectrometer when a sample of zero reflectance is measured. To simulate a
sample with zero reflectance during a “dark” measurement, a specularly reflecting sample can be
held at an angle with the light source turned on, or in many cases the light source may simply be
turned off momentarily during the dark measurement.
Due to drift in the light source and temperature of the spectrometer electronics, it is a good idea to
take a baseline periodically.
How to Contact Us
We welcome suggestions from our users on ways to improve our software and hardware. Please
send us any suggestions you may have for improvements in the help file or new features you
would like to see in the software.
Performance Specifications
Performance Specifications
Thickness Range
Thickness
when measuring n Accuracy1 Precision2 Stability3
Range*
and k
F20 15 nm to 100 µm 100 nm and up 0.1 nm 0.07 nm
F20 UV 1 nm to 40 µm 50 nm and up 0.1 nm 0.07 nm
The greater of
F20 NIR 100 nm to 250 µm 300 nm and up 0.2 nm 0.12 nm
0.4% or 2 nm
F20 EXR 15 nm to 250 µm 100 nm and up 0.1 nm 0.07 nm
F20 UVX 1 nm to 250 µm 50 nm and up 0.1 nm 0.07 nm
The greater of
F20 XT 10 µm to 1 mm N/A 1 nm 1 nm
0.4% or 5 nm
2 Standard deviation of 100 thickness readings of 500 nm SiO2 film on silicon substrate. Value is average of
standard deviations measured over twenty successive days. F20-XT values are based on 7 µm Si on SiO2 on Si
sample.
3 Two sigma based on daily average of 100 readings of 500 nm SiO2 film on silicon, measured over twenty suc-
cessive days. F20-XT values are based on 7 µm Si on SiO2 on Si sample.
SS-3 Stage in Standard Spot position: The SS-3 stage is our standard stage for the F20 system.
This is the most versatile stage, which is shipped with each system unless otherwise specified.
SS-3 in UV position: The SS-3 stage in the UV position is optimized for use in UV applications.
SS-3 Stage in Small Spot position: The SS-3 stage in the small spot position is used to achieve a
smaller spot size for measurement. This is also useful for non-uniform or rough samples. The F20-
XT system comes standard with the SS-3 in the Small Spot position.
UV Extended Range (UVX): UVX systems provide the maximum possible range of thickness
measurements by including both UV and NIR detectors and light sources.
Contact Probe (CP-1): The contact probe is useful for measuring coatings on curved surfaces,
such as ophthalmic lenses. This accessory comes standard with the F20-HC, in place of the SS-3.
Contact Probe for Cylindrical Samples (CP-C): This contact probe is used for measuring coat-
ings on cylindrical samples.
Contact Stage Option (CS-1 Option): The contact stage option is used to measure the thickness
of freestanding films and coatings on glass samples where eliminating the backside reflection of the
glass is necessary. Use of the contact stage requires that the sample be flat.
Transmission Option (T1 Option): This option is used to make transmission measurements for
transparent samples.
Reduced Kinematic Mount with lens assembly (LA1-RKM): This assembly is used for inline
applications, or when a longer working distance in required.
Connect the fiber-optic cable between the F20 front panel and the LA1-RKM as shown below.
Slide the fiber-optic cable part way into the lens assembly. The spring-loaded setscrew should be
adjusted so that the fiber-optic cable is held in place, yet it may be moved in and out for focus
adjustments.
Step #2: Adjust the lens assembly:
The focus and tilt of the lens assembly need to be adjusted for maximum signal and assumes that
the lens assembly has been mounted on a fixture approximately 6 inches above the sample surface,
and the “read” return fiber from the lens assembly to be adjusted is connected to the spectrometer
input. The idea here is to adjust the tilt and focus for maximum signal. To do this,
A. Turn on the light source with the front panel switch and start the FILMeasure program.
B. Go to the Set Up>Raw Signal… dialog box and set the integration time for 50 mil-
liseconds.
D. The fiber-optic cable contains 7 fibers – a single detection fiber surrounded by 6 illu-
mination fibers. Do a rough focus adjustment by placing a diffuse surface (a business card
works well) at the sample position and then focus the light beam on the sample position by
sliding the fiber-optic cable inside the lens tube. (The diffuse reflector will allow you to see the
beam.) When 6 individual spots can be seen, slide the fiber-optic cable farther into the LA1-
RKM until the spots merge into the center of the illuminated area.
E. Place a reflecting sample, such as a silicon wafer, on the sample stage, under the lens
assembly. You should now see a trace on the screen. Turn the tilt adjustment screws to max-
imize the signal. If the signal saturates, reduce the integration time (see step b).
F. Optimize the focus to maximize the measured signal by adjusting the fiber-optic cable posi-
tion in the lens assembly. Focus the light beam on the sample by sliding the fiber-optic cable
inside the lens tube. To see the beam, it may be necessary to place a diffuse surface, such as a
business card, over the sample. Ideally, the best focus adjustment is when the beam is just
under focused. To achieve this, focus the beam on the reflecting sample, and then move the
fiber-optic cable slightly down in the lens tube until maximum signal is obtained. When fin-
ished, tighten the socket head set screw that secures the fiber. Once again, if saturation occurs,
it may be necessary to reduce the integration time.
H. The set up is now complete. Close the Set Up>Raw Signal… dialog box.
The fiber-optic cable contains 7 fibers – a single detection fiber surrounded by 6 illumination
fibers. The measurement spot size is not the illuminated area, but rather the intersection of the illu-
minated area with the projected image of the detection fiber. When focused for maximum signal,
the measurement spot size is roughly half the diameter of the illuminated area.
Insert the fiber-optic cable into the lens tube. Focusing the fiber may be required depending on the
height of your sample, please see Focusing your fiber-optic.
* * Warning: * * Hazardous voltages are present within the unit. Never attempt any
maintenance without disconnecting the power cord.
Step by step:
4. Remove the two captive screws on the back panel opening the two halves of the enclosure.
* * Warning: * * Caution, avoid touching any interior components, other than the
lamp, lamp base, and housing.
5. Pull the plunger behind the lamp all the way out.
6. Slide the lamp out of it holder, being careful not to touch the glass.
8. Plug new lamp into the lamp power connector. Do not test lamp with lid removed.
9. Slide the new lamp into the holder, being careful not to touch the glass.
10. Gently release the plunger, holding the bulb in it's proper place. Do not test the bulb with the
cover removed.
Some of the methods listed in the following reference a SystemGuid. In the terminology used in
this document, a Measurement System is an object comprising one or more measurement channels,
but with operations that can be performed simultaneously on all the channels in the system. The
SystemGuid is used to distinguish between multiple simultaneously connected measurement sys-
tems. Examples of measurement systems with multiple measurement channels include the F32 and
F37. Documentation for methods applying only to such measurement systems can be found in the
Less Commonly Used Methods section. In addition, some methods will accept either a Sys-
temGuid or a ChannelGuid. Such methods thus will execute an operation either on a single chan-
nel, or simultaneously on all channels of a system.
Note that the FIMeasResults object which is returned by the Measure and AnalyzeSpectrum meth-
ods has a large number of member functions and properties. Since the names are all self-explan-
atory, we have not attempted to list all of the members here. The reader should use the Object
Browser which is built into Microsoft Visual Studio in order to discover the available properties
and methods.
Methods, Property and Events:
New
AcquireSpectrum
ActivateChannelDisplayTab
AnalyzeSpectrum
AuthenticateRefBac
BaselineAcquireBackgroundAfterRef
BaselineAcquireReference
BaselineAcquireReferenceT
BaselineAcquireReferenceUsingOldSampleReflectance
BaselineAcquireSpectrumFromSample
BaselineCommit
BaselineSetRefMat
BaselineShowDialog
GUIVisible
MeasChannelGuid
MeasChannelGuids
MeasChannelHWName
MeasChannelHWSerialNumber
MeasChannelName
Measure
NumberOfChannels
NumberOfSpectrometers
NumberOfSubSystems
OpticsConfiguration
OpenSpectrum
OpenSpectrumFromBuffer
SaveSpectrum
SaveSpectrumToBuffer
SetAnalysisWavelengthRange
SetMaterial
SetN
SetRecipe
SetRoughness
SetThickness
SpectrometerDiagnostics
The following methods are only rarely used. Methods which refer to a System are used with the
F32 and F37 thin film monitoring systems. Many methods accept either a measSystem or a
measChannel guid. However, some methods are relevant only to a single channel. If you supply a
measSystem guid as the argument for one of these methods, an exception will be thrown.
ActivateMonitorDisplayTab
BaselineExistsAndIsAuthenticated
MeasSystemGuid
MeasSystemGuids
MeasSystemHWName
MeasSystemName
NumberOfSystems
ShutdownRequestedHandler
SystemAutoSave
SystemAutoSaveBaseFileNameAndPath
SystemMeasure
SystemStartMonitoring
SystemStopMonitoring
SystemMeasurementCompletedEventHandler
New
guiType – Determines if the FIRemote user interface and associated objects will be constructed at
startup. If guiType is set to None, then the startup process is accelerated and memory usage is
minimized. However, the user interface cannot be displayed at a later time if it is not constructed
during the startup process. If guiType is set to Standard, then the normal graphical user inter-
face is constructed during the startup process.
guiStartupState – Determines whether or not the FIRemote user interface is displayed at startup.
Note that this argument has no effect if guiType = None. If guiStartupState is set to Hid-
den, then the user interface will not be visible on screen at the completion of the startup process. If
the user interface was constructed at startup, it can be displayed at a later time by setting GUIV-
isible = True.
guiWindowStartupState – If guiStartupState is set to Shown then the FIRemote User inter-
face window will appear on the screen at the completion of the startup process. Note that this argu-
ment has no effect if guiType = None. The state of the window is controlled by
guiWindowStartupState. You can set the state to Maximized, Normal, or Minimized.
Remarks: You can suppress the display of the FIRemote user interface by setting guiType appro-
priately. Typically, you would show the user interface during software development in order to aid
in the testing and debugging process. However, there are some applications where it is useful to be
able to show and hide the user interface while the software is running. This is accomplished with
the GUIVisible Property. The constructor warns if the startup recipe has problems loading and a
default recipe is loaded instead.
Return to Index...
AcquireSpectrum
Public Sub AcquireSpectrum(ByRef spectrumWavelengths() As Sin-
gle, ByRef spectrumData() As Single)
Public Sub AcquireSpectrum(ByRef spectrumWavelengths() As Sin-
gle, ByRef spectrumData() As Single, ByVal flushPipeline As
Boolean)
Public Sub AcquireSpectrum(ByRef spectrumWavelengths() As Sin-
gle, ByRef spectrumData() As Single, ByRef sec-
ondarySpecWavelengths() As Single, ByRef secondarySpecData()
As Single, ByRef primarySpecIsReflectance As Boolean)
Public Sub AcquireSpectrum(ByRef spectrumWavelengths() As Sin-
gle, ByRef spectrumData() As Single, ByVal sec-
ondarySpecWavelengths() As Single, ByRef secondarySpecData()
As Single, ByVal flushPipeline As Boolean, ByRef pri-
marySpecIsReflectance As Boolean)
Public Sub AcquireSpectrum(ByVal measChannelGuid As Guid,
ByRef spectrumWavelengths() As Single, ByRef spectrumData() As
Single)
Public Sub AcquireSpectrum(ByVal measChannelGuid As Guid,
ByRef spectrumWavelengths() As Single, ByRef spectrumData() As
Single, ByVal flushPipeline As Boolean)
Public Sub AcquireSpectrum(ByVal measChannelGuid As Guid,
ByRef primarySpecIsReflectance As BooleanByRef spec-
trumWavelengths() As Single, ByRef spectrumData() As Single)
Public Sub AcquireSpectrum(ByVal measChannelGuid As Guid,
ByRef spectrumWavelengths() As Single, ByRef spectrumData() As
Single, ByVal flushPipeline As Boolean, ByRef pri-
marySpecIsReflectance As Boolean)
measChannelGuid – The GUID of the measurement channel for which a spectrum should be
acquired. If multiple measurement channels exist, the measChannelGuid must be specified.
secondarySpecWavelengths – For systems that can simultaneously acquire reflectance and trans-
mittance such as the F10-RT, array to contain wavelengths of measured secondary spectum data
points. For all other systems, the returned argument is Nothing.
secondarySpecData – For systems that can simultaneously acquire reflectance and transmittance
such as the F10-RT, array to contain the measured secondary spectum data points. For all other sys-
tems, the returned argument is Nothing.
flushPipeline – If set to True (default), any data currently being acquired is ignored and new data is
acquired. If set to False, data currently being acquired is returned when acquisition is finished.
Remarks: It is important that you catch exceptions which may occur as a result of calling this
method. See the example program for details.
Return to Index...
ActivateChannelDisplayTab
Public Sub ActivateChannelDisplayTab(ByVal measChannelGuid As
Guid)
Remarks: After execution, the active tab in the FILMeasure GUI will be the specified Meas-
urement Tab. This method should only be executed if multiple measurement channels exist.
Return to Index...
AnalyzeSpectrum
Public Function AnalyzeSpectrum(ByVal formatSummaryAsRtf As
Boolean) As FIMeasResults
Public Function AnalyzeSpectrum(ByVal formatSummaryAsRtf As
Boolean, ByVal addToHistory As Boolean) As FIMeasResults
Public Function AnalyzeSpectrum(ByVal measChannelGuid As Guid,
ByVal formatSummaryAsRtf As Boolean) As FIMeasResults
Public Function AnalyzeSpectrum(ByVal measChannelGuid As Guid,
ByVal formatSummaryAsRtf As Boolean, ByVal addToHistory As
Boolean) As FIMeasResults
measChannelGuid – The GUID of the measurement channel for which a spectrum should be
analyzed and optionally added to history. If multiple measurement channels exist, the meas-
ChannelGuid must be specified.
addToHistory – Normally, each analysis result is added to the collection of results displayed in the
History area of FILMeasure. In some cases, it may be advantageous to suppress the addition of a
result to the History area. One example where this may be needed is the case where you wish to
analyze a spectrum with two different measurement recipes and then add only the best result to the
History.
Remarks: The most-recently acquired spectrum can be analyzed by calling this function.
Return to Index...
AuthenticateRefBac
Public Sub AuthenticateRefBac()
Public Sub AuthenticateRefBac(ByVal measChannelOrSystemGuid As
Guid)
measChannelOrSystemGuid – The GUID of the measurement channel for which a baseline should
be recovered. If multiple measurement channels exist, the measChannelGuid must be specified.
Remarks: Calling this method is equivalent to clicking Baseline… to display the Baseline dialog
and then clicking Recover Last Baseline… to recover an old baseline spectrum. Note that there are
many situations where an exception may be generated by calling this method. See the example pro-
gram for details.
Return to Index...
BaselineAcquireBackgroundAfterRef
Public Sub BaselineAcquireBackgroundAfterRef()
Public Sub BaselineAcquireBackgroundAfterRef(ByVal meas-
ChannelOrSystemGuid As Guid)
Remarks: This method provides a means to automate what is most commonly called step #3 of the
Baseline procedure (step #4 for F10-VC, “Reflection Only” or “Reflection and Transmittance”.
step #2 for F10VC “Transmittance Only”). As the name of this method implies, you must have pre-
viously acquired a reference spectrum.
Return to Index...
BaselineAcquireReference
Public Sub BaselineAcquireReference()
Public Sub BaselineAcquireReference(ByVal meas-
ChannelOrSystemGuid As Guid)
Remarks: This method provides a means to automate what is most commonly called step #2 of the
Baseline procedure. Calling BaselineAcquireReference may generate an exception. There are a
number of rules required for successful execution of this method. Unless the acquisition timing
mode in the recipe is set to Manual, you must first call BaselineAcquireSpectrumFromSample. Alter-
natively, you could call the variant of this method which accepts a user-supplied reflectance value
if you know the sample reflectivity and wish to skip step #1.
Return to Index...
BaselineAcquireReferenceT
Public Sub BaselineAcquireReferenceT()
Public Sub BaselineAcquireReferenceT(ByVal meas-
ChannelOrSystemGuid As Guid)
measChannelOrSystemGuid – The GUID of the measurement channel for which a Transmittance
reference should be acquired. If multiple measurement channels exist, the measChannelGuid must
be specified.
Remarks: This method should only be called for the F10-VC. It provides a means to automate step
#3 of the Baseline procedure for “Reflectance Only” or “Reflectance and Transmittance” modes,
or step #1 of the Baseline procedure for “Transmittance Only” mode. No sample should be posi-
tioned on stage when called.
Return to Index...
BaselineAcquireReferenceUsingOldSampleReflectance
Public Sub BaselineAcquireReferenceUsingOldSampleReflectance()
Public Sub
BaselineAcquireReferenceUsingOldSampleReflectance(ByVal meas-
ChannelOrSystemGuid As Guid)
Remarks: This method provides a means to automate steps 1 and 2 of the Baseline procedure by
assuming that the sample reflectance is unchanged from what it was the last time a baseline pro-
cedure was performed. Note that an exception may be thrown in some situations including the case
where no prior baseline spectrum exists.
Return to Index...
BaselineAcquireSpectrumFromSample
Public Sub BaselineAcquireSpectrumFromSample()
Public Sub BaselineAcquireSpectrumFromSample(ByVal meas-
ChannelOrSystemGuid As Guid)
measChannelOrSystemGuid – The GUID of the measurement channel for which a sample spec-
trum should be acquired. If multiple measurement channels exist, the measChannelGuid must be
specified.
Remarks: This method provides a means to automate what is most commonly called step #1 of the
Baseline procedure.
Return to Index...
BaselineCommit
Public Sub BaselineCommit()
Public Sub BaselineCommit(ByVal measChannelOrSystemGuid As
Guid)
measChannelOrSystemGuid – The GUID of the measurement channel for which a new baseline
should be commited. If multiple measurement channels exist, the measChannelGuid must be spec-
ified.
Remarks: Call this method to finalize the baseline procedure and commit the acquired spectra for
use as a new baseline measurement.
Return to Index...
BaselineSetRefMat
Public Sub BaselineSetRefMat(ByVal theRefMat As String)
Public Sub BaselineSetRefMat(ByVal measChannelOrSystemGuid As
Guid, ByVal theRefMat As String)
measChannelOrSystemGuid – The GUID of the measurement channel for which the reference
material should be assigned. If multiple measurement channels exist, the measChannelGuid must
be specified.
theRefMat – The reference material as it would normally appear in the list of reference materials
shown in the Baseline dialog.
Return to Index...
BaselineShowDialog
Public Sub BaselineShowDialog(ByRef dialogCanceled As Boolean)
Remarks: Calling this method will cause the baseline dialog box to be displayed on the screen
Return to Index...
GUIVisible
Public Property GUIVisible As Boolean
Remarks: Setting this property to True will cause the FIRemote user interface to be displayed on
the screen. Note that this will normally cause the user interface window to appear on top of any
other windows. If you wish to keep another window on top of the FIRemote user interface
window, it may be necessary to call .BringToFront on that other window. If the FIRemote object is
constructed with guiType set to None then an exception will be thrown if GUIVisible is set to
True.
Return to Index...
MeasChannelGuid
Public ReadOnly Property MeasChannelGuid(ByVal meas-
ChannelIndex As Integer) As Guid
Public ReadOnly Property MeasChannelGuid(ByVal measSystemGuid
As Guid, ByVal measChannelIndex As Integer) As Guid
Remarks: Returns the GUID of the specified channel. Note this can be used to obtain the GUID
used by all methods requiring a measChannelGUID. Also note that the relationship between meas-
ChannelIndex and MeasChannelGuid is not static. Future versions of FILMeasure will dynam-
ically reorder this list in response to an equipment connect/disconnect event. You should not rely
on the order of the channels in the list when attempting to perform a command on a certain chan-
nel.
Return to Index...
MeasChannelGuids
Public ReadOnly Property MeasChannelGuids() As Collection(Of
Guid)
Remarks: Returns a collection of GUID for each measurement channel that exists.
Return to Index...
MeasChannelHWName
Public ReadOnly Property MeasChannelHWName(ByVal meas-
ChannelGuid As Guid) As String
measChannelGuid – The GUID of the measurement channel for which the channel hardware
name should be returned.
Remarks: The hardware name is composed of a system name string and a serial number string sep-
arated by a colon. Example: F20:09A006.
Return to Index...
MeasChannelHWSerialNumber
Public ReadOnly Property MeasChannelHWSerialNumber(ByVal meas-
ChannelGuid As Guid) As String
Public ReadOnly Property MeasChannelHWSerialNumber(ByVal meas-
ChannelGuid As Guid, ByVal spectrometerIndex As Integer) As
String
Public ReadOnly Property MeasChannelHWSerialNumber(ByVal meas-
ChannelGuid As Guid, ByVal subsystemIndex As Integer, ByVal
spectrometerIndex As Integer) As String
spectrometerIndex – The spectrometer index (to specify which of multiple spectrometers in the
channel).
subsystemIndex – The subsystem index (to select among multiple subsystems in the channel).
Remarks: Returns the controller hardware serial number of the specified spectrometer. If the spec-
trometer or subsystem are not specified, the default index = 0 will be used. If there are multiple sub-
systems, a hyphen followed by the subsystem ID is appended to the hardware serial number.
Example for single subsystem: 09A006. Example for multiple subsystem: 09A007-1
Return to Index...
MeasChannelName
Public ReadOnly Property MeasChannelName(ByVal measChannelGuid
As Guid) As String
measChannelGuid – The GUID of the measurement channel for which the channel name should
be returned.
Return to Index...
Measure
Public Function Measure(ByVal formatSummaryAsRtf As Booleanl)
As FIMeasResults
Public Function Measure(ByVal formatSummaryAsRtf As Booleanl,
ByVal addToHistory As Booleanl) As FIMeasResults
Public Function Measure(ByVal measChannelGuid As Guid, ByVal
formatSummaryAsRtf As Booleanl) As FIMeasResults
Public Function Measure(ByVal measChannelGuid As Guid, ByVal
formatSummaryAsRtf As Booleanl, ByVal addToHistory As
Booleanl) As FIMeasResults
measChannelGuid – The GUID of the measurement channel for which a spectrum should be
acquired and analyzed. If multiple measurement channels exist, the measChannelGuid must be
specified.
addToHistory – Normally, each analysis result is added to the collection of results displayed in the
History area of FILMeasure. In some cases, it may be advantageous to suppress the addition of a
result to the History area. One example where this may be needed is the case where you wish to
analyze a spectrum with two different measurement recipes and then add only the best result to the
History.
Remarks: Calling this function is equivalent to clicking the Measure button in FILMeasure. Note
that if the Measure button is disabled when you call this function, an exception will be thrown.
Return to Index...
NumberOfChannels
Public ReadOnly Property NumberOfChannels() As Integer
Return to Index...
NumberOfSpectrometers
Public ReadOnly Property NumberOfSpectrometers(ByVal meas-
ChannelGuid As Guid) As Integer
Public ReadOnly Property NumberOfSpectrometers(ByVal meas-
ChannelGuid As Guid, ByVal subsystemIndex As Integer) As
Integer
subsystemIndex – Thesubsystem index (to specify which of multiple subsystems in the channel).
Remarks: The number of spectrometers in the specified subsystem. If subsystemIndex is not pro-
vided, the default index = 0 will be used.
Return to Index...
NumberOfSubSystems
Public ReadOnly Property NumberOfSubSystems(ByVal meas-
ChannelGuid As Guid) As Integer
Remarks: The number of subsystems that compose the specified measurement channel.
Return to Index...
OpticsConfiguration
Public Property OpticsConfiguration() As Optic-
sConfigSystemTypes [Get/Set]
Public Property OpticsConfiguration(ByVal measChannelGuid As
Guid) As OpticsConfigSystemTypes [Get/Set]
measChannelGuid – The GUID of the measurement channel for which the OpticsConfiguration is
to be get/set. If multiple measurement channels exist, the measChannelGuid must be specified.
Return to Index...
OpenSpectrum
Public Sub OpenSpectrum(ByVal filenameAndPath As String)
Public Sub OpenSpectrum(ByVal filenameAndPath As String, ByVal
measChannelGuid As Guid)
filenameAndPath – The full path and filename (including extension) of the spectrum. If the file can-
not be opened, an exception will be thrown.
measChannelGuid – The GUID of the measurement channel for a spectrum is to be opened. If mul-
tiple measurement channels exist, the measChannelGuid must be specified.
Remarks: Unlike the behavior when a spectrum is opened in FILMeasure, the software will not
automatically analyze the spectrum after opening it. If analysis of the spectrum is desired, then the
Analyze function must be called.
Return to Index...
OpenSpectrumFromBuffer
Public Sub OpenSpectrumFromBuffer(ByVal theBuffer As Byte())
Public Sub OpenSpectrumFromBuffer(ByVal theBuffer As Byte(),
ByVal measChannelGuid As Guid)
theBuffer – Byte array containing spectrum. Data in this array must have been created by Save-
SpectrumToBuffer method.
Return to Index...
SaveSpectrum
Public Sub SaveSpectrum(ByVal filenameAndPath As String)
Public Sub SaveSpectrum(ByVal filenameAndPath As String, ByVal
ifTextFormatWriteYDataAsPercent As Boolean)
filenameAndPath – The full path and filename (including extension) of the spectrum. The file for-
mat is determined by the extension. Valid file extensions are the same as the extensions listed in the
Save Spectrum dialog windows accessed via the File->Save Measured Spectrum menu item in
FILMeasure.
Return to Index.
SaveSpectrumToBuffer
Public Sub SaveSpectrumToBuffer( As Byte()
Remarks: This function allows the caller to rapidly retrieve the complete set of data contained in a
spectrum, thereby avoiding the time that would be consumed if the spectrum were saved to a file.
This may be useful in cases where the caller wishes to rapidly acquire a number of spectra and
store them up for later saving to file or analysis. The contents of the buffer should be considered
opaque. Any changes to the data in the buffer may render the data unusable and/or may not be com-
patible with future versions of FILMeasure.
Return to Index.
SetAnalysisWavelengthRange
Public Sub SetRecipeSetAnalysisWavelengthRange(ByVal meas-
ChannelGuidmeasChannelOrSystemGuid AsGuid, ByVal start-
Wavelength_nm As Single, ByVal endWavelength_nm As Single)
Public Sub SetAnalysisWavelengthRange(ByVal startWavelength_nm
As Single, ByVal endWavelength_nm As Single)
Remarks: Setting the wavelength range will also switch the recipe into using a specified wave-
length range instead of using the entire wavelength range visible on the spectrum graph.
Return to Index.
SetMaterial
Public Sub SetMaterial(ByVal measChannelOrSystemGuid AsGuid,
ByVal layerNumber As Integer, ByVal materialName As String)
Public Sub SetMaterial(ByVal layerNumber As Integer, ByVal
materialName As String)
Remarks: You can alter the material of a layer in the current recipe using the method. An exception
will be thrown if the layer number is out-of-bounds or the material does not exist.
Return to Index.
SetN
Public Sub SetN(ByVal measChannelOrSystemGuid AsGuid, ByVal
layerNumber As Integer, ByVal refractiveIndex As Single)
Public Sub SetN(ByVal layerNumber As Integer, ByVal refrac-
tiveIndex As Single)
layerNumber – The layer number for which to set the refractive index.
Remarks: You can alter the material of a layer in the current recipe using the method. An exception
will be thrown if the layer number or refractive index are out-of-bounds.
Return to Index.
SetRecipe
Public Sub SetRecipe(ByVal measChannelOrSystemGuid As Guid,
ByVal recipeName As String)
Public Sub SetRecipe(ByVal recipeName As String)
recipeName – The recipe name to be selected must exist in the list of recipes. Note that you can
select recipes contained in subfolders by specifying the relative path, using the backslash character
‘\’ to separate folder names as is conventional in path naming.
Remarks: The current spectrum will not be automatically reanalyzed when a new recipe is selected.
To reanalyze the spectrum you must call AnalyzeSpectrum.
Return to Index.
SetRoughness
Public Sub SetRoughness(ByVal measChannelOrSystemGuid As Guid,
ByVal layerNumber As Integer, ByVal roughness_nm As Single)
Public Sub SetRoughness(ByVal layerNumber As Integer, ByVal
roughness_nm As Single)
roughness_nm – Roughness value which will appear in the Layers tab of the recipe for the spec-
ified layer. Units are nanometers.
Remarks: You can alter the roughness of a layer in the current recipe using the method. An excep-
tion will be thrown if the layer number or roughness are out-of-bounds.
Return to Index
SetThickness
Public Sub SetThickness(ByVal measChannelOrSystemGuid As Guid,
ByVal layerNumber As Integer , ByVal thickness_nm As Single)
Public Sub SetThickness(ByVal layerNumber As Integer, ByVal
thickness_nm As Single)
thickness_nm – Thickness value which will appear in the Layers tab of the recipe for the specified
layer. Units are nanometers.
Remarks: You can alter the thickness of a layer in the current recipe using the method. An excep-
tion will be thrown if the layer number or roughness are out-of-bounds.
Return to Index
SpectrometerDiagnostics
Public ReadOnly Property SpectrometerDiagnostics() AsFISpec-
DiagnosticsInfo()
Public ReadOnly Property SpectrometerDiagnostics(ByVal meas-
ChannelGuid AsGuid)As FISpecDiagnosticsInfo()
Public ReadOnly Property SpectrometerDiagnostics(ByVal meas-
ChannelGuid As Guid, ByVal subsystemIndex As Integer) As
FISpecDiagnosticsInfo()
subsystemIndex – The subsystem index (to select among multiple subsystems in the channel).
Remarks: Returns an array of objects containing information about the spectrometers. Information
includes integration time, peak raw signal intensities of reference and background spectra, etc.
Return to Index
ActivateMonitorDisplayTab
Public Sub ActivateMonitorDisplayTab()
Public Sub ActivateMonitorDisplayTab(ByVal measSystemGuid As
Guid)
Remarks: This function is provided to permit synchronization of the FILMeasure user interface
with the user interface of a client program.
Return to Index...
BaselineExistsAndIsAuthenticated
Public Function BaselineExistsAndIsAuthenticated(ByRef authen-
ticationIsPossible As Boolean) As Boolean
Public Function Base-
lineExistsAndIsAuthenticated(measChannelOrSystemGuid As Guid,
ByRef authenticationIsPossible As Boolean) As Boolean
Return to Index...
MeasSystemGuid
Public ReadOnly Property MeasSystemGuid(ByVal measSystemIndex
As Integer) As Guid
Remarks: Returns the GUID of the specified system. Note this can be used to obtain the GUID
used by all methods requiring a measSystem GUID. Also note that the relationship between meas-
SystemIndex and MeasSystemGuid is not static. Future versions of FILMeasure will dynamically
reorder this list in response to an equipment connect/disconnect event. You should not rely on the
order of the systems in the list when attempting to perform a command on a certain system.
Return to Index...
MeasSystemGuids
Public ReadOnly Property MeasSystemGuids() As Collection(Of
Guid)
Remarks: Returns a collection of GUIDs containing one item for each measurement system that
exists.
Return to Index...
MeasSystemHWName
Public ReadOnly Property MeasSystemHWName(ByVal systemGuid As
Guid) As String
Remarks: The hardware name is composed of a system name string and a serial number string sep-
arated by a colon. Example: F37:09A006
Return to Index...
MeasSystemName
Public ReadOnly Property MeasSystemName(ByVal systemGuid As
Guid) As String
Return to Index...
NumberOfSystems
Public ReadOnly Property NumberOfSystems() As Integer
Return to Index...
ShutdownRequestedHandler
Public Delegate SubShutdownRequestedHandler(ByVal e As Win-
dows.Forms.FormClosingEventArgs)
Public Event ShutdownRequested As ShutdownRequestedHandler
Remarks: The client software can prohibit closing of the software by setting e.Cancel to True.
Alternatively, the client software may wish to perform certain actions prior to allowing the FIRe-
mote class to shut down.
Return to Index...
SystemAutoSave
Public Property SystemAutoSave() As Boolean
Public Property SystemAutoSave(ByVal systemGuid As Guid) As
Boolean
Remarks: You can set or get the state of the AutoSave setting using this property. Note that setting
a new state for SystemAutoSave will not affect an on-going monitor process, but will take effect
the next time a new set of data starts being collected.
Return to Index...
SystemAutoSaveBaseFileNameAndPath
Public Property SystemAutoSaveBaseFileNameAndPath() As String
Public Property SystemAutoSaveBaseFileNameAndPath(ByVal sys-
temGuid As Guid) As String
Remarks: You can set or get the base filename and path for the AutoSave file using this property.
The full filename is generated by appending a date and time stamp to the base filename. Note that
setting a new filename will not affect an on-going monitor process, but will take effect the next
time a new set of data starts being collected.
Return to Index...
SystemMeasure
Public Function SystemMeasure() As FIMeasResultValuesOnly
Public Function SystemMeasure(ByVal dele-
teAccumulatedDataBeforeMeasure As Boolean) As FIMeas-
ResultValuesOnly
Public Function SystemMeasure(ByVal systemGuid As Guid) As
FIMeasResultValuesOnly
Public Function SystemMeasure(ByVal systemGuid As Guid, ByVal
deleteAccumulatedDataBeforeMeasure As Boolean) As FIMeas-
ResultValuesOnly
Remarks: Acquire and measure on all channels in a system. Measurement is performed simul-
taneously on all channels. Measured results are contained in an FIMeasResultValuesOnly object.
Return to Index...
SystemStartMonitoring
Public Sub SystemStartMonitoring()
Public Sub SystemStartMonitoring(ByVal systemGuid As Guid)
Return to Index...
SystemStopMonitoring
Public Sub SystemStopMonitoring()
Public Sub SystemStopMonitoring(ByVal systemGuid As Guid)
Return to Index...
SystemMeasurementCompletedEventHandler
Public Delegate Sub
SystemMeasurementCompletedEventHandler(ByVal systemGuid As
Guid, ByVal theResults As FIMeasResultValuesOnly)
Public Event SystemMeasurementCompleted As Sys-
temMeasurementCompletedEventHandler
Remarks: This event is raised upon completion of a SystemMeasure task and after each meas-
urement during a SystemMonitor process. You should avoid performing lengthy operations (such
as writing data to a file) in the handler for this event because the monitor process will be halted
until the handler function exits. If execution of a lengthy operation is needed, you should invoke a
different thread to perform the operation. If the event is raised as a result of completing a Sys-
temMeasure task, then you will need to exercise care to avoid creating a threading deadlock. A
deadlock will occur if you invoke the thread which called SystemMeasure in the handler for this
event because that thread will not return from SystemMeasure until all the event handlers have fin-
ished executing. See the FIRemoteTest example program to see one way to avoid the deadlock
problem.
Return to Index...