UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

A computer controlled signal averaging spectrometer system Thewalt, Michael Ludwig Wolfgang 1975

Your browser doesn't seem to have a PDF viewer, please download the PDF to view this item.

Item Metadata

Download

Media
831-UBC_1975_A6_7 T44.pdf [ 5.99MB ]
Metadata
JSON: 831-1.0093243.json
JSON-LD: 831-1.0093243-ld.json
RDF/XML (Pretty): 831-1.0093243-rdf.xml
RDF/JSON: 831-1.0093243-rdf.json
Turtle: 831-1.0093243-turtle.txt
N-Triples: 831-1.0093243-rdf-ntriples.txt
Original Record: 831-1.0093243-source.json
Full Text
831-1.0093243-fulltext.txt
Citation
831-1.0093243.ris

Full Text

A COMPUTER CONTROLLED.SIGNAL.AVERAGING SPECTROMETER SYSTEM by MICHAEL LUDWIG WOLFGANG THEWALT B.Sc.,McMaster University,1972  A THESIS SUBMITTED IN PARTIAL.FULFILMENT OF THE REQUIREMENTS FOR THE DEGREE OF MASTER OF SCIENCE i n the Department of Physics We accept t h i s t h e s i s as conforming to the required standard  THE UNIVERSITY OF BRITISH COLUMBIA October, 1975  In p r e s e n t i n g t h i s  thesis  an advanced degree at the L i b r a r y I  further  for  freely  of  the  requirements  B r i t i s h Columbia, I agree  available  for  t h a t p e r m i s s i o n for e x t e n s i v e copying o f  this  representatives. thesis for  It  financial  gain s h a l l  of  The U n i v e r s i t y of B r i t i s h Columbia  2075 Wesbrook Place Vancouver, Canada V6T 1W5  that  this  thesis or  i s understood that copying or p u b l i c a t i o n  written permission.  Department  for  reference and study.  s c h o l a r l y purposes may be granted by the Head of my Department  by h i s of  fulfilment  the U n i v e r s i t y of  s h a l l make it  agree  in p a r t i a l  not  be allowed without my  Cii) ABSTRACT  A high s e n s i t i v i t y infrared  spectrometer with signal averaging capa-  b i l i t i e s was constructed f o r the detection and analysis of luminescent light.  The apparatus was interfaced to a Nova- 2 minicomputer which was  used to control a l l aspects of the experiment  i n progress.  Two programs  were written for this system: one i n machine language through which programs written i n a higher l e v e l language can communicate with the i n t e r face, -and one i n the Basic language which contols the spectrometer when c o l l e c t i n g data.  Other programs which have been written for data  analysis w i l l not be described here.  An example of work currently being  performed with the new system has been included. heretofore unknown l i n e s i n the luminescence dence of the high s e n s i t i v i t y of this  The detection of several  spectrum of S i gives e v i -  apparatus.  (iii) TABLE. OF. CONTENTS PAGE ABSTRACT TABLE OF CONTENTS LIST OF FIGURES LIST OF TABLES ACKNOWLEDGEMENTS  i i i i i v v i  vii  CHAPTER I. II. •/. j. III.  INTRODUCTION INITIAL STAGES OF DIGITIZATION A. Spectrometer Drives B. D i g i t a l Voltmeter - Teletype Adapter SPECTROMETER AND DETECTORS A. Introduction B. Spectrometer  C. Detectors ..IV. THE NOVA-2 MINICOMPUTER A. Introduction B. Characteristics of the NOVA-2 C. Programming the Computer D. Interfacing V. THE INTERFACE  VI.  VII.  1 5 5 7 13 13 13 15 18 18 18 20 26 28  A. Introduction  28  B. Description of Peripheral Devices  28  C. Machine Language Subroutines  36  SIGNAL AVERAGING PROGRAM A. Introduction B. Program Operation. , EXAMPLE OF WORK DONE WITH THIS SYSTEM  BIBLIOGRAPHY  46 46 46 56 60  (iv)  APPENDIX A. .. SCHEMATIC DIAGRAMS AND LAYOUTS B. MACHINE LANGUAGE SUBROUTINES C. SIGNAL AVERAGING PROGRAM  PAGE 61 80 98  (v)  LIST  OF  FIGURES  FIGURE  PAGE  1.  B l o c k Diagram  of the Spectrometer  2.  B l o c k Diagram  of the D i g i t a l  3.  Sample o f D a t a  4.  Layout  Typed  Controller  8  Voltmeter - Teletype Adapter  Using the Adapter.  Signal  of Noise R a t i o  6.  Comparison  14  o f InAs D e t e c t o r W i t h  of the S i g n a l  to Noise R a t i o  Two  Preamplifiers  o f t h e Ge  17  7.  An  8.  S i g n a l Averaging Apparatus t  Motherboard  16  and  InAs D e t e c t o r s Example  11 12  of the Spectrometer  5.  9.  ...  of a Machine Language S u b r o u t i n e  25 55  Front Side  62  10.  Motherboard  11.  Digital  to Analog  C o n v e r t e r Board  Front Side  64  12.  Digital  to Analog  Converter Board  Back Side  65  13.  Analog  to.Digital  Converter Board  Front Side  66  14.  Analog  to D i g i t a l  Converter Board  Back S i d e  67  15.  Paper  Paper  63  Tape R e a d e r / P u n c h and D i g i t a l  Front 16.  Back S i d e  Side  Input/Output  . ..i  68  T a p e R e a d e r / P u n c h and D i g i t a l  Input/Output  Back S i d e 17.  Spectrometer Timer  18.  Board  Spectrometer Timer  Board  Board 69  Controller  and  Programmable  Interval  Front Side Controller  70 and  Programmable  B o a r d .Back S i d e  Interval ;  19.  Digital  20.  Analog  21.  Paper  Tape Reader  74  22.  Paper  Tape Punch  75  23.  Digital  24.  Programmable  Interval  25.  Spectrometer  Controller  26.  Modifications  to Analog  Converter  to D i g i t a l  Converter  SUscswS*.? .Ricg*.as-  71  Input/Output  72 73  76 Timer  t o t h e X-Y  ,  77 78  Plotter  79  (vi) LIST OF TABLES  TABLE I.  PAGE Functions of the Switch Register i n the Signal Averaging Program  48  /  (vii)  ACKNOWLEDGEMENTS  I would encouragement I would for  their  work.  like  t o thank D r . R.R.Parsons  throughout t h i s like  award  f o r h i s unwavering s u p p o r t and  project.  t o express g r a t i t u d e  of a Postgraduate  to the National  Scholarship  Research Council  f o r the duration  of this  -1Chapter 1  INTRODUCTION The topics of research within this group have been centered from 1973 to the present on the detection and analysis of the recombination luminescence of photocreated carriers i n the semiconductors s i l i c o n and germanium.  The  photoluminescent spectrum can be studied as a function of temperature, excitation intensity, excitation wavelength, time, stress and impurities.  We  have been mainly interested i n the electron hole droplet"^ , a high density "condensed" phase of non-equilibrium carriers which can be observed both i n Si and Ge below a certain c r i t i c a l temperature and at s u f f i c i e n t l y high concentrations of carriers.  More recently we have also studied the unexplained  broadening of the free exciton lines i n S i , the recombination of electrons bound to phosphorus impurities with free holes and the band-to-band transition. In February 1974 i t was decided that our a b i l i t y to do significant new work was hampered by the limitations of the existing equipment, which consisted of a variable speed DC motor driver Perkin Elmer spectrometer, model 98G (f/3.5, focal length -26 cm) coupled to a dry -ice cooled PbS detector, lock i n amplifier and strip chart recorder. I t was f e l t that this system was lacking i n both convenience and s e n s i t i v i t y . Although lack of convenience i s a less fundamental problem than lack of s e n s i t i v i t y , i t nevertheless has a serious effect on the ease and efficiency with which experiments can be conducted.  There are two basic shortcomings  of the o r i g i n a l apparatus which both derive from i t s analog nature.  The  f i r s t limitation i s that the data i s recorded i n analog form, as a l i n e on the chart paper produced by the strip chart recorder. This l i m i t s the dynamic range of the apparatus to approximately 60 since the f u l l scale deflection i s 12 em and the minimum detectable signal would be about a 2 mm deflection.  - 2 -  More important, of course, i s the fact that a l l data analysis, such as curve f i t t i n g , data smoothing and deconvolution i s now done on d i g i t a l  computers.  Thus the data on the chart paper must be d i g i t i z e d manually, a tedious process i n which errors are e a s i l y introduced. The second deficiency arises from the fact that the spectrometer i s scanned by a continuously variable speed DC motor.  The speed s t a b i l i t y of  this motor i s very poor, especially at low speeds, and hence we must superimpose upon the data synchronizing markers derived from the r o t a t i o n of the spectrometer shaft.  Even i f the motor speed were stable, i t could s t i l l not  be set accurately and hence no two graphs could be e a s i l y compared since their wavelength axes would d i f f e r . In order to increase the s e n s i t i v i t y , the most obvious step would be to increase the signal l e v e l .  This could be done, i n p r i n c i p l e , by constructing  a spectrometer of lower f-number;  but t h i s i s impractical due to d i f f i c u l t i e s  i n finding suitable o p t i c a l elements for the l i g h t c o l l e c t i o n and detector focussing systems.  A l t e r n a t i v e l y one could build a spectrometer of longer  f o c a l length but having the same f-number.  The throughput of t h i s spectro-  meter would be greater since f o r the same resolution the s l i t s could be opened wider. S e n s i t i v i t y i s also d i r e c t l y proportional to the detector/pre-amplifier signal-to-noise (S/N) r a t i o , and hence the proper choice of this subsystem i s of great importance.  F i n a l l y , the introduction of d i g i t a l computers has  resulted i n the growing use of signal averaging as a means of increasing sensitivity.  This method u t i l i z e s the fact that i f one averages a r e p e t i t i v e  signal upon which random noise has been superimposed, then the average noise amplitude w i l l decrease by I/N where N i s the number of averages.  In other  words, to improve the signal to noise r a t i o by a factor S i t i s necessary to average the signal S  2  times.  - 3 These, then, were the shortcomings which needed improvement. I t was decided to proceed i n two distinct steps.  F i r s t , the Perkin-Elmer spectro-  meter was to be f i t t e d with a stepping motor drive. The motor controller was to have a wide range of discrete stepping speeds a l l of which were locked to the 60 HZ l i n e frequency, as was the chart recorder.  Thus these two units  would now run synchronously, and a l l speeds would be exactly resetable.  The  controller would also issue synchronizing pulses to either the strip-chart recorder or to the d i g i t i z e r . The d i g i t i z e r converted the output of an existing Monsanto d i g i t a l multimeter into a format suitable for printout on a teletype (ASR-33). Thus the system would run at a very stable speed, produce a strip-chart recording for immediate reference, type out the voltage being recorded at some predetermined interval and simultaneously punch the data on paper tape.  This  tape would then contain a l l the data i n digitized form and could be later read into the central campus computing system for data analysis or for averaging with other data. The second level of improvement then took place while the previously described equipment was being used i n various experiments.  I t consisted of  the construction of a new f/3.5 spectrometer with a focal length of 58 cm.  A  l i q u i d nitrogen cooled InAs detector with a current sensitive preamplifier was used, although i t was later replaced by a liquid-nitrogen cooled Ge detector-preamplifier package when observing S i luminescence.  Simultaneously,  a general purpose interface was constructed which allowed almost a l l aspects of the experimental setup to be controlled by an on-line Nova-2 minicomputer (Data General).  While the basic idea of using an on-line computer was signal-  averaging, i t also resulted i n a great increase i n the ease and efficiency with which data could be collected.  Also, most data-analysis was then  carried out using the minicomputer rather than the campus computing centre.  - 4 The  proper  large  utilization  programs:  interface  The  that  we  very  low  study  and  and  BASIC  completed  by m y s e l f  the  system  others.  excitation  levels.  system  i s the f a c t form.  is currently  several  lines Of  the p r o d u c t i o n of control  P r o g r a m w h i c h was  that  easily one  certain  never  two  rather  the v a r i o u s written  i n a wide v a r i e t y  that  our  in  interest  at  is excitation  compress  they  large  i s the  carrier  (or band-  spectrometer, amounts o f  such  saturate at  the present free  is  spectroscopy since  c o n t r o l more t h a n one  c a n now  of work  sensitivity  seen b e f o r e , s i n c e  i m p u r i t y c e n t e r s , and  A l s o planned  can  b e i n g used  particular  involving  to-band) r e c o m b i n a t i o n .  understandable  Signal Averaging  I t seems f a i r l y  of recombination  important  required  language.  have observed  computer based  t h e computer  the Machine Language S u b r o u t i n e s which  elements,  the h i g h - l e v e l  of  data  the  and  also  into  - 5 -  Chapter 2  INITIAL STATES OF DIGITIZATION The f i r s t improvements to the existing apparatus began i n February 1974 and consisted of the design and construction of a stepping motor drive and controller for a Perkin-Elmer spectrometer and an adapter unit which would type and punch the output of a Monsanta 200A d i g i t a l voltmeter (DVM) on an ASR 33 Teletype. These projects were completed i n March 1974 and immediately put into use.  Both functioned properly, f u l f i l l i n g a l l design expectations  and greatly f a c i l i t a t i n g experimentation. The stepping motor drives and cont r o l l e r are s t i l l i n continuous use i n the present minicomputer based system, although the DVM-Teletype adapter was made obsolete by the newer system.  A. Spectrometer Drives In order to maximize simplicity and minimize cost i t was decided to scan the monochromators by means of stepping motors, without using any means of positional feedback such as shaft encoders.  This necessitated the use of  large motors which could be depended upon to never miss any steps when starting or stopping. In this case the spectrometer shaft location i s exactly determined by i t s i n i t i a l position and the sum of the clockwise and counter-clockwise steps taken by the motor. One rotation of the spectrometer shaft i s referred to as one "wave drive" (WD) unit. The motor selected was the Slo-Syn SS400, manufactured by the Superior Electric Co. I t i s a 200 steps per revolution model with a torque of 400 Oz.-in.  Two translator modules type STM 1800 were obtained from the same  manufacturer.  Each of these modules contains the power driver c i r c u i t r y  necessary to sequentially energize the four windings of the motor. One of the modules was used to construct a controller which contained only the power  - 6 -  supplies and level translation c i r c u i t r y necessary to control the motors with externally supplied Transistor-Transistor-Logic (TTL) pulses, that i s , pulses between Ov and +4v.  This controller could not function on i t s own and was  intended only for later use with the minicomputer system. The other translator module was incorporated into a control unit which could operate either i n a stand-alone mode or under external control.  In the  stand-alone mode the controller had to supply a wide range of stable scanning speeds and also synchronizing pulses at various increments of shaft rotation. Since the strip chart recorder was locked to the l i n e frequency by i t s synchronous motor drive, i t was desirable to also have the shaft rotation locked to the l i n e frequency.  Thus different sets of data which were ob-  tained using the same sweep speeds could be exactly superimposed without any need to adjust the WD axis. The control unit then consisted essentially of a fundamental frequency source followed by a divider chain to select the proper stepping rate, and another divider chain which would generate a synchronization pulse for a given number of steps.  Another small but essential part of the c i r c u i t pre-  vented the controller from moving the motor any further than the l i m i t s imposed by two microswitches positioned at the ends of the spectrometer screw shaft.  This was necessary since the high torque motor would have caused  considerable mechanical damage were i t to run past the allowable l i m i t s . The fundamental frequency source was then selected to f u l f i l l two criteria:  a) i t had to be derived from the l i n e frequency, b) upon d i v i -  sion i t must y i e l d a large number of convenient rotational speeds from the 200 steps per rotation motor. A phase-locked-loop  stabilized o s c i l l a t o r /  divider chain could have been used, but for reasons of expediency i t was decided to employ a synchronous motor to chop the light from a l i g h t emitting diode which was then detected by a phototransistor. This signal would thus  be phase locked to the 60 HZ l i n e frequency. A 20 RPS synchronous motor was used, which with a 16 bladed chopper gave a fundamental frequency of 320 Hz.  Upon dividing this by 3, 6, 12, 24,  48 and 96 rotational speeds of 32, 16, 8, 4, 2 and 1 rotations per minute (WD/min) were obtained.  In addition any of the above speeds could be further  divided by 6 or 60 to yield rotations per 10 minutes or rotations per hour. Thus the available range i s from 32 RPM to 1 RPH i n 18 increments. The synchronizing pulses were derived by passing the stepping pulses into another divider chain. Division by 2, 4, 8, 20, 40 and 200 resulted i n 100, 50, 25, 10, 5 and 1 synchronizing pulse per revolution, respectively. These pulses were available directly as TTL signals at the Pulse Out connector.  The Marker Out signal was derived from the synchronizing pulses but i t  differed i n that every 10'th pulse had double the amplitude of the other nine, which made i t much simpler to count the markers on the s t r i p chart paper.  The marker pulses were superimposed upon the data being recorded by  means of an isolation transformer whose secondary was connected i n series with the output of the lock i n amplifier.  B.  D i g i t a l Voltmeter-Teletype Adapter The next step required the d i g i t i z a t i o n of data as i t was being re-  corded on the s t r i p chart recorder, and the storage of this data on a suitable medium for later use.  The rate of d i g i t i z a t i o n was to be set by the  synchronization pulse from the spectrometer controller.  Since this system was  to be a stop gap measure, economy was a major consideration i n i t s design. Therefore i t was decided to build the system around a Teletype (model ASR  33)  which would later be used i n the mini-computer based system. The Teletype i s excellent for data acquisition since i t can simultaneously produce a typed record and a punched paper tape of the data for later use.  Block Diagram of the Spectrometer  16 Hole Chopper  Phototransistor| Amplifier  Controler  320 Hz >Frequency Divider Chain  < 5 ~  RPH  rl>b Light  20 RPS  Emitting Diode  Synch. Motor  Down Up r-0 4 0-,  Or  Int.  Switches For Selecting Sweep Speed  Ext. Boosts Every Tenth Pulse  Divider Chain Controller  TT +15V  -]5V +5V Limit Lamps  From Limit Switches  i c? o 6 5 0  1 0  5  o  1  T  Marker Pulses  External Stepping Pulses  81  5  Switch For Selesting The Marker Pulse Spacing Pulse Generator  STM-1800 Motor Driver  Trigger Pulses  Stepping Motor  Adopting the d i g i t a l voltmeter (DVM) to the Teletype (TTY) i s complicated by the non-compatible format of data used by these two devices. The output of the DVM consists of 4 binary coded decimal (BCD) d i g i t s along with a polarity b i t and the most significant b i t (the maximum range i s ± 17000) . Each BCD d i g i t requires four bits of data, and a l l of the data i s available simultaneously from 18 outputs.  This scheme of data transmission i s called  p a r a l l e l since a l l the b i t s are transmitted simultaneously. The teletype on the other hand i s a s e r i a l device, i n which the data i s received as a t r a i n of pulses on one data l i n e .  The f i r s t pulse i s the  "start" pulse, which alerts the TTY that data w i l l follow. Then an 8 b i t "byte" i s transmitted at a clock rate of 110 H'z, chosen to give a cycle time of 1/10 sec. which i s the maximum speed of the TTY. A 1 b i t i n the word i s represented by a pulse while a 0 b i t i s represented by the absence of a pulse i n a given time s l o t .  The code which relates these 8 b i t bytes to the alpha-  numeric characters and control instructions included i n the teletypes repertoire i s called ASCII, short for American Standard Code for Information Interchange. In addition to changing the p a r a l l e l BCD data to s e r i a l ASCII encoding ng; the adapter must also impose some format upon the data.  This would not  be s t r i c t l y necessary i f only punched paper tape were desired, but i n order to get a legible typed record of the data, spaces, carriage returns and l i n e feeds must be inserted when necessary.  Since the teletype prints 70  characters to a l i n e and there are 6 characters (including the minus sign and the leading 1) i n one voltage measurement, i t i s possible to type 10 voltages with one space between each on one l i n e .  At the end of a l i n e the teletype  must be fed a carriage return and a l i n e fed i n order to advance i t to the beginning of the next l i n e . The adapter was designed and constructed using standard Transistor-  - 10 -  Transistor-Logic  (TTL)  Integrated Circuits  c i r c u i t s were used.  The  more c o m p l e x s p e c i a l  purpose  mounted output there  p a r t s count  and  a 50  i s a BNC  p i n connector  button.  The  selector  r a t e by  t h e DVM.  adapter  so  that  or  cillator 110  output Hz  parallel  data  logic,  form  parity  generator  reset  be  of b i t s used  the  the next  10  i s divided rate  data  1 to  of  connector  input.  selector  by  On  the  the use  a reset  the  counter  down t o 109.375 Hz  i s adequately  3.5  an  T h i s i s done by  and  The  teletype  line. MHz  crystal  the output The  e v e n number o f b i t s  only punching  the  control  function  the  to  the  are always  b i t 8 on  os-  close  together with  p o r t i o n of the adapter.  i s to insure that  7 i s odd.  one  on  The  generator  push  adjustable repetition  the data  This,  a  external input,  i s shown i n b l o c k f o r m .  teletype.  panel  pulses),  occupy  the  of  teletype  front  level  either  a t an  which  integrated  f o r the  s w i t c h and  from  37  i t s power s u p p l i e s a r e  ( p o s i t i v e TTL  triggering  converter, the p a r i t y  tape.  total  d a t a words typed w i l l  r e q u i r e d by  ( t o c h e c k f o r any  of  the  punched  t a p e when  i g n o r e s b i t 8 when t y p i n g b u t  r e a d o r p u n c h e r r o r s ) when r e a d i n g t h e d a t a  the  i t can into  computer. The  DVM  into  other portion  ning  The  of every  seconds  cuits output  of  the adapter  a p a r a l l e l ASCII byte  formatting.  .7  i s a BNC  push b u t t o n r e s e t s  the teletype d r i v e r  the paper  and  the convert pulses generated  The  to s e r i a l  trigger  switch allows  In E i g . 2 the adapter  sum  adapter  input for external triggering  the push b u t t o n ,  on  The  f o r t h e DVM  push b u t t o n , a  A  c o u l d have been reduced  i n a c a b i n e t on whose r e a r p a n e l  manual t r i g g e r i n g  the  IC's.  (IC's).  buffer  type-out,  which  of  register thus  7 bits,  are r e q u i r e d to type  controlled  by  of  the buffer  register.  and  s t o r e s the  insuring  are  converts  that one  the p a r a l l e l also  output the data  takes  o f t h e DVM do  t h e word  output  of  the  care of a l l  not  voltage reading.  the c h a r a c t e r counter,  BCD  at  the  change i n The  counter  beginthe  decoder and  the  cir-  - 11 FIGURE 2 Block Diagram of the D i g i t a l Voltmeter - Teletype Adapter  Data From D i g i t a l Voltmeter  Pulses From DVM  1  External Reset Manual  Buffer Register  l — — Q  o O — oO o O +5  Character Counter  Decoding  Control  Matrix  Logic  Word Counter  4v Parity Divide  3.5' MHz Generator  by  Xtal  32,000 Osc.  y  5Z 12 B i t P a r a l l e l to S e r i a l Converter  to Driver  Teletype  Character 0 w i l l be either a space or a minus sign, character 1 w i l l be either a 1 or a space, the next 4 characters w i l l be the 4 d i g i t s from the DVM  and the l a s t character w i l l be a space, unless the word counter i s at 10.  In t h i s case, a f t e r typing the l a s t d i g i t a carriage return and then a l i n e feed w i l l be generated.  This process i s mediated by the sequence  F i g . 3 shows an example of the typed data. fed  controller.  The punched paper tape was  into the main campus computer, although the minicomputer  system was also  used analyze several data tapes.  FIGURE 3 Sample of Data Typed Using the Adapter  -  -  -  —  —  0005 1561 1122 0380 1490 0663 0393 0768 0227 0551 0866 0557 1908 1659 1921 0121  -  1048 1644 1394 1724 1537 1374 1809 1 196 1770 1896 0739 1136 0227 1301 1923 1731  0077 - 0266 0928 - 0469 - 1738 - 1902 - 0569 - 1642 - 1670 1926 - 1228 - 0842 - 1916 - 1719 0437 0635  - 1796 1782 1723 1114 0003 - 1848 1670 - 1902 1093 1924 0989 - 1377 - 1854 - 1887 - 1619 1888  - 0952 1005 1724 1192 - 1885 - 0208 1040 - 0034 - 1842 1916 - 1852 - 1641 - 1056 - 0653 - 0828 0034  - 1 164 - 0766 0715 - 1 068 - 0806 0762 - 1909 - 1737 - 0634 1925 - 1 700 0252 - 1 194 - 1058 - 1836 - 1883  - 1701 - 0117 1361 1919 0978 - 1900 - 1686 - 0938 - 0422 1224 0335 - 0872 - 1058 - 0318 - 1914 - 1871  -  0451 1915 1756 1869 1824 1034 1 148 1036 1391 0129 0624 0147 0907 0392 141 1 0649  - 0847 - 1041 - 1702 1485 - 0332 - 1313 - 0905 - 1294 - 1 186 - 1810 - 1469 - 1397 1545 1622 - 1465 - 1200  - 1666 1478 1325 - 1216 - 0749 - 1674 - 1759 - 0146 - 1785 - 1916 1889 - 1777 0074 0606 - 0937 1612  - 13 -  CHAPTER 3  SPECTROMETER AND DETECTORS A) Introduction During the spring of 1974 a l l experimental work was halted due to a general renovation of the laboratory f a c i l i t i e s , and this opportunity was taken to construct a new spectrometer.  This new instrument was to replace  the existing Perkin Elmer spectrometer for a l l photoluminescence work, and the Perkin Elmer unit was to be set aside for unrelated experiments.  A new  detector housing was constructed i n which an InAs photovoltaic diode was mounted. The housing was later modified to allow the use of a special Ge detector which was used f o r detecting S i luminescence.  B) Spectrometer One of the main design c r i t e r i a for the new spectrometer was to make the f u l l e s t possible use of existing components. These consisted of a grating, two mirrors and the combined entrance and exit s l i t s .  The grating, manu-  factured by Bausch and Lomb, was planar and was ruled with 600 lines per mm blazed at 1.6u. The ruled area measured 20.6 cm by 12.8 cm and the blank thickness was 3.5 cm. The resolving power at 1.6u was greater than 80% of the theoretical and the efficiency was greater than 78% of the theoretical value.  The two mirrors were spherical, with a focal length of 58 cm. The  adjustable holders on which they were mounted were included i n the spectrometer design.  The s l i t s were ganged together and could be adjusted from the  f u l l y closed position to a separation of 2 mm.  The s l i t openings were  7.5 cm high and were i n the shape of arcs on opposite sides of a c i r c l e 25.4 cm i n diameter.  -  14  -  FIGURE 4 Layout of the Spectrometer  Given these components the obvious choice f o r the spectrometer design was the Czerny-Turner mounting, which i s a modified form of the Ebert mounting.  The layout i s shown i n F i g . k_. This i s a very common arrangement  since i t has the advantage of using s p h e r i c a l mirrors.  The  abberations  produced by one mirror are cancelled to a great extent by those of the other. The spectrometer i s scanned by changing the grating angle.  The grating  holder rotates on an axle which i s supported by two ball-bearing sleeves" which are under compression so as to eliminate play.  A side arm extending  from the axle i s held by a spring against the nut of a b a l l bearing screw. This nut moves back and f o r t h as the b a l l bearing screw i s rotated by the stepping motor, thus changing the grating angle.  A b a l l bearing screw with a  preloaded nut was used instead of an ordinary screw because of i t s exceptiona l precision and the nearly t o t a l absence of play or backlash.  The screw i s  connected at one end to the motor shaft and at the other to a rotational counter readout. The spectrometer was constructed on the top of a metal table measuring 33 by 48 inches and covered by a light tight wooden box. were mounted directly to the 3/4" iron table-top.  A l l the components  When i t was later dis-  covered that ambient temperature fluctuations introduced errors i n the spectrometers calibration, i t was necessary to regulate the temperature of the table-top, which proved to be a satisfactory solution.  C) Detectors The detector which had been used before this project was undertaken was a lead sulfide photoconductive type, manufactured by Infrared Industries. This detector had been specially selected for high s e n s i t i v i t y , and was specified as having a detectivity D (1.5y, 100, 1) > 4 x 10" cm Hz w a t t 2  which corresponds to a noise effective power NEP < 2 x 1 0  - 1 3  -1  watts. The  detector provided optimum performance when cooled with dry ice (193 K), which was a drawback i n terms of ease of operation.  I t s time constant was approx-  imately 1 ms. The f i r s t of the new detectors to be added to the system was an InAs photovoltaic diode, type D-12 manufactured by Judson Research and Manufacturing.  When operated at a temperature of 77 K this detector was specified as  having a detectivity D (peak, 900, 1) of 1 to 3 x 10" cm Hz w a t t 2  corresponds to a noise effective power NEP of 1 x 1 0  - 1 3  to 3 x 10  -1  -ltf  which watts.  Thus this detector should have nominally greater sensitivity than the PbS detector; exists.  i n fact i t was considerably better but no quantitative comparison Two additional advantages 'of this detector are that i t does not  - 16 -  require dry ice and that i t i s much faster ( l y s ) , thus allowing time resolved luminescence studies to be undertaken. The InAs detector o r i g i n a l l y used the same preamplifier as the PbS detector, namely a PAR 113, which i s one of the lowest noise, voltage sensitive amplifiers available. I t was f e l t , however, that the InAs detector, being a photovoltaic device, would be better matched to a current sensitive preamplifier.  To test this hypothesis, a PAR 181 current sensitive pre-  amplifier was purchased and tests showed that i t resulted i n a reduction of the signal to noise ratio by a factor of f i v e .  A comparison of the two  results i s shown i n Fig. 5_ which clearly shows the importance of matching a detector with the proper amplifier. The s e n s i t i v i t y of the apperatus i n the region of S i luminescence was later greatly increased when we obtained a developmental i n t r i n s i c Ge photodetector, type 67-07-B, manufactured by RCA. In this detector l i q u i d nitrogen cools not only the Ge photoconductor but also the internally connec-  FIGURE 5 Signal to Noise Ratio of InAs Detector With Two Preamplifiers  Amplifier Output For Equal Step Input Time  ted preamplifier.  This is very important since intrinsic Ge photoconductive  detectors are always limited by preamplifier noise i f they are well constructed.  The specifications of this detector are NEP (1.42, 9 0 , 1) < IO""1**  watts and D (1.42, 9 0 , 1) > 4 x 1 0 1 3 cm Hz 2 w a t t - 1 .  In the Si luminescence  region (-l.ly) this detector has a signal to noise ratio 10 times better than that of the InAs diode.  The f u l l significance of this only becomes apparent  when one realizes that to gather equal amounts of information, the InAs detector would require 100 times as long as the Ge detector!  In Fig. tS the  response of both detectors to a fixed luminescence signal is compared.  When  comparing the error bars the number of averages must be taken into account: 4 with the Ge detector versus 36 with the InAs detector. Work is now underway to construct a prototype microwave biased photoconductive detector apparatus.  This technology offers wide bandwidths, and  when using Ge as the photoconductor i t seems to make the detection of single infrared photons a possibility"*^.  FIGURE 6 Comparison of the Signal to Noise Ratio of the Ge and InAs Detectors  Normalized Detector Output  A r b i t r a r y Wavelength  Scan  - 18 CHAPTER 4  THE NOVA-2 MINICOMPUTER A) Introduction The f i n a l stage i n the upgrading of our f a c i l i t i e s consisted of placing the entire experimental apparatus under the direct control of a minicomputer. This was done not only to improve s e n s i t i v i t y by signal averaging but also to extend the capabilities of the apparatus and to greatly increase the ease and efficiency with which data could be gathered and analyzed. The f i r s t step was of course the choice of a minicomputer.  After com-  paring various c r i t e r i a such as price, speed, instruction set, ease of programming, ease of interfacing, softwave support etc., i t was decided that the Data General NOVA-2 minicomputer had a definite advantage over a l l other models i n relation to our requirements.  This model, along with 16K  (thousand) words of 16 b i t memory was ordered i n March 1974.  The two month  delivery time was used for construction of the interface. The following sections are not intended to be a complete description of the NOVA, since detailed and complete data are available i n the manuals 2) published by Data General, s p e c i f i c a l l y i n "How to Use the Nova Computers" 3) and "Introduction to Programming the Nova Computers" B) Characteristics of the Nova-2 The NOVA-2 i s a 16 b i t d i g i t a l computer which has the same architecture and instruction set as a l l other Nova line computers manufactured by Data General Inc. A l l data and instructions are stored i n the memory as 16 b i t "words". Thus one data word can represent a l l the integers from 0 to 2 - l = l e  65535, or alternately those between -32767 and +32767. Negative numbers are normally represented i n two's complement form which means that to negate a  - 19 number a l l the b i t s are complemented and then the result i s incremented by one b i t .  Therefore the most significant b i t (MSB) of a positive number w i l l  always be 0 while that of a negative number w i l l always be 1. The processor contains five registers which are particularly important in the functioning of the computer. The program counter (PC) i s a 15 b i t register which contains the address for which the next instruction i s to be taken. When the computer i s running the PC i s incremented after each instruction so that instructions are carried out sequentially. exceptions to this rule:  There are two  interrupts'by external devices which cause a jump  to location 0, and instructions which change the program counter directly. The 15 b i t length of the PC sets an upper l i m i t of 32768 upon :the number of words of memory which can be used without adding additional c i r c u i t r y . The other four registers are called accumulators and are numbered 0^through 3. They are a l l identical i n their functioning except for 2 and 3 which i n addition can be used i n certain instructions to load the PC with a new address. ThT-he PC can be controlled from the front panel i n several ways when the computer i s not running. By pressing the start switch the PC i s loaded with the contents of the 16 b i t switch register (SR) and continues to run from that address on. By pressing "Examine" the PC i s loaded with the contents of the SR and the contents of that memory location are displayed.  Pressing  either "Examine Next" or "Deposit Next" increments the PC by one and either examines that location i n memory or deposits, the contents of the SR into that memory location.  Pressing "Instruction Step" causes instructions to be  executed one at a time and thus enables one to follow the functioning of a program. Also, the accumulators may be examined at any time. It i s between the four accumulators that a l l the arithmetic and l o g i c a l operations take place, with the exception of incrementing and decrementing by  - 20 one b i t which can be done d i r e c t l y upon a word i n memory.  Data can be  transferred between memory and any accumulator as w e l l as between the accumulators themselves.  A l l accumulators are 17 b i t s long, the extra b i t  being necessary to record a possible overflow condition when arithmetic operations take place. Programmed data transfers with peripherals, which are referred to as input/output devices (10's) also take place v i a the accumulators. Although direct transfers to the memory are possible using the "Direct Memory Access" channel this w i l l not be discussed since i t was not used i n the present project.  C)  Programming the Computer The computer may be programmed i n assembly language or i n one of  several high l e v e l languages such as Fortran or Basic.  In an assembly  language program each machine language i n s t r u c t i o n which the computer must make has to be written as a separate step, thus complex programs are extremely time consuming to write, and debugging can take even longer.  Hence  assembly language i s usually used only when i t i s necessary to program at a l e v e l which allows access to the machine i n s t r u c t i o n set and s p e c i f i c memory locations.  One set of programs for which t h i s i s required are the sub-  routines which handle user-built input/output devices, since each subprogram must be t a i l o r e d to the needs of i t s device. In assembly language, instructions are represented by mnemonics which may have certain characters appended to them to modify them or to specify certain variables l e f t undefined i n the mnemonic. Assembly language allows one to i d e n t i f y locations i n memory by names rather than l o c a t i o n numbers.  This greatly s i m p l i f i e s references to data and program branches.  The assembler also recognizes certain "pseudo-op's" which are not as-  T-  sembled  into  interprets .LOC, to  t h e program b u t r a t h e r modify  t h e program b e i n g  .BLK, .RDX a n d .END.  the value  inside  T h e most  i n memory.  numbers  determined  This  ".RDX  as i f they  8  (i.e.  decimal  octal).  Finally,  expression"  no  ".END  expression,  instructs  loader  binary  loader w i l l  of  the conversion  start  has to be stored  the assembler  The assembler  f r o m b a s e 10  to treat a l l  i s initialized i n  produce a b i n a r y  loading i t .  f o r us.  program.  tape  which  I f an " e x p r e s s i o n "  t h e program a t t h e l o c a t i o n  to include  .RDX 10 t h e  to binary  comes a t t h e e n d o f e v e r y  after  l e a v i n g an  I f there i s causes the  i s included, the  determined  by t h e v a l u e  the expression. Higher  control tical in  to h a l t  of data  counter  advances t h e  thus  t h e program, s i n c e by u s i n g  t h e assembler w i l l  binary  ".BLK e x p r e s s i o n "  f e a t u r e i s u s e f u l when o n e w i s h e s  numbers a s d a t a w i t h i n perform  t h e program  were i n t h e r a d i x determined by t h e i n t e g e r ex-  This  assembler w i l l  of these are  by t h e e x p r e s s i o n ,  p r e s s i o n , w h i c h m u s t b e b e t w e e n 0 a n d 10. radix  sets  i s u s e f u l when a b l o c k  expression"  the assembler  important  T h e ".LOC e x p r e s s i o n "  by t h e v a l u e  a program.  following  assembled.  t h e way i n w h i c h  determined by the expression.  program counter empty b l o c k  21 -  calculations.  assembly  level  s u c h a s B A S I C a n d FORTRAN a r e u s e d when  as k e e p i n g  level  unit  i s vastly  from  t h e programmer. allows  c o u l d n o t be i d e n t i f i e d a high  scientific-mathematical  simplified  s i n c e one  t o hundreds  instruction  or thousands o f  the r e s p o n s i b i l i t y  of such  "bookkeep-  track of the l o c a t i o n s i n which given v a r i a b l e s a r e  languages  When c h o o s i n g  Also,  direct  i s n o t r e q u i r e d , s u c h a s i n mathema-  l a n g u a g e may b e e q u i v a l e n t  i s removed  the h i g h  Programming  language i n s t r u c t i o n s .  chores  stored  which  languages  of theecentral processing  a high  ing"  level  Finally,  syntax of  f o r t h e d e t e c t i o n o f e r r o r s i n programming  i n an assembly  level  the well-defined  language  language f o r a given  calculations,  the primary  program. purpose such as  trade  general  o f fwhich has t o be  - 22 made i s b e t w e e n languages  speed o f c a l c u l a t i o n  compatible with  w e r e B A S I C a n d FORTRAN. its  and ease o f o p e r a t i o n .  t h e NOVA l i n e  This language, Rather,  advantage does n o t d e r i v e since  these differences  i t i s i n t h e way i n w h i c h  o u t w e i g h e d FORTRAN'S  most.  from any d i f f e r e n c e s  are slight  t h e programs  A FORTRAN p r o g r a m m u s t b e c o m p i l e d  a machine  l a n g u a g e program which i s t h e n punched  is  then be loaded  program which  converts  and e x e c u t e d a t a l a t e r  t h e program  t h e Paper Tape  other Editor  than f i r s t  i s t o be m o d i f i e d  BASIC,  however,  time.  modifying  not suited  t h e FORTRAN the entire  operates  i n an e n t i r e l y d i f f e r e n t  i s executing.  I t c a n be i n t e r r u p t e d  any p o r t i o n  of the v a r i a b l e s .  delete,  program  c a n be r e s t a r t e d  where.  These  simpler  t h a n w i t h FORTRAN.  allows  insert  at the point  can test  He c a n a l s o o r change  i s no way o f program  program.  This  i n which the  Also,  o f one l i n e  manner.  I t s compiler  i s compiled  the values  while  examine  of these  t h e program o r  statements.  Then t h e  a t w h i c h i t was i n t e r r u p t e d  f e a t u r e s make t h e m o d i f i c a t i o n  the evaluation  program  a t any time without d e s t r o y i n g t h e  The user  them i f d e s i r e d .  of it,.and  into  frequently.  it  and change  This  source  f o r situations  i n c o r e memory, a n d t h e B A S I C p r o g r a m  variables  t h e FORTRAN  However, t h e r e  always present  values  using  FORTRAN. FORTRAN a n d  on p a p e r t a p e .  is  current  favour  t h e FORTRAN l a n g u a g e p r o g r a m  and t h e n r e c o m p i l i n g  a t e d i o u s p r o c e d u r e and i s c l e a r l y  program  advantage of  a r e executed that  a special  using  because  i n t h e programming  and g e n e r a l l y  compiler,  modifying  f o r o u r needs  faster.  BASIC d i f f e r  can  and s u i t a b l e  B A S I C was c h o s e n f o r o u r w o r k e s s e n t i a l l y  c o n v e n i e n c e and ease o f o p e r a t i o n  b e i n g much  computers  T h e two  or_ e l s e -  and debugging o f programs  vastly  B A S I C c a n o p e r a t e i n a k e y b o a r d mode w h i c h formulae without r e q u i r i n g  a program  t o be  written. The  S I N G L E USER BASIC, p r o g r a m  supplied  by Data G e n e r a l  (Absolute  Binary  T a p e 0 9 1 - 0 0 0 0 1 8 ) was for  transferring  not  data  suitable  f o r our  work s i n c e i t has  to p e r i p h e r a l devices  However, s e v e r a l o t h e r  other  v e r s i o n s o f BASIC e x i s t  f o r easy  These for  communication w i t h by  between the ginning  of  BASIC c a n  the  the  subroutines  be  going  into  routine.  The  of  8 two-bit  one  there  For  up  to  address  table contains data  transfer  of  each  a given the  a 11  stands  (3IQ)  the w r i t i n g of  example,  i n r a d i x two  following  i s used  f o r data the the  to  ble An  The  c o n t r o l word input  argument  number and  call  the  accomplish subroutine  b i t word of for  This  is  8  the  data  coming from  c o n t r o l word  argu-  the  for  sub-  usually two  s c h e m e i s somewhat transfers.  a machine language  subroutine  way:  type  of  the  f o r that subroutine. can  stands  f o r more c o m p l e x  C A L L //.ARGUMENTS w h e r e # i s t h e number w h i c h subroutine.  16  be-  which  and  f o r every One  the  c o n t r o l w o r d s , one  22300000.  BASIC s i n c e i t a l l o w s  BASIC i n s t r u c t i o n w h i c h  (2JQ)  At  To  is  passed  t a b l e from  o f w h i c h d e s c r i b e s one  a r g u m e n t , a 10  user-  subroutine be  subroutine  place.  these  same s c h e m e  Each  subroutine.  take  re-  peripheral devices.  subroutines.  entry  means no  and  set of  e x a c t l y the  a c o n t r o l word to  i n p u t v a r i a b l e s would be:  w r i t t e n i n the  the  a  this  A l l of  e i g h t a r g u m e n t s may  b e t w e e n B A S I C and  to s i m p l i f y  i n extended  almost  i s a subroutine  "fields",  00  A  subroutine  In o r d e r  and  different  is  type  i n r a d i x two.  output  control  the machine language  starting  entry  arguments.  to the  works  the  passed  subroutine  which d e f i n e s the  possible  i n t e g e r and  B A S I C p r o g r a m and  determine  b r o k e n up  TRIUMF B A S I C .  the machine language s u b r o u t i n e s .  a positive  m e n t s w h i c h may this  subroutines which  t h r e e v e r s i o n s o f BASIC a l l u s e  identified  fulfill  c o m m u n i c a t i o n b e t w e e n t h e B A S I C p r o g r a m and  w r i t t e n machine language  provisions  the t e l e t y p e .  w h i c h do  q u i r e m e n t , n a m e l y EXTENDED B A S I C , CALL B A S I C and allow  than  no  o n l y be  identifies  the d e s i r e d  arguments must a g r e e w i t h E a c h argument  a v a r i a b l e name, w h i l e  i s separated an  output  the by  variaa  argument  comma. may  be either a variable name or an arithmetic expression.  The terms input and  output are always used from the point of view of the BASIC program, not the subroutines. Numbers i n the BASIC program are stored i n floating point notation and they require two words of storage.  When the BASIC program jumps to a machine  language subroutine, AC3 w i l l i n i t i a l l y contain a "pointer" to the address of the f i r s t variable and pointers to succeeding variables are stored sequentially.  At the end of the subroutine, control i s returned to BASIC at  the location following the pointers. Most subroutines, however, operate i n fixed point format so i t becomes necessary to change the formats of numbers before they can be used or stored. This i s accomplished by two subroutines within BASIC named FIX and FLOAT. In TRIUMF BASIC their addresses are 131 and 133 respectively. complement form.  The fixed point number i s i n signed 32 b i t two's  Fig. 7 i s an example of a complete machine language sub-  routine written for TRIUMF BASIC. I t takes two input parameters and provides one output;  the operations taking place between these data transfers are  l e f t undefined. Although the three versions of BASIC have roughly the same computational power (except that EXTENDED BASIC performs matrix calculations) they d i f f e r vastly i n other respects. CALL BASIC i s the simplest, and controls only the teletype which can be very slow since i t operates at 10 characters per second (CPS) . TRIUMF BASIC i s identical to CALL BASIC except that two new instructions - Read and Punch are implemented, which can input programs on the high speed paper.tape reader and output them on the high speed paper tape punch. This i s considerably faster, since our reader operates at 110 CPS and our punch at 33 CPS. Thus programs may be interchanged much more conveniently. EXTENDED BASIC <i>s much more powerful than either CALL BASIC or TRIUMF 4  - 25 Fig. 7 - An Example of a Machine Language Subroutine  SRTAB .LOC TANS +5 SRTAB: INTER  subroutine entry table  1 START .RDX 2  22300000 .RDX 8  -1  START: STA LDA LDA LDA JSR  specific to TRIUMF BASIC - subroutine c a l l number - subroutine starting address - variable control word - entry table  3, SAV 3 3, 0, 3 0, 0, 3  1,1,3 @ 131  terminator  - save AC3 - get f i r s t variable - change i t to fixed point - f i r s t variable i s now i n AC0 and AC1  LDA LDA LDA LDA JSR  3, SAV 3 3, 1, 3 0, 0, 3 1, 1, 3 @ 131  - get second variable - change i t to fixed point - main body of program leaves fixed point result i n AC0 (most significant word) and in AC1  JSR LDA LDA STA STA  @ 133 3, SAV 3 3, 2, 3 0, 0, 3 1, 1, 3  LDA 3, SAV 3 JMP 3, 3 SAV 3: INTER: JMP 3, 3  - change result to floating - store result i n BASIC  return NB: 3 variables passed AC3 stored here terminator for TRIUMF/BASIC  BASIC.  I t can  drives  and  checking  accommodate a l l s t a n d a r d  discs  and  facility.  more s p a c e  than  of  other  debugging, e d i t i n g  consuming  versions - i n fact  f o r programming.  These f a c t o r s  programming  including  t o l o a d and  tape  and  error-  occupies  i t would  leave very  resulted  i n the  much  little  selection  needs.  Interfacing Since  only  this  a very  along  the  program sider  topic  brief  control  only  one  using  the  word the  A,B,C, other  or v i a the  data  A,B,C  C)  the  i s not  not  be  the  interface  data  direct  c o n t a i n up  out  B,  Although  be  i n "How given.  (DOA,  B,  lines.'  i n the  be  either  feature;  we  place under  will  con-  l o a d any  built  Nevertheless, t h e BUSY and  named  (I/O)  i s s e l e c t e d by  loaded  simply  f r o m any  Similarly,  accessed accumulators  the data  three accumulators  with  interrupt  from  u n d e r BASIC  the  computer  the  computer  control  can  DONE s i g n a l s .  capacility,  The can  START, CLEAR and  instruction. code of  The  The  IOPLS by device  6 bits.  and  still  in  the  test  sense  the  will  s t a t e of  these  them u s i n g  SKPDN,  i f DONE i s ZERO,  computer  can  appending an  t o w h i c h any Thus t h e r e  this  therefore  purpose of  S K I P i f DONE i s NON-ZERO, SKIP  a I/O  be  device.  u s e d when r u n n i n g  using  be  instructions.  BUSY i s NON-ZERO, S K I P i f BUSY i s ZERO.  sent  (DMA)  Computers"  t r a n s f e r s take  T r a n s f e r s may  t h e s e may  C)  can  i s s e l f - e x p l a n a t o r y , and  input/output  A l l data  memory a c c e s s  Three of  i n t e r f a c e was  discussed.  pulses  the Nova  t o s i x r e g i s t e r s w h i c h may  instructions  SKPDZ, SKPBN, SKPBZ:  control  t o Use  former.  three registers  signals  covered  description w i l l  instructions.  (DIA,  capability  is fully  sixteen bidirectional  A d e v i c e may  if  two  TRIUMF BASIC f o r a l l o u r  D)  by  a much m o r e p o w e r f u l  However, i t i s t i m e  the  memory a v a i l a b l e  has  peripheral devices  are  of 64  SKIP  a l s o send S,  C or  these  P  out to  pulses  devices  any is  which  can be independently  addressed.  - 28 -  CHAPTER 5  THE  INTERFACE  A)  Introduction The  and  interface  provides  external apparatus.  separate  entities  and  t h e means o f  In  are  the  case  capable  communication between the  of p e r i p h e r a l devices which  of  stand-alone  " i n t e r f a c e " might  be  to  However, t h e p e r i p h e r a l d e v i c e s  the  built  computer.  concurrently with  circuitry the  a p p l i e d to only  and  are not  and  capable  term " i n t e r f a c e " w i l l Section  functioning  B) of  of  this  here  In c o n s i d e r i n g the  chapter  by  overall not  that  t o be  B)  of  intended fulfilling  as  w i l l r i n o w be The  under BASIC  as  the  will  of  the  actual  Therefore  the design the  communicate w i t h  the  i t i s important  a general purpose  instrument  which would  devices. to but  rather  be  requirements.  Devices  the v a r i o u s d e v i c e s  circuitry will  and  machine  experiment  unforeseen  were  interfacing  particular  yet  device  peripheral devices.  deal with  interface  the  described here  the computer.  i n c l u d e the  s e c t i o n C)  layout drawings.  control.  to  term  f o r one  described, along with  interrupt  being  describe i n detail  tailor-made  Schematic diagrams of board  used  will  design  D e s c r i p t i o n of P e r i p h e r a l  along with  same h o u s i n g  w h i c h TRIUMF B A S I C c a n  remember t h a t i t was  capable  be  are  circuitry„which connects  of o p e r a t i o n without  each d e v i c e w h i l e  language subroutines  i t was  i n the  that  operation, the  computer  not  The  p u r p o s e and  a l l the be  can  control  be  found  i n Appendix  o p e r a t i o n of  each  A,  device  s i g n a l s which r e l a t e  d i s c u s s e d , however, s i n c e i t i s not  to i t . used  - 29 i)  Analog Input:  Device Code 44  The analog input i s the primary means of entering experimental data into the computer.  Its function i s to accurately convert an analog (voltage)  signal into a d i g i t a l , binary number which the computer can manipulate.  The  heart of this device i s the analog to d i g i t a l converter (ADC). I n i t i a l l y , a fast (4us) converter of 12 binary bits accuracy (±.025%) was to have been used, but this was decided against because of the high noise sensitivity i n herent i n such converters. Instead, an Analog Devices ADC-I converter was selected. I t i s a dualslope integrating type with 15 b i t resolution and a maximum conversion time of 40 ms.  This low speed i s of no consequence i n our applications, and the  integrating nature of this type of converter offers several advantages. The f i r s t of these i s that a l l noise pulses tend to be averaged out i f they are considerably shorter than one half of the conversion time.  Even more im-  portant i s the fact that the converter i s almost completely immune to 60 and 120 Hz noise, which i s often produced by ground loops and i s d i f f i c u l t to eliminate.  This i s due to the selection of the integrating times to be  equal to exactly one period of 60 Hz (16^3 ms) . It i s of course desirable to have more than one analog input, and this can be done without the expense of adding more analog-to-digital converters by using a multiplexer. The multiplexer can be thought of as a single pole, N-position switch which i s set by a d i g i t a l signal rather than mechanically. The Datel MM8 multiplexer used i n this device allows 8 inputs to be connected to the converter.  I t s input voltage range, as well as that of the converter,  i s ±10V. The input channel to be converted i s selected by using a DATOA AC,44 where the last 3 bits of the chosen accumulator contain the channel number, which can be from 0 to 7. A Start pulse appended to this instruction  - 30  (e.g.  -  DATOAS) begins the conversion, sets the BUSY f l i p - f l o p (FF) and  clears the DONE FF.  The computer can determine whether the conversion has  been completed by testing either BUSY or DONE with the appropriate skip i n structions.  After the computer determines that the conversion has been  completed, i t loads the data into an accumulator with a DATIA AC,44 instruction.  Bits 2 through 15 of the accumulator then contain the magnitude  of the voltage i n descending order of significance.  Bit 1 w i l l be a 0 un-  less an overload has occurred and b i t 0 w i l l be 0 i f the voltage was positive and 1 i f i t was negative.  The computer must then change the sign-magnitude  format of the result into twosscomplementtf6rmm„ ii)  Analog Otuput: Device Code 42 This device allows the computer to transmit voltages which can be used  to control the apparatus or to display data on a cathode ray tube (CRT) or on an X-Y platter.  The X-Y pldtter control c i r c u i t i s connected to the  analog output c i r c u i t but w i l l be discussed separately. It was decided to have 6 outputs, although there was no immediate need for that many. Three of these outputs (numbers 0 to 2) have 12 b i t accuracy (±.025%) while the others (3 to 5) have only 8 b i t accuracy (±.4%). Each output requires a separate digital-to-analog converter (DAC). The converters used were manufactured by Datel, model numbers DAC-V8B. and DAC-V12B. Both types have twos complement binary inputs and ±10V at 10 ma maximum outputs. To change the voltage of one of the outputs i t i s f i r s t necessary to select the channel number. This i s done with a DATOA AC,42 where the last three b i t s of the selected accumulator correspond to the desired channel number. Then the binary number which i s to be converted to a voltage i s loaded by a DATOB AC,42. The binary number must be i n twos complement form with the second most significant b i t i n accumulator b i t 5.  The sign of the  - 31 number i s determined by b i t 0 as usual. A start pulse i s not required and the output w i l l s t a b i l i z e at i t s new level within the settling time of the converter, which i s about 2us. iii)  X-Y Plotter Control: Device Code 42  Mask Bit 5  Interfacing a plotter to the computer allows data to be permanently recorded i n the form of graphs, a very convenient format for future reference and comparison. Plotters used with computers are usually of the incremental type which can be driven directly by d i g i t a l pulse trains.  These have the  disadvantage of being expensive and incapable of operation without the computer.  I t was decided to modify our existing analog X-Y plotter, a  Hewlett-Packard 7044A, so that i t could also be used i n conjunction with the computer.  I t was necessary to add c i r c u i t r y to the plotter to allow the  computer to determine whether the plotter pen was moving or had reached i t s desired position, and also to raise and lower the pen. modifications i s included i n Appendix A.  A diagram of these  Opto-electric isolators were used  to eliminate ground loops and to protect the c i r c u i t r y should the X-Y plotter inputs be connected to some other apparatus which i s not at ground potential. The functioning of this device i s best understood by following a typical sequence of operation: raise pen, move to new X,Y location, lower pen.  The f i r s t step would be to insure that the device was not currently  busy, which could be done with a SKPBZ (SKIP i f BUSY i s ZERO) instruction. Once this has been determined the pen can be raised by issuing a DATOCS AC,42 command with b i t 15 of the accumulator being 0. The start pulse sets BUSY and clears DONE. A 100 ms timer then allows enough time for the pen to be raised before DONE i s set and BUSY i s cleared. The computer determines whether a step i s complete by sensing either BUSY or DONE with a skip instruction and then moves on to the next step. Let us now assume that AC0 contains the x value, AC1 contains Y, AC2  contains  0 a n d AC3 c o n t a i n s  DATOB 0,42 3,42  outputs  1.  A DATOA 2,42  t h e new X v a l u e .  a n d t h e new Y v a l u e  The f i r s t  new p o s i t i o n , w h i c h e v e r comes l a s t . either  BUSY o r DONE w i t h  The s t a r t  pulse  a 10 ms  f o r a delay  delay  i n the  DONE i s s e t a n d BUSY i s c l e a r e d  or after  t h e X-Y p l o t t e r  The computer  a s k i p and t h e n  a  1 i s s e l e c t e d b y a DATOA  This allows  circuitry.  a t t h e e n d o f t h e 10 ms d e l a y  0 and t h e n  DATOB i n s t r u c t i o n b e g i n s  c a n n o t b e DONE.  r e s p o n s e t i m e o f t h e X-Y p l o t t e r either  Then channel  channel  i s t r a n s m i t t e d b y a DATOBS^ 1,42.  s e t s BUSY a n d c l e a r s DONE. before which the device  selects  raises  senses  settles  t h i s by  the pen with  at i t s  testing  a DATOCS AC,42  w h e r e AC c o n t a i n s a 1 i n b i t 15.  iv)  Spectrometer C o n t r o l l e r : This device  allows  t h e computer  spectrometer  driver  spectrometer  location  limit  s t a t u s t o t h e computer.  switch Instead  ally,  this  unit  Device  Code 5 t o scan  c a n be loaded  with  toiissue  its  own u n t i l  counts  speed  and t r a n s m i t s t h e  each s t e p p i n g p u l s e  and t h e n  have been t r a n s m i t t e d .  i tw i l l  up o r down a s p u l s e s  a r e sent  gradually  to the spectrometer.  speeds.  f u n c t i o n on  i t automatically The s t e p p i n g  i twould be p o s s i b l e t o a l l o w i n g f o r much  T h i s p r o v i s i o n has n o t y e t been taken  t h e motor i s t h e r e f o r e always The  so that  a c c e l e r a t e and d e c e l e r a t e t h e motor, thus  average stepping  stepped  wave d r i v e d i s p l a y i s l o a d e d  number t o b e d i s p l a y e d i s p r e s e n t  individu-  T h e c u r r e n t wave d r i v e  need o n l y be s e t once by t h e computer, a f t e r which  s p e e d was p u t u n d e r c o n t r o l o f t h e c o m p u t e r  and  panel  t h e d e s i r e d number o f s t e p s  t o ±16383) a n d t h e d e s i r e d s t e p p i n g a l l the pulses  using the  I t also displays the current  ( i n wave d r i v e ) o n t h e f r o n t  (up  display  the spectrometer  previously described.  o f r e q u i r i n g t h e computer  device  Mask B i t 6  higher  advantage o f ,  a t t h e same s p e e d .  b y t h e DATOB AC,5 i n s t r u c t i o n .  i n the accumulator  as 4 b i n a r y  coded  The  - 33 decimal (BCD) d i g i t s , each of which i s four bits long. The largest wave drive which can be displayed i s 99.99 and the smallest i s 0.  The stepping  speed i s set by a DATOC AC,5 where the accumulator contains a number N between 1 and 15.  The stepping w i l l then be 1000/N per second, which cor-  responds to 5/N revolutions per second.  I t has found that N=7 offers the  highest r e l i a b l e speed without requiring acceleration and deceleration. The desired number of steps i s loaded and transmission i n i t i a t e d with a DATOAS AC,5.  The accumulator contains the number of steps i n twos complement  form, with a positive number resulting i n an increase i n wave drive. After a l l the pulses have been transmitted, BUSY i s cleared and DONE i s set. However, this i s not the only way that the spectrometer can reach the DONE state.  I f either or both of the l i m i t switches i s activated, pulse trans-  mission i s terminated and the device i s switched,to the DONE state.  There-  fore once the computer determines that the device i s done, i t must determine whether a l i m i t error has occurred. DATIA AC,5 instruction.  This i s accomplished by a  If the accumulator contains a 0 there was no  problem, while a 1 indicates that the lower l i m i t was reached, a 2 shows that the upper l i m i t was exceeded and a 3 would indicate that both l i m i t s had been triggered. This situation i s only possible i f a cable has been unplugged or i f the driver has not been turned on. v)  Programmable Interval Timer: Device Code 64  Mask Bit 5  This device allows for the accurate timing of a very wide range of i n tervals, and has been useful i n many experiments.  I t operates by counting  a given number of time increments (up to 32768) and the derivation of each of these increments may be chosen to be l y s , 1ms or 1 second. Thus the range from l y s to 9 hours can be covered without requiring any additional manipulations by the computer.  - 34  -  The increment size i s selected by a DATOA AC,64. If the accumulator contained a 1 then timing w i l l be i n ys, a 2 would select ms and 4 selects seconds.  The number of increments to be timed can be loaded and timing  begun with a DATOBS AC,64 instruction.  The end of the timed interval i s  then detected by the computer either by waiting for BUSY to be cleared or for DONE to be set. There i s also an external trigger input and a buffered DONE output so that the timer may be used by some external device. vi)  D i g i t a l Input/Output: Device Code 34 This i s a very f l e x i b l e device which has many applications i n the  control of external equipment. There are 6 TTL logic level (0 = .5v, 1 = 4.5v) outputs which can drive up to 10 TTL unit inputs.  Four  reed-relay outputs are available which can handle medium power applications, and a l l are isolated from ground.  The two d i g i t a l inputs are held at +4.5v  by lKfi resistors and hence are very easy to activate by merely shorting them to ground. The d i g i t a l inputs can be examined by a DATIA AC,34 instruction.  The  accumulator willfthen contain a 0 i f both inputs were low, a 3 i f both were high and a 1 or a 2 i f either input 1 or 2 was high while the other was low. The status of a l l 4 reed relays must be set at the same time with a DATOB AC,42 instruction.  A 1 i n b i t 15 closes relay 1 while b i t 14 controls  relay 2 and b i t s 13 and 12 control relays 4 and 8 respectively. The reason that the relays (and the d i g i t a l outputs) are numbered i n powers of 2 w i l l become apparent i n Section C.  The d i g i t a l outputs are set i n a similar  fashion, using a DATOA AC,42. In this case a 1 i n b i t 15 causes a 0 level to be produced on output 1 while a 0 i n that b i t causes output 1 to be a logic 1 level.  Output numbers 2 through 32 are controlled i n an identical manner  by bits 14 through 10.  - 35 vii)  Paper This  Tape Reader:  d e v i c e i s almost  frequently  computer.  The  I t can  reader  than buying  thousand The  of course also  this  "byte".  The  signal  additional  i s very  circuitry  to the Data  G e n e r a l model as  it  used  program c a l l i n g  8 b i t "byte" i s loaded by  n e x t b y t e may  viii)  Paper  a D A T I A S AC,12 be  Tape Punch:  paper  This  was  originally  that  more r e l i a b l e  used  Device  cost  and  paper  this  by  as  into  the  the project  strictly approximately  tape reader  the tape  required and  into  parallels  t h e computer  bits  After  10  an  the  exactly  the  tape reader i s  i s concerned  paper  tape  8 t o 15 ms  and  8 b i t TTL  to i n t e r f a c e  "homemade" p a p e r  accumulator  module,  i t s s t e p p i n g motor  f o r a h i g h speed  Code 13  off  was  and  and  reader. the  tape  DONE i s s e t and  the  13  around  a s u r p l u s BRPE 11  punches per  second  (PPS)  p r e s e n t e d no  obtained at a lower  r e a l drawbacks s i n c e  short strings  manually.  Mask B i t  built  o p e r a t i o n c o u l d be  a device other than the on  for  by  f a r as  instruction.  s e t f o r 110  to punch r e l a t i v e l y  turned  Thus the  into  tape punch c i r c u i t  r e d u c t i o n i n speed  d a t a on  General  fast  read i n .  The  The  of  to d r i v e  straightforward  General reader.  i n any  R2050  generated  identical  advanced  as p a r t  the system  necessary  the Data  is  as  to enter data  from Data  device i s a Tally  d e s i g n of  The  used  ten times  are  dollars.  to t h e computer  can be  11  s i t u a t i o n where programs  (and p u n c h ) w e r e i n t e r f a c e d  to a m p l i f y the p h o t o - e l e c t r i c  module  be  T h i s step alone reduced  heart of  level  i n any  i t l o a d s them o v e r  which contains a l l the c i r c u i t r y  logic  Mask B i t  t h e ready-made u n i t s  economic r e a s o n s . two  C o d e 12  indispensible  interchanged, since  teletype reader.  rather  Device  of data.  teletype  since  but  i t was  speed  found  o f 33  PPS.  the punch i s u s u a l l y  I t i s convenient the  punch.  teletype  to  punch  p u n c h must  be  The punch c i r c u i t r y was designed to emulate the standard Data General punch. The automatic turn-on c i r c u i t was included so that data could be punched without requiring the presence of an operator to turn the punch power on and o f f . A DATOAS AC,13 transmits one "byte" from accumulator b i t s 8 to 15 and begins operation of the punch.  If the punch was not running when  this instruction was issued, the motor starts and there i s a delay of 1 second. Then the f i r s t byte i s punched and i f DATOAS pulses continue to be transmitted the punch w i l l operate at a rate of 33 punches per second. The motor stays on u n t i l 5 seconds after the last start pulse i s received, after which i t shuts off automatically. After this any new data to be punched w i l l again be delayed for 1 second to allow the punch to reach operating speed.  C)  Machine Language Subroutines The A p r i l 4, 1975 version of the machine language subroutines w i l l now  be described. A l i s t i n g of this program i s given i n Appendix B^.  The sub-  routine entry table has been previously described i n Chapter 4, C);  there-  fore this discussion w i l l be limited to the main body of the subroutines. The aim of this section i s to provide a working knowledge of the subroutines without describing them on an instruction by instruction basis. The subroutines w i l l be described i n order of subroutine c a l l number and hence are not arranged i n any l o g i c a l order. When referring to CALL statements, the symbols A,B,C w i l l be used to represent parameters being passed from BASIC to the subroutines, while X,Y,Z w i l l be used for parameters being passed to BASIC. CALL 1 - Mask: This subroutine must always be used before any others when f i r s t be<-  - 37  -  ginning operation. I t s main purpose i s to disable the interrupts on a l l devices which have interrupt c i r c u i t r y .  This i s necessary since the  BASIC program i s not equipped to interpret interrupts from any device except the teletype, and i f i t did receive any i t would halt.  CALL 1  must be re-issued every time the computer i s halted and then re-started, but i t need not be issued every time a BASIC program i s stopped or started.  This subroutine also i n i t i a l l y selects the non-display mode,  which i s further described along with subroutine 14.  Furthermore i t  opens a l l the reed relays and sets a l l the d i g i t a l outputs low.  The  purpose of a l l these actions i s to i n i t i a l i z e the interface. CALL 2, A, X, Y - Analog Input: This subroutine i s used to measure analog voltages which can be between ±10 volts.  Parameter A i s a number between 0 and 7 which selects the  input channel and X w i l l be the measured voltage multiplied by 1638.3. An overload condition i s signalled by Y, which must be set to 0 before issuing the CALL instruction.  If after the measurement Y has changed  to 1 an overload has occurred. CALL 3, A, B - Interval Timer: This subroutine operates the Programmable Interval Timer. Variable A must be either 1, 2 or 4 depending on whether the time increments are to be us, ms or seconds, respectively, while B determines the number of increments, which may be up to 32,767. . After completing the timed i n t e r v a l , control i s returned to BASIC. The actions of the subroutines during the timed interval depend upon the display mode, as w i l l be further described under subroutine 14. CALL 4, A, X - Spectrometer Controller: Here A i s the number of steps to be taken, which can be up to ±16383.  - 38 This subroutine i s preset to a stepping rate of about 143 steps per second, and after the desired number of steps have been taken control i s returned to BASIC. Variable X then contains the status of the l i m i t switches:  0 for normal operation, 1 for a lower l i m i t error and 2 for  an upper l i m i t .  The only possible explanation for X=3, which indicates  both an upper and a lower l i m i t error, i s some system malfunction, such as forgetting to plug i n a cable or to turn on the spectrometer driver. As i n subroutine 3, the a c t i v i t i e s of the computer while the spectrometer i s being scanned depend on the display mode, the purpose of which i s described i n the section concerning subroutine 14. CALL 5, A, B - Incremental Display Parameters: This subroutine i s used to set the parameters which are used by the i n cremental oscilloscope display subroutine.  Further information con-  cerning that subroutine can be found i n sections 6 and 14. CGALL 6 - Incremental Display: This subroutine i s used to display data which i s spaced i n equal intervals along the x axis, whereas subroutine 26 should be used to display data having more general x,y locations.  Before using the incremental  display subroutine, the display parameters must be set by subroutine 5. At this point i t i s necessary to describe a section of the subroutines which i s called the Data Block.  I t consists of a block of  2000 words inside the body of the subroutines which can be used to store data.  Various subroutines allow data to be transferred bidirectionally  between BASIC and the block, to display data i n the block and to transfer data between the block and paper tape. tines make use of the Data Block:  The following subrou-  6, 7, 8, 15, 16,.17, and 26.  In the block data i s stored i n 16 b i t fixed point twos complement  form, accommodating numbers as large as ±32,767. Since numbers i n BASIC are stored as 32 b i t floating point words, i t only takes half as much space to store them i n the Data Block.  The main purpose of the  block, however, i s to allow data to be displayed e f f i c i e n t l y .  A  cathode ray tube display i s a high speed device and i t would be very wasteful i f every time a point were to be displayed i t s ordinate and abscissa had to be obtained from BASIC and converted to fixed point form.  Instead, the data to be displayed i s stored i n fixed point form  in the block, and updated whenever necessary by BASIC. Locations i n the block are numbered relative to the beginning of the block, not to their actual memory locations. Thus i f a given subroutine requires a parameter which gives a location i n the block, the allowable values of that parameter would be the integers between 0 and 2000. Now we can consider the parameters A and B which are transferred by subroutine 5.  The starting point i n the block i s given by A while  the number of consecutive points to be displayed i s given by B.  Each  time a C a l l 6 instruction i s given, that section of the block w i l l be displayed once. The incremental display subroutine adjusts the voltage increment corresponding to the X difference between any two data points so that the width of the display w i l l always be constant, thus removing the need to re-adjust the x axis gain on the display each time the number of points i s changed. A Tektronix 604 monitor i s used to display the data.  I t s x and y  inputs are connected to analog outputs 0 and 1 respectively, v i a attenuators and level shifters which allow one to display a l l the data or to focus attention on a small section of i t . The blanking input of the monitor i s connected to d i g i t a l output number 32.  This turns the  beam off when moving between points, thus giving a clear, uncluttered  - 40 display.  I t also turns the beam off when the display i s not being  used, since i f the beam were l e f t on and was not moving i t might burn the phosphor screen. CALL 7, A, B - Store: This subroutine stores a number, B, from BASIC into location A of the data block.  The number B must be within the range ±32,767, and i t w i l l  be rounded off to the next lowest integer value. CALL 8, A, X - Get: This subroutine i s the complement of number 7.  I t assigns the BASIC  variable x the value of the datum at location A i n the data block. CALL 9, A, X - Read Switch Register: This subroutine allows the switch register to be used as a means of controlling the program.  Variable A i s a "mask" which i s anded with  the switch register, and the resulting value i s assigned to variable x. For example, to examine a l l 16 bits of the switch register A could be set to -1, since i n twos complement form, -1 i s represented by a l l b i t s being equal to 1. As a second example, to examine only b i t s 12, 13 and 14 of the switch register the mask used would be 14 (=2 + 2 + 2 ) . 1  2  3  CALL 10, A - Wave Drive Display: This subroutine i s used to load the starting wave drive into the front panel wave drive display. This display has a range of 0 to 99.99 and i s continuously updated as the spectrometer i s scanned. CALL 11, A - Pen Control: This subroutine i s used to control the pen of the x-y plotter. the pen i s lowered and i f A=0 i t i s raised.  I f A=l  There i s a .1 second delay  - 41 before control i s returned to BASIC to allow for the response time of the pen actuator. CALL 12, A, B - x-y Plotter Control: The x-y plotter can be used to plot graphs, data, etc. using this subroutine.  The x and y co-ordinates of the desired points are speci-  fied by A and B respectively, with a range between ±2047 producing output voltages between ±10v. The x and y outputs are obtained from channels 0 and 1 of the analog output.  Control i s returned to BASIC  after the plotter has stabilized at the new location. CALL 13, A, B, C, X, Y - Integrating Analog Input: The signal voltage measured by the computer when i t i s used to measure luminescence i s taken from the output of a lock i n amplifier.  Since  the time spent at each point i n the scan i s of the order of 1 or 2 seconds, i t i s necessary to somehow average the signal before i t i s d i g i t i z e d , or else we would be i n effect throwing away information and decreasing the signal-to-noise r a t i o .  This averaging i s usually  accomplished by an R-C f i l t e r , and i n fact the lock i n amplifier has a b u i l t - i n f i l t e r of variable time constant for this purpose.  However,  when gathering data i n an incremental mode the R-C f i l t e r method i s not desirable since the weight which i s assigned i n the average i s an exponentially decreasing function of time. What would ideally be required, however, i s an equal weight during the measurement interval and zero weight for any data before that interval. This averaging can be achieved by an integrator, which was added to the interface as an afterthought. At the beginning of each measurement interval the feedback capacitor of the integrator i s shorted, and then after the accurately timed measurement interval has ended, the output  - 42 of the integrator i s measured by the analog to d i g i t a l converter. The parameters A and B i n the CALL statement are used to set the time i n t e r v a l , as has already been described for subroutine 3, while C determines which of the analog inputs w i l l be used to measure the output of the integrator.  The results of the analog to d i g i t a l conversion  are assigned to x while Y indicates any overload conditions, as has been described for subroutine 2. CALL 14, A - Display Mode: As has been mentioned several times before, subroutine 6 i s not the only way  way to run the incremental display subroutine.  Since i t i s desirable  to display the data continuously, and since the timer and the spectro. meter controller operate without requiring any assistance from the computer once they are started, i t seemed logical to display data while these devices were performing their tasks. This subroutine determines whether or not data w i l l be displayed while either the timer or the spectrometer controller are BUSY. I f A=l the display mode i s selected, while the non-display mode i s chosen by having A=0.  The status of the timer or controller i s continuously  monitored while displaying data, and the maximum timing error produced by using the display mode w i l l be a few tens offmicroseconds. CALL 15, A, B - Punch Data on the Teletype: This subroutine can be used to punch data from a section of the Data Block onto paper tape, but i t has been made almost obsolete by subroutine 17. I t operates i n the same way as number 17 except that the computer halts before and after the data has been punched, allowing the teletype punch to be turned on and o f f . After each halt, operation i s continued by simply pushing CONTINUE.  - 43  -  CALL 16, A, B - Read Data: The paper tapes of data made by either subroutine 15 or 17 can be loaded into the Data Block at some later time using this subroutine. The location i n the Data Block where the f i r s t data word i s to be loaded i s specified by A while B sets the number of words to be loaded. Subroutines 15, 16 and 17 allow for the simple and e f f i c i e n t recording and reading of experimental data since each datum requires only two punch operations. CALL 17, A, B - Punch Data on High Speed Punch: Data i s usually punched using this subroutine, since i n contrast to number 15 no operator intervention i s necessary.  Variables A and B  specify the starting location i n the Data Block and the number of words to be punched. The punch i s turned on automatically, and 10 inches of blank leader and t r a i l e r tape are punched each time subroutine 17 i s used. The f i r s t punch operation after the punching of the leader tape i s to punch a l l 8 holes, after which the punching of data begins, starting with the lowest 8 b i t s of the f i r s t data word. When reading a data tape using subroutine 16, the operation i s synchronized by this f i r s t punched byte, which i s a l l ones (hole = 1). CALL 18, A - Close Reed Relays: Selected reed relays can be closed using this subroutine. Variable A is equal to the sum of the channel numbers which are to be closed. Thus to close a l l reed relays A = 2° + 2 + 2 + 2 1  2  3  = 15.  CALL 19, A - Open Reed Relays: Operation i s identical to number 18 but i n this case the selected  - 44 relays are opened. CALL 20, A - D i g i t a l Outputs High: Operation i s similar to numbers 18 and 19 but here the result i s to set the selected d i g i t a l outputs high (4.5 v o l t s ) . CALL 21, A - D i g i t a l Outputs Low: See above. CALL 22, A, B - Analog Output: Any one of the six analog outputs can be set to a voltage between ±10v using this subroutine.  The maximum voltages correspond to B = ±2047.  The channel number i s selected by A. Channels 0, 1 and 2 are high resolution (12 bits) while channels 3, 4 and 5 are low resolution (8 bits) . CALL 23, X - D i g i t a l Inputs: The d i g i t a l inputs are checked by this subroutine.  Variable X w i l l  equal the sum of the channel numbers which are high (4.5 v o l t s ) .  Both  inputs are normally held high by lKft resistors. CALL 24, A - Intensified Point: When using either the incremental cathode ray tube (CRT) display (see subroutines 6 and 14) or the x-y CRT display (subroutine 26), any single point i n the display may be intensified by the use of this subroutine.  This f a c i l i t y acts as a display cursor by which the computer  can indicate the location of a particular data point to the user, and this has proved to be very .useful when signal averaging spectra. After this subroutine has been called, the A'th point i n either display mode w i l l be intensified.  If A l i e s outside the range of the display, no  point w i l l be intensified.  - 45 CALL 25, A, B, C - x-y Display Parameters: The parameters of the x-y CRT display are set by this subroutine. Thus i t bears the same relation to subroutine 26 that subroutine 5 does to 6. The data to be displayed are stored i n the Data Block i n two sections containing an equal number of words. One of these sections specifies the x location of each point to be displayed while the corresponding word i n the other section gives the y location.  The location within  the data block of the f i r s t word of the X block and the Y block are specified by variables A and B, respectively. The number of points to be displayed i s given by C. CALL 26, x-y Display: This subroutine produces one x-y display on the CRT each time i t i s called.  The parameters of the display must be previously given by  subroutine 25.  The maximum values of the x and y variables i s ±2047,  giving ±10v outputs.  Subroutine 26 i s the only way to obtain an x-y  display since there i s no provision for a display mode as described under subroutine 14.  The connectionsbbetween the interface and the  cathode ray display unit are as described for subroutine 6.  - 46 CHAPTER 6  SIGNAL AVERAGING PROGRAM A. Introduction: Of a l l the BASIC programs which have been written for this system, the signal averaging program i s both the most complex and by far the most f r e quently used, and hence i t w i l l be described here i n order to demonstrate the capabilities of the system. A l i s t i n g of the May 5, 1975 signal averaging program, which i s the most complete version at the present time, can be found i n Appendix C^. Unlike the previous versions of this program, the one of May 5 has been written i n subroutine form so that a string of operations may be executed by simply adding a short program which c a l l s the desired subroutines.  In this way a number of spectra having different scan  parameters, laser power, etc. can be taken and stored without requiring any operator supervision.  B.  Program Operation The operation of the signal averaging program i s described here, with-  out any detailed reference to the internal structure of the program. A more fundamental understanding can only be obtained by a study of the program l i s t i n g contained i n Appendix C_.  In the following discussion a l l entries and  outputs which appear on the teletype w i l l be capitalized.  Also, a carriage  return i s implicit after every instruction and every number which i s passed to the program. Before starting the program, the switch register should be set to 0 . Operation may then be i n i t i a t e d by typing RUN, after which the computer types ORDER # = ? . At this point the operator enters the order i n which the  - 47 spectrometer  grating  b e t w e e n wave d r i v e a f t e r which will  then At  the  the operator  this  enters  itself  the current spectrometer  same way w h i l e controlled  the user  b i t 0 i s raised.  i t can also  enter  t h e program i s i n t h e s i g n a l  v i a the switch register  and pause;  is i n  the latter i t i s  t h e p a u s e mode i f  a v e r a g i n g mode.  t h e same i n e a c h mode. i n each  i n the  The program i s  i n a l l t h r e e modes, a l t h o u g h  any g i v e n b i t i s not n e c e s s a r i l y  the function  Table 1 gives a  mode, w h i c h w i l l now  described i n detail.  i)  In the Idle  BIT  0  -  low  5  -  Mode:  An e l e c t r o m e c h a n i c a l s h u t t e r w h i c h c a n i n t e r r u p t  connected  BIT  which  t h a t t h e system  T h e p a u s e mode c a n a l s o b e e n t e r e d  summary o f t h e f u n c t i o n s o f t h e s w i t c h r e g i s t e r be  wave d r i v e ,  When t h e p r o g r a m i s n o t a v e r a g i n g  i n t h e i d l e mode, a l t h o u g h  switch r e g i s t e r  t y p e s W.D.=?  display.  a r e two o t h e r m o d e s : . a v e r a g i n g  b y t y p i n g a #.  f o r conversions  Then t h e computer  point a $ i s typed, which informs  i d l e mode. , T h e r e  usually  T h i s parameter i s needed  and wavelength o n energy.  a p p e a r o n t h e wave d r i v e  identifies  of  i s t o be used.  to digital  output  1.  t h e l a s e r beam i s  T h e s h u t t e r i s c l o s e d when b i t 0 i s  a n d o p e n e d when i t i s h i g h .  Raising this b i t calls  used  t o change  spectrometer are used  the r e c a l i b r a t i o n  the c a l i b r a t i o n  has d r i f t e d .  parameters  The c a l i b r a t i o n  t o c o n v e r t wave d r i v e  subroutine, which  i f i t i s found parameters  A  (microns)  = C4 + C5*WD + C6*WD  2  + C7*WD  3  + C8*WD  thatthe  C4 t h r o u g h  (WD) t o w a v e l e n g t h t h r o u g h  nomial :  can be  C8  the poly-  - 48 -  TABLE 1 Functions of the Switch Register i n the Signal Averaging Program Switch Register Bit  Idle Mode  0  Controls Shutter  1  Transfer to Pause Mode  Averaging Mode  Pause Mode Controls Shutter  Transfer to Pause Mode  Stay i n Pause Mode Print Intensified Point Parameters  Stop Now Stop at End of Scan  4 5  Recallibration  •  Print the Number of Completed Scans Set Laser Power  6  Set Laser Power  7  Convert W.D. to E and X  8  Convert E to W.Di and X  Convert E to W.D. and X  9  Convert X to W.D. and E  Convert X to W.D. and E  10  Begin Again Display Newest Data-  Convert W.D. to E and X  Plot vs E  11  Plot vs W.D.  12  Punch Data  13  Read Data  14  Transfer to Averaging Mode  15  Move Spectrometer  Move Spectrometer  - 49 The r e c a l i b r a t i o n subroutine adjusts only parameters C4 and C5.  Upon  entering the subroutine, CALIBRATION REVISION i s typed, followed by GIVE WAVELENGTH, NEW  W.D.  AND  ORDER #.  The operator then enters the  wavelength of the l i n e which i s being used to r e c a l i b r a t e , the wave drive at which the l i n e i s now found and the order number of the l i n e . The subprogram then changes the two c a l i b r a t i o n parameters and  types  them.  BIT 6  -  The argon ion laser has been modified so that i t s i n t e n s i t y can be  controlled by a 10 turn potentiometer which i s connected motor.  to a stepping  The stepping motor control c i r c u i t i s driven by pulses from  d i g i t a l output 16, with the d i r e c t i o n of r o t a t i o n being determined  by  the pulse length. When this subprogram i s used for the f i r s t time i t types GIVE CURRENT LASER DIAL READING X.XX power i s entered.  = ? at which point the current laser  Then i t types P = ? and the user enters the desired  laser power, a f t e r which the laser power i s adjusted to t h i s value.  new  If the power which was entered i s outside the range, P  OUTSIDE RANGE i s typed, after which the desired power i s again r e quested.  BIT 7  -  This c a l l s a subroutine which w i l l convert wave drive into wave-  length i n microns and energy i n BIT 8  -  meV.  This subroutine converts energy i n meV  into wave drive and wave-  length i n microns. BIT 9  -  This i s similar to the l a s t subroutine but here wavelength i n  microns i s converted to wave drive and energy i n meV.  - 50 BIT  10  -  This  The  subroutine w i l l  data  with  to be p l o t t e d  the signal  the high types and  speed  paper  then  types  data  i n an i n t e n s i t y v s energy  c a n be produced  averaging tape  out the highest  AXIS.  plot  subroutine  and l o w e s t  ( B i t 13).  energies  enters  two l i m i t s  along with  is  this  t o be marked. the plot,  After  and marks  the plotter  the x axis with  When b i t 10 i s l o w e r e d  explained  i n the section  i s always normalized plot  different is  also  i s t h e same. plots,  typed  made s o l o n g is  known.  -  This  out.  Thus  order  -  Data  intensity  b i t 12,  INCREMENT  FOR X  a x i s w h i c h must  i n which  the x axis  this  averaging  en-  energy  be p l o t t e d .  deviations;  the signal  Error  i s further  mode.  t h e peak t o peak a m p l i t u d e  The  of  t o a l l o w t h e c o m p a r i s o n o f two corresponding  to each  comparisons between p l o t s  g a i n and i n t e g r a t i o n  to the preceding  time  In this  plot  c a n be  f o r each  one e x c e p t  and t h e u s e r does n o t need  that i t  case  to supply  plot  both  any p a r a -  As above, t h e peak t o peak v o l t a g e i s p r i n t e d  intensity  comparisons between  i n t h e b l o c k c a n be punched this  to be p l o t t e d  the appropriate  o f i n t e n s i t y v e r s u s wave d r i v e .  to allow  punch w i t h raising  In order  i s similar  f o r the plot.  in  so t h a t  as t h e a m p l i f i e r  axes a r e n o r m a l i z e d meters  concerning  t h e peak t o peak v o l t a g e  subroutine  plo'ts a graph  first  draws a b o x w h i c h w i l l  the data w i l l  b e drawn i f t h e r e a r e s t a n d a r d  every  The s u b r o u t i n e  f o r t h e energy  bars w i l l  data  using  of the data  t h e increment  spectrum  i n o l d data  ENTER LOWER AND UPPER E L I M I T S AND  Then the user  intervals.  by t a k i n g a  s u b r o u t i n e o r by r e a d i n g  encompass a l l t h e d a t a ,  close  either  format.  plots.  out on t h e h i g h  speed  paper  immediately  after  subroutine.  Operation begins  and s t a n d a r d  d e v i a t i o n s a r e punched  after  tape  the data i f  - 51 they are present. Only that section of the block which i s known to contain data i s punched, and i f there i s no data, a message to that effect i s typed. Also, a message informing the user of whether standard deviations were punched i s printed by the teletype. BIT 13  - Data tapes produced by the previous subroutine may be re-entered into the computer with this routine. following information about the tape:  The computer requests the starting WD,  increment,  number of increments, number of averages completed and order number. The meaning of these terms i s explained i n the section dealing with the signal averaging mode. The operator must then indicate whether the tape to be read contains standard deviations.  After this the  tape, which should be mounted i n the reader before this time, i s read into the Data Block. The program treats data which has been entered i n this way as indistinguishable from data which has been obtained by taking a spectrum. BIT 14  - Raising b i t 14 transfers control to the signal averaging mode.  BIT 15  - This subroutine i s used to change the spectrometer location.  It  types WHERE TO? after which the operator enters the designed location i n wave drive units.  ii)  Signal Averaging Mode It i s i n this mode that luminescence data may be gathered and averaged.  Upon f i r s t entering this mode the computer types START, INC., # OF INC'S, # OF AVR'S, T IN MS.  The user then supplies the desired starting wave drive  of the scan (scans are always i n the direction of increasing wave drive), the size of the wave drive increment between data points, the number of  - 52 -  increments to be taken i n one scan, the number of scans which are to be averaged together and the i n t e g r a t i o n time.for each datum. I f an e r r o r i s made w h i l e entering t h i s s s t r i n g of parameters, supplying a negative i n t e g r a t i o n time w i l l cause the computer to ask f o r new values. A f t e r t h i s the computer moves the spectrometer to the s t a r t i n g p o s i t i o n and begins a scan.  The s t a r t i n g p o s i t i o n i s always approached from the low  wavelength side to eliminate any p o s s i b l e play i n the spectrometer gears. Data i s continuously averaged and displayed on the cathode ray tube.  The  point i n the d i s p l a y which i s c u r r e n t l y being updated i s i n t e n s i f i e d i n order to make i t easier to l o c a t e .  The l a s e r beam i s interrupted by the  shutter w h i l e the spectrometer rewinds i n order to reduce helium b o i l - o f f . The beam i s also turned o f f f o r the f i r s t data point so that the background i n t e n s i t y can be determined. I f the number of data points i s l e s s than o r equal to 2 5 0 , the standard d e v i a t i o n of each data point i s recorded so as to give an i n d i c a t i o n of the s i g n a l - t o - n o i s e r a t i o of the spectrum.  I f I i s the i n t e n s i t y and N i s the  number of averages, the standard d e v i a t i o n i s c a l c u l a t e d using the f o l l o w i n g equation:  Standard D e v i a t i o n =  This equation i s not meaningful f o r small N, and standard deviations, are only p l o t t e d or punched f o r N > 3. The s i g n a l averaging mode w i l l continue to c o l l e c t data u n t i l the s p e c i f i e d number of averages have been taken unless i t s actions are modified by use of the switch r e g i s t e r or a spectrometer l i m i t error occurs.  In the  event of a l i m i t error the computer types a message i d e n t i f y i n g the type of l i m i t and then h a l t s the program.  The switch r e g i s t e r can be used to modify  - 53 the o p e r a t i o n o f t h e s i g n a l  BIT  1  -  While  the  BIT  3  -  This w i l l  This also  is  n o t immediate b u t o c c u r s  terminates  i n order  BIT  5  -  T h i s b i t causes  BIT  6  -  The c u r r e n t s i g n a l the data  again, using the  data  laser the  BIT  7  -  later.  averaging  TERMINATED AT  d e v i a t i o n s have been  upon t h e c o m p l e t i o n  t h e number o f c o m p l e t e d  i s lost.  The s i g n a l  averaging  the parameters o f the l a s t  t o be typed o u t .  then  this  switch,  begins  T h u s i f f o r some  reason  (e.g. noise or i n t e r r u p t i o n  of the  again without  having  to re-enter  parameters.  This  this  switch  i s raised  t h e cathode  data which has been c o l l e c t e d  provision  r a y tube  r a t h e r than  shows t h e  t h e averaged  a l l o w s one t o i n s u r e t h a t t h e s i g n a l  t h a t i t h a s t h e same a m p l i t u d e  display  as a t t h e s t a r t  is still  data. present  of the average.  P a u s e Mode The  scan.  recorded.  by r a i s i n g  program  run.  the action  i s r e p l a c e d by  averages  r u n i s stopped  case  taken.  of the current  t h a t t h e mode o f t e r m i n a t i o n b e  averaging  mode a n d e n t r y  (N) SCANS a n d t h e n  averaging, but i n t h i s  beam) i t i s p o s s i b l e t o b e g i n  latest  iii)  signal  i n a r u n becomes u s e l e s s  While  and  types  s t a y i n t h e p a u s e mode,  t h e w o r d TERMINATED i n t h e p r i n t - o u t  STOPPED SHORT  and  be d e s c r i b e d  as t o whether standard  -  case  t h e computer w i l l  The computer  the user  In t h i s  mode i n t h e f o l l o w i n g w a y s :  cause termination of t h e s i g n a l  i d l e mode.  informs  4  b i t i s raised  f u n c t i o n o f which w i l l  into  BIT  this  averaging  p a u s e mode may b e e n t e r e d  from  either  the idle  or the s i g n a l  - 54 averaging since  the only  display of  modes.  I t i s used  mode, w h i c h  the switch r e g i s t e r .  examining  frequently with  p o i n t i n e n t e r i n g i t from  scanning  averaging,  most  t h e most  the signal  averaging  t h e i d l e mode w o u l d b e t o u s e t h e  i s described later  under  the function of b i t2  T h e p a u s e mode h a s many a p p l i c a t i o n s w h i l e  important  of which a r e r e - a l i g n i n g  the data which i s being  mode,  gathered.  signal  t h e o p t i c s and  These uses w i l l  become  apparent  i n the f o l l o w i n g d is c u s s i o n o f the uses of the switch r e g i s t e r i n  the  idle  mode.  BIT  2  -  While  cathode  i n t h e i d l e mode r a y tube.  intensified but  p o i n t does not c o r r e s p o n d  i s connected  interface across  front  When s w i t c h  p a n e l , and thus  2 i s raised,  length,  energy  point.  Thus a spectrum  idle  to the spectrometer  a t analog  location  i n p u t number o n e .  the i n t e n s i f i e d  t h e computer  may b e a n a l y z e d  6 through  on t h e  p o i n t may b e s c a n n e d  control.  and v o l t a g e c o r r e s p o n d i n g  Switches  This  types  t h e wave d r i v e , w a v e -  to the i n t e n s i f i e d while  i ti s still  data  being  9 h a v e t h e same f u n c t i o n s a s u n d e r t h e  mode.  -  A s i n t h e i d l e mode, t h i s  wave d r i v e  subroutine allows  t o be changed by answering  the program  spectrometer  the spectrometer  a WHERE TO? q u e r r y .  i s i n t h e i d l e mode a n d i t h a s come f r o m  a g i n g mode, t h e n  the  of the  t o o n e o f t h e two t e n t u r n p o t e n t i o m e t e r s  the data by a d j u s t i n g t h i s  averaged.  i s c o n t i n u o u s l y d i s p l a y e d on t h e  I n t h i s mode, h o w e v e r , t h e l o c a t i o n  rather to the voltage present  input  BIXJ 15  the data  will  spectrometer  upon r e t u r n i n g t o t h e s i g n a l first  be r e t u r n e d  location  can be changed w h i l e  the signal  averaging  to i t s original  However i f aver-  mode t h e  wave d r i v e .  Thus  i n t h e i d l e mode, f o r  - 55 -  example to a peak i n the luminescence i n order to allow for easy optical alignment, and the operator need not worry about returning the spectrometer to i t s o r i g i n a l position before returning to the signal averaging mode. The functions of Switch Register b i t s 0, 6, 7, 8 and 9 are identical i n the i d l e mode and the pause mode. FIGURE 8 Signal Averaging Apparatus  Teletype  Cathode Ray Tube Display  X-Y Plotter  Paper Tape Reader  JL.  NOVA 2 Control Unit  Minicomputer  Paper Tape Punch  I N T E R F A C E  Chopper He Dewar Integrator  CD  Sample"  Lock ' In Amplifier  Preamplifier  Argon Laser Head  Collection / O p t i c s -<atz. Argon L a s e r Reference Signal  Detector  XT Spectrometer  Power Supply  Laser Power Controler  - 5§ -  CHAPTER 7  An  E x a m p l e o f Work D o n e W i t h T h i s  A  proof  been i n c l u d e d paper  here  to be published  line  i s described  low e x c i t a t i o n l e v e l s .  the previous  more i n t e n s e  was o n l y  drop  luminescence luminescence.  possible with  Another p u b l i c a t i o n e n t i t l e d Lithium  Niobate"  and a c c e p t e d  Physics  was a l s o  the result  more e x p e r i m e n t s  which  At the higher  apparatusthis  electron hole  new l u m i n e s c e n t  i n Solid  to indicate the capabilities  a new l u m i n e s c e n t  at very by  of a paper  System  S t a t e Communications has of t h i s occurs  system. i n doped  excitation levels i s totally Thus  In this silicon required  h i d d e n b y t h e much  the discovery  the. s y s t e m d e s c r i b e d  of this  here.  " L u m i n e s c e n c e Due t o I r o n C e n t r e s  f o r p u b l i c a t i o n i n the Journal  o f work done w i t h  a r e now e i t h e r e n v i s i o n e d  of Applied  t h e new a p p a r a t u s .  or already  under  i n  way.  Many  57 Pergamon Press.  Solid State Communications,  Printed in Great Britain  PHOTOLUMINESCENT DETECTION OF THE IMPURITY BAND IN SifP) J.A. Rostworowski, M.L.W. Thewalt and R.R. Parsons The Department of Physics, University of British Columbia, Vancouver, B.C., Canada V6T 1W5  (Received 25 July 197'5 by R. Barrie)  A new photoluminescent band in the spectra of phosphorus-doped silicon at concentrations near the Mott transition is reported. It is attributed to the recombination of an electron in the impurity band with a free hole.  A BASIC PROBLEM in solid state physics is the understanding of the onset of derealization of electrons of an array of atoms as the lattice parameter is allowed to decrease. Mott first suggested that the transition from insulating to conducting behaviour for the array would change discontinuously with decreasing interatomic spacing; other workers, however, have' predicted a gradual change (see Alexander and Holcomb for a review of the subject). It was recognized many years ago that shallow impurities in semiconductors could provide an ideal system to study this phenomenon if it were not for the randomness of the impurity distribution. 1  2  2  The substitutional introduction of a phosphorus atom into a silicon crystal results in an electron loosely bound to the impurity site at low temperature. With increasing impurity concentration the wave-functions of the impurity electrons overlap and one obtains a continuum density of states which is referred to as the "impurity band" despite the nonperiodic distribution of impurities. For impurity concentration n below n = 3.0 x IO phosphorus atoms cm , the electrons are localized near single impurities or near small clusters of impurities. Above n ~ 2.0 x 10 phosphorus atoms cm" the Fermi level is into the conduction band of the silicon crystal and the electrons at the Fermi level acquire the properties of the conduction band. In the intermediate concentration range n < n < n the electrons are delocalized in the impurity band. Despite the wide variety of experimental techniques used 3  4  18  D  c  -3  2  19  3  cb  2  c  D  cb  (electrical conductivity, Hall coefficient, Hall mobility, magnetoresistance, magnetic susceptibility, NMR properties and ESR properties)the impurity band is not well understood for concentrations near n . In particular very limited experimental information is available concerning the width of the impurity band for the above concentrations. The main purpose of the present letter is to report the use of photoluminescence to study the impurity band in phosphorus-doped silicon. Photoluminescent studies of germanium containing shallow impurities have been reported for a very large range of impurity concentrations by Benoit a la Guillaume and Cemogora. Their work was mainly concerned with the density of states tail which is expected at high impurity concentrations n S n . In this report we are mainly interested in impurity concentrations in a small range 1.8 x 10 cm < n < 3.9 x 10 cm~ near the critical concentration n = 3.0 x 10 cm . Dean et al. have reported photoluminescence in silicon samples containing impurity concentrations Hp = 8 x 10 cm which is well below n . Martin and Sauer have studied the photoluminescence of silicon doped with shallow impurities for impurity concentrations up to about 10 cmf . However, they did not report the new luminescent peaks presented in this paper. This was probably due to their use of the S-l photomultiplier which has very limited detectivity at the photon energies of the new peaks described below. c  5  D  cb  ,8  -3  ,8  3  D  18  -3  c  e  16  -3  c  7  18  3  The source of samples, the sample preparation  /(/of" DviCfO-^lmcd fay PHOTOLUMINESCENT DETECTION LN Si(P)  Vol. 17, No.  TO  EHD ,  Si(P)  Si(P) #  *  T-4.2°K 11 n =vi xio  /  -l  cm  1 .  .  .  xoo  TO IB  TA  NP  IB  i  1'i i I I  *°  . •  .  • .  V / 1 .  lo»  V"  ••" '•.  ,,s  t.w  J.IO  *  TA  i  A  :\  EHD EHD  ID  A  a  1  cnw  CM k  i' I i 1  * .1? .  .  I  J.K>  .1 • . • I .  7 i . eV photon energy  FIG. 1. Photoluminescent spectrum of silicon containing 1.8 x 10 18 phosphorus atoms c m - 3 at T — 4.2 K. The dots correspond to an excitation intensity of 500 W/cm 2 ; flags correspond to 5 W/cm 2 . The height of the flags corresponds to standard deviations from 10 scans. The spectra are normalized and the vertical scale is linear. and the optical excitation method have been already described.8 However, for the current studies a 58 cm f/3.5 monochromator with a Ge detector cooled to 77° K was constructed. In addition an on-line Nova-2 computer was set up for signal averaging and data analysis.9 The samples were immersed in liquid helium during the experiment. In the earlier work by one of us on heavily doped silicon our instrumentation was unable to achieve useful signal-to-noise ratios for excitation intensities less than about 1500 W/cm 2 . With our present set-up we are able to work with excitation intensities as low as 1.5 x 10" 2 W/cm 1 . The photoluminescent spectra for silicon containing 1.8 x 1018 phosphorus/cm3 are shown in Fig. 1. The two curves correspond to two different levels of excitation power. The peaks labelled E H D T O , E H D T A and E H D N P are the peaks previously attributed to the electron—hole droplet,8 and at high excitation intensity the photoluminescent spectrum is dominated by them. At low excitation intensity, however, the EHD-peaks are drastically reduced in intensity and new peaks labelled I B T O , I B T A and I B N P in Fig. 1 begin to dominate.  .  •  .—. .1 1«»  I.OO  •—i....  .. i—u_,—IL^.  |  V l «V  tlO  photon energy  FIG. 2..Concentration dependence of the photoluminescence of phosphorus-doped silicon. For comparison of the spectra, the high energy sides of the E H D T O bands have been aligned. The flags are the standard deviations obtained from 20 scans. The vertical scale is linear, (a) 1.8 x IO 1 8 atom/cm3, 4.2° K. (b) 3.0 x 10 1 8 a t o m s / c m 3 , 4 . 2 ° K . (c) 3.9 X 1018 a t o m s / c m 3 , 1 . 4 ° K. (Clearer resolution of the EHD and IB peaks is obtained at this temperature.) We attribute the 1 B T ° , I B T A and I B N P peaks to recombination of an electron in the impurity band with a free hole. The superscripts TO and TA refer to transverse optical and transverse acoustical phonons which assist the optical transition in order to c o n serve momenlum;6 NP refers to the no phonon recombination in which excess momentum is taken up by the impurity.6 The energy position of the luminescent peaks associated with the radiative capture of a free hole with an electron bound in an isolated phosphorus impurity is 10 hv  ^"gap  ^"imp  ^"phonon-  Here ZTg p = 1.1698 eV is the band gap energy at 4.2° K, and E i m p 0.0453 eV is the ionization energy of phosphorus in silicon. The energy ^ p h o n o n is the energy of the phonon assisting the recombination.6 The two vertical arrows labelled I T O and I N P in Fig. 1 locate the photon energies given by the above expression with TO-phonon assisted transitions (ZTTO = 0.0578 eV) and no-phonon transitions. The' a  S  Wv \CJS0  PHOTOLUMINESCENT DETECTION IN SifP) .  Vol. 17, No.  IB peaks are observed at approximately 0.025 eV below the positions predicted for isolated impurities. This shift to lower energies at n = 1.8.x 10 1 8 cm~ 3 may be explained by the conduction and valence band developing tails 5 , 1 1 into the forbidden gap or by a lowering of the ground state energy of the impurity through overlap with others. D  Figure 2 shows the three low excitation spectra for silicon containing impurity concentrations n = 1.8 x 1 0 1 8 , n D =3.0x 1 0 l 8 , a n d « o = 3.9 x IO 1 8 ' c m - 3 . A shift to higher energies and a slight broadening of the impurity band with increasing concentration are observed. These observations are in qualitative agreement with the calculations of impurity bands by Matsubara et al.16 and Gaspard et al.* D  —  A = 4 " JBi a i m p  at the Mott transition. For Si(P) this expression gives 0.036 eV in approximate agreement with the band widths of the IB peaks in Fig. 2 . We are continuing this work as a function of temperature and over a wider impurity range. We hope to understand more clearly the band tails, and the density of states of the impurity band and the relationship of those impurity peaks to our earlier work 8 on the electron hole droplet.  7  Berggren has estimated the width of the lower Hubbard b a n d 1 4 - 1 7 using Hubbard's tight binding Hamiltonian and neglecting impurity randomness to 14  be  Acknowledgements — We thank Dr. H. Gush for the use of his Ge detector. We greatly appreciate the many discussions of this work with Professor R. Barrie, Dr. B. Bergersen and Dr. P. Jena. These studies are supported by the National Research Council of Canada (Grant No. 6714). , i  REFERENCES 1.  MOTT N'.F.,Ca/i 7. Pftys. 34, 1356(1956).  2.  ALEXANDER M.N. & HOLCOMB D.F., Rev. Mod. Phys. 40, 815 (1968).  3.  KOHN W., Solid State Physics (Edited by SE1TZ F. & TURNBULL D ) , Vol. 5, p. 257. Academic Press, NY (1957).  4.  BALTENSBERGERW.,PM.M7#. 44, 1355 (1953).  5. ' BENOIT A LA GUILLAUME C. & CERNOGORAJ., P/zys. Status Solidi 35, 599 (1969). 6.  DEAN P.J., HAYNES J.R. & FLOOD W.F., Phys. Rev. 161, 711 (1967).  7.  MARTIN R.W. & SAUER R., Phys. Status Solidi (b) 62,443 (1974).  8.  HALLIWELL R.E. & PARSONS R.R., Can. J. Phys. 52, 1336 (1974).  9.  THEWALTM.L.W.,M.Sc. Thesis, The University of B.C. (in preparation).  10.  COLLET J., BATTAU J. & BROUSSEAU M.,Solid State Commun. 16,775 (1975).  11.  LIFSUITZIM.,  12.  MATSUBARA T . & TOYOSAWA Y., Progr. Theor. Phys. 26,739 (1961).  13.  GASPARD J.P. & CYROT-LACKMANN F.,J. Phys. C6,3077 (1973).  14.  BERGGREN K.-F.,Pliil. Mag. 27, 1027 (1973).  15.  HUBBARD J.,Proc. R. Soc. A276, 238 (1963);Proc. R. Soc. A281,401 (1964).  16.  MOTT N.F. & DAVIES E.A., Electronic Processes in Non-Crystalline Materials. Clarendon Press, Oxford (1971).  17.  MOTT N.F., Metal Insulator Transitions. Taylor and Francis, London (1974).  Adv. Phys. 13,483(1964).  - 60 BIBLIOGRAPHY Brinkman, W.F.  and R i c e , T.M. 1973. Phys. Rev. B,  1508  How to Use the Nova Computers, Data Genreal Corporation  (1970)  Introduction to Programming the Nova Computers, Data General Corpora t i o n (1972) An Introduction to B a s i c , Data General Corporation  (1973)  Sommers, H.S., J r . , Semiconductors and Semimetals, edited by R.K. Willardson and A.C. Beer, Academic Press, 5_, 435 (1970)  - 61 APPENDIX A SCHEMATIC DIAGRAMS AND LAYOUTS A l l the schematic diagrams and printed c i r c u i t board layouts of the interface are included here.  Some of the interconnections have been made  by use of the double sided printed c i r c u i t boards, but the vast majority of the wiring has been done by point-to-point wire-wrapping between the integrated c i r c u i t sockets.  An-idea of the complexity of the interface  can be obtained by noting that i t contains 8 hybrid modules and over 170 integrated c i r c u i t s . The 50 lines forming the input/output bus of the computer plug into an edge connector on the interface motherboard. An identical connector on the other end of the motherboard can be connected to either a terminator or to a cable leading to additional input/output equipment. The motherboard holds seven 100 pin printed c i r c u i t edge connectors which hold the actual interface boards.  To date only four boards have been constructed  so there are s t i l l three slots available for additional interfacing. The motherboard also supplies the interface boards with ±15 Volts regulated and +8 Volts unregulated.  The +5 Volts necessary for TTL logic c i r c u i t s i s  derived from the +8 Volts by on-board regulators. An ample number of 10 uf tantalum and .01 yf disc capacitors are used to decouple the +5 Volt supply on a l l the boards. The printed c i r c u i t layouts are a l l reduced by a factor of .6 i n these i l l u s t r a t i o n s .  Unless otherwise noted, a l l re-  sistors are lKfi and capacitors are 100 pf.  - 62 FIGURE 9  Motherboard Front  Side  *  - 64 -  FIGURE  Digital  DIGITAL GROUND  SELB INTP JS DCHP 151 SELB ICHST  STRT  cia  INTA MSKO  -157 +  15?  ANALOG GROUND DIGITAL GROUND  t o Analog  11  Converter  Board  Front  Side  FIGURE 12 D i g i t a l to Analog Converter Board Back Side  \  - 66 FIGURE  Analog  to  Digital  13  Converter  Board  Front  Side  DIGITAL GROUND  •  •  O  I  I i  12  SELB INTP IN DCHP IN SELD IORST  15  16  STfiT CLR  ANALOG TO  ANALOG  DIGITAL  INPUTS  CONVERTER  -20V -15V +15V  ANALOG GROUND DIGITAL GROUND  FIGURE 14 Analog  to D i g i t a l  Converter  Board  Back  Side  - 68 FIGURE 15 Paper Tape Reader/Punch and. Digital.Input/Output Board Front Side  TO PAPER TAPE PUNCH  TO PAPEK  '  TAPE READER  6  DIGITAL GROUND  7  •  • 5 16  26  30  STRT CLR MTA MSKO DIGITAL INPUTS DIGITAL OUTPUTS  2 1 5 h  DIGITAL GROUND  31  32  33  34  8  17  18  27  19  28  37  - 69 FIGURE 16 Paper Tape Reader/Punch and D i g i t a l Input/Output. Board Back  TO PAPER TAPE PUNCH  " •'  •  .  Side  TO PAPER TAPE READER  DATOC DS3 DATIA DATXB  3  2 1  0  DIGITAL OUTPUTS REED RELAYS  DIGITAL CROUM)  - 70 FIGURE 17 Spectrometer C o n t r o l l e r  and Programable I n t e r v a l Timer Board F r o n t  2  DIGITAL GROUND  SELB HTTP D f DCHP Df SELD  17  24  3 I  7 I 32 ~J I  SO  STRT CIH  16  23  31  a  I  40  [—  1  r  4  25 I  n  21-, , " 1,  •  1  I  ,  1  ,  8  a  26  1  33 ^  1  •  42 —  , , .  5  —  .  21  .  •  ,  36 ° "  43  ,_, ,  •  28  29  ±L  37  44 •»*  38 38  45  39 39  46  ^^^^^^ 68  48  a  49  [V] DIGITAL GROUND  30  47  TO DISPLAY  o  27 I  1  3  20  67 UP PULSE DOWN PULSE EXT. TRIG. P.I.T. DONS  o  3  15  4  IOR ST  UTTA MSKO  1  L __ .  22  a 10  12  .  a  Side  »°  51  a *5  64  52  53  a 63  62  a 61  54  55  o 60  59  56  a  5  8  i  57  J  - 71 FIGURE 18 Spectrometer C o n t r o l l e r and Programable I n t e r v a l Timer Board Back Side  DATOC DS3  DATIA DATIB UPPER LIMIT LOWER LIMIT  DIGITAL (BOUND  D i g i t a l to Analog Converter  Analog to Digital Converter  EXTERNAL TRIGGER  ANALOG INPUTS  Paper Tape Reader  B  DATAB  >  I  T  STEP  8  DS  COMMAND D-  °  CABLE  -O DSO -O "DST -O DS2  -O  os3"  -O DS4 -O DS5  °1  FROM 1  READER  MONOSTABLE  MONOSTABLE  . 1 MS  _ i p  MONO MONOSTABLE  Id MS  J9  • I MS  ( TALLY R2050 >  a  i—i cn  c  m 45  ^ RQENB  O—H  INT.  DONE DATA15  OATIA  rSH  >  INTR  >  STRT  -;i-rv"  DATAI 1 INT.  4-VL  -< INTP OUT  BUSY DIS. CLR  O-  -<  DATAI2  MSKO O^H -< DATA!4  IORST IORST  INTP IN >-  U-  T  VvVvv 1 _  < INTA  Paper Tape Punch  D i g i t a l Input/Output  ,—4>i—J >  —  CD C 73  m  ^  > — • —  i  io]>c£  DA1AJ5 DA TO A DATIA DS0  |4(T5<J-1|40" CLR o—o<^]——^  STRT  ^ DS  '  <>  _!fl.  ^ DS4  —<M-<r  DSS  ON  Programmable Interval Timer  Spectrometer Controler DA1A0  >  >  % x > -  * •  0A1AIS  "n 20  19  74191  74191  T  18 74191  SO  DS  74192  49  T  48  74192  74192  o c  JO  T  m TO cn  &JYYY? ??ttf?YY? YYY -<  RAT IA  39 1 7479  Li  39 7479  \ r r - 0  —TT;—'  RE ON 8 LOWER L1MITS UPPER INTR  I  N  T  DS  SELB  6 6 66 DISPLAY  >  74121 ieo  7476  4  MICROS. SPECTROMETER DOWN D - C ^ U  38  REQ. K •  66 66 TO WAVEDRIVE  IT TU  SELD PL-^ ROENBI DflFNB  6 6 66  UP •  P  C<S9-  74121  1  100 MI CROS. DA1A15  38 INT. DIS.  DATA13 INTP IN  INTP OUT  6 6 66 A . DATOB  co  - 79  -  FIGURE 26 Modifications to the X - Y  Plotter  Cable to Interface  AAA JOOQ  9-  - 80 -  APPENDIX B  MACHINE  LANGUAGE  This  section  SUBROUTINES  gives a complete l i s t i n g  language subroutines Chapter is  4 C).  fully  by  described i n the Data General  In  order  first, as  into  handbooks, p a r t i c u l a r l y  subroutines are converted  them b e t w e e n t h e TRIUMF B A S I C  TRIUMF B A S I C I N I T I A L I Z A T I O N p r o g r a m . assembled  which  "How t o  an o b j e c t tape  using  an o b j e c t  tape  program and t h e  T h i s composite  program i s then  the Data General  to l o a d t h e o p e r a t i n g system,  into  SYMBOLS  Absolute  Assembler.  t h e TRIUMF B A S I C p r o g r a m i s l o a d e d  f o l l o w e d by t h e machine language s u b r o u t i n e s  above.  language  Computers".  machine language  sandwiching  4, 1975 m a c h i n e  f o r TRIUMF B A S I C a n d d e s c r i b e d i n  These s u b r o u t i n e s a r e w r i t t e n i n assembly  Program t h e Nova The  as p r e p a r e d  of the A p r i l  object tape  prepared  - 81  -  '.. T$$ JBEGINING OF SUBROUTINE ENTRY TABLE  i  #LQC LOCSR SRTAB .LOC TANS+5 SRTAB J .. INTER 1 . JPOTS OUT A MASK MSK  0  2 J ANALOG I NPUT AN. IN •RDX A 23300000 J CHANNEL VOLTAGE* OVERLOAD •RDX 10 ... 3 JDIGITAL INTERVAL TIMER TIME .RDX A 22000000 i INTERVAL** OF INTERVALS •RDX 10 .* . A\ iSPECTROMETER CONTROLLER SPECT  .RDX A .. 230000.00 iff OF STEPS*LIMIT ERRORS .RDX 10 ... ' _ 5 I INCREMENTAL •SCOPE DI SPLAY PARAMETERS ' SIZE ~ .RDX A 2*2000000 i STARTING POINT IN BUFFER* 0 OF'POINTS .RDX 10 6" JRUN INCREMENTAL DISPLAY ONCE DISP 0~  7. I STORE A 0 IN THE BUFFER STORE .RDX A 22000000 JPOI.NT IN BUFFER** .RDX 10 8 . SGET A 0 FROM THE BUFFER GET .RDX 4 2"30000.00 JPOINT IN THE BUFFER** .RDX 10 ". 9 JREAD SWITCH REGISTER READ . .RDX A .. 23000000 J MASK* #= SWITCH REGISTER k MASK .RDX 10  - 82 -  1*0 J LOAD THE WAVE DRIVE DISPLAY WDDIS •RDX 4 20000000 10 TO BE DISPLAYED ,RDX 10 •fl J X - Y PLOTTER PEN CONTROL PEN .RDX 4 . . 20000000 Jl=DOWN* 0=UP ,RDX 1 0 12 . J X - Y PLOTTER CONTROL PLOT . .RDX 4 220000.00 J X VALUE* Y VALUE .,RDX 10 • " . 1*3 i INTEGRATING ANALOG INPUT INTEG .RDX 4 22233000 J**TIMER PARAMETERS*CHANNEL 0*VOLTAGE*OVERLOAD .•RDX 10 * 14 JINCREMENTAL 'SCOPE DISPLAY OR NOT? MODE _ .RDX 4 20000000 i1=YES * NO=0 ,RDX 10 •l"5. . JPUNCH DATA ON THE TELETYPE TTPUN. .RDX 4 22000000 JSTARTING POINT* 0 OF 0 *S TO BE PUNCHED ,RDX 1 0 . * : 16 JREAD IN DATA FROM H.S.P.T.R. HSR I N .RDX 4 22000000 JSTARTING POINT* 0 OF 0'S TO BE READ ,RDX 10 . " 17 JPUNCH DATA ON H.S.P.T.P. PTPUN. .RDX 4 220000.00 i START I NG POINT* 0 OF #'S TO BE PUNCHED ,RDX 10 18 JCLOSE SELECTED REED RELAYS CRR •RDX 4 20000000 JSUM OF CHANNEL #'S TO BE CLOSED ,RDX 1 0 ° 1'9 JOPEN SELECTED REED RELAYS ORR •RDX 4 20000000 J SUM OF CHANNEL #'S TO BE OPENED .RDX 1 0  - 83 -  20 JSET SELECTED DIGITAL OUTPUTS HIGH DOH .RDX 4 . 20000000 JSUM OF CHANNEL # * S TO BE SET HIGH .RDX 10 21 J SET SELECTED DIGITAL OUTPUTS LOW DOL .RDX 4 20000000 J SUM OF CHANNEL #'S TO BE SET LOW .RDX 10 22 J OUTPUT AN ANALOG SIGNAL A.OUT •RDX 4 22000000 JCHANNEL #* VOLTAGE •RDX 10 23 iCHECK DIGITAL INPUTS D.I NP •RDX 4 30000000 JDIG ITAL INPUT STATUS .RDX 10 24. J SET DISPLAY INTENSIFIER POINT INT.P .RDX 4 20000000 JPOINT TO BE INTENSIFIED .RDX 10 25 J SET SIZE OF X-Y 'SCOPE DISPLAY XYSI Z .RDX 4 222000.00 JX START* Y START* # OF POI NTS .RDX 10 . 26 .. JRUN X-Y 'SCOPE DISPLAY ONCE XYDIS .RDX 8 0*.  f.\ / INTEG:  ....  . .  JEND OF SUBROUTINE ENTRY TABLE STA 3*11 SUB 0*0. STA 0*112 STA 0*113 LDA 0*R.R.0 COM 0*0 LDA l*R.R.l AND 0*J. COM J . * l . DOB .1*34 STA l*R.R.0 LDA 0*12 DOA 0*64 LDA 0*13 DOBS 0*64 SKPDN 6.4  . . . JINTEGRATING ANALOG INPUT J  JI NIT IALY CLEAR OVERLOAD. JGET CURRENT REED RELAY STATUS  i CLOSE REED RELAY 1 JSTORE NEW REED RELAY STATUS . J SELECT MILLISECOND INTERVAL J START TIMER FOR 37 (OCT.) MS,  - 84 -  16: 116:  I7j 18: 19:  Ml  121 131 141 15* IJ.0I Til I 1121 1131 1141 115:  JMP .*•'.! NIOC 64 LDA 0*R.R .0 LDA 1 *R.R.1 AND a * r STA 1*R.R .0 DOB 1 #34 LDA 2,0*3 LDA 0*0*2 LDA 1 *1*2 STA 0*14 STA I'* 15. LDA 2*1 #3 LDA 0*0.'* 2 LDA 1,1/2 STA •a J 1.14 STA 1*1 15 JSR TIME 14 114 LDA 3*1 1 LDA 3*2*3 LDA 0*0*3 LDA U1.3 STA 0*14 STA 1*15 JSR AN.I N 14 110 I 12 LDA 3*1 1 . LDA 2*3*3 LDA 0*110 LDA 1*111 STA 0*0*2 STA 1*1*2 LDA 2*4*3 LDA 0*112 LDA 1*113 STA 0*0*2 STA 1*1*2 JMP 5*3 JRETURN 0 2 37 0 0 0 0 0 0 0 0  JLOOP UNTIL TIMER IS DONE JT1MER IS DONE* CLEAR IT •  JOPEN REED RELAY 0 JGET TIMER INCREMENT JSTORE TIMER INCREMENT JGET » OF TIMER INCREMENTS J STORE JGO TO J JTIMER JTIMER  0..OF TIMER INCREMENTS TIME SUBROUTINE GETS THESE POINTERS RETURNS TO HERE  JGET INPUT CHANNEL # J.ST ORE I NPUT CHANNEL 8 JGO TO. ANALOG 1 NPUT SUBROUTI NE JCHANNEL » POINTER JVOLTAGE POINTER j OVERLOAD POI NTER JAN.IN RETURNS TO HERE JGET THE VOLTAGE JSTORE THE VOLTAGE IN BASIC JGET OVERLOAD STATUS JSTORE THE O.S. IN BASIC  - 85 -  R.R 0J R.R 1  I  0  -2  JCURRENT REED RELAY STATUS  J  MODE*  STA 3*MOD0 LDA 2*0*3 LDA 0*0*2 LDA \j.\*Z JSR§ 131 STA 1 *M2 LDA 3*MOD0 JMP 1*3  MOD0I  0  MSK:  LDA 0*M1 MSKO 0 SUB 0*0 STA 0*M2 DOB 0*34 STA 0*R.R .0 STA 0*@M3" COM 0*0 DOA 0*34 JMP 0*3 1 77 7.50 DOH1  Ml M3i  J  AN .IN:  A3:  STA 3*A0 LDA 3*0*3 LDA 0*0*3 LDA JSR8 131 . DOAS 1J44 SKPDN 44 JMP »*1 . DIA 0*44 LDA I*A1 AND 0*1*SZR JMP A2 MOVL0 0*0*SZC JMP A3 MOV 0,1 SUB 0J0 JSR8 133 LDA 3*A0 LDA 2*1*3 STA 0*0*2 STA 1*1*2 JMP 3*3 LDA 1*A4 AND 0,1 NEG 1,1 ADC 0.,0 JSR§ 133  JSETS I NCR. DISPLAY MODE  J ST ORE MODE-DETER MINER JRETURN JPUTS OUT A MASK* INITIAL.ZES }START IN NON-DISPLAY MODE JOPEN REED RELAYS . ,CLEAR REED RELAY STATUS JCLEAR DIGITAL OUTPUT STATUS JSET DIGITAL OUTPUTS LOW iRETURN J MASK . JDIGITAL OUTPUT STATUS JANALOG 1NPUT  iGET CHANNEL 0 iSELECT 1NPUT CHANNEL, START JLOOP UNTIL DONE JINPUT VOLTAGE JCHECK FOR OVERLOAD JOVERLOADED* GO.TO A2 JCHECK.SJGN OF VOLTAGE iJUMP TO A3 IF NEGATIVE  JSTORE V IN BASIC 1 RETURN JCONVERTS NEGATIVE V  - 86 -  A2»  A0J Al i A4J M2 i  LDA 3*A0 LDA 2,1,3 STA 0*0*2 STA 1*1*2 JMP 3*3 SUB 0*0 . SUBZL .1 ,1 JSR§ 133 LDA 3*A0 LDA 2*2*3 STA 0*0*2 STA 1*1*2 JMP 3*3 40000 77777 0  J STORE V IN BASIC JRETURN JFOR OVERLOADS  J STORE +1 IN BASIC JRETURN  JD1SPLAY MODE DETERMINER  y  TIME.  STA 3*T0 LDA 2*0*3 LDA 0*0*2 LDA 1 *. 1 *2 JSR9. 131 DOA 1*64 LDA 3*T0 LDA 2*1*3 LDA 0*0*2 LDA 1i1*2 JSR9. 131 MOV 1*1 *SNR JMP T,RET DOBS 1*64 LDA 0*M2 MOV 0*0*SNR JMP TLOOP LDA 0*T1 STA 0 R E T NIOC 5. JMP D • IN TLOOP: SKPDN 64 JMP T.RET. LDA 3*T0 NIOC 64 JMP 2*3 JRETURN T.0I 0 .. TI : T.RET J SPECT t STA 3*S0 LDA 2*0*3 LDA 0*0*2 LDA 1j1*2 JSR8 131 MOV l*l*SNR JMP S .RET  JDIGITAL INTERVAL TIMER I GET INCREMENT" JOUTPUT INCREMENT  JGET 0 OF INCREMENTS /CHECK FOR 0 .OF INCREMENTS = 0 JRETURN IF IT WAS 0. I IF NOT START THE TIMER J.CHECK THE.DISPLAY MODE. . JIN NON-DISPLAY MODE WAIT AT TLOOP JSTORE RETURN ADDRESS . J CLEAR .SPEC TRO. CONTROLLER JJUMP TO DISPLAY ROUTINE JLOOP HERE IN NON-DISPLAY MODE JTIMER DONE. iCLEAR THE TIMER  JSPECTROMETER CONTROLLER J GET THE 0 OF STEPS JCHECK IF 0 OF STEPS »0 JIF =0* THEN EXIT  - 87 -  LDA 0*S7 DOC 0*5 DOAS 1*5 LDA 0*M2 MOV 0*0*SNR JMP SLOOP LDA 0*SI STA 0..RET NIOC '64 JMP D.I.N SLOOP: SKPDN 5 JMP 1. S.RET: DIA 1*5 SOB 0*0. JSR8 133 LDA 3*S0 LDA 2*1*3 STA 0*0*2 STA 1*1*2 JMP 2*3 S0.: 0 SI .« S.RET S7: 7  J OUTPUT STEPPING SPEED JBEGIN STEPPING JCHECK DISPLAY MODE JIN NON-DISPLAY MODE WAIT AT SLOOP J STORE RETURN ADDRESS JCLEAR TIMER JJUMP TO DISPLAY ROUTINE JLOOP HERE IN NON-DISPLAY MODE JCHECK FOR LIMIT ERRORS  JSTORE LIMITS IN BASIC JRETURN  f  SI ZE:  STA 3*SIZ0 LDA 2*1*3 LDA 0*0*2 LDA 1*1*2 JSR9. 131 . STA 1*SIZl SUBZL 0*0 MOVZL 1 * 1 MOVZL 1 , 1 MOVZL 1 * 1 MOVZL 1*1 MOVZL 1 * 1 MOVZL 1*1*SZC JMP ,+3 MOVZL 0*0 JMP .-3 STA 0VSIZ2 LDA 3*SIZ0 LDA 2*0*3 LDA 0*0*2 LDA 1 * I *2 JSR§ 131 LDA 0*SIZ6 ADD 0,1 STA 1*SIZ5 LDA 3*SFZ0 JMP 2*3 v  J SET INC. DISP. PARAMETERS JGET THE # OF POI NTS JSTORE THE # OF POI NTS -  JSHI FT LEFT FOUR TIMES J SHI FT. THE .# OF POINTS* CHECK JDONE SHIFTING JMULTIPLY X"1NC. BY 2 JSHIFT AGAIN " JSTORE X I NC. SIZE  JGET STARTING LOCATION  JSTORE STARTING ADDRESS JRETURN  - 88 -  SIZ0» SIZU SIZ21 SIZ3I SJZ4: SIZ5: SIZ6.: ..RET t J DISP: D.IN:  D00 :  D03t D04:  D01:  0 0 0 -2000 TP I 0 BLK 0 STA 3, .RET NIOC 64 NIOC 5 LDA 0*S1Z3 LDA .1. * SI Z1 STA .1*03 LDA .USI Z5 STA 1*D4 . LDA 1*8SIZ4 STA 1*D5. LDA 1 *@.D4 MOVL# 1*1*SZC JMP D03 MOVZR .1*1 MOVZR l*.t MOVZR 1*1 JMP D04 ... MOV OR 1*1 MOVOR 1*1 MOVOR 1*1 SUB 2*2 SUBZL 3*3 DOA 2*42 DOB 0*42 DOA 3*42 DOB:1*42 NIO 34 NIO 34 LDA 2*8D9 LDA 3*D10 COM 2*2 AND 2*3. DOA 3*34 COM 3*3 STA 3*@D9 DSZ D5 . JMP D01 LDA 3*D7 STA 3*D8 1SZ D8 JMP .. *• 1 LDA 2*9D9 LDA 3*D10 AND 2*3-  iSTART ING X VALUE . i \ NTENSI FI ER POI NT JSTART OF BUFFER AREA jRETURN ADDRESS OF CALLER JINCREMENTAL DISPLAY JBASIC ENTERS AT THE ABOVE LINE tCLEAR SPECT. AND TIMER J GET I NI T1 AL' X VALUE J INITIALIZE COUNTER J 1 NIT I AL1 ZE POI NTER J.I NIT. I NTENS I FI ER POINTER JGET Y VALUE JCHECK SIGN OF Y  J3 RIGHT SHIFTS FOR Y>0  J3 RIGHT SHIFTS FOR Y<0 JSELECT X (0) CHANNEL JOUTPUT X VOLTAGE JSELECT Y (0) .CHANNEL JOUTPUT Y VOLTAGE J JWASTE TIME JGET CURRENT D.O. STATUS  JTURN BEAM ON JSTORE NEW D.O. STATUS JDECREMENT AND CHECK INTENS. JNOT INTENSIFIED POINT JINTENSIFICATION LOOP JWAIT UNTIL TIME UP  - 89 -  D02: D0: D3J D4X  D5: D7: D8* D9. i D.10.: D12.  STA 3,©D9 COM 3-3 DOA 3,34 SKPDZ 64 JMP D02 SKPDZ 5 JMP D02 LDA 1,SIZ2 ADD 1,0 ISZ D4 DSZ D3 JMP D00 SKPBZ 64 JMP D.IN SKPBZ 5 JMP D.IN JMP® .RET 0 0 0 0 -300 0 DOM I 177737 BLK  J  STA 3 ,STOR0 LDA 2 ,0,3 LDA 0.,0,2 LDA' 1* U 2 JSR§ • 3.1 LDA 2 ,D12 ADD STA ,STORl LDA ,STOR0 LDA > 1 ,3 LDA *0.,3 LDA >.U3 JSR§ ,131 • STA 1 ,@ST0R1 LDA 3 ,STOR0 JMP 2 ,3 STOR0: 0 STOR1 : 0 STORE:  *Z  .  STA 3,STOR0 LDA 2,0,3 LDA 0,0,2 LDA  JTURN BEAM OFF JRETURN TO CALLER IF DONE J.RETURN TO CALLER IF DONE J GET X 1NCREMENT /INCREMENT X VALUE J.I NCREMENT PO! NTER JDECREMENT AND CHECK COUNTER . J NOT DONE, DISPLAY NEXT POINT JTHE FOLLOW I NG DETERMI NES WHOj-CALLED THE DISPLAY JRETURN  JD..O.032 FOR BLANKING BEAM JSTARTING ADDRESS OF BUFFER JSTORE A # IN THE BUFFER J GET THE LOCATION JSTART OF BUFFER  . . .  J  GET:  JSTORE NEW D.O. STATUS  IAIAZ  JSR§ 13.1 •LDA 2,D12 ADD 1,2  JSTORE LOCAT1ON  J GET THE # JSTORE THE 0 JRETURN  J GET A 0 FROM THE BUFFER J GET THE LOCATION JSTART OF BUFFER  - 90 -  LDA 1,0,2 ADC 0,0 MOVZL* lil,SNC SUB 0*0 JSR§„133 LDA 3,STOR0 LDA 2 i l , 3 STA 0,0,2 STA 1,1,2 JMP 2,3 .RDX 10 BLK: .BLK 2001 •RDX 8 J READ I STA 3,READ0 LDA 2,0,3 LDA 0,0,2 LDA l i 1*2 JSR§ : 1 31 READS 0 AND 0 i 1 SUB 0*0 JSR9 :133 LDA 3,READ0 LDA 2, 1 ,3 STA 0,0,2 STA 1 >1 ,2 JMP 2,3 0 READ0 t I  PEN:  P.EN0 * J PLOT:  STA 3,PEN0 LDA 2,0,3 LDA 0,0 i2 LDA 1*1*2 JSRQ 131 SKPBZ 42 JMP . ,.*.| DOCS IT,42 LDA 3,PEN0 JMP:1,3 0 STA 3,PLOT0 LDA 2,0,3 LDA 0,0,2 LDA 1 * 1*2 JSR8 131 SKPBZ 42 JMP ."1 SUB 0",0 DOA 0*42 DOBS 1,42  J GET THE # FROM BUFFER JCHECK SIGN OF # JIT WAS POSITIVE  k  J.ST ORE 0 IN BASIC JRETURN JDATA BUFFER JREAD SWITCH REGISTER JGET THE MASK JREAD THE SWITCH REGISTER  JSTORE IN BASIC JRETURN JX-Y PLOTTER PEN CONTROL JGET CONTROL 0 JWAIT UNTIL PLOTTER. IS DONE JOUTPUT THE PEN CONTROL  JX-Y PLOTTER CONTROL JGET X VALUE JIF BUSY WAIT UNTIL DONE JSELECT X CHANNEL (0) JOUTPUT X VOLTAGE  - 91 -  LDA 3*PLOT0 LDA 2*1,3 LDA 0*0*2 LDA t A 1 A2 JSR8 131 SUBZL 0*0 DOA 0*42 DOB 1*42 LDA 3*PLOT0 JMP 2*3 PLOT0 » 0 J WDDIS: STA 3*SDPWD LDA 3*0*3 LDA 0*0*3 LDA U U 3 JSR8 131 . LDA 3* .TP 10 SUBO 0*0 LDA 2*0*3 LOOP: INC 3*3 MOVZL 0*0 MOVZL 0*0 MOVZL 0*0 MOVZL 0*0 SUBZ 2*1*SZC INC 0*0*SKP ADD 2*1*SKP JMP .-3 MOVZR 2*2*SZR JMP LOOP MOVZ .0*1 DOB 1 *5 LDA 3*SDPWD JMP 1*3 .RDX 10 '.TP I » .1.000 100 10 1 •RDX 8 SDPWD; 0 .TP 10: .TP1 J HSRIN: STA 3*HSIN0 LDA 3*0*3 LDA 0*0*3 LDA l>.l/3 JSR8 131 LDA 2*HS1N1 ADD 1*2 STA 2*HSIN2 LDA 3*HSIN0  JQET Y VALUE JSELECT Y CHANNEL JOUTPUT Y VOLTAGE JRETURN iWAVE DRIVE DISPLAY JGET 0 TO BE DISPLAYED ICONVERT BINARY TO B.C.D.  JOUTPUT # TO BE DISPLAYED JRETURN  JREAD INTO BUFFER FROM H .S.R. J GET STARTING LOCATION IN BUFFER  % STORE STARTING ADDRESS  - 92 -  HS 1  N4 *  HS I N0. HSI NI HS1 N2J HSIN3: J TTPUN:  LDA 3,1,3 LDA 0,0,3 LDA U1*3 JSR8 131 NEG 1,1 STA 1,HSIN3 INTDS S K P B Z PTR JMP : .-I ... DIAS:0,PTR MOV 0 , 0 , S N R J M P . - 4 ... SKPDN PTR JMP DIAS 0,PTR MOVS 0,1 S K P D N P.TR JMP .-1 DIAS 0,PTR ADD 1,0 MOVS 0,0 STA 0 , 8 H S I N 2 1SZ H 5 I N 2 1SZ H S I N 3 J M P HSI.N4 N I O C PTR LDA 3 , H S I N 0 I NTEN JMP 2,3 0 BLK 0 0 S T A 3,TTP0 L D A 2,0,3 L D A 0,0,2 LDA 1 *2 J S R § 131. LDA 2,TTP1 ADD 1 ,2 S T A 2, TTP2 L D A 3, TTP0 L D A 2,1,3 L D A 0. 0.2 L D A 1 > 1 *2 J S R 9 .131 NEG l i t S T A 1, TTP3 I NTDS HALT SKPBZ TTO JMP  1X  J GET 0 OF 0*S TO BE READ JINITIALIZE COUNTER JTURN OFF INTERRUPT JWAIT IF BUSY J 1NPUT . ONE BYTE JWAS IT A BLANK? JYES, READ AGAIN JNOT BLANK,BEG IN iWAIT UNTIL DONE JINPUT A BYTE JSWAP BYTES  READING  DATA  JWAIT U N T I L DONE . J.I NPUT A N O T H E R B Y T E J A D D T H E TWO B Y T E S JSWAP B Y T E S J S T O R E T H E DATA IN T H E BUFFER ^INCREMENT T H E POINTER J 1NCREMENT AND CHECK POINTER j N O T = 0 , R E A D MORE D A T A JCLEAR'READER J E N A B L E I NTERRUPT J RETURN  JPUNCH  DATA  JGET  START  J GET  0 OF  ON T E L E T Y P E  LOC.  IN  BUFFER  PUNCHES  J S T O R E P U N C H COUNTER J.D I S A B L E INTERRUPT J H A L T COMPUTER  - 93 -  TTP4 x  TTP0.1 TTP1.: TTP25 T.TP31' if PTPUN:  PTP4 J  ADC 0,0 DOAS 0,TTO LDA 0,8TTP2 SKPDN TTO JMP . *• 1 DOAS 0,TTO MOVS 0,0 SKPDN T.TO JMP DOAS 0,TTO ISZ TTP2 ISZ TTP3 JMP TTP4 SKPDN TTO JMP NI OC" TTO HALT I NTEN LDA 3,TTP0 JMP 2,3 0 BLK 0 0 STA 3,PTP0 LDA 2,0,3 LDA 0,0,2 LDA 1 >.U2 JSR8 131 LDA 2,PTP1 ADD 1,2 STA 2,PTP2 LDA 3,PTP0 LDA 2,1,3 LDA 0,0,2 LDA U U 2 JSR8 .131 NEG .1,1 . STA 1,PTP3 1 NTDS JSR PTP5 SKPBZ PTP JMP ."M ADC0,0 DOAS 0,PTP LDA 0,§PTP2 SKPDN PTP JMP; .*-l DOAS 0,PTP MOVS 0,0 SKPDN PTP JMP .H  JPUNCH ALL HOLES J GET THE 0 JPUNCH LOWER BYTE JSWAP BYTES JPUNCH UPPER BYTE J I NCREMENT POI NTER j r N C . AND CHECK COUNTER JNOT=0,PUNCH ANOTHER # JCLEAR TELETYPE JHALT COMPUTER JENABLE INTERRUPT JRETURN  JPUNCH DATA ON H.S.P.T.P. J GET STARTING POINT IN BUFFER JADD TO BUFFER LOCATION JSTORE FIRST ADDRESS  JGET # OF LOC'S TO BE PUNCHED JSTORE <M) TIMES THIS VALUE JTURN OFF 1NTERRUPT JPUNCH LEADER TAPE JLOOP UNTIL DONE JPUNCH ALL HOLES JGET THE 0 FROM THE BUFFER JLOOP UNTIL DONE JPUNCH LOWER BYTE JSWAP BYTES JLOOP UNTIL DONE  - 94 -  PTP 5: •  PTP8:  _  PTP0: PTP 1.:. PTP2I PTP 31 PTP6 5 PTP7 i CRR:  CRR0: CRR 1 i |  ORR.  DOAS $,PTP ISZ PTP2 ISZ PTP3 JMP PTP4 JSR PTP5 SKPDN PTP JMP .-I NI OC PTP LDA 3,PTP0 INTEN JMP 2,3 LDA 0,PTP6 STA 0,PTP7 SUB 0,0 SKPBZ PTP JMP .H DOAS 0,PTP ISZ PTP7 JMP PTP8 JMP 0,3 0 BLK 0 0, -200  0  STA 3,CRR0 LDA 2,0,3 LDA 0,0,2 LDA 1 A I A2 JSRS 13) LDA 0,§CRR1 COM 0,0 COM I ,J AND 0,1 COM 1,1 STA 1,§CRR1 DOB l,34_ LDA 3,CRR0 JMP 1,3 0 R.R.0 STA 3,CRR0 LDA 2,0,3 LDA 0,0,2 LDA 1A1A2 JSR§ 131 LDA 0,ftCRRI COM 1,J AND 0,1 STA J.,eCRRl  JPUNCH UPPER BYTE J.I NCREMENT POI NTER JINCREMENT AND CHECK COUNTER JCOUNTER NOT =0, PUNCH MORE DATA JDONE, PUNCH TRAILER ( JLOOP UNTIL DONE JCLEAR H.S.P.T.P. JTURN INTERRUPT ON JRETURN JLEADER/TRAILER SUBROUTINE JlNITIALIZE COUNTER JLOOP UNTIL DONE JPUNCH ONE BLANK /INCREMENT AND CHECK COUNTER JNOT=0* PUNCH ANOTHER BLANK J RETURN TO CALLING POINT JLOCATION OF FIRST BUFFER WORD J* OF LEADER/TRAILER PUNCHES JCLOSES REED RELAYS JGET CHANNEL #'S JGET CURRENT RELAY STATUS  JSTORE NEW RELAY STATUS JCLOSE SELECTED RELAYS JRETURN  JOPENS REED RELAYS JGET CHANNEL #»S JGET CURRENT RELAY STATUS JSTORE NEW RELAY STATUS  - 95 -  I  DOHl  DOH1 : J  DOL:  A.OUT:  A 00:  DOB 1,34 LDA 3*CRR0 JMP 1*3  JOPEN SELECTED RELAYS  STA 3,CRR0 LDA 2,0,3 LDA 0,0,2 LDA U U 2 JSR8 131 LDA 0,DOM1 COM 0,0 COM 1,1 AND 0. 1 DOA 1,34 COM 1,1 STA 1, DOHl LDA 3*CRR0 JMP 1,3 0  JSETS DIGITAL OUTPUTS HIGH  STA 3,CRR0 LDA 2,0,3 LDA 0,0,2 LDA 1*1*2 JSR© 131 LDA 0,DOH1 COM 1,1 AND 0,1 STA l",DOHl COM 1,1 DOA 1,34 LDA 3 J C R R 0 JMP 1,3  * SETS DIG i TAL OUTPUTS LOW  STA 3,AO0 LDA 2,0,3 LDA 0,0,2 LDA 1*1 ,.2 JSR8 131 DOA 1,42 LDA 3,AO0 LDA 2,1,3 LDA 0,0,2 LDA 1*1*2 JSR@ 131 DOB 1 ,42 LDA 3,AO0 JMP 2,3  JANALOG OUTPUTS  JRETURN  IGET CHANNEL #*S J GET CURRENT D.O. STATUS  JSET SELECTED OUTPUTS HIGH JST ORE NEW D.O. STATUS JRETURN  J GET CHANNEL # S #  J STORE NEW D.O. STATUS JSET SELECTED OUTPUTS LOW JRETURN  JGET CHANNEL 8 JOUTPUT CHANNEL 8  JGET THE VOLTAGE JOUTPUT THE VOLTAGE JRETURN  - 96 -  D.I NP*  DI N0* J I NT .P*  IP0* IP I * J _ XYSIZJ  XYSHi XYS1 1 XYS2* XYS3* XYS4* I  STA 3*D1N0 DIA 1,34 SUB 0,0 JSR® 133 LDA 3,DIN0 LDA 2,0,3 STA 0. 0.2 STA 1, 1 ,2 JMP 1,3 0 STA 3,IP0 LDA 2,0,3 LDA 0,0,2 LDA 1,1 *2 JSR® 131 STA 1,IP1 LDA a,TP0 JMP 1,3 0 0 STA 3,XYS0 LDA 2,0,3 LDA 0,0,2 LDA 1 * l *2 JSR.® 131 LDA 0,XYS1 ADD 0. 1 STA 1, XYS2 LDA 3,XYS0 LDA 2,1 ,3 LDA 0,0,2 LDA 1 * 1 *2 JSR® 131 LDA 0,XYS1 ADD 0, 1 STA 1, XYS3 LDA 3,XYS0 LDA 2,2,3 LDA 0,0,2 LDA 1*1*2 JSR® 131 STA 1,XYS4 LDA 3,XYS0 JMP 3,3 0 BLK 0 0 0  J.CHECK DIGITAL INPUTS JINPUT THE DATA  i. ST ORE DATA IN BASIC JRETURN JINTENSIFIES DISPLAY POINT JGET LOCATION OF POINT JSTORE LOCATION JRETURN  JSETS X-Y DISPLAY PARAMETERS JGET LOCATION OF FIRST X JSTART OF BUFFER AREA JSTORE ADDRESS OF FIRST X  JGET LOCATION OF FIRST Y  JSTORE ADDRESS OF FIRST Y  JGET 8 OF POINTS JSTORE 8 OF POINTS JRETURN  - 97 -  STA 3*XYS0 LDA 1*XYS2 STA X*XYDl LDA 1*XYS3 STA J.*XYD2 LDA 1*XYS4 STA UXYD3 LDA 1* 1PI STA 1*XYD8 XYD6 : LDA 0*§XYD1 LDA 1*@XYD2 SUB 2*2 SUBZL 3*3 DOA 2*42 DOB 0*42 DOA 3*42 DOB 1,42 NI 0 34 NIO 34 LDA 2*@XYD4 LDA 3*XYD9 COM 2*2 AND 2*3 DOA 3*34 COM 3*3 STA 3*8XYD4 DSZ XYD8 JMP A + 5 LDA i;*XYD5 STA 1*XYD7 ISZ XYD7 JMP • -1 LDA 2*3XYD4 LDA 3*XYD9 AND 2*3 STA 3*@XYD4 COM 3*3 DOA 3*34 ISZ XYD1 ISZ XYD2 DSZ XYD3 JMP XYD6 LDA 3*XYS0 JMP 0*3 XYD1 : 0 0 XYD2: XYD3I 0 XYD4» DOH1 XYD5 -300 XYD7: 0 XYD8: 0 XYD9: 177737 1 NTER: JMP 3*3 • END  XYD1S:  JX-Y 'SCOPE DISPLAY  JGET PARAMETERS FROM XYSIZ JGET X VALUE JGET Y VALUE JSELECT X (0) CHANNEL /OUTPUT X VOLTAGE /SELECT Y i l ) CHANNEL /OUTPUT Y VOLTAGE j . JWASTE TIME  JTURN BEAM ON /STORE NEW D.O. STATUS JDEC. AND CHECK INT.COUNTER  JINTENSIF1ER LOOP  JSTORE NEW D.O. STATUS /TURN BEAM /INCREMENT J INCREMENT /DECREMENT JNOT DONE*  OFF X POINTER Y POINTER AND CHECK COUNTER . DISPLAY NEXT POINT  JRETURN  JD.O.#32 FOR BLANKING  - 98 APPENDIX C  SIGNAL AVERAGING PROGRAM This section contains a l i s t i n g of the May 5, 1975 signal averaging program described i n Chapter 6.  This program i s written i n the BASIC  language which i s f u l l y described i n "An Introduction to Basic"^! This manual does not mention the C a l l instruction, however. This particular instruction has been discussed i n Chapter 4 C). The apparatus with which this program i s intended to operate has been shown i n Figure 8.  - 99 -  5 DIM AC250],BC250] 10 RESTOR 11 READ 02*03,04,05*06,07,08 12 REM LOWER ,UPPER LIMITSJ 5 PARAMETERS 13 DATA 0, 80, 1.4238, .01521,-2 .5411E-5, 8.2242E-9,-9.8533E-1 I 1 5 LET 01=0 20 LET C= 0 21 CALL I 2 5 PR I NT "ORDER #="J 26 I NPUT C9 27 PRINT 2 8 PR I NT "W.D.="J 2 9 INPUT D 30 LET D = INT (200*D+.5> 31 CALL 10, INT (D/2+.5) 32 PR I NT 35 CALL 14,1 37 DEF FNE(F)=C4+F*C5+F*F*C6+F*F*F*C7*F*F*F*F*C8 38 CALL 5, 0,2000 48  49 50 51 52 53 54 55 60 61 62 63 64 65 66 67 68 69 70 71 72 75 80 81 82 83 84 85 86 87 88 89 90  ^ ^ ^ ^ ^ i | c i | c 4 c ^ ^ ^ s * c 4 ( ) « c ^ ^ j « c ^ ^ ^ % ^ ^ ^ * ^ ^ i k « ^ ^ ^ ^ 3 | e ^ ^ ^ * ^ ^ ^ * ^ « ^ * * 4 c 4 c  REM  REM MAIN PROGRAM LOOP - IDLE MODE PRINT " S « CALL 9,32768,DI IF DI= 0 GOTO 55 CALL 20,1 GOTO 60 ' CALL 21,1 CALL 9,32767,01 IF DI =1 GOTO 80 IF DI =2 GOTO 82 IF DI =4 GOTO 84 IF DI=8 GOTO 86 IF Dl=16 GOTO 88 IF DI =32 GOTO 90 IF DI =64 GOTO 92 IF DI=128 GOTO 94 IF DI=256 GOTO 96 IF DI=512 GOTO 98 IF DI=1024 GOTO 100 IF DI=16384 GOTO 102 GOTO 51 GOSUB 380 GOTO 104 GOSUB 200 GOTO 104 GOSUB 360 GOTO 104 GOSUB 390 GOTO 104 GOSUB 560 GOTO 50 GOSUB 650 M  - 100 -  91 GOTO 104 92 GOSUB 450 93 GOTO 104 94 GOSUB 460 95 GOTO 104 96 GOSUB 410 97 GOTO 104 98 GOSUB 510 99 GOTO 104 100 GOSUB 470 101 GOTO 104 102 LET D2=l 103 GOTO 120 104 PRINT 105 GOTO 50 118 REM ****************************************** 119 REM PAUSE LOOP 120 LET D3=D 121 IF Cl> 0 GOTO 124 122 PRINT "WHY PAUSE WITHOUT DATA?" 123 GOTO 50 124 PR1NT 125 CALL 9,32768,DI 127 IF DI> 0 GOTO 130 128 CALL 21,1 129 GOTO 135 130 CALL 20,1 135 CALL 9,16383,DI 136 IF DI=1 GOTO 180 137 IF DI=8192 GOTO 182 1 38 IF DI =64 GOTO 184 139 IF DI=128 GOTO 186 140 IF Dl=256 GOTO 188 141 IF DI=512 GOTO 190 142 FOR H7= 0 TO 10 143 CALL 6 144 NEXT H7 145 CALL 9,16384,DI .146 IF DI > 0 GOTO 155 147 IF D2=l GOTO 50 148 GOTO 165 155 CALL 2,1,D4,D5 156 CALL 24, I NT (D4/16+.5) 157 LET G5= INT (D4/16+.5) 158 CALL 5, 0,F+1 159 CALL 6 160 GOTO 125 165 IF D3=D GOTO 274 166 LET D7=D3-50 167 GOSUB 340 168 LET D7=D3 169 GOSUB 340  -  170 160 181 182 183 184 185 186 187 190 191 196 198 199 200 201 202 203 204 205 206 207 208 209 210 21 1 212 213 214 215 216 217 219 220 221 222 223 224 225 230 231 232 233 234 235 236 237 238 239 240 241 242  101 -  GOTO 274 GOSUB 380 GOTO 125 GOSUB 490 GOTO 125 GOSUB 450 GOTO 125 GOSUB 460 GOTO 125 GOSUB 510 GOTO 125 RETURN REM ************************************** REM SIGNAL AVERAGING LOOP PR I NT PRINT "START J INC* #OF INC'S.* #OF AVR'S* T IN MS* INPUT D8*D9*F*F1*F2 IF F2< 0 GOTO 200 IF F<!000 GOTO 208 PRINT "# OF INC'S<1000* NEW VALUE="J I NPUT F PRINT LET F7= 0 PRINT LET F3=2 IF F<=250 GOTO 214 CALL 5* 0*F+l LET F3 = l LET D2= 0 LET D8= INT <200*D8+.5) LET D9= INT (200*D9+.5) LET Cl=1 CALL 21*1 FOR FA= 0 TO Fl-1 LET D7=D8-50 GOSUB 340 LET D7*D8 GOSUB 340 CALL 24*F7+1 FOR F5="0 TO F IF F5= 0 GOTO 234 CALL 20*1 GOTO 235 CALL 21*1 LET D5= 0 LET D7=D8+(F5+1)*D9 CALL 13*2,F2* 0*D4*D5 CALL 24*F5+F7+2 IF D5= 0 GOTO 242 PRINT "OVERLOAD" GOTO 260 CALL 8*F5*F6  - 102 -  243 245 246 250 251 252 260 261 262 263 264 265 2J0 271 272 273 274 276 277 280 285 290 291 292 293 294 300 301 302 303 30 5 3.10 311 315 316 317 320 321 338 339 340 341 342 343 344 345 346 347 348 349 350 351  CALL 7,F5,(F6*F4+D4)/<F4+1> CALL 7,F5+1000,D4 CALL 5,F7,F+1 IF F3=l GOTO 260 LET A[F5] = (ACF5]*F4+D4)/<F4+I ) LET BCF5] = <B[F5]*F4+D4*D4)/(F4 + 1 ) CALL 9,32767,DI IF DI=16384 GOTO 120 IF DI=4096 GOTO 310 IF Dl=1024 GOTO 320 IF DI=512 GOTO 220 IF DI=256 GOTO 272 LET F7= 0 GOTO 273 LET F7=1000 G OS LIB 340 NEXT F5 CALL 21,1 IF DI=2048 GOTO 315 NEXT F4 PR I NT '•Fl NI SHED" IF F3=l GOTO 293 IF F4>3 GOTO 300 LET F3=l PRINT "NO STANDARD DEVIATIONS* RETURN FOR D6= 0 TO F LET F8 = SQR ((BCD6]-ACD6]*A[D6"I)/F4) CALL 7,D6+F+I,F8 NEXT D6 RETURN PRINT "TERMINATED AT"JF4J"SCANS" GOTO 290 PR I NT "STOPPED SHORT AT"JF4+I J"SCANS'* LET F4=F4+1 GOTO 290 PRINT "SCANS C0MPLETED="JF4 GOTO 274 REM  ************************4:***** ( *it *)t,*** ( **** 1  [  ;  J  [  REM MOVE SPECTROMETER LET D6=D LET D=D7 CALL 4,D-D6,F8 IF F8= 0 GOTO 352 IF F8 = I GOTO 350 IF F8=2 GOTO 348 PRINT "FATAL ERROR .BOTH LIMITS. . .CHECK SYSTEM" STOP PR I NT 'FATAL ERROR ...UPPER LIMIT" STOP . PR I NT 'FATAL ERROR .. .LOWER LIMITSTOP  + + +  <  ,^ * +  BC* iCfr IG*  o i o o 8J>eo J | 92* 0100 0 >20 J l SZtr 0100 08* ZD J l \rZV <20>3NJ = C0 131 C2fr 6i=20 131 22* l « 9 0 131 12* 19=8J 131 02* • C I ' M 01 H10N313AVW 1H3AN00 W3H 6lfr NHni3U Sl> M r 0 f » « 3 M IN 1 Hd frl> 10/S8 # 6C21"0 131 e i > 60/<6J)3NJ =10 131 2l> 6J IfiefN I I I tr  I0fM«H10N313AVrt  •a*rt 1H3AN00  f M=*C1* M « IN I Hd 01b1  W3H  60b1  NHfll3H 86C -VIVO ON.. INlHd Z.6C V . NHfU3H 96C •.SN0I1VIA30 OHVONVIS 0 N » IN I Hd S6C NHIU3H I/6G M a3H0Nnd 0 N 0 i i v i A 3 a aavaNvis.. iNiHd C6G S6C 0100 \=£A J | 26G (l+J>*CJ'0 r l l 11V0 16G £6E 0100 0 =10 J l 06C VIVa HONfld W3M 68C ««««^«4cjtr4t4(4:4(4i4c4(a|c9tt4c^4c3»c4c4c4c4t4c4c4E4(4c4t4<3«c4e f: f:4tjtc )**** W3H 88C Nuni3u see QVZ ansoo * 8 e <S*+10*002) IN I = L0 131 C8G IN IHd 2BC ia indNi I8C r M 01 3H3HM.. IN I Hd 08G 3  •Q'ft  N3AI0 V 01  9  00  01  * « * * * * « * * * * * 4 c # * * * * * * * * * « * * « * * * * * * * 4 e 4 c * ) t c * * 4 c * * 4 c 4 ( 4 < * > t >  W3H  U3H  NHfll3H <UJ)*EJ*0 '91 11V0 1=10 131 IN I Hd G J indN I f „ ( l > ION HO (2) SN0UVIA3a OHVONVIS 3AVH 3dVl 3H1 S30a.. IN I Hd <S*+60*002) I N ! =60 131 <S*+80*002) IN I =80 131 19G 0100 0 >60 J l IN IHd 6 0 ' f r J * j ' 6 a c 8 a iridNi « # H30HO'S.HAV 03131dWOO JO #'S.ON| JO # * * ON I * 1HV1S.. IN I Hd « : 3 A 1 0 ONV 3dVl aVOl ' i n d N l VIVO 3dVl H3dVd.. IN I Hd indNI VIVO 3dVl H3dVd W3H t . * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * * *  W3H  NHD13H  -  £0T -  6 L Z  81G  9iE SAG VL£  2/.G I Lt 0i.G 99G S9G *9E G9G 29G 1 9G 09G 6SG BSE  2SG  - 104 -  427 428 430 431 432 434 435 436 437 438 448 449 450 451 452 453 454 455 458 459 460 461 462 463 464 46 5 466 469 470 471 472 473 474 477 478 479 460 481 486 489 490 491 492 493 494 495 498 499 500 501 502 503  LET G2=G2-D6 GOTO 423 IF D6<=.005 GOTO 435 LET G2=G2+D6 LET D6=D6/2 GOTO 423 LET F9=G2 RETURN PRINT "OUT OF RANGE" RETURN REM ******************************************* REM CONVERT WAVELENGTH PRINT "WAVELENGTH""J INPUT Gl LET G1=G1*C9 GOSUB 420 PRINT " W.D.* JF9J" E= J 1239 .85/G 1 RETURN REM *************************************** REM CONVERT E PRINT ^E(MEV) ="J INPUT G LET Gl=1239 .85*C9/Q GOSUB 420 PRINT ** W.D.="JF9J WAVELENGTH= JG 1 /C9 RETURN REM ******************************************* REM CALLIBRAT I ON REVISION PRINT "CALLIBRATION REVISION" PRINT PRINT "GIVE WAVELENGTH, NEW W.D. AND ORDER #" INPUT Gl,F9,G4 LET G2= FNE(F9)/G4 LET G3=G1-G2 LET C4=C4+G3 LET C5=C5+2*C6*G3/C5 PRINT " NEW PARAMETERS="tC4*C5 RETURN REM ********************************************* REM INTENSIF I ED POINT PARAMETERS LET F9=(D8+D9*(G5-1)>/200 LET Gl= FNE(F9)/C9 LET G = 1239,85/GI CALL 8,G5-V,D6 PRINT "W.D.="JF9;" E="JGr* WAVELENGTH*"JG1J" V="iD6/1638.4 RETURN REM ********************************************* REM CONVERT POWER TO LOCATION IF G8>1 .2 GOTO 504 IF G8< .01 5 GOTO 504 LET G9= INT (20 I 6 -G8*l 052 ) RETURN M  M  M  m  J 01 0 = 8J HOJ CIS 0100 91 = 90 J l 2^.9 9a 9i'6 n v o us 0 11 n v o 0 i s 029 SnSOO 999 019 0100 999 009 8flS00 *99 99S 0100 2=EJ JI £99 NHfU3H 299 ..viva ON » IN I ad 19S E9S 0100 0 < 10 AI 09S 'O-M SA VIVO l O l d W3H 699 ****************************************** W3H 899 NHni3H 8*9 f.... INIHd i f S 60= iO 131 9fr9 90 1X3N 9*9 0009' I'E 11V0 fr*9 9i'i2iivo e>9 0 0 0 9 ' I ' E 11 VO 2fr9 91'02 11 VO 1*9 60-10 01 1 = 9a HOJ 0*9 NHni3H 6C9 INIHd 8E9 60=10 131 £E9 90 1X3N 9E9 0 0 0 0 1 ' I ' E 11V0 9E9 91 '12 11V0 *E9 009i't'e n v o ec9 91'02 11VO 2C9 10-60 01 1 = 90 HOJ IC9 0*9 010 0 0 >10-60 J l 0E9 H010W H3SV1 3A0W W3H 629 ********************************************* W3M 829 NHfll3H E29 0E9 8nS0 0 229 009 SnSOO 129 IN I Hd 029 80 IHdNI 619 f « = d . . IN I «d 8(9 INIHd ITS 002*90=LD 131 9 19 219 0100 0 >9a Al 919 219 0100 0 K 9 O Al *19 . 90 IHdN I £ IS f..=XX*X 0NIOV3H IV10 H3SV1 1N3HHF10 3AI0.. INIHd 219 1 = 0 131 I IS 819 0100 0 <0 J l 019 H3M0d 03HIS30 IfldN I W3H 60S ******************************************** W3M 80S US  r  R  - SOT -  NHDISH  S0S  -30NVH SaiSlflO d« INIHd  *09  - 106 -  574 575 576 577 578 579 580 585 586 587 588 589 590 591 598 599 600 601 602 603 604 605 606 607 608 609 6.1.0 61.1 61.2 61.8 619 620 621 622 623 624 625 626 627 628 629 630 631 632 633 634 635 640 641 642 643  CALL 9*16*D6 IF D6> 0 GOTO 571 CALL 8,F8,H4 IF F3=2 GOTO 585 CALL 12*-1600+F8*3200/F,H2*(H3+H4> CALL 11*1 GOTO 589 CALL 8*F8+F+1*H5 CALL 12,-1600+3200*F8/F*H2*(H3+H4+H5) CALL 11,T CALL 12*-1600+3200*F8/F*H2*(H3+H4-H5) CALL 11 * 0 NEXT F8 RETURN REM ***************************************** REM SIZES BUFFER WITHOUT S.D. LET H=200000 LET HI=-200000 FOR D6= 0 TO F CALL 8*D6*G4 IF H<G4 GOTO 606 LET H=G4 IF H1>G4 GOTO 608 LET H1=G4 NEXT D6 LET H2=2400/(H1-H> LET H3 = (H1 *H>/(-2> PRINT "PEAK TO PEAK V=" J (HI -H) / I 6 38 .4 RETURN REM ********************************************** REM SIZES BUFFER WITH S.D. LET H=200000 LET HI=-200000 LET G2=200000 LET G3=-200000 FOR D6= 0 TO F CALL 8*D6*H4 CALL 8*D6+F+1*H5 IF H<H4-H5 GOTO 629 LET H=H4-H5 . ... IF Hl>H4+H5 GOTO 631 LET H1=H4+H5 IF G2<H4 GOTO 633 LET G2=H4 IF G3>H4 GOTO 635 LET G3=H4 NEXT D6 PRINT "PEAK TO PEAK V="j(HI-H)/I 638 .4 LET H2=2400/(H1-H) LET H3=(H1+H)/(-2) RETURN  - 107 -  648 REM ****************************************** 649 REM PLOT VS ENERGY 650 IF Cl> 0 GOTO 655 651 PRINT "NO DATA" 652 RETURN 655 LET H6=.I239.85*C9/ FNE((D8+F*D9)/200> 658 LET H7=1239.85*09/ FNE(D8/200) 660 PRINT "LOWEST E="JH6i" HIGHEST E="JH7 661 PR I NT 662 PRINT "ENTER LOWER AND UPPER E LIMITS AND I NCR. FOR X AXIS" 663 INPUT H8,H9,l 664 LET 14= 1 NT ((H9-H8)/I+.5) 66 5 FOR D6= 0 TO 14 666 CALL 12,C-1600+D6*3200/I4)*.67,(-1250)*.55 66 7 CALL 11*1 668 CALL 1.2 , ( -.1.600 +D6*3200 /14)*.67,(-1200)*.55 669 CALL 12,(-I600+D6*3200/I4)*.6 7,(-1250)*.55 670 NEXT D6 671 FOR D6= 0 TO 14 672 CALL 1.2 ,( - .1.600 + ( 14 -D6 ) *3200 /! 4)*.67,( 1.250 ) * .55 673 CALL .1.2, ( -.1.600+ < 1 4-D6) *3200/l 4) * .67, (.1.200) * .55 674 CALL 12,(-1600+(I4-D6)*3200/14)*.67,(I250)*.55 675 NEXT D6 676 CALL .1.2,(-1600)*.67,(-1250)*.55 677 CALL II) 0 678 LET I2=3200/(H9-H8) 679 LET I3=1600/I2-H9 680 IF F3=2 GOTO 685 681 GOSUB 600 682 GOTO 690 685 GOSUB 620 690 CALL 9,32,D6 691 IF D6> 0 GOTO 690 692 FOR F8= 0 TO F 693 CALL 9,32,D6 694 IF D6> 0 GOTO 690 695 LET I 1=1239 .85*C9/ FNE((D8+F8*D9)/200) 696 CALL 8,F8,H4 697 IF I 2* ( I 3+I.!.)<=.! 600 GOTO 7.10 698 IF I2*(I 3+11)>T600 GOTO 710 699 IF F3=2 GOTO 705 700 CALL 12,CI2*(I3+I1))*.67,(H2*(H3+H4))*.55 701 CALL 11,1 702 GOTO 709 705 CALL 8,F8+F+1,H5 706 CALL 12,(I2*(l1 + I 3))*.67,(H2*(H3+H4+H5))*.55 707 CALL 11,1 708 CALL 12,(I2*(I1 + I 3))*.67,(H2*(H3+H4-H5))*.55 709 CALL 11,0 • 7.10 NEXT F8 711 RETURN  

Cite

Citation Scheme:

        

Citations by CSL (citeproc-js)

Usage Statistics

Share

Embed

Customize your widget with the following options, then copy and paste the code below into the HTML of your page to embed this item in your website.
                        
                            <div id="ubcOpenCollectionsWidgetDisplay">
                            <script id="ubcOpenCollectionsWidget"
                            src="{[{embed.src}]}"
                            data-item="{[{embed.item}]}"
                            data-collection="{[{embed.collection}]}"
                            data-metadata="{[{embed.showMetadata}]}"
                            data-width="{[{embed.width}]}"
                            async >
                            </script>
                            </div>
                        
                    
IIIF logo Our image viewer uses the IIIF 2.0 standard. To load this item in other compatible viewers, use this url:
http://iiif.library.ubc.ca/presentation/dsp.831.1-0093243/manifest

Comment

Related Items