STM-1 Manual
Rev 1.3
2003-11-06
Dave Reynolds
Ben Vollmer(for STM firmware version ACF2.0/ min HW rev B)

Warranty
SYCON INSTRUMENTS, INC.
Sycon Instruments, Inc. (Sycon) warrants that all electronic instrumentation equipment manufactured by Sycon shall be free fromdefects in materials and workmanship for a period of 2 years from date of shipment. Mechanical vacuum components such as
Feedthroughs, sensors, cables, and shutters shall be warranted for a period of six months from the date of shipment. For theduration of the warranty period Sycon will, at its option, either repair or replace any part which is defective in materials orworkmanship without charge to the purchaser. The foregoing shall constitute the exclusive and sole remedy of the purchaser forany breach by Sycon of this warranty.
This warranty does not apply to any equipment which has not been used in accordance with the specifications recommended by
Sycon for the proper and normal use of the equipment. Sycon shall not be liable under any circumstances for consequential orincidental damages in connection with, or arising out of the sale, performance, or use of, the equipment covered by this warranty.
This warranty is in lieu of all other warranties by Sycon, expressed or implied, including the implied warranty of merchantability,
the implied warranty of fitness for a particular purpose, and warranty against infringement of any patent.

EQUIPMENT RETURN
Before returning any equipment to Sycon contact the Product Service Department. You must obtain a RA (Return Authorization)
number from Sycon Instruments and indicate this number on all shipping cartons and correspondence. Ship all items in suitablecontainers with adequate protection from outside damage. Also include a short description of the problem or condition tofacilitate processing.

Sycon Instruments, Inc.
6757 Kinne Street
Syracuse, New York
13057-1215
Phone (315) 463-5297
www.sycon.com

1Warranty ......................................................................................................................................................... 1
SYCON INSTRUMENTS, INC.................................................................................................................................................. 1
EQUIPMENT RETURN ............................................................................................................................................................. 1

1. Hardware ..................................................................................................................................................... 3
1.1 Specifications: ....................................................................................................................................................................... 3
1.2 Connections:.......................................................................................................................................................................... 3
1.3 Dipswitch Settings:................................................................................................................................................................ 3
1.4 Status/Communication LEDs ................................................................................................................................................ 4

2. Communications ......................................................................................................................................... 5
2.1 Protocol Structure:................................................................................................................................................................. 5
2.2 Data Access: .......................................................................................................................................................................... 7
2.2.2 Run Time Data Group: ....................................................................................................................................................... 9
2.2.3 Utilities Group:................................................................................................................................................................. 10
2.2.4 Analog Output: ................................................................................................................................................................. 11
2.2.5 Firmware Version............................................................................................................................................................. 11
2.3 Forming the Data Field:....................................................................................................................................................... 12

3. Calibration and Theory............................................................................................................................ 13
3.1 Measurement Theory........................................................................................................................................................... 13
3.2 Rate Computation................................................................................................................................................................ 13
3.3 Thickness Reading Calibration............................................................................................................................................ 13
3.4 Density Determination......................................................................................................................................................... 13
3.5 Density................................................................................................................................................................................. 13
3.6 Z-Factor Determination ....................................................................................................................................................... 14
3.7 Tooling Determination ........................................................................................................................................................ 142

1. Hardware
1.1 Specifications:Sensor Inputs: 1
Sensor Frequency: 1.95MHZ - 10.05MHZ
Frequency Accuracy (Absolute): <2ppm
Frequency Stability (Relative Accuracy) Nominal: .03HZ
Measurement Period: 100ms (Ten measurements per second, regardless of frequency).
Thickness Resolution:.02 A

Rate (Raw) Resolution:.02 A/secCommunication Electrical: RS232 or RS485 (dip-switch selectable), 9600 or 115200 BAUD (dip-switch selectable)
Communication Protocol: SMDP (Sycon Multi Drop Protocol)

1.2 Connections:Electrical Connections at board (DB9 female connector):
Pin#
Description
1
Analog output ground. NOT ISOLATED.
2
RS232 TxD/RS485 inverting (-)
3
RS232 RxD/RS485 non-inverting (+)
4
No connection
5
Communication signal gnd.
6
Analog output, 0 to +10V, 12 bits, nominal. 30 mA current source.
7
No connection
8
No connection
9
Alternate power (+5V) input if J2 is not used, 500 mA supply required.
RS232 PC to STM1 communication cable:
DB9 male pin# (plug into STM1)
2 (STM1 TxD)
3 (STM1 RxD)
5 (STM1 GND)

Connect to

DB9 FEMALE PIN# (plug into PC)
2 (PC RxD)
3 (PC TxD)
5 (PC GND)

1.3 Dipswitch Settings:
On, or 1, is when the dipswitch is in the up position (top position when switch is viewed with switch labeled 1 on the left andswitch 8 on the right). Off, or 0, is when the dipswitch is in the down position.
Switch number
1
2

Controls
Nothing
Endian Selection (see note 1.1)

3

Communication Checksum(See note1.2)
Baud Rate

4

Description
Unused0 = little endian (LS first)
1 = big endian (MS first), Default
0 = No checksum
1 = Checksum required, Default
0 = 9600 Baud1 = 115,200 Baud, Default
35-8

Communication Module Address and232/485 selection

SW5…SW8ASCII/hex/dec
0000 = RS232, address @/40/64, Default
0001 = RS485, address A/41/65
0010 = RS485, address B/42/66
0011 = RS485, address C/43/67
0100 = RS485, address D/44/68
0101 = RS485, address E/45/69
0110 = RS485, address F/46/70
0111 = RS485, address G/47/71
1000 = RS485, address H/48/72
1001 = RS485, address I/49/73
1010 = RS485, address J/4A/74
1011 = RS485, address K/4B/75
1100 = RS485, address L/4C/76
1101 = RS485, address M/4D/77
1110 = RS485, address N/4E/78
1111 = RS485, address O/4F/79

Note 1.1: Only meaningful if raw data query/updates are performed. ASCII mode query/updates are not affected by endian
selection.
Note 1.2: See protocol specification for checksum/non checksum mode specifics.

1.4 Status/Communication LEDs
The STM1 board has two LEDs, status and communication. The status LED is closest to the circuit board, or on the bottom ifviewed facing the STM1 unit with the power connection on the left and the sensor connector on the right. They work as follows:
Status LED: On power up, the STM1 blinks a 24-bit status word. A ‘1’ is signaled with two quick blinks, and a ‘0’ is signaled
with a single blink. There is a one second delay in between bit codes, where the LED is off. The first eight bits are the dip switch
settings, starting with switch 1. Then the next 16 bits are the firmware checksum, starting with D15 (most significant bit). Afterthe 24 bits are communicated, there is a 4 second pause (where the LED is off) and then the status led goes into normal operation.
Status led normal operation (listed from highest priority to lowest priority):
1) Fast blink: In this mode, the led blinks very fast, too fast to count the blinks per second. This indicates that the measured
frequency of the crystal (sensor head) is not within programmed range. This is the crystal bad indication.
2) Slow blink: In this mode, the led blinks once per second. This indicates that the measured frequency of the crystal (sensor
head) is within programmed range, but the STM1 has not had it’s power up reset flag acknowledged (a reset of the STM1
occurred and the host computer did not send the “reset power fail flag” command). See Sycon Multi Drop Protocol manual for
details of this command.
3) Solid: In this mode, the LED does not blink, but stays on solid. This indicates that the measured frequency of the crystal(sensor head) is within programmed range and the host computer has acknowledged the power fail (reset) condition.
Communication LED: This LED blinks once on power up (as a lamp test). After that, the led lights up for one second every
time a valid communication packet (correct address, checksum, etc) is received by the STM1 from the host computer. When thisLED blinks, it means the STM1 has received a packet for it, and has parsed the packet and the packet is valid in structure. The
STM1 will respond with a response packet in this case.

42. Communications
2.1 Protocol Structure:
The protocol used to interface with the STM-1 is a byte-packet protocol. A packet begins with ASCII STX (hex 02 or decimal 2)
and ends with ‘\r’ (carriage return). Each field in angle brackets (<>) is a byte, and is not optional. Fields in regular brackets ([])
are optional. Ellipses (…) mean one or more of the previous. The structure of the packet is below:<STX><ADDR><CMD_RSP>[<DATA>…]<CKSUM1><CKSUM2><CR>
STX: Start of text character (hex 02). Multiple STX characters in a row are allowed.
Similarly, any data between STX characters is ignored. A single STX character syncs the receiver up to receive a new message,purging any data collected since the last STX character or carriage return received.
ADDR: Address field. This is a one-byte field. Valid ranges of a valid address are 10 hex to FE hex (16 to 254 decimal).
Addresses less than 10 hex are not allowed as they may be mistaken for framing characters. An address of FF hex is reserved as it
is used as an extension (to indicate another byte of address information follows) for products that have an address range higher
than an address of FE hex. This is for future expansion and is not used at this time.
CMD_RSP: Command/Response field. When sending a packet to the STM-1, RSPF bit is zero and the
RSP field (3 bits) is zero. When a packet is coming from the STM-1, CMD bits are the same as in the message that it was sent,
but the RSP field will be non-zero (indicating actual unit response status). This allows the direction to be positively indicated, as
well as the command preserved on the return reply.
Format of the CMD_RSP byte:
D7
D6
D5
CMD3
CMD2
CMD1

D4
CMD0

D3
RSPF

D2
RSP2

D1
RSP1

D0
RSP0

CMD: Command. These are the commands that can be issued to the STM-1.
CMD
Mnemonic
Meaning
Dec/Hex0/0----------Cannot be used, byte could be mistaken for framing char.
1-2/1-2
3/3

Reserved
Prod_id

Reserved for future use in protocol stack.
Sycon product id, returned as decimal string.

4/4

VersionRequest slave to return software version string.

5/5

Reset

Request slave to reset.

6/6
7/7

AckPF
PROTV

Request slave to clear RSPF bit/flag.
Request slave to return protocol stack version. Decimal string.

8/8

RndReadRandom query of database, data in raw format.

9/9

RndWritRandom update of database, data in raw format

10/A

Lock

Lock database. Multiple locks not harmful but not nested

11/B

UnlockUnlock database. Multiple unlocks not harmful but not nested.

12/C

AscRd

Random query of database, data in ASCII format.

13/D

AscWr

Update of database, data in ASCII format.

5RSP: Once the packet is sent, the STM-1 receives and acknowledges the packet, and sends its response. In the CMD_RSP byte,
the CMD bits are unchanged from the master, but the RSP bits are filled in according to the status of the slave. See table below.
RSP
0
1
2
3
4
5
6
7

Mnemonic

Meaning------------OK
Err_inv_cmd
Err_syntax
Err_range
Err_inhibited
Err_obso

Response code must be non-zero, to indicate direction.
Command understood and executed.
Illegal command (CMD code not valid).
Syntax error. (Too many bytes in data field, not enough bytes, etc).
Data range error.
Inhibited
Obsolete command. No action taken, but not really an error.
Reserved for future protocol stack use

Because there are multiple errors possible, but limited RSP codes, the following table describes the RSP code returned for
database transaction errors:
Database transaction: Address to read/write is invalid.
Database transaction: Attempt to write a read only record.
Database Transaction: Attempt to write to the configuration parameters group while a commit or rollback
operation is pending, or an attempt to query configuration parameters group while a rollback was pending.

Err_syntax
Err_syntax
Err_inhibited

Database transaction: An attempt to write to a semaphore register while flags still pending.

Err_inhibited

Database transaction: Number of bytes to write does not match record length.

Err_syntax

Database transaction: Update data value out of range

Err_range

Database transaction: Update data, ASCII mode, or data malformed.

Err_syntax

RSPF: This bit only has meaning when a packet is coming from the STM-1. If this bit is 1, then the slave has been reset since thelast AckPF power fail acknowledgement was received.
DATA: The optional data. Interfacing with the STM-1 is done by querying and setting records in the database on the STM-1 card.
Information about this database is provided in the Data Access section 2.2, and information on how the data field is formed inboth outgoing and incoming packets is contained in section 2.3, Forming the Data Field.
Since this protocol is binary transparent, STX and carriage return characters are not allowed in the data field. To solve thisproblem, these characters must be escaped. To send a hex 02, send the protocol escape character (HEX 07) followed by ‘0’ (hex30). To send a hex 0D, send the protocol escape character (HEX 07) followed by ‘1’ (hex 31). To send a hex 07, send the protocol
escape character (HEX 07) followed by ‘2’ (hex 32). Note that the protocol escape character (HEX 07) cannot be sent by itself,
but can only be sent followed by a 0,1,or2. If the protocol escape character is sent by itself, or is not followed by a 0,1,or 2, thenthe packed is deemed invalid and ignored.
CKSUM1, 2: The checksum characters for the message. This is the mod-256 checksum of all packet bytes except the STX andcarriage return BEFORE ESCAPE CHARACTER BYTE STUFFING. The data is encoded as follows:
Compute the mod 256 checksum of ADDR, CMD_RSP and DATA fields, before byte stuffing with escape characters.
CKSUM1 character is the upper (most significant) four bits of the checksum (read as a nibble, 0-15, or right justified) plus hex 30(ASCII 0). This yields an ASCII character from ‘0’ (hex 30) to ‘?’ (hex 3f).
CKSUM2 character is the lower (least significant) four bits of the checksum plus hex 30 (ASCII 0). This yields an ASCII
character from ‘0’ (hex 30) to ‘?’ (hex 3f).
Note 2.1: Invalid packets (bad checksum, too short, corrupt data, bad escape sequences) are ignored by the STM-1. That means
there is no reply at all to an invalid packet.

62.2 Data Access:The STM1 card is designed to act as a slave, connected to a master via RS-232/485.
Data flow to and from the STM1 is through a database resident on the STM1 card. This section will explain the database, all of
the data items in it (records), and their properties.
The database is a collection of data objects. Each object has a record # (always one byte, from 0-255) and a data value. The record# is the key used to address a certain record. The combination of the record # and the data value is called a record. Writes to the
database are called updates, and reads from the database are called queries. A query is when the master (device connected to the
STM1 card via RS-232/485) reads a database record. An update is when the master writes to a database record on the STM1 card.
Records are of variable length, depending on the data type.
The database is divided into 3 groups:
Configuration parameters: All members of this group are parameters that are used in the calculation of the Run Time Data.
This group includes properties such as material density, etc, which are necessary to compute thickness.
Run Time Data: All members of this group are updated (by the STM1) every 100ms, based on sensor data and configuration
parameters. This section of the database can be locked. When locked, all record queries are guaranteed to be from the samemeasurement cycle. This avoids temporal errors (rate and thickness not from the same measurement cycle, for example).
Utilities: This group provides utility functions, such as zeroing the thickness, setting the analog output voltage, etc.

2.2.1 Configuration Parameters Group:
All members of this group can be updated and queried.
Configuration parameter updates must be committed in order to take affect. See Note 2.2!
In each case:Uchar is an 8 bit unsigned value (0-255).
Uint is a 16 bit unsigned value (0-65535).
Ulong is a 32 bit unsigned value (0-4,294,967,295).
Double is a 64 bit floating point value, IEEE format; Sign/exponent in most significant bytes, mantissa in leastsignificant byte.

Configuration Parameters:
Record#Name(dec/hex/ascii)
65/41/A
SessId66/42/B
Fq
67/43/C
Fm
68/44/D
Density
69/45/E
Zratio70/46/F
Tooling
71/47/G
RateReq
72/48/H
QlvlTrip
73/49/I
SlvlTrip
74/4A/J
ChmodsType

Description

Uchar
DoubleDoubleDoubleDoubleDoubleDoubleUchar
Uchar
Xmods_class

Session ID. Copied to Runtime data group CfgPrmSSID.
Xtal start freq. (Hz)
Xtal min freq. (Hz)Material density (gm/cc).
Material Z ratio. Not scaled or unitized.
1.000 is 100 % tooling (unity).
Requested rate (A/S). For Q monitor only.
Quality threshold, if non 0 and exceeded, xtal fail occurs.
Stability threshold, if non 0 and exceeded, xtal fail occurs.
Additional channel mode bits. See Xmods_class description below.

7Configuration parameters, Min/Max/Default values:
Record#Name
Type
Minimum (dec)(dec/hex/ascii)
65/41/A
SessIdUchar
066/42/B
Fq
Double1,950,000 (Hz)67/43/C
Fm
Double1,950,000 (Hz)68/44/D
Density
Double0.01 gm/cc
69/45/E
ZratioDouble0.1
70/46/F
Tooling
Double0.1
71/47/G
RateReq
Double0 A/sec
72/48/H
QlvlTripUchar
073/49/I
SlvlTripUchar
0
74/4A/J
ChmodsXmods_class
0
Xmods_class description (single byte record):
Bit D7
Bit D6
Bit D5
Bit D4
X
X
X
X

D3
X

D2
X

Maximum (dec)Default (dec)

255
10,050,000 (Hz)10,050,000 (Hz)100 gm/cc
10101000 A/sec
9
9
255

0
6,050,000 (Hz)5,000,000 (Hz)
1 gm/cc1
1
1 A/sec000D1
HALT_ERROR

D0
X

When HALT_ERROR = 1 and an error occurs (XtalStat is non-zero) then none of the run time data is computed, and ALL
records in the run time data group (except CfgPrmSSID) remain unchanged until the error status is cleared (see XtalOP_class).
This allows a view of the last measurement that caused an xtal fail. This is also useful if the master system does not want to see
every measurement, but check the status of the system once in a while, and does not want to miss process glitches. When
HALT_ERROR = 0, then XtalStat is cleared to no error at the beginning of each new measurement cycle, and the measurement
cycle continues normally.
Note 2.2: Updates to this group are not “live”, meaning updates to this table are not sent to the measurement engine logic
until commanded to do so (committed), and therefore will have no effect on measurements until committed. Queries ofthese records return the last update value, not necessarily the value the measurement engine is using. Functions in theutilities section allows for commits of these parameters, and rollbacks (which fill these records with the data themeasurement engine is using). All updates to all configuration parameter records performed between a commit command
and a rollback command are lost. In summary: Commits send all configuration parameters to the measurement engine,and rollbacks take all the current data the measurement engine is using and overwrites all the configuration parameterrecords. Also, if both a commit and rollback are requested, rollbacks are done first, and therefore the effect of the commit
is lost. Records cannot be queried or updated while a rollback is pending, and records cannot be updated while a commit
is pending. See the description of CPY_CFG_OP_class and notes 2.10 and 2.11 in the Utilities Group for more info on theuse of the CH1_CPY field.
Note 2.3: Changes to Tooling, Density, Z-Ratio, Fq, etc are NOT back-computed into XtalThick. Whenever these are changed,
the measurement engine re-computes all internal constants and uses the last frequency value as a point. The next measurement
therefore will have a correct point to determine rate, which is always accumulated into XtalThick.
Note 2.4: Although any numbers (between 2-10MHZ) can be used for Fq and Fm, the difference (Fq-Fm) should be less than Fq/ 2. If the frequency shift (measured frequency, RawFreq – Fq) is greater than (Fq / 2), the thickness calculation formula will notwork properly because of the nature of the Z-Ratio adjustment function. This would result in faulty thickness and rate numbers.
Note 2.5: Fq (crystal start frequency) is the frequency the crystal oscillates when uncoated. This is a property of the crystal.

8

2.2.2 Run Time Data Group:
All members of this group are query only.
Run Time Data:
Record#(dec/hex/ASCII)
97/61/a98/62/b
99/63/c
100/64/d
101/65/e
102/66/f
103/67/g

Name

Type

Description

CfgPrmSSID
Srlno
RawFreq
GoodFreq
RawThick
XtalThick
XtalThick_F

Uchar
Uint
DoubleDoubleDoubleDoubleDouble104/68/h
105/69/i
106/6A/j

XtalRate
XtalRate_F
XtalLife

DoubleDoubleDoubleConfiguration parameter session ID used to compute data. See note 2.6
Measurement serial number.
Channel freq. (Hz)Last used, good channel freq. (Hz). Used to compute rate and thickness.
Computed raw thickness, from frequency. (A)Computed material related thickness, can be zeroed. (A)Filtered computed material related thickness, can be zeroed. (A) See note
2.7.
Rate, angstroms per second.
Rate, angstroms per second, filtered. See note 2.8.
XtalLife (%). 0 if RawFreq = Fm, 100 if RawFreq = Fq, linear in between.

107/6B/k
108/6C/l
109/6D/m
110/6E/n
111/6F/o
112/70/p

XtalQual
XtalQualPeak
XtalStab
XtalStabPeak
XtalStat
XtalLife_C

Uchar
Uchar
Uchar
Uchar
XPROB_class
Uchar

Quality level (0-9).
Highest quality level seen (0-9).
Stability level (0-9).
Highest stability level seen (0-9).
Channel status. See XPROB_class description below.
XtalLife (%). 0 if RawFreq = Fm, 100 if RawFreq = Fq, linear in between.

XPROB_class description (single byte record):
Bit Weight
Description
0:XPROB_NONE
No Problems. The rest below are prioritized.
1:XPROB_FREQ
Frequency of xtal is > Fq or < Fm. Halts all other calculations. The only updated members are
Srlno and RawFreq. Highest Priority.
2:XPROB_LOWLIFE
Frequency was bad (previous XtalStat was XPROB_FREQ) and frequency is now in range, butlife is less than 3%. This is a hysteresis band. Updated members are Srlno, RawFreq, XtalLife
and XtalLife_C.
3:XPROB_S_FAIL
Stability level XtalStab of xtal >= SlvlTrip. Updated members are Srlno, RawFreq, XtalLife
XtalLife_C, XtalStab and XtalStabPeak.
4:XPROB_MATH
Unable to determine rate because of a computation error, most likely caused by a parameter(density, z-ratio, etc) having a zero or otherwise invalid (non numeric or infinity) value. Updated
members are Srlno, RawFreq, XtalLife, XtalLife_C, XtalStab XtalStabPeak, and RawThick.
5:XPROB_Q_FAIL
XtalQual of xtal >= QlvlTrip. All members updated. Lowest Priority
Note 2.6: CfgPrmSSID: This record is a tag, used to identify what configuration parameters group session was used for thecomputation of data. When a configuration parameter group is committed, the SessId is copied from that group to this runtime
data group. This allows a context to be known of what configuration parameters were used.
Note 2.7: XtalThick_F: Filtered thickness. This is the average thickness over 2 seconds (20 samples) minus the most recent 3
samples (.3 seconds). This is also useful when crystal fails, because this data member does not contain the last three samples
before crystal failed, the thickness information reflected here will be most accurate.
Note 2.8: XtalRate_F: Filtered rate. This is the average rate over 2 seconds (20 samples) minus the most recent 3 samples (.3seconds). This is also useful when crystal fails, because this data member does not contain the last three samples before crystal
failed, the rate information reflected here will be most accurate.

9

Quality monitor: Monitors the quality of the deposition system by dividing the rate error (XtalRate_F-RateReq) by therequested rate and multiplying by 100, then taking the absolute value to determine a percent error: |(((XtalRate_F-RateReq)/
RateReq)*100)|. The percent error is then broken up into ten categories:
Quality category (XtalQual)% Error0
0.0 – 4.9999
1
5.0 – 7.4999
2
7.5 – 9.9999
3
10.0 - 12.4999
4
12.5 - 14.9999
5
15.0 - 19.9999
6
20.0 - 24.9999
7
25.0 - 29.9999
8
30.0 - 39.9999
940.0 and up
Stability monitor: Monitors the frequency stability of the crystal. Single-measurement positive frequency hops are detected, andall positive frequency hops are accumulated. This data is then broken into ten categories:
Stability category (XtalStab)Single measurement pos delta
Accumulated positive deltas
0<25 Hz
<25Hz
1
25 Hz
25 Hz
2
50 Hz
100 Hz3
100 Hz101 Hz4
100 Hz200 Hz5200 Hz201 Hz6
400 Hz400 Hz7
600 Hz600 Hz81000 Hz
1000 Hz91000 Hz
5000 Hz

2.2.3 Utilities Group:
Some members of this group can be updated and others are query only.
Record#Name
Type
Description(dec/hex/ASCII)
48/30/0
49/31/1
50/32/2
51/33/3
52/34/4
53/35/5
54/36/6
55/37/7

Endiansel
Frmwrchsum
CH1_OPS
CH1_CPY
Serial Number
Build type
Aout_wdog
Aout_value

XtalOP_class (single byte)
D7 D6 D5X
X
Clear serial
number to
Srlno = 0

Uchar
Uint
XtalOP_class
CPY_CFG_OP_class
Ulong
Uint
Uchar
Uint

D4
Clear error to
XtalStat = 0

D3
Clear rate
filter

Query only. Endian select. See note 2.9.
Query only. Firmware Checksum. (Build).
Semaphore record. See note 2.10.
Semaphore record. See notes 2.10 and 2.11.
Query only. STM1’s factory programmed serial number
Query only. STM1’s factory programmed build type.
Analog output watchdog timeout, in seconds. (0-255)
Analog ouput value. 0-4095 is 0-10 V nominal.

D2
Clear stability info
XtalStab = 0
XtalStabPeak = 0

D1
Clear quality info
XtalQual = 0
XtalQualPeak = 0

D0
Zero thickness
XtalThick = 0

10

CPY_CFG_OP_class (single byte). See note 2.Error! Bookmark not defined. in Configuration Parameters section for details.
D7
D6
D5
D4
D3
D2
D1
D0
X
X
X
X
X
X
Rollback
CommitNote 2.9: 0 = little endian (least significant byte first). 1 = big endian (most significant byte first). Applies to all records. This
record is query only.
Note 2.10: Semaphore record description: Can only update this record if this record is all zeros. The bits in this record are clearedas the work pending is performed. Any attempt to update this record while any operation is pending (any bits non zero) will fail,causing an Err_inhibited response code. See specific protocol section for details on detection of this failure.
Note 2.11: Attempts to update configuration parameters are prohibited while a commit or rollback operation is pending. Also,
queries are prohibited while a rollback is pending. See specific protocol section for detection of these failures.

2.2.4 Analog Output:
The STM1 comes with an analog output feature. The analog output is under the control of the host computer through the database.
Writing to the Aout_value record causes that written value to be output to the analog connector almost instantly. The analog
output digital to analog converter (DAC) is a 12-bit DAC, so the valid range is 0-FFF hex or 0-4095 decimal. Writing a value of 0
to the Aout_value register will result in an analog output voltage of near zero volts (which is also the power up condition).
Writing a value of 4095 (FFF hex) results in an analog output of near 10 volts. The voltage output is proportional to the
Aout_value record (linear 0-10V from 0-4095).
There is also a watchdog feature, which works as follows: If the Aout_wdog record value is non-zero, then the analog output
watchdog is enabled. The record has a range of 0-255 (0 is disable). The 1-255 gives a watchdog timer period of 1-255 seconds.
With the watchdog enabled, the host computer must write to the Aout_value record or Aout_wdog record at least once every nseconds, where n is the value in the Aout_wdog record. The watchdog timer will be satisfied with a write (update) operation toeither of these registers, even if the value to write is the same or out of range. If the host computer does not update either of theserecords before the watchdog timer expires, the analog output will be forced to zero volts and the Aout_value record in the
database will be set to zero.

2.2.5 Firmware Version
Firmware Version is a query only record.
Using the SMDP protocol command “version” (CMD opcode 4) the firmware version string can be obtained. This string isdesigned to produce all relevant information to the master in order to identify the STM1 and communicate properly. See below
for the format:
1st Byte
PrefixFamilyDatabasecovenant
A-Z@=Error

Major version

Dot

6th Byte
Minor version

A=release
C=STM1
(0-9)
.
(0-9)
Q=qualification
T= testE.g.: ACF2.0 = STM1 release version 2.0 database covenant code E.
Prefix indicates STM1 major software class. (This document is for code A).
Family code indicates STM1 behavior family. (This document is for code C, standard STM1).
Database covenant indicates record locations and sizes. (This document is for code F).
Note 2.12: Database covenant of @ indicates a mismatched software/hardware platform. This is a fatal error, and the STM1 card
will not take any measurements.
Major and minor version numbers increment with feature additions (bug fixes).
Note 2.13: This class is in ASCII, and the byte order does not change based on Endiansel.

112.3 Forming the Data Field:
Transactions: (Description of <DATA> field):
If the incoming command string <DATA> field does not follow any of the below formats, then the reply RSP portion of the
CMD_RSP field will be Err_syntax and there will be no other data in the reply.
Locking the run time data group portion of the database (via the CmdOpcode_lock command) ensures all subsequent run time
data queries are from the same measurement cycle. So a quick and easy way to check for new data is to send a lock databasecommand, and check the byte in the reply. The user can then query any wanted records, and be certain that all of the data is fromthe same measurement. Just make sure to unlock the database after the queries of interest (if any) are performed. The databasemust be unlocked following a lock (and any queries, if any) in order for new data to post to the run time data group.
C: is data in <DATA> field in command packet sent to STM-1.
R: is data in <DATA> field in reply packet returned from STM-1.
<REC#> is the record number as described in section 2.
<PDAT> is the value that a record is being updated to, or the value a record is returning due to a query.
For opcode < CmdOpcode_RndRead >:C: <REC#>
R: <REC#><PDAT>[<PDAT>…]or
R: <REC#>
For opcode <CmdOpcode_RndWrit>
C: <REC#><PDAT>[<PDAT>...]
R: <REC#>: Do random read of database at <REC#>.
: No Error occurred, PDAT is database record value.
: If Error occurred, only record number echoed back.
: Do random write of PDAT data to database at <REC#>.
: Always echoes REC#, whether error occurred or not.

Note 2.14: for above, REC# and PDAT fields are in raw binary. Since there are less than 256 database records, REC# is a single
byte binary. Also note that endian matters for database records whose data type is larger than one byte. The PDAT field must be
expressed in the same endian setting as the dipswitch for updates, and it will be expressed as the dipswitch for queries.
For opcode <CmdOpcode_Lock>C:: Data field must be empty for the execute lock database command.
R: <LOKSTAT>: No Error occurred. Return lock reply.
: ‘1’ (ASCII 1, hex 31) = new data since last lock,: ‘0’ (ASCII 0, hex 30) = no new data since last lock.
For opcode <CmdOpcode_Unlock>C:: Data field must be empty for the unlock database command.
R:: No reply in data field for this command.
For opcode <CmdOpcode_AscRd>
C: <REC#>: Do random read of database at <REC#>.
R: <REC#><PDAT>[<PDAT>...]: No Error occurred, PDAT is database record value.
or
R: <REC#>: If Error occurred, only record number echoed back.
Note 2.15: For reading double types, the ASCII reply is [-]d[d…].fff where d is the whole number portion and fff is thefractional information. In other words, there is always a decimal point and three digits past the decimal point. So a value of zero,type double, will echo back as 0.000
For opcode <CmdOpcode_AscWr>
C: <REC#><PDAT>[<PDAT>...] : Do random write of PDAT data to database at <REC#>.
R: <REC#>: Always echoes REC#, whether error occurred or not.
Note 2.16: for above, REC# fields is in raw binary, and is one byte. For convenience, the tables in this document that describe
record address have an ASCII equivalent to the binary value, and can be placed in this field. The PDAT field is in ASCII form.

123. Calibration and Theory
3.1 Measurement Theory
The STM-1 uses the resonant frequency of an exposed quartz crystal to sense the mass of deposited films attached to its surface.
There is a known relationship between the mass of such a film and the measured frequency of the sensor crystal. Knowing thefrequency change due to accumulated mass, film thickness is determined by the following equation: Π • (Fq - Fc)  (Nq • Dq )  
Af = 
• ArcTan  Z • Tan

Fq

 

 (Π • Df • Z • Fc ) Where the terms used in the equation are defined as:
Af
Film Thickness, in Angstroms (1a=10-10 Meters)
Nq

Frequency Constant for AT Cut Crystal, 1.668 X 1013 Hz/ÅDensity of Quartz 2.648 gm/cm3

Dq
ΠThe Constant Pi, 3.14159265358979324
Df
Density Of Film Material in gm/cm3
Z
Z-Factor of material, is the square root of the ratio [(Dq*Uq)/(Df*Uf)]. Dq and Df are the densities as above and Uq and
Uf are the shear moduli of quartz and the film, respectively. These values are available in several materials handbooks.
Fq
Frequency of sensor crystal prior to depositing film material on it. This value is a manufacturing controlled constant.
Fc
Frequency Of Loaded Sensor Crystal.

3.2 Rate Computation
Rate computation is based on the rate of change of these thickness readings, updated ten times per second, and then filtered for
display. Also available from the instrument is the raw measured frequency of the sensor crystal.

3.3 Thickness Reading Calibration
Instrument calibration is affected by three different parameters, material density, material Z-Factor, and tooling. Tooling is a
deposition system geometry correction (location of sensor relative to substrates). Density and Z-Factor are material factors.

3.4 Density Determination
Use of the material bulk density value will normally provide sufficient film thickness accuracy. If additional accuracy is required,the following procedure may be used:

3.5 Density
Using a new sensor crystal (this eliminates Z-Factor errors) place a substrate adjacent to the sensor so that both sensor andsubstrate see the same evaporant stream. Set the instrument density to the bulk value of the material (see the Material Reference
Table in Section 4.3). Set the Z-Factor to 1.000 and the Tooling Factor to 1.00. Deposit approximately 5000 Angstroms ofmaterial on the sensor and substrate. After deposition remove the substrate and measure the film thickness with a profilometer or
multiple beam interferometer. The correct density value may be determined by the formula:
Correct Density = [Trial Value * Measured Thickness (from STM-1)] / (actual thickness (via profile))
After reprogramming with the new value, another run can be made to verify instrument reading against empirical results.

13

3.6 Z-Factor Determination
A list of Z-Factor values may be found in the Material Reference Table in Section 4.9. For other materials Z-Factor may be
calculated by the following formula:1
 Dq • Uq 
Z - Factor =  Df • Uf 2where:
Dq = Density Of Quartz
Uq = Shear Modulus Of Quartz
Df = Density Of Film
Uf = Shear Modulus Of Film
The density and shear modulus values may be found in many material reference handbooks.
Z-Factor values are typically very close to bulk values. High stress materials seem to have values slightly lower than expected.

3.7 Tooling Determination
Place a substrate in the normal holder location and deposit a film of approximately 5000 Angstroms using
either bulk or calibrated density and Z-Factor values. Make sure that when doing this calibration the toolingis set to 1.00. Measure the substrate film thickness as in the density calibration method and determine thecorrect Tooling Factor value by the following formula:
Tooling = (Substrate Thickness / Displayed Thickness)

143.8 Material Reference Table
Common Material
Bulk Density And Z-Factor Values
Material

SymbolBulk Density
gm/CC

Z Factor

Aluminum
Aluminum Oxide
Antimony
Arsenic As
Barium Ba
Beryllium
Bismuth Bi
Bismuth Oxide
Boron B
Cadmium
Cadmium Selenide
Cadmium Sulfide
Cadmium Telluride
Calcium
Calcium Fluoride
Carbon (Diamond)
Carbon (Graphite)
Cerium (III) Fluoride
Cerium (IV) Oxide
Chromium
Chromium (III) Oxide
CobaltCopperCopper (I) Sulfide (A)Copper (I) Sulfide (B)Copper (III) Sulfide
Dysprosium
ErbiumGadolinium
Gallium
Gallium Arsenide
GermaniumGold
Hafnium
Hafnium Oxide
Holnium
IndiumIndium Intimonide
Indium Oxide
Iridium
Iron
Lanthanum
Lanthanum Fluoride
Lanthanum Oxide
Lead
Lead Sulfide
Lithium
Lithium Fluoride
Magnesium
Magnesium Fluoride
Magnesium Oxide
Manganese
Manganese (II) Sulfide

Al
Al2O3
Sb
5.73
3.50
Be
9.80
Bi2o3
2.54
Cd
Cdse
Cds
Cdte
Ca
CaF2
C
C
CeF3
CeO2
Cr
Cr2O3
Co
Cu
Cu2S (A)Cu2S (B)
CuS
Dy
Er
Gd
Ga
GaAs
Ge
Au
Hf
HfO2
Ho
In
InSb
In2O3
Ir
Fe
La
LaF3
LaO3
Pb
PbS
Li
LiF
Mg
MgF2
MgO
Mn
MnS

2.73
3.97
6.62
0.966
2.100
1.85
0.790
8.90
0.389
8.64
5.81
4.83
5.85
1.55
3.18
3.52
2.25
6.16
7.13
7.20
5.21
8.71
8.93
5.60
5.80
4.60
8.54
9.05
7.89
5.93
5.31
5.35
19.3
13.1
9.63
8.80
7.30
5.76
7.18
22.4
7.86
6.17
5.94
6.51
11.3
7.50
0.53
2.64
1.74
3.00
3.58
7.20
3.99

1.080
-------0.768
0.543-------0.682-------1.020
0.980
2.620
0.775
0.220
3.260
--------------0.305-------0.343
0.437
0.690
0.670
0.820
0.600
0.740
0.670
0.593
1.590
0.516
0.381
0.360
-------0.580
1.650
0.769
-------0.129
0.349
0.920
--------------1.130
0.566
5.900
0.774
1.610
-------0.411
0.377
0.940

15

Material

Symbolgm/CC

Bulk Density

Z Factor

Mercury
Molybdenum
Neodynium Fluoride
Neodynium Oxide
Nickel
Niobium
Niobium (V) Oxide
Palladium
Platinum
Potassium Chloride
Rhenium
Rhodium
Rubidium
Samarium
Scandium
Selenium
SiliconSilicon (II) Oxide
Silicon Dioxide
SilverSilver Bromide
Silver Chloride
Sodium
Sodium Chloride
SulfurTantalum
Tantalum (IV) Oxide
Tellurium
Terbium
Thallium
Thorium (IV) Fluoride
Tin
Titanium
Titanium (IV) Oxide
Titanium Oxide
TungstenTungsten Carbide
Uranium
Vanadium
Ytterbium
Yttrium
Yttrium Oxide
Zinc
Zinc Oxide
Zinc Selenide
Zinc Sulfide
Zirconium
Zirconium Oxide

Hg
Mo
NdF3
Nd2O3
Ni
Nb
Nb2O5
Pd
Pt
KCl
Re
Rh
Rb
Sm
Sc
Se
Si
SiO
SiO2
Ag
AgBr
AgCl
Na
NaCl
S
Ta
Ta2O5
Te
Tb
Tl
ThF4
Sn
Ti
TiO2
TiO
W
WC
U
V
Yb
Y
Y2O3
Zn
ZnO
ZnSe
ZnS
Zr
ZrO2

13.46
10.2
6.506
7.24
8.91
8.57
4.47
12.0
21.4
1.98
21.04
12.41
1.53
7.54
3.00
4.82
2.32
2.13
2.20
10.5
6.47
5.56
0.97
2.17
2.07
16.6
8.20
6.25
8.27
11.85
6.32
7.30
4.50
4.26
4.90
19.3
15.6
18.7
5.96
6.98
4.34
5.01
7.04
5.61
5.26
4.09
6.51
5.6

0.740
0.257
--------------0.331
0.493-------0.357
0.245
2.050
0.150
0.210
2.540
0.890
0.910
0.864
0.712
0.870
1.070
0.529
1.180
1.320
4.800
1.570
2.290
0.262
0.300
0.900
0.660
1.550
-------0.724
0.628
0.400
-------0.163
0.151
0.238
0.530
1.130
0.835
-------0.514
0.556
0.722
0.775
0.600
--------

16