Open Collections

UBC Theses and Dissertations

UBC Theses Logo

UBC Theses and Dissertations

Characterization and fabrication of surface junctions with application to photovoltaic energy conversion Camporese, Daniel Stefen 1986

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

Item Metadata

Download

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

Full Text

c CHARACTERIZATION AND FABRICATION OF SURFACE JUNCTIONS WITH APPLICATION TO PHOTOVOLTAIC ENERGY CONVERSION by DANIEL STEFEN CAMPORESE B.A.Sc, The U n i v e r s i t y of B r i t i s h Columbia, 1979 A THESIS SUBMITTED IN PARTIAL FULFILLMENT OF THE REQUIREMENTS OF THE DEGREE OF DOCTOR OF PHILOSOPHY i n THE FACULTY OF GRADUATE STUDIES Department of E l e c t r i c a l E n g i n e e r i n g We accept t h i s t h e s i s as conforming to the r e q u i r e d standard THE UNIVERSITY OF BRITISH COLUMBIA March 1986 © D a n i e l S. Camporese In presenting t h i s thesis i n p a r t i a l f u l f i l m e n t of the requirements for an advanced degree at the University of B r i t i s h Columbia, I agree that the Library s h a l l make i t f r e e l y available for reference and study. I further agree that permission for extensive copying of t h i s thesis for scholarly purposes may be granted by the head of my department or by his or her representatives. I t i s understood that copying or publication of t h i s thesis for f i n a n c i a l gain s h a l l not be allowed without my written permission. The University of B r i t i s h Columbia 1956 Main Mall Vancouver, Canada V6T 1Y3 Date DE-6 (3/81) i i ABSTRACT The c e n t r a l t o p i c of t h i s t h e s i s i s the semiconductor s u r f a c e j u n c t i o n of which two types w i l l be d i s c u s s e d here: the m e t a l - i n s u l a t o r - s e m i c o n d u c t o r (MIS) j u n c t i o n and the i n s u l a t o r charge-induced (ICI) j u n c t i o n . These j u n c t i o n s are i n v e s t i g a t e d by c o r r e l a t i n g t h e o r e t i c a l models f o r these d e v i c e s with measurements performed on d e v i c e s f a b r i c a t e d in the l a b o r a t o r y . The MIS j u n c t i o n i s formed when a metal i s d e p o s i t e d on a semiconductor which has had a t h i n i n s u l a t o r formed on i t s s u r f a c e . The i n s u l a t o r i s so t h i n that t u n n e l i n g of e l e c t r o n s between the metal and semiconductor i s p o s s i b l e . A d i f f e r e n c e i n work f u n c t i o n between the metal and the semiconductor w i l l produce a f i e l d i n the semiconductor. A metal with the a p p r o p r i a t e work f u n c t i o n w i l l produce i n v e r s i o n of the semiconductor s u r f a c e . The t h i n i n s u l a t o r reduces the normal thermionic emission c u r r e n t which flows between the metal and the semiconductor. I f the semiconductor s u r f a c e i s i n v e r t e d , fewer m a j o r i t y c a r r i e r s than m i n o r i t y c a r r i e r s are a v a i l a b l e to flow i n t o the metal. In t h i s work, the r a t i o of net m i n o r i t y to m a j o r i t y c a r r i e r c u r r e n t flows i s measured to e s t a b l i s h that MIS j u n c t i o n s can be dominated by m i n o r i t y c a r r i e r c u r r e n t s thus making t h e i r e l e c t r i c a l p r o p e r t i e s very s i m i l a r to those of a standard pn j u n c t i o n diode. T h i s hypothesis i s demonstrated by using the MIS j u n c t i o n to form the c o l l e c t o r s and e m i t t e r s of b i p o l a r t r a n s i s t o r s . These t r a n s i s t o r s t r u c t u r e s are a l s o used to measure the m i n o r i t y c a r r i e r l i f e t i m e i n the t r a n s i s t o r base. The ICI j u n c t i o n i s formed when an i n s u l a t o r i s d e p o s i t e d on a semiconductor. The n a t u r a l l y - o c c u r i n g p o s i t i v e charge i n the i n s u l a t o r produces a f i e l d i n the semiconductor. For i n s u l a t o r charge of a p a r t i c u l a r s i g n , the semiconductor doping type can be chosen such that the semiconductor s u r f a c e i s i n v e r t e d by the i n s u l a t o r charge. A n a l y s i s of t h i s type of j u n c t i o n i s performed using MOS c a p a c i t o r techniques. In order to produce a u s e f u l d e v i c e , c o n t a c t to the i n v e r s i o n l a y e r under the i n s u l a t o r must be made with another type of j u n c t i o n . In t h i s work, the MIS j u n c t i o n i s p l a c e d beside the ICI j u n c t i o n to co n t a c t the i n v e r s i o n l a y e r . The r e s u l t i n g d e v i c e can be very u s e f u l as a high e f f i c i e n c y solcir c e l l (known as an i n v e r s i o n l a y e r s o l a r c e l l ) s i n c e the ICI j u n c t i o n can be designed to couple l i g h t e f f i c i e n t l y i n t o the semiconductor and the j u n c t i o n i s at the s u r f a c e , where most of the short wavelength photons are absorbed. A simple quasi-two dimensional model f o r the i n v e r s i o n l a y e r c e l l i s presented and the r e s u l t s of t h i s model are used to determine the f a c t o r s l i m i t i n g the e f f i c i e n c y of these s o l a r c e l l s . A c t u a l i n v e r s i o n l a y e r s o l a r c e l l s with e f f i c i e n c i e s as high as 14% have been f a b r i c a t e d u sing a unique shadow mask technology developed d u r i n g t h i s work. i v TABLE OF CONTENTS PAGE LIST OF FIGURES v i i i LIST OF TABLES XVi LIST OF SYMBOLS x v i i i ACKNOWLEDGEMENT xxi CHAPTERS 1. I n t r o d u c t i o n 1 2. Measurement Techniques 8 2.1 Wafer Probe S t a t i o n 10 2.2 C u r r e n t - t o - V o l t a g e Converters 13 2.3 Computer I n t e r f a c e to Measurement E l e c t r o n i c s 17 3. The MIS Diode 19 3.1 Basi c Diode Theory 19 3.1.1 Conventional J u n c t i o n Diodes 20 3.1.2 MIS Diodes 24 3.2 MIS Diode F a b r i c a t i o n 33 3.3 Reverse Bias Capacitance Measurement 34 3.4 Dark C u r r e n t - V o l t a g e C h a r a c t e r i s t i c 42 3.4.1 Semiconductor-Limited Regime 42 3.4.2 T u n n e l - L i m i t e d Regime 51 3.4.2.1 E f f e c t of Metal Work Function 51 3.4.2.2 E f f e c t of Oxide Thickness 60 PAGE 4. The MIS B i p o l a r T r a n s i s t o r 63 4.1 Theory of the B i p o l a r T r a n s i s t o r and Base-Width Modulation 63 4.2 Determination of M i n o r i t y C a r r i e r L i f e t i m e 73 4.3 Determination of M i n o r i t y C a r r i e r I n j e c t i o n R a t i o 82 4.3.1 Wide Base T r a n s i s t o r s 83 4.3.2 Implanted-Base T r a n s i s t o r s 84 4.3.3 E p i t a x i a l - B a s e T r a n s i s t o r s 90 4.3.4 P o l y s i l i c o n E m i t t e r T r a n s i s t o r s 92 5. The ICI J u n c t i o n 99 5.1 Basic MOS C a p a c i t o r Theory 99 5.2 Surface State D e n s i t y and Surface Recombination V e l o c i t y 104 5.3 Experimental Determination of I n s u l a t o r Charge 108 5.4 Experimental Determination of Surface Recombination V e l o c i t y 117 6. The I n v e r s i o n Layer S o l a r C e l l 125 6.1 E l e c t r o s t a t i c s of the ICI Surface J u n c t i o n 127 6.2 Computer Model 133 6.2.1 Model f o r Current Flow Along the I n v e r s i o n Layer 135 6.2.2 Model f o r Current C o l l e c t i o n by Metal Contact G r i d 141 6.3 E x t r a c t i o n of Parameters f o r I n v e r s i o n Layer C e l l Model 143 6.3.1 Photocurrent D e n s i t y 144 6.3.2 MIS Contact Dark Current 144 v i PAGE 6.3.3 Co n c e n t r a t i o n of Acceptor I m p u r i t i e s 145 6.3.4 Charge D e n s i t y i n the I n s u l a t o r 145 6.3.5 Surface Recombination V e l o c i t y 145 6.3.6 E l e c t r o n L i f e t i m e 147 6.3.7 Channel M o b i l i t y 147 6.3.8 Bulk S e r i e s R e s i s t a n c e 150 6.4 Model C a l c u l a t i o n s 150 6.4.1 E f f e c t of F i n g e r Spacing 150 6.4.2 E f f e c t of Oxide Charge 154 6.4.3 E f f e c t of Surface Recombination 156 6.4.4 E f f e c t of Tunnel R e s i s t a n c e 156 6.4.5 E f f e c t of Sub s t r a t e R e s i s t i v i t y 159 6.4.6 E f f e c t of C o l l e c t i o n G r i d R e s i s t a n c e 162 6.5 F a b r i c a t i o n of I n v e r s i o n Layer S o l a r C e l l s 164 6.5.1 P h o t o l i t h o g r a p h i c a l l y Defined G r i d P a t t e r n 164 6.5.2 Metal Shadow Mask 168 6.5.3 S i l i c o n Shadow Masks 170 7. Summary and Conclus i o n s 179 APPENDICES A. F a b r i c a t i o n Schedules 184 A.1 Basic Procedures 184 A.1.1 Wafer C l e a n i n g 184 A. 1.2 Vacuum Ev a p o r a t i o n 185 A. 1.3 Thin Oxide Growth 186 A.1.4 Thick Oxide Growth 187 A.1.5 S i l i c o n N i t r i d e D e p o s i t i o n 187 A.1.6 P h o t o l i t h o g r a p h i c P a t t e r n i n g 188 v i i PAGE A. 1.6.1 Negative R e s i s t f o r Oxide Windows 188 A.1.6.2 P o s i t i v e R e s i s t f o r Metal E t c h i n g 189 A.1.6.3 P o s i t i v e R e s i s t f o r Metal L i f t o f f 189 A.1.7 Wafer Thinning and P o l i s h i n g 191 A. 2 Device F a b r i c a t i o n Sequences 193 A.2.1 MIS Diode 193 A.2.2 MOS C a p a c i t o r 193 K.2.2 MOSFET D i a g n o s t i c Device 194 A.2.4 MIS B i p o l a r T r a n s i s t o r 194 A.2.4.1 Thick Base T r a n s i s t o r 194 A.2.4.2 Implanted Base T r a n s i s t o r 195 A.2.4.3 E p i t a x i a l Base T r a n s i s t o r 196 A.2.5 S i l i c o n Mask 196 A. 2.6 I n v e r s i o n Layer S o l a r C e l l 197 A.2.6.1 P h o t o l i t h o g r a p h i c a l l y Defined C o l l e c t i o n G r i d 197 A.2.6.2 S i l i c o n Shadow Mask Defined C o l l e c t i o n G r i d 198 B. Software L i s t i n g s and Program D e s c r i p t i o n s B. 1 I l C e l l - I n v e r s i o n Layer C e l l Model 199 B. 1.1 I l G r i d - Two-Dimensional C o l l e c t i o n G r i d Model 221 B.2 Analo g P l o t - Realtime Data A q u i s i t i o n and P l o t t i n g 241 REFERENCES 295 v i i i LIST OF FIGURES FIGURE PAGE 1.1. P h y s i c a l S t r u c t u r e f o r Formation of a) an MIS J u n c t i o n and b) an ICI J u n c t i o n . 2 1.2. Band Diagram f o r a) MIS J u n c t i o n and b) ICI J u n c t i o n on P-Type Semiconductor. 3 2.1. Block Diagram of Measurement Setup. 9 2.2. Schematic of Temperature C o n t r o l l e r E l e c t r o n i c s . 1 1 2.3. Schematic of C u r r e n t - t o - V o l t a g e C o n v e r t e r s . 14 3.1. E q u i l i b r i u m Band Diagram f o r an a) MS (Schottky) J u n c t i o n and b) MIS J u n c t i o n on P-Type Semiconductor. 26 3.2. Band Diagram f o r an MIS J u n c t i o n on a P-Type Semiconductor - Forward B i a s . 29 FIGURE ix PAGE 3.3. Determination of Substrate Doping and Contact P o t e n t i a l f o r Aluminum MIS Diodes on 10 and 2 ohm-cm R e s i s t i v i t y p-Type S i l i c o n . Measurement Frequency = 1000 Hz. 36 3.4. C a l c u l a t e d B a r r i e r Heights f o r Aluminum and Magnesium MIS Diodes. E f f e c t of Substrate R e s i s i t i v i t y and Oxide Growth Temperature. 40 3.5. C a l c u l a t e d versus A c t u a l B a r r i e r Height f o r P-Type S i l i c o n , N. = 7 X 1 0 1 5 cm" 3. 41 A 3.6. Forward Bias Dark Current D e n s i t y f o r Aluminum MIS Diodes on Va r i o u s R e s i s i t i v i t y P-Type S i l i c o n . T = 20°C. 44 3.7. Forward Bias Dark Current D e n s i t y f o r Magnesium MIS Diodes on V a r i o u s R e s i s t i v i t y P-Type S i l i c o n . T = 20°C. 45 3.8. Forward Bias Dark Current D e n s i t y f o r Magnesium MIS Diodes on 0.1 ohm-cm P-Type S i l i c o n . E f f e c t of V a r y i n g O x i d a t i o n Temperature. T = 20°C. 49 FIGURE x PAGE 3.9. Measured Forward Bi a s Dark Current D e n s i t y f o r Aluminum and Magnesium MIS Diodes on (a) 10 ohm-cm and (b) 2 ohm-cm P-Type S i l i c o n . 53 3.10. Switching Time Measurement - a) Measurement Setup, b) T y p i c a l Shape of Output S i g n a l . 55 3.11. Model C a l c u l a t i o n of Forward Bias Dark Current D e n s i t i e s f o r Aluminum and Magnesium on (a) 10 ohm-cm and (b) 2 ohm-cm P-Type S i l i c o n . 3.12. Comparison of Measured (marks) and C a l c u l a t e d ( s o l i d l i n e ) Forward Bias Dark Current D e n s i t i e s f o r Aluminum and Magnesium MIS Diodes on (a) 10 ohm-cm and (b) 2 ohm-cm P-Type S i l i c o n . Measured Data i s from F i g . 3.9 and C a l c u l a t e d Data i s from F i g . 3.11, c o r r e c t e d f o r a S e r i e s 2 Re s i s t a n c e of 0.02 ohm-cm . 59 Model Parameters given i n Table 3.4. 58 4.1. a) Current Flows i n an NPN T r a n s i s t o r and b) E f f e c t of B a s e - C o l l e c t o r Bias on M i n o r i t y C a r r i e r C o n c e n t r a t i o n s i n an NPN T r a n s i s t o r . 65 Simple Model f o r E f f e c t s of Base Spreading R e s i s t a n c e . Wide Base T r a n s i s t o r Geometry f o r Determination of Bulk M i n o r i t y C a r r i e r L i f e t i m e by Base Width Modulation. Small S i g n a l Base and C o l l e c t o r Currents f o r Wide Base T r a n s i s t o r on 10 ohm-cm P-Type S i l i c o n . F a b r i c a t i o n Sequence and Device Geometry f o r Implanted-Base T r a n s i s t o r . SUPREM Simu l a t i o n of Va r i o u s Implant and Annealing C o n d i t i o n s . F a b r i c a t i o n Sequence and Device Geometry f o r E p i t a x i a l - B a s e T r a n s i s t o r . Common Emit t e r DC Gain of Magnesium and Aluminum Emitter T r a n s i s t o r s F a b r i c a t e d on the same E p i t a x i a l Wafer. DC and BWM Base and C o l l e c t o r Currents f o r Device P8 - No I n t e n t i o n a l I n t e r f a c i a l Oxide. DC and BWM Base and C o l l e c t o r Currents for Device P20 - I n t e n t i o n a l l y Grown I n t e r f a c i a l Oxide. Band Diagram f o r an MOS C a p a c i t o r with Non-zero Gate B i a s . E q u i v a l e n t C i r c u i t s f o r the MOS C a p a c i t o r -a) Simple Model, b) I n c l u s i o n of Surface S t a t e s , c) E q u i v a l e n t P a r a l l e l Capacitance and Conductance, d) E f f e c t of Surface P o t e n t i a l V a r i a t i o n s i n D e p l e t i o n . Capacitance-Voltage C h a r a c t e r i s t i c s f o r S i l i c o n Monoxide on S i l i c o n showing the E f f e c t of V a r i o u s Surface Treatments. o Capacitance-Voltage C h a r a c t e r i s t i c f o r 900 A S i l i c o n Monoxide F i l m on 2 ohm-cm P-Type S i l i c o n -a) J u s t F a b r i c a t e d , b) A f t e r 30 days. o Capacitance-Voltage C h a r a c t e r i s t i c f o r 600 A S i l i c o n N i t r i d e f i l m on 2 ohm-cm P-Type S i l i c o n - Immediatiately a f t e r F a b r i c a t i o n . Arrows I n d i c a t e B i a s Sweep D i r e c t i o n . FIGURE x i i i PAGE 5.6. Capacitance-Voltage C h a r a c t e r i s t i c o f o r 600 A S i l i c o n N i t r i d e f i l m on 2 ohm-cm P-type S i l i c o n - 30 Days a f t e r F a b r i c a t i o n . Arrows I n d i c a t e B i a s Sweep D i r e c t i o n . 118 5.7. Determination of Surface State D e n s i t y by Conductance versus Frequency Method - Weak I n v e r s i o n . 120 5.8. Determination of Surface State Density by G-f Method - D e p l e t i o n . 123 6.1. I n v e r s i o n Layer S o l a r C e l l Cross S e c t i o n 126 6.2. G r i d Geometry f o r a T y p i c a l I n v e r s i o n Layer S o l a r C e l l . 128 6.3 E l e c t r o s t a t i c s of the Insulator-Semiconductor S t r u c t u r e -a) Charge D e n s i t y , b) E l e c t r i c F i e l d , c) P o t e n t i a l . 130 6.4. C i r c u i t Model f o r a S e c t i o n of an I n v e r s i o n Layer S o l a r C e l l . 137 6.5. C o l l e c t i o n G r i d Geometry used i n the I n v e r s i o n Layer C e l l Computer Model. 142 X I V FIGURE PAGE 6.6. E f f e c t of Finger Spacing on C e l l E f f i c i e n c y - ILCELL Model C a l c u l a t i o n . 153 6.7. E f f e c t of I n s u l a t o r Charge on C e l l E f f i c i e n c y - ILCELL Model C a l c u l a t i o n . 155 6.8. E f f e c t of Surface Recombination on C e l l E f f i c i e n c y - ILCELL Model C a l c u l a t i o n . 157 6.9. E f f e c t of Tunnel R e s i s t a n c e on C e l l E f f i c i e n c y - ILCELL Model C a l c u l a t i o n . 158 6.10. I l l u m i n a t e d Diode Currents f o r 1 Sun and 10 Sun Current D e n s i t i e s Computed by A n a l y t i c Diode Model. 160 6.11. E f f e c t of Substrate R e s i s t i v i t y on. C e l l E f f i c i e n c y - ILCELL Model C a l c u l a t i o n . 161 6.12. E f f e c t of C o l l e c t i o n G r i d Metal Thickness on C e l l E f f i c i e n c y - ILCELL Model C a l c u l a t i o n . 163 6.13. A n i s o t r o p i c E t c h i n g Geometry f o r S i l i c o n Shadow Masks. 172 6.14. SEM Micrograph of Completed S i l i c o n Shadow Mask Viewed from Etched S i d e . 174 FIGURE xv PAGE 6.15. SEM M i c r o g r a p h of a) S i l i c o n Shadow Mask V i e w e d from P r o t e c t e d S i d e and b) E v a p o r a t e d M e t a l L i n e s O b t a i n e d w i t h t h e Shadow Mask. S l o t s and M e t a l L i n e s a r e A p p r o x i m a t e l y 11 Wide. 176 A.1. Wafer T h i n n i n g A p p a r a t u s . 192 x v i LIST OF TABLES TABLE PAGE 3.1. C a l c u l a t e d B a r r i e r Heights f o r Aluminum and Magnesium MIS Diodes Determined from Reverse Bias Capacitance Measurements. 38 3.2. Estimated I n j e c t i o n - D i f f u s i o n Dark Current D e n s i t y f o r Aluminum and Magnesium MIS Diodes. O x i d a t i o n Temperature = 500°C. Measurement Temperature = 20°C. 47 3.3. Estimated I n j e c t i o n - D i f f u s i o n Dark Current D e n s i t y and M i n o r i t y C a r r i e r L i f e t i m e s f o r Magnesium MIS Diodes on 0.1 ohm-cm P-Type S i l i c o n - E f f e c t of O x i d a t i o n Temperature. Measurement Temperature = 20°C. 50 3.4. M a t e r i a l P r o p e r t i e s used f o r MIS Model C a l c u l a t i o n . 56 3.5. E f f e c t of O x i d a t i o n Temperature on I n s u l a t o r Thickness f o r Aluminum MIS Diodes on 2 ohm-cm P-type S i l i c o n -Experimental and T h e o r e t i c a l R e s u l t s . 62 F a b r i c a t i o n D e t a i l s and Performace Parameters f o r Implanted-Base T r a n s i s t o r s . Measured DC Gains of E p i t a x i a l - B a s e T r a n s i s t o r s . I n j e c t i o n R a t i o C a l c u l a t e d f o r Aluminum E m i t t e r s Only. Measured DC and BWM Current Gains, C a l c u l a t e d I n j e c t i o n R a t i o s f o r P o l y s i l i c o n E m i t t e r T r a n s i s t o r s . E x p e r i m e n t a l l y Determined Parameters f o r S i l i c o n Monoxide and S i l i c o n N i t r i d e Thin F i l m s . Parameter F i t s to Aluminum and Magnesium MIS Diode Dark Current D e n s i t i e s f o r a V a r i e t y of S u b s t r a t e s . Substrate Dependent Parameters i n the In v e r s i o n Layer C e l l Computer Model. Channel Conductance of V a r i o u s S i z e s of MOSFETs U t i l i z i n g a S i l i c o n Monoxide Gate I n s u l a t o r . Standard Parameter Set Used f o r I n v e r s i o n Layer C e l l Model C a l c u l a t i o n . Comparison of Model C a l c u l a t i o n with A c t u a l C e l l C h a r a c t e r i s t i c s . Aluminum G r i d on 2 ohm-cm S i l i c o n . Performance of V a r i o u s C e l l s F a b r i c a t e d with S i l c o n Shadow Masks. xv i i i LIST OF SYMBOLS SYMBOL NAME COMMON UNITS 2 A Device Area m e,h * A _ , E f f e c t i v e Richardson's Constant f o r - 2 E l e c t r o n s , Holes A-m - 2 C D D e p l e t i o n Layer Capacitance F-m 2 -1 D n p E l e c t r o n , Hole D i f f u s i v l t y cm s E^ v Energy of the Conduction, Valence Band Edge eV E„ _ E l e c t r o n , Hole Quasi-Fermi L e v e l eV Fn, p E„.. Metal Fermi L e v e l eV FM E G Semiconductor Band Gap eV I Terminal Current A - 2 J D Diode Current D e n s i t y A-m - 2 J E l e c t r o n , Hole Current D e n s i t y A-m n,p 1 -2 J R G Recombination-Generation Current D e n s i t y A-m - 2 J Q D I n j e c t i o n - D i f f u s i o n Current D e n s i t y A-m - 2 JUPC Uncompensated Photocurrent A-m h Planck's Constant eV-sec k Boltzmann's Constant eV-°K L D i f f u s i o n Length f o r E l e c t r o n s , Holes m n,p xix SYMBOL NAME COMMON UNITS m n,p n,p N N C, V D, A N. S S q % Qr, ' S S S T V V W W, X < a J 5 th B Kg •3 -2 ,.-1 m eV -3 -3 -2 E f f e c t i v e Mass of E l e c t r o n s , Holes E l e c t r o n , Hole C o n c e n t r a t i o n m Density of St a t e s i n Conduction, Valence Band Net Donor, Acceptor Impurity C o n c e n t r a t i o n m I n t r i n s i c C a r r i e r C o n c e n t r a t i o n m Surface or I n t e r f a c e S t a t e D e n s i t y m E l e c t r o n i c Charge C In v e r s i o n Layer Charge D e n s i t y C-m D e p l e t i o n Layer Charge D e n s i t y C-m Surface or Metal Gate Charge Densi t y C-m I n s u l a t o r Charge D e n s i t y C-m Surface State Charge D e n s i t y C-m Surface Recombination V e l o c i t y m-s Absolute Temperature °K A p p l i e d B i a s V C a r r i e r Thermal V e l o c i t y _ m-s D e p l e t i o n Region Width m Width of Semiconductor Bulk or T r a n s i s t o r Base m Semiconductor Surface P o s i t i o n Coordinate m Common Base Current Gain Base Transport F a c t o r Common Em i t t e r Current Gain I n s u l a t o r Thickness Base Width Modulation Current R a t i o ( i / i u ) c D -2 -2 -2 -2 -2 -1 -1 XX NAME COMMON UNITS M i n o r i t y C a r r i e r I n j e c t i o n R a t i o or Emit t e r I n j e c t i o n E f f i c i e n c y I n s u l a t o r P e r m i t t i v i t y F-m 1 Semiconductor P e r m i t t i v i t y F-m 1 Semiconductor E l e c t r o n A f f i n i t y eV Metal Work Function eV B a r r i e r Height f o r E l e c t r o n s , Holes eV E l e c t r o n , Hole M o b i l i t y m 2V~ 1s~ 1 E l e c t r o n , Hole L i f e t i m e s T u n n e l l i n g P r o b a b i l i t y F a c t o r E l e c t r o s t a t i c P o t e n t i a l V Strong I n v e r s i o n P o t e n t i a l V Surface P o t e n t i a l ( R e l a t i v e to Bulk) V xxi • A C K N O W L E D G E M E N T The author wishes to acknowledge the help of a number of people who e a g e r l y o f f e r e d t h e i r knowledge, ideas and experience d u r i n g the execution of t h i s t h e s i s . In p a r t i c u l a r , the a s s i s t a n c e of P r o f . Lawrence Young, Peter Janega, and David J . Smith i s g r a t e f u l l y acknowledged. Timothy P. L e s t e r i s c r e d i t e d with the o r i g i n a l idea of the s i l i c o n mask. Throughout t h i s work N. Garry T a r r provided h e l p f u l t h e o r e t i c a l i n s i g h t and a s s i s t a n c e with f a b r i c a t i o n techniques. S p e c i a l thanks are reserved f o r Pro f . David L. P u l f r e y whose enthusiasm and i n s p i r i n g d i s c u s s i o n s made t h i s work a ple a s a n t and rewarding experience. The author a l s o acknowledges the s u b s t a n t i a l f i n a n c i a l support provided by the N a t u r a l Sciences and E n g i n e e r i n g Research C o u n c i l of Canada. 1 CHAPTER 1 I n t r o d u c t i o n B i p o l a r d e v i c e s i n which the j u n c t i o n appears at the i n t e r f a c e between a semiconductor and a metal are c a l l e d s u r f a c e j u n c t i o n d e v i c e s . The term s u r f a c e j u n c t i o n i m p l i e s that there i s an a p p r e c i a b l e f i e l d at the semiconductor s u r f a c e . I t i s t h i s f i e l d that produces the u s e f u l e l e c t r i c a l p r o p e r t i e s of these j u n c t i o n s which are the s u b j e c t of t h i s t h e s i s . The s u r f a c e j u n c t i o n s to be d i s c u s s e d are e s s e n t i a l l y of two types: the m e t a l - t h i n i n s u l a t o r - s e m i c o n d u c t o r (MIS) j u n c t i o n where the f i e l d i n the semiconductor i s produced by the work f u n c t i o n d i f f e r e n c e between the metal and the semiconductor, and the i n s u l a t o r charge-induced (ICI) s u r f a c e j u n c t i o n where the f i e l d r e s u l t s from a f i x e d charge i n a t h i c k i n s u l a t o r i n co n t a c t with the semiconductor. F i g . 1.1 shows the p h y s i c a l s t r u c t u r e of the two types of j u n c t i o n s and F i g . 1.2 shows c o n v e n t i o n a l band diagrams f o r the MIS and the ICI s u r f a c e j u n c t i o n s formed on a p-type semiconductor. The primary i n t e r e s t i n s u r f a c e j u n c t i o n s has come from the f i e l d of p h o t o v o l t a i c s . A p h o t o v o l t a i c c e l l produces power by s e p a r a t i n g the e l e c t r o n - h o l e p a i r s (EHPs) generated by Thin Oxide 10 - 30 A B a r r i e r Metal 2 0.1 - 1.0 urn V///////////X I n v e r s i o n - " ^ — J Layer z- Depletion Region 250 - 400 JLim Semiconductor t o .3 - 1. 0 jjm Ohmic Back Contact (a) Trapped Charge Deposited Insulator + + + + + + Semiconductor (b) Figure 1.1. P h y s i c a l S t r u c t u r e f o r Formation of a) an MIS J u n c t i o n and b) an ICI J u n c t i o n . 3 Metal Insulator Semiconductor Position Insulator Semiconductor (b) Figure 1 .2 . Band Diagram for a) an MIS and b) an ICI Junction on a P-Type Semiconductor. 4 photons absorbed i n the semiconductor. The s e p a r a t i o n of EHPs i s achieved by c r e a t i n g a f i e l d i n the semiconductor, normally by forming a pn j u n c t i o n . Thus, a p h o t o v o l t a i c or s o l a r c e l l i s e s s e n t i a l l y a diode, f a b r i c a t e d such as to allow l i g h t to penetrate the semiconductor. To achieve maximum photon power to e l e c t r i c a l power co n v e r s i o n e f f i c i e n c y i n a s o l a r c e l l , the EHPs must be generated i n the f i e l d r e g i on or near enough to the f i e l d r e g i o n that the m i n o r i t y c a r r i e r s can d i f f u s e to the f i e l d r e g i o n before recombining. The pn j u n c t i o n s o l a r c e l l i s f a b r i c a t e d with a shallow e m i t t e r at the f r o n t s u r f a c e s i n c e most of the EHP genera t i o n occurs near t h i s s u r f a c e [ 1 ] . The shallow e m i t t e r i s normally produced by d i f f u s i o n or ion i m p l a n t a t i o n r e s u l t i n g i n a h e a v i l y damaged, low l i f e t i m e s u r f a c e l a y e r from which EHPs cannot be separated before recombination occurs [ 2 ] . A s u r f a c e j u n c t i o n induced by e i t h e r a metal or i n s u l a t o r avoids t h i s problem s i n c e the f i e l d r e g i on i s r i g h t at the s u r f a c e and no damage to the semiconductor r e s u l t s from the formation of the j u n c t i o n . A l s o , the d i f f u s i o n process or the implant anneal r e q u i r e s exposing the semiconductor to high temperatures (> 700°C). Such treatment can r e s u l t i n the degradation of the l i f e t i m e i n the s u b s t r a t e , with an a s s o c i a t e d i n c r e a s e i n the diode dark c u r r e n t thus reducing the c e l l e f f i c i e n c y [ 3 ] . Surface j u n c t i o n s are formed at low temperatures (< 600°C) and so no l i f e t i m e d e gradation o c c u r s . A more recent i n t e r e s t i n s u r f a c e j u n c t i o n s has come from the f i e l d of very l a r g e s c a l e i n t e g r a t e d c i r c u i t s (VLSI). As 5 VLSI c i r c u i t s are s c a l e d to smal l e r and sm a l l e r dimensions, i t i s necessary to s c a l e the depth and impurity c o n c e n t r a t i o n of the source and d r a i n j u n c t i o n s of metal-oxide-semiconductor f i e l d e f f e c t t r a n s i s t o r s (MOSFETs), the b a s i c b u i l d i n g b l o c k s of most VLSI t e c h n o l o g i e s [ 4 ] . I t i s d i f f i c u l t to make cont a c t to these shallow j u n c t i o n s with the standard technology employing s i n t e r e d aluminum because of the tendency of aluminum to d i f f u s e through the s i l i c o n and short the c o n t a c t to the s u b s t r a t e [ 5 ] . Since there i s no a l l o y i n g or s i n t e r i n g process i n the formation of MIS s u r f a c e j u n c t i o n s , t h i s s h o r t i n g phenomenon would not be experienced. B i p o l a r t e c h n o l o g i e s a l s o have p o t e n t i a l uses f o r the MIS j u n c t i o n . Attempts t o make s i l i c o n t r a n s i s t o r s f a s t e r i n v o l v e making the base r e g i o n narrower to reduce the t r a n s i t time of m i n o r i t y c a r r i e r s a c r o s s t h i s r e g i o n [ 6 ] . I t then becomes very d i f f i c u l t to c o n t r o l l a b l y d i f f u s e an e m i t t e r region i n t o t h i s shallow base. The MIS j u n c t i o n can be used to t o t a l l y r e p l a c e the e m i t t e r d i f f u s i o n thus making very narrow base t r a n s i s t o r s p o s s i b l e . The present f a c t o r l i m i t i n g gain i n d i f f u s e d e m i t t e r t r a n s i s t o r s i s g e n e r a l l y agreed to be s u r f a c e recombination at the metal-emitter c o n t a c t where i n j e c t e d m i n o r i t y c a r r i e r s from the base recombine. I t appears t h a t a p r o p e r l y formed MIS co n t a c t to a d i f f u s e d e m i t t e r can have a. smal l e r s u r f a c e recombination c u r r e n t thus y i e l d i n g higher gains than p o s s i b l e with s i n t e r e d metal c o n t a c t s [ 8 ] . To f u l l y a s c e r t a i n the u s e f u l n e s s of MIS su r f a c e j u n c t i o n s i n semiconductor d e v i c e s , an understanding of t h e i r o p e r a t i o n i s 6 r e q u i r e d . Chapter 3 presents a t h e o r e t i c a l treatment of the MIS j u n c t i o n as w e l l as experimental evidence to support t h i s theory. In Chapter 4, a d d i t i o n a l experimental t o o l s f o r e v a l u a t i n g the MIS j u n c t i o n are d e s c r i b e d , with p a r t i c u l a r a t t e n t i o n to an i n v e s t i g a t i o n of the p r o p e r t i e s of b i p o l a r t r a n s i s t o r s employing the MIS j u n c t i o n as an e m i t t e r . The other s u r f a c e j u n c t i o n d i s c u s s e d i n t h i s t h e s i s i s the i n s u l a t o r charge induced j u n c t i o n . The d e p o s i t i o n of an i n s u l a t o r on a semiconductor o f t e n r e s u l t s i n charge being trapped i n the i n s u l a t o r and t h i s charge m o d i f i e s the p o s i t i o n of the s u r f a c e fermi energy and thus the s u r f a c e e l e c t r o n and hole c o n c e n t r a t i o n s . T h i s j u n c t i o n , by i t s e l f , i s d e s c r i b e d w e l l by MOS c a p a c i t o r theory [9] s i n c e no c u r r e n t flow i s p o s s i b l e . T h i s theory i s used to i n v e s t i g a t e some of the p r o p e r t i e s of the i n s u l a t o r and i n s u l a t o r - s e m i c o n d u c t o r i n t e r f a c e i n Chapter 5. With these t o o l s i n p l a c e , a more complex s t r u c t u r e combining the MIS and ICI j u n c t i o n s : the i n v e r s i o n l a y e r s o l a r c e l l i s i n v e s t i g a t e d i n Chapter 6. A t h e o r e t i c a l model i s presented which serves to h i g h l i g h t the parameters which are most important i n determining device performance. T h i s model i s then used to h e l p evaluate the c h a r a c t e r i s t i c s of experimental d e v i c e s . Before any experimental d e v i c e s c o u l d be measured and analyzed, a measurement apparatus had to be c o n s t r u c t e d . The apparatus included" a probing s t a t i o n , measurement hardware and a computer capable of data a q u i s i t i o n , a n a l y s i s and g r a p h i c a l d i s p l a y . E s s e n t i a l l y a l l the hardware and software was developed 7 d u r i n g the course of t h i s t h e s i s . The design and performance of t h i s equipment i s d e s c r i b e d i n Chapter 2. The prime o b j e c t i v e of t h i s t h e s i s i s advancement of the understanding of a p o t e n t i a l l y important c l a s s of s o l i d s t a t e d e v i c e s , namely d e v i c e s employing s u r f a c e j u n c t i o n s . Attempts have been made to v e r i f y a l r e a d y e x i s t i n g t h e o r i e s , and to extend these t h e o r i e s where necessary. A wealth of new experimental evidence has been accumulated, s e r v i n g both to c l a r i f y the o p e r a t i o n of s u r f a c e j u n c t i o n s , and to i n d i c a t e p o s s i b l e areas of l i m i t a t i o n s . In a d d i t i o n , a number of measurement and f a b r i c a t i o n techniques have been implemented f o r the f i r s t time d u r i n g t h i s work. 8 CHAPTER 2 Measurement Techniques In order to measure and analyze the c h a r a c t e r i s t i c s of the numerous types of d e v i c e s f a b r i c a t e d d u r i n g t h i s work, a computerized measurement and data a q u i s i t i o n system was developed. The system c o n s i s t s of a probing s t a t i o n with temperature c o n t r o l l e d wafer chuck and i l l u m i n a t i o n f o r s o l a r s i m u l a t i o n , a p a i r of c u r r e n t - t o - v o l t a g e c o n v e r t e r s , a high c u r r e n t b u f f e r a m p l i f i e r (Kepco BOP-20-10), l o c k - i n a m p l i f i e r (PAR 5204), f u n c t i o n generator (EXACT 100), a computer i n t e r f a c e c o n t a i n i n g A/D's, D/A's and counters (Cyborg 9 1 A ) , an 8 - b i t computer (Apple II Plus) running the UCSD p-system o p e r a t i n g system. The computer i n c l u d e s p a r a l l e l i n t e r f a c e s to an X-Y s p l o t t e r ( M i p l o t ) and p r i n t e r (Epson FX-80). T h i s system i s l i m i t e d to dc or low frequency (< 100 kHz) measurements because of the frequency l i m i t a t i o n s of the l o c k - i n a m p l i f i e r . High frequency c a p a c i t a n c e measurements were performed with an HP4061A LCR meter connected to an HP9836 computer. Data was t r a n s f e r r e d to the Apple f o r a n a l y s i s and p l o t t i n g v i a an RS232 s e r i a l l i n k . A block diagram of t h i s system i s shown i n F i g . 2.1. P l o t t e r Svnc VC6 •Out QQut I Cyborg Interface P r i n t e r I c Apple I I Plus Computer Function Generator X PAR 5204 Lock-In Analyzer Current Amp Temperature Output [fee I s o l a t i o n Transformer. , L i c L_ib Current-to-I Temperature C o n t r o l l e r V.G. V E Voltage Converters Temperature Contr o l l e d Illuminated Probe S t a t i o n 1 HP 4061A LCR Meter CV Probe S t a t i o n HP 9836 Computer F i g u r e 2.1. Block Diagram of Measurement C o n f i g u r a t i o n . 10 2.1 W a f e r P r o b e S t a t i o n The probing s t a t i o n c o n s i s t s of a copper block with a semiconductor temperature sensor ( N a t i o n a l LM3911) embedded j u s t below the s u r f a c e of the block where the device under t e s t i s p l a c e d . A l s o embedded i n the block i s a photodiode ( B e l l & Howell BH115) used to measure the i n t e n s i t y of the simulated s u n l i g h t i l l u m i n a t i o n . The photodiode i s h e l d at short c i r c u i t by the v i r t u a l ground of an op amp and the photocurrent converted to a v o l t a g e by a 15KJ2 r e s i s t o r i n the feedback loop of the op amp ( F i g . 2.2). The output of the temperature sensor i s s c a l e d and o f f s e t a p p r o p r i a t e l y to produce an output v o l t a g e p r o p o r t i o n a l to the temperature of the block with a s c a l e f a c t o r of 10°C/volt. The c a l i b r a t e d temperature sensor output i s compared to a s e t p o i n t v o l t a g e and the e r r o r v o l t a g e used to f i r e a t h y r i s t o r at a phase angle p r o p o r t i o n a l to the magnitude of the e r r o r . The t h y r i s t o r i s used to c o n t r o l the power to an aquarium heater immersed in a water r e s e r v o i r . T h i s water i s pumped through c o i l s surrounding the copper block thus p r o v i d i n g p r e c i s e temperature c o n t r o l of the device under t e s t . With t h i s c o n f i g u r a t i o n only temperatures between room temperature and about 50°C are p r a c t i c a l . The c a l i b r a t i o n accuracy of the temperature sensor and a s s o c i a t e d e l e c t r o n i c s was t e s t e d with a p r e c i s e mercury thermometer and found to be accurate to ±0.5°C from 20 to 50°C. The c o n t a c t i n g block has two conducting paths to ground. One path i s the case of the temperature sensor which i s i n BH125 Photo Diode 4.7K + 12- V A VV—* Temp. Sensor LM 3911 Gain and Offset Adjust F i g u r e 2 . 2 . S c h e m a t i c o f Tempera tu re C o n t r o l l e r E l e c t r o n i c s . 12 e l e c t r i c a l c o n t a c t with the block and i s connected to ground by the temperature c o n t r o l l e r e l e c t r o n i c s . The other path i s through the c i r c u l a t i n g water which connects the block to the grounded outer case of the c i r c u l a t i n g pump. C e r t a i n d e v i c e s r e q u i r e measurement of the c u r r e n t i n t o the back co n t a c t of the device so the block had to be i s o l a t e d from ground by d i s c o n n e c t i n g the temperature sensor and d r a i n i n g the water i n the c o o l i n g c o i l s . For these types of measurements, temperature c o n t r o l was not p o s s i b l e . The s o l a r s i m u l a t o r c o n s i s t s of three 300 watt tungsten lamps ( S y l v a n i a ELH) mounted 50 cm. above the t e s t block. The o r i e n t a t i o n of each lamp can be a d j u s t e d independently to prov i d e a c c e p t a b l e u n i f o r m i t y over the i l l u m i n a t e d area of the device under t e s t . The bulbs are powered by a r e g u l a t e d 115 v o l t ac supply connected to an autotransformer to provide s t a b l e but a d j u s t a b l e input power. The i n t e n s i t y of the simul a t o r was ad j u s t e d to produce a photocurrent i n a c a l i b r a t e d s i l i c o n s o l a r c e l l equal to that obtained when the c e l l was exposed to a simulated A i r Mass 1 s o l a r spectrum. The c a l i b r a t e d c e l l was s u p p l i e d by A p p l i e d S o l a r Energy C o r p o r a t i o n . The photodiode op amp produced 4.18 v o l t s at t h i s i l l u m i n a t i o n i n t e n s i t y . The photodiode output was used f o r subsequent adjustment of the sim u l a t o r i n t e n s i t y with p e r i o d i c v e r i f i c a t i o n of the c a l i b r a t i o n with the c a l i b r a t e d c e l l . Although the s p e c t r a l output of ELH bulbs i s c l o s e r to s u n l i g h t than most tungsten bulbs [ 3 ] , no c l a i m i s made that t h i s s imulator can p r e c i s e l y 1 3 match the s o l a r spectrum. N e v e r t h e l e s s , i t has been c a l c u l a t e d t h at such a s i m u l a t o r should not introduce more than a 5% e r r o r i n measured s o l a r c e l l e f f i c i e n c i e s [10]. The top s u r f a c e of the copper block which supports the d e v i c e s under t e s t i s g o l d - p l a t e d to prevent o x i d a t i o n of the copper and'to improve e l e c t r i c a l c o n t a c t between the block and the device under t e s t . A c i r c u l a r groove i n the c e n t e r of the block connected to a vacuum pump i s used to p u l l the sample under t e s t f i r m l y onto the b l o c k . Often, g o l d l e a f was i n t r o d u c e d between the sample and the block to i n c r e a s e the area of e l e c t r i c a l c o n t a c t . Four pressure c o n t a c t s are p o s s i b l e , three c o n s i s t i n g of copper wires and one of a platinum wire. The c h o i c e of c o n t a c t s depended on the s i z e and spacing of the c o n t a c t pads on the device under t e s t . The c o n t a c t i n g block i s e n c l o s e d i n an aluminum box with removable aluminum l i d to p r o v i d e e l e c t r o m a g n e t i c s h i e l d i n g and the p o s s i b l i t y of dark and i l l u m i n a t e d measurements. 2.2 Current to Voltage Converters The c u r r e n t - t o - v o l t a g e c o n v e r t e r s shown i n F i g . 2.3 were designed p r i m a r i l y f o r use with the base width modulation experiment (see Chapter 4). The c o n f i g u r a t i o n used was designed to provide a very s t a b l e but v a r i a b l e dc base-emitter b i a s and the a b i l i t y to modulate the b a s e - c o l l e c t o r b i a s with an ac s i g n a l . Great care was taken to ensure that no p a r t of the modulating v o l t a g e appeared i n the base-emitter c i r c u i t as any such v o l t a g e would in t r o d u c e s p u r i o u s base and c o l l e c t o r ac V i r t u a l 1M / 2.2pF 100K / 15pF 10K / lOOpF IK /.OOluF 100 / .OluF 10 / .luF 10M / OpF IM / 2.2pF 100K / 15pF 10K / lOOpF IK /.OOluF 100 / .OluF BI 1.5V D C e l l IC1-4 RCA 3240 T l 1: 4 1 v Figure 2.3. Schematic of Current-to-Voltage Converters. 1 5 c u r r e n t s . The c u r r e n t - t o - v o l t a g e c o n v e r t e r s coupled to the l o c k - i n a m p l i f i e r can be used to measure impedances by measuring the magnitude of the small s i g n a l c u r r e n t s with 0° and 90° phase d i f f e r e n c e to the modulating v o l t a g e . The in-phase c u r r e n t i s due to r e s i s t i v e impedance while the quadrature c u r r e n t i s due to r e a c t i v e impedance. In order to o b t a i n a c c u r a t e measurements of the two impedance components, the phase of the r e f e r e n c e s i g n a l s u p p l i e d to the l o c k - i n must be a d j u s t e d to be p r e c i s e l y the same as that of the modulating v o l t a g e . I n t e r n a l phase s h i f t s i n the l o c k - i n a m p l i f i e r i t s e l f make i t impossible to simply use the modulating v o l t a g e as the re f e r e n c e s i g n a l . Instead, to o b t a i n proper r e f e r e n c e phase, the "synch" output of the f u n c t i o n generator i s used to supply the r e f e r e n c e s i g n a l and the modulating v o l t a g e i s a p p l i e d to the l o c k - i n input channel. The r e f e r e n c e phase adjustment on the l o c k - i n f r o n t panel i s set so that no quadrature s i g n a l can be d e t e c t e d . By expanding the quadrature s i g n a l meter by 100 times, i t i s p o s s i b l e to a d j u s t the r e l a t i v e phase of the two s i g n a l s to b e t t e r than one t e n t h of a degree. T h i s adjustment procedure i s necessary every time the frequency or amplitude of the modulating v o l t a g e i s changed. The c u r r e n t - t o - v o l t a g e c o n v e r t e r s used i n c o n j u c t i o n with the l o c k - i n a m p l i f i e r p r o v i d e d a very v e r s a t i l e measuring apparatus which was used i n almost a l l measurements made du r i n g the l a s t two years of t h i s work. The ac impedance of almost any two t e r m i n a l device can be measured by connecting the d e v i c e 16 a c r o s s the base and c o l l e c t o r connections of the c u r r e n t - t o - v o l t a g e c o n v e r t e r s and measuring the in-phase and quadrature c u r r e n t components produced by the a p p l i e d ac v o l t a g e . A dc b i a s can be a p p l i e d to the de v i c e e i t h e r with the e m i t t e r - c o l l e c t o r power supply or the base-emitter b i a s supply. The range of the measurement apparatus i s l i m i t e d on the low c u r r e n t end by the maximum feedback r e s i s t o r , which i s 10 Mfi, and the background e l e c t r i c a l noise to about 1 nA f o r both ac and dc c u r r e n t s . The l a r g e s t c u r r e n t which can be measured i s about 25 mA due to the l i m i t a t i o n of the op amp output c u r r e n t . A p u s h - p u l l t r a n s i s t o r p a i r connected to the output of the c o l l e c t o r op amp may be used to i n c r e a s e the maximum c u r r e n t i n the c o l l e c t o r c i r c u i t to 1 amp. To be abl e t o use t h i s f e a t u r e with two t e r m i n a l d e v i c e s , one t e r m i n a l has to be connected to the e m i t t e r r a t h e r than the base c o n n e c t i o n . The dc b i a s supply v o l t a g e can only range from -13 to +13 v o l t s before the op amp vol t a g e l i m i t s are exceeded. Again, g r e a t e r v o l t a g e swings are p o s s i b l e i f one t e r m i n a l of a two t e r m i n a l d e v i c e i s connected to the em i t t e r rather than the base conne c t i o n s i n c e the c o l l e c t o r connection i s h e l d near ground by the v i r t u a l ground of the c o l l e c t o r op amp. U n f o r t u n a t e l y , s m a l l c a p a c i t a n c e s c o u l d not be measured with the c o l l e c t o r op amp s i n c e the modulation v o l t a g e appears i n the c o l l e c t o r leads and a c a p a c i t i v e c u r r e n t f l o w i n g between the leads and t h e i r grounded s h i e l d s would.be de t e c t e d by the op amp. A l s o , c u r r e n t l o s s e s in the secondary windings of the i s o l a t i o n transformer would be measured. The r e s u l t i n g c u r r e n t corresponded to a c a p a c i t a n c e of about 88 pF 1 7 when short leads were used. T h i s c u r r e n t does not appear i n the base c i r c u i t s i n c e there i s no small s i g n a l modulating v o l t a g e appearing on the base s i d e of the e l e c t r o n i c s . 2.3 Computer Interface to the Measurement Electronics The i n t e r f a c i n g of the analog s i g n a l s from the measurement apparatus was achieved with a Cyborg 91A i n t e r f a c e module. T h i s module c o n s i s t s of a s i x t e e n channel a n a l o g - t o - d i g i t a l c o n v e r t e r , four d i g i t a l - t o - a n a l o g c o n v e r t e r s , an e i g h t channel counter, a s i x t e e n b i t countdown timer and a c l o c k . T h i s i n t e r f a c e connects to the Apple II Plus computer through an i n t e r f a c e c a r d plugged i n t o expansion s l o t #4 of the computer. S p e c i a l MOSTEK 6502 assembler r o u t i n e s were w r i t t e n and assembled under the UCSD p-system o p e r a t i n g system and then l i n k e d to Pa s c a l language programs i n order to access the i n t e r f a c e with the computer. The r o u t i n e s used f o r communicating with the i n t e r f a c e were i n s t a l l e d i n the Pas c a l system l i b r a r y i n the u n i t c a l l e d CYBORG. A number of d i f f e r e n t programs were w r i t t e n f o r s p e c i a l purpose data a q u i s i t i o n . As w e l l , a general purpose program to read and p l o t analog s i g n a l s presented to the Cyborg i n t e r f a c e was w r i t t e n . T h i s program, An a l o g P l o t , i s l i s t e d and d e s c r i b e d i n Appendix B.2. The a q u i s i t i o n times f o r t h i s program vary depending on whether the data i s being p l o t t e d on the video screen or the p l o t t e r and whether or not the sampled data i s being saved. The f a s t e s t sample r a t e o b t a i n a b l e i s 0.3 seconds per p a i r of sampled p o i n t s (0.15 sec/sample). T h i s low sample 18 r a t e i s due to an e x p l i c i t averaging of ten samples f o r every analog r e a d i n g . Sample averaging was found necessary to reduce the noise produced by the computer and the video screen which appeared with a l l analog s i g n a l s . T h i s n o i s e , which c o n s i s t e d mainly of a 5 mV peak-to-peak d i s t o r t e d square wave due to the computer c l o c k , i n f i l t r a t e d the analog c i r c u i t r y through the mains power l i n e s and was imp o s s i b l e to remove without t u r n i n g o f f the computer. F o r t u n a t e l y , ac s i g n a l s as low as'1 nV c o u l d s t i l l be measured very e f f e c t i v e l y with the l o c k - i n a m p l i f i e r which was able to r e j e c t most of t h i s n o i s e . Sampling of the l o c k - i n channels posed s p e c i a l problems s i n c e a change i n the input s i g n a l o f t e n caused an o v e r l o a d i n the l o c k - i n c i r c u i t r y so that i t o f t e n took many seconds before a new s t a b l e reading was obt a i n e d . In s p e c i a l purpose programs, t h i s problem was s o l v e d by w a i t i n g f o r the l o c k - i n output to s t a b l i z e to w i t h i n 5 mV of the l a s t sample taken. AnalogPlot does not have these f e a t u r e s b u i l t i n so i t i s necessary to use the Cyborg c l o c k to p r o v i d e a wait delay before the l o c k - i n i s read a f t e r a change i n input. The automated measurement apparatus proved a very v a l u a b l e t o o l i n the work performed in t h i s t h e s i s . I t made p o s s i b l e the very r a p i d d i s p l a y and r e c o r d i n g of device c h a r a c t e r i s t i c s which c o u l d not normally be handled by a curve t r a c e r (eg. c a p a c i t a n c e - v o l t a g e and l o g [ c u r r e n t ] - v o l t a g e c u r v e s ) . A l s o , the hardcopy p r o v i d e d by the p l o t t e r was f a r s u p e r i o r to those obtained with a curve t r a c e r or analog p l o t t e r . 19 CHAPTER 3 The MIS Diode 3.1 Basic Diode Theory Although s u r f a c e j u n c t i o n s are becoming i n c r e a s i n g l y important i n s o l i d s t a t e d e v i c e s , they are not as w e l l understood as the more common pn homojunction. The pn j u n c t i o n was developed in the e a r l y 1950's and has been q u i t e s u c c e s s f u l l y modeled with band theory [11]. Band theory comes from the a p p l i c a t i o n of Bloch's theorem to a l a r g e p e r i o d i c p o t e n t i a l to give a set of e l e c t r o n i c wave f u n c t i o n s which can be assembled i n t o the more f a m i l a r wave packets c a l l e d e l e c t r o n s and h o l e s . At the s u r f a c e j u n c t i o n , however, the semiconductor p e r i o d i c p o t e n t i a l ends and the normally amorphous p o t e n t i a l of the metal or i n s u l a t o r begins. I t has been w e l l e s t a b l i s h e d that conduction i n amorphous metals can be d e s c r i b e d by the motion of n e g a t i v e l y charged p a r t i c l e s [12] and that amorphous i n s u l a t o r s have band s t r u c t u r e s s i m i l a r to c r y s t a l l i n e semiconductors; however, to d e s c r i b e the flow of charge from one m a t e r i a l to another, i t i s s t r i c t l y speaking i n c o r r e c t to t a l k about a s i n g l e charged p a r t i c l e moving from one m a t e r i a l to the other. To deal with t h i s s i t u a t i o n p r o p e r l y , i t i s 20 necessary to r e t u r n to the wave f u n c t i o n d e s c r i p t i o n and determine the change in the wavefunction occupancy on the two s i d e s of the j u n c t i o n , matching energy and momentum of e l e c t r o n s which move from a wavefunction i n one m a t e r i a l to one i n the other m a t e r i a l . Such a d e s c r i p t i o n i s very cumbersome so i t i s p r e f e r a b l e to r e t a i n the simple e l e c t r o n and hole charge t r a n s p o r t model whenever i t o f f e r s an adequate approximation. To d e s c r i b e the MIS j u n c t i o n , a h y b r i d approach has been taken. Within the semiconductor, c o n v e n t i o n a l theory may be ap p l i e d , but at the m e t a l - i n s u l a t o r - s e m i c o n d u c t o r i n t e r f a c e , movement of charge a c r o s s the i n t e r f a c e i s d e s c r i b e d by tu n n e l i n g of e l e c t r o n s from wavestates i n the metal to the semiconductor or v i c e v e r s a through the energy b a r r i e r of the i n s u l a t o r . F i r s t , a b r i e f review of c o n v e n t i o n a l pn j u n c t i o n theory w i l l be presented s i n c e much of the treatment of the MIS j u n c t i o n stems from t h i s t h e o r y . The theory presented c o n s i d e r s only the case of uniformly doped p and n regions as t h i s i s the case most r e l e v a n t to the MIS j u n c t i o n . 3.1.1 Conventional Junction Diodes A c o n v e n t i o n a l pn homojunction i s formed when p- and n-type regions i n a semiconductor are brought i n t o i n t i m a t e c o n t a c t . To obt a i n a usable diode, ohmic c o n t a c t s to the n- and p-type regions are a l s o r e q u i r e d . With these c o n t a c t s s h o r t e d together, the Fermi e n e r g i e s i n the p and n reg i o n s w i l l be equal so a f i e l d must be present i n the t r a n s i t i o n from the p 21 to the n r e g i o n . T h i s f i e l d causes a d r i f t c u r r e n t of e l e c t r o n s and holes to flow which i s e x a c t l y balanced by a d i f f u s i o n c u r r e n t caused by the c o n c e n t r a t i o n g r a d i e n t of e l e c t r o n s and holes between the n and the p r e g i o n s . A n a l y t i c equations f o r c u r r e n t flow i n the device are obtained by s p l i t t i n g the j u n c t i o n i n t o three d i s t i n c t r e g i o n s : a n e u t r a l n-type region with no f i e l d p r e sent, a space charge region where there i s a p p r e c i a b l e f i e l d and a n e u t r a l p-type region with no f i e l d . The width of the space charge, or d e p l e t i o n , region i s given by [13]: W = [ f l i ( v B - V ) ( 1 / N A + 1 / N D ) ] 1 / 2 3.1 where V B = i± l n ( N A N D / n ^ ) 3.2 and V i s the p o t e n t i a l d i f f e r e n c e between c o n t a c t s . The other parameters are d e f i n e d i n the l i s t of symbols s t a r t i n g on page x v i i i . By convention, V i s p o s i t i v e when the p region contact i s more p o s i t i v e than the contact to the n r e g i o n . An a p p l i e d b i a s r e s u l t s i n a change i n the width of the d e p l e t i o n r e g i o n and i n the f i e l d i n t h i s r e g i o n . The a l t e r e d f i e l d produces an imbalance between d i f f u s i o n and d r i f t c u r r e n t components r e s u l t i n g i n a net flow of c u r r e n t . The a p p l i e d b i a s must r e s u l t i n a s e p a r a t i o n of the m a j o r i t y c a r r i e r quasi-Fermi e n e r g i e s . By assuming the e l e c t r o n and hole quasi-Fermi 22 ene r g i e s are constant a c r o s s the d e p l e t i o n r e g i o n and separated by an amount A 0 (where A<p = V unless there i s a p o t e n t i a l drop i n the n e u t r a l r e g i o n s ) , the c u r r e n t flow due to the i n j e c t i o n and d i f f u s i o n of m i n o r i t y c a r r i e r s i n the n e u t r a l regions may be c a l c u l a t e d [13]: JD " J 0 D [ e x P ( 9 £ f ) " 1 ] 3 ' 3 2 2 D n. D n. where J Q D «• + j ^ i ) 3.4 n A p D The s i t u a t i o n most commonly found i n a c t u a l pn j u n c t i o n s i s the "one-sided" j u n c t i o n where one region i s much more h e a v i l y doped than the o t h e r . For t h i s case, the i n j e c t i o n - d i f f u s i o n c u r r e n t component i n the l i g h t l y doped s i d e dominates; f o r i n s t a n c e , f o r an n + p diode (N D >> N^), the i n j e c t i o n of e l e c t r o n s i n t o the p si d e dominates [13]: JD - TTTJ7 texp(3||) - ,] 3.5 n A A n o n - e q u i l i b r i u m c o n d i t i o n i n the d e p l e t i o n region w i l l r e s u l t i n another c u r r e n t component due to the excess genera t i o n or recombination of e l e c t r o n and ho l e s i n t h i s r e g i o n . By assuming a mechanism f o r genera t i o n and recombination through t r a p s near midgap, the recombination-g e n e r a t i o n c u r r e n t d e n s i t y may be expressed as [13]: 23 3.6 where J ORG 1/2 3.7 If r a d i a t i o n with energy g r e a t e r than the band gap of the semiconductor i s d i r e c t e d onto a pn j u n c t i o n d e v i c e , e l e c t r o n -hole p a i r s (EHPs) w i l l be generated. The presence of the f i e l d i n the semiconductor w i l l r e s u l t i n the s e p a r a t i o n of some of these EHPs and a net flow of c u r r e n t due to the photogeneration. The e f f e c t of t h i s photogenerated c u r r e n t d e n s i t y on the diode c h a r a c t e r i s t i c can be determined by invoking the s u p e r p o s i t i o n p r i n c i p l e [14]. T h i s p r i n c i p l e assumes that the generation r a t e of EHPs by the r a d i a t i o n i s independent of the dark c u r r e n t d e n s i t y and does not a f f e c t the dark c u r r e n t component. The r e s u l t i s a constant c u r r e n t d e n s i t y which flows i n o p p o s i t i o n to the normal diode forward b i a s dark c u r r e n t d e n s i t y [15]: where J^pQi the s o - c a l l e d uncompensated photocurrent d e n s i t y , i s p r o p o r t i o n a l to the l i g h t i n t e n s i t y and independent of the a p p l i e d b i a s . Numerical m o d e l l i n g has shown that the super-p o s i t i o n p r i n c i p l e i s v a l i d except i n cases of extremely low l i f e t i m e s and m o b i l i t i e s [16], For the d e v i c e s i n v e s t i g a t e d i n t h i s t h e s i s , the s u p e r p o s i t i o n p r i n c i p l e i s a very good approx-imatio n . I t should be noted, however, that Eq. 3.8 a p p l i e s only to one-dimensional d e v i c e s and r e l i e s on knowledge of the quasi-Fermi energy s e p a r a t i o n which may not p r e c i s e l y equal the a p p l i e d b i a s . J(A0) = J n ( A 0 ) + J__(A$) - J UPC 3.8 24 3.1.2 MIS Diodes The MIS diode has been t r e a t e d t h e o r e t i c a l l y by a number of groups with perhaps the most comprehensive approach being presented by Green and Shewchun [ 1 7 ] . U n f o r t u n a t e l y , t h i s approach r e q u i r e s lengthy numerical computation and p r o v i d e s l i t t l e i n s i g h t i n t o the parameters which determine the d e v i c e c h a r a c t e r i s t i c s . A more a n a l y t i c approach taken by Card and Rhoderick [ 1 8 ] invokes a few more approximations but leads to equations which a i d i n understanding the d e v i c e c h a r a c t e r i s t i c s and t h e i r dependence on m a t e r i a l p r o p e r t i e s and f a b r i c a t i o n approaches. T h i s second approach w i l l be d e s c r i b e d b r i e f l y i n the paragraphs that f o l l o w . The problem of determining the MIS diode c u r r e n t - v o l t a g e c h a r a c t e r i s t i c e s s e n t i a l l y i n v o l v e s determining the flow of c a r r i e r s between metal and semiconductor through the t h i n i n s u l a t o r . I f the i n s u l a t o r t h i c k n e s s i s zero, a metal-semiconductor (MS) or Schottky diode i s o b t a i n e d . The _ d e s c r i p t i o n of the c u r r e n t flow between metal and semiconductor i s o btained from c l a s s i c a l thermionic emission theory m o d i f i e d to account f o r the reduced metal-semiconductor b a r r i e r and the c a r r i e r e f f e c t i v e masses normal to the i n t e r f a c e . At e q u i l i b r i u m , equal and o p p o s i t e c u r r e n t d e n s i t i e s of magnitude: J Q T H = A*T 2 exp(-q0 B/kT) 3.9 * flow between metal and semiconductor. A i s the e f f e c t i v e Richardson's constant f o r the c a r r i e r given by: 25 A* = 4 7 r m * q ( k T ) 2 / h 3 3.10 and <£B i s t h e b a r r i e r h e i g h t t h e c a r r i e r must overcome t o move fr o m m e t a l t o s e m i c o n d u c t o r o r v i c e v e r s a ( s e e F i g . 3 . 1 a ) . I f t h e r e a r e no s u r f a c e s t a t e s p r e s e n t a t t h e m e t a l - s e m i c o n d u c t o r i n t e r f a c e , t h e b a r r i e r h e i g h t i s d e t e r m i n e d s o l e l y by t h e m e t a l work f u n c t i o n 0 M and t h e s e m i c o n d u c t o r e l e c t r o n a f f i n i t y x g : * B p = E G ' 9 U M " X S ) 3.11 The two e q u a l and o p p o s i t e c u r r e n t d e n s i t i e s may be w r i t t e n e x p l i c i t l y i n t e r m s o f t h e p o s i t i o n s of t h e F e r m i e n e r g i e s a t t h e s e m i c o n d u c t o r s u r f a c e X^; f o r example, f o r h o l e s : JhS-M = A h T * e x p [ [ E v - E p ( X s ) ] / k T ] 3.12 JhM-S = A h t 2 e x p [ [ E v - E F M ] / k T ] 3.13 T h e s e e q u a t i o n s assume B o l t z m a n n s t a t i s t i c s a p p l y and t h e r e f o r e n eed t o be m o d i f i e d i f t h e s u r f a c e i s d e g e n e r a t e . The i n t r o d u c t i o n o f a t h i n o x i d e between t h e m e t a l and t h e s e m i c o n d u c t o r r e s u l t s i n t h e r e d u c t i o n of t h e t h e r m i o n i c e m i s s i o n c u r r e n t by a f a c t o r 8, c a l l e d t h e t u n n e l l i n g p r o b a b i l i t y f a c t o r . T h i s f a c t o r i s o b t a i n e d by c o n s i d e r i n g an e l e c t r o n w a v e f u n c t i o n i n c i d e n t on t h e e n e r g y b a r r i e r of t h e i n s u l a t o r . A l t h o u g h t h i s wave c a n n o t p r o p a g a t e t h r o u g h t h e f o r b i d d e n e n e r g y gap of t h e i n s u l a t o r , a damped wave w i l l e x i s t i n t h e i n s u l a t o r and may emerge and p r o p a g a t e on t h e o t h e r s i d e w i t h a much a t t e n u a t e d a m p l i t u d e . The damping e f f e c t o f t h e i n s u l a t o r depends on i t s t h i c k n e s s and on t h e e n e r g y b a r r i e r t h e Interface States (a) 26 •vac •vac EC F i g u r e 3 . 1 . E q u i l i b r i u m Band D iagram f o r a) MS (Scho t t ky ) J u n c t i o n and b) MIS J u n c t i o n on P-Type S e m i c o n d u c t o r . 27 i n c i d e n t wave experiences through the r e l a t i o n : 6 = e x p ( - X 1 / 2 6 ) 3.14 where 5 i s the i n s u l a t o r t h i c k n e s s i n Angstroms and x i s the energy b a r r i e r in e l e c t r o n v o l t s . For e l e c t r o n s , x e i s the energy d i f f e r e n c e between the semiconductor and i n s u l a t o r 1 /2 conduction bands. The constant 47r(2m) ' /h m u l t i p l i e s the ex p o n e n t i a l f a c t o r and e v a l u a t e s to approximately one i n the u n i t s g i v e n . Thus, f o r an MIS diode, the thermionic emission c u r r e n t d e n s i t y may be w r i t t e n as: J Q T H = A T^ e x p ( - X 7 6) exp(-g0 B/kT) 3.15 The above equation a p p l i e s e q u a l l y w e l l f o r m i n o r i t y as f o r m a j o r i t y c a r r i e r s p r o v i d e d that the a p p r o p r i a t e e f f e c t i v e mass and b a r r i e r height are used. The m a j o r i t y and m i n o r i t y c a r r i e r b a r r i e r h eights are r e l a t e d to each other by the semiconductor band gap: S*Bn + <3*Bp = E G 3 ' 1 7 For a normal Schottky b a r r i e r on s i l i c o n , the b a r r i e r h eight f o r m a j o r i t y c a r r i e r s i s low (=0.3 eV) [19]. Eq. 3.17 g i v e s that the m i n o r i t y c a r r i e r b a r r i e r h eight w i l l be l a r g e (=0.8 eV) f o r s i l i c o n which has a band gap of 1.1 eV at room temperature. From Eq. 3.9 i t i s c l e a r that the m a j o r i t y c a r r i e r thermionic c u r r e n t i s much gr e a t e r than that of the m i n o r i t y c a r r i e r s so i t i s common i n the treatment of Schottky diodes t o completely ignore the m i n o r i t y c a r r i e r component. By a p p r o p r i a t e c h o i c e of metal and semiconductor doping, MIS diodes can be made with very 28 high m a j o r i t y c a r r i e r b a r r i e r h e i g h t s (0.8-0.9 eV) [20]. For a diode with such a high b a r r i e r h e i g h t , the m i n o r i t y c a r r i e r t hermionic emission c u r r e n t w i l l dominate over that of the m a j o r i t y c a r r i e r s and a d e v i c e e x h i b i t i n g some notabl y d i f f e r e n t e l e c t r i c a l p r o p e r t i e s from a Schottky diode i s obtained. Computation of the b a r r i e r height f o r an MIS j u n c t i o n r e q u i r e s that the e l e c t r o s t a t i c f i e l d a cross the t h i n i n s u l a t o r \p1 be taken i n t o account (see F i g . 3.1): *Bp = E G ' (*M ~ X ) ~ *I 3 ' 1 6 I f an i n v e r s i o n l a y e r i s present at the semiconductor s u r f a c e , the l a r g e s u r f a c e charge r e q u i r e s a l a r g e f i e l d a c r o s s the i n s u l a t o r . F u r t h e r r e d u c t i o n of # M past the p o i n t of strong i n v e r s i o n i n the semiconductor w i l l r e s u l t i n an i n c r e a s e in the i n v e r s i o n l a y e r charge and a corresponding i n c r e a s e i n the f i e l d a c r o s s the i n s u l a t o r . The net r e s u l t w i l l be only a s l i g h t i n c r e a s e i n the b a r r i e r h e i g h t . The high b a r r i e r h e i g h t s o b t a i n e d with MIS diodes are a t t r i b u t e d to a p a s s i v a t i o n of the i n t e r f a c e s t a t e s by the t h i n oxide ( F i g . 3.1b). I t i s b e l i e v e d that the i n t e r f a c e s t a t e d e n s i t y i s very high i n the case of a metal-semiconductor j u n c t i o n and that these s t a t e s l i m i t the band-bending i n the s i l i c o n and thus the b a r r i e r h e i g h t s ( F i g . 3.1a). The a p p l i c a t i o n of a forward b i a s V between metal and semiconductor w i l l r e s u l t i n the s p l i t t i n g of the Fermi e n e r g i e s ( F i g . 3.2) and a net flow of c u r r e n t . Card and Rhoderick [20] have shown that an a p p l i e d b i a s V r e s u l t s i n a change in the 29 qV - E, Tp F i g u r e 3 . 2 . Band D iagram f o r MIS J u n c t i o n on P - t y p e S e m i c o n d u c t o r - Fo rward B i a s . 30 s u r f a c e p o t e n t i a l Axfr^ = -V/n where n = 1 + b/e1 (e s/W + qN s s) 3.18 N s s * s t h e c ^ a r 9 e d e n s i t y of s u r f a c e s t a t e s per u n i t of energy i n the forbidden gap i n e q u i l i b r i u m with the semiconductor. For a p-type semiconductor, as shown in F i g . 3.2, the q u a n t i t y E v - E p ( X s ) in Eq. 3.12 i n c r e a s e s by the amount qV/n so the valence band to metal m a j o r i t y c a r r i e r hole c u r r e n t d e n s i t y becomes: JVM = A h * T 2 6 e x P ( " q ^ B p / k T ) exp(qV/nkT) 3.19 The q u a n t i t y E v - E p M changes by q(V/n - V)/kT so, from Eq. 3.13, the metal to valence band hole c u r r e n t d e n s i t y becomes: JMV = A h * ? 2 6 exp(-q0 B p/kT) exp[q(^-V)/kT) 3.20 and the net hole c u r r e n t d e n s i t y w i l l be: J h ( V ) = A h * T 2 6 exp(-qtf B p/kT) exp(qV/nkT) • [1 - exp(-qV/kT)] 3.21 To determine the m i n o r i t y c a r r i e r c u r r e n t d e n s i t y , the semiconductor region i s t r e a t e d as the l i g h t l y doped s i d e of a one-sided pn diode as d e s c r i b e d i n s e c t i o n 3.1.1. The s p l i t t i n g of the quasi-Fermi l e v e l s by an amount r e s u l t s i n dark c u r r e n t d e n s i t i e s given by equs. 3.5 and 3.6. T h i s m i n o r i t y c a r r i e r c u r r e n t d e n s i t y must be s u p p l i e d by the d i f f e r e n c e i n the conduction band-metal and metal-conduction band thermionic c u r r e n t d e n s i t i e s . I f the a p p l i e d b i a s i s V then these c u r r e n t d e n s i t i e s are given by: 31 JCM = " A e * T 2 6 exp(-q0 B n/kT) exp[-q(^+A^)/kT] JMC = " A e * T 2 6 exp(-q0 B n/kT) exp[-q(^-V)/kT] and the net c u r r e n t d e n s i t y i n t o the metal i s : J e ( V ) = A e * T 2 6 exp(-q<£ B n/kT) exp(-qV/nkT) • [exp(qV/kT) - exp(qA0/kT)] 3.24 An a l t e r n a t i v e form of Eq. 3.24 i s obtained by n o t i n g t h a t : n ( X s ) / N c = e x p [ { E F n ( X s ) - E c } / k T ] = exp[q(Atf> - 4>Bn - V/n)/kT] 3.25 which leads to the e x p r e s s i o n : Je( v ) = Ae * T 2 6 f n < x s ) / N c > texp{q(V-A0)/kT}- 1] 3.26 The net m i n o r i t y c a r r i e r c u r r e n t d e n s i t y i n the semiconductor i s produced by the d i f f e r e n c e between the a p p l i e d b i a s V and the s e p a r a t i o n of the Fermi l e v e l s A0. If J C M and J M C are much g r e a t e r than a very small d i f f e r e n c e between V and Atf> w i l l be s u f f i c i e n t to supply the semiconductor c u r r e n t and the m i n o r i t y c a r r i e r Fermi l e v e l i s e f f e c t i v e l y pinned to that of the metal so the a p p l i e d b i a s appears almost e n t i r e l y a cross the semiconductor (V = A#). I f a l s o , the m a j o r i t y c a r r i e r thermionic emission c u r r e n t d e n s i t y J,,.. i s much smaller than J„ then a diode VM D with e l e c t r i c a l p r o p e r t i e s i d e n t i c a l to a one-sided pn j u n c t i o n diode i s o b t a i n e d . As the b i a s i s i n c r e a s e d , the i n c r e a s e d c u r r e n t flow i n the semiconductor w i l l f o r c e E_ (X c) to become unpinned from E „ M (V > A<£). A t u n n e l - l i m i t e d regime i s reached 3.22 3.23 32 where only .part of the a p p l i e d b i a s appears ac r o s s the semi-conductor. The e f f e c t of t h i s t u n n e l - l i m i t i n g phenomena on the c u r r e n t - v o l t a g e c h a r a c t e r i s t i c w i l l be s i m i l a r to that of s e r i e s r e s i s t a n c e i n a c o n v e n t i o n a l diode. Thus, the e s s e n t i a l f e a t u r e s of a m i n o r i t y c a r r i e r MIS (min-MIS) diode have been i d e n t i f i e d . They a r e : 1) a l a r g e b a r r i e r height (many kT g r e a t e r than h a l f the band gap) i s r e q u i r e d to produce m i n o r i t y c a r r i e r thermionic c u r r e n t s much gre a t e r than those due to the m a j o r i t y c a r r i e r s , and 2) an i n s u l a t o r with a t u n n e l l i n g p r o b a b i l i t y f a c t o r which reduces the m a j o r i t y c a r r i e r thermionic emission c u r r e n t to a l e v e l w e l l below the net semiconductor c u r r e n t while keeping the m i n o r i t y c a r r i e r thermionic emission c u r r e n t s much gr e a t e r than t h i s net c u r r e n t . A f i g u r e of merit f o r the MIS diode i s the m i n o r i t y c a r r i e r i n j e c t i o n r a t i o 7. For a p-type s u b s t r a t e , i t i s d e f i n e d as: 7 = J e / ( J e + J h ) 3.27 A computer program to t h e o r e t i c a l l y determine the magnitudes of the m a j o r i t y and m i n o r i t y c a r r i e r c u r r e n t d e n s i t i e s as a f u n c t i o n of a p p l i e d b i a s has been w r i t t e n by N.G. T a r r [21] and i s used i n S e c t i o n 3.4 to compare experimental I-V c h a r a c t e r i s i c s with the t h e o r e t i c a l model j u s t d e s c r i b e d . D i r e c t experimental d e t e r m i n a t i o n of the i n j e c t i o n r a t i o i s d e s c r i b e d i n Chapter 4. 33 3.2 MIS Diode F a b r i c a t i o n The MIS diode s t r u c t u r e i s a r e l a t i v e l y simple d e v i c e to f a b r i c a t e and e v a l u a t e (see Appendix A.2.1). The e s s e n t i a l d i f f i c u l t y and u n c e r t a i n t y i n the f a b r i c a t i o n procedure i s the formation of the t h i n t u n n e l l a b l e i n s u l a t o r sandwiched between the metal and the semiconductor. Both experimental measurement [22] and t h e o r e t i c a l parameter f i t s [23] suggest t h i s i n s u l a t o r o to be between 10 and 20 A (roughly 2-4 monolayers). I t was f i r s t thought that such a t h i n i n s u l a t o r would be impossible to grow r e p r o d u c i b l y ; but, i t was found e x p e r i m e n t a l l y that at low temperatures s i l i c o n grows a t h i n , s e l f - l i m i t i n g o xide. Numerous techniques f o r p r o d u c t i o n of t h i s oxide have been used [24], and although a l l oxides may not have i d e n t i c a l p r o p e r t i e s , the p r o p e r t i e s obtained f o r each method are s a t i s f a c t o r i l y r e p r o d u c i b l e . In e a r l y work, i t was noted that the p r o p e r t i e s of MIS diodes v a r i e d c o n s i d e r a b l y with s u r f a c e c l e a n l i n e s s d u r i n g f a b r i c a t i o n [24], which was a t t r i b u t e d to the e f f e c t s of contamination on the u n i f o r m i t y and growth r a t e of the oxide. The c h o i c e of metal and d e p o s i t i o n scheme proved very important i n o b t a i n i n g high q u a l i t y d i o d e s . At p r e s e n t , most metal d e p o s i t i o n i s performed by thermal e v a p o r a t i o n suggesting that other c o n v e n t i o n a l d e p o s i t i o n schemes l i k e E-beam and s p u t t e r i n g may be d e t r i m e n t a l to the t h i n o x i d e . The f a b r i c a t i o n scheme chosen i n t h i s work uses low temperature thermal o x i d a t i o n i n dry oxygen f o l l o w e d by thermal evaporation of aluminum or magnesium. The oxide growth 34 t e c h n i q u e p e r m i t t e d c o n t r o l o f o x i d e t h i c k n e s s by v a r y i n g o x i d a t i o n t e m p e r a t u r e and t i m e . The two m e t a l s u s e d have s u f f i c i e n t l y d i f f e r e n t work f u n c t i o n s t o p r o d u c e s i g n i f i c a n t d i f f e r e n c e s i n d i o d e p r o p e r t i e s . An a t t e m p t i s made i n S e c t i o n 3.4.2 . 1 t o e x p l a i n t h e d i f f e r e n t d i o d e p r o p e r t i e s s o l e l y due t o t h i s d i f f e r e n c e i n m e t a l work f u n c t i o n . 3 .3 Reverse B i a s Capacitance Measurements The r e v e r s e b i a s c a p a c i t a n c e of a S c h o t t k y d i o d e i s g i v e n by [ 2 5 ] : 1/2 C = [ q e s N A A / 2 ( V c + kT/q - V ) ] F a r a d s 3.28 where V c , t h e c o n t a c t v o l t a g e , i s r e l a t e d t o t h e b a r r i e r h e i g h t by: V = v c + * i r i n < V V + n - A ? 3.29 f o r p - t y p e m a t e r i a l , where: A £ = (qi> :/4ir-e 0) 1 / 2 3.30 i s t h e l o w e r i n g of t h e b a r r i e r due t o t h e S c h o t t k y e f f e c t . P r o v i d e d t h e m e t a l F e r m i e n e r g y r e m a i n s p i n n e d t o t h e s e m i c o n d u c t o r F e r m i e n e r g y ( i . e . t h e r e v e r s e l e a k a g e i s s m a l l ) t h e above e q u a t i o n s s h o u l d a p p l y t o an MIS d i o d e . A p l o t of 2 2 A /C v e r s u s V s h o u l d y i e l d a s t r a i g h t l i n e w i t h s l o p e 2 / q e g N A and i n t e r c e p t e q u a l t o V^. MIS d i o d e s were f a b r i c a t e d on p - t y p e s u b s t r a t e s w i t h n o m i n a l 35 r e s i s t i v i t i e s of 10, 2, 0.5 and 0.1 ohm-cm, using aluminum and magnesium as the b a r r i e r metals and the f a b r i c a t i o n sequence d e s c r i b e d i n Appendix A.2.1. The diodes were c i r c u l a r dots of 2 area 0.11 cm d e f i n e d by a shadow mask. The ca p a c i t a n c e was measured at 1000 Hz using the l o c k - i n a m p l i f i e r and a s s o c i a t e d e l e c t r o n i c s d e s c r i b e d i n Chapter 2. The data was read d i r e c t l y i n t o the Apple computer and subsequently analyzed using a f i r s t order l e a s t - s q u a r e s f i t t i n g technique to o b t a i n the slope and v o l t a g e i n t e r c e p t . The e r r o r i n the measured con t a c t p o t e n t i a l was estimated to be ± 0.03 eV from repeated measure-ments and by v a r y i n g the set of p o i n t s over which the l e a s t -2 2 squares f i t was performed. F i g . 3.3 shows a p l o t of A /C v r s . V f o r aluminum MIS diodes f a b r i c a t e d on 10 and 2 ohm-cm p-type s i l i c o n . From the slope and v o l t a g e i n t e r c e p t of the graph, the doping d e n s i t y and b a r r i e r h eight were, c a l c u l a t e d . Table 3.1 shows the r e s u l t s obtained f o r magnesium and aluminum diodes f a b r i c a t e d on the v a r i e t y of d i f f e r e n t r e s i s t i v i t y s u b s t r a t e s used. The b a r r i e r h e i g h t s measured on the 10 and 2 ohm-cm s u b s t r a t e s show l e s s e r r o r because they are the average of three d i f f e r e n t samples. Before commenting on these r e s u l t s , a more d e t a i l e d c o n s i d e r a t i o n of t h i s measurement i s r e q u i r e d . The s u r f a c e p o t e n t i a l at the onset of stro n g i n v e r s i o n i s d e f i n e d as: U s ) i n v = 2kT/q ln(n./N A) 3.31 for a p-type semiconductor. The b a r r i e r h e i g h t corresponding to t h i s p o t e n t i a l w i l l be: Bias Voltage (V) Figure 3.3. Determination of Substrate Doping and Contact P o t e n t i a l for Aluminum MIS Diodes on 10 and 2 ohm-cm P-Type S i l i c o n . Measurement Frequency - 1000 Hz. 37 U B p ) i n v = 2kT/q ln(N A/n.) + kT/q ln(N c/N A) 3.32 The work f u n c t i o n s f o r aluminum and magnesium are 4.1 eV and 3.35 eV r e s p e c t i v e l y , obtained from C-V measurements [26]. The minimum b a r r i e r height r e q u i r e d f o r strong i n v e r s i o n of 0.1 ohm-cm s i l i c o n , the lowest r e s i s t i v i t y s t u d i e d i n t h i s work, i s 0.98 eV at 300°K. Using the s i l i c o n e l e c t r o n a f f i n i t y of 4.15 eV [26] in Eq. 3.11, which assumes no s u r f a c e s t a t e s , both aluminum and magnesium should be capable of producing strong i n v e r s i o n i n p-type s i l i c o n of r e s i s t i v i t y as low as 0.1 ohm-cm. The e f f e c t of s u r f a c e s t a t e s i s complex but t h e i r presence w i l l , i n g e n e r a l , produce lower b a r r i e r h e i g h t s than i f no s u r f a c e s t a t e s are pr e s e n t . With t h i s u n c e r t a i n t y about s u r f a c e s t a t e s , i t i s not assured that both aluminum and magnesium w i l l s t r o n g l y i n v e r t a l l the s u b s t r a t e s used i n t h i s work. The reverse b i a s c a p a c i t a n c e measurements are an attempt to check whether or not strong i n v e r s i o n i s present i n the diodes f a b r i c a t e d . The presence of an i n v e r s i o n l a y e r at the semiconductor 2 2 su r f a c e c o m p l i c a t e s the A /C versus V p l o t s . Green [27] has shown that i f an i n v e r s i o n l a y e r i s present at the semiconductor s u r f a c e , the measured co n t a c t v o l t a g e w i l l not y i e l d the a c t u a l b a r r i e r but r a t h e r a value somewhat lower. The r e l a t i o n between a c t u a l and measured b a r r i e r h e i g h t s i s not s i n g l e - v a l u e d but there i s a lower bound at which p o i n t the a c t u a l and measured b a r r i e r h e i g h t s begin to d i f f e r ( i . e . the onset of stro n g i n v e r s i o n ) and an upper bound which the measured b a r r i e r height cannot exceed. T h i s upper bound i s shown f o r the case of 38 Table 3 . 1 . C a l c u l a t e d B a r r i e r Heights f o r Aluminum and Magnesium MIS Diodes Determined from Reverse Bias Capacitance Measurements. B a r r i e r Metal Nominal R e s i s i t i v t y O x i d a t i o n Time/Temp. Doping D e n s i t y Contact P o t e n t i a l B a r r i e r Height (ohm-cm) (min/°C) (cm" 3) (V) (eV) A l 10 20/500 1 . 4 X 1 0 1 5 0.62 .88±.02 Mg 10 20/500 1 . 3 X 1 0 1 5 0.60 •86±.02 A l 2 20/500 6. 1 X 1 0 1 5 0.70 .92±.02 Mg 2 20/500 6.6X10 1 5 0.69 .91±.02 A l 0.5 20/500 4.2x10 1 6 0.87 1 .03±.03 Mg 0.5 20/500 3.9 x 10 1 6 0.81 •98±.03 A l 0.1 20/500 2.3X10 1 7 0.95 1.07±.03 Mg 0.1 5/500 2.4x10 1 7 0.86 .98±.03 Mg 0.1 20/500 2.4X10 1 7 0.91 1.03±.03 Mg 0.1 20/600 2.1X10 1 7 0.91 1.04±.03 Mg 0.1 20/650 2.3X10 1 7 0.82 .94±.03 39 15 -3 N A = 7x10 cm i n F i g . 3.5. I f the semiconductor s u r f a c e i s in strong i n v e r s i o n then the measured b a r r i e r height should l i e between these two l i m i t s . The measured b a r r i e r h e i g h t s from Table 3.1 are p l o t t e d in F i g . 3.4 with the upper and lower bounds shown as dot t e d l i n e s . Even with these e r r o r s taken i n t o c o n s i d e r a t i o n , some anomalous r e s u l t s are obtained. In a l l cases, the measured b a r r i e r height f o r aluminum i s g r e a t e r than that of magnesium on the same r e s i s t i v i t y s u b s t r a t e . T h i s r e s u l t can be e x p l a i n e d i f one in c l u d e s the Schottky b a r r i e r lowering term i n computation of the b a r r i e r h e i g h t s . Computation of t h i s term r e q u i r e s knowledge of the s u r f a c e f i e l d which cannot be e x t r a c t e d d i r e c t l y from the ca p a c i t a n c e measurement but i t i s c l e a r that a lower metal work f u n c t i o n w i l l produce a l a r g e r s u r f a c e f i e l d and thus c o u l d r e s u l t i n a lower measured b a r r i e r h e i g h t . The ex p e r i m e n t a l l y determined b a r r i e r h e i g h t s f o r aluminum on 0.5 and 0.1 ohm-cm p-type s i l i c o n are s l i g h t l y higher than the t h e o r e t i c a l upper l i m i t shown i n F i g . 3.4 and approach the value obtained from Eq. 3.11 of 1.07 eV. I n c l u s i o n of the Schottky b a r r i e r lowering and p o s s i b l y Fermi-Dirac s t a t i s t i c s may be necessary to completely e x p l a i n these r e s u l t s . Without r e s o r t i n g to the mathematical complexity of these e f f e c t s , i t i s s t i l l p o s s i b l e to draw some c o n c l u s i o n s from these r e s u l t s . Both aluminum and magnesium produce s t r o n g i n v e r s i o n of p-type s i l i c o n of r e s i s t i v i t y as low as 0.1 ohm-cm. The aluminum b a r r i e r height approaches the 40 Log (NA/CIO"3) Figure 3 . 4 . Calculated B a r r i e r Heights f o r Aluminum and Magnesium MIS Diodes - E f f e c t of Substrate R e s i s t i v i t y and Oxide Growth Temperature. Figure 3.5. Calculated versus Actual B a r r i e r Height for P-Type S i l i c o n - N A - 7 x l 0 1 5 cm"3. 42 t h e o r e t i c a l value of 1.07 eV. The magnesium b a r r i e r height i s g r e a t e r than that of aluminum but i t s a c t u a l value cannot be determined from the reverse b i a s c a p a c i t a n c e . The l a s t a s s e r t i o n i s supported by the r e s u l t s of the next s e c t i o n s . 3.4 Dark Curre n t - V o l t a g e C h a r a c t e r i s t i c s 3.4.1 Semiconductor-Limited Regime The most s t r a i g h t f o r w a r d measurement which can be performed on an MIS diode i s the d e t e r m i n a t i o n of the c u r r e n t - v o l t a g e c h a r a c t e r i s t i c . Since the t h e o r e t i c a l a n a l y s i s presented above p r e d i c t s an e x p o n e n t i a l r e l a t i o n s h i p between c u r r e n t and v o l t a g e p r o v i d e d the a p p l i e d b i a s appears e n t i r e l y a c r o s s the semiconductor d e p l e t i o n r e g i o n , i t i s c o n v e n t i o n a l to p l o t l o g ( J ) v r s . V to o b t a i n a s t r a i g h t l i n e . The measured c u r r e n t w i l l be the sum of the e l e c t r o n and hole c u r r e n t d e n s i t i e s : J ( V ) = J (V) + J,(V) 3.33 e n where J e<V) i s given by Eq. 3.24 and J h ( V ) by Eq. 3 . 2 1 . I f there i s n e g l i g i b l e s e p a r a t i o n between the metal and m i n o r i t y c a r r i e r Fermi l e v e l (V =* A</>) , then J e ( V ) may be r e p l a c e d by the semiconductor dark c u r r e n t d e n s i t y J Q ( A 0 ) + J R ( ^ ( A 0 ) (Eqs. 3.4 and 3 . 6 ) . D i f f e r e n t s u b s t r a t e r e s i s t i v i t i e s w i l l y i e l d d i f f e r e n t semiconductor dark c u r r e n t d e n s i t i e s due to the dependence of J D and J R Q on doping d e n s i t y , with the lower r e s i s t i v i t y producing the lower dark c u r r e n t d e n s i t y . Thus, i f the m i n o r i t y c a r r i e r c u r r e n t dominates i n the MIS diode, then diodes 43 f a b r i c a t e d on d i f f e r e n t r e s i s t i v i t y s u b s t r a t e s should produce d i f f e r e n t dark c u r r e n t d e n s i t i e s . F i g s . 3.6 and 3.7 show the J-V c h a r a c t e r i s i t c s of MIS diodes on p-type s u b s t r a t e s of nominal 10, 2, 0.5 and 0.1 ohm-cm r e s i s t i v i t y using b a r r i e r metals of aluminum and magnesium, r e s p e c t i v e l y . The de v i c e f a b r i c a t i o n procedure i s o u t l i n e d i n Appendix A.2.1. The c h a r a c t e r i s t i c s were measured at 20°C using the c u r r e n t - t o - v o l t a g e c o n v e r t e r s connected t o the Apple computer. In the b i a s region where the i n j e c t i o n - d i f f u s i o n c u r r e n t dominates, both aluminum and magnesium diodes show the p r e d i c t e d dependence of the dark c u r r e n t d e n s i t y on s u b s t r a t e r e s i s t i v i t y but the aluminum d e v i c e s c l e a r l y e x h i b i t l e s s dependence than d e v i c e s f a b r i c a t e d with magnesium. Since the semiconductor dark c u r r e n t d e n s i t y i s independent of the metal used, the d i f f e r e n c e between the aluminum and magnesium c h a r a c t e r i s t i c s suggests the presence of another c u r r e n t component. A p o s s i b l e e x p l a n a t i o n f o r these r e s u l t s i s that the m a j o r i t y c a r r i e r c u r r e n t component i n the aluminum dev i c e s i s l a r g e r than that found i n the magnesium d e v i c e s and that the magnitude of t h i s c u r r e n t i s g r e a t e r than the i n j e c t i o n - d i f f u s i o n dark c u r r e n t obtained on the 0.1 ohm-cm r e s i s t i v i t y s u b s t r a t e . D i r e c t q u a n t i t a t i v e comparison of the dark c u r r e n t d e n s i t i e s i s made d i f f i c u l t by the s l i g h t l y d i f f e r e n t s l o p e s of each l o g ( J ) versus V curve. Although a l l curves e x h i b i t a l i n e a r r e g i o n i n the b i a s range from 0.5 to 0.6 v o l t s , the n f a c t o r s , where n i s d e f i n e d from the e m p i r i c a l r e l a t i o n : J(V) = J n exp(qV/nkT) 3.34 Figure 3 . 6 . Forward Bias Dark Current Density for Aluminum MIS Diodes on Various R e s i s t i v i t y P-Type S i l i c o n . T = 2 0 ° C . Figure 3 . 7 . Forward Bias Dark Current Density for Magnesium MIS Diodes on Various R e s i s t i v i t y P-Type S i l i c o n . T = 20°C. 46 d i f f e r f o r each curve. If i t were s t r i c t l y t r ue that V = A0, a dev i c e dominated by m i n o r i t y c a r r i e r c u r r e n t would e x h i b i t an n f a c t o r of u n i t y . U n f o r t u n a t e l y , due to the e f f e c t s of space charge recombination (see Eqs. 3.6 to 3.8), bulk s e r i e s r e s i s t a n c e and the need f o r a small d i f f e r e n c e between V and A<t> to supply the m i n o r i t y c a r r i e r c u r r e n t , u n i t y n f a c t o r s are seldom obtained i n r e a l MIS diodes. ( I t should a l s o be noted that u n i t y n f a c t o r s are seldom obtained i n pn j u n c t i o n diodes, even though m i n o r i t y c a r r i e r c u r r e n t s are unquestionably dominant [28].) E x t r a p o l a t i o n of each curve to zero b i a s i n order to determine the value of JQ and then equating i t to JQ D can l e a d to s e r i o u s e r r o r s . An approximate method f o r determining JQ i s to assume that V = A<£ at some b i a s near the lower l i m i t of the l i n e a r r e g ion (e.g. V = 0.5 v o l t s ) where the e f f e c t s of s e r i e s and tunnel r e s i s t a n c e w i l l be minimal and assume u n i t y n f a c t o r f o r t h i s p o i n t . J Q may then be c a l c u l a t e d from Eq. 3.34 with n set to one. The r e s u l t s of t h i s c a l c u l a t i o n are shown i n Table 3.2. For r e s i s t i v i t i e s as low as 0.5 ohm-cm, the JQ values of aluminum and magnesium are approximately the same suggesting that these c u r r e n t s are due to p r o p e r t i e s of the semiconductor s i n c e they are independent of the b a r r i e r metal. However, f o r 0.1 ohm-cm m a t e r i a l , the values of JQ f o r aluminum and magnesium diodes are s i g n i f i c a n t l y d i f f e r e n t . These r e s u l t s show a dark c u r r e n t d e n s i t y of - 9 -2 . 1x10 mA-cm i s present i n the aluminum diodes while a value - 1 0 - 2 l e s s than 4x10 mA-cm i s flo w i n g i n the magnesium diodes. Such a d i f f e r e n c e may be e a s i l y a t t r i b u t e d t o the d i f f e r e n c e i n 47 Table 3.2. Estimated I n j e c t i o n - D i f f u s i o n Dark Current Density f o r Aluminum and Magnesium Diodes. O x i d a t i o n Temperature = 500°C. Measurement Temperature = 20°C. B a r r i e r Metal Nominal Substrate R e s i s t i v i t y Dark Current Density at 500mV Forward Bias Estimated J 0 (ohm-cm) (mA-cm ) - 2 (mA-cm ) A l 10 3.2 8.0x1O - 9 Mg 1 0 4.0 1.0X10~ 8 A l 2 1 .6 3.9X10~ 9 Mg 2 1 .3 3.3x10~ 9 A l 0.5 0.92 2.3X10~ 9 Mg 0.5 0.68 1,7X10~ 9 A l 0.1 0.64 1.6x10~ 9 Mg 0.1 0.15 3.7X10~ 1 0 4 8 metal work f u n c t i o n between aluminum and magnesium s i n c e a f a c t o r of ten d i f f e r e n c e i n thermionic c u r r e n t i s obtained f o r every 0.06 eV d i f f e r e n c e i n b a r r i e r height (see Eq. 3.15). Somewhat more p u z z l i n g r e s u l t s were obtained when the e f f e c t s of oxide t h i c k n e s s were i n v e s t i g a t e d . Magnesium b a r r i e r metal diodes were f a b r i c a t e d on 0.1 ohm-cm p-type s u b s t r a t e s using schedule A.2.1 i n Appendix A with furnace temperatures of 500, 600, and 650°C employed for the growth of the t h i n oxide. C u r r e n t - v o l t a g e c h a r a c t e r i s t i c s f o r these d e v i c e s are p l o t t e d i n F i g . 3.8. C l e a r l y the higher furnace temperature oxides y i e l d higher dark c u r r e n t s . If thermionic emission i s the dominant c u r r e n t then the opposite e f f e c t i s expected s i n c e the i n c r e a s e d oxide t h i c k n e s s f o r the higher temperature oxides would l e a d to a r e d u c t i o n i n t u n n e l l i n g p r o b a b i l i t y f a c t o r and thus i n thermionic emission. Two e x p l a n a t i o n s f o r these r e s u l t s are p o s s i b l e . I f the m i n o r i t y c a r r i e r c u r r e n t dominates, then the i n c r e a s e i n dark c u r r e n t with i n c r e a s e d o x i d a t i o n temperature may be a t t r i b u t e d to a r e d u c t i o n i n the m i n o r i t y c a r r i e r l i f e t i m e at the higher furnace temperatures. The estimated dark c u r r e n t d e n s i t i e s and l i f e t i m e s obtained assuming JQ = JQ d and using Eq. 3.5 are shown i n Table 3.3 (a value of e l e c t r o n d i f f u s i v i t y 2 -1 — 1 of D f i = 15 cm V s was used f o r t h i s c a l c u l a t i o n [ 2 9 ] ) . The l i f e t i m e d egradation r e q u i r e d to e x p l a i n these r e s u l t s i s g r e a t e r than can be expected f o r exposure of s i l i c o n to temperatures not exceeding 650°C. An a l t e r n a t i v e e x p l a n a t i o n r e c o g n i z e s the p o s s i b i l i t y that the b a r r i e r height may decrease 49 -5 I 1 1 I I 200 300 400 500 600 700 B i a s V o l t a g e (mV) Figure 3 .8 . Forward Bias Dark Current Density for Magnesium Diodes on 0.1 ohm-cm P-Type S i l i c o n -E f f e c t of Varying Oxidat ion Temperature. Measurement Temperature - 20°C. 50 Table 3.3. Estimated I n j e c t i o n - D i f f u s i o n Dark Current D e n s i t i e s and M i n o r i t y C a r r i e r L i f e t i m e s f o r Magnesium MIS Diodes on 0.1 ohm-cm P-type S i l i c o n . E f f e c t of Ox i d a t i o n Temperature. Measurement Temperature = 20°C. Oxid. Temp. Dark Current D e n s i t y at 500mV Forward Bias E s t . J Q E s t . L i fetime Assumed I n s u l a t o r Thickness X (°C) (mA-cm ) (mA-cm 2 ) us> 0 A (eV) 500 .128 3 . 2 X 1 0 " 1 0 .29 18 3.7 600 .250 6 . 2 X 1 0 " 1 0 .077 20 2.9 650 .950 2.4X10" 9 .0052 22 2.2 with i n c r e a s i n g oxide t h i c k n e s s as observed by Card and Rhoderick [20] using g o l d on n-type s i l i c o n . T h i s mechanism assumes that m a j o r i t y c a r r i e r c u r r e n t dominates and that the in c r e a s e i n thermionic c u r r e n t due to a r e d u c t i o n i n the energy b a r r i e r x more than compensates the decrease due to an i n c r e a s e i n oxide t h i c k n e s s . The l a s t column i n Table 3.3 i l l u s t r a t e s the energy b a r r i e r that would be r e q u i r e d to compensate f o r the in c r e a s e d oxide t h i c k n e s s e s l i s t e d . These t h i c k n e s s e s are obta i n e d from measurements and c a l c u l a t i o n s d e s c r i b e d i n S e c t i o n 3.4.2.2. T h i s second e x p l a n a t i o n i s more a c c e p t a b l e than the f i r s t f o r which there have been no other such v a r i a t i o n s r e p o r t e d . No d e f i n i t e c o n c l u s i o n s can be drawn from t h i s experiment but i t does i l l u s t r a t e the d i f f i c u l t y i n 51 c h a r a c t e r i z i n g semiconductor d e v i c e s when complex i n t e r p l a y between parameters i s p o s s i b l e . 3.4.2 Tunnel-Limited Regime 3.4.2.1 Effect of Metal Work Function When the forward b i a s a p p l i e d to an MIS diode becomes s i g n i f i c a n t l y d i f f e r e n t from A0, the l o g ( J ) versus V p l o t w i l l no longer be a s t r a i g h t l i n e but r a t h e r w i l l curve towards the h o r i z o n t a l e x h i b i t i n g an e f f e c t very s i m i l a r to s e r i e s r e s i s t a n c e . An or d i n a r y diode with bulk s e r i e s r e s i s t a n c e f o r 2 2 1 cm of device area of R. ohm-cm w i l l e x h i b i t a c h a r a c t e r i s t i c A given by the r e l a t i o n : J(V) = J n D exp[q{V-R AJ(V)}/kT-] 3.35 when in high forward b i a s . R^ accounts f o r the r e s i s t i v e p o t e n t i a l i n the bulk of the semiconductor and, as with the t u n n e l - l i m i t i n g phenomena, causes a d i f f e r e n c e between the a p p l i e d b i a s V and the s e p a r a t i o n of the quasi-Fermi e n e r g i e s i n the d e p l e t i o n region A(j>. The s i m i l a r i t y of the two phenomena make i t d i f f i c u l t to d i s t i n q u i s h between s e r i e s r e s i s t a n c e and t u n n e l - l i m i t i n g when a n a l y z i n g the high forward b i a s p o r t i o n of an MIS diode c h a r a c t e r i s t i c . The e s s e n t i a l f e a t u r e which d i f f e r e n t i a t e s t u n n e l - l i m i t i n g and s e r i e s r e s i s t a n c e i s that s e r i e s r e s i s t a n c e i s a prope r t y of the semiconductor and i s independent of the b a r r i e r metal. T u n n e l - l i m i t i n g , on the other hand, depends on the magnitude of the m i n o r i t y c a r r i e r thermionic emission c u r r e n t s - w h i c h depend on the metal work f u n c t i o n through the metal-semiconductor 52 b a r r i e r height (Eq. 3.16). MIS diodes f a b r i c a t e d with d i f f e r e n t b a r r i e r metals on i d e n t i c a l s u b s t r a t e s should e x h i b i t a d e v i a t i o n from the s t r a i g h t l o g ( J ) v r s . V r e l a t i o n at d i f f e r e n t c u r r e n t d e n s i t i e s i f the t u n n e l - l i m i t i n g phenomena dominates over s e r i e s r e s i s t a n c e . T h i s statement i s v e r i f i e d e x p e r i m e n t a l l y and an attempt i s made to q u a n t i t a t i v e l y f i t measured MIS diode c h a r a c t e r i s t i c s to the t h e o r e t i c a l model [30], MIS diodes were f a b r i c a t e d on 2 and 10 ohm-cm p-type s i l i c o n using magnesium and aluminum as the b a r r i e r metal a c c o r d i n g to the procedure d e s c r i b e d i n Appendix A.2.1. Reverse b i a s c a p a c i t a n c e - v o l t a g e measurements, as d e s c r i b e d i n S e c t i o n 3.3, were performed to.determine the doping d e n s i t y of the s u b s t r a t e . The area of the diode, d e f i n e d by a shadow mask, was 2 a nominal 0.3 cm but the a c t u a l area of each dot v a r i e d somewhat due to i r r e g u l a r i t i e s i n the shadow mask. P r e c i s e measurement of the tr u e dot areas was not p r a c t i c a l . Instead, the area of the magnesium dots was estimated by viewing them under a microscope. The area of the aluminum dots was determined by matching the s u b s t r a t e doping d e n s i t i e s obtained 2 2 by the A /C versus V p l o t s performed on both the aluminum and the magnesium dots . Since both dots were evaporated on the same wafer, t h i s technique should compensate f o r any area d i f f e r e n c e between dots of the d i f f e r e n t metals assuming the doping d e n s i t y i s uniform a c r o s s the wafer. The c u r r e n t d e n s i t y versus forward b i a s c h a r a c t e r i s t i c s were measured at 20°C u s i n g the c u r r e n t - t o - v o l t a g e c o n v e r t e r s connected to the Apple computer. The measured c h a r a c t e r i s t i c s l i — r (a) • 69 Aluminum & • - Magnesium 83 • • i i .2 0.6 1.0 cu E (_) < 5 1 o - 3 • I" i 1 I -(b) m m • • B ' -B A • * -- s 1 - -- Aluminum -• • - Magnesium "<J> • -• i 1 Bias Voltage (V) 0.2 0.6 1.0 Bias Voltage (V) Figure 3.9. Measured Forward Bias Dark Current Density for Aluminum and Magnesium MIS Diodes on a) 10 ohm-cm and b) 2 ohm-cm P-Type S i l i c o n . 'cn co 54 fo r the 2 and 10 ohm-cm s u b s t r a t e s are p l o t t e d i n F i g s . 3.9a and 3.9b, r e s p e c t i v e l y . As can e a s i l y be seen, the aluminum diodes e x h i b i t d e v i a t i o n from a l i n e a r l o g ( J ) versus V r e l a t i o n at lower c u r r e n t d e n s i t i e s than the magnesium diodes. T h i s r e s u l t suggests that the t u n n e l - l i m i t i n g phenomena dominates over s e r i e s r e s i s t a n c e i n these d e v i c e s . To see i f the observed r e s u l t s c o u l d be e x p l a i n e d by the MIS t u n n e l l i n g model d e s c r i b e d in S e c t i o n 3.1, the F o r t r a n program implementation of t h i s model, w r i t t e n by N. G. Tarr [21], was employed. In order to c a l c u l a t e the t h e o r e t i c a l s u b s t r a t e dark c u r r e n t d e n s i t i e s , which are input parameters to the model, the m i n o r i t y c a r r i e r l i f e t i m e i n the s u b s t r a t e had to be determined. The technique employed measures the decay of the diode c u r r e n t when sw i t c h i n g from forward to reverse b i a s . For a c e r t a i n time, the reverse c u r r e n t i s l a r g e and constant due to the recombination of m i n o r i t y c a r r i e r s i n j e c t e d i n t o the bulk while the diode was forward b i a s e d . The time r e q u i r e d f o r t h i s recombination to occur i s a measure of the m i n o r i t y c a r r i e r l i f e t i m e [31]. The c i r c u i t used to perform t h i s measurement i s shown i n F i g . 3.10a and a sample output waveform drawn i n F i g . 3.10b. The r e s u l t s f o r the two s u b s t r a t e s used are t a b u l a t e d i n Table 3.4. A l s o t a b u l a t e d are the measured doping d e n s i t i e s and the dark c u r r e n t s c a l c u l a t e d from Eqs. 3.5 and 3.7. The m a j o r i t y c a r r i e r 9 -3 l i f e t i m e T was assumed equal to T . Values of n. = 8x10 cm P n l 2 - 1 - 1 and D n = 34 cm V s f o r s i l i c o n at 20°C were taken from Sze [32]. The other model parameters l i s t e d i n Table 3.5 were a l s o taken from Sze with the exception of the e f f e c t i v e Richardson (a) .2 V/div. 2 j j s e c / d i v . (b) Figure 3.10. Switching Time Measurement -a) Measurement Setup, b) T y p i c a l Shape of Output S i g n a l . 56 Table 3.4. M a t e r i a l P r o p e r t i e s Used f o r MIS Model C a l c u l a t i o n . Parameter p = 2 ohm-cm p = 10 ohm-cm _3 Subst r a t e Doping (cm ) E l e c t r o n L i f e t i m e (r ) n 6.2x10 6 1 5 I n j e c t ion-Di f f u s i o n Current D e n s i t y (mA-cm ^) Recombination-Generation -2. 1.3x1 0 -8 _ o Current D e n s i t y (mA-cm ) 1.5x10 -4 1.3x10 7 15 5.8x10 2.6x10 -4 M e t a l - I n s u l a t o r Work Fun c t i o n (eV) Aluminum Magnesium S i l c o n E l e c t r o n A f f i n i t y (eV) E l e c t r o n E f f e c t i v e Mass i n I n s u l a t o r I n s u l a t o r Band Gap I n s u l a t o r Thickness D e n s i t y of S t a t e s R a t i o E f f e c t i v e Richardson Constant E l e c t r o n s Holes (eV) o (A) (N c / N y) (A-cm 2 o K 1) (A-cnf 2 o K " 1 ) 3.2 2.45 3.7 0.65 m^  8.0 13.5 0.372 45 78 57 constants which were obtained from Ref. 21 and the i n s u l a t o r t h i c k n e s s which was a d j u s t e d to f i t the experimental data. The forward b i a s MIS diode c h a r a c t e r i s t i c s c a l c u l a t e d by the model are p l o t t e d i n F i g . 3.11. The model p r e d i c t s a s i g n i f i c a n t d i f f e r e n c e i n the onset of the t u n n e l - l i m i t e d regime between aluminum and magnesium on both s u b s t r a t e s as was observed e x p e r i m e n t a l l y , although the p r e d i c t e d t u n n e l - l i m i t e d c u r r e n t i n magnesium diodes i s somewhat l a r g e r than a c t u a l l y measured. When an e f f e c t i v e bulk s e r i e s 2 r e s i s t a n c e R A = 0.02 ohm-cm i s used to c o r r e c t the model c a l c u l a t i o n through the r e l a t i o n : V = A<t> + J(A^) • R A , 3.36 much b e t t e r f i t s to the data are obtained ( F i g . 3.12). The same s e r i e s r e s i s t a n c e produced reasonable f i t s on both 2 and 10 ohm-cm s u b s t r a t e s suggesting that a simple bulk s e r i e s r e s i s t a n c e model cannot adequately d e s c r i b e the observed c h a r a c t e r i s t i c s . Since the back c o n t a c t i s much l a r g e r than the f r o n t c o n t a c t area and the high l e v e l i n j e c t i o n c o n d i t i o n : An = Ap =* N A i s present i n the bulk, i t was not deemed p r a c t i c a l to a c c u r a t e l y model the p o t e n t i a l drops i n the bulk at high forward c u r r e n t d e n s i t i e s . I t i s q u i t e p o s s i b l e to o b t a i n the observed non-exponetial behavior i n forward b i a s through a simple bulk s e r i e s r e s i s t a n c e model but a d i f f e r e n t value of s e r i e s r e s i s t a n c e would have to be used to f i t both the magnesium and the aluminum c h a r a c t e r i s t i c s . Since the type of metal which i s d e p o s i t e d on 0.2 0.6 1.0 0.2 0.6 1.0 Bias Voltage (V) Bias Voltage (V) Figure 3.11. Model C a l c u l a t i o n of Forward Bias Dark Current Density for Aluminum and Magnesium MIS Diodes on a) 10 ohm-cm and b) 2 ohm-cm g P-Type S i l i c o n . Model Parameters are given in Table 3 .4 . (a) • - Aluminum • - Magnesium - L 0.2 0.6 1.0 Bias Voltage (V) E u < E 4 cn o -1 -- 3 .(b) 0 - Aluminum El - Magnesium -L 0.2 0.6 1.0 Bias Voltage (V) Figure 3.12. Comparison of Measured (marks) and Ca lcu la ted (so l id l ines) Forward Bias Dark Current Dens i t ies for Aluminum and Magnesium MIS Diodes on a) 10 ohm-cm and b) 2 ohm-cm P-Type S i l i c o n . Ca lcu la ted Data i s from F i g . 3.11 Corrected for an Area Ser ies Resistance of 0.02 ohm-cm 2. cn 60 the s i l i c o n s u r f a c e i s u n l i k e l y to a f f e c t the semiconductor p r o p e r t i e s , a simple bulk s e r i e s r e s i s t a n c e model cannot e x p l a i n the r e s u l t s observed. The MIS model c o r r e c t l y p r e d i c t s the change i n the l i m i t i n g forward b i a s c u r r e n t d e n s i t y s o l e l y through a change of the metal work f u n c t i o n parameter. T h i s MIS model w i l l be used again i n Chapter 6 to i n v e s t i g a t e the e f f e c t s of t u n n e l - l i m i t i n g on the performance of i n v e r s i o n l a y e r s o l a r c e l l s . 3.4.2.2 E f f e c t of Oxide Thickness The e f f e c t of oxide t h i c k n e s s on the t u n n e l - l i m i t i n g phenomena was i n v e s t i g a t e d by v a r y i n g the o x i d a t i o n temperature from 500°C to 650°C on a set of d e v i c e s a l l f a b r i c a t e d on 2 ohm-cm s u b s t r a t e s using aluminum as the b a r r i e r metal. The o x i d a t i o n time was f i x e d at 20 minutes f o r a l l d e v i c e s and a l l other steps i n the f a b r i c a t i o n were as per Appendix A.2.1. Four d e v i c e s were f a b r i c a t e d on the same wafer f o r each o x i d a t i o n temperature. The forward b i a s c u r r e n t d e n s i t y was measured at 1.2 v o l t s , w e l l i n t o the t u n n e l - l i m i t e d regime f o r each device and the v a l u e s f o r the four s i m i l a r d e v i c e s averaged s i n c e there was c o n s i d e r a b l e v a r i a t i o n from device to d e v i c e . The oxide t h i c k n e s s was measured using e l l i p s o m e t r y . Values f o r oxide t h i c k n e s s obtained by t h i s technique are q u i t e s e n s i t i v e to the o p t i c a l constant used f o r the s u b s t r a t e . The o p t i c a l constant of 3.89 - jO.025 used f o r the s i l i c o n had been p r e v i o u s l y determined from other e l l i p s o m e t r y measurements but was not 61 v e r i f i e d f o r these p a r t i c u l a r s u b s t r a t e s . The MIS computer model d e s c r i b e d i n S e c t i o n 3.4.2.1 and Ref. 21 was used to compute the v a r i a t i o n i n oxide t h i c k n e s s necessary to e x p l a i n the v a r i a t i o n i n forward b i a s c u r r e n t . I t was found that a b e t t e r f i t to the oxide t h i c k n e s s e s measured by e l l i p s o m e t r y c o u l d be obtained i f the i n s u l a t o r band gap was changed from 8.0 eV to 7.0 eV. I t i s remarkable that only t h i s small change i n band gap i s r e q u i r e d to f i t the experimental data s i n c e the i n s u l a t o r i s only about four monolayers t h i c k and not the same s t o i c h i o m e t r y as s i l i c o n d i o x i d e , the i n s u l a t o r from which the 8.0 eV band gap was taken. Other input parameters to the model were the same as those l i s t e d i n Table 3.4. The i n s u l a t o r t h i c k n e s s r e q u i r e d i n the model to f i t observed c u r r e n t d e n s i t i e s i s t a b u l a t e d along s i d e the measured i n s u l a t o r t h i c k n e s s e s i n Table 3.5. Although p r e c i s e agreement i s not obtained, both model and experimental values i n d i c a t e that only s l i g h t changes i n i n s u l a t o r t h i c k n e s s produce dramatic changes i n the t u n n e l - l i m i t e d forward b i a s c u r r e n t d e n s i t y of the diode. The expected g e n e r a l trend of lower c u r r e n t s f o r higher o x i d a t i o n temperatures i s observed but q u i t e i n e x p l i c a b l e i s the higher c u r r e n t d e n s i t y f o r the 550°C oxide than the 500°C oxide. One p o s s i b l e e x p l a n a t i o n i s that the higher temperature oxide has a lower energy b a r r i e r r e s u l t i n g i n higher t u n n e l i n g p r o b a b i l i t y f a c t o r even though the i n s u l a t o r t h i c k n e s s has i n c r e a s e d . T h i s e f f e c t has been r e p o r t e d by Card and Rhoderick [20]. The a l t e r n a t i v e e x p l a n a t i o n i s that the higher temperature oxide i s 62 a c t u a l l y t h i n n e r which, although supported by the e l l i p s o m e t r y measurement, seems i n t u i t i v e l y u n l i k e l y . Table 3.5. E f f e c t of O x i d a t i o n Temperature on I n s u l a t o r Thickness f o r Aluminum MIS Diodes on 2 ohm-cm P-Type S i l i c o n - Experimental and T h e o r e t i c a l R e s u l t s . Oxidat ion Temperature (°C) MIS Dark Current D e n s i t y _ o (mA-cm ) Oxide Measured 0 A Thickness C a l c u l a t e d 0 A 500 1800 ± 500 21 18.6 550 2500 ± 500 19 18.3 600 340 ± 50 21 20.3 650 76 ± 10 23 21 .7 63 CHAPTER 4 The MIS B i p o l a r T r a n s i s t o r The previous chapter indicated some of the problems with trying to understand the MIS junction through a simple diode structure. In the hopes of obtaining more concise and consistent data, a more complex transistor structure was devised. This structure requires the formation of two junctions: a base-collector junction which c o l l e c t s any minority c a r r i e r s in the base which reach the junction f i e l d region, and a base-emitter junction which inje c t s minority c a r r i e r s into the base. By u t i l i z i n g an MIS contact to form the base-emitter junction, the majority and minority c a r r i e r current components of the MIS diode may be studied d i r e c t l y . 4.1 Theory of the B i p o l a r T r a n s i s t o r and Base-Width Modulation The essential attractive- feature of the bipolar transistor i s the a b i l i t y to d i r e c t l y observe the in j e c t i o n of minority c a r r i e r s from the emitter-base junction by measurement of the c o l l e c t o r current. This injected current i s detected when the base-emitter junction i s in moderate forward bias (0.3 to 0.7 volts) and the c o l l e c t o r i s reverse biased; thus, analysis of the t r a n s i s t o r w i l l be r e s t r i c t e d to th i s operating condition. 64 The c u r r e n t flows i n the t r a n s i s t o r f o r t h i s o p e r a t i n g conditon are shown i n F i g . 4.1a. Reverse b i a s on the c o l l e c t o r j u n c t i o n causes any m i n o r i t y c a r r i e r s i n the base reachi n g the base-c o l l e c t o r d e p l e t i o n region to be swept by the f i e l d i n t o the c o l l e c t o r . T h i s f i e l d maintains the m i n o r i t y c a r r i e r concen-t r a t i o n i n the b a s e - c o l l e c t o r d e p l e t i o n region at e s s e n t i a l l y z e r o . A forward b i a s a c r o s s the base-emitter j u n c t i o n causes a s p l i t t i n g of the quasi-Fermi l e v e l s by an amount qA<£. If one assumes t h a t the quasi-Fermi l e v e l s are constant a c r o s s the d e p l e t i o n r e g i o n , then t h i s s e p a r a t i o n r e s u l t s i n an i n c r e a s e i n the m i n o r i t y c a r r i e r c o n c e n t r a t i o n at the edges of the d e p l e t i o n r e g i o n by an amount exp(qAc>/kT) . F i g . 4.1b shows the e f f e c t s of these two boundary c o n d i t i o n s on the m i n o r i t y c a r r i e r concen-t r a t i o n s i n an npn t r a n s i s t o r . The c o n c e n t r a t i o n s f o r two a p p l i e d b a s e - c o l l e c t o r b i a s e s , V and V , where |V| < |V |, are shown. The boundary c o n d i t i o n s may be w r i t t e n e x p l i c i t l y [33]: where n gQ i s the e q u i l i b r i u m e l e c t r o n c o n c e n t r a t i o n i n the base. If the base doping i s uniform and the excess m i n o r i t y c a r r i e r c o n c e n t r a t i o n i s much l e s s than the hole c o n c e n t r a t i o n (low l e v e l i n j e c t i o n c o n d i t i o n ) , the m i n o r i t y c a r r i e r s w i l l move through the base s o l e l y by d i f f u s i o n [33]: n R ( 0 ) = n R n[exp(qA«/kT) - 1] 4.1 W = 0 4.2 dt dn Sn 8 + _ q 9x 1 9J n 6n r B + D n B 4.3 n 6 5 N J n (0) J N (W B) N J PE J pC J nB x=0 x=w B a) C u r r e n t Flows i n an NPN T r a n s i s t o r E B " ~ C b) E f f e c t of B a s e - C o l l e c t o r B i a s on M i n o r i t y C a r r i e r C o n c e n t r a t i o n s i n an NPN T r a n s i s t o r . F i g u r e 4.1 66 where 6n B = rig - nfiQ i s the excess e l e c t r o n c o n c e n t r a t i o n i n the p-type base. For steady s t a t e c o n d i t i o n s , dn/dt = 0, Eq. 4.3 may be s o l v e d s u b j e c t to boundary c o n d i t i o n s 4.1 and 4.2. The s o l u t i o n i s : 6 „ e . n B 0 [ e l e (e U ^ l > i l l i 4 . 4 a n g D n n B 0 ^ x=0 - L n s i n h ( H B / L n ) " + c o s h ( w E / L n ) t e k T - , ] J 4.5 • L s i n h ( H R y L ) ( c ° s h ( W B / L n ) + [ e k T - l l ) 4.6 D n e n The t o t a l e m i t t e r c u r r e n t d e n s i t y w i l l comprise J n ( ° ) p l u s the hole c u r r e n t d e n s i t y f l o w i n g from the base. For an MIS e m i t t e r , t h i s hole c u r r e n t d e n s i t y i s the m a j o r i t y c a r r i e r thermionic emission c u r r e n t d e n s i t y given by Eq. 3.21 so the t o t a l e m i t t e r c u r r e n t w i l l be: I E = A [ J n ( 0 ) - J T H ] 4.7 where A i s the e m i t t e r area. Recombination i n the base-emitter d e p l e t i o n r e g i o n has been n e g l e c t e d s i n c e i t should be n e g l i g i b l e at moderate forward b i a s . I t i s convenient to d e f i n e the e m i t t e r i n j e c t i o n e f f i c i e n c y y as the r a t i o of m i n o r i t y c a r r i e r c u r r e n t d e n s i t y to t o t a l e m i t t e r c u r r e n t d e n s i t y : 7 = J n ( 0 ) / J E = J n ( 0 ) / [ J n ( 0 ) - J T H ] 4.8 For a good e m i t t e r , 7 should be very c l o s e to one. 6 7 The c o l l e c t o r current w i l l be the sum of the injected minority c a r r i e r current flowing into the c o l l e c t o r and any reverse bias leakage current I C B g : ZC " [ ICB0 " A J (V ] 4 ' 9 and the base current w i l l be: *B = " { I E + I C ) = A [ J T H + W ~ J n ( 0 ) ] - JCB0 4 ' 1 ° Based on these equations, the transistor gains may be evaluated: A ( I C - I C B 0 ) W a = V = J n ( 0 ) ^ A { IC" ICB0 ) _ " W 1 ' " ' ( I B + I C B 0 ) = L J n ( W B ) - J n ( 0 ) / 7 j - [cosh(W B/L n)/ 7 - Ij 4 ' 1 2 The above equations are obtained assuming exp(qA#/kT) » 1 which i s true for the bias range being discussed. E x p l i c i t evaluation of the transistor currents as functions of base width permit determination of the effects of base width modulation (BWM) [34]. A modulation of the base-collector reverse bias w i l l modulate the width of the depletion region. If the c o l l e c t o r is far more heavily doped than the base (or i f an MIS c o l l e c t o r i s used), most of the change in depletion region width w i l l appear as a change in base width (Fig. 4.1b). A modulation of the steady state base and c o l l e c t o r currents w i l l r e s u l t : ab ~ dV B C vbc dWB dV B C vbc 68 A 3 D n n B 0 ^ d W B " B " [ c o s h ( W R / L ) - 1 ] [e k T - 2 ] -«=£- V, 4.13 L s i n h (Wg/L ) B n d V B C b C • v ^ ^ B v + ^icBO c " d V B C be " dWB d V B C be d V B C = A q " n n B 0 cosMw^/LHe^-l] V, + 4.14 L 2 s i n h 2 ( W R / L ) n d V B C b G d V B C n a n If the base-emitter forward b i a s i s l a r g e and the c o l l e c t o r leakage independent of b i a s , then the r a t i o of s m a l l - s i g n a l c o l l e c t o r to base c u r r e n t i s q u i t e simply: A ^ -cosh(W D/L ) j. A c _ B n . f-~ l c o s h ( W B/ L n ) - 1J 4 , 1 : 3 T h i s equation depends only on the base width and the m i n o r i t y c a r r i e r d i f f u s i o n l e n g t h i n the base suggesting a technique f o r measuring the d i f f u s i o n l e n g t h parameter. E v a l u a t i o n of the f u n c t i o n i n Eq. 4 . 1 5 shows that the d i f f u s i o n l e n g t h should be g r e a t e r than the base width f o r a s e n s i t i v e measurement to be obtained. C l e a r l y , f o r L n << Wg; $ tends to -1 and so l i t t l e i n f o r m a t i o n about the d i f f u s i o n l e n g t h i s o b t a i n e d . However, fo r L >> W_,: n D $ — * -2L n 2/W f i 2 4.16 so the method i s i d e a l l y s u i t e d to measurement of d i f f u s i o n l e ngths g r e a t e r than the base width ['35]. Other methods f o r measuring d i f f u s i o n l e n g t h normally f a i l when the d i f f u s i o n 69 l e n g t h i s g r e a t e r than the width of the d e v i c e because recombination of the m i n o r i t y c a r r i e r s at the device boundaries dominates [36]. The modulation of the base width by a s m a l l - s i g n a l ac s i g n a l v ^ c = | v^ | s i n (cot) w i l l r e s u l t in a change i n the b a s e - c o l l e c t o r d e p l e t i o n r e g i o n charge Q D» T h i s change in charge must be s u p p l i e d by an a d d i t i o n a l c u r r e n t component 90° out-of-phase with the s m a l l - s i g n a l base width modulation c u r r e n t s : dQ dV i c ( q u a d ) - -gfC = jcoC DV b c 4.17 Accurate measurement of the base width modulation c u r r e n t s r e q u i r e that t h i s out-of-phase component be t o t a l l y r e j e c t e d by the measuring apparatus; thus, a phase s e n s i t i v e d e t e c t i o n d e v i c e i s r e q u i r e d . A l s o present i n the measured s m a l l - s i g n a l base and c o l l e c t o r c u r r e n t s i s the leakage component ^ C B Q ^ ^ B C w n i c n * s normally not n e g l i g i b l e . The a b i l i t y -t-o s u c c e s s f u l l y perform the BWM measurement r e l i e s on the magnitude of the leakage c u r r e n t being small enough to be n e g l e c t e d , or at l e a s t to be s u b t r a c t e d from the measured c u r r e n t s without s i g n i f i c a n t l o s s of accuracy. Both leakage and c a p a c a t i v e c u r r e n t components should be c o n s t a n t , independent of base-emitter b i a s while the base width modulation c u r r e n t s both grow e x p o n e n t i a l l y with A#: 70 qA<p 1 c op exp( kT 4.18 Observation of t h i s exponential dependence of current on bias i s a way of checking that the actual effects of base width modulation are being observed. The exponential behavior of the BWM currents w i l l be characterized by an n factor defined by the r e l a t i o n : True BWM currents should exhibit a unity n factor. It should be noted that these currents display no exp(qA<£/2kT) dependence at low bias since they are only due to minority c a r r i e r i n j e c t i o n and are not affected by recombination in the base-emitter depletion region. However, since A 0 , the separation of the quasi-Fermi energies, may d i f f e r from the applied bias V due to bulk series resistance or tunnel resistance, the unity n factor w i l l only be obtained at low forward bias. Base series resistance can lead to another problem with the measurement. As mentioned e a r l i e r , the base-collector depletion region charging current i s spurious to the BWM measurement. The presence of a base series resistance w i l l cause some of t h i s out-of-phase current to be mixed into the in-phase current. A crude c i r c u i t model for t h i s phenonena i s shown i s Fig 4.2. The measured in-phase current w i l l be: ib, ic cc ex 4.19 l . in-phase 4 . 2 0 Emit ter Base C o l l e c t o r F i g u r e 4 . 2 . S i m p l e Model f o r D e t e r m i n i n g E f f e c t s of Base S p r e a d i n g R e s i s t a n c e . 72 The c o n d i t i o n that R G be much l e s s than one i s e s s e n t i a l f o r the s BWM technique to work p r o p e r l y . I t i s a l s o necessary that the 2 2 term u C R g be much smaller than G s i n c e t h i s i s a c t u a l l y part of the c a p a c i t i v e c u r r e n t being mixed i n with the tr u e BWM c u r r e n t . If R i s constant then t h i s c u r r e n t can be s u b t r a c t e d ; s but u n f o r t u a n t e l y , R g may depend on the m i n o r i t y c a r r i e r c o n c e n t r a t i o n i n the base. I f t h i s i s the case, in-phase c u r r e n t s not due to BWM may be obtai n e d , thus i n v a l i d a t i n g the measurement. The a b s o l u t e magnitude of the true BWM c u r r e n t s depends on the amount the base width i s modulated by the a p p l i e d v o l t a g e : 1/2 3V 9 VBC = - 9 W / 9 V B C = [ e S / c 3 N A ( V C - V B C ) ] 4 - 2 1 C l e a r l y , more h e a v i l y doped s u b s t r a t e s w i l l e x h i b i t l e s s modulation of the d e p l e t i o n region width and thus w i l l have sm a l l e r BWM c u r r e n t s . Of p a r t i c u l a r i n t e r e s t i s the r a t i o : i c / I c = [9W/3V B C • V b c ] / [ L n t a n h ( W B / L n ) ] 4.22 For the case L >> Wn: n B i c / I c — [9W/9V B C • V b c]/W B 4.23 As t h i s r a t i o becomes s m a l l e r , the problem of d e t e c t i n g the small BWM c u r r e n t w i t h i n the l a r g e dc c u r r e n t becomes more severe. The problems mentioned above s e r i o u s l y l i m i t the a p p l i c a b i l i t y of the BWM technique. Although some de v i c e s f a b r i c a t e d d i d e x h i b i t the p r e d i c t e d BWM c u r r e n t s , many others 73 d i d not. The f o l l o w i n g s e c t i o n s w i l l d e s c r i b e the v a r i o u s t r a n s i s t o r s f a b r i c a t e d and the measurements performed. 4.2 D e t e r m i n a t i o n o f M i n o r i t y C a r r i e r L i f e t i m e Measurement of the r a t i o of s m a l l - s i g n a l c o l l e c t o r to base BWM c u r r e n t s i n a t r a n s i s t o r a l l o w s the det e r m i n a t i o n of the m i n o r i t y c a r r i e r d i f f u s i o n l e n g t h i n the base by s o l v i n g Eq. 4.15 f o r L : n L n = Wfi / c o s h " 1 ] ] 4.24 Before a p p l y i n g t h i s equation, i t i s important to review a l l assumptions made i n d e r i v i n g i t . Eq. 4.3 i s d e r i v e d assuming no d r i f t c u r r e n t component i n the base, thus r e q u i r i n g the base to be u n i f o r m l y doped, or at l e a s t to have a doping g r a d i e n t which produces n e g l i g i b l e f i e l d . S o l v i n g Eq. 4.3 was achieved by assuming steady s t a t e c o n d i t i o n s ; and yet the measurement r e q u i r e s the use of an ac s i g n a l . For the steady s t a t e assumption to be v a l i d , the frequency of the modulating v o l t a g e V"kc must be c o n s i d e r a b l y lower than the r e c i p r o c a l l i f e t i m e of m a j o r i t y and m i n o r i t y c a r r i e r s i n the base and c o l l e c t o r so that q u a s i - e q u i l i b r i u m i s maintained. C a l c u l a t i o n of d i f f u s i o n l e n g t h from Eq. 4.24 r e q u i r e s that the base width be known with reasonable accuracy s i n c e t h i s accuracy w i l l e s s e n t i a l l y determine the maximum accuracy with which the d i f f u s i o n l e n g t h may be c a l c u l a t e d . A l s o , the base width should be l e s s than the d i f f u s i o n l e n g t h to o b t a i n 74 adequate s i g n a l and a s e n s i t i v e measurement. The base doping should be r e l a t i v e l y l i g h t so that there w i l l be s i g n i f i c a n t modulation of the base width by the modulating v o l t a g e and thus measurable c u r r e n t s (Eqs. 4.21 and 4.22). These c o n s i d e r a t i o n s l i m i t the p o s s i b l e d e v i c e s f o r which the measurement i s a p p l i c a b l e . The t r a n s i s t o r s t r u c t u r e chosen f o r d e t e r m i n a t i o n of bulk m i n o r i t y c a r r i e r l i f e t i m e r e q u i r e d , of course, that the s i l i c o n bulk act as the t r a n s i s t o r base. The s i l i c o n bulk being u n i f o r m l y doped e l i m i n a t e d any problems with d r i f t f i e l d s i n the base. U n f o r t u n a t e l y , the normal width of a s i l i c o n wafer (250-400 Mm) i s somewhat g r e a t e r than the expected d i f f u s i o n l e n g t h . Since j u n c t i o n s have to be formed on both s i d e s of the s i l i c o n wafer, the h e a v i l y damaged back of the wafer r e q u i r e s p o l i s h i n g before formation of the c o l l e c t o r j u n c t i o n . To achieve simultaneous t h i n n i n g and p o l i s h i n g of the wafer, a chemical technique adapted from Ref. 37 was used. The technique employs the wafer t h i n n i n g procedure o u t l i n e d i n Appendix A.2.5 as used f o r s i l i c o n shadow mask f a b r i c a t i o n ( S e c t i o n 6.5.3). Wafers were thinned to between 80 and 130 Aim; t h i n n e r wafers were found to be too f r a g i l e to handle. Both e m i t t e r and c o l l e c t o r j u n c t i o n s were formed using the MIS technology. The f a b r i c a t i o n sequence i s given i n Appendix A.2.4.1 and the d e v i c e geometry i s shown in F i g . 4.3. A c o l l e c t o r c o v e r i n g the e n t i r e back of the wafer was not used s i n c e b a s e - c o l l e c t o r c a p a c i t a n c e and c o l l e c t o r leakage c u r r e n t s are p r o p o r t i o n a l to the c o l l e c t o r C o l l e c t o r C o l l e c t o r Base Y77777A ZZZ2777\ p777777| P-Type S i l i c o n Base Dimensions i n Inches Emitter Emitter F i g u r e 4 . 3 . Base Wid th M o d u l a t i o n Wide Base T r a n s i s t o r Geometry f o r D e t e r m i n a t i o n of B u l k M i n o r i t y C a r r i e r L i f e t i m e . 76 area while the BWM c u r r e n t s are p r o p o r t i o n a l t o the smaller e m i t t e r a r e a . Thus, forming a c o l l e c t o r with area s i g n i f i c a n t l y g r e a t e r than the e m i t t e r area would i n c r e a s e the s i g n a l d e t e c t i o n problem. In some i n s t a n c e s , the t r a n s i s t o r was operated upside-down; that i s , with the bottom j u n c t i o n p l a y i n g the r o l e of the e m i t t e r . In a normal t r a n s i s t o r , the emi t t e r area i s l e s s than that of the c o l l e c t o r to ensure that a l l m i n o r i t y c a r r i e r s i n j e c t e d by the e m i t t e r are c o l l e c t e d . It was found e x p e r i m e n t a l l y that r e v e r s i n g the r o l e s of c o l l e c t o r and emit t e r i n F i g . 4.3 o f t e n produced b e t t e r r e s u l t s than the c o n f i g u r a t i o n shown. T h i s r e s u l t can be e x p l a i n e d as f o l l o w s : with the e m i t t e r area l e s s than the c o l l e c t o r area, the magnitude of the BWM c u r r e n t s d e t e c t e d w i l l be p r o p o r t i o n a l to the e m i t t e r area while f o r the i n v e r s e s i t u a t i o n , they w i l l be p r o p o r t i o n a l to the c o l l e c t o r a r e a . When a small c o l l e c t o r i s used, the BWM c u r r e n t s and the c o l l e c t o r leakage c u r r e n t s w i l l be p r o p o r t i o n a l to the same area while when us i n g a l a r g e c o l l e c t o r , the leakage c u r r e n t s w i l l be p r o p o r t i o n a l to the l a r g e r c o l l e c t o r area while the BWM c u r r e n t s w i l l s t i l l be s c a l e d by the sm a l l e r e m i t t e r a r e a . The BWM de v i c e s t r u c t u r e r e q u i r e d that there be alignment between the c o l l e c t o r and e m i t t e r metal p a t t e r n s . Since they are both d e f i n e d by shadow masks, alignment was achieved by working with 2 x 2 cm squares of s i l i c o n which f i t p r e c i s e l y i n t o a r e g i s t r a t i o n c u t - o u t . T h i s cut-out was r e f e r e n c e d with the e m i t t e r , base, and c o l l e c t o r metal shadow mask p a t t e r n s with 77 p i n s i n the mask h o l d e r . R e l a t i v e alignment of the emitter and c o l l e c t o r p a t t e r n s a c c u r a t e to about 0.5 mm as achieved with t h i s r e g i s t r a t i o n scheme. The r e g i s t r a t i o n t o l e r a n c e f o r c e d the use of r e l a t i v e l y l a r g e s i z e d e v i c e s with e m i t t e r areas of 2 0.2 cm . The l a r g e areas were a l s o r e q u i r e d to o b t a i n BWM c u r r e n t s g r e a t e r than the noise i n the measuring apparatus. BWM de v i c e s were f a b r i c a t e d on a v a r i e t y of d i f f e r e n t s u b s t r a t e s , a l l p-type but ranging from 10 to 0.1 ohm-cm in r e s i s t i v i t y . I t was found that the lower r e s i s t i v i t y s u b s t r a t e s were d i f f i c u l t to measure because of the lower a b s o l u t e magnitude of the BWM c u r r e n t s (Eqs. 4.21 and 4.22). Although the lower base r e s i s t i v i t i e s should permit o p e r a t i o n of these d e v i c e s at higher forward b i a s before encountering the problems with base s e r i e s r e s i s t a n c e , no region with u n i t y n f a c t o r f o r both base and c o l l e c t o r c u r r e n t c o u l d be found. The most s u c c e s s f u l measurements were performed on d e v i c e s of 10 ohm-cm r e s i s t i v i t y . These d e v i c e s showed u n i t y n f a c t o r s i n the b i a s range from 350 to 450 mV. Below t h i s b i a s range, the BWM c u r r e n t s were too small to measure and above t h i s range, the e f f e c t s of base spreading r e s i s t a n c e and/or e m i t t e r tunnel r e s i s t a n c e caused an i n c r e a s e i n the n f a c t o r . The f o l l o w i n g d i s c u s s i o n d e t a i l s the measurements performed on a t r a n s i s t o r d e v i c e f a b r i c a t e d on 10 ohm-cm C z o c h r a l s k i grown p-type s i l i c o n manufactured by Microsystems I n t e r n a t i o n a l . The small s i g n a l base and c o l l e c t o r c u r r e n t s were measured by superimposing a 0.5 v o l t RMS, 200 Hz modulation on the -5 v o l t 78 dc b a s e - c o l l e c t o r b i a s with the c i r c u i t shown i n F i g . 2.3. T.he c u r r e n t s , p l o t t e d i n F i g . 4.4, show the r e q u i r e d e x p o n e n t i a l dependence on base-emitter b i a s with u n i t y n f a c t o r . The r a t i o i c / i ^ r o r the base-emitter b i a s range shown i s 5.3 ± 0.2. T h i s value was obtained by averaging the r a t i o s of i n d i v i d u a l p o i n t s . A reverse b i a s c a p a c i t a n c e measurement a p p l i e d to the b a s e - c o l l e c t o r j u n c t i o n y i e l d e d a doping d e n s i t y of 1 5 - 3 1.4x10 cm and contact p o t e n t i a l of 0.51 ± 0.2 v o l t s . With t h i s i n f o r m a t i o n , the modulation of the base width dW_,/dV computed from Eq. 4.21 was found to be 0.29 Mm/volt. The device t h i c k n e s s was measured with a micrometer and found to be 100 ± 5 Mm. Using Eq. 4.15, the d i f f u s i o n l e n g t h was c a l c u l a t e d to be 146 ± 10 Mm. From the d i f f u s i o n l e n g t h , the m i n o r i t y c a r r i e r l i f e t i m e may be c a l c u l a t e d from the 2 2 -1 i d e n t i t y : 7 „ = L /D using a value of D = 34 cm s J n n n 3 n obtained from Sze [29], The c a l c u l a t e d l i f e t i m e i s 6.6 ± 0.9 Msec which i s i n agreement with the value of 7 Msec measured f o r the same m a t e r i a l using the s w i t c h i n g time method [31]. At a b i a s of 400 mV, at which both dc and small s i g n a l BWM c u r r e n t s e x h i b i t a u n i t y n f a c t o r , the r a t i o i /I^ w a s c a l c u l a t e d from the experimental data and found to be 0.0011. The r a t i o i / l _ c a l c u l a t e d from equation 4.22 was 0.0017 i n reasonable agreement with the experimental value thus i n d i c a t i n g t h a t the measured s m a l l - s i g n a l c u r r e n t s were indeed due to the BWM phenomena. A s i m i l a r d e v i ce was f a b r i c a t e d on 10 0.35 J I 0.40 Bias Voltage (V) 1 0.45 Figure 4.4. Small Signal Base Width Modulation Currents for Wide Base T r a n s i s t o r on 10 ohm-cm P-Type S i l i c o n . 80 the same s i l i c o n m a t e r i a l which was 86 ± 2 Mm t h i c k . The measured BWM c u r r e n t r a t i o was 7.7 ± 0.2 y i e l d i n g a d i f f u s i o n l e n g t h of 159 ± 6 (im and l i f e t i m e of 7.4 ± 0.6 Msec. The BWM measurement can only work i f no p o r t i o n of the modulating v o l t a g e appears a c r o s s the base-emitter j u n c t i o n . The c u r r e n t - t o - v o l t a g e c o n v e r t e r c i r c u i t d e s c r i b e d i n Chapter 2 was • designed to ensure that t h i s c o n d i t i o n i s maintained; un f o r t u n -a t e l y , other e f f e c t s d e t r i m e n t a l to the measurment accuracy are p o s s i b l e . For example, spreading r e s i s t a n c e i n the base w i l l r e s u l t i n a p o t e n t i a l drop between the c o n t a c t and the base-emitter j u n c t i o n . The BWM c u r r e n t i n the base w i l l cause a s m a l l v a r i a t i o n i n t h i s p o t e n t i a l drop r e s u l t i n g i n a small modulation of the base-emitter v o l t a g e . For a base r e s i s t a n c e due s o l e l y to the bulk r e s i s t a n c e of the s i l i c o n , t h i s e f f e c t w i l l be n e g l i g i b l e , but i f a h i g h r e s i s t a n c e e x i s t s between the base metal and the probe c o n t a c t , spurious BWM c u r r e n t s c o u l d r e s u l t . S i m i l a r problems w i l l r e s u l t i f there i s a p o t e n t i a l drop between the e m i t t e r c o n t a c t and the base-emitter j u n c t i o n . A p o t e n t i a l drop i n the base c o n t a c t w i l l r e s u l t i n an i n c r e a s e i n the BWM c u r r e n t r a t i o £ while e m i t t e r c o n t a c t r e s i s t a n c e w i l l decrease £. Since i = ~ ( i c + ij>^ w i l l normally be l a r g e r than the magnitude of i ^ , the e m i t t e r contact r e s i s t a n c e i s l i k e l y to have more e f f e c t than that of the base and the measured $ i s expected to be l e s s than the v a l u e determined by the m a t e r i a l p r o p e r t i e s . The f i r s t d e v i c e d e s c r i b e d above was measured on d i f f e r e n t days and y i e l d e d BWM c u r r e n t r a t i o s ranging from 4.8 81 to 5.3. Based on the above arguments, the l a r g e s t , r a t h e r than the average measured r a t i o of BWM c u r r e n t s obtained on d i f f e r e n t days was used to c a l c u l a t e the d i f f u s i o n l e n g t h . Contact r e s i s t a n c e i n e i t h e r the base or c o l l e c t o r c o n t a c t c o u l d a l s o l e a d to a mixing of c a p a c i t i v e and in-phase c u r r e n t components as d e s c r i b e d e a r l i e r . The c a p a c i t i v e c u r r e n t components were observed to change as the base-emitter b i a s was i n c r e a s e d , i n d i c a t i n g the presence of t h i s mixing phenomena. Once the c a p a c i t i v e c u r r e n t components were observed to change s i g n i f i c a n t l y , the in-phase c u r r e n t components c o u l d no longer be assumed to be s o l e l y due to BWM and the measurement was suspended. Another problem with the measurement occu r r e d when e x c e s s i v e l y high leakage c u r r e n t d e n s i t i e s were present (> 100 nA-cm ). Often these leakage c u r r e n t s would develop a f t e r the e m i t t e r or c o l l e c t o r had been s c r a t c h e d or e x c e s s i v e reverse b i a s had been a p p l i e d . I f both j u n c t i o n s became leaky, c o l l e c t o r - e m i t t e r c u r r e n t would flow with the base d i s c o n n e c t e d . Whenever t h i s s i t u a t i o n was present, i t was impossible to o b t a i n s e n s i b l e BWM c u r r e n t s , even a f t e r the leakage c u r r e n t s had been s u b t r a c t e d . Many other t r a n s i s t o r s were f a b r i c a t e d and measured but one or more of the problems d e s c r i b e d above would l e a d to q u e s t i o n a b l e , i r r e p r o d u c i b l e r e s u l t s . The problem of forming low r e s i s t a n c e c o n t a c t s to both top and bottom of the d e v i c e s without i n c r e a s i n g the j u n c t i o n leakages was never s o l v e d . 82 4.3 Determination of the M i n o r i t y C a r r i e r I n j e c t i o n R a t i o The m i n o r i t y c a r r i e r l i f e t i m e measurement d e s c r i b e d above i s a secondary b e n e f i t of the t r a n s i s t o r s t r u c t u r e employing the MIS e m i t t e r . Of primary i n t e r e s t to t h i s work i s the a b i l i t y to d i r e c t l y measure the i n j e c t i o n r a t i o 7 of the e m i t t e r c o n t a c t d e f i n e d by Eq. 4.8. Combining Eqs. 4.12 and 4.15 permits the e x p r e s s i o n of 7 i n terms of two measurable q u a n t i t i e s : 7 = 05 / (0 + 1 ) / (5 " 1) 4.25 For a p e r f e c t e m i t t e r 7 = 1, so f o r t h i s case Eq. 4.25 g i v e s : $ = 0 + 1 . For a r e a l e m i t t e r 7 < 1 which p l a c e s a c o n s t r a i n t on the r e l a t i o n s h i p between the dc and BWM c u r r e n t g a i n s : $ > 0 + 1 4.26 If the i n j e c t i o n r a t i o i s known to be c l o s e to u n i t y , then the dc gain can be used to estimate the m i n o r i t y c a r r i e r d i f f u s i o n l e n g t h : -1 L n * W B / C O s h + 1 ) / | 3 ] '' 7 * 1 4 , 2 7 I t has been e s t a b l i s h e d i n Chapter 3 and by Green et a l [38] that magnesium MIS diodes on p-type s i l i c o n of r e s i s t i v i t y higher than 0.1 ohm-cm have i n j e c t i o n r a t i o s very c l o s e to u n i t y . By measuring the dc gains of these d e v i c e s , the m i n o r i t y c a r r i e r d i f f u s i o n l engths and the i n j e c t i o n r a t i o f o r aluminum d e v i c e s on the same m a t e r i a l may be estimated. A v a r i e t y of d i f f e r e n t t r a n s i s t o r s t r u c t u r e s was used f o r the i n j e c t i o n r a t i o measurement. For each s t r u c t u r e , the BWM measurement was f i r s t attempted to o b t a i n the d i f f u s i o n l e n g t h ; 83 but i f t h i s f a i l e d , the comparison of magnesium and aluminum dc gains was used to estimate the i n j e c t i o n r a t i o . 4.3.1 Wide Base T r a n s i s t o r s T r a n s i s t o r s employing the s i l i c o n bulk as the base are termed here as wide base t r a n s i s t o r s s i n c e the base width i s abnormally wide compared to a c o n v e n t i o n a l t r a n s i s t o r . With these d e v i c e s , low gains are to be expected s i n c e an a p p r e c i a b l e f r a c t i o n of the i n j e c t e d m i n o r i t y c a r r i e r s w i l l recombine i n the base. The d e v i c e s d e s c r i b e d i n s e c t i o n 4.2 are wide base t r a n s i s t o r s but the c o l l e c t o r of these d e v i c e s i s not s u f f i c i e n t l y l a r g e to ensure that a l l i n j e c t e d m i n o r i t y c a r r i e r s which have d i f f u s e d ' through the base w i l l reach the b a s e - c o l l e c t o r j u n c t i o n r a t h e r than the s i l i c o n s u r f a c e , p a r t i c u l a r l y i f there i s some misalignment between c o l l e c t o r and e m i t t e r metal p a t t e r n s . Lower dc gains were observed f o r d e v i c e s f a b r i c a t e d on the same s i l i c o n wafer when the e m i t t e r -c o l l e c t o r alignment was poor. To perform the dc measurements, another set of metal shadow masks was made. T h i s set c o n s i s t e d 2 of a square e m i t t e r of area 0.04 cm and square c o l l e c t o r of 2 area 0.25 cm . R e g i s t r a t i o n between shadow masks and the 2 x 2 cm s i l i c o n c h i p was achieved i n the same manner as d e s c r i b e d f o r the l a r g e r e m i t t e r d e v i c e s . A p a i r of wide base t r a n s i s t o r s was f a b r i c a t e d on the same 2 ohm-cm p-type s i l i c o n wafer thinned to 118 Atm, one d e v i c e employing an aluminum e m i t t e r and the other a magnesium e m i t t e r . 84 A l l steps p r i o r to e m i t t e r metal depostion were shared by both d e v i c e s . The maximum measured dc gains were 2.7 f o r the magnesium and 1.3 f o r the aluminum d e v i c e . Assuming the i n j e c t i o n r a t i o f o r the magnesium device i s c l o s e to u n i t y r e s u l t s i n an aluminum em i t t e r i n j e c t i o n r a t i o of 7 = 0.77. An estimate of the m i n o r i t y c a r r i e r d i f f u s i o n l e n g t h may be obtained from Eq. 4.27 using the measured base width and magnesium e m i t t e r dc g a i n , i . e . L n = 140 Mm. The BWM measure-ment performed on the aluminum e m i t t e r device y i e l d e d a small s i g n a l c u r r e n t gain 5 = 3 which i s l e s s than the 3.7 r e q u i r e d by Eq. 4.26 i n d i c a t i n g a s e r i o u s problem with the measurement. 4.3.2 Implanted-Base T r a n s i s t o r s The need f o r higher gain t r a n s i s t o r s with smaller areas to reduce the e f f e c t s of probe c o n t a c t r e s i s t a n c e prompted the development of a t r a n s i s t o r s t r u c t u r e employing an ion-implanted base. These t r a n s i s t o r s were f a b r i c a t e d employing p h o t o l i t h o g r a p h i c methods for a l l p a t t e r n i n g s t e p s . Four masks were r e q u i r e d : base implant, oxide i s o l a t i o n , base metal, and e m i t t e r metal. Each mask con t a i n e d 15 t r a n s i s t o r s with e m i t t e r 2 2 area of 0.0067 cm and c o l l e c t o r area of 0.039 cm . The t r a n s i s t o r s were f a b r i c a t e d on 2 inch diameter n-type s i l i c o n wafers of nominal 2 ohm-cm r e s i s t i v i t y . The f a b r i c a t i o n sequence i s o u t l i n e d i n Appendix A.2.4.2 and i l l u s t r a t e d i n » F i g . 4.5. Before the f i n a l e m i t t e r m e t a l l i z a t i o n , the s i l i c o n wafers were d i v i d e d i n h a l f and then coated s e p a r a t e l y with e i t h e r aluminum or magnesium. A v a r i e t y of implant doses and 85 Dimensions i n i n c h e s P-Well Implant 3-.252 Oxide Windows -'"vyi nzi eza c £ | — . 152 -*j . 147 Base and C o l l e c t o r M e t a l i z a t i o n 046 y;/ / s / T 7 7 Emit ter M e t a l i z a t i o n F igure 4 .5 . Sequence. Implanted Base T r a n s i s t o r F a b r i c a t i o n 86 anneals were performed i n order to vary the s u r f a c e doping c o n c e n t r a t i o n and the base width. The reverse b i a s c a p a c i t a n c e of the base-emitter j u n c t i o n was used to determine the a c t u a l s u r f a c e a c t i v e dopant c o n c e n t r a t i o n . The maximum dc gains of each of the t r a n s i s t o r s was measured and the range i s recorded i n Table 4.1. The i n j e c t i o n r a t i o 7 of the aluminum e m i t t e r t r a n s i s t o r s was c a l c u l a t e d based on Eq. 4.25 assuming the magnesium e m i t t e r s had u n i t y i n j e c t i o n e f f i c i e n c y . Since the magnesium gains are f a i r l y h igh, i t can e a s i l y be seen that t h i s assumption must be reasonably good. A lower bound on the magnesium i n j e c t i o n e f f i c i e n c y can be obtained by assuming there i s no recombination i n the base ( L n = =°) i n which case Eq. 4.12 reduces t o : 7 = 0 / ( 0 + 1 ) ; L n = * 4.29 so f o r a dc gain of 19, 7 > 0.95. I t i s recognized that these implanted-base t r a n s i s t o r s no longer have uniform doping i n the base. The f a b r i c a t i o n sequence f o r the t r a n s i s t o r s has been simulated with the widely-used process model program SUPREM [39] and the computer c a l c u l a t e d doping p r o f i l e s f o r the v a r i o u s anneal c o n d i t i o n s are shown i n F i g 4.6. Although the longer high temperature anneals produce r e l a t i v e l y uniform base doping, the short low temperature anneals have s i z a b l e doping g r a d i e n t s . Nonuniform base doping does not t o t a l l y i n v a l i d a t e the i n j e c t i o n r a t i o c a l c u l a t i o n s . The great d i f f e r e n c e between the magnesium and aluminum e m i t t e r gains i n d i c a t e s t h a t base recombination i s not 87 T a b l e 4.1. I m p l a n t e d - B a s e T r a n s i s t o r F a b r i c a t i o n D e t a i l s and P e r f o r m a n c e P a r a m e t e r s . Base I m p l a n t A n n e a l E m i t t e r G a i n 7 D o p i n g Dose Time/Temp. M e t a l S p r e a d ( c m - 3 ) ( c m - 2 ) (Hr:Min/°C) 1 X 1 0 1 6 5 x 1 0 1 3 2:45 / 1 100 A l • 76 + .46 .57 4 X 1 0 1 6 1 X 1 0 1 4 2:45 / 1 100 A l 1 . 1 + 0.1 .55 6 X 1 0 1 6 1 . 5 X 1 0 1 3 2:00 / 1 1 00 A l 1 . 1 + 0.5 .65 1 X 1 0 1 7 1 . 5 X 1 0 1 3 2:00 / 1 100 Mg 32 + 5 1 7 3x10' ' 1 . 5 X 1 0 1 3 :30 / 900 A l • 19 + .01 .17 3 X 1 0 1 7 1 . 5 X 1 0 1 3 :30 / 900 Mg 1 4 + 2 1 7 3x1 0 3 X 1 0 1 3 2:00 / 1 1 00 A l • 46 + .20 .50 3 X 1 0 1 7 1 3 3x10 J 2:00 / 1 1 00 Mg 6 .6 + .4 1 7 4x10 1 ' 1 X 1 0 1 3 :30 / 850 A l • 44 + .03 .33 1 7 4x10' ' 1 X 1 0 1 3 :30 / 850 Mg 16 + 2 CJ - I < o U) o Depth (um) Figure 4 . 6 . SUPREM Simulation of Various Implant and Annealing Conditions. 00 89 a major f a c t o r i n determining the gains of the aluminum emitter d e v i c e s . However, base recombination does a f f e c t the gains of the magnesium dev i c e s s i n c e the narrower base d e v i c e s show a p p r e c i a b l y higher gains than wider base d e v i c e s . An estimate of the magnesium i n j e c t i o n r a t i o on the h e a v i l y doped device 17 - 3 (N A = 4x10 cm ) can be obtained by comparison with the more 1 7 _3 l i g h t l y doped device (N A =1.4x10 cm ). The s i z e a b l e d i f f e r e n c e i n dc gains (7 versus 41) suggests an a p p r e c i a b l e d i f f e r e n c e i n i n j e c t i o n r a t i o s i n c e t h e i r base doping p r o f i l e s and base widths are s i m i l a r . For any t r a n s i s t o r , the base t r a n s p o r t f a c t o r a T i s the f r a c t i o n of m i n o r i t y c a r r i e r s i n j e c t e d i n t o the base which reach the b a s e - c o l l e c t o r d e p l e t i o n r e g i o n . Assuming no c u r r e n t m u l t i p l i c a t i o n i n the b a s e - c o l l e c t o r f i e l d r e g i o n , the t r a n s p o r t f a c t o r i s simply: a T = a / T = 0 / (0 + 1) / y 4.30 If the i n j e c t i o n r a t i o f o r the more l i g h t l y doped device i s assumed to be u n i t y , a lower bound on the t r a n s p o r t f a c t o r can be computed: a T > 41/42 = 0.976. The t r a n s p o r t f a c t o r f o r the more h e a v i l y doped device should be c l o s e to or g r e a t e r than t h i s v alue g i v i n g a range f o r the i n j e c t i o n r a t i o of 0.88 < 7 < 0.90. The BWM measurement was attempted on the implanted base d e v i c e s but abnormally high leakage c u r r e n t s i n the c o l l e c t o r - 2 - 2 (> 1 MA-cm ) and emi t t e r (> 300 MA-cm ) j u n c t i o n s coupled with the very small magnitude of the c u r r e n t s due to the de v i c e areas 90 and base doping d e n s i t i e s made i t impossible to o b t a i n s e n s i b l e r e s u l t s . 4 . 3 . 3 E p i t a x i a l - B a s e T r a n s i t o r s A major problem with the implanted-base t r a n s i s t o r s i s the d i f f i c u l t y i n o b t a i n i n g r e l a t i v e l y l i g h t l y doped base r e g i o n s . Since the implant i s i n t o s i l i c o n doped n-type, the implant must compensate the background impurity with j u s t enough l e f t over to produce a l i g h t l y doped p - l a y e r . I t was found to be impossible to produce implanted p - l a y e r s with net a c t i v e doping c o n c e n t r a t i o n comparable to or l e s s than the background c o n c e n t r a t i o n so the implanted-base s t r u c t u r e was not s u i t a b l e for e v a l u a t i n g MIS j u n c t i o n s on s i l i c o n of r e s i s t i v i t y i n the 1 to 10 ohm-cm range. Instead a t r a n s i s t o r s t r u c t u r e employing an e p i t a x i a l p - l a y e r d e p o s i t e d on an n-type s u b s t r a t e was d e v i s e d . The same mask set used f o r f a b r i c a t i n g the implanted-base t r a n s i s t o r s was used f o r t h i s s t r u c t u r e . N-type s i l i c o n s u b s t r a t e s of 0.1 ohm-cm r e s i s t i v i t y with 5 nm t h i c k p-type e p i l a y e r s of nominal r e s i s t i v i t y 10 and 1 ohm-cm were s u p p l i e d by Semimetals Inc. The o r i g i n a l implant mask was used i n reverse c o n t r a s t to permit the s e l e c t i v e e t c h i n g of the p - l a y e r to leave p - i s l a n d s i n which the t r a n s i s t o r s would be formed. A l l other masks were employed i n the same manner as f o r the implanted-base d e v i c e s . The f a b r i c a t i o n d e t a i l s are given i n Appendix A.2.4.3 and are i l l u s t r a t e d i n F i g . 4.7. Although high gain t r a n s i s t o r s were f a b r i c a t e d s u c c e s s f u l l y with t h i s s t r u c t u r e , the procedure used f o r de v i c e i s o l a t i o n P-Island Formation f~ ^ Oxide Windows Base Metalization / i i i i > i / i i A / i>iii)i} n I i U 1i r > J r Emitter Metalization ////////////////////////n/n: Figure 4.7. Epitaxial Base Sequence. 91 Transistor Fabrication 92 proved to be a major problem. I n d i v i d u a l t r a n s i s t o r s were i s o l a t e d from one another by e t c h i n g away the p - e p i l a y e r around them. T h i s procedure i n v o l v e d p r o t e c t i n g the d e s i r e d p-type i s l a n d s with a t h e r m a l l y grown oxide and removing the unwanted e p i l a y e r with a s i l i c o n e t c h . I t was found that small holes were etched i n t o the p - i s l a n d s , i n d i c a t i n g the presence of p i n h o l e s i n the oxide. These p i n h o l e s may have been caused by dust on the p h o t o r e s i s t mask used f o r p a t t e r n i n g the oxide or they may have been d e f e c t s i n the oxide. Whatever the cause, these holes i n the p - i s l a n d s r e s u l t e d i n shunting of the emitter metal to the c o l l e c t o r , l e a d i n g to high e m i t t e r - c o l l e c t o r leakage c u r r e n t s . These leakage c u r r e n t s made the epi-base t r a n s i s t o r d e v i c e s u n s u i t a b l e f o r the BWM measurement. As with the implanted-base d e v i c e s , only dc g a i n measurements c o u l d be used to o b t a i n i n f o r m a t i o n on the MIS e m i t t e r j u n c t i o n . Comparison of maximum common emi t t e r dc gains f o r aluminum and magnesium emitter d e v i c e s f a b r i c a t e d on the same wafer were used to estimate the aluminum j u n c t i o n i n j e c t i o n r a t i o . The dc gains obtained f o r an aluminum and a magnesium e m i t t e r t r a n s i s t o r f a b r i c a t e d on the same wafer are shown i n F i g 4.8. The gains and c a l c u l a t e d i n j e c t i o n r a t i o s f o r aluminum d e v i c e s are shown in Table 4.2. The i n j e c t i o n r a t i o s o b t a i n e d are i n reasonable agreement with those obtained with other d e v i c e s . 4 . 3.4 P o l y s i l i c o n E m i t t e r T r a n s i s t o r s Another set of t r a n s i s t o r s somewhat d i f f e r e n t from those j u s t d e s c r i b e d was e v a l u a t e d d u r i n g the course of t h i s work [40]. The t r a n s i s t o r s were f a b r i c a t e d by P l e s s e y Research as p a r t of F i g u r e 4 . 8 . Common E m i t t e r DC G a i n o f M a g n e s i u m a n d A l u m i n u m E m i t t e r T r a n s i s t o r s F a b r i c a t e d on t h e same E p i t a x i a l W a f e r . ID U> 94 t h e i r experimental work with p o l y s i l i c o n e m i t t e r s . The s u b s t r a t e s used were nominal 2 ohm-cm n-type s i l i c o n . The base 1 o 2 region i s formed by implanting 5x10 cm boron atoms at an energy of 20 keV. A f t e r p + c o n t a c t implants and d e f i n i t i o n of the e m i t t e r window, the s i l i c o n s u r f a c e i s t r e a t e d so as to e i t h e r enhance or remove any n a t i v e oxide. P o l y s i l i c o n i s then 15 2 d e p o s i t e d and implanted with an a r s e n i c dose of 5x10 cm at 30 keV. A f t e r d e f i n i n g the p o l y s i l i c o n areas by plasma e t c h i n g , the device i s h e a t - t r e a t e d at 900°C. T h i s s t e p i s b e l i e v e d to d r i v e some of the a r s e n i c i n t o the implanted base forming the very shallow n + e m i t t e r [ 8 ] , The two types of d e v i c e s f a b r i c a t e d , one with a t h i n i n s u l a t o r i n t e n t i o n a l l y grown over the s i l i c o n s u r f a c e before p o l y s i l i c o n d e p o s i t i o n and the other with no i n t e n t i o n a l l y grown i n s u l a t o r e x h i b i t e d d r a m a t i c a l l y d i f f e r e n t g a i n s . Without the i n s u l a t o r , the t r a n s i s t o r s have gains around 100 while with the i n s u l a t o r , the gains are near 2000. T h i s phenomena can be e x p l a i n e d by c o n s i d e r i n g the oxide as a t u n n e l l i n g b a r r i e r as i n the case of the MIS j u n c t i o n [18]. The i n s u l a t o r suppresses the recombination of h o l e s from the base in the p o l y s i l i c o n thus reducing the base c u r r e n t . Whether the p o l y s i l i c o n i s a c t i n g as the e m i t t e r or as a low r e s i s t a n c e contact to the a r s e n i c doped n + region i n the s i n g l e c r y s t a l s i l i c o n i s not c e r t a i n but the presence of the i n s u l a t o r does appear to improve the e m i t t e r i n j e c t i o n e f f i c i e n c y . The only other p o s s i b l e e x p l a n a t i o n f o r the improved gains 95 Table 4.2. Measured DC Gains f o r E p i t a x i a l - B a s e T r a n s i s t o r s . I n j e c t i o n R a t i o i s C a l c u l a t e d f o r Aluminum E m i t t e r s Only. Epi-Layer Doping (cm~ 3) Em i t t e r Metal Max. DC Gain 0 In j . Rat i o 7 1 . 2 X 1 0 1 5 A l 1 1 .92 1 5 1 .2x10 3 Mg 124 1.7X10 1 6 A l .84 .47 1 . 7 X 1 0 1 6 Mg 53 Table 4.3 Measured DC and BWM Current Gains, C a l c u l a t e d I n j e c t i o n R a t i o s f o r P o l y s i l i c o n E m i t t e r T r a n s i s t o r s . Sample No. I n t e n t i o n a l I n s u l a t o r DC Current Gain 0 BWM Current Gain In j . R a t i o 7 P8 Yes 1800 31 00 0.999767 P1 0 Yes 1 500 4900 0.999538 P1 2 . No 1 1 1 2500 0.991486 PI 7 No 101 1900 0.990717 P20 Yes 1800 5700 0.999620 96 of d e v i c e s c o n t a i n i n g the t h i n i n s u l a t o r would be an improvement in the base t r a n s p o r t f a c t o r . T h i s p o s s i b i l i t y can be e l i m i n a t e d i f BWM can be performed on both types of d e v i c e s to show that the base recombination i s e s s e n t i a l l y the same. Admittedly, s i n c e the base doping i s f a r from uniform, BWM theory i s not s t r i c t l y a p p l i c a b l e ; however, s i n c e BWM c u r r e n t s are a f f e c t e d only by the p r o p e r t i e s of the base and not by the i n j e c t i n g p r o p e r t i e s of the e m i t t e r , d e v i c e s with the same base t r a n s p o r t p r o p e r t i e s should e x h i b i t the same BWM c u r r e n t s . The dc gains and BWM small s i g n a l c u r r e n t s of the Plessey t r a n s i s t o r s were measured with the technique p r e v i o u s l y d e s c r i b e d . The dc and small s i g n a l c u r r e n t s f o r sample t r a n s i s t o r s without and with an i n t e n t i o n a l l y grown oxide are shown i n F i g s . 4.9 and 4.10, r e s p e c t i v e l y . The small s i g n a l c u r r e n t s e x h i b i t e d u n i t y n f a c t o r s over the range of 600-700 mV so the BWM c u r r e n t r a t i o <; was e v a l u a t e d f o r t h i s r e g i o n . The r e s u l t s are t a b u l a t e d i n Table 4.3. E m i t t e r i n j e c t i o n r a t i o s have a l s o been estimated based on the uniform base doping theory (Eq. 4.25). Although the dc c u r r e n t gains d i f f e r by a f a c t o r of 20 between d e v i c e s with and without the i n s u l a t o r , the BWM c u r r e n t gains are very s i m i l a r , d i f f e r i n g only by a f a c t o r of about 2. C l e a r l y , the base t r a n s p o r t p r o p e r t i e s of the two types of d e v i c e s are not s u f f i c i e n t l y d i f f e r e n t to e x p l a i n the dramatic d i f f e r e n c e s i n dc c u r r e n t g a i n . The t h i n i n s u l a t o r must be a f f e c t i n g the emitter i n j e c t i o n e f f i c i e n c y as was f i r s t h y p othesized. 97 Figure 4.9. DC (solid) and BWM (dotted) Currents for P o l y s i l i c o n Emit ter T r a n s i s t o r - No In tent iona l I n t e r f a c i a l Oxide. 98 Figure 4.10. DC (solid) and BWM (dotted) Currents for a P o l y s i l i c o n Emit ter T r a n s i s t o r with I n t e n t i o n a l l y Grown I n t e r f a c i a l Oxide. 99 CHAPTER 5 The ICI J u n c t i o n The l a s t two chapters have d e a l t with a n a l y s e s of the MIS s u r f a c e j u n c t i o n . T h i s chapter w i l l attempt to i n v e s t i g a t e and c h a r a c t e r i z e the i n s u l a t o r charge induced (ICI) j u n c t i o n . T h i s j u n c t i o n i s i l l u s t r a t e d i n F i g . 1.1b with band diagram shown in F i g . 1.2b. These f i g u r e s i l l u s t r a t e the s i m i l a r i t y between the ICI j u n c t i o n and the MOS c a p a c i t o r , which simply has an a d d i t i o n a l metal gate overtop of the i n s u l a t o r . Because of t h i s s i m i l a r i t y , much of the theory of the ICI j u n c t i o n can be adapted from MOS c a p a c i t o r theory, which w i l l be summarized b r i e f l y below. 5.1 B a s i c MOS C a p a c i t o r Theory The acronym MOS, from the words metal-oxide-semiconductor, has come to imply something more general than the name suggests. In f a c t , MIS would be a b e t t e r acronym, with the I meaning a true i n s u l a t o r . However, MIS i s now understood to r e f e r to the t u n n e l a b l e i n s u l a t o r d i s c u s s e d i n p r e v i o u s c h a p t e r s so MOS w i l l be used to r e f e r to any m e t a l - t h i c k i n s u l a t o r - s e m i c o n d u c t o r d e v i c e . Thick i n s u l a t o r s w i l l normally be assumed to have 100 F i g u r e 5.1. Band Diagram f o r an MOS Capac i t o r . 101 i n f i n i t e dc and ac r e s i s t a n c e . The semiconductor w i l l be assumed to be p-type, although the theory a p p l i e s e q u a l l y w e l l to an n-type semiconductor p r o v i d e d a negative s i g n i s intr o d u c e d wherever a charge, c u r r e n t or v o l t a g e appears. The band diagram f o r an MOS c a p a c i t o r i n e q u i l i b r i u m i s e s s e n t i a l l y the same as f o r an MIS j u n c t i o n ( F i g . 3 . 1 b ) . Out of e q u i l i b r i u m , however, the diagrams d i f f e r s i n c e there i s no steady s t a t e c u r r e n t flow i n the MOS c a p a c i t o r . The e l e c t r o n and hole fermi e n e r g i e s remain the same so the a p p l i c a t i o n of a vo l t a g e V^ , to the metal gate r e s u l t s i n a change i n the p o s i t i o n of the fermi energy r e l a t i v e to the semiconductor band edges ( F i g . 5.1). The c a p a c i t a n c e of t h i s s t r u c t u r e c o n s i s t s of the s e r i e s combination of the i n s u l a t o r c a p a c i t a n c e Cj and the d e p l e t i o n r e g i o n c a p a c i t a n c e C D ( F i g . 5.2) [41]. There are three s u r f a c e c o n d i t i o n s to be c o n s i d e r e d : accumulation, d e p l e t i o n , and i n v e r s i o n . I f the s u r f a c e i s i n accumulation, modulation of the gate b i a s changes the charge i n the s u r f a c e accumulation l a y e r so the measured c a p a c i t a n c e i s the i n s u l a t o r c a p a c i t a n c e : C = C T = e TA / 6 Farads 5.1 acc I I When the s u r f a c e i s i n d e p l e t i o n , the measured c a p a c i t a n c e depends on the width of the d e p l e t i o n l a y e r which i s dependent on the s u r f a c e p o t e n t i a l </  . Provi d e d i// » kT/q, the d e p l e t i o n l a y e r c a p a c i t a n c e i s given by: C D = A(qe sN A/2t// s) 1 / / 2 Farads 5.2 102 (a) *s A A A ( b ) Gp Cp (c) I—V\A-. r n P i A A A A A A (d) Figure 5.2. E q u i v a l e n t C i r c u i t s f o r the MOS Capacitor - a) Simple Model. b) I n c l u s i o n of Surface States. c) E q u i v a l e n t P a r a l l e l Capacitance and Conductance, d) E f f e c t of Surface P o t e n t i a l V a r i a t i o n s i n D e p l e t i o n . 103 When an i n v e r s i o n l a y e r begins to form at the semiconductor s u r f a c e , any i n c r e a s e i n s u r f a c e p o t e n t i a l r e s u l t s i n an in c r e a s e i n i n v e r s i o n l a y e r charge so the d e p l e t i o n l a y e r width becomes f i x e d at the value i t achieves when str o n g i n v e r s i o n s e t s i n . The strong i n v e r s i o n p o t e n t i a l i s the p o t e n t i a l at which the s u r f a c e e l e c t r o n c o n c e n t r a t i o n equals the bulk hole c o n c e n t r a t i o n : For a s u r f a c e p o t e n t i a l g r e a t e r than t h i s v a l u e , only the i n v e r s i o n l a y e r charge changes with b i a s so the measured c a p a c i t a n c e i s again the i n s u l a t o r c a p a c i t a n c e . T h i s i n v e r s i o n l a y e r c a p a c i t a n c e w i l l only be observed i f the frequency of the cap a c i t a n c e measuring device i s low enough to allow modulation of the i n v e r s i o n l a y e r . The m i n o r i t y c a r r i e r charge i n the i n v e r s i o n l a y e r can come from e i t h e r g e n e r a t i o n i n the bulk or from an i n v e r s i o n l a y e r surrounding the MOS d e v i c e . The l a t t e r w i l l occur i n p-type m a t e r i a l i f the i n s u l a t o r c o n t a i n s a l a r g e p o s i t i v e charge. I f bulk g e n e r a t i o n i s r e q u i r e d to supply the i n v e r s i o n l a y e r charge then the measuring frequency may have to be w e l l below 100 Hz to observe the i n v e r s i o n l a y e r c a p a c i t a n c e , while a surrounding i n v e r s i o n l a y e r can supply the r e q u i r e d m i n o r i t y c a r r i e r s at f r e q u e n c i e s beyond 1 MHz [42]. For the c o n d i t i o n of no f i e l d i n the semiconductor = 0), known as f l a t - b a n d , the d e p l e t i o n l a y e r c a p a c i t a n c e i s i// (inv) = 2kT/q ln(N./n.) S A 1 5.3 [41]: C D ( f l a t - b a n d ) = A ( 2 e g k T / q 2 N A ) 1/2 Farads 5.4 1 04 The measured c a p a c i t a n c e , normalized to the i n s u l a t o r c a p a c i t a n c e w i l l be: C p B / C j = [ 1 + I f ( . ^^ - ) 1 / 2 T 1 5.5 * eS A The gate v o l t a g e f o r which the s u r f a c e p o t e n t i a l i s zero, V , FB i s determined by p r o p e r t i e s of the metal and i n s u l a t o r : V F B = Q I / C I " *MS 5 ' 6 where Qj i s the e f f e c t i v e charge i n the i n s u l a t o r assumed to be at the i n s u l a t o r - s e m i c o n d u c t o r i n t e r f a c e , and c/>M<, i s the work f u n c t i o n d i f f e r e n c e between the metal and semiconductor. The l a t t e r q u a n t i t y can be c a l c u l a t e d from known q u a n t i t i e s : kT *MS " *M " *S ~ E G + - q m < W - 5 ' 7 If the doping d e n s i t y of the s u b s t r a t e i s known, the normalized f l a t - b a n d c a p a c i t a n c e can be c a l c u l a t e d . By measuring the ca p a c i t a n c e versus v o l t a g e c h a r a c t e r i s t i c of the MOS c a p a c i t o r , the f l a t - b a n d v o l t a g e may be determined. F i n a l l y , the i n s u l a t o r charge Qj may be c a l c u l a t e d from Eq. 5 .6 . The i n s u l a t o r charge i s a v i t a l parameter i n the c h a r a c t e r i z a t i o n of the ICI j u n c t i o n s i n c e i t w i l l determine the semiconductor s u r f a c e p o t e n t i a l and the i n v e r s i o n l a y e r charge d e n s i t y . 5.2 Surface State D e n s i t y and Surface Recombination V e l o c i t y Surface (or i n t e r f a c e ) s t a t e s are e l e c t r o n s t a t e s with e n e r g i e s i n the semiconductor fo r b i d d e n band gap l o c a t e d at the 105 i n s u l a t o r - s e m i c o n d u c t o r i n t e r f a c e . These s t a t e s are assumed to communicate with the semiconductor so that t h e i r occupancy i s determined by the p o s i t i o n of the fermi energy at the semiconductor s u r f a c e . Since capture or emission of an e l e c t r o n by a s u r f a c e s t a t e r e q u i r e s a f i n i t e time, a s s o c i a t e d with the s u r f a c e s t a t e s i s a r e l a x a t i o n time which d e s c r i b e s how long the s t a t e s take to achieve e q u i l i b r i u m . The e f f e c t of these s u r f a c e s t a t e s on the MOS c a p a c i t o r i s modeled by a s e r i e s combination of a r e s i s t a n c e and c a p a c i t a n c e i n p a r a l l e l with the d e p l e t i o n l a y e r c a p a c i t a n c e ( F i g . 5.2b) [43]. The time constant T = R C„ i s the r e l a x a t i o n time of the s u r f a c e s t a t e s . The s s s e q u i v a l e n t c i r c u i t may be reduced to an e f f e c t i v e p a r a l l e l conductance and c a p a c i t a n c e ( F i g . 5.2c): G p = ^ C s a > 2 ' r s ^ / ^ 1 + < j 2 t s 2 ^ Siemens 5.8 C = C n + C / (1 + u 2 r 2 ) Farads 5.9 p D S S which may be e x t r a c t e d from the measured conductance G I N and c a p a c i t a n c e C I N by c o r r e c t i n g f o r the i n s u l a t o r c a p a c i t a n c e C j : G p = " 2 C : 2 G I N / [ G I N 2 + ^ ( C j - C ^ ) 2 ] 5.10 A p l o t of Gp/oj versus CJ w i l l have peak value C g which w i l l occur at a) = 1 / T s . The s u r f a c e s t a t e c a p a c i t a n c e i s r e l a t e d to the s u r f a c e s t a t e d e n s i t y q u i t e simply by: N = C /qA s t a t e s - e V ~ 1 c n f 2 5.11 ss s The r e l a x a t i o n time i s r e l a t e d to the m a j o r i t y c a r r i e r capture 1 06 c r o s s s e c t i o n : T = 1/(v., a D ) s t n p r s p s = n. e x p [ q ( t f B - * s ) / k T ] Equs. 5.12 and 5.13 show the dependence of the r e l a x a t i o n time on the s u r f a c e p o t e n t i a l In a c t u a l d e v i c e s , s i z a b l e v a r i a t i o n s i n the s u r f a c e p o t e n t i a l may be present when the surf a c e i s i n d e p l e t i o n . These f l u c t u a t i o n s may be due to nonuniform i n s u l a t o r t h i c k n e s s , i n s u l a t o r charge, or su r f a c e doping. Whatever the cause, these f l u c t u a t i o n s r e s u l t i n a d i s p e r s i o n of the s u r f a c e s t a t e r e l a x a t i o n time which leads to a broadening of the G^/u> versus o p l o t s and makes e x t r a c t i o n of the d e n s i t y of s t a t e s more d i f f i c u l t . T h i s problem has been d e a l t with i n great d e t a i l by N i c o l l i a n and Goetzberger [43] who proposed a more complex e q u i v a l e n t c i r c u i t f o r the e f f e c t of su r f a c e s t a t e s i n a re g i o n where there i s a f l u c t u a t i o n i n the su r f a c e p o t e n t i a l ( F i g . 5.1d). T h i s e q u i v a l e n t c i r c u i t a p p l i e s only to s u r f a c e p o t e n t i a l s from accumulation to a few kT from mid-gap. Near midgap an even more complex model i s r e q u i r e d while i n weak i n v e r s i o n , the s i n g l e time constant model of F i g . 5.2b a p p l i e s . E x t r a c t i o n of the s u r f a c e s t a t e d e n s i t y from the p a r a l l e l conductance versus frequency curve r e q u i r e s a parameter f i t t o the standard d e v i a t i o n a of the i n t e r f a c e charges by e v a l u a t i n g the i n t e g r a l over s u r f a c e p o t e n t i a l of an assumed Gaussian d i s t r i b u t i o n of i n t e r f a c e charges. Although t h i s method has been a p p l i e d s u c c e s s f u l l y i n Ref. 44, i t was deemed too 5. 1 2 5.13 1 07 t e d i o u s an e x e r c i s e to a c t u a l l y implement. An approximate value f o r the s u r f a c e s t a t e d e n s i t y may be obtained by determining the frequency at which Gp/cj i s a maximum and then the value of Gp/cj at some m u l t i p l e of t h i s frequency. The r a t i o : R ( n ) = T G 7 ^ 5 - ' 4 p' o>=no> ^ max depends only on N „ and the maximum value of G /u>. The standard J ss P d e v i a t i o n a of the s u r f a c e p o t e n t i a l d i s t r i b u t i o n a l s o depends s o l e l y on R. These r e l a t i o n s h i p s are shown g r a p h i c a l l y i n Ref. 44 f o r the case n = 5, thus p e r m i t t i n g d e t e r m i n a t i o n of N and r g from measurments of conductance at two f r e q u e n c i e s . The mean r e l a x a t i o n time T G i s r e l a t e d to the angular frequency at which the maximum i n G /CJ o c c u r s : T = T /u sec 5.15 s max7 max where r m a x depends only on the standard d e v i a t i o n and may be obta i n e d g r a p h i c a l l y from the data given i n Ref. 44. The s u r f a c e s t a t e parameters f o r the semiconductor - i n s u l a t o r i n t e r f a c e are p a r t i c u l a r l y important f o r c h a r a c t e r i z i n g the recombination at t h i s i n t e r f a c e . Surface s t a t e s near mid-gap act as the most e f f e c t i v e recombination c e n t e r s so i t i s the d e n s i t y of these c e n t e r s which determines the r a t e of recombination at the s u r f a c e . Recombination at a s u r f a c e i s normally d e s c r i b e d by a s u r f a c e recombination 108 v e l o c i t y SQ. T h i s q u a n t i t y i s r e l a t e d to the d e n s i t y of s t a t e s near mid-gap (assumed uni f o r m l y d i s t r i b u t e d i n energy) through the r e l a t i o n [45]: S 0 - P V T H * k T N s s 5 ' 1 6 The s u r f a c e recombination v e l o c i t y s e t s a boundary c o n d i t i o n f o r the recombination of m i n o r i t y c a r r i e r s at the s u r f a c e . For the s u r f a c e of a semiconductor which has a space charge region present at the s u r f a c e , the boundary c o n d i t i o n i s [46]: 2 p n - n. = c — - - R 17 n 0 n +p +2n. °' 1 ' x=0 s ^s I D | H n 9x A l a r g e value of SQ w i l l produce a l a r g e m i n o r i t y c a r r i e r g r a d i e n t at the s u r f a c e and thus a l a r g e flow of m i n o r i t y c a r r i e r s i n t o the s u r f a c e . 5 .3 Experimental Determination of I n s u l a t o r Charge The i n s u l a t o r charge obtained with s i l i c o n monoxide and s i l i c o n n i t r i d e l a y e r s d e p o s i t e d on s i l i c o n were ev a l u a t e d using the methods d e s c r i b e d above. E a r l y experiments performed on s i l i c o n monoxide c a p a c i t o r s showed that s u r f a c e p r e p a r a t i o n had a dramatic e f f e c t on the p r o p e r t i e s of the i n s u l a t o r -semiconductor i n t e r f a c e . F i g . 5.3 shows the C-V c h a r a c t e r i s t i c s 2 of c a p a c i t o r s formed by d e p o s i t i n g 0.0028 cm aluminum dots on o 800 A of s i l i c o n monoxide. The SiO was t h e r m a l l y evaporated from a powder source i n a vacuum system which had been pumped — 6 down to 2x10 t o r r . The s u b s t r a t e s used were a l l 2 ohm-cm p-type s i l i c o n s u b s t r a t e s which had undergone a v a r i e t y of 0 I 1 1 1 i i i 1 I -20 -10 0 10 20 Bias Voltage (v) F i g u r e 5 . 3 . C a p a c i t a n c e - V o l t a g e C h a r a c t e r i s i t c f o r S i l i c o n Monoxide on S i l i c o n . E f f e c t of V a r i o u s S u r f a c e T r e a t m e n t s P r i o r t o S i O D e p o s i t i o n . L e t t e r s R e f e r t o T r e a t m e n t s D e s c r i b e d i n T e x t . o 1 1 0 s u r f a c e t r e a t m e n t s . A l l w a f e r s were g i v e n a s t a n d a r d c l e a n a s d e s c r i b e d i n A p p e n d i x A.1.1. F o l l o w i n g c l e a n i n g , t h e f o l l o w i n g s u r f a c e t r e a t m e n t s were p e r f o r m e d : a) 20 min. i n a q u a r t z f u r n a c e a t 500°C w i t h 1 1/min f l o w i n g , b) 20 min. a t 500°C w i t h 1 1/min 0 2 f l o w i n g , c ) t r e a t m e n t (a) f o l l o w e d by a 10 m i n u t e d i p i n a p h o s p h o r i c a c i d : w a t e r (1:1) m i x t u r e ( s o l u t i o n u s e d f o r aluminum e t c h i n g ) , d) t r e a t m e n t (b) f o l l o w e d by same d i p as i n t r e a t m e n t ( c ) . W a f e r s h a v i n g t r e a t m e n t ( c ) and (d) were s u b s e q u e n t l y r i n s e d w i t h d e i o n i z e d w a t e r and blown d r y w i t h n i t r o g e n . T h e s e s u r f a c e t r e a t m e n t s were i n v e s t i g a t e d b e c a u s e t h e y a r e p a r t o f t h e s t a n d a r d p r o c e s s i n g s t e p s u s e d i n f o r m i n g MIS j u n c t i o n s . S i n c e t h e ICI j u n c t i o n i s o n l y u s e f u l when u s e d i n c o n j u n c t i o n w i t h a n o t h e r j u n c t i o n , t h e e f f e c t s o f f o r m i n g t h e o t h e r j u n c t i o n on t h e i n s u l a t o r c h a r g e must be i n v e s t i g a t e d . In t h i s work, t h e c o m b i n a t i o n o f t h e MIS and ICI j u n c t i o n i s o f p a r t i c u l a r i n t e r e s t b e c a u s e o f t h e i r a p p l i c a t i o n t o t h e f o r m a t i o n o f t h e i n v e r s i o n l a y e r s o l a r c e l l ( C h a p t e r 6 ) . The C-V c u r v e s f o r t h e above d e v i c e s were measured w i t h a B o o n t o n 71A c a p a c i t a n c e meter o p e r a t i n g a t 1 MHz and a r e p l o t t e d i n F i g . 5.3. The d i f f e r e n c e s between t h e f o u r c u r v e s i l l u s t r a t e t h e i m p o r t a n c e of s u r f a c e t r e a t m e n t on t h e i n s u l a t o r -s e m i c o n d u c t o r p r o p e r t i e s . The c u r v e s seem t o i n d i c a t e t h a t t h e f o r m a t i o n o f t h e t h i n o x i d e l a y e r r e q u i r e d f o r t h e MIS d i o d e 111 reduces the e f f e c t i v e p o s i t i v e charge i n the i n s u l a t o r , perhaps by moving i t f u r t h e r away from the i n t e r f a c e with the semiconductor. A l s o , the wet p r o c e s s i n g used i n curves (c) and (d) produces very strange C-V c h a r a c t e r i s t i c s . Although these curves e x h i b i t some i n e x p l i c a b l e d i s t o r t i o n s from i d e a l c h a r a c t e r i s t i c s , they a l l have s u b s t a n t i a l negative f l a t b a n d s h i f t s i n d i c a t i n g the presence of a l a r g e p o s i t i v e charge near the i n s u l a t o r - s e m i c o n d u c t o r i n t e r f a c e . If the i n s u l a t o r c a p a c i t a n c e i s known, then the f l a t b a n d c a p a c i t a n c e can be c a l c u l a t e d and the f l a t b a n d v o l t a g e e x t r a c t e d from the graphs. U n f o r t u n a t e l y , these c a p a c i t o r s f a i l e d to e x h i b i t a constant c a p a c i t a n c e i n accumulation making d e t e r m i n a t i o n of the i n s u l a t o r c a p a c i t a n c e d i f f i c u l t . Any attempt to b i a s these c a p a c i t o r s f u r t h e r i n t o accumulation i n order to observe the true i n s u l a t o r c a p a c i t a n c e r e s u l t e d i n a breakdown of the i n s u l a t o r . I t was a l s o found that the c a p a c i t o r s became q u i t e 2 leaky, a q u i r i n g dc conductances per u n i t area from about 10 -2 mmhos-cm to near p e r f e c t s h o r t s a f t e r an i n i t i a l sweep i n t o accumulation. T h i s phenomenon was a t t r i b u t e d to l o c a l breakdown due to p i n h o l e s i n the i n s u l a t o r . The low breakdown v o l t a g e was observed only when an evaporated aluminum m e t a l i z a t i o n was used f o r the C-V dots and not when a mercury probe was used. The p i n h o l e e x p l a n a t i o n i s c o n s i s t e n t with t h i s o b s e r v a t i o n s i n c e the l i q u i d mercurcy would not flow i n t o the very small p i n h o l e s but the v a p o r i z e d aluminum would. Subsequent C-V measurements were performed e x c l u s i v e l y with the mercury probe which permitted 1 12 extention of the bias sweep to -35 volts before catastrophic breakdown occured. At these large negative biases, the capacitance did approach a constant value thus permitting estimation of the insulator capacitance. The insulator charge densities in s i l i c o n monoxide and s i l i c o n n i t r i d e films deposited on s i l i c o n were evaluated using the mercury probe C-V technique. The mercury probe produces a 0.5 mm diameter mercury dot on the insulator surface. The back of the s i l i c o n wafer i s contacted by a sintered aluminum layer. The 2 ohm-cm p-type s i l i c o n substrates were prepared in the same way as for the formation of an MIS junction except that the last step was the deposition of the insulator instead of the metal (Appendix A . 2 . 2 ) . The s i l i c o n monoxide was deposited by thermal evaporation from a powder source as per the technique described in Appendix A.1.4. The s i l i c o n n i t r i d e was deposited in a plasma-enhanced CVD reactor (Appendix A.1.5). The actual thicknesses of the deposited insulators were determined using ellipsometric techniques. Both insulator thickness and r e f r a c t i v e index could be determined independently using the ellipsometer with these r e l a t i v e l y thick d i e l e c t r i c layers. The capacitance-voltage c h a r a c t e r i s t i c s of the insulator-semiconductor structure were measured with an HP4061A LCR meter. The capacitances for the two insulators were measured at 10 kHZ. 1 1 3 The b i a s v o l t a g e was swept i n both d i r e c t i o n s with a t h i r t y second h o l d at the s t a r t i n g b i a s p r i o r to beginning the sweep. The measured C-V curves f o r the s i l i c o n monoxide c a p a c i t o r are shown i n F i g . 5.4 and those f o r the s i l i c o n n i t r i d e c a p a c i t o r are shown in F i g . 5.5. The dramatic e f f e c t of the sweep d i r e c t i o n on the c a p a c i t a n c e - v o l t a g e curves suggests the n i t r i d e charge i s somewhat u n s t a b l e , depending i n part on the p r e v i o u s p o s i t i o n of the s u r f a c e p o t e n t i a l . Using the measured i n s u l a t o r c a p a c i t a n c e of 152 pF, the r e f r a c t i v e index was found to be 5.1. T h i s value i s c o n s i d e r a b l y lower than the value of 7.4 found i n the l i t e r a t u r e [47]. T h i s d i f f e r e n c e i s a t t r i b u t e d to the low temperature d e p o s i t i o n technique employed which d i f f e r s from the method used i n the r e f e r e n c e quoted. With the measured value of i n s u l a t o r p e r m i t t i v i t y and the known s u b s t r a t e doping of 15 -3 6.5x10 cm , the r a t i o of f l a t b a n d c a p a c i t a n c e to i n s u l a t o r c a p a c i t a n c e was c a l c u l a t e d to be 0.73 using Eq. 5.5. From t h i s v a l u e , f l a t b a n d v o l t a g e s of -28.3 v o l t s when sweeping from accumulation to i n v e r s i o n and -8.4 v o l t s when sweeping from i n v e r s i o n to accumulation were obtained from the measured c u r v e s . Using t a b u l a t e d values f o r the work f u n c t i o n of mercury (4.5 eV), the s i l i c o n e l e c t r o n a f f i n i t y (4.15 eV), and the known doping d e n s i t y , the work f u n c t i o n d i f f e r e n c e , # M S was c a l c u l a t e d to be -0.6 v o l t s u s i n g Eq. 5.7. The i n s u l a t o r charge d e n s i t i e s f o r the two sweep d i r e c t i o n s c o u l d then be c a l c u l a t e d 13 2 12 from Eq. 5.6. They were 1.3x10 charges/cm and 3.7x10 2 charges/cm f o r the accumulation to i n v e r s i o n and the i n v e r s i o n 0 I 1 1 1 - 4 0 - 3 0 - 2 0 - 1 0 0 1 0 B i a s Voltage (v) Figure 5.4 . Capaci tance-Vol tage C h a r a c t e r i s t i c for S00 % S i l i c o n Monoxide F i lm on 2 ohm-cm P-Type S i l i c o n -a) Just Fabr icated. b) Af ter 30 Days. -40 -30 -20 -10 0 10 Bias Voltage (v) o Figure 5 .5 . Capacitance-Voltage C h a r a c t e r i s t i c for 600 A S i l i c o n N i t r i d e Fi lm on 2 ohm-cm P-Type S i l i c o n -Immediately Af ter F a b r i c a t i o n . Arrows Indicate Bias Sweep D i r e c t i o n . 1 1 6 to accumulation sweeps, r e s p e c t i v e l y . Both the a b s o l u t e values of and the d i f f e r e n c e between these charge d e n s i t i e s i s very l a r g e compared to the value of i n s u l a t o r charge d e n s i t y obtained f o r t h e r m a l l y o x i d i z e d s i l i c o n 1 1 2 which i s t y p i c a l l y below 1x10 charges/cm [43]. The d i f f e r e n t charge d e n s i t i e s obtained from the two sweep d i r e c t i o n s suggest the presence of a high d e n s i t y of charge t r a p p i n g c e n t e r s near the i n s u l a t o r - s e m i c o n d u c t o r i n t e r f a c e [48]. These t r a p p i n g c e n t e r s w i l l slowly r e l e a s e e l e c t r o n s i n t o the s i l i c o n when an accumulation l a y e r i s present at the s u r f a c e r e s u l t i n g i n an i n c r e a s e d p o s i t i v e charge i n the i n s u l a t o r . When an i n v e r s i o n l a y e r of e l e c t r o n s i s present at the s u r f a c e , the charge t r a p s slowly f i l l with e l e c t r o n s and so a l e s s n e g ative f l a t b a n d v o l t a g e i s obt a i n e d . Although the observed f l a t b a n d s h i f t f o r s i l i c o n n i t r i d e i s q u i t e s p e c t a c u l a r , i t does not have a great deal of s i g n i f i c a n c e with regard to the o r i g i n a l i n t e n t of t h i s experiment. The measurement was intended to pr o v i d e the i n s u l a t o r charge d e n s i t y f o r an ICI j u n c t i o n , which a c c o r d i n g to the above r e s u l t s , i s not unique. However, s i n c e there i s normally no metal gate on an ICI j u n c t i o n , the s i l c o n s u r f a c e w i l l never go i n t o accumulation. The lower value of measured i n s u l a t o r charge i s s t a b l e , showing no change when the s u r f a c e i s h e l d i n i n v e r s i o n f o r f i v e minutes before sweeping the b i a s . Thus, i f there i s no metal gate on the i n s u l a t o r s u r f a c e , the s i l i c o n s u r f a c e w i l l always be i n i n v e r s i o n and the lower value of i n s u l a t o r charge i s the only value r e l e v a n t i n 1 1 7 c h a r a c t e r i z i n g the ICI j u n c t i o n . The s t a b i l i t y over time of the i n s u l a t o r charge was i n v e s t i g a t e d by remeasuring the C-V curves f o r the s i l i c o n n i t r i d e t h i r t y days a f t e r f a b r i c a t i o n . The r e s u l t s shown in F i g . 5.6 are s u b s t a n t i a l l y d i f f e r e n t and somewhat p u z z l i n g . Since a mercury probe was used, the C-V dot c o u l d not be placed on e x a c t l y the same spot on the i n s u l a t o r used i n the e a r l i e r measurement. If there i s c o n s i d e r a b l e inhomogeneity i n i n s u l a t o r charge from one area to another, i t might e x p l a i n the d i f f e r e n c e i n f l a t - b a n d v o l t a g e s of the C-V curves measured j u s t a f t e r f a b r i c a t i o n and t h i r t y days l a t e r . However, C-V curves were measured at a number of l o c a t i o n s on the i n s u l a t o r and were found to be very s i m i l a r . The d i f f e r e n c e between F i g s . 5.5 and 5.6 must be a t t r i b u t e d to changes i n the i n t e r f a c e p r o p e r t i e s with time. The measured p r o p e r t i e s of s i l i c o n monoxide and s i l c o n n i t r i d e f i l m s are - summarized i n Table 5.1. 5.4 Experimental Determination of Surface Recombination V e l o c i t y The s i l i c o n n i t r i d e coated wafer d e s c r i b e d above was used to determine the s u r f a c e recombination v e l o c i t y underneath the i n s u l a t o r . A measurement of the conductance versus frequency was performed at a f i x e d b i a s of -18 v o l t s . The e f f e c t i v e p a r a l l e l conductance was computed from Eq. 5.10 and i s shown p l o t t e d as c r o s s e s i n F i g . 5.7. At a b i a s of -18 v o l t s , the s u r f a c e i s i n weak i n v e r s i o n so the e q u i v a l e n t c i r c u i t shown i n F i g . 5.2b 0 J 1 1 1 1 1 - 4 0 - 3 0 - 2 0 - 1 0 0 10 Bias Voltage (v) Figure 5 .6 . Capaci tance-Voltage C h a r a c t e r i s t i c for 600 X S i l i c o n N i t r i d e F i lm on 2 ohm-cm P-Type S i l i c o n - 30 Days Af ter F a b r i c a t i o n . Arrows Indicate Bias Sweep D i r e c t i o n . 1 1 9 T a b l e 5.1. E x p e r i m e n t a l l y D e t e r m i n e d P a r a m e t e r s f o r S i l i c o n M onoxide and S i l i c o n N i t r i d e T h i n F i l m s . P a r a m e t e r S i l i c o n S i l i c o n M o noxide N i t r i d e 0 T h i c k n e s s (A) 895 597 R e f r a c t i v e Index 1 .78 1 .86 P e r m i t t i v i t y (/e n) 6.0 5.1 C : (nF/cm 2) 60 75 O x i d e C h a r g e ( I n i t i a l ) : Accum. t o I n v . (cm ) 8 . 4 X 1 0 1 2 3 . 9 x 1 0 1 2 _ 2 I n v . t o Accum. (cm ) 7 . 8 x 1 0 1 2 1 2 1 .3x10 O x i d e C h a r g e (30 d a y s ) : _ 2 Accum. t o I n v . (cm ) (n o t measured) 1 3 1 .2x10 - 2 I n v . t o Accum. (cm ) 6 . 5 X 1 0 1 2 8 . 5 x ! 0 1 2 Figure 5.7. Determination of Surface State Density by Conductance versus Frequency Method - Weak Invers ion . 121 a p p l i e s . The measured data c o u l d be f i t reasonably w e l l with a curve c a l c u l a t e d from Eq. 5.9 using values of C g = 300pF and r g = 35 MS. From Eq. 5.11, the s u r f a c e s t a t e d e n s i t y i s found to 1 1 - 2 be N = 6.7x10 cm . Although t h i s measurement i s u s e f u l i n checking the measurement apparatus, i t does not provide u s e f u l i n f o r m a t i o n about s u r f a c e recombination s i n c e the s u r f a c e s t a t e s at the weak i n v e r s i o n s u r f a c e p o t e n t i a l are not very e f f e c t i v e recombiation c e n t e r s [49]. In order t o determine the s u r f a c e s t a t e d e n s i t y near mid-gap, the conductance versus frequency measurement was performed at a b i a s of about -23 v o l t s , a d j u s t e d to maintance a constant high frequency c a p a c i t a n c e , measured at 1 MHz, of 62 pF. The i n s u l a t o r c a p a c i t a n c e , measured i n str o n g accumulation, was 146 pF. From these v a l u e s , and us i n g the e q u i v a l e n t c i r c u i t i n F i g . 5.2a, the d e p l e t i o n l a y e r c a p a c i t a n c e was determined to be ~8 2 3.7x10 Farads/cm . I t i s being assumed that the s u r f a c e s t a t e s do not c o n t r i b u t e to the c a p a c i t a n c e because the measurement frequency i s so high that the s t a t e s cannot respond to the modulation of the s u r f a c e p o t e n t i a l . T h i s assumption i s not s t r i c t l y t r ue s i n c e there may be f a s t s u r f a c e s t a t e s i n f l u e n c i n g the measured c a p a c i t a n c e ; however., these s t a t e s are being n e g l e c t e d f o r the purposes of t h i s c a l c u l a t i o n . Using Eq. 5.2 and the c a l c u l a t e d d e p l e t i o n c a p a c i t a n c e , the su r f a c e p o t e n t i a l was determined to be -0.29 eV, which i s between f l a t b a n d and the midgap value of -0.37 eV. For t h i s value of s u r f a c e p o t e n t i a l , the theory d e s c r i b e d i n S e c t i o n 5.2 i s a p p l i c a b l e so the s u r f a c e s t a t e d e n s i t y may be determined from a conductance 122 versus frequency measurement. For measurements of surface s t a t e d e n s i t y performed on the S i - S i C ^ i n t e r f a c e , the d e n s i t y i s n e a r l y constant w i t h i n a tenth of an eV from midgap [43] so i t i s reasonable to expect that the value of su r f a c e s t a t e d e n s i t y obtained from t h i s measurement w i l l be c l o s e to the midgap v a l u e . The conductance versus frequency f o r the S i - S i ^ N ^ c a p a c i t o r was measured i n the range of 1 kHz to 100 kHz. The e f f e c t i v e p a r a l l e l conductance Gp was c a l c u l a t e d from Eq. 5.10 and the q u a n t i t y Gp/w p l o t t e d a g a i n s t frequency ( F i g . 5.8). A maximum _ o o value of Gp/cj = 4.1x10 Farads/cm was obtained at f = 5 Khz. The value of Gp/oj at f i v e times the frequency of the maximum was found to be 1.9x10 Farads-cm producing a r a t i o R(5) = 1.5. From t h i s v a l u e , the r a t i o of Gp/cj to ^ s s , obtained g r a p h i c a l l y -20 from F i g . 3 of Ref. 44, was 5.4x10 Farads-eV y i e l d i n g a s u r f a c e 11 -2 -1 s t a t e d e n s i t y of N „ = 7.6x10 cm eV . T h i s value i s J ss s u r p r i s i n g l y low, and i s comparable to valu e s obtained with t h e r m a l l y grown oxides [43]. The mean r e l a x a t i o n time, a l s o determined g r a p h i c a l l y using Ref. 44, was found to be 72 usee. For the su r f a c e p o t e n t i a l determined by the high frequency c a p a c i t a n c e , the surface hole 1 2 - 3 c o n c e n t r a t i o n i s p = 3.1x10 cm . From Eq. 5.12, using a 7 - 1 thermal v e l o c i t y of 1x10 cm-s , the capture c r o s s s e c t i o n f o r — 1 6 2 holes was determined to be o = 4.5x10 cm . T h i s value i s i n — 1 6 2 reasonable agreement with the p u b l i s h e d value of 2.2x10 cm [43]. The di s c r e p a n c y can e a s i l y be a t t r i b u t e d t o the u n c e r t a i n t y in the s u r f a c e hole c o n c e n t r a t i o n which depends e x p o n e n t i a l l y on the s u r f a c e p o t e n t i a l . 1 23 100 GL CD Log (f / 1Hz) Figure 5.8. Determination of Surface State Density by Conductance versus Frequency Method. - Depletion. 124 The s u r f a c e recombination v e l o c i t y due to s u r f a c e s t a t e s of 11 -2 -1 c o n c e n t r a t i o n 7.6x10 cm eV d i s t r i b u t e d u n i f o r m l y i n energy 16 2 near midgap with capture c r o s s s e c t i o n of 4.5x10 cm i s 270 cm-s 1 c a l c u l a t e d using Eq. 5.16. T h i s value i s q u i t e low, suggesting t h a t the d e p o s i t e d i n s u l a t o r produces reasonably good p a s s i v a t i o n of the i n s u l a t o r - s i l i c o n i n t e r f a c e and w i l l not l e a d to high recombination c u r r e n t s at t h i s i n t e r f a c e . The measurement of s u r f a c e recombination v e l o c i t y i s r e l a t i v e l y d i f f i c u l t to perform because of the tendency of the s u r f a c e p o t e n t i a l to d r i f t d u r i n g the measurement due to the charging or d i s c h a r g i n g of t r a p p i n g c e n t e r s in the i n s u l a t o r as noted e a r l i e r . Rather than o p e r a t i n g at a f i x e d b i a s , the b i a s was a d j u s t e d p e r i o d i c a l l y to maintain a constant high frequency (1 Mhz) c a p a c i t a n c e . I t was found that the d r i f t i n s u r f a c e p o t e n t i a l of the s i l i c o n monoxide c a p a c i t o r s was too r a p i d to maintain constant as the measuring frequency was changed. For t h i s reason, the s u r f a c e recombination v e l o c i t y of the s i l i c o n -s i l i c o n monoxide i n t e r f a c e was not determined. 1 25 CHAPTER 6 The Inversion Layer Solar C e l l The i n v e r s i o n l a y e r s o l a r c e l l i s an a t t r a c t i v e d e v i c e because the process technology used f o r i t s f a b r i c a t i o n does not r e q u i r e the d i f f u s i o n step normally used f o r the formation of a s o l a r c e l l j u n c t i o n . The j u n c t i o n i s formed i n the i l l u m i n a t e d areas of the c e l l by an i n s u l a t o r which c o n t a i n s a l a r g e p o s i t i v e charge near the i n s u l a t o r - s e m i c o n d u c t o r i n t e r f a c e . The p o s i t i v e charge induces an i n v e r s i o n l a y e r i n the p-type semiconductor below and produces the f i e l d r e q u i r e d to separate the photo-generated e l e c t r o n - h o l e p a i r s thus p e r m i t t i n g the e x t r a c t i o n of power from the c e l l when exposed to l i g h t . The i n v e r s i o n l a y e r p r o v i d e s the conducting path f o r photo-generated e l e c t r o n s to be c a r r i e d to an e x t e r n a l c i r c u i t . E l e c t r i c a l c o n t a c t i s made to the i n v e r s i o n l a y e r with an MIS j u n c t i o n , another j u n c t i o n technology which does not i n v o l v e a d i f f u s i o n . A c r o s s s e c t i o n through a t y p i c a l i n v e r s i o n l a y e r s o l a r c e l l i s shown i n F i g . 6.1. Since the MIS j u n c t i o n employs a metal l a y e r which blocks incoming l i g h t , the area of the semiconductor under the metal does not generate any power and so t h i s area must be kept to a minimum. The s e r i e s r e s i s t a n c e of the metal i s much lower than that of the i n v e r s i o n l a y e r so the c e l l e f f i c i e n c y w i l l be Metal Contact Gr id Deposited Insu la tor Thin Insu la tor v -V : : -~. MIS Junct ion ICI Junct ion Semiconductor 7 Ohmic Back Contact F i g u r e 6.1. I n v e r s i o n L a y e r S o l a r C e l l C r o s s S e c t i o n cn 127 improved by minimizing the d i s t a n c e a photo-generated e l e c t r o n must t r a v e l to reach the MIS j u n c t i o n so i t can flow i n t o the metal. A g r i d geometry c o n s i s t i n g of long t h i n metal f i n g e r s connected together by a bus bar i s normally employed f o r the top c o n t a c t metal p a t t e r n (see F i g . 6.2). The i n v e r s i o n l a y e r sheet r e s i s t a n c e i s much higher ( t y p i c a l l y 10 kohms/square) than the sheet r e s i s t a n c e of the d i f f u s i o n used f o r standard s o l a r c e l l s (as low as 40 ohms/square). The i m p l i c a t i o n s of t h i s high sheet r e s i s t a n c e on the design of an e f f e c t i v e i n v e r s i o n l a y e r c e l l c o l l e c t i o n g r i d w i l l be i n v e s t i g a t e d l a t e r i n t h i s chapter; but f i r s t , the r e l a t i o n s h i p between the p r o p e r t i e s of the ICI j u n c t i o n and the i n v e r s i o n l a y e r sheet r e s i s t a n c e w i l l be developed. 6.1 E l e c t r o s t a t i c s of the I n s u l a t o r Charge Induced Surface J u n c t i o n The i n v e r s i o n l a y e r s o l a r c e l l e s s e n t i a l l y r e l i e s on the charge i n a d e p o s i t e d oxide f o r the formation of the j u n c t i o n used to separate o p t i c a l l y generated e l e c t r o n - h o l e p a i r s . The oxide charge induced s u r f a c e j u n c t i o n i s very s i m i l a r to the MOS c a p a c i t o r d e s c r i b e d i n Chapter 5 except that there i s no gate e l e c t r o d e . The absence of the gate s u f f i c i e n t l y a l t e r s the e l e c t r o s t a t i c s of the j u n c t i o n to r e q u i r e a separate a n a l y s i s to be presented. Consider an i n s u l a t o r c o n t a i n i n g a h i g h p o s i t i v e charge d e n s i t y d e p o s i t e d onto a p-type semiconductor causing an 1 28 F i g u r e 6 . 2 . G r i d Geometry f o r a T y p i c a l I n v e r s i o n L a y e r S o l a r C e l l . Expanded S e c t i o n i s M o d e l l e d by Computer Program: I L C E L L . 1 29 i n v e r s i o n l a y e r of e l e c t r o n s to form at the semiconductor s u r f a c e . I t w i l l be assumed that an ohmic c o n t a c t has been formed to the back of the semiconductor and that t h i s c o n t a c t i s h e l d , f o r convenience, at ground p o t e n t i a l . Since the o u t s i d e s u r f a c e of the i n s u l a t o r i s f l o a t i n g , i t i s not immediately obvious what p o t e n t i a l w i l l appear at t h i s p o i n t . To be e n t i r e l y g e n e r a l , an a r b i t r a r y charge d e n s i t y i s allowed to be present at t h i s s u r f a c e . In order to obey charge c o n s e r v a t i o n , i t i s necessary to extend the system under c o n s i d e r a t i o n to i n c l u d e a d i s t a n t ground plane, e s s e n t i a l l y at i n f i n i t y , above the i n s u l a t o r s u r f a c e . U t i l i z i n g charge c o n s e r v a t i o n , Gauss's law and Poisson's equation, the charge d e n s i t y , e l e c t r i c f i e l d , and p o t e n t i a l d i s t r i b u t i o n f o r the one-dimensional a i r - i n s u l a t o r -semiconductor s t r u c t u r e can be determined. T h i s problem has a l r e a d y been s o l v e d by S a l t e r and Thomas [49] although they f a i l e d to e x p l i c i t l y i n c l u d e the ground plane at i n f i n i t y . The charge d i s t r i b u t i o n f o r the system i s shown i n F i g . 6.3a. Charge n e u t r a l i t y g i v e s : The charge i n the semiconductor d e p l e t i o n region i s obtained from the d e p l e t i o n approximation [50]: Q=c + Q G + Q I + Q B + QD = 0 6.1 Q D = - ( 2 q e s ^ N A ) l / 2 = -q^W 6.2 If the s u r f a c e of the semiconductor i s i n v e r t e d , then the s u r f a c e p o t e n t i a l ^ i s approximately [51]: • ^ = 2tf B = 2kT/q ln(N A/n.) 6.3 130 F i g u r e 6 . 3 . E l e c t r o s t a t i c s of the I n s u l a t o r S e m i c o n d u c t o r S t r u c t u r e -a) Charge D e n s i t y . b) E l e c t r i c F i e l d . c) P o t e n t i a l . 131 I f the i n v e r s i o n l a y e r i s , as i n the case of an i n v e r s i o n l a y e r s o l a r c e l l , i n e l e c t r i c a l c o n t a c t with a metal through an MIS c o n t a c t , then the s u r f a c e p o t e n t i a l i s m o d i f i e d by the p o t e n t i a l d i f f e r e n c e V between the ohmic back contact and the co n t a c t to the i n v e r s i o n l a y e r . In t h i s s i t u a t i o n : ^ s = 2^ B - V 6.4 To ev a l u a t e the e l e c t r i c f i e l d , the charge d i s t r i b u t i o n s i n the semiconductor and i n s u l a t o r must be known. The charge d i s t r i b u t i o n i n the semiconductor i s approximated by a r e c t a n g u l a r d i s t r i b u t i o n f o r the d e p l e t i o n r e g i o n and a very narrow charge spike at the semiconductor s u r f a c e f o r the i n v e r s i o n l a y e r . The i n v e r s i o n l a y e r charge i s assumed to be so narrow that i t can be t r e a t e d l i k e a s u r f a c e charge r a t h e r than a bulk charge. The charge d i s t r i b u t i o n i n the i n s u l a t o r i s assumed to be a s u r f a c e charge at the i n s u l a t o r - s e m i c o n d u c t o r i n t e r f a c e . Although t h i s assumption may be i n c o r r e c t , no measurement was performed d u r i n g t h i s work to determine the a c t u a l charge d i s t r i b u t i o n . P l a c i n g a l l the charge at the i n t e r f a c e l e a d s to a lower bound on the a c t u a l amount of charge i n the i n s u l a t o r [49]. A l s o , s u r f a c e s t a t e charge Q g s has been n e g l e c t e d s i n c e t h i s charge simply c a n c e l s the e f f e c t of some of the i n s u l a t o r charge, i . e . ( V n e t - ^ t o t a l " Q s s 6 ' 5 The magnitude of Q should be constant p r o v i d e d the semiconductor s u r f a c e remains i n st r o n g i n v e r s i o n so that the 1 32 p o s i t i o n of the e l e c t r o n quasi-Fermi l e v e l i s e s s e n t i a l l y f i x e d . Only the net i n s u l a t o r charge ( Q j ) n e t w i l l be c o n s i d e r e d i n t h i s problem as i n the treatment of the MOS c a p a c i t o r given in Se c t i o n 5.1. The above assumptions allow a simple i n t e g r a t i o n of the charge d i s t r i b u t i o n i n order to determine the e l e c t r i c f i e l d , as shown i n F i g . 6.3b. EG = Q ~ / e 0 6.6 E S = " V e S = <3NAW/eS 6 ' 7 E : = (Q . + QG)/eJ = - ( Q D + Qg + QJ)/eI 6.8 The p o t e n t i a l i s then obtained by i n t e g r a t i n g the e l e c t r i c f i e l d , as shown i n F i g . 6.3c: • = " E G d = " Q=o d / e0 6 ' 9 0 S = EgW/2 = -QDW/2es 6.10 *S = *G " E I 5 Q D W / 2 e S = Q » d / e 0 + ( V Q I + Q B ) 6 / e I 6 ' 1 1 S o l v i n g Eq. 6.11 f o r Q^, one o b t a i n s : Q . = (Q DW/2e s - Q Q S A J ) • e Q / d 6.12 Since, by assumption, d i s much g r e a t e r than 6 and W then w i l l be much l e s s than and Q D. C l e a r l y , a non-zero i m p l i e s there i s a f i e l d i n the a i r above the i n s u l a t o r . T h i s f i e l d would tend to a t t r a c t s t r a y .ions i n the a i r to the i n s u l a t o r s u r f a c e , thus a l t e r i n g the s u r f a c e charge Q Q. The c o n d i t i o n of no f i e l d i n the a i r (Q^ = 0) may be a good c r i t e r i o n f o r the e q u i l i b r i u m value of Q^: 1 33 G equ D I S A I S o As an example, f o r 800 A of s i l i c o n n i t r i d e d e p o s i t e d on 15 -3 2 ohm-cm p-type s i l i c o n (N A = 7 x 10 cm ), the e q u i l i b r i u m — 8 2 su r f a c e charge w i l l be ( Q G ) e g U = ~2.0 x 10 C/cm or 1 1 2 1.3 x 10 e l e c t r o n i c charges/cm . The sign of Q G i s the same as the d e p l e t i o n l a y e r charge so the charge i n the i n v e r s i o n l a y e r Q g w i l l be l e s s than i f Q Q were zero. Equ. 6.13 p o i n t s out the p o s s i b l e advantage of e n c a p s u l a t i n g an i n v e r s i o n l a y e r s o l a r c e l l . The encapsulant would i s o l a t e the s u r f a c e of the i n s u l a t o r from the a i r and would move the i n t e r f a c e with the a i r f a r away from the s i l i c o n s u b s t r a t e . The charge r e q u i r e d on the a i r - e n c a p s u l a n t i n t e r f a c e would be much smal l e r than f o r the a i r - i n s u l a t o r i n t e r f a c e . Nonetheless, the s u r f a c e charge f o r an unencapsulated c e l l i s r e l a t i v e l y small compared to the charge Qj expected f o r SiO or Si^N^ on s i l i c o n which should be on the 13 2 order of 0.2-1 x 10 cm , as found i n S e c t i o n 5.3. 6.2 Computer Model In order to b e t t e r a p p r e c i a t e the f a c t o r s a f f e c t i n g the e f f i c i e n c y of the i n v e r s i o n l a y e r c e l l , a simple model f o r t h i s d e v i c e was developed. Parameter inputs to the model were obtained from measurements d e s c r i b e d i n e a r l i e r chapters so that a s i m u l a t i o n c l o s e l y matching a c t u a l c o n d i t i o n s would be p o s s i b l e . A computer program of the model was f i r s t developed i n F o r t r a n and executed on the UBC Computing Center Amdahl 470 computer. Although t h i s implementation r e q u i r e d only a few 1 34 seconds of CPU time to produce a complete c u r r e n t - v o l t a g e c h a r a c t e r i s t i c f o r a l a r g e area s o l a r c e l l , i t developed convergence problems when m o d i f i e d to account f o r recombination at the s e m i c o n d u c t o r - i n s u l a t o r i n t e r f a c e . The model was subsequently t r a n s l a t e d to P a s c a l and run on the Apple II computer. A number of i n t e r a c t i v e f e a t u r e s were added to permit the user to manually a s s i s t i n o b t a i n i n g convergence (see Appendix B.1). Execution time i n c r e a s e d to over 30 minutes per I-V c h a r a c t e r i s t i c on the much slower microcomputer but c o u l d be run i n batch mode once convergence problems had been s o l v e d . The i n v e r s i o n l a y e r c e l l model i s e s s e n t i a l l y a lumped parameter model. The complex three dimensional c u r r e n t flow w i t h i n the d e v i c e i s reduced to two quasi-two dimensional models. These models are inexact but provide a c o n s i d e r a b l e r e d u c t i o n i n computational complexity. A f u l l three dimensional treatment of the i n v e r s i o n l a y e r c e l l has subsequently been developed elsewhere [52]. The two quasi-two dimensional models deal with 1) c u r r e n t flow from the semiconductor bulk i n t o the i n v e r s i o n l a y e r and along the i n v e r s i o n l a y e r to the metal f i n g e r s ( F i g . 6.2 i n s e t ) and 2) c u r r e n t flow along the metal f i n g e r s to the bus bar and along the bus bar to the c o n t a c t pad. The arrows i n F i g 6.2 show the assumed d i r e c t i o n of e l e c t r o n flow. Each model i s an e n t i r e l y separate program. The f i r s t model generates an I-V c h a r a c t e r i s t i c f o r a t h i n s l i c e of the i n v e r s i o n l a y e r between two metal f i n g e r s . The second model takes the f i r s t I-V c h a r a c t e r i s t i c as an input to generate the c h a r a c t e r i s t i c f o r the e n t i r e s o l a r c e l l . 1 35 6.2.1 Model of Current Flow along the In v e r s i o n Layer The f i r s t model d e a l s with a t h i n s l i c e of the i n v e r s i o n l a y e r cut h a l f way between two metal c o l l e c t i o n f i n g e r s and c o n t a i n i n g h a l f of the f i n g e r metal ( F i g . 6.2). Symmetry d i c t a t e s that there w i l l be no c u r r e n t flow a c r o s s the boundaries of the s l i c e , at l e a s t i n the d i r e c t i o n p e r p e n d i c u l a r to the metal f i n g e r . D e a l i n g with c u r r e n t flow i n t o and out of the s l i c e p a r a l l e l to the metal f i n g e r would r e q u i r e a f u l l three dimensional model so i t i s assumed that t h i s c u r r e n t i s n e g l i g i b l e . T h i s assumption i s v a l i d only i f the r e s i s t a n c e of the i n v e r s i o n l a y e r i s much l e s s than that of the semiconductor bulk so that the lowest r e s i s t a n c e path f o r a photo-generated e l e c t r o n to t r a v e l i s v e r t i c a l l y i n the semiconductor to the i n v e r s i o n l a y e r and then h o r i z o n t a l l y along the i n v e r s i o n l a y e r to the metal f i n g e r . S i m i l a r l y , i t i s assumed that the r e s i s t a n c e of the metal f i n g e r s i s much l e s s than that of the i n v e r s i o n l a y e r so that e l e c t r o n s c o l l e c t e d by the i n v e r s i o n l a y e r flow to the metal f i n g e r s and along the f i n g e r s to the bus bar r a t h e r than d i r e c t l y along the i n v e r s i o n l a y e r to the bus bar. A device which must r e l y on c u r r e n t flow from the bulk d i r e c t l y towards the metal co n t a c t g r i d , i s c a l l e d a g r a t i n g c e l l and has been d i s c u s s e d elsewhere [53], The assumption that c u r r e n t flow i s v e r t i c a l i n the semiconductor bulk a l l o w s the c r e a t i o n of a very simple model fo r the t h i n s l i c e of the i n v e r s i o n l a y e r c e l l . The semiconductor area beneath the oxide i s d i v i d e d i n t o a s e r i e s of 1 3 6 small s e c t i o n s , each modelled by a one-dimensional photodiode ( F i g . 6 . 4 ) . The model used f o r the photodiode i s simply a dark diode i n p a r a l l e l with a c u r r e n t source. T h i s model i s obtained from the s u p e r p o s i t i o n p r i n c i p l e [ 1 4 , 1 6 ] which assumes that the photogenerated c u r r e n t simply adds to the diode dark c u r r e n t but flows in the d i r e c t i o n of reverse b i a s c u r r e n t . The mathematical r e l a t i o n s h i p between c u r r e n t d e n s i t y and v o l t a g e i s o b t a i n e d from Eq. 3 . 8 : J(V) = J Q Dexp(qV/kT) + J Q R Gexp(qV/2kT) - J u p c 6 . 1 4 Equ. 6 . 1 4 c o n s i d e r s only recombination i n the semiconductor bulk and the d e p l e t i o n r e g i o n . There i s another dark c u r r e n t component due to recombination at the semiconductor s u r f a c e / j u s t under the d e p o s i t e d i n s u l a t o r . T h i s c u r r e n t i s c h a r a c t e r i z e d by a s u r f a c e recombination v e l o c i t y S Q . The r e s u l t i n g c u r r e n t d e n s i t y i s given by [ 4 6 ] : 2 P s n s ~ n i JSR = q S 0 n +P +2n. 6 * 1 5 s s i where n„ and p„ are the s u r f a c e e l e c t r o n and hole s s c o n c e n t r a t i o n s , r e s p e c t i v e l y and S Q i s d e f i n e d by Eq. 5 . 1 6 . I f an i n v e r s i o n l a y e r i s present at the s u r f a c e of a p-type semiconductor then n g >> p g and n^ i n which case Eq. 6 . 1 5 s i m p l i f i e s t o : J S R " « S 0 [ P s " n i 2 / n s ] 6 * 1 6 E v a l u a t i o n of t h i s equation r e q u i r e s e x p l i c i t c a l c u l a t i o n of the F i g u r e 6 . 4 . C i r c u i t Model f o r a S e c t i o n of an I n v e r s i o n Layer S o l a r C e l l . 138 s u r f a c e e l e c t r o n and hole c u r r e n t s as a f u n c t i o n of the a p p l i e d b i a s and the i n s u l a t o r charge. The r e l a t i o n s h i p between charge and normalized s u r f a c e p o t e n t i a l i s [49]: kT e_ u - u f -v v-u. u f -u u,- , / 0 Q T = — ^ [e S f P -e . f P + e f p S - e f P+2u s i n h ( u . ) ] 1 / 2 6.17 i q J-.D s rp ^S 1/2 Q where L Q = ( — ^ — ) i s the Debye l e n g t h , u = ^ i s the 2q n i normalized p o t e n t i a l and v = V i s the normalized a p p l i e d b i a s . The usual approximation of the bulk m a j o r i t y c o n c e n t r a t i o n and Fermi l e v e l i s made; i . e . P Q = N A (>> n^) which leads to the d e f i n i t i o n of the normalized hole quasi-Fermi energy: u f = l n ( N A /n.) 6.18 and the normalized s u r f a c e p o t e n t i a l : u s = l n ( N A / n i ) 6.19 S u b s t i t u t i n g Eqs. 6.18 and 6.19 i n t o 6.17 leads t o : Qj = { 2 k T e s [ n i 2 e v ( ^ - £ ) + p g + N A ( l n ( N A / p s ) - 1 ) ] } 1 / 2 6.20 s The only unknown i n t h i s equation i s p g , which may be s o l v e d f o r n u m e r i c a l l y , by an i t e r a t i v e method. The e f f e c t of bulk and back c o n t a c t r e s i s t a n c e i s i n c o r p o r a t e d i n t o a s i n g l e r e s i s t a n c e connected between each photodiode and the back c o n t a c t , which i s assumed to be at the same p o t e n t i a l over the e n t i r e d e v ice a r e a . The anodes of adjacent d e v i c e s are connected together by the i n v e r s i o n l a y e r 1 39 sheet r e s i s t a n c e . T h i s r e s i s t a n c e i s not a c o n s t a n t , but i n s t e a d depends on the i n v e r s i o n l a y e r charge Q B: Rj = 1/(Q f i M N) ohms/square 6.21 The i n v e r s i o n l a y e r charge depends on the i n s u l a t o r , s u r f a c e , and d e p l e t i o n l a y e r charges (Eq. 6.8). The d e p l e t i o n l a y e r charge depends on the s u r f a c e p o t e n t i a l (Eq. 6.10) which w i l l vary along the l e n g t h of the i n v e r s i o n l a y e r . The s u r f a c e p o t e n t i a l i s given by Eq. 6.4, where V i s the p o t e n t i a l d i f f e r e n c e between the back c o n t a c t and the e l e c t r o n quasi-Fermi energy i n the i n v e r s i o n l a y e r . Power i s drawn from the i n v e r s i o n l a y e r c e l l when the diode i s forward b i a s e d . The p o t e n t i a l d i f f e r e n c e i s p o s i t i v e , thus reducing the s u r f a c e p o t e n t i a l and the net d e p l e t i o n l a y e r charge. Since the d e p l e t i o n l a y e r and i n v e r s i o n l a y e r charges are of the same s i g n , any r e d u c t i o n i n d e p l e t i o n l a y e r charge must be r e f l e c t e d by an i n c r e a s e i n i n v e r s i o n l a y e r charge; thus, when the i n v e r s i o n l a y e r c e l l i s open c i r c u i t , the s u r f a c e p o t e n t i a l w i l l be small and the i n v e r s i o n l a y e r charge l a r g e , but as the c e l l i s b i a s e d towards short c i r c u i t , the s u r f a c e p o t e n t i a l and d e p l e t i o n l a y e r charge i n c r e a s e , r e s u l t i n g i n an i n c r e a s e i n the i n v e r s i o n l a y e r sheet r e s i s t a n c e . Since the i n v e r s i o n l a y e r must conduct the c e l l c u r r e n t , t h i s c o n d u c t i v i t y modulation phenomena w i l l have an adverse e f f e c t on the c e l l e f f i c i e n c y due to power l o s s e s i n the i n v e r s i o n l a y e r . Since the p o t e n t i a l drop between adjacent photodiodes 140 depends on the t o t a l c u r r e n t f l o w i n g along the i n v e r s i o n l a y e r between these diodes, and the r e s i s t a n c e of the i n v e r s i o n l a y e r depends on the l o c a l p o t e n t i a l , the c u r r e n t - v o l t a g e r e l a t i o n s h i p may not be c a l c u l a t e d d i r e c t l y . Instead, an i t e r a t i v e approach must be used to s o l v e f o r the s u r f a c e p o t e n t i a l and c u r r e n t flow. Although the i n v e r s i o n l a y e r charge w i l l vary c o n t i n u o u s l y along the l e n g t h of the t h i n s l i c e , the d i s c r e t e nature of the model r e q u i r e s that an average conductance between diode s e c t i o n s be used. T h i s average conductance cannot be determined immediately s i n c e the p o t e n t i a l of the i n v e r s i o n l a y e r f o r two adjacent diodes i s not known u n t i l the c u r r e n t f l o w i n g between them has been c a l c u l a t e d . Determination of the I-V c h a r a c t e r i s t i c f o r the t h i n s l i c e of the i n v e r s i o n l a y e r c e l l begins by s e t t i n g the p o t e n t i a l at the diode f u r t h e s t from the MIS c o n t a c t . The c u r r e n t from t h i s photodiode i s c a l c u l a t e d using Eq. 6.14. T h i s c u r r e n t must flow along the i n v e r s i o n l a y e r to the next node i n the c h a i n of d i o d e s . A guess i s made at the p o t e n t i a l of the next diode i n order to c a l c u l a t e the average p o t e n t i a l between the two diodes and thus the i n v e r s i o n l a y e r sheet r e s i s t a n c e . The p o t e n t i a l drop due to c u r r e n t flow from the f i r s t diode i s c a l c u l a t e d , thus g i v i n g an improved guess at the p o t e n t i a l of the next node. The c a l c u l a t i o n i s repeated u n t i l the next node changes by l e s s than a p r e s e t v a l u e . The e n t i r e procedure i s repeated from node to node, summing the diode c u r r e n t s , u n t i l the MIS c o n t a c t i s reached. By v a r y i n g the s t a r t i n g p o t e n t i a l at the f i r s t diode, 141 a set of c u r r e n t - v o l t a g e p a i r s are obtained. The model c a l c u l a t i o n begins at a v o l t a g e s l i g h t l y above open c i r c u i t and s u c c e s s i v e l y decrements the center node s t a r t i n g v o l t a g e u n t i l the t e r m i n a l v o l t a g e becomes negat i v e , thus producing a complete I-V c h a r a c t e r i s t i c i n the f o u r t h quadrant, where the c e l l i s d e l i v e r i n g power. With the c a l c u l a t i o n of I-V p a i r s complete, the computer c a l c u l a t e s the open c i r c u i t v o l t a g e V Q Q , short c i r c u i t c u r r e n t I g C , and maximum power P ^ x from the computed p o i n t s . F i n a l l y , the f i l l f a c t o r f f i s determined from: f f = W ( I s c * v o c ) 6 - 2 2 6.2.2 Model f o r Current C o l l e c t i o n by Contact G r i d The e f f e c t of c u r r e n t flow along the c o l l e c t i o n g r i d i s determined with a separate program: IVGRID (see Appendix B.2 f o r a l i s t i n g ) . T h i s model simply c a l c u l a t e s the e f f e c t s of v o l t a g e drops along the metal c o l l e c t i o n g r i d on the c e l l performance. Only a r e c t a n g u l a r geometry with a bus bar along one s i d e and e q u a l l y spaced metal f i n g e r s extending from the bus bar ac r o s s to the other s i d e of the device i s t r e a t e d ( F i g . 6.5). Devices with a c e n t r a l bus bar may a l s o be modelled by t r e a t i n g only h a l f the d e v i c e , d i v i d e d down the ce n t e r of the bus bar. Contact i s assumed to be made at one end of the bus bar. Contact made along the e n t i r e bus bar len g t h may be modelled by making the bus bar t h i c k n e s s very l a r g e , thus making i t s e f f e c t i v e r e s i s t a n c e n e g l i g i b l e . The o p e r a t i o n of t h i s model i s very s i m i l a r to that of the 142 FW T FS JL BW FL Figure 6 . 5 . C o l l e c t i o n G r i d Geometry f o r Computer Model. 1 43 i n v e r s i o n l a y e r t h i n s e c t i o n except t h a t , u n l i k e the i n v e r s i o n l a y e r , the c o n d u c t i v i t y of the metal i s constant, independent of p o t e n t i a l , so no i t e r a t i o n i s necessary to c a l c u l a t e the e f f e c t of c u r r e n t flow along the c o l l e c t i o n g r i d . An I-V c h a r a c t e r i s t i c fo r a s i n g l e metal f i n g e r i s computed by d i v i d i n g the f i n g e r i n t o uniform s e c t i o n s and summing the c u r r e n t from each s e c t i o n . The amount of c u r r e n t d e l i v e r e d by each s e c t i o n i s determined from the t h i n s e c t i o n I-V c h a r a c t e r i s t i c . The s i n g l e f i n g e r I-V c h a r a c t e r i s t i c i s used as an input to the c a l c u l a t i o n of c u r r e n t flow along the bus bar i n a s i m i l a r f a s h i o n . Inputs to t h i s model i n c l u d e the c o n d u c t i v i t y of the g r i d metal, t h i c k n e s s and width of the bus bar, number of f i n g e r s , and f i n g e r t h i c k n e s s , l e n g t h , width and spacing. 6.3 Extraction of Parameters for Inversion Layer C e l l Model Whenever p r a c t i c a l , parameter inputs to the i n v e r s i o n l a y e r model were taken from measurements made i n the l a b o r a t o r y . Some of these measurements have been d e s c r i b e d i n d e t a i l i n p r e v i o u s c h a p t e r s ; o t h e r s w i l l be d e s c r i b e d b r i e f l y at t h i s p o i n t . Since the parameters are not e x t r a c t e d by f i t t i n g measured data to the model, but r a t h e r from independent measurements, the q u a l i t y of f i t s o b t a i n e d between measured and c a l c u l a t e d I-V c h a r a c t e r i s t i c s w i l l be an i n d i c a t i o n of the a p p r o p r i a t e n e s s of the model, r a t h e r than a demonstration of the model user's s k i l l i n a d j u s t i n g parameters to f i t the data. 1 44 6.3.1 Photocurrent D e n s i t y The photocurrent d e n s i t y depends on the i l l u m i n a t i o n i n t e n s i t y and spectrum, o p t i c a l p r o p e r t i e s of the a n t i r e f l e c t i o n c o a t i n g (the s i l i c o n monoxide or s i l i c o n n i t r i d e l a y e r ) and the a b s o r t i o n p r o p e r t i e s of the semiconductor. A common standard of i l l u m i n a t i o n f o r e v a l u a t i n g s o l a r c e l l s i s the AM1 spectrum which corresponds to the s o l a r spectrum f i l t e r e d through a s i n g l e v e r t i c a l pass of the ea r t h ' s atmosphere. I t has been e s t a b l i s h e d that t h i s i l l u m i n a t i o n w i l l produce between 30 and -2 36 mA-cm of photocurrent i n s i l i c o n with a s i n g l e l a y e r a n t i r e f l e c t i o n c o a t i n g [ 5 4 ] . Measurements made with the s o l a r s i m u l a t o r d e s c r i b e d i n Chapter 2 y i e l d e d short c i r c u i t c u r r e n t • . -2 d e n s i t i e s of t y p i c a l l y 35 mA-cm , a f t e r c o r r e c t i n g f o r the shadowing of the metal g r i d . 6.3.2 MIS Contact Dark Current The model d e s c r i b e d i n Chapter 3 f o r s i m u l a t i n g the MIS contact was too complex to be i n c o r p o r a t e d i n t o the i n v e r s i o n l a y e r c e l l model. Instead, a simple one dimensional diode model with s e r i e s r e s i s t a n c e was found to adequately simulate measured MIS c h a r a c t e r i s t i c s . The mathematical r e l a t i o n s h i p used was: J = J Q exp[q(V-R AJ)/nkT] 6.23 where the parameters J Q , R A and n were f i t t e d - t o experimental data. These parameters depend on the MIS c o n t a c t metal and the su b s t r a t e doping. A v a r i e t y of MIS diodes formed on a number of su b s t r a t e s with d i f f e r e n t metals were f a b r i c a t e d and measured. 1 45 The parameters which best f i t Eq. 6.22 are given i n Table 6.1. 6.3.3 C o n c e n t r a t i o n of Acceptor I m p u r i t i e s 2 2 The slope of the A / C versus V curve f o r an MIS diode was used to determine the net doping c o n c e n t r a t i o n f o r the d e v i c e s modelled a c c o r d i n g to the technique d e s c r i b e d i n S e c t i o n 3.1. A l i s t of the s u b s t r a t e s used i n t h i s work along with v a r i o u s m a t e r i a l p r o p e r t i e s appears i n Table 6.2. 6.3.4 Charge D e n s i t y i n the I n s u l a t o r The i n s u l a t o r charge d e n s i t y proved to be somewhat unstable and v a r i e d from device to device depending on the s u r f a c e treatment; however, a l l C - V c h a r a c t e r i s t i c s measured showed a p p r e c i a b l e f l a t b a n d s h i f t s r e p r e s e n t i n g i n s u l a t o r charge 12 -2 13 -2 d e n s i t i e s from 2x10 cm to 1x10 cm ( S e c t i o n 5.3). The e f f e c t of v a r i o u s i n s u l a t o r t h i c k n e s s e s was i n v e s t i g a t e d with the 12 -2 i n v e r s i o n l a y e r c e l l model. A value of 6x10 cm was used when s t u d y i n g the e f f e c t s of other parameters. 6.3.5 Surface Recombination V e l o c i t y A s u r f a c e recombination v e l o c i t y of 300 cm-s 1 , as determined i n S e c t i o n 5.4, was used i n cases where the s u r f a c e recombination v e l o c i t y was not being t r e a t e d as a parameter. 146 Table 6.1 Substrate-Dependent Parameters used by the In v e r s i o n Layer C e l l Model. Su b s t r a t e R e s i s t i v i t y (ohm-cm) MIS Metal Dark Current (ma-cm ) n Factor Tunnel R e s i s t a n c e R T 2 (ohm-cm ) 10' A l 5.0X10 - 6 1 .45 0.2 10 Mg 2.5x1O" 6 1 .40 0.04 2.5 A l 1.7X10" 6 1 .45 0.2 2.5 Mg 2.5X10~ 7 1 .25 0.04 0.5 A l 8.0x10~ 8 1.13 0.1 0.5 Mg 5.0x10~ 9 1 .05 0.03 0.1 A l 4.0x10~ 7 1 .30 0.1 0.1 Mg 2.0X10~ 9 1 .09 0.02 Table 6.2. I n v e r s i o n Layer C e l l Model Substrate Dependent Parameters Sub s t r a t e R e s i s t i v i t y Doping D e n s i t y Bulk R e s i s t a n c e E l e c t r o n L i f e t i m e D i f f u s i v i t y (ohm-cm) (cm - 3) R B 2 (ohm-cm ) (cm 2s~ 1) 10 1.7X10 1 5 0.25 7 34 2 6 . 5 X 1 0 1 5 0.05 6 30 0.5 4 . 3 X 1 0 1 6 0.012 0.6 22 0.1 1 7 2.3x10 0.003 0.2 15 147 6.3.6 Electron Lifetime The e l e c t r o n l i f e t i m e was taken from the sw i t c h i n g time measurement performed i n S e c t i o n 3.4.2.1. T h i s parameter depended on the s u b s t r a t e being used and the r e l e v a n t values are l i s t e d i n Table 6.2. 6.3.7 Channel Mobility The sheet r e s i s t a n c e of the i n v e r s i o n l a y e r channel depends on i n v e r s i o n l a y e r charge and channel m o b i l i t y . The i n v e r s i o n l a y e r charge i s determined from CV measurements but the channel m o b i l i t y r e q u i r e s a d i f f e r e n t approach. The e l e c t r o n m o b i l i t y in n-channel MOSFETs has been p u b l i s h e d [55]. The values are lower than bulk m o b i l i t i e s due to su r f a c e s c a t t e r i n g . The p u b l i s h e d measurements were made on t r a n s i s t o r s employing t h e r m a l l y grown gate oxides. The thermal oxide i s very important i n reducing s u r f a c e s t a t e s and so may a l s o reduce the e f f e c t s of su r f a c e s c a t t e r i n g . The channel m o b i l i t i e s obtained f o r de p o s i t e d i n s u l a t o r s may be somewhat d i f f e r e n t due to the su r f a c e s c a t t e r i n g phenomena. In order to measure the a c t u a l m o b i l i t i e s obtained with d e p o s i t e d i n s u l a t o r s , a g a t e l e s s MOSFET-type s t r u c t u r e was used. Source and d r a i n c o n t a c t s were formed using the MIS technology developed at U.B.C. so that p r o c e s s i n g i d e n t i c a l to that used i n the formation of the i n v e r s i o n l a y e r c e l l c o u l d be used. A number of s o u r c e - d r a i n p a i r s with s e p a r a t i o n s ranging from 50 nm to 500 /xm were formed on a 2 ohm-cm s i l i c o n s u b s t r a t e by photo-1 48 l i t h o g r a p h i c p a t t e r n i n g and e t c h i n g of an evaporated aluminum l a y e r . S i l i c o n monoxide was d e p o s i t e d onto the s u b s t r a t e through a shadow mask to prevent d e p o s i t i o n of the i n s u l a t o r on the c o n t a c t pads. The c o n d u c t i v i t y of the channel between source and d r a i n p a t t e r n s was measured using a small (10 mV RMS)' ac s i g n a l a p p l i e d t o the source with the d r a i n h e l d at v i r t u a l ground with one of the c u r r e n t - t o - v o l t a g e c o n v e r t e r s d e s c r i b e d i n Chapter 2. The r a t i o of d r a i n c u r r e n t to source v o l t a g e was c a l c u l a t e d to determine the c o n d u c t i v i t y . For the d e v i c e s measured, the i n s u l a t o r charge was determined from the C-V f l a t b a n d s h i f t to be 1 2 - 2 2.5x10 cm . The measured channel conductances are shown in Table 6.3. There i s c o n s i d e r a b l e v a r i a t i o n from between d e v i c e s , with no systematic dependence on the device s i z e , suggesting the oxide charge and/or channel m o b i l i t y are not constant across the wafer. The average conductance f o r the seven val u e s i s .37 ± .07 mmhos. T h i s value y i e l d s an average m o b i l i t y of 93 ± 20 2 - 1 - 1 cm V s . T h i s value i s very low compared to the bulk e l e c t r o n 2-1 -1 m o b i l i t y of 1350 and channel m o b i l i t y of 300-400 cm V s f o r MOSFETs with a t h e r m a l l y grown i n s u l a t o r . The low value suggests the d e p o s i t e d i n s u l a t o r i s not a p a r t i c u l a r l y e f f e c t i v e p a s s i v a t o r of s u r f a c e s t a t e s so that s u r f a c e s c a t t e r i n g produces a severe d e g r a d a t i o n of e l e c t r o n m o b i l i t y i n the channel. U n f o r t u n a t e l y , t h i s n o t i o n i s c o n t r a d i c t e d by the measured value of s u r f a c e recombination v e l o c i t y which i s very low. 1 49 Table 6.3. Channel Conductance of Va r i o u s S i z e s of MOSFETs U t i l i z i n g a S i l i c o n Monoxide Gate I n s u l a t o r . Channel Length (Aim) Conductance (mmhos) 50 0.26 75 0.32 1 00 0.32 1 50 0.46 250 0.37 375 0.44 500 0.41 1 50 6.3.8 Bulk S e r i e s R e s i s t a n c e An approximation to the bulk s e r i e s r e s i t a n c e was obtained by m u l t i p l y i n g the bulk r e s i s i t i v i t y by the wafer t h i c k n e s s . The values of bulk s e r i e s r e s i s t a n c e used f o r the model c a l c u l a t i o n are i n c l u d e d i n Table 6.2. Other model parameters not mentioned above, such as d i f f u s i v i t y [29], metal c o n d u c t i v i t y [56], and i n t r i n s i c c a r r i e r c o n c e n t r a t i o n [32] were taken from the l i t e r a t u r e f o r the c o n d i t i o n s a p p r o p r i a t e to the model. 6.4 Model C a l c u l a t i o n s R e s u l t s of the model c a l c u l a t i o n are u s e f u l i n e s t a b l i s h i n g the parameters which are of g r e a t e s t or l e a s t importance i n determining optimum s o l a r c e l l c o n v e r s i o n e f f i c i e n c y . For comparison purposes, a standard set of parameters was chosen. Normally, only the model parameter being i n v e s t i g a t e d would d i f f e r from the value i n the standard s e t . The standard parameter set i s shown in Table 6.4. When the e f f e c t of s u b s t r a t e r e s i s t i v i t y was i n v e s t i g a t e d , a set of f i v e parameters would change a c c o r d i n g to Tables 6.1 and 6.2. 6.4.1 E f f e c t of F i n g e r Spacing The f i r s t parameter i n v e s t i g a t e d was the g r i d f i n g e r s p a c i n g . Since the r a t i o of f i n g e r width to f i n g e r spacing a f f e c t s the f r a c t i o n of the s o l a r c e l l which i s shadowed by 151 metal, the f i n g e r width was a l s o v a r i e d along with the f i n g e r spacing to keep the r a t i o c o n s t a n t . The r e s u l t s of t h i s c a l c u l a t i o n are shown i n F i g . 6.6. C l e a r l y , the f i n e r the g r i d p a t t e r n , the higher the e f f i c i e n c y . There are, of course, p r a c t i c a l l i m i t a t i o n s to the minimum fea t u r e s i z e of the g r i d p a t t e r n which can be produced r e l i a b l y and e a s i l y . When t h i s work began, there were two techniques a v a i l a b l e in the U.B.C. s o l i d s t a t e f a b r i c a t i o n f a c i l i t y f o r the p r o d u c t i o n of the metal g r i d p a t t e r n s : p h o t o l i t h o g r a p h y and metal shadow masking. The f i n e s t l i n e a t t a i n a b l e with a simple copper f o i l mask etched at U.B.C using f e r r i c c h l o r i d e was about 100 Mm. Such coarse l i n e widths would r e s u l t i n low e f f i c i e n c y c e l l s because of the wider f i n g e r s e p a r a t i o n r e q u i r e d to a v o i d e x c e s s i v e metal coverage. In order to achieve high e f f i c i e n c y s o l a r c e l l s , the p h o t o l i t h o g r a p h i c approach was chosen. The c o n v e n t i o n a l p h o t o l i t h o g r a p h i c technique, which used a Kasper a l i g n e r , i s d e s c r i b e d i n Appendix A.2.1. The o p t i c a l r e s o l u t i o n of of the instrument p e r m i t t e d a minimum f e a t u r e s i z e of about 4 Mm. However, the generation of the g l a s s mask c o n t a i n i n g the metal g r i d p a t t e r n had other l i m i t a t i o n s . The mask, which was to cover an e n t i r e two i n c h diameter wafer, would be f i r s t cut i n t o TM R u b y l i t h u s i n g a computer c o n t r o l l e d Coordmograph c u t t e r at a much l a r g e r s c a l e . The c u t t e r was l i m i t e d to a maximum h o r i z o n t a l dimension of 32 inches thus p e r m i t t i n g a maxiumum re d u c t i o n of s i x t e e n times to the f i n a l g l a s s p l a t e . The 1 52 Table 6.4 Standard Parameter Values used f o r I n v e r s i o n Layer C e l l Model Parameter Value Photocurrent Density ( JUPC ) 35 mA-cm 2 MIS Diode Current Density ( J M I S ) 1 .7X10~6 mA-cm 2 MIS Diode n Fac t o r (n) 1 .45 MIS Tunnel R e s i s t a n c e (R T) 0.2 ohm-cm 2 Acceptor Impurity Cone. (N A) 6 . 5 X 1 0 1 5 atoms- -3 cm I n s u l a t o r Charge Dens i t y (Q :) 6x10 1 2 charges-cm 2 Surface Recomb. V e l o c i t y ( S Q ) 300 -1 cm-s E l e c t r o n D i f f u s i v i t y ( Dn> 30 2 -1 cm s Channel E l e c t r o n M o b i l i t y ("n> 100 cm V s~1 Back Contact R e s i s t a n c e (R s) 0.05 ohm-cm 2 Fing e r Spacing (FS> 180 /im F i n g e r Width ( F w ) 12 nm Temperature (T) 300 °K minimum f e a t u r e which c o u l d be cut r e p r o d u c i b l y was about .008 inches which would reduce to a 12 ^ m l i n e on the mask. The computer model was run us i n g a f i x e d f i n g e r width of 12 jum and v a r i o u s values of f i n g e r s p a c i n g . The c o n v e r s i o n e f f i c i e n c y as a f u n c t i o n of f i n g e r spacing i s shown i n F i g . 6.6. A maximum i n con v e r s i o n e f f i c i e n c y i s observed to occur near 100 nm. 153 Figure 6 .6 . E f f e c t of F inger Spacing on Invers ion Layer C e l l E f f i c i e n c y - ILCELL Model C a l c u l a t i o n . 1 54 6.4.2 E f f e c t of Oxide Charge One of the fundamental l i m i t a t i o n s on the e f f i c i e n c y of the i n v e r s i o n l a y e r s o l a r c e l l i s the i n v e r s i o n l a y e r sheet r e s i s t a n c e , which i s dependent on i n s u l a t o r charge and channel m o b i l i t y (eqn. 6.20). The importance of i n s u l a t o r charge was i n v e s t i g a t e d by v a r y i n g t h i s parameter with other model parameters h e l d f i x e d . The f i n g e r spacing and width were f i x e d at 180 nm and 12 nm, r e s p e c t i v e l y . The r e s u l t s are p l o t t e d i n F i g . 6.7. The i n s u l a t o r charge c o u l d not be reduced below 1 1 -2 5x10 cm because the model would f i n d that there i s no i n v e r s i o n l a y e r at c e r t a i n b i a s e s so that the c u r r e n t f l o w i n g i n t o the c o n t a c t would be c a l c u l a t e d to be z e r o . Of course, i n r e a l i t y , some charge would flow d i r e c t l y to the contact without the a i d of an i n v e r s i o n l a y e r , but t h i s e f f e c t i s not i n c l u d e d in the computer model. Since c e l l s without an i n v e r s i o n l a y e r at t h e i r s u r f a c e w i l l have a r e l a t i v e l y low e f f i c i e n c y [53]; i t was not c o n s i d e r e d important to be a b l e to model s_uch d e v i c e s . C l e a r l y , F i g . 6.7 shows a s i g n i f i c a n t r e d u c t i o n i n e f f i c i e n c y 13 -2 f o r c e l l s with i n s u l a t o r charge below 1x10 cm , while i n s u l a t o r charges, g r e a t e r than t h i s value produce only small improvements i n e f f i c i e n c y . T h i s c a l c u l a t i o n shows the importance of a high charge to o p t i m i z e c e l l e f f i c i e n c y . Figure 6.7. E f f e c t of Insu la tor Charge on Inversion Layer C e l l E f f i c i e n c y - ILCELL Model C a l c u l a t i o n . 1 56 6.4.3 E f f e c t o f Surface Recombination The p o s s i b l e d e t r i m e n t a l e f f e c t s of s u r f a c e recombination at the i n s u l a t o r - s e m i c o n d u c t o r i n t e r f a c e were i n v e s t i g a t e d by v a r y i n g the s u r f a c e recombination v e l o c i t y at a f i x e d i n s u l a t o r charge. The r e s u l t s f o r two v a l u e s of i n s u l a t o r charge are p l o t t e d i n F i g . 6.8. For the l a r g e r value of i n s u l a t o r charge, the e f f e c t of s u r f a c e recombination i s n e g l i g i b l e while at 12 -2 1x10 charges-cm , s u r f a c e recombination v e l o c i t i e s above 5 -1 1x10 cm-s d i d show some e f f e c t on c e l l e f f i c i e n c y . However, 1 3 f o r the measured val u e s f o r i n s u l a t o r charge (0.2 - 1x10 charges-cm ) and s u r f a c e recombination v e l o c i t y (300 cm-s ) the model i n d i c a t e s that s u r f a c e recombination i s not a f a c t o r a f f e c t i n g e f f i c i e n c y . 6 . 4 . 4 E f f e c t o f Tunnel R e s i s t a n c e The t unnel r e s i s t a n c e of the MIS c o n t a c t i s determined by a number of f a c t o r s , p r i m a r i l y the metal work f u n c t i o n and the s u b s t r a t e doping ( S e c t i o n 3.4.2.1). I t i s not an independent parameter, nor i s i t a simple constant but, has been t r e a t e d as such i n order to make the i n v e r s i o n l a y e r c e l l model t r a c t a b l e . The v a r i a t i o n of c e l l e f f i c i e n c y with tunnel r e s i s t a n c e i s p l o t t e d i n F i g . 6.9. From the r e s u l t s of Table 6.1, showing the measured e f f e c t i v e tunnel r e s i s t a n c e s of aluminum and magnesium MIS diodes, i t i s c l e a r that the aluminum c o n t a c t g r i d w i l l y i e l d a s i g n i f i c a n t l y poorer e f f i c i e n c y than a magnesium g r i d because of the s u b s t a n t i a l d i f f e r e n c e i n t u nnel r e s i s t a n c e . 157 Figure 6.8. E f f e c t of Surface Recombination on Inversion Layer C e l l E f f i c i e n c y - ILCELL Model C a l c u l a t i o n . 1 58 Area Tunnel Resistance (ohm-cm2) Figure 6 . 9 . E f f e c t of Tunnel Resistance on Inversion Layer C e l l E f f i c i e n c y - ILCELL Model C a l c u l a t i o n . 159 To v e r i f y the above c o n c l u s i o n i n a more r i g o r o u s manner, the one-dimensional computer model of the MIS diode used i n S e c t i o n 3.4.2.1 was used with an added photocurrent term to simulate a s o l a r c e l l . Since the c o n t a c t g r i d of an i n v e r s i o n l a y e r c e l l i s c o l l e c t i n g c u r r e n t from an area roughly ten times i t s own area of coverage, the photocurrent d e n s i t y used f o r the model was -2 350 mA-cm . The c u r r e n t c a l c u l a t e d by the model was then d i v i d e d by ten to g i v e a r e a l i s t i c output c u r r e n t d e n s i t y . The c a l c u l a t i o n was performed using the aluminum and magnesium work f u n c t i o n s given i n Table 3.4. The c a l c u l a t e d IV c h a r a c t e r i s t i c f o r the two work f u n c t i o n s i s shown i n F i g . 6.10. The higher work f u n c t i o n c h a r a c t e r i s t i c , corresponding to aluminum, has a s i g n i f i c a n t l y poorer f i l l f a c t o r and thus w i l l e x h i b i t a lower o v e r a l l e f f i c i e n c y . 6.4.5 E f f e c t of Sub s t r a t e R e s i s t i v i t y The s u b s t r a t e r e s i s t i v i t y a f f e c t s a number of parameters i n the i n v e r s i o n l a y e r c e l l model. The parameter v a l u e s used f o r each s u b s t r a t e are l i s t e d i n Table 6.2. The parameters p e r t a i n i n g to the MIS c o n t a c t were taken from Table 6.1 and the e f f i c i e n c i e s of c e l l s employing e i t h e r aluminum or magnesium c o n t a c t s were c a l c u l a t e d . The computed e f f i c i e n c i e s are p l o t t e d versus s u b s t r a t e doping i n F i g . 6.11. The c a l c u l a t i o n shows the advantages of using a low r e s i s t i v i t y s u b s t r a t e and the s u p e r i o r i t y of magnesium as the c o n t a c t g r i d m a t e r i a l . Figure 6 .10. I l luminated Diode C h a r a c t e r i s t i c s fo r 1 Sun 10 Sun Current D e n s i t i e s Computed by A n a l y t i c MIS Diode Model . Aluminum on 2 ohm-cm P-Type S i l i c o n . O 161 15 14h O - MAGNESIUM • - ALUMINUM 13 h <!> 12 h <!> • • i i k> • 10 15 1 1 16 17 Log (NA / cm"3) 18 Figure 6.11. E f f e c t of Substrate R e s i s t i v i t y on Invers ion Layer C e l l E f f i c i e n c y - ILCELL Model C a l c u l a t i o n . 1 62 6.4.6 E f f e c t of C o l l e c t i o n G r i d Resistance The e f f e c t of the c o l l e c t i o n g r i d i s c a l c u l a t e d with a separate computer model (see Appendix B.1.1). Two geometries were modelled: a) a 2 x 2 cm c e l l with a 2 mm wide busbar running down the ce n t e r and 12 um wide f i n g e r s spaced 180 Mm apart extending out at r i g h t angles to the bus bar, and b) a 2 i n c h square c e l l with a 5 mm wide bus bar and the same 12 Mm x 180 Mm f i n g e r g r i d . The parameters which determine the metal sheet r e s i s t a n c e are the t h i c k n e s s and r e s i s t i v i t y . The bulk r e s i s t i v i t y of — 6 -6 magnesium i s 4.3x10 ohm-cm while that of aluminum i s 2.7x10 ohm-cm [56]. In order to achieve the same conductance of the c o l l e c t i o n g r i d with magnesium as with aluminum, the magnesium t h i c k n e s s must be 1.6 times t h i c k e r than the aluminum. T h i s f a c t reduces the a t t r a c t i v e n e s s of magnesium as an a l t e r n a t i v e to aluminum f o r the c o l l e c t i o n g r i d m e t a l l i z a t i o n . (Another problem with magnesium i s i t s high r e a c t i v i t y and l a c k of a p r o t e c t i v e n a t i v e o x i d e . Magnesium c o n t a c t s degrade very r a p i d l y i f not c a r e f u l l y encapsulated to e l i m i n a t e exposure to a i r and moisture [57].) The e f f e c t of c o l l e c t i o n g r i d metal t h i c k n e s s on o v e r a l l c e l l e f f i c i e n c y using e i t h e r aluminum or magnesium i s p l o t t e d i n F i g . 6.12. Even though magnesium has a s u b s t a n t i a l l y lower c o n d u c t i v i t y , c e l l s with the same t h i c k n e s s of magnesium g r i d as aluminum can have higher e f f i c i e n c i e s because of the lower c o n t a c t r e s i s t a n c e obtained with magnesium. Devices made with geometry (b) are 6.5 times l a r g e r i n area so, a c c o r d i n g to F i g . 6.12, 163 T 0 1.0 2.0 3.0 Metal Thickness Gum) Figure 6 . i 2 . E f f e c t of C o l l e c t i o n Gr id Metal Thickness on Inversion Layer C e l l E f f i c i e n c y -ILGRIO Model C a l c u l a t i o n . 1 64 r e q u i r e a m e t a l l i z a t i o n three times t h i c k e r than that of the smal l e r d e v i c e s to achieve the same o v e r a l l e f f i c i e n c y . 6.5 F a b r i c a t i o n of I n v e r s i o n Layer S o l a r C e l l s I n v e r s i o n l a y e r s o l a r c e l l s were f a b r i c a t e d throughout much of the course of t h i s work. The f a b r i c a t i o n technology used went through an e v o l u t i o n as the f a c t o r s a f f e c t i n g c e l l performance became e v i d e n t . Rather than d e t a i l the numerous experiments which were performed, a summary of the important r e s u l t s obtained w i l l be presented. 6.5.1 P h o t o l i t h o g r a p h i c a l l y Defined G r i d P a t t e r n s The standard technology a v a i l a b l e f o r the p a t t e r n i n g of the f i n e metal l i n e s r e q u i r e d f o r the contact g r i d of the i n v e r s i o n l a y e r s o l a r c e l l employs a p h o t o s e n s i t i v e r e s i s t which i s patterned^ by exposure to u l t r a v i o l e t l i g h t and developed to d i s s o l v e away the exposed ( p o s i t i v e r e s i s t ) or unexposed (negative r e s i s t ) a r e a s . The metal f i n g e r p a t t e r n may be obt a i n e d by an e t c h i n g or a l i f t - o f f technique. I f the p a t t e r n i s to be etched, the metal l a y e r i s d e p o s i t e d f i r s t , then the o v e r l y i n g r e s i s t l a y e r i s p a t t e r n e d and the metal i s etched away i n areas not p r o t e c t e d by the r e s i s t . For the l i f t - o f f t echnique, the sequence i s re v e r s e d with the r e s i s t being p a t t e r n e d f i r s t on the wafer and the metal d e p o s i t e d overtop. The r e s i s t i s then d i s s o l v e d i n a s o l v e n t so that the metal i s removed from areas covered by r e s i s t . The p a t t e r n used f o r the l i f t - o f f technique i s the i n v e r s e of that used f o r 165 metal e t c h i n g . A key f a c t o r in a c h i e v i n g s u c c e s s f u l l i f t - o f f i s that there be no metal bridge between the metal o v e r l y i n g the r e s i s t and the metal c o n t a c t i n g the s u b s t r a t e . The amount of b r i d g i n g depends on the metal t h i c k n e s s , the r e s i s t t h i c k n e s s and the p r o f i l e of the pa t t e r n e d r e s i s t edge. For l a r g e area d e v i c e s 2 (> 1cm ), metal t h i c k n e s s e s g r e a t e r than 1 jum are r e q u i r e d to achieve resonable e f f i c i e n c i e s ( S e c t i o n 6.4.6). Although l i f t - o f f of 3 nm metal l a y e r s has been reported [58], the s p e c i a l techniques r e q u i r e d to perform t h i s l i f t - o f f were deemed too complex to be p r a c t i c a l . In t h i s work, using standard techniques, the maximum metal t h i c k n e s s which c o u l d be p a t t e r n e d by l i f t - o f f was 0.3 nm. Since t h i s t h i c k n e s s i s not s u f f i c i e n t f o r h igh e f f i c i e n c y , l a r g e area d e v i c e s , l i f t - o f f was seldom used. D e f i n i t i o n of the p a t t e r n by e t c h i n g i n v o l v e d wet chemical p r o c e s s i n g p r i o r to d e p o s i t i o n of the j u n c t i o n - i n d u c i n g i n s u l a t o r which a l s o formed the a n t i r e f l e c t i o n c o a t i n g . The wet p r o c e s s i n g c l e a r l y had an e f f e c t on the s e m i c o n d u c t o r - i n s u l a t o r i n t e r f a c e p r o p e r t i e s as i n v e s t i g a t e d using the C-V technique i n Chapter 5. The e f f e c t s on the i n v e r s i o n l a y e r c e l l performance were s u b s t a n t i a l . C e l l s which were simply blown dry p r i o r to d e p o s i t i o n of the i n s u l a t o r were found to e x h i b i t dramatic degradation i n e f f i c i e n c y over the p e r i o d of a few hours. C e l l s which had been exposed to the s o l a r simulator i l l u m i n a t i o n f o r a few minutes p r i o r to i n s u l a t o r d e p o s i t i o n showed b e t t e r 1 66 s t a b i l i t y . T h i s o b s e r v a t i o n l e a d to the i n c l u s i o n of a d r y i n g step a f t e r the wet e t c h i n g p r o c e s s . MIS j u n c t i o n s show a marked i n c r e a s e i n dark c u r r e n t i f exposed to temperatures g r e a t e r than 300°C [59] so the d r y i n g procedure c o u l d not exceed t h i s temperature. An oven bake i n the 250 to 300°C temperature range using a n i t r o g e n ambient and l a s t i n g f o r 30 minutes was found to g r e a t l y improve the performance and long term s t a b i l i t y of the i n v e r s i o n l a y e r c e l l s . 2 A 1.5 cm c e l l f a b r i c a t e d on 2 ohm-cm s i l i c o n u s i n g aluminum as the c o n t a c t metal, f a b r i c a t e d as per Appendix A.2.6.1 without the heat treatment of step g, had an i n i t i a l e f f i c i e n c y of 9.4% over the t o t a l area of the d e v i c e , but t h i s e f f i c i e n c y degraded to 6.9% i n two days. Degradation o c c u r r e d i n open c i r c u i t v o l t a g e , short c i r c u i t c u r r e n t , and f i l l f a c t o r . A s i m i l a r c e l l which had the 300°C, 30 minute n i t r o g e n treatment p r i o r to d e p o s i t i o n of the SiO had an i n i t i a l e f f i c i e n c y of • 12.6%. T h i s value a l s o showed some degradation over a p e r i o d of two days r e s u l t i n g i n an e f f i c i e n c y of 10.7% due to a r e d u c t i o n i n open c i r c u i t v o l t a g e and short c i r c u i t c u r r e n t . One year l a t e r , the c e l l e x h i b i t e d t h i s same e f f i c i e n c y . The u n t r e a t e d c e l l e f f i c i e n c y was 6.7%, a year a f t e r f a b r i c a t i o n . The heat t r e a t e d c e l l e f f i c i e n c y was lower than p r e d i c t e d by the computer model. Table 6.5 shows the p r e d i c t e d and a c t u a l performance parameters for t h i s c e l l . The major d i s c r e p e n c y between the model and the measured parameters i s the f i l l f a c t o r . A good s o l a r c e l l should have a f i l l f a c t o r approaching 167 Table 6.5 Comparision of Model C a l c u l a t i o n with A c t u a l C e l l C h a r a c t e r i s t i c s . Aluminum G r i d on 2 ohm-cm S i l i c o n . C e l l Parameter Model Experimental C e l l Open C i r c u i t Voltage (mV) 562 566 Short C i r c u i t Current (mA) 44.6 45 F i l l F a c t o r 0.70 0.63 0.8. The model i n d i c a t e s that t h i s value cannot be a t t a i n e d with the aluminum MIS co n t a c t because of i t s h i g h tunnel r e s i s t a n c e . The d i f f e r e n c e between model and a c t u a l device c h a r a c t e r i s t i c s i n d i c a t e s there are f a c t o r s not being p r o p e r l y d e a l t with by the model. One p o s s i b i l i t y which was c o n s i d e r e d to e x p l a i n the dis c r e p a n c y between c a l c u l a t e d and measured c e l l performance parameters was that the metal r e s i s t i v i t y might be higher than that r e p o r t e d i n the l i t e r a t u r e . A value twice the reported^ 2.74 Mohm-cm was used i n the c o l l e c t i o n g r i d c a l c u l a t i o n . The only notable d i f f e r e n c e i n the c a l c u l a t e d c e l l performance was a r e d u c t i o n i n f i l l f a c t o r from 0.70 to 0.69. T h i s f i l l f a c t o r i s s t i l l s u b s t a n t i a l l y g r e a t e r than the experimental value i n d i c a t i n g t h a t an in a c c u r a c y i n the metal r e s i s t i v i t y parameter cannot e x p l a i n the d i s c r e p a n c y . In the hopes of improving the c e l l f i l l f a c t o r , a switch was made to magnesium as the top contact m e t a l i z a t i o n . T h i s . 168 switch was not a t r i v i a l one. U n l i k e aluminum, magnesium i s too r e a c t i v e to be p a t t e r n e d using an e t c h i n g technique [60]. The other techniques a v a i l a b l e f o r d e f i n i n g the g r i d p a t t e r n were l i f t o f f and shadow mask. Because of magnesium's r e l a t i v e l y poor c o n d u c t i v i t y , the metal t h i c k n e s s f o r a 2 x 2 cm c e l l should be be g r e a t e r than 1.5 nm to a achieve a f i l l f a c t o r above .72. Since l i f t - o f f of metal t h i c k e r than 0.3 nm was found to be very d i f f i c u l t , the l i f t - o f f technique was not used. Instead, the shadow mask approach was t r i e d . 6.5.2 Metal Shadow Mask The f i r s t shadow mask de v i c e s f a b r i c a t e d used a copper f o i l shadow mask which had a f i n g e r spacing of 1500 um and a f i n g e r width of about 150 Mm. A 1 mm width bus bar was evaporated a c r o s s the f i n g e r p a t t e r n i n a second metal e v a p o r a t i o n . Computer s i m u l a t i o n i n d i c a t e d that t h i s g r i d p a t t e r n would not produce a high e f f i c i e n c y c e l l due to the wide f i n g e r s p a c i n g . A 2 3.4 cm .area device was f a b r i c a t e d with t h i s mask using a 2 nm o t h i c k magnesium c o l l e c t i o n g r i d and 800 A SiO a n i t r e f l e c t i o n c o a t i n g on top. As expected, the o v e r a l l device e f f i c i e n c y was low, 5.4%, due mainly to a very poor f i l l f a c t o r of .42. The -2 short c i r c u i t c u r r e n t d e n s i t y was only 28 mA-cm over the a c t i v e area of .the d e v i c e . T h i s low c u r r e n t d e n s i t y may have been due to incomplete c o l l e c t i o n of c u r r e n t generated i n r e g i o n s f a r away from the c o l l e c t i o n g r i d , which can be a t t r i b u t e d to the high sheet r e s i s t a n c e of the i n v e r s i o n l a y e r . S i m u l a t i o n with the computer model d e s c r i b e d i n S e c t i o n 6.2 shows that when the metal 1 69 contact i s at zero b i a s , the region of the c e l l h a l f way between the metal f i n g e r s i s at over 400 mV forward b i a s . At t h i s high forward v o l t a g e , c o n s i d e r a b l e dark c u r r e n t i s f l o w i n g , r e s u l t i n g i n a l o s s of photogenerated c u r r e n t . If the c e l l i s b i a s e d i n t o reverse b i a s , a higher c u r r e n t d e n s i t y than at short c i r c u i t i s obtained i n d i c a t i n g that the uncompensated photocurrent, J U P Q / i s not being c o l l e c t e d at short c i r c u i t . C l e a r l y , the copper mask used to produce the c o l l e c t i o n g r i d p a t t e r n i s too coarse to produce high e f f i c i e n c y i n v e r s i o n l a y e r s o l a r c e l l s . The e t c h i n g technique used to produce the p a t t e r n i n the copper f o i l i s l i m i t e d to a minimum s l o t s i z e of about the t h i c k n e s s of the metal f o i l because of the un d e r c u t t i n g that occurs dur i n g e t c h i n g . The f o i l used was .004" t h i c k thus making s l o t widths l e s s than 100 /nm u n a t t a i n a b l e . The use of t h i n n e r f o i l l eads to b u c k l i n g problems due to the d i f f e r e n t thermal expansion c o e f f i c i e n t s of the metal f o i l and the d e p o s i t e d metal. Another problem with f i n e l i n e masks i s the b u i l d - u p of the d e p o s i t i e d metal on the mask. In order to maintain the o r i g i n a l s l o t dimensions of the mask, i t must be cleaned f r e q u e n t l y . The t h i n f o i l does not allow a mechanical c l e a n i n g procedure so a chemical procedure i s r e q u i r e d . A chemical which r a p i d l y d i s s o l v e s the d e p o s i t e d metal without a t t a c k i n g the f o i l mask m a t e r i a l must be used. H y d r o c h l o r i c a c i d may be used to remove aluminum and magnesium from copper f o i l but other metal such as s i l v e r and n i c k e l may not be so e a s i l y removed from copper. In an attempt to sol v e 170 some of the problems a s s o c i a t e d with the metal f o i l shadow mask, the use of s i l i c o n as a replacement f o r the metal f o i l , was i n v e s t i g a t e d . 6.5.3 S i l i c o n Shadow Masks [61] The u n d e r c u t t i n g problem encountered i n e t c h i n g metal f o i l masks occurs because the metal i s etched at the same r a t e i n a l l d i r e c t i o n s . I t i s w e l l known that c e r t a i n chemicals e t c h s i l i c o n at d i f f e r e n t r a t e s depending on the o r i e n t a t i o n of the s i l i c o n c r y s t a l s . These etches are used to t e x t u r i z e p o l i s h e d , s i l i c o n s u r f a c e s to reduce r e f l e c t i v i t y [62] and f o r the f a b r i c a t i o n of VMOS d e v i c e s [63]. In p a r t i c u l a r , potassium hydroxide etches s i l i c o n about 600 times f a s t e r i n the <100> d i r e c t i o n than i n the <111> d i r e c t i o n . The s i l i c o n may be s e l e c t i v e l y etched by masking with s i l i c o n d i o x i d e which etches i n KOH at a very slow r a t e . These p r o p e r t i e s suggest that s i l i c o n may be a u s e f u l m a t e r i a l f o r the f a b r i c a t i o n of very f i n e l i n e shadow masks. A s i l i c o n mask i s f a b r i c a t e d by s t a r t i n g with a <100> o r i e n t e d p o l i s h e d wafer (the <100> plane i s p a r a l l e l to the s u r f a c e ) . F a b r i c a t i o n d e t a i l s are given i n Appendix A.2.5. The wafer i s t h e r m a l l y o x i d i z e d to grow the s i l i c o n d i o x i d e used as the e t c h mask. The oxide on one s i d e of the wafer i s then p a t t e r n e d with a s e r i e s of s l o t s of the p e r i o d of the d e s i r e d shadow mask. The other s i d e of the wafer i s l e f t p r o t e c t e d by the oxide. The s i d e s of the s l o t s must be o r i e n t e d along the i n t e r s e c t i o n of the <111> planes with the s u r f a c e of the s i l i c o n . 171 There are two such d i r e c t i o n s at r i g h t angles to each other; one of these d i r e c t i o n s normally i s i n d i c a t e d by a f l a t cut i n the s i d e of the wafer as s u p p l i e d f o r i n t e g r a t e d c i r c u i t manufacture. When the patterned s i l i c o n wafer i s etched by a KOH s o l u t i o n of the a p p r o p r i a t e c o n c e n t r a t i o n and temperature, the exposed <100> plane i s etched very r a p i d l y , but at the edge of the openings i n the oxide, the etchant encounters a <111> plane and etches at a much slower r a t e . The r e s u l t i s a V-groove etched i n t o the s i l c o n (see F i g . 6.13). The angle of the groove i s simply the angle between the <100> plane and the <111> plane, namely 54.7°. If the wafer t h i c k n e s s i s chosen c o r r e c t l y , the s i l i c o n w i l l be etched r i g h t through the wafer with a much narrower s l o t appearing on the p r o t e c t e d s i d e of the s i l i c o n . When the oxide i s removed, a mask c o n s i s t i n g of very narrow p a r a l l e l s l o t s i s produced. The geometry shown i n F i g . 6.13 d i c t a t e s the r e q u i r e d wafer t h i c k n e s s and oxide window s l o t width. In order to produce a p a t t e r n s i m i l a r to the p h o t o l i t h o -graphic mask used p r e v i o u s l y , a s l o t width of 160 nm and wafer t h i c k n e s s of 100 nm i s r e q u i r e d . S i l i c o n wafers 2 inches i n diameter are normally obtained i n t h i c k n e s s e s ranging from 250 to 400 nm. The requirement of a 100 Mm t h i c k wafer n e c e s s i t a t e d the t h i n n i n g of the s i l i c o n wafer before beginning the f a b r i c a t i o n sequence. T h i n n i n g was TM achieved by waxing the p o l i s h e d s i d e of the wafer to a t e f l o n d i s k which i s then p l a c e d i n a beaker c o n t a i n i n g a mixture of n i t r i c and h y d r o f l o r i c a c i d s (10:1). The bottom of the beaker O x i d e F i g u r e 6 . 1 3 . A n i s o t r o p i c E t c h i n g Geometry f o r S i l i c o n Shadow Masks . to 173 i s f i t t e d w i t h a d i s k c o n t a i n i n g a g r i d of v e r y s m a l l 100 Mm) h o l e s spaced 1/4" a p a r t , t h r o u g h which C 0 2 gas i s b u b b l e d . The s i l i c o n wafer a t t a c h e d to the t e f l o n d i s k i s p l a c e d i n the beaker at an a n g l e of about 30° t o the h o r i z o n t a l and r o t a t e d a t 30-60 RPM (see F i g . A . 1 ) . T h i s complex arrangement was used t o a c h i e v e a u n i f o r m t h i n n i n g and s i m u l t a n e o u s p o l i s h i n g of the w a f e r . The wafer b a c k s , which s t a r t out w i t h a v e r y rough s a n d b l a s t e d or as-sawn s u r f a c e t e x t u r e a r e p o l i s h e d t o a m i r r o r f i n i s h w i t h some l o n g range (many m i l l i m e t e r s ) n o n u n i f o r m i t y c a u s i n g a s l i g h t d i s t o r t i o n of a r e f l e c t e d image. Some of the n o n u n i f o r m i t y was r i n g shaped w i t h the most p r o b a b l e cause b e i n g d i s t o r t i o n of the wafer by the wax which h o l d s t h e wafer t o the t e f l o n d i s k . T h i s t h i c k n e s s v a r i a t i o n d i d l e a d t o n o n u n i f o r m s l o t w i d t h s i n the f i n a l e t c h e d mask. The most s u c c e s s f u l mask f a b r i c a t e d had a s l o t w i d t h of 11 ± 3 Mm a l t h o u g h , s l o t w i d t h v a r i a t i o n s of 10 Mm between n a r r o w e s t and w i d e s t p o i n t s were more t y p i c a l . A SEM m i c r o g r a p h of a c o m p l e t e d s i l i c o n mask i s shown i n F i g . 6 . 1 4 . A l l the masks p r o d u c e d c o n t a i n e d a number of p i n h o l e type d e f e c t s . These d e f e c t s were b e l i e v e d t o be c a u s e d by b r e a k s i n the o x i d e mask due t o d u s t on the g l a s s p l a t e u s e d t o p a t t e r n the o x i d e o r by c r y s t a l d e f e c t s i n the s i l i c o n which a r e e t c h e d r a p i d l y by the 2 KOH e t c h . T y p i c a l l y 8-20 d e f e c t s were o b t a i n e d over the 4 cm a r e a of the mask. A l t h o u g h t h e s e do not add s i g n i f i c a n t l y t o the m e t a l c o v e r a g e , they do d r a s t i c a l l y reduce t h e ruggedness of the masks s i n c e s i l i c o n f i n g e r s d a n g l i n g i n space a r e much more F i g u r e 6 . 1 4 . SEM M i c r o g r a p h o f C o m p l e t e d S i l i c o n Shadow Mask V i e w e d f r o m E t c h e d S i d e . 175 e a s i l y broken than s o l i d beams of s i l i c o n extending the width of the mask. The s i l i c o n masks d i d not c o n t a i n a bus bar because of the e t c h i n g and s t r u c t u r a l problems t h i s f e a t u r e would i n t r o d u c e . Instead, the bus bar had to be evaporated s e p a r a t e l y using a standard copper f o i l mask. . . . 2 S i l i c o n i n v e r s i o n l a y e r s o l a r c e l l s , 4 cm i n area, were f a b r i c a t e d using these shadow masks. F a b r i c a t i o n d e t a i l s are given i n Appendix A.2.6.2. During the e v a p o r a t i o n of the con t a c t g r i d , i n t imate c o n t a c t between s o l a r c e l l and shadow mask had to be assured to achieve good l i n e d e f i n i t i o n . T h i s contact was achieved s u c c e s s f u l l y by p r e s s i n g the c e l l a g a i n s t the mask with a small weight. F i g 6.15a shows the a c t u a l s l o t i n a s i l i c o n mask and F i g . 6.15b shows the evaporated metal l i n e s obtained with t h i s mask. L i n e widths equal to the s l o t widths of the mask c o u l d be ob t a i n e d p r o v i d e d no dust was allowed between the c e l l and the mask. L i n e broadening as high as 50% of the s l o t width was observed when i n t i m a t e contact was not obtained. The s i l i c o n masks g r e a t l y reduced the o v e r a l l f a b r i c a t i o n time of a complete c e l l by e l i m i n a t i n g the p h o t o r e s i s t step and a l s o the need f o r the d r y i n g s t e p . A complete c e l l c o u l d be made i n s i x hours as opposed to the twelve hours r e q u i r e d f o r the p h o t o l i t h o g r a p h i c a l l y p a t t e r n e d c e l l . The s u c c e s s f u l f a b r i c a t i o n of the s i l i c o n shadow masks made p o s s i b l e the r o u t i n e use of magnesium and the i n v e s t i g a t i o n of the d i f f e r e n c e s between magnesium and aluminum d e v i c e s on a t (a) (b) F i g u r e 6 . 1 5 . P h o t o g r a p h s of a) S i l i c o n Shadow Mask V iewed f rom Une tched S i d e and b) E v a p o r a t e d M e t a l L i n e s O b t a i n e d w i t h t h i s Shadow Mask . S l o t s and M e t a l L i n e s a r e A p p r o x i m a t e l y 11 jum W i d e . 177 v a r i e t y of s u b s t r a t e s . A l l s o l a r c e l l s were made on 2 x 2 cm s i l i c o n c h i p s . S u b s t r a t e s of r e s i s t i v i t i e s of 10, 2, 0.5 and 0.1 ohm-cm were used. The 10 and 2 ohm-cm s u b s t r a t e s were C z o c h r a l s k i c r y s t a l s , 250-300 am t h i c k . The 0.5 and 0.1 ohm-cm s u b s t r a t e s were Wacker f l o a t - z o n e r e f i n e d s i l i c o n which are rep o r t e d to have a s u p e r i o r l i f e t i m e to C z o c h r a l s k i grown low r e s i s i t i v i t y s i l i c o n [ 3 ] . Table 6.6 r e p o r t s on the best obtained performance parameters of c e l l s f a b r i c a t e d using s i l i c o n shadow masks. The c e l l s f a b r i c a t e d d i d not a l l use the same s i l i c o n mask, nor was the q u a l i t y of the in t i m a t e c o n t a c t between c e l l and mask i d e n t i c a l f o r each c e l l , so the metal coverage v a r i e d somewhat from d e v i c e to d e v i c e . For t h i s reason, both a c t i v e and t o t a l area e f f i c i e n c i e s are r e p o r t e d to pro v i d e a b e t t e r b a s i s f o r comparison. 1 78 T a b l e 6.6. P e r f o r m a n c e o f V a r i o u s C e l l s F a b r i c a t e d w i t h S i l i c o n Shadow Masks. p (ohm-cm) C o n t a c t M e t a l C o v e r -age (%) V OC (mV) J SC 2 (ma/cm ) f f T o t a l (%) A c t i v e (%) 10 A l 16 526 29 .53 6.8 8.0 1.0 Mg 20 572 36 .69 11.2 14.0 0.5 Mg 22 558 29 .74 9.3 11.9 0.1 A l 25 562 30 .63 9.0 10.6 0.1 Mg 21 587 38 .69 12.2 15.5 1.79 CHAPTER 7 Summary and Conclusions T h i s t h e s i s has i n v e s t i g a t e d some r e l a t i v e l y new dev i c e s i n the hope of i n c r e a s i n g confidence i n the t h e o r e t i c a l understanding of the p r i n c i p l e s by which these d e v i c e s work. The approach has been taken that the theory i s e s s e n t i a l l y c o r r e c t so that d e v i c e s which e x h i b i t c h a r a c t e r i s t i c s d i f f e r i n g s u b s t a n t i a l l y from t h e o r e t i c a l p r e d i c t i o n s are d i s c a r d e d . T h i s approach may be a subversion of the s c i e n t i f i c process which demands that a l l experimental evidence be c o n s i d e r e d when attempting to v e r i f y a t h e o r e t i c a l model. U n f o r t u n a t e l y , i t i s o f t e n d i f f i c u l t to f a b r i c a t e p r a c t i c a l d e v i c e s which f i t t h e o r e t i c a l models because of the complex i n t e r a c t i o n of process parameters and the p h y s i c a l l i m i t a t i o n s of de v i c e geometries. A device which does not e x h i b i t the c h a r a c t e r i s t i c s p r e d i c t e d by theory i s not n e c e s s a r i l y an i n d i c a t o r that the theory i s wrong, but only that the theory does not i n c l u d e a l l f a c t o r s a f f e c t i n g the d e v i c e ' s performance. Some f a c t o r s so s e v e r e l y degrade the performance of a de v i c e that i t doesn't serve any purpose t o be able to a c c u r a t e l y model these e f f e c t s s i n c e the d e v i c e s are of 180 no p r a c t i c a l use. Instead, most s o l i d s t a t e device t h e o r i e s r e q u i r e that f a c t o r s which degrade the d e v i c e ' s performance be minimized before the theory can be c o n s i d e r e d a p p l i c a b l e . Thus, much of the experimental work performed i n t h i s t h e s i s i n v o l v e d the development of process r e c i p e s which would y i e l d d e v i c e s which obeyed the t h e o r e t i c a l models. U n t i l complete c o n t r o l over the f a b r i c a t i o n process has been achieved, a s i n c e r e b e l i e f i n the v a l i d i t y of the theory i s used to j u s t i f y d i s c a r d i n g d e v i c e s which f a i l e d to e x h i b i t the expected p r o p e r t i e s . T h i s approach i s a c c e p t a b l e only i f d e v i c e s do e v e n t u a l l y behave as p r e d i c t e d . The models presented i n t h i s work which e x p l a i n the behaviour of " i d e a l " m e t a l - i n s u l a t o r - s e m i c o n d u c t o r and i n s u l a t o r charge induced s u r f a c e j u n c t i o n s are w e l l supported by the experimental evidence presented. In Chapter 3, the s i m i l a r i t i e s and d i f f e r e n c e s between the p r o p e r t i e s of MIS diodes and c o n v e n t i o n a l pn j u n c t i o n diodes were presented. The dependence of the diode dark c u r r e n t s o l e l y on the s u b s t r a t e r e s i s t i v i t y f o r high r e s i s t i v i t y s u b s t r a t e s i s evidence of the domination of m i n o r i t y c a r r i e r i n j e c t i o n i n these d e v i c e s . At lower s u b s t r a t e r e s i s t i v i t i e s , the dark c u r r e n t depends on metal work f u n c t i o n i n d i c a t i n g m a j o r i t y c a r r i e r c u r r e n t s are dominant. The p r o p e r t i e s of the MIS diode i n h i g h forward b i a s c l e a r l y show the e f f e c t of the t h i n i n s u l a t o r on c a r r i e r flow between the metal and the semiconductor. The r e s t r i c t i o n of c u r r e n t flow by the t h i n i n s u l a t o r may prove to be a s e r i o u s l i m i t a t i o n of the MIS j u n c t i o n i n a p p l i c a t i o n s i n v o l v i n g high c u r r e n t d e n s i t i e s 181 such as MOSFET source and d r a i n c o n t a c t s or the e m i t t e r s of b i p o l a r t r a n s i s t o r s . I t was shown that the a p p r o p r i a t e choice of metal work f u n c t i o n can reduce the tunnel l i m i t i n g e f f e c t ; u n f o r t u n a t e l y , a metal s u i t a b l e by v i r t u e of i t s work f u n c t i o n , may have other p r o p e r t i e s which make i t u n s u i t a b l e f o r device f a b r i c a t i o n . In the case of magnesium, which was s t u d i e d i n t h i s t h e s i s , the main drawback i s the metal's r e a c t i v i t y . The use of MIS j u n c t i o n s i n b i p o l a r t r a n s i s t o r s was i n v e s t i g a t e d i n Chapter 4. The t r a n s i s t o r s f a b r i c a t e d were designed as d i a g n o s t i c d e v i c e s r a t h e r than p r a c t i c a l t r a n s i s t o r s , n e v e r t h e l e s s , reasonable gains were achieved. The use of MIS j u n c t i o n s f o r d e t e r m i n a t i o n of m i n o r i t y c a r r i e r l i f e t i m e was found to be a d i f f i c u l t technique to implement and had a very l i m i t e d range of a p p l i c a b i l i t y but some i n f o r m a t i o n was e x t r a c t e d from t h i s method. The technique d i d permit the measurement of a l l r e l e v a n t t r a n s i s t o r c u r r e n t components so that the i n j e c t i o n r a t i o of the base-emitter j u n c t i o n c o u l d be determined d i r e c t l y . T h i s measurement p r o v i d e d i r r e f u t a b l e evidence that c e r t a i n MIS j u n c t i o n s can be dominated by minorty c a r r i e r c u r r e n t flow. The e v a l u a t i o n of the m i n o r i t y c a r r i e r i n j e c t i o n r a t i o from the dc c u r r e n t was shown to be a simple and e f f e c t i v e technique p r o v i d e d c e r t a i n assumptions c o u l d be made. The i n s u l a t o r charge induced j u n c t i o n formed with a d e p o s i t e d i n s u l a t o r was i n v e s t i g a t e d using standard MOS techniques i n Chapter 5. The two i n s u l a t o r s i n v e s t i g a t e d , 182 s i l i c o n monoxide and s i l i c o n n i t r i d e showed the presence of a l a r g e amount of trapped p o s i t i v e charge. The magnitude of t h i s charge v a r i e d c o n s i d e r a b l y from device to d e v i c e , changed with time and c o u l d be mo d i f i e d by changing the s u r f a c e p o t e n t i a l . Such v a r i a t i o n s i n the trapped charge l i m i t the u s e f u l n e s s of these d e p o s i t e d i n s u l a t o r s i n semiconductor d e v i c e s . One device in which they c o u l d p o s s i b l y be very u s e f u l i s i n the i n v e r s i o n l a y e r s o l a r c e l l . T h i s d e v i c e , along with a novel s i l i c o n shadow mask which was developed f o r i t s f a b r i c a t i o n , was i n v e s t i g a t e d i n d e t a i l i n Chapter 6 . The i n v e r s i o n l a y e r s o l a r c e l l , which r e l i e s e n t i r e l y on s u r f a c e j u n c t i o n s f o r the c o l l e c t i o n of photogenerated c u r r e n t , was shown capable of c o n v e r t i n g l i g h t energy e f f i c i e n t l y i n t o e l e c t r i c i t y , although some d i s c r e p e n c i e s between t h e o r e t i c a l and measured e f f i c i e n c i e s were found. T h i s device has the advantage that a l l p r o c e s s i n g steps are c a r r i e d out at a low temperature, but other requirements f o r i t s f a b r i c a t i o n , i n p a r t i c u l a r , the vacuum eva p o r a t i o n of a low work f u n c t i o n metal make i t s f a b r i c a t i o n process economically u n a t t r a c t i v e . At present, i t i s u n l i k e l y that the i n v e r s i o n l a y e r s o l a r c e l l technology w i l l ever r e p l a c e the c o n v e n t i o n a l pn j u n c t i o n technology i n p r a c t i c a l a p p l i c a t i o n s . I t i s hoped that t h i s t h e s i s has i n c r e a s e d the o v e r a l l knowledge and understanding of s u r f a c e j u n c t i o n s . Surface j u n c t i o n s p r o v i d e f o r the semiconductor device designer a unique set of f a b r i c a t i o n requirements and some i n t e r e s t i n g d e v i ce 183 p r o p e r t i e s . W i t h t h e s e e m i n g l y e n d l e s s v a r i e t y of d e v i c e s w h i c h c a n be made from s e m i c o n d u c t o r s , s u r f a c e j u n c t i o n s p r o v i d e u n i q u e s o l i d s t a t e d e v i c e b u i l d i n g b l o c k s w h i c h w i l l f i n d t h e i r own i m p o r t a n t p l a c e i n new d e v i c e s t r u c t u r e s . 1 84 APPENDIX A F a b r i c a t i o n Schedules A . l B a s i c Procedures The f a b r i c a t i o n of a l l the d e v i c e s i n v e s t i g a t e d i n t h i s t h e s i s i n v o l v e the use of some ba s i c semiconductor p r o c e s s i n g procedures. These procedures are d e t a i l e d here r a t h e r than being repeated i n the main t e x t when d i s c u s s i n g the f a b r i c a t i o n of the d e v i c e s d e s c r i b e d i n t h i s work. A.1.1 Wafer C l e a n i n g [64] Wafers are p l a c e d i n a t e f l o n basket i n a beaker c o n t a i n i n g enough acetone to cover the wafer. The acetone i s heated f o r 5 minutes, then the beaker i s p l a c e d i n an u l t r a s o n i c c l e a n e r f o r 5 minutes. The basket i s removed from acetone and p l a c e d i n t o a d e i o n i z e d water cascade r i n s e : 2 minutes i n lower cascade, 8 minutes i n upper cascade. The basket i s p l a c e d i n a f r e s h l y prepared mixture of 250 ml b o i l i n g d e i o n i z e d (Dl) water, 50 ml ammonium hydroxide (29%), and 50 ml of hydrogen peroxide (30%) fo r 10 min. S o l u t i o n temperature i s maintained between 70°C and 80°C. Wafers are then r i n s e d i n Dl water cascade: 2 min lower and 8 min upper. The basket i s pl a c e d i n a s o l u t i o n of 9 p a r t s d e i o n i z e d water to 1 p a r t 49% h y d r o f l u r i c a c i d f o r 30 sec. 185 Wafers a r e r i n s e d i n c a s c a d e : 2 min lower and 8 min u p p e r ; then the b a s k e t i s p l a c e d i n a f r e s h l y p r e p a r e d s o l u t i o n of 300 ml b o i l i n g Dl w a t e r , 50 ml h y d r o c h l o r i c a c i d (38%), and 50 ml hydrogen p e r o x i d e (30%). The s o l u t i o n t e m p e r a t u r e i s m a i n t a i n e d between 70°C and 80°C. Wafers a r e r i n s e d i n c a s c a d e : 2 min lower and 8 min u p p e r , and then d r y e d by s l o w l y l o w e r i n g b a s k e t i n t o a beaker c o n t a i n i n g a s m a l l amount of b o i l i n g i s o p r o p y l a l c o h o l . The wafers s h o u l d not come i n t o c o n t a c t w i t h the l i q u i d i n the bottom of the b e a k e r . A f t e r about 1 m i n , the b a s k e t i s s l o w l y removed from a l c o h o l v a p o u r s a l l o w i n g as much of t h e condensed v a p o u r s t o e v a p o r a t e from the wafers as p o s s i b l e . The r e m a i n i n g d r o p s of a l c o h o l a r e blown o f f w i t h a stream of d r y n i t r o g e n . A.1.2 Vacuum Evaporation A CHA e v a p o r a t i o n system w i t h 6" d i f f u s i o n pump was used f o r a l l t h e r m a l e v a p o r a t i o n . The system d i f f u s i o n pump s h o u l d be t u r n e d on a t l e a s t one hour p r i o r to u s i n g the s y s t e m . The d e s i r e d e v a p o r a t i o n m a t e r i a l i s l o a d e d i n t o the a p p r o p r i a t e f i l a m e n t or b o a t . The f o l l o w i n g schemes were used f o r e v a p o r a t i o n of v a r i o u s m a t e r i a l s : Aluminum : p i e c e s of aluminum w i r e , a p p r o x i m a t e l y 2 cm i n l e n g t h and bent i n t o a " U " shape a r e hung on a t u n s t e n c o i l . Aluminum hoops a r e e t c h e d i n d i l u t e (=* 10%) HC1 f o r 10 min p r i o r t o u s e . A f i l a m e n t c u r r e n t of about 70 amps i s r e q u i r e d t o m e l t t h e aluminum w h i l e c u r r e n t s of 35 t o 40 amps a r e used d u r i n g a c t u a l e v a p o r a t i o n . D e p o s i t i o n r a t e i s t y p i c a l l y 20-30 o A / s e c a l t h o u g h a s l o w e r r a t e i s used f o r the MIS b a r r i e r m e t a l . 186 Magnesium : P i e c e s of magnesium, approximately 1 cm long are p l a c e d i n o u t s i d e chambers of "Drummel" type tantalum boat. The p i e c e s are etched i n very d i l u t e (< 5%) HCL p r i o r to use. E v a p o r a t i o n r e q u i r e s 60 to 70 amps. An i n i t i a l d e p o s i t i o n r a t e 0 0 of 5 A/sec i s t a r g e t e d with an i n c r e a s e to 25 A/sec a f t e r o d e p o s i t i n g 100 A of m a t e r i a l . S i l i c o n Monoxide : SiO powder i n p l a c e d i n o u t s i d e !' chambers of a "Drummel" type tantalum boat. A c u r r e n t of 120 to 150 amps i s needed f o r SiO d e p o s i t i o n . A slow d e p o s i t i o n r a t e of o 5-10 A/sec i s maintained f o r the e n t i r e e v a p o r a t i o n . Wafers are loaded i n t o evaporator normally 15 to 25 cm above the sources. The system i s pumped down to below 2 x 10 ^ T o r r before evaporation i s begun. The t h i c k n e s s of m a t e r i a l d e p o s i t e d i s monitored with a I n f i c o n 321 F i l m Thickness Monitor. A f t e r e v aporation i s complete, the system i s given a minimum of 5 minutes to c o o l down before v e n t i n g . A.1.3 Thin Oxide Growth The t h i n t u n n e l a b l e oxide which forms a v i t a l p a r t of the MIS j u n c t i o n i s grown in a quartz furnace tube with a dry oxygen flow of approximately 1 l i t r e / m i n u t e . A 5 minute warm-up p r i o r to o x i d a t i o n and cool-down a f t e r o x i d a t i o n i s performed in a 1 1/min flow of n i t r o g e n . The o x i d a t i o n temperature and time are v a r i a b l e s of the experimental work and ranged from 500 to 650°C and 20 to 30 minutes with the standard procedure being a 20 minute o x i d a t i o n at 500°C. 187 A.1.4 Thick Oxide Growth A t h i c k oxide was o f t e n r e q u i r e d f o r s u r f a c e p a s s i v a t i o n , implant mask, etch mask and/or co n t a c t pad i s o l a t i o n . The oxide was grown in a quartz furnace at 1100°C with the f o l l o w i n g process sequence: 5 min warmup in 1 1/min n i t r o g e n , 5 min 1 1/min dry oxygen, 40 min oxygen and hydrogen mixture, 5 min dry oxygen, 5 min n i t r o g e n . A.1.5 S i l i c o n N i t r i d e Depositon S i l i c o n n i t r i d e was d e p o s i t e d i n a PlasmaTherm plasma-enhanced chemical vapour d e p o s i t i o n (PECVD) system. The process gases used are ammonia, s i l a n e and helium. The s i l a n e i s a c t u a l l y a mixture of 5% s i l a n e i n helium. The flow r a t e s used a r e : ammonia - 75 sccm/min helium - 1000 sccm/min s i l a n e - 1100 sccm/min The chamber pressure i s c o n t r o l l e d to 1.5 t o r r . An RF power of 100 watts i s s u p p l i e d to the plasma and the s u b s t r a t e temperature maintained at 250 °C. The r e s u l t i n g d e p o s i t i o n r a t e i s about 160 Mm/min. 188 A.1.6 P h o t o l i t h o g r a p h i c P a t t e r n i n g A.1.6.1 Negative R e s i s t f o r Oxide Windows Wafers having any s u r f a c e moisture are given a d r y i n g bake at 500°C in n i t r o g e n f o r 30 minutes while wafers which have j u s t been o x i d i z e d r e q u i r e no p r e l i m i n a r y baking. The negative r e s i s t (Hunt HR 200) i s poured onto the e n t i r e wafer and spun at 5000 RPM f o r 15 seconds. The wafers are prebaked at 65°C f o r 15 minutes and then exposed to the d e s i r e d p a t t e r n with a Kasper c o n t a c t a l i g n e r u sing a mercury vapour lamp. The exposure time was t y p i c a l l y 25 seconds. Development i s performed i n an automatic spray developer u s i n g a 23 sec spray of xylenes f o l l o w e d by a 30 sec spray of i s o p r o p y l a l c o h o l and a 50 sec s p i n dry. The wafers are post-baked at 135°C f o r 20 minutes. The oxide i s etched with a commercially prepared b u f f e r e d HF s o l u t i o n . The et c h r a t e i s approximately 500 o A/min. The wafers are r i n s e d f o r 10 minutes i n d e i o n i z e d water. The negative r e s i s t i s removed i n a f r e s h l y prepared mixture of 150 ml s u l f u r i c a c i d and 150 ml hydrogen p e r o x i d e . Complete r e s i s t removal u s u a l l y r e q u i r e d immersion of the wafers i n the s o l u t i o n f o r 10-15 min. The wafers are r i n s e d again f o r 10 minutes before d r y i n g i n i s o p r o p y l a l c o h o l vapours as i n A.1.1. 189 A.1.6.2 Positive Resist for Metal Etching Wafers with freshly evaporated aluminum surfaces required no surface treatment p r i o r to application of photoresist, although the adhesion promoter HMDS was sometimes spun on the surface. The positive r e s i s t (Hunt HPR 204) i s spun on at 5000 RPM for 15 seconds and pre-baked at 105°C for 30 minutes. Exposure time in the contact aligner was normally 30 seconds. The r e s i s t i s developed in Hunt Positive Resist Developer Type II d i l u t e d 3:1 with deionized water. Development time is between 60 and 90 seconds followed by a 30 second rinse in deionized water. The wafers are blowed dry with a i r and post-baked at 180°C for 30 minutes. The aluminum i s etched in a warm (^  40°C) solution of phosphoric acid d i l u t e d 1:1 with deionzed water. The etch rate depends strongly on the solution o temperature with a rate of 1000 A/min being t y p i c a l in a 40°C solution. After etching, the wafers are rinsed in deionized water for 10 minutes. The r e s i s t i s removed in warm (40-50°C) acetone consisting of two separate baths of a minimum of 5 minutes each. The wafers are then rinsed and dryed with isopropyl vapours as above (A.1.6.1). A . 1 . 6 . 3 Positive Resist for L i f t - o f f The l i f t - o f f process for patterning of metals u t i l i z e s the reverse contrast mask to that used for metal etching. The r e s i s t i s applied and patterned prior to metal deposition. After metal deposition, the r e s i s t i s removed, causing the overlying metal to be removed as well. Wafers are given a 1 90 p r e l i m i n a r y d r y i n g bake at 500°C i n n i t r o g e n f o r 30 minutes. The wafer s u r f a c e i s f l o o d e d with HMDS and then spun at 5000 RPM f o r 10 sec. P o s i t i v e r e s i s t type S h i p l e y AZ1350J i s a p p l i e d and spun at 5000 RPM f o r 15 seconds. The wafers are baked at 80°C f o r 30 minutes i n an a i r - c i r c u l a t i n g oven. Each wafer i s a l i g n e d with the d e s i r e d mask p a t t e r n i n the Kasper c o n t a c t a l i g n e r and given a-3 minute exposure to the mercury vapour i l l u m i n a t i o n . Exposed wafers are then soaked in chlorobenzene f o r 10 minutes, blown dry with a i r , and developed i n S h i p l e y M i c r o p o s i t 451 developer f o r 90 to 120 seconds. Developed wafers are r i n s e d with d e i o n i z e d water i n a cascade f o r 10 minutes and then blown dry with n i t r o g e n . The p a t t e r n e d wafers are p l a c e d i n evaporator and d e s i r e d metal d e p o s i t e d as d e s c r i b e d i n A.1.2. Care must be taken to a v o i d h e a t i n g wafer which would r e s u l t i n a hardening of the r e s i s t . I t was found o that metal l a y e r s t h i c k e r than 2500 A were very d i f f i c u l t to remove. A f t e r metal d e p o s i t i o n , i n d i v i d u a l wafers are p l a c e d i n beaker of b o i l i n g acetone. U l t r a s o n i c a g i t a t i o n i s normally r e q u i r e d to a s s i s t i n removal of the metal. Stubborn metal may r e q u i r e g e n t l e rubbing with a c o t t o n swab to e f f e c t removal. Patterned wafers are b o i l e d i n c l e a n acetone f o r 10 minutes, then r i n s e d and dryed as o u t l i n e d i n A.1.6.1. 191 A.1.7 Wafer T h i n n i n g and P o l i s h i n g The s i l i c o n wafers purchased commercially were 2" i n diameter, 240-320 urn t h i c k , with one sid e p o l i s h e d and the other s i d e c h e m i c a l l y etched or sandblasted. A technique which t h i n s the wafer and p o l i s h e s the rough s i d e was developed d u r i n g t h i s work. The p o l i s h e d s u r f a c e i s coated with bee's wax and t h i s wax used to a t t a c h the wafer to a t e f l o n h o l d e r . The wax i s melted onto the wafer and then onto the holder with the heat from a tungsten lamp. The holder i s a t t a c h e d to a low speed motor. The wafer, r o t a t i n g at about 1 RPM i s lowered i n t o a s p e c i a l l y designed beaker c o n t a i n i n g a mixture of 10 p a r t s n i t r i c a c i d (37%) and 1 p a r t h y d r o f l o r i c a c i d (49%). At bottom of the beaker i s a diaphram c o n t a i n i n g a matrix of very small h o l e s through which carbon d i o x i d e gas i s bubbled at a r a t e of 300 cc/min. The wafer i s o r i e n t e d roughly 30 degrees to the h o r i z o n t a l so that the C0 2 bubbles move acr o s s the s i l i c o n s u r f a c e with both c i r c u l a r and l i n e a r motion (see f i g . A.1 and Ref. 29). The e t c h r a t e of the s i l i c o n i s 13-16 Mm/min, depending on p r e c i s e chemical mixture, ambient temperature and CG*2 flow r a t e . When e t c h i n g i s complete the wafer i s removed and quenched q u i c k l y i n d e i o n i z e d water. F i n a l l y , the wafer i s detached from t e f l o n h older and wax d i s s o l v e d i n b o i l i n g t r i c h l o r o e t h y l e n e . 1 92 Rotate at 60 RPM Etching Solution HNO3: HF -(10: 1) Figure A . l . Wafer Thinning Apparatus. 1 93 A.2 D e v i c e F a b r i c a t i o n Sequences A . 2 . 1 The MIS Diode a . C l e a n wafer - A . 1 . 1 . o b . D e p o s i t 3000-5000 A aluminum on back - A . 1 . 2 . c . Grow t h i n o x i d e - A . 1 . 3 . d . D e p o s i t b a r r i e r m e t a l (aluminum or magnesium) t h r o u g h o a shadow mask - A . 1 . 2 . F i r s t 100 A s h o u l d be o d e p o s i t e d a t a r a t e no g r e a t e r than 10 A / s e c ; w i t h the r e m a i n i n g t h i c k n e s s b e i n g d e p o s i t e d a t no g r e a t e r o than 30 A / s e c . Aluminum d i o d e s u t i l i z e d a 2000 t o o 4000 A b a r r i e r m e t a l l a y e r . D i o d e s w i t h magnesium o b a r r i e r m e t a l used a 1500 A magnesium l a y e r c o v e r e d o w i t h 1500 A of aluminum i n the same e v a p o r a t i o n s t e p t o improve m e t a l c o n d u c t i v i t y and reduce o x i d a t i o n of magnesium l a y e r . A . 2 . 2 The MOS C a p a c i t o r a . C l e a n wafers - A . 1 . 1 . o b . D e p o s i t aluminum back c o n t a c t , 3000-5000 A at o 20-30 A / s e c - A . 1 . 2 . c . Grow t h i n o x i d e - A . 1 . 3 . Growth of t h i s o x i d e i s p e r f o r m e d even when a n o t h e r i n s u l a t o r i s t o be d e p o s i t e d on the s i l i c o n s u r f a c e s i n c e t h i s o x i d e a f f e c t s the s u r f a c e s t a t e d e n s i t y and p o s s i b l y the o x i d e c h a r g e a t the s i l i c o n - i n s u l a t o r i n t e r f a c e . 1 94 d. Deposit i n s u l a t o r , e i t h e r s i l c o n monoxide - A.1.2, or s i l i c o n n i t r i d e - A.1.5. e. Deposit aluminum dots on i n s u l a t o r through shadow mask - A.1.2 A.2.3 MOSFET D i a g n o s t i c Device a. Clean wafers - A.1.1 o b. Deposit 3000-5000 A aluminum on back - A.1.2 c. Deposit c o n t a c t pad i n s u l a t o r ( s i l i c o n monoxide - A.1.2 or s i l i c o n n i t r i d e -A.1.5) through shadow mask. d. Grow t h i n oxide - A.1.3 e. Apply and p a t t e r n p o s i t i v e r e s i s t f o r s o u r c e - d r a i n o metal l i f t - o f f . Deposit 2500 A aluminum s o u r c e - d r a i n metal and l i f t - o f f - A.1.6.3. f. Deposit gate i n s u l a t o r ( s i l i c o n monoxide - A.1.2 or s i l i c o n n i t r i d e - A.1.5) through shadow mask. P a t t e r n o 2000 A aluminum gate with l i f t - o f f technique - A.1.6.3. A.2.4 The MIS B i p o l a r T r a n s i s t o r A.2.4.1 Thick Base T r a n s i s t o r a. Thin e n t i r e wafer to about 100 jum ~ A. 1.7. b. Dice wafer i n t o 2 x 2 cm squares. c. Clean squares - A.1.1 d. Grow t h i n oxide - A.1.3 o e. Evaporate 3000 A aluminum base co n t a c t on f r o n t through shadow mask - A.1.2 195 f. S i n t e r base c o n t a c t at 450°C in n i t r o g e n f o r 15 min. o g. Evaporate 2000 'A aluminum em i t t e r on back through shadow mask - A.1.2 o h. Evaporate 2000 A aluminum c o l l e c t o r on f r o n t through shadow mask - A.1.2 A.2.4.2 Implanted Base T r a n s i s t o r a. Clean wafer - A.1.1. b. Grow t h i c k oxide - A.1.4. c. P a t t e r n implant windows with negative r e s i s t d. Implant boron at 50 KeV. Adjust beam c u r r e n t to o b t a i n a 30 second implant f o r d e s i r e d dose. 14 -2 e. Implant 5 x 1 0 cm phosphorous i n t o back of wafer at 50 KeV. f . Remove implant masking oxide i n mixture of 1 part 49% HF and 1 p a r t d e i o n i z e d water. g. Clean wafer - A.1.1. h. Anneal implant and grow t h i c k oxide - A.1.4. Anneal temperature and times v a r i e d . i . P a t t e r n c o n t a c t windows with negative r e s i s t -A.1.6.1. o j . Deposit 5000 A aluminum on back f o r c o l l e c t o r c o n t a c t - A.1.2. o k. P a t t e r n 2500 A aluminum base co n t a c t on f r o n t u s ing l i f t - o f f technique - A.1.6.3. 1. Grow t h i n oxide - A.1.3. 196 m. P a t t e r n e m i t t e r (aluminum or magnesium) on f r o n t with l i f t - o f f - A.1.6.3. A.2.4.3 E p i t a x i a l Base T r a n s i s t o r a. Clean p - e p i l a y e r on n-type s u b s t r a t e wafers -A. 1 . 1 . b. Grow t h i c k oxide - A.1.4. c. P a t t e r n mesa etch windows with negative r e s i s t -A.1.6.1. d. Etch through e p i l a y e r by immersing wafer i n a s o l u t i o n of 19% by weight KOH at 80°C f o r 5 minutes. e. Remove t h i c k oxide with 50% HF s o l u t i o n as i n f . Clean wafers - A.1.1. g. Grow t h i c k oxide - A.1.4. h. Proceed as with A.2.4.2, steps i through m. A.2.5 S i l i c o n Mask a. T h i n 2" d i a <100> o r i e n t e d s i l i c o n wafers to d e s i r e d t h i c k n e s s - A.1.7. b. Clean wafers - A.1.1. c. Grow t h i c k oxide - A.1.4. A wet o x i d a t i o n time of two o hours i s used to produce a 5000 A t h i c k o x i d e . d. P a t t e r n oxide with negative r e s i s t - A.1.6.1. P r i o r to hardbaking of the r e s i s t , p o s i t i v e r e s i s t type HPR 1 97 204 i s a p p l i e d to the back of the wafer to p r o t e c t the back oxide. Each wafer i s etched i n d i v i d u a l l y i n a r e f l u x beaker i n a s o l u t i o n of 19% by weight KOH maintained at 80°C. The endpoint of the etch i s d e t e c t e d by s h i n i n g a l i g h t through the wafer and o b s e r v i n g when the l i g h t i s c l e a r l y v i s i b l e through a l l the s l o t s cut i n the wafer. 2.6 I n v e r s i o n L a y e r S o l a r C e l l A.2.6.1 P h o t o l i t h o g r a p h i c a l l y D e f i n e d C o l l e c t i o n G r i d a. Clean 2" d i a . p-type wafer - A.1.1. b. Grow t h i n oxide - A.1.3. c. Deposit 1 /im aluminum of back - A. 1.2. d. S i n t e r back co n t a c t i n quartz tube furnace at 450°C f o r 15 min i n n i t r o g e n . e. Deposit 1.5 Mm aluminum on f r o n t - A.1.2. f . P a t t e r n aluminum p o s i t i v e r e s i s t e t c h i n g technique - A.1.6.2 g. Heat wafer f o r 20 min at 280°C i n n i t r o g e n . o h. Deposit 800 A of i n s u l a t o r ( s i l i c o n monoxide -A.1.2 or s i l i c o n n i t r i d e - A.1.5) on f r o n t s u r f a c e t a k i n g care to s h i e l d metal c o n t a c t pad from i n s u l a t o r d e p o s i t i o n . The t h i c k n e s s used i s a p p r o p r i a t e f o r the formation of an a n t i r e f l e c t i o n c o a t i n g on the s i l i c o n s u r f a c e [65]. 198 A . 2 . 6 . 2 S i l i c o n Shadow Mask Defined C o l l e c t i o n G r i d a. Clean 2 x 2 cm p-type s i l i c o n squares - A.1.1. b. Grow t h i n oxide - A.1.3. o c. Deposit 5000 A aluminum on back of s i l i c o n . d. S i n t e r back c o n t a c t at 450°C in n i t r o g e n f o r 15 min. e. Deposit c o l l e c t i o n g r i d f i n g e r s through s i l i c o n shadow mask onto f r o n t s u r f a c e of s i l i c o n - A.1.2. f. Deposit c o l l e c t i o n bus bar through copper f o i l shadow mask onto f r o n t s u r f a c e - A.1.2. o g. Deposit 800 A i n s u l a t o r ( s i l i c o n monoxide - A.1.2 or s i l i c o n n i t r i d e - A.1.5) on f r o n t s u r f a c e ensuring that metal contact pads are s h i e l d e d d u r i n g d e p o s i t i o n . APPENDIX B SOFTWARE LISTINGS AND PROGRAM DESCRIPTIONS B.l IlCell - Inversion Layer Cell Model The i n v e r s i o n l a y e r c e l l model program was o r i g i n a l l y w r i t t e n i n F o r t r a n and run on the U.B.C. Amdahl 470 computer. T h i s model d i d not i n c l u d e the e f f e c t s of s u r f a c e recombination which, when added, i n t r o d u c e d convergence problems and l e d to an a p p r e c i a b l e i n c r e a s e i n CPU time. The model was subsequently t r a n s l a t e d to P a s c a l and run on the Apple II Plus computer. Although the time r e q u i r e d f o r a c a l c u l a t i o n i n c r e a s e d s i g n i f i c a n t l y , i t was p o s s i b l e to change the program so th a t m o d i f i c a t i o n of model parameters c o u l d be performed while the program i s running t o a s s i s t with convergence. The model c a l c u l a t i o n i s invoked by executing the program ILCELL found on the d i s k MODEL:. The program begins by l o o k i n g fo r the f i l e ILPARM.TEXT which should c o n t a i n a set of va l u e s fo r the model parameters. If t h i s f i l e i s not pre s e n t , the user i s asked f o r the name o f ' a f i l e c o n t a i n i n g such v a l u e s . An e x i s t i n g f i l e name must be s u p p l i e d by the user to proceed past t h i s p a r t of the program. The user i s then asked t o supply the name of a source f i l e . I f RETURN i s pressed, input to the program w i l l be taken from the keyboard. A l t e r n a t i v e l y , i f a 200 v a l i d f i l e name i s s p e c i f i e d , a l l program input i s taken from t h i s f i l e r a t h e r than the keyboard. When a source f i l e i s being used, c o n t r o l of program execution may be returned to the keyboard by p r e s s i n g the ESC key. With the source f i l e s e t , the program reads i n the model parameters from the parameter f i l e and d i s p l a y s them i n column 41 to 80 of the text page. Columns 1 to 40 of the t e x t page are used to d i s p l a y the model op t i o n s and the c a l c u l a t e d node v o l t a g e s and t e r m i n a l c u r r e n t s . The opti o n s a v a i l a b l e are d e s c r i b e d below: C Change Model Parameters If the keys CTRL-Z have yet to be pressed, the user i s i n s t r u c t e d to do so as t h i s w i l l cause the second 40 columns of the t e x t page, which c o n t a i n the model parameters, to be d i s p l a y e d . The user may now a l t e r any one of these parameters by s e l e c t i n g the a p p r o p r i a t e l e t t e r . E n t e r i n g RETURN re t u r n s user to the f i r s t t e x t page and the main op t i o n menu. B B e g i n Run — T h i s o p t i o n causes the model c a l c u l a t i o n to commence at the i n i t i a l guess of the open c i r c u i t v o l t a g e . The node v o l t a g e s and c u r r e n t s are c o n s t a n t l y updated and d i s p l a y e d on the screen as the c a l c u l a t i o n proceeds. P r e s s i n g CTRL-P du r i n g the c a l c u l a t i o n causes the program to pause u n t i l CTRL-P i s pressed a g a i n . Pausing the program a l s o causes the s u r f a c e hole c o n c e n t r a t i o n a t the present node to be d i s p l a y e d . P r e s s i n g CTRL-C i n t e r r u p t s the c a l c u l a t i o n and r e t u r n s c o n t r o l to the 201 main menu with a l l p r e v i o u s l y c a l c u l a t e d t e r m i n a l v o l t a g e s and c u r r e n t s p r e s e r v e d . Although p r e s s i n g these keys w i l l i n t e r r u p t the c a l c u a t i o n even i f a source f i l e i s being used f o r input, i t i s not a d v i s a b l e to do so as program input w i l l continue to be taken from the source f i l e . R Resume Run A f t e r CTRL-C has been used to i n t e r r u p t the program, t h i s o p t i o n may be used to continue the program from the l a s t I-V p o i n t c a l c u l a t e d . S Save Data to F i l e The c a l c u l a t e d I-V c h a r a c t e r i s t i c may be saved to a f i l e s p e c i f i e d by the user. The numbers saved are the c e n t e r v o l t a g e , t e r m i n a l v o l t a g e , t e r m i n a l c u r r e n t , and t e r m i n a l power. P P r i n t Data The c a l c u l a t e d c h a r a c t e r i s t i c i s p r i n t e d on the p r i n t e r d r i v e n by the c a r d i n expansion s l o t 1 of the Apple. A l s o p r i n t e d i s the time the job was s t a r t e d and the c u r r e n t time. Q Q u i t Program T h i s o p t i o n i n i t i a t e s the t e r m i n a t i o n sequence of the program. I f the c a l c u l a t e d I-V c h a r a c t e r i s t i c has yet to be saved to a f i l e , the user i s asked i f t h i s should be done before p r o c e e d i n g . Before c o n t r o l i s returned to the o p e r a t i n g system, the user i s asked whether or not to save the c u r r e n t v a l u e s of the model parameters. If the user answers a f f i r m a t i v e l y , then the parameter f i l e used at the beginning of the program i s 202 u p d a t e d w i t h t h e p r e s e n t p a r a m e t e r v a l u e s ; o t h e r w i s e , immediate p r o g r a m t e r m i n a t i o n o c c u r s . A l i s t i n g o f t h e I l C e l l p r o g r a m f o l l o w s . 1 1 1 :0 1 2 1 1 :D 1 3 1 1 :D 3 4 1 1 :D 3 5 1 1 :D 3 6 1 1 :D 3 7 1 1 D 3 8 ' 1 1 D 3 9 1 1 .0 3 10 1 1 :D 3 1 1 1 1 0 3 12 1 1 :D 3 13 1 1 D 3 14 1 1 0 3 15 1 1 :D 3 16 1 1 :D 3 17 28 1 :D 3 18 28 2 :D 1 19 28 3 D 1 20 28 4 0 1 21 28 5 .0 1 22 28 6 D 1 23 28 6 D 1 24 22 1 D 1 25 22 1 0 3 26 22 2 0 3 27 22 3 D 3 28 22 4 D 1 29 22 5 D 3 30 22 6 D 3 31 22 7 0 1 32 22 a 0 1 33 22 8 D 3 34 29 1 D 3 35 29 2 D 3 36 29 3 D 3 37 29 4 0 3 38 29 5 D 3 39 29 6 D 3 40 29 7 D 3 41 29 8 D 3 42 29 8 0 5 43 24 1 0 5 44 24 1 D 3 45 24 2 D 3 46 24 2 D 3 47 24 2 0 5 48 24 2 D 5 49 24 3 D 1 50 24 3 D 2 51 24 3 D 4 52 24 4 D 3 53 24 4 0 4 54 24 4 D 5 (*$L IL.LST.TEXT*) PROGRAM I l C e l l ; (*$S+*) (*$I-») (*$N+*) (* I n v e s l o n l a y e r c e l l model. V e r s i o n 5 . No n u m e r i c a l I n t e g r a t i o n . MIS dark c u r r e n t c a l c u l a t e d s e p e r a t e l y E f f e c t of s u b s t r a t e c o n t a c t r e s i s t a n c e and MIS tun n e l r e s i s t a n c e I n c l u d e d . F r o n t s u r f a c e r e c o m b i n a t i o n c u r r e n t i n c l u d e d . W r i t t e n by D a n i e l Camporese. LATEST REVISION PROCEDURE SETCHAIN(TYTLE:STRING) ; PROCEDURE SETCVAL(VAL:STRING): PROCEDURE GETCVALlVAR VAL:STRING); PROCEDURE SWAPON; PROCEDURE SWAPOFF; Oct. NOV. 1983 . 1984 . FUNCTION PADDLE(SELECT: INTEGER) FUNCTION BUTTON(SELECT: INTEGER) PROCEDURE TTLOUT(SELECT: INTEGER FUNCTION KEYPRESS: BOOLEAN; FUNCTION RANDOM: INTEGER: PROCEDURE RANDOMIZE; PROCEDURE NOTE(PITCH,DURATION: INTEGER); INTEGER; BOOLEAN; DATA: BOOLEAN); FUNCTION FUNCTION FUNCTION FUNCTION FUNCTION FUNCTION FUNCTION SIN(X:REAL):REAL COS(X.-REAL) :REAL EXP(X:REAL).REAL ATAN(X:REAL):REAL LN(X:REAL):REAL; LOG(X:REAL):REAL; SORT(X:REAL):REAL FUNCTION A n a l o g i n / C h a n n e l , SampleNumber : I n t e g e r ) R e a l ; PROCEDURE Ana l o g o u t ( C h a n n e l : I n t e g e r ; V o l t a g e : Real ): FUNCTION Frequency(Channel I n t e g e r ; VAR GateTlme : I n t e g e r ) o oo Rea 1 55 24 5:0 1 PROCEDURE SoundBeep(Times : I n t e g e r ) ; 56 24 5 D 2 57 24 6 D 1 PROCEDURE SoundBuzz(Times : I n t e g e r ) ; 58 24 6 0 2 59 24 7 0 1 PROCEDURE SetDate(Year,Month,Day : I n t e g e r ) ; 60 24 7 D 4 61 24 8 0 1 PROCEDURE SetT1me(Hour.Minute : I n t e g e r ) ; 62 24 8 D 3 63 24 9 D 1 PROCEDURE ReadDatE(VAR Year,Month,Day : I n t e g e r ) ; 64 24 9 0 4 65 24 10 D 1 PROCEDURE ReadT1me(VAR Hour,Minute : I n t e g e r ) ; 66 24 10 0 3 67 24 1 1 D 3 FUNCTION C l k S e c o n d s : I n t e g e r ; 68 24 1 1 D 3 69 24 12 D 1 PROCEDURE DateandTtme(VAR D T S t M n g : S t r i n g ) ; 70 24 12 D 2 71 1 1 D 2 USES C h a l n S t u f f , A p p l e S t u f f . T r a n s c e n d , C y b o r g ; 72 1 1 0 3 . 73 1 1 D 3 CONST 74 1 1 D 3 MaxParm= 20; 75 1 1 0 3 K B o l t z = 8.615E-2; (* mv/k *) 76 1 1 0 3 EpsSI = 1.045E-12; (* f/cm *) 77 1 1 D 3 qe = 1.602E-19; (* coulombs *) 78 1 1 D 3 Eg = 1 120; (* ml 111-ev *) 79 1 1 0 3 NcNv = 5.6394 16; (* cma-3 *) 80 1 1 0 3 B l k s p » ' ': 81 1 1 D 3 B l a n k = ' ' ; 82 1 1 D 3 83 1 1 D 3 TYPE 84 1 1 0' 3 C a l c B u f f e r » ARRAY(0..100] OF R e a l ; 85 1 1 D 3 O u t B u f f e r = ARRAY[0..50] OF R e a l ; 86 1 1 D 3 P a r S t r i n g » S t r 1 n g [ 1 7 ] ; 87 1 1 D 3 U n l t S t r l n g = S t r 1 n g [ 9 ) ; 88 1 1 D 3 MessType » S t r 1 n g [ 4 0 j ; 89 1 1 0 3 90 1 1 D 3 91 1 1 D 3 VAR 92 1 1 D 3 Dummy,Beg 1nTIme,EndTIme S t r i n g ; 93 1 1 D 126 T i t l e MessType; 94 1 1 D 147 Tpos I n t e g e r ; 95 1 D 148 F1 1 eName,Df1tName,SrceName,DataName S t r 1 n g [ 3 0 ] ; 96 1 1 D 212 ParName ARRAY[1..MaxParm] 97 1 1 D 392 Uni t s ARRAY[ 1 . .MaxParm] 98 1 1 0 492 P D e d m a l ARRAY[1..MaxParm] 99 1 1 D 512 Param ARRAY[i..MaxParm] 100 1 1 0 552 N1,Na,N1Sq.NsqExp,KTq,Jphoto.JContact Real 101 1 D 566 nF a c t o r . O o x fde,OoxSq.FSpace.FWIdth,L,A Real 102 1 1 0 580 Se f f . D v l , D v 2 . P e r E r r , M a x E r r , M a x V E r r , P o w e r Real 103 1 1 D 594 Mob 111ty,Dn,Taun.TempK,I 1Curr,I 1 Sum.dy Real 104 1 1 D 608 VStart,Ps1B.JOtd.uORec,JOSurf,C1.C2.C3 Real 105 1 1 D 624 Rcontact.Rtunne1.Vst.Vn.W.Vexp.Vopen,ff Rea 1 106 1 1 0 640 P01,P02,Perr,nMIS Real 107 1 1 D 648 NSect Ion . NPo 1 n'ts . Node. M , I t e r I n t e g e r ; 108 1 1 D 653 Year,Month,Day.Hour,Mlnute Integer ; OF OF OF OF P a r S t r i n g ; Um t S t r Ing; I n t e g e r ; Real ; O 109 1 1 D 658 V Ca1cBuf f e r ; 1 10 1 1 D 860 V t e r m . I t e r m . P t e r m . V c e n t e r 0 u t 8 u f f e r ; 1 1 1 1 1 D 1268 D f 1 t F 1 l e . D a t a F 1 1 e T e x t ; 1 12 1 1 D 1870 S o u r c e I n t e r a c t i ve 1 13 1 1 0 2171 P a u s e , I n t r p t , D a t a S a v e d . N o D a t a F 1 1 e . O u 1 t Boo 1ean; 1 14 1 1 D 2176 C a l c E r r . Q u i e t , F I n l s h e d Boo 1ean; 1 15 1 1 D 2179 Response,Opt 1 on Char; 1 16 1 1 D 2181 1 17 1 2 0 1 PROCEDURE E n d C a l c : 1 18 1 2 0 1 FORWARO; 1 19 1 2 D 1 1 19 1 2 D 1 (*$I ILSEGM.TEXT*) 120 7 1 0 1 SEGMENT PROCEDURE I n l t P a r l ; 121 7 1 D 1 122 7 1 0 0 BEGIN 123 7 1 1 0 ParNamef 11 = ' T i t l e ' ; 124 7 1 1 33 U n l t s [ 1 ] a * * . 125 7 1 1 49 P d e d m a l [ 1 ] » 0; 126 7 1 1 62 ParNamef2] » 'Photo C u r r e n t . . ..' ; 127 7 1 1 95 U n l t s [ 2 ] = ' mA/cma2': 128 7 1 1 1 19 P D e c l m a l [ 2 ] » 1: 129 7 1 1 132 ParNamef 3] » 'MIS Dark C u r r e n t . ' ; 130 7 1 1 165 Uni t s [ 3 J » ' mA/cma2'; 131 7 1 1 189 P O e d m a l [3] - 0: 132 7 1 1 202 Parnamef 4] « 'MIS n f a c t o r ' ; 133 7 1 1 235 u n i t s [ 4 ] • ' ' : 134 7 1 1 251 P D e c l m a l [ 4 ] » 2; 135 7 1 1 264 ParNamef 5] = 'Acceptor Cone....': 136 7 1 1 297 U n i t s [ 5 ] « ' cma-3' ; 137 7 1 1 319 P d e c l m a l [ 5 ] = 0: 138 7 1 1 332 ParName(6] » 'Oxide Charge '; 139 7 1 1 365 U n l t s ( 6 ] = ' cma-2'; 140 7 1 1 387 Pdec ima1[6 1 » 0; 141 7 1 1 400 ParName[7 ] • ' S u r f a c e Rec. V e l . ' ; 142 7 1 1 433 U n l t s f 7 ] » ' cm/sec' ; 143 7 1 1 456 P D e c l m a l [ 7 ] * 2; 144 7 1 1 469 ParNamef8] • ' F i n g e r S p a c i n g . . . ' ; 145 . 7 1 1 502 U n 1 t 3 [ 8 ] = ' urn' ; 146 7 1 1 52 1 P D e c l m a l [ 8 ] = 1: 147 7 1 1 534 ParNamef 9] = ' F i n g e r Width ' ; 148 7 1 1 567 U n 1 t s ( 9 J =• ' urn' ; 149 7 1 1 586 P D e c l m a l [ 9 ] =• 1: 150 7 1 1 599 ParNamef10] = 'No. of S e c t i o n s . . ' ; 151 7 1 1 632 U n l t s f 1 0 ] _ / - . 152 7 1 1 648 PDec1ma1[10] » 1; 153 7 1 0 661 END: (* I n i t Parm 1 *) 154 7 1 0 674 155 8 1 D 1 SEGMENT PROCEDURE I n i t P a r 2 ; 156 8 1 0 i 157 8 1 0 0 BEGIN 158 8 1 1 0 ParNamef11] » 'V Dec at C e n t e r . . ' ; 159 8 1 1 33 U n 1 t s f 1 1 ] = ' mV ; 160 8 1 1 52 P D e c l m a l [ 1 1 ] ' 2; 161 8 "1 1 65 ParNamef12] = 'V Dec to 1st Cel 1 ' ; 162 a 1 : 1 98 U n 1 t s [ 1 2 ] • = ' mV ; 163 8 1 : 1 1 17 PDe d m a l [12] •» 2; 164 8 1 • 1 130 ParNamet13] = 'Max. E r r o r In V..'; 165 8 1 : 1 163 U n 1 t s [ 1 3 ] - ' %'; 166 8 1 : 1 181 P D e d m a l [13] » 2; 167 8 1 : 1 194 ParName[14] » ' D i f f u s i v l t y ' ; 168 8 1 1 227 U n 1 t s [ 1 4 ] = ' cma2/sec' ; 169 8 1 1 252 P D e d m a l [14] = 1 : 170 8 1 1 265 ParNamet15] = ' E l e c t r o n L i f e t i m e ' ; 171 8 1 1 298 U n i t s ! 1 5 ] » ' usee'; 172 8 1 1 319 P D e d m a l [15] » 2; 173 8 1 1 332 ParNamef16] - ' M o b i l i t y '; 174 8 1 1 365 U n 1 t s [ 1 6 ] = ' cma2/V/s' ; 175 8 1 1 390 P D e d m a l [16] » 1 : 176 8 1 1 403 ParNamet17] • 'Back C o n t a c t Res.'; 177 8 1 1 436 U n 1 t s ( 1 7 ] » ' ohm-cma2 ' ; 178 8 1 1 461 P D e d m a l [17] =• 3; 179 8 1 1 474 ParNamet18] » 'Front Tunnel Res.'; 180 8 1 1 507 U n 1 t s [ 1 8 ] » ' ohm-cma2 ' ; 181 8 1 1 532 PDeclma1[18] * 5; 182 8 1 1 545 ParNamef19] » 'Temperature '; 183 8 1 1 578 U n l t s t 1 9 ] =» ' K e l v i n ' ; 184 8 1 1 601 POedma 1 [ 19 ] * 1 ; 185 8 1 1 614 ParName[20] » ' S t a r t i n g V o l t a g e . ' ; 186 8 1 1 647 P D e d m a l [20] » 1: 187 8 1 1 660 U n 1 t s [ 2 0 ] » ' mV; 188 8 1 0 679 END: (* I n l t l t l a l i z e Parameters *) 189 8 1 0 692 190 9 1 D 1 SEGMENT PROCEDURE ChangeParameters; 191 9 1 D 1 192 9 1 D 1 CONST 193 9 1 D 1 Ppos » 59; 194 9 1 D 1 195 9 1 0 1 VAR 196 9 1 D 1 ParNum : I n t e g e r ; 197 9 1 D 2 P a r c h r : Char; 198 9 1 D 3 P a r P o s 1 t I o n I n t e g e r ; 199 9 1 0 4 Ch : Char; 200 9 1 D 5 201 9 1 0 0 BEGIN 202 9 1 1 0 Got o x y ( 1 5 . 2 3 ) ; 203 9 1 : 1 5 W r 1 t e ( ' p r e s s CTRL-Z'); 204 9 1 1 27 REPEAT 205 9 1 • 2 27 REPEAT 206 9 1 . 3 27 G o t o x y ( 4 0 , 1 ) ; 207 9 1 : 3 32 Wr1te('change which parameter? <CR> to a c c e p t 208 9 1 • 3 82 Gotoxy(79. 1 ); 209 9 1 • 3 87 R e a d ( S o u r c e . P a r c h r ) ; 210 9 1 : 3 95 Parnum := O r d ( P a r c h r ) - O r d ( ' A ' ) + 1 ; 21 1 9 1 : 3 102 IF Parnum > 26 THEN ParNum := ParNum-32: 212 9 1 : 3 112 IF O r d ( P a r c h r ) = 32 THEN ParNum := 0: 213 9 1 2 120 UNTIL (ParNum >= 0) AND (ParNum <= MaxParm); 214 9 1 : 2 129 215 9 1 • 2 129 IF (Parnum > 0) AND (Parnum <= Parnum) THEN BEGIN 216 9 1 4 138 P a r P o s 1 t 1 o n ': = Parnum + 2; 217 9 1 •4 143 G o t o x y ( P p o s . P a r P o s 1 1 I o n ) ; 218 9 1 4 148 IF (ParNum => 1) THEN BEGIN 219 9 1 6 153 Wr1te(' ' ) ; 220 9 1 6 184 GotoXy(PPos , ParPos 111on); 221 9 1 6 189 R e a d ) n ( S o u r c e . T i t l e ) ; 222 9 1 5 204 END ELSE BEGIN 223 9 1 6 206 W r l t e C ' ) ; 224 9 1 6 228 G o t o x y ( P p o s , P a r P o s 1 t I o n ) ; 225 9 1 6 233 Readln(Source,ParAm[Parnum]); 226 9 1 6 256 • G o t o x y ( P p o s . P a r P o s 1 t 1 o n ) ; 227 9 1 6 261 Wr 1te(ParAm[Parnum]: 12:PDec1 ma 1[Parnum]); 228 9 1 5 293 END; (* ELSE *) 229 9 1 3 293 END; (* IF (Parnum *) 230 9 1 1 293 UNTIL ParNum =• 0: 231 9 1 1 298 232 9 1 1 298 G o t o x y ( 1 5 , 2 3 ) ; 233 9 1 1 303 W r l t e ( ' ' ) : 234 9 1 0 325 END; (* Change Parameters *) 235 9 1 0 344 236 10 1 D 1 SEGMENT PROCEDURE E n t e r D e f a u l t s ; 237 10 1 D 1 238 10 1 D 1 CONST 239 10 1 0 1 Xpos » 40; 240 10 1 D 1 24 1 10 1 D 1 VAR 242 10 1 D 1 Y : I n t e g e r ; 243 10 1 D 2 N : I n t e g e r ; 244 10 1 • 3 245 10 1 0 0 BEGIN 246 10 1 1 0 Go t o x y ( 4 6 , 0 ) ; 247 10 1 1 5 W r l t e C " * MODEL PARAMETERS * * * ' ) : 248 10 1 1 39 Readln(Df 1tF 1 1e.Dummy); 249 10 1 1 54 R e a d l n ( D f I t F l l e . T i t l e ) ; 250 IO 1 1 69 G o t o x y ( X p o s , 3 ) : 251 10 1 1 74 W r l t e ( ' A > ' , P a r N a m e [ 1 ] . T i t l e ) ; 252 • 10 1 1 1 13 FOR N : = 2 TO MaxParm DO BEGIN 253 10 1 3 124 R e a d l n ( D f l t F 1 l e . P a r a m [ N ] ) ; 254 10 1 3 147 Y := N + 2: 255 10 1 3 152 Gotoxy(Xpos,Y ) ; 256 10 1 3 157 Wr1te(Chr(N + 64),'>',ParName[N],Paramf N J:12:Pdec1 ma 1 257 10 1 2 243 ENO: (* FOR N *) 258 10 1 1 250 G o t o x y ( X p o s , 2 3 ) ; 259 10 1 1 255 W r 1 t e ( ' d e f a u l t s f i l e : ',Df1tName) : 260 10 1 1 296 C l o s e ( D f 1 t F 1 l e ) ; 261 10 1 0 303 ENO; (* E n t e r Parameters *) 262 10 1 0 318 263 11 1 D 1 SEGMENT PROCEDURE S a v e D e f a u 1 t s : 264 11 1 0 1 265 11 1 0 1 VAR 266 11' 1 D 1 GoodName : Boolean; 267 11 1 D 2 I I n t e g e r ; 268 11 1 0 3 269 11 1 0 0 BEGIN , U n i t s [ N ] ) : ro o 270 1 1 1 1 0 GoodName :» True; 271 1 1 1 1 3 G o t o x y ( 0 , 2 3 ) ; 272 1 1 1 1 8 W r l t e ( B l a n k ) ; 273 1 1 1 1 58 G o t o x y ( 0 . 2 3 ) ; 274 1 1 1 1 63 Wr 1te('save as : ',DfltName,'(Y/N) ' ) ; 275 1 1 1 1 109 Read(Source,Response); 276 1 1 1 1 1 18 IF (Response = 'y') OR (Response = 'Y') THEN 277 1 1 1 2 131 R e s e t ( D f l t F 1 1 e , D f 1 t N a m e ) 278 1 1 1 1 142 ELSE BEGIN 279 1 1 1 3 144 Go t o x y ( 0 . 2 2 ) : 280 11 1 3 149 Wr 1te('save as? ' ) : 281 1 1 1 3 206 Gotoxy(9,22) ; 282 1 1 1 3 21 1 Read1n(Source.Df1tName) ; 283 1 1 1 3 227 GoodName := Length(Df1tName) > 0; 284 1 1 1 3 236 IF GoodName THEN 285 1 1 1 4 239 R e w r 1 t e ( D f 1 t F l i e , D f 1 t N a m e ) ; 286 1 1 1 2 250 END; (* IF I O R e s u l t *) 287 1 1 1 2 250 288 1 1 1 1 250 IF GoodName THEN BEGIN 289 1 1 1 3 253 Wr1teln(Of 1tFIle.Dummy); 290 1 1 1 3 268 W r 1 t e l n ( D f 1 t F l l e . T I t l e ) ; 291 1 1 1 3 283 FOR I :» 2 TO MaxParm DO 292 1 1 1 4 294 WMtel.n(Df1tF1 l e , P a r am [I ] ) ; 293 1 1 1 3 328 C l o s e ( D f 1 t F 1 l e , C r u n c h ) ; 294 1 1 1 2 335 END; (* IF Good Name *) 295 1 1 1 0 335 END; (* Save D e f a u l t s *) 296 1 1 1 0 350 297 1 1 1 0 350 298 12 1 D 1 SEGMENT PROCEDURE P r l n t D a t a ; 299 12 1 D 1 300 12 1 0 1 VAR 301 12 1 0 1 P r t r : Text; 302 12 1 D 302 I I n t e g e r ; 303 12 1 D 303 304 12 1 D 303 305 12 1 0 0 BEGIN 306 12 1 1 0 IF NOT F i n i s h e d THEN E n d C a l c ; 307 12 1 1 21 R e w r 1 t e ( P r t r , ' P r 1 n t e r : ' ) ; 308 12 1 1 39 P a g e ( P r t r ); 309 12 1 1 46 W r 1 t e l n ( P r t r . ' *** I n v e r s i o n Layer C e l l Model - Rev. 11/84 310 12 1 1 1 19 W r 1 t e 1 n ( P r t r . ' Job b e g i n s at ',BeglnT1 me) ; 31 1 12 1 1 168 W r l t e l n ; 312 12 1 1 174 W r 1 t e l n ( P r t r , T i t l e ) ; 313 12 1 1 187 W r i t e 1 n ( P r t r ) ; 314 12 1 1 192 Wr1te1n(Prtr,'Mode 1 P a r a m e t e r s : ' ) ; 315 12 1 1 223 W r l t e l n ( P r t r ) ; 316 12 1 1 228 FOR I := 2 TO MaxParm DO 317 12 1 245 Wr 1 t e l n( P r t r , ' ' , ParNamet I ] , Par am 11 ] : 12 : PDedmal [ I ] , Un 11 s ( I ] ) ; 318 12 1 1 345 W r 1 t e l n ( P r t r ) ; 319 12 1 1 350 W r 1 t e l n ( P r t r , 320 12 1 1 350 ' C e n t e r V o l t a g e T e r m i n a l V o l t a g e Terminal C u r r e n t Power') 321 12 1 1 423 W r 1 t e l n ( P r t r , 322 12 1 1 423 (mV) (mV) (mA) (mW) ' ) 323 12 1 1 496 FOR I := 1 TO N p o l n t s DO 324 12 1 :2 515 W r 1 t e 1 n ( P r t r , V c e n t e r [ I ] : 10: 1 , V t e r m f I ] : 17: 1 325 12 1 •2 55 1 . I t e r m [ I ] : 1 8 : 1 . P t e r m f I j : 14: 1 ); 326 12 1 1 6 10 W r l t B l n ( P r t r ) ; 327 12 1 1 615 W r 1 t e l n ( P r t r , ' Voc = '.Vopen:5:1,' mV , f f 328 12 1 1 681 ' , Pmax = ',Power:6:2.' mW'); 329 12 1 1 730 W r l t e l n ( P r t r ) ; 330 12 1 1 735 IF DataSaved THEN 331 12 1 2 740 W r 1 t e l n ( P r t r , ' Data saved In : 332 12 1 1 796 W r 1 t e l n ( P r t r ) ; 333 12 1 1 801 W r 1 t e l n ( P r t r , ' dob ends at '.EndTlme) 334 12 1 0 848 END; (* P r i n t Data *) 335 12 1 0 870 336 12 1 0 870 • 337 13 1 D 1 SEGMENT PROCEDURE S e t D a t a F l l e : 338 13 1 0 1 339 13 1 D 1 VAR 340 13 1 D 1 G o o d F l l e : Boolean; 341 13 1 D 2 N o F l l e : B o o l e a n ; 342 13 1 D 3 343 13 1 0 0 BEGIN 344 13 1 1 0 G o t o x y ( 0 . 2 0 ) : 345 13 1 1 5 W r 1 t e ( ' e n t e r d a t a f i l e name: ' ) ; 346 13 1 1 37 347 13 1 1 37 REPEAT 348 13 1 2 37 GoodF11e :» F a l s e ; 349 13 1 2 40 G o t o x y ( 0 , 2 1 ) ; 350 13 1 2 45 W r l t e ( B l a n k ) ; 351 13 1 2 95 Gotoxy(22.20); 352 13 1 2 100 W r l t e C ' ) ; 353 13 1 2 127 Gotoxy(22.20); 354 13 1 2 132 Readln(Source.DataName); 355 13 1 2 148 Reset(DataF1le.DataName); 356 13 1 2 159 N o F l l e := IOResult <> 0; 357 13 1 2 165 IF NOT N o F l l e THEN BEGIN 358 13 1 4 169 W M t e ( ' f 1 1 e a l r e a d y e x i s t s , overwr 1 te( Y/N)? ' ) 359 13 1 4 215 Read(Source,Response); 360 13 1 4 224 IF (Response = 'y') OR (Response = 'Y') THEN 361 13 1 5 237 NoF H e : = True; 362 13 1 3 240 ENO; '(•* IF NOT G o o d F l l e *) 363 13 1 2 240 C l o s e ( D a t a F 1 1 e ) ; • 364 13 1 2 247 IF Nof H e THEN BEGIN' 365 13 1 4 250 Rewr1te(DataF1le.DataName); 366 13 1 4 261 G o o d F l l e := I O R e s u l t = 0; 367 13 1 4 267 IF NOT G o o d F l l e THEN BEGIN 368 13 1 6 271 Gotoxy(0.22); 369 13 1 6 276 Wr1te('can''t open t h i s f i l e ' ) ; 370 13 1 6 306 C l o s e ( D a t a F l i e ) ; 371 13 1 5 313 END ELSE N o D a t a F H e := F a l s e : 372 13 1 3 319 END; (* IF G o o d F t l e *) 373 13 1 1 3 19 UNTIL G o o d F l l e OR (Length(DataName) = 0 ) ; 374 13 1 1 330 375 13 1 1 330 GOTOXY(0,20): 376 13 1 1 335 W r l t e l n ( B l a n k ) ; 377 13 1 1 391 W r 1 t e l n ( B l a n k ) ; '.DataName): O KD 378 13 1 . 1 447 W M t e ( B l a n k ) ; 379 13 1 0 497 END: (* Set Data F i l e ' * ) 380 13 1 0 512 381 14 1 0 1 SEGMENT PROCEDURE SaveData: 382 14 1 D 1 383 14 1 D 1 VAR 384 14 1 D 1 I : I n t e g e r ; 385 14 1 D 2 386 14 1 0 0 BEGIN 387 14 1 0 0 (*$R S e t D a t a F l l e * ) 388 14 1 1 0 IF N o D a t a F H e THEN S e t D a t a F l l e 389 14 1 1 7 ELSE BEGIN 390 14 1 3 12 G o t o x y ( 0 , 2 3 ) ; 391 14 1 3 17 W r l t e ( ' u s e same f i l e as l a s t time? ' . C h r ( 1 3 5 ) ) ; 392 14 1 3 67 Read(Source,Re s p o n s e ) ; 393 14 1 3 76 IF (Response = 'y') OR (Response = 'Y') THEN BEGIN 394 14 1 5 89 Go t o x y ( 0 , 2 3 ) ; 395 14 1 5 94 Wr1te('0>verwr1te or A>ppend ' , C h r ( 1 3 5 ) ) ; 396 14 1 5 137 Read(Source,Response); 397 14 1 5 146 I f (Response = 'o') OR (Response = '0') THEN 398 14 1 6 159 R e s e t ( D a t a F t i e ) ; 399 14 1 4 165 END ELSE BEGIN 400 14 1 5 167 C1ose(DataF L i e , C r u n c h ) ; 401 14 1 5 174 N o D a t a F H e := True: 402 14 1 5 178 S e t D a t a F I l e ; 403 14 1 4 181 END: (* ELSE *) 404 14 1 2 181 END; (* ELSE •) 405 14 1 1 181 IF NOT N o D a t a F H e THEN BEGIN 406 14 1 3 187 IF Not F i n i s h e d THEN EndCalc; 407 14 1 3 196 W r 1 t e i n ( D a t a F l i e . T l t l e ) ; 408 14 1 3 211 Wr 1teln(DataF 11e,Vopen,ff,Power); 409 14 1 3 256 FOR I :» 1 TO N P o l n t s 00 410 14 1 4 269 W r 1 t e 1 n ( D a t a F l l e , V c e n t e r f I ] . V T e r m f I ] , I t e r m f I ] , P t e r m [ I ]) 41 1 14 1 3 358 DataSaved := True; 412 14 1 2 362 END; (* IF NOT N o D a t a F H e *) 413 14 1 1 362 G o t o x y ( 0 . 2 3 ) ; 414 14 1 1 367 W r 1 t e ( B l a n k ) ; 415 14 1 0 417 END; (* Save Data *) 4 16 14 1 O . . 450 (*$I ILSEGM.TEXT*) 417 14 1 0 450 418 14 1 0 450 (* These r o u t i n e s a r e always loaded *) 419 14 1 0 450 420 1 3 D 1 PROCEDURE S e t S r c e F H e ; 421 1 3 D 1 422 1 3 D 1 VAR 423 1 3 D 1 G o o d F H e : Boolean; 424 1 3 D 2 425 1 3- O 0 BEGIN 426 1 3 1 0 G o t o x y ( 0 , 2 0 ) ; 427 1 3 1 5 W r 1 t e ( ' e n t e r s o u r c e f i l e name: ' ) ; 428 1 3- 1 39 429 1 3 1 39 REPEAT 430 1 3 2 39 Go t o x y ( 2 4 , 2 0 ) : 431 1 3 2 44 Wr1te(' ' ) ; 432 1 3 :2 69 G otoxy(24,20); 433 1 3 2 74 Readln(SrceName); 434 1 3 .2 90 IF Length(SrceName) * 0 THEN 435 1 3 3 99 SrceName := ' C o n s o l e : ' ; 43G 1 3 •2 115 C l o s e ( S o u r c e ) ; 437 1 3 2 122 Reset(Source,SrceName ); 438 1 3 2 133 G o o d F l l e := I O R e s u l t = 0; 439 1 3 2 139 IF NOT G o o d F l l e THEN BEGIN 440 1 3 .4 143 G o t o x y ( 0 . 2 1 ) ; 441 1 3 4 148 W r 1 t e ( ' c a n ' ' t open t h i s f i l e ' ) ; 442 1 3 4 178 C l o s e ( S o u r c e ) ; 443 1 3 3 185 ENO; (* IF NOT G o o d F l l e *) 444 1 3 1 185 UNTIL G o o d F l l e ; 445 1 3 1 188 446 1 3 . 1 188 G o t o x y ( 0 . 2 0 ) ; 447 1 3 1 193 W r l t e l n ( B l a n k ) ; 448 1 3 1 249 W r l t e ( B l a n k ) ; 449 1 3 0 299 END; (* Set Source F i l e *) 450 1 3 0 314 451 1 3 0 314 452 1 3 0 314 453 1 4 0 1 PROCEDURE ConsoIeCheck; 454 1 4 D 1 455 1 4 D 1 CONST 45G 1 4 D 1 Kbd - -16384; 457 1 4 0 1 C l r K b d = -16368; 458 1 4 D 1 E s c » 155: 459 1 4 D 1 C t r l C = 131: 460 1 4 D 1 C t r l P = 144; 461 1 4 D 1 C t r l O = 145; 462 1 4 D 1 463 1 4 0 1 TYPE 464 1 4 D 1 B y t e = PACKED ARRAY[0..0] OF 0..255; 465 1 4 D 1 MemType= RECORD 466 1 4 D 1 CASE B o o l e a n OF 467 1 4 0 1 True ( P o i n t e r : o B y t e ) ; 468 1 4 D 1 F a l s e : ( L o c a t i o n : I n t e g e r ) 469 1 4 D 1 END; (« CASE *) 470 1 4 D 1 471 1 4 0 1 VAR 472 1 4 D 1 C o n s o l e : MemType; 473 1 4 D 2 Key : I n t e g e r ; 474 1 4 D 3 475 1 4 0 0 BEGIN 476 1 4 1 0 C o n s o l e . L o c a t 1 on := Kbd; 477 1 4 1 6 Key := C o n s o l e . P o l n t e r a t O ] ; 478 1 4 1 14 IF Key = Esc THEN BEGIN 479 1 4 3 21 C l o s e ( S o u r c e ) ; 480 1 4 3 28 R e s e t ( S o u r c e , ' C o n s o l e : ' ) ; 481 1 4 3 47 I n t r p t := True: 482 1 4 2 51 END; 483 1 4 1 51 IF Key = C t r l P THEN Pause :» F a l s e ; 484 1 4 1 62 IF Key = C t r l C THEN I n t r p t := True; 485 1 4 1 73 IF Key = C t r l O THEN IF Q u i e t THEN Q u i e t := 466 1 4 2 85 ELSE Q u i e t := True; 487 1 4 1 95 I f Key IN [ C t r 1 P , C t r 1 C , C t r l O , E s c ] THEN BEGIN 488 1 4 3 1 18 C o n s o l e . L o c a t I o n : = C l r K b d ; 489 1 4 3 124 Key := C o n s o l e . P o 1 n t e r a [ 0 ] ; 490 1 4 2 132 END; 491 1 4 0 132 END; (* C o n s o l e Check *) 492 1 4 0 144 493 1 5 0 1 PROCEDURE Walt; 494 1 5 D 1 495 1 5 0 0 BEGIN 496 1 5 1 0 G o t o x y ( 0 , 2 0 ) ; 497 1 5 1 5 W r i t e ( I t e r : 3 , P 0 1 : 1 5 , P e r r : 1 5 ) ; 498 1 5 1 41 G o t o x y ( 1 7 , 2 3 ) : 499 1 5 1 46 Wr1te('PAUSE'); 500 1 5 1 61 Pause := True : 501 1 5 1 65 W h i l e Pause DO ConsoIeCheck; 502 1 5 1 74 Gotoxy( 17.23); 503 1 -5 1 79 W r i t e ( ' ' ) : 504 1 5 0 94 END; 505 1 5 0 108 506 1 6 0 1 PROCEDURE ReadKey; 507 1 6 0 1 508 1 6 D 1 Const 509 1 6 D 1 C t r l Q - 17; 510 1 6 D 1 C t r I P » 16; 511 1 6 D 1 C t r I C » 3; 512 1 6 D 1 E s c => 27; 513 1 6 D 1 514 1 6 D 1 VAR 515 1 6 • 1 Key : Char; 516 1 •6 D 2 517 1 6 0 0 BEGIN 518 1 6 1 0 Gotoxy(0,22) ; 519 1 6 1 5 Read(KeyBoard.Key); 520 1 !6 1 13 CASE Ord(Key) OF 521 1 6 1 16 C t r I P : Walt; 522 1 6 1 20 C t r I C : I n t r p t := True; 523 1 6 1 26 C t r l Q : IF Q u i e t THEN Q u i e t := F a l s e 524 1 6 2 31 ELSE Q u i e t := True: 525 1 6 1 43 Esc : BEGIN 526 1 6 3 43 C l o s e ( S o u r c e ) ; 527 1 6 3 50 R e s e t ( S o u r c e . ' C o n s o l e : ' ) ; 528 1 6 3 69 S e t S r c e F i 1 e : 529 1 6 3 71 I n t r p t := True; 530 1 6 2 75 END; 531 1 6 1 77 END; (• Case *) 532 1 6 0 134 END: (* Read Key *) 533 1 6 O 146 534 1 6 0 146 535 1 7 D 3 FUNCTION Jd(V : R e a l ) : R e a l ; 536 1 7 0 5 537 1 7 0 5 538 1 7 0 0 BEGIN 539 1 . 7 1 0 Vn := V / KTq; 540 7 : 1 15 Vexp : =• Exp(Vn); 54 1 7 : 1 30 IF V < PsIB THEN BEGIN 542 7 : 3 43 W := S q r t ( C 2 * ( P s 1 B - V ) ) ; 543 7 :3 69 J d :» J01d*(VeXP-1.0)+J0Rec*W*Exp(Vn/2.0) : 544 7 : 2 122 END ELSE 545 7 :2 124 J d := JO Id*Vexp: 546 1 7 :0 139 END; (* J d *) 547 7 .0 152 548 1 8 :D 3 FUNCTION DJd(V : R e a l ) : R e a l ; 549' 1 8 :D 5 550 1 8 .0 0 BEGIN 551 1 8 O 0 (*$R TRANSCEND*) 552 1 8 1 0 Vn :=» V/KTq; 553 1 8 • 1 17 Vexp:= Exp(Vn); 554 1 8 1 32 IF V < .PsIB THEN BEGIN 555 1 8 3 45 W : = S q r t ( C 2 * ( P s 1 B - V ) ) ; 556 1 8 3 71 DJd: = (J01d*Vexp+J0Rec'W*Exp(Vn/2.0)/2.0)/KTq 557 1 8 3 122 - JORec*Exp(Vn/2.0)*C2/W/2.0: 558 1 8 2 174 END ELSE 559 1 8 2 176 DJd : = J01d*Vexp/KTq; 560 1 8 0 197 END; (* DJd *) 561 1 8 0 226 562 1 8 0 226 563 1 9 0 3 FUNCTION Jm1s(V : R e a l ) : R e a l ; 564 1 9 D 5 565 1 9 0 0 BEGIN 566 1 9 1 0 Jmls := J c o n t a c t * ( E x p ( V / K T q / n M I S ) - 1 . 0 ) ; 567 1 9 0 38 END; (* Jmls *) 568 1 9 0 50 569 1 10 D 3 FUNCTION J s u r f ( V : R e a l ) : R e a l ; 570 1 10 D 5 571 1 10 D 5 VAR 572 1 10 D 5 F.Fp.G.Gp : R e a l ; 573 1 10 D 13 574 1 10 O 0 BEGIN 575 1 10 0 0 (*$R TRANSCEND*) 576 1 10 1 0 IF NOT Intrpft AND ( S e f f <> 0.0) THEN BEGIN 577 1 10 3 23 Vn = V/KTq; 578 1 10 3 38 P01 = Na*Exp(Vn-Ps1B/KTq)*1.OE-5; 579 1 10 3 79 NsqExp =• N1Sq*Exp(Vn); 580 1 10- 3 100 I t e r = 1 ; 581 1 10 3 104 P e r r » 1.0: 582 1 10 3 1 16 WHILE ( P e r r > MaxErr) AND NOT I n t r p t DO BEGIN 583 1 10 5 135 G = 2.0*(NSqExp*(1.0/P01-1.O/Na) 584 1 10 5 175 + P01 + Na*(Ln(Na/P01)-1.0)): 585 1 10 5 216 Gp = (1.0-NSqExp/P01/P01-Na/P01); 586 1 10 5 256 F = Ln(G/0oxSq)/2.0; 587 1 10 5 283 Fp 3 Gp / G; 588 1 10: 5 296 P02 = P01 - F/Fp; 589 1 10- 5 316 If (P02 < 0.0) THEN P02 := 1.0E-35*P01; 590 1 10: 5 350 P E r r = A b s ( L n ( P 0 2 / P 0 1 ) ) ; 591 1 10: 5 372 I ter. = I t e r + 1 ; 592 1 io- 5 380 P01 = P02; 593 1 10 5 390 IF. K e y P r e s s THEN ReadKey; 594 . 1 10 :4 399 END; (* WHILE P e r r *) 595 1 10 •3 401 J s u r f :» Oe*P02*Seff*1.0E3; 596 1 10 .2 431 END ELSE 597 1 10 :2 433 d s u r f : = 0.0; 598 1 10 O 444 END: (* J S u r f a c e *) 599 10 0 476 60O 11 D 3 FUNCTION D d s u r f ( V : R e a l ) : R e a l ; 601 11 D 5 602 11 0 0 BEGIN 603 11 1 0 D d s u r f := dOsurf*Exp(V/KTq)/KTq; 604 11 0 31 END; (* Ddsurf *) 605 11 0 44 606 12 D 3 FUNCTION Vd1ode(Vce11 : R e a l ) : R e a l ; 607 12 D 5 608 12 D 5 VAR 609 1 12 D 5 V1,V2,Verr,F.Fp : R e a l ; 6 10 12 0 15 61 1 12 0 0 BEGIN 6 12 12 1 0 IF ( R c o n t a c t <> 0.0) THEN BEGIN 6 13 12 3 16 V1 : = V c e l 1 ; 614 12 3 24 V e r r := 1; 615 12 3 30 WHILE ( V e r r > MaxVErr) AND NOT I n t r p t DO BEGIN 616 12 5 48 F :=• V1+Rcontact*(dd(V1 )+dsurf ( V1 )-dPhoto )-Vce 1 617 12 5 91 Fp := 1.0 + R c o n t a c t * ( D J d ( V 1 ) •»• D d s u r f ( V 1 ) ) ; 618 12 5 126 V2 := VI - F/Fp; 619 12 5 144 V e r r := Abs(V2-V1): 620 12 5 158 V1 := V2; 621 1 12 5 166 IF KeyPress THEN ReadKey; 622 1 12 4 175 END; (* WHILE V e r r *) 623 1 12 3 177 VDIode := V1; 624 1 12 2 185 END ELSE Vdlode := Vcel 1 ; 625 1 12 0 195 END; (* Vdlode •) 626 1 12 0 214 627 1 13 D 1 PROCEDURE RunModel; 628 1 13 D 1 FORWARD; 629 1 13 D 1 630 1 14 D 3 FUNCTION NextV(VnO,Vn1 : R e a l ) : R e a l ; 631 1 14 D 7 632 1 14 0 7 VAR 633 1 14 D 7 Verr,VNext,Vav,Denom,Vdrop,Vd : R e a l : 634 1 14 D 19 635 1 14 0 0 BEGIN 636 1 14 0 0 (*$R TRANSCEND*) 637 1 14 1 0 VNext := Vn1*2.0 - VnO: 638 1 14 1 22 V e r r := 100.0: 639 1 14 1 32 I l C u r r := 0.0; 640 1 14 1 44 Vnext := Vn1; 641 1 14 1 52 WHILE ( V e r r > MaxVErr) AND NOT I n t r p t DO BEGIN 642 1 14 3 70 Vav := (Vn1+Vnext)/2.0; 643 1 14 3 91 IF (Vav > PsIB) THEN BEGIN 644 1 14 5 104 Ca1cErr := True; 645 1 14 5 108 E x l t ( N e x t V ) ; 646 1 14 4 1 12 END; 647 1 14 3 1 12 Denom:= Mob 111ty*(Qox1de-Sqrt(C1 * ( P s 1 B - V a v ) ) ) ; 648 14 3 149 IF Oenom < 0.0 THEN BEGIN 649 14 5 164 G o t o x y ( 0 . 2 3 ) ; 650 14 5 169 W r 1 t e ( ' I n v e r s I o n l a y e r gone at v » ',Vav:6 65 1 14 5 232 E x t t ( R u n M o d e l ) ; 652 14 4 236 END ELSE BEGIN 653 14 5 238 Vd := V D I o d e ( V n l ) ; 654 14 5 250 I l C u r r := ( J p h o t o - J d ( V d ) - d s u r f ( V d ) ) * D y * D y : 655 1 14 5 290 Vdrop := (11curr*11 sum)/Denom; 656 1 14 5 310 Vnext := Vn1 - Vdrop ; 657 14 5 323 V e r r : = Abs(Vn1 -VDrop/2.0-Vav); 658 1 14 4 350 END; 659 1 14 3 350 Gotoxy(0.17) ; 660 14 3 355 IF NOT Q u i e t THEN 661 1 14 4 361 Wr1te(Node:3,' ',Vn1:6:1,' '.Vnext 662 1 14 3 452 IF K e y P r e s s THEN ReadKey; 663 14 2 461 END; (* WHILE V e r r *) 664 1 14 1 463 11 Sum := 11 Sum + I l C u r r ; 665 14 1 479 NextV :» Vnext; 666 14 0 487 END; (* Next V o l t a g e *) 667, 14 0 518 668 15 D 3 FUNCTION Pmax : R e a l ; 669 1 15 D 3 670 1 15 0 3 VAR 671 1 15 D 3 Pwr : Rea1; 672 1 15 D 5 I : I n t e g e r ; 673 1 15 0 6 674 1 15 0 0 BEGIN 675 1 15 1 0 Pwr :• P t e r m [ 1 ] ; 676 1 15 1 15 FOR I :=• 2 TO N p o l n t s DO 677 1 15 2 28 IF P t e r m f l ] > Pwr THEN Pwr := P t e r m [ I ] ; 678 1 15 1 69 Pmax : = Pwr; 679 1 15 0 77 END; 680 1 15 0 92 681 1 16 D 3 FUNCTION Voc : R e a l ; 682 1 16 D 3 683 1 16 D 3 CONST 684 1 16 D 3 Z e r o =• 0.0; 685 1 16 D 3 686 1 16 D 3 VAR 687 1 16 D 3 N : I n t e g e r ; 688 1 16 0 4 L0.L1.L2 : R e a l ; 689 1 16 D 10 690 1 16 0 0 BEGIN 691 1 16 1 0 N : = 1; 692 1 16 1 3 WHILE (N < N p o l n t s ) AND ( Z e r o < I t e r m [ N ] ) DO 693 1 16 2 30 N : = N + 1 ; 694 1 16 1 37 IF (N < 2) THEN N : => 2; 695 1 16 1 45 IF (N >= N P o t n t s ) THEN N := N P o l n t s - 1; 696 1 16 1 59 LO := ( Z e r o - Iterm[N]) * ( Z e r o - I t e r m [ N + l ] ) 697 1 16 1 100 / (Iterm(N-1] - Iterm[N]) / ( I t e r m [ N - 1 J -698 1 16 1 157 L1 := ( Z e r o - Iterm[N-1]) * ( Z e r o - Iterm(N+1 699 1 16 1 200 / ( I t e r m t N ] - Iterm(N-1]) / ( I t e r m ( N j -700 1 16 1 255 L2 := ( Z e r o - Iterm[N-1J) * ( Z e r o - I t e r m ( N j ) 701 16 1 296 / (Iterm[N+1] - Iterm(N-1]) / (Iterm[N+ mv' ) ; 6:1, ' .Vdrop:7:3); Iterm{N+1]); ) Iterm[N+1]); ] - I t e r m [ N ] ) ; 702 1 16 : 1 353 Voc :» LO *Vterm[N-1] + L1*Vterm[N] + L2*Vterm[N+1];: 703 1 16 :0 41 1 END; (* V open c i r c u i t *) 704 1 16 :0 426 / 705 1 2 :0 1 PROCEDURE E n d C a l c ; 706 1 2 :D 1 707 1 2 :0 0 BEGIN 708 2 : 1 0 IF (M > 2) THEN BEGIN 709 2 •3 7 M : = M - 1 : 710 2 •3 15 Npo1nts : • M; 71 1 2 : 3 21 Power » Pmax; 712 2 3 30 IF Power <= 0.0 THEN Vopen := 0.0 713 2 3 49 ELSE Vopen := Voc; 7 14 2 3 69 IF Vopen > 0.1 THEN 715 2 4 84 f f := -1.0E3*Power/Vopen/1 term[NPo1nts] 716 2 3 117 ELSE f f := 0.0 717 2 2 128 END ELSE BEGIN 718 2 3 138 Vopen •= 0.0; 719 2 3 150 f f » 0.0: 720 2 3 162 Power - 0.0; 721 2 2 174 END; 722 2 1 174 G o t o x y ( 0 . 1 4 ) ; 723 2 1 179 W r 1 t e ( ' v o c = ',Vopen:5:1,' mv f i l l f a c t o r = ' , f f : 5 : 3 ) ; 724 2 1 252 DateandTlme(EndTlme); 725 1 2 1 257 F i n i s h e d := True; 726 1 2 0 261 END; (* End C a l c u l a t i o n *) 727 1 2 0 276 728 1 13 D 1 PROCEDURE RunModel; 729 1 13 0 1 730 1 13 D 1 VAR 731 1 13 D 1 N I n t e g e r ; 732 1 13 D 2 V t r 1al.Rtemp.Vd : R e a l ; 733 13 D 8 734 1 13 0 0 BEGIN 735 1 13 0 0 (*$R A p p l e S t u f f , T r a n s c e n d * ) 736 1 13 1 0 REPEAT 737 1 13 2 2 C a 1 c E r r = F a l s e ; 738 1 13 2 6 I I C u r r = 0.0; 739 1 13 2 18 11 Sum • 0.0: 740 1 13 2 30 V[1] =• Vst - Dv1*M*M; 741 1 13 2 62 V c e n t e r [ M ] := V [ 1 ] ; 742 1 13 2 86 G o t o x y ( 0 , 1 3 ) : 743 1 13 2 91 Wr1te(M:3.V[1]:10: 1) ; 744 1 13 2 120 V[0] = V[1] + Dv2 : 745 1 13 2 148 Node := 2: 746 1 13 2 152 WHILE (Node <= N s e c t l o n s ) AND NOT I n t r p t AND NOT C a l c E r r DO 747 1 13 4 17 1 V[Node := NextV(V[Node-2],V[Node- 1 ] ) : 748 1 13 4 218 IF C a l c E r r THEN Vst := Vst - Dv1 749 1 13 4 231 ELSE Node := Node + 1; 750 1 13 4 249 IF KeyPress THEN ReadKey; 751 1 13 3 258 END: 752 1 13 2 2G0 VTerm[0] V [ 1 ] ; 753 1 13 2 282 IF (NOT I n t r p t ) AND NOT C a l c E r r THEN BEGIN 754 1 13 4 293 Vd : = Vd1ode(V(NSect1on]); 755 13 4 314 ItermtM] := (Jm1s(Vd)*A-I 1Sum/Dy)/(L + A): CTi 756 13 4 365 Vtermfm] :» V[NSect1on] + Rtunne1 * ItermfM]*(L+A)/A 757 13 4 429 , PtermfM] : = - 1.OE-3*Iterm[M]*VTerm[M]; 758 13 4 477 Go t o x y ( 1 5 , 1 3 ) ; 759 13 4 482 Wr1te(Vterm[Mj:10:1.Iterm[M]:10 : D : 760 13 4 524 M : = M + 1 ; 76 1 13 3 532 END; ( • IF NOT I n t r p t *) 762 13 1 532 UNTIL (VTerm(M-1] < 0.0) OR (M > 50) OR I n t r p t ; 763 13 1 568 764 13 1 568 IF NOT I n t r p t THEN E n d C a l c ; 765 13 1 576 766 13 0 576 END; (* RunModel *) 767 13 0 614 768 17 D 1 PROCEDURE ClearL1nes(M1n,Max : I n t e g e r ) ; 769 17 D 3 770 17 0 3 VAR 77 1 17 D 3 I I n t e g e r ; 772 17 0 4 773 17 0 0 BEGIN 774 17 1 0 FOR I := Min TO Max DO BEGIN 775 17 3 1 1 G o t o x y ( 0 . I ) ; 776 17 3 16 W r 1 t e ( B l a n k ) ; 777 17 2 66 ENO; 778 17 0 73 END; (* C l e a r L i n e s *) 779 17 0 88 780 18 D 1 PROCEDURE Wr1teMessage(Message : M e s s T y p e ) ; 781 18 D 23 782 1 18 0 0 BEGIN 783 18 1 0 C1 e a r L 1 n e s ( 2 3 . 2 3 ) ; 784 18 1 9 G o t o x y ( 0 . 2 3 ) ; 785 1 18 1 14 W r 1 t e ( M e s s a g e , C h r ( 1 3 5 ) ) ; 786 1 18 0 33 ENO; (* W r i t e Message *) 787 1 18 0 46 788 1 19 D 1 PROCEDURE S e t P a r a m e t e r s : 789 19 D 1 790 1 19 0 0 BEGIN 791 1 19 1 0 C 1 e a r L 1 n e s ( 1 0 . 1 ) ; 792 1 19 1 4 Tpos := ( 4 0 - L e n g t h ( T 1 t 1 e ) ) DIV 2: 793 1 19 1 15 Gotoxy(TPos , 1 ) ; 794 1 19 1 22 W M t e ( T i t l e ) : 795 1 19 1 31 dphoto = Paramf 2 ] ; (* mA/cma2 *) 796 1 19 1 49 d c o n t a c t • Param[ 3 ] ; (* mA/cma2 *) 797 1 19 1 67 nMIS » Param( 4 ] ; 798 1 19 1 85 Na = Param[ 5 ] : ( * cma-3 *) 799 1 19 1 103 O o x i d e • Paramf 6] * Oe; (* C/cma2 *) 800 1 19 1 129 Sef f = Param( 7 ] ; (* cm/sec *) 801 19 1 147 FSpace » Paramf 8] * 1.OE-4; (* cm *) 802 19 1 173 FWldth = Paramf 9] * 1.0E-4; (* cm *) 803 19 1 199 NSect1 on = T r u n c f P a r a m f 1 0 ] ) ; (* H * ) 804 19 1 217 D v l = Paramf11]; (* mV *) 805 19 1 235 Dv2 = Paramf 12 ] : ( * mV *) 806 19 1 253 MaxErr = Paramf13] * 1.0E-2; (* a b s o l u t e * ) 807 • 1 19 1 279 On » Paramf14]; (* cma2/sec*) 808 1 19 1 297 Taun = Paramf 15] * 1. ©E-6 ; (* sec *) 809 19 1 323 Mobl11ty = Paramf1G]; (* cma2/V/s*) 810 1 19 : 1 34 1 R C o n t a c t :• Param[17j: / * ohm-cma2 *) 811 1 19 1 359 RTunnel := Param(18]; t * ohm-cma2 *) 812 1 19 : 1 377 TempK : = Param[19]; ( * Ke l v m *) 813 1 19 : 1 395 V s t :» P a r a m [ 2 0 J ; t * mV *) 814 1 19 1 413 KTq := KBo1tz * TempK; ( * mV *) 815 1 19 1 430 Nt » NcNv*Exp(Eg/KTq/2.0); ( * cm-3 •) 816 1 19 1 465 NISq = NI*N1; ( * cm-6 *) 817 1 19 1 48 1 C1 = 2.0*EpsS1*Qe*Na* 1 .0E-3: t * Ca2/mV/cma4*) 818 1 19 1 521 C2 = 2.0*EpsS1/Qe/Na*1.0E-3: ( * cma2/mV *) 819 1 19 1 56 1 C3 « KTq*Qe'EpsS1*1.0E-3; ( * Ca2/cm *) 820 1 19 1 595 JO Id • Qe*N1Sq/Na*Sqrt(Dn/Taun) *1.0E3;(* mA/cma2 *) 821 1 19 1 643 JORec = Qe*Nl/Taun*1.0E3; mA/cma3 •) 822 1 19 1 673 PsIB = 2.0*KTq*Ln(Na/N1); t * mV •) 823 1 19 1 707 OoxSq = Qoxlde*Qoxide/C3; I * A b s o l u t e *) 824 1 19 1 729 L = FSpace/2.0; / * cm *) 825 1 19 1 747 A = FW1dth/2.0; ( * cm •) 826 1 19 1 765 MaxVerr:= MaxErr * 100.0: ( * mV *) 827 1 19 1 783 UOsurf = J s u r f ( O ) ; t * mA/cma2 *) 828 1 19 1 794 Dy = (L-A) / N S e c t l o n ; t * cm *) 829 1 19 0 815 END: (* Set Parameters *) 830 1 19 0 828 831 19 o . 828 832 1 19 0 828 833 1 20 D 1 PROCEDURE G e t D e f a u l t F l l e : 834 1 20 D 1 835 20 0 0 BEGIN 836 20 1 0 DfltName :- ' ILCELL.DFLTS'; 837 20 1 20 Re s e t ( D f 1 t F 1 1 e , D f 1 t N a m e ) ; 838 20 1 31 IF I O r e s u l t <> 0 THEN BEGIN 839 20 3 37 REPEAT 840 20 4 37 C l o s e ( D f 1 t F 1 l e ) ; 841 20 4 44 G o t o x y ( 0 . 5 ) ; 842 20 4 49 W r 1 t e l n ( ' c a n ' ' t f i n d ILCELL parameter f i l e ' ); 843 20 4 97 W r 1 t e 1 n ( ' e n t e r parameter f i l e name • ' ): 844 1 20 4 139 Wr1te('>> ' ) : 845 20 4 177 G o t o x y ( 3 , 7 ) ; 846 20 4 182 Readln(Df1tName); 847 20 4 198 C l e a r L 1 n e s ( 5 . 7 ) ; 848 1 20 4 202 R e s e t ( D f 1 t F l 1 e , D f 1 t N a m e ) : 849 1 20 3 213 UNTIL I O r e s u l t = 0; 850 1 20- 2 219 END: 851 1 20: 0 219 END; (* Get Parameter F i l e *) 852 1 20- 0 236 853 1 21 D 1 PROCEDURE I n i t i a l i z e ; 854 1 21 • D 1 855 1 21 0 0 BEGIN 856 1 21 1 0 P a g e ( O u t p u t ) : 857 1 21 1 8 Q u i e t : = True: 858 1 21 : 1 12 Qui t » Fa 1se; 859 1 21 • 1 16 DataSaved :• F a l s e ; 860 1 21 : 1 20 I n t r p t := Fa 1se; 861 1 21 : 1 24 Pause := F a l s e : 862 21 1 28 NoDataF11e:= True: 863 21 1 32 F i n i s h e d := F a l s e : 864 1 21 • 1 36 DataName :» 'nodataf 11e'; 865 1 21 : 1 54 M : =» 1 : 866 1 21 : 1 58 P01 := 0.0: 867 1 21 : 1 70 P e r r := 0.0; 868 1 21 . 1 82 I t e r := 0; 869 1 21 : 1 86 G o t o x y ( 3 , 0 ) ; 870 1 21 • 1 91 W M t e l n C * * * INVERSION LAYER CELL MODEL ***' ) 871 1 21 1 141 GetDef a u l tF H e ; 872 1 21 1 143 I n l t P a r 1 ; 873 1 21 1 146 I n i t P a r 2 : 874 f 21 1 149 S e t S r c e F 1 1 e ; 875 1 21 1 151 G o t o x y ( 0 , 3 ) ; 876 1 21 1 156 W M t e l n ( B l k s p . 'C> change model p a r a m e t e r s ' ) : 877 1 21 1 218 Wr1te1n(Blksp,'B> beg 1n r u n ' ) ; 878 1 21 1 266 W r l t e l n f B l k s p , ' R > resume r u n ' ): 879 I 21 1 315 Wr1teln(B1ksp.'I> c a l l I v g r l d program') 880 21 1 373 WM teln(B1ksp,'G> g r a p h r e s u I t s ' ) ; 881 1 21 1 425 WMteln(B1ksp.'S> save dat a to f i l e ' ) ; 882 1 21 1 482 W M t e l n ( B l k s p . ' P > p r 1 n t d a t a ' ) : 883 1 21 1 531 W M t e l n ( B l k s p , ' 0 > qu 1t program'); 884 1 21 1 582 GotoxyCO,11); 885 1 21 1 587 Wr1te1n('po1nt v c e n t e r v t e r m i n a l 1 term 1na1 886 1 21 1 642 W M t e l n C # (mv) (mv) (ma ) ): 887 1 21 1 694 Gotoxy(0,15) ; 888 21 1 '699 W r l t e 1 n ( ' n o d e v(node) v(node+1) v drop') 889 21 1 752 W M t e l n C # (mv) (mv) (mv) ' ): 890 21 1 804 GotoxyCO,19); 891 21 1 809 W M t e l n ( ' I t e r p01 p e r r o r ' ) ; 892 21 1 858 E n t e r D e f a u l t s ; 893 1 21 1 861 S e t P a r a m e t e r s ; 894 1 21 1 863 VtermfO] := V s t ; 895 21 0 879 END; (* I n i t i a l i z e *) 896 1 21 0 892 897 1 21 0 892 898 1 1 0 O BEGIN (* I L C e l l Model *) 899 1 1 1 0 Inl11 a 1Ize; 900 1 1 1 52 901 1 1 1 52 REPEAT 902 1 1 2 52 I n t r p t := f a l s e ; 903 1 1 2 56 Gotoxy(3,2 ); 904 1 1 2 61 WM t e ( ' s e l e c t o p t i o n : ' . Chr ( 135 ) ) ; 905 1 1 2 99 G o t o x y ( 1 9 , 2 ) ; 906 1 1 2 104 Read(Source,Opt Ion) ; 907 1 1 : 2 113 Case O p t i o n OF 908 1 1 • 2 118 ' C , ' C : BEGIN 909 1 1 : 4 1 18 ChangeParameters; 910 1 1 • 4 121 S e t P a r a m e t e r s ; 911 1 1 : 3 123 END: 912 1 1 : 2 125 'B'.'•' : BEGIN 913 1 1 : 4 125 DataSaved := F a l s e ; 914 1 1 • 4 129 F i n i s h e d := F a l s e : 915 1 1 4 133 DateandT1me(Beg 1nT1 me): 916 1 1 4 138 M : = 1 ; 917 1 4 142 RunMode1; 918 1 1 3 144 END; RjnModel: 919 1 1 2 146 ' R ' . ' r ' 920 1 1 2 150 ' G' . '9' •• BEGIN 921 1 1 4 150 IF NOT DataSaved THEN SaveData; 922 1 1 4 159 SetCVal(DataName); 923 1 1 4 165 SetCha1n('PLOTGRAPH'); 924 1 1 4 180 Ou1t True; 925 1 1 3 184 ENO: 926 1 1 2 186 'S' , ' s' SaveData; 927 1 1 2 191 'P' , ' P ' •• P r i n t D a t a ; 928 1 1 2 196 ' I ' . ' 1 ' : BEGIN 929 1 1 4 196 IF NOT DataSaved THEN SaveData: 930 1 1 4 205 SetCVal(DataName); 931 1 1 4 211 5etCha1n('ILGRID'); 932 1 1 4 223 Q u i t := True: 933 1 1 3 227 END; 934 1 1 2 229 '0' . 'q' : IF NOT DataSaved THEN BEGIN 935 1 1 5 235 Wr1teMessage('data not saved! Q u i t anyway? 936 1 1 5 269 Read(Source,Opt 1 on); 937 1 1 5 278 IF ( O p t i o n = 'y') OR ( O p t i o n = ' Y ' ) THEN 938 1 1 6 291 Q u i t : =• True; 939 1 1 4 295 END ELSE Q u i t := True; 940 1 1 2 303 END: (* CASE *) 941 1 1 1 410 UNTIL Q u i t : 942 1 1 1 415 943 1 1 1 415 Wr1teMessage( 'save model p a r a m e t e r s ? ( Y / N ) ' ) ; 944 1 1 1 448 Read(Source,Opt1on) ; 945 1 1 1 457 IF ( O p t i o n = 'y') OR ( O p t i o n = 'Y') THEN S a v e D e f a u l t s 946 1 1 1 470 ELSE C l o s e ( D f 1 t F 1 l e ) ; 947 1 1 1 482 C 1 o s e ( D a t a F H e , Crunch) ; 948 1 1 1 489 C l o s e ( S o u r c e ) 949 1 1 0 496 END. NJ O 221 B . l . l I l G r i d - Two-Dimensional C o l l e c t i o n G r i d Model The o r g a n i z a t o n of the c o l l e c t i o n g r i d model program i s very s i m i l a r to that of I l C e l l except f o r the need of a f i l e c o n t a i n i n g the one-dimensional I-V c h a r a c t e r i s t i c c a l c u l a t e d by the I l C e l l program. The program i s invoked by ex e c u t i n g the f i l e ILGRID found on the d i s k MODEL:. The program begins by l o o k i n g f o r the model parameters f i l e GRPARM.TEXT. I f t h i s f i l e i s not present, the user i s r e q u i r e d to enter the name of a model parameters f i l e . The user i s then requested to enter the name of a source f i l e . P r e s s i n g RETURN at t h i s p o i n t causes the program to take input from the keyboard as with I l C e l l . The screen d i s p l a y of I l G r i d i s very s i m i l a r to that of I l C e l l and a l l the main menu opt i o n s of I l C e l l are a l s o a v a i l a b l e here. The o p e r a t i o n of the C> Change Parameters, S> Save Data to F i l e , P> P r i n t Data, and Q> Quit Program o p t i o n s are e s s e n t i a l l y the same as f o r I l C e l l . I l G r i d has o n l y the s i n g l e R> Run Model o p t i o n which always begins the c a l c u l a t i o n from the beginning. There i s l i t t l e need f o r a R> Resume Run o p t i o n s i n c e I l G r i d does not have the convergence problems found i n I l C e l l . I l G r i d has on a d d i t i o n a l o p t i o n : I> Input 1-Dim I-V Data which gets the name of a data f i l e generated by I l C e l l from the user and reads i n the c a l c u l a t e d I-V c h a r a c t e r i s t i c . The o p t i o n must be executed before the model can be run. The I l G r i d model uses a completely separate set of model parameters from the I l C e l l c a l c u l a t i o n and there i s no check that the parameters used f o r the two c a l c u l a t i o n s are c o n s i s t e n t . I t 222 i s up to the user to ensure that the f i n g e r width and spacing parameters used by both models are the same. A l i s t i n g of the I l G r i d program f o l l o w s . 1 1 1 :D 1 (*$L MTS:GR.LST.TEXT*) 2 1 1 D 1 PROGRAM C o l l G r l d ; 3 1 1 0 3 4 1 1 D 3 (*$S+») 5 1 1 0 3 6 1 1 D 3 (*$N+*) (* Don't l o a d u n i t s u n t i l needed *) 7 1 1 0 3 8 1 1 D 3 (* C o l l e c t i o n G r i d model. 9 1 1 D 3 V e r s i o n 5. 10 1 1 D 3 C a l c u l a t i o n o f e f f e c t of c o l l e c t i o n g r i d on I n v e r s i o n 11 1 1 D 3 pe r f o r m a n c e . R e c t a n g u l a r geometry o n l y Is m o d e l l e d . 12 1 1 0 3 13 1 1 0 3 W r i t t e n by D a n i e l Camporese. 14 1 1 0 3 W r i t t e n f o r Apple Computer - Nov. 1983. *) 15 1 1 0 3 16 28 1 D 3 17 28 2 D 1 PROCEDURE SETCHAIN(TYTLE:STRING); 18 28 3 D 1 PROCEDURE SETCVAL(VAL:STRING); 19 28 4 D 1 PROCEDURE GETCVAL(VAR VAL:STRING); 20 28 5 D 1 PROCEDURE SWAPON; 21 28 6 0 1 PROCEDURE SWAPOFF; 22 28 6 0 1 23 22 1 D 1 24 22 1 • 3 25 22 2 D 3 FUNCTION PADDLE(SELECT: INTEGER): INTEGER; 26 22 3 0 3 FUNCTION BUTTON(SELECT: INTEGER): BOOLEAN; 27 22 4 0 1 PROCEDURE TTLOUT(SELECT: INTEGER; DATA: BOOLEAN); 28 22 5 D 3 FUNCTION KEYPRESS: BOOLEAN; 29 22 6 D 3 FUNCTION RANDOM: INTEGER; 30 22 7 0 1 PROCEDURE RANDOMIZE: 31 22 8 0 1 PROCEDURE NOTE(PITCH,DURATION: INTEGER): 32 22 8 0 3 33 29 1 D 3 34 29 2 D 3 FUNCTION SIN(X:REAL):REAL: 35 29 3 0 3 FUNCTION COS(X:REAL):REAL; 36 29 4 D 3 FUNCTION EXP(X:REAL):REAL: 37 2$ 5 D 3 FUNCTION ATAN(X:REALi:REAL; 38 29 6 0 3 FUNCTION LN(X:REAL):REAL: 39 29 • 7 0 3 FUNCTION LOG(X:REAL):REAL; 40 29 8 0 3 FUNCTION SORT(X:REAL):REAL: 41 29 8 D 5 42 24 1 D 5 1 43 24 1 D 3 44 24 2 0 3 FUNCTION Ana1ogIn(Channe1, 45 24 2 D 3 SampleNumber : I n t e g e r ) : R e a l ; 46 24 2 D 5 47 24 2 D 5 48 24 3 D 1 PROCEDURE AnalogOut(Channel : I n t e g e r ; 49 24 3 0 2 V o l t a g e : R e a l ) ; 50 24 3 D 4 FUNCTION Frequency(Channel : I n t e g e r ; 51 24 4 0 3 52 24 4 D 4 VAR GateTlme : I n t e g e r ) : R e a l ; 53 24 4 D 5 54 24 5 .D 1 PROCEDURE SoundBeepfTImes : I n t e g e r ) : 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 24 24 24 24 24 24 24 24 24 24 24 24 24 24 24 5 6 6 7 7 8 8 9 9 10 10 11 11 12 12 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 1 2 1 2 1 4 1 3 1 4 1 3 3 3 1 2 2 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 3 44 65 66 107 155 290 365 380 410 420 424 434 446 456 461 466 976 1879 2180 2185 2189 2191 PROCEDURE SoundBuzz(TImes : I n t e g e r ) ; PROCEDURE SetOate(Year.Month,Day : I n t e g e r ) ; PROCEDURE Set T l m e ( H o u r . M i n u t e : I n t e g e r ) ; PROCEDURE ReadDatE(VAR Year.Month.Day : I n t e g e r ) ; PROCEDURE ReadTlme(VAR Hour,Minute : I n t e g e r ) ; FUNCTION C l k S e c o n d s : I n t e g e r ; - PROCEDURE DateandT1me(VAR O T S t r l n g : S t r i n g ) ; USES C h a l n S t u f f , A p p l e S t u f f . T r a n s c e n d . C y b o r g ; CONST MaxParm" kTq B l k s p BI ank 15; 25.85; TYPE O u t B u f f e r • ARRAY(0..50] OF R e a l ; P a r S t r l n g • S t r 1 n g [ 1 7 ] ; U n l t S t r l n g « S t r 1 n g [ 9 ] ; MessType • S t r i n g l 4 0 ) ; VAR Dummy T i t l e Tpos InputName Of 1tName.SrceName,DataName ParName U n i t s PDeclmal Param L f I n g e r , S f I n g e r , W f i n g e r , T f 1 n g e r . R h o Wbusbar,Tbusbar F S p a c e , F W i d t h , R f i n g e r , R b u s b a r , A r e a D v l , D v 2 , P e r E r r . R c o n t a c t , J c o n t a c t , P o w e r Vopen,Vst,ff.nMIS.RBack N S e c t l o n . N P o l n t s . N f i n g e r s , M , N 1 D Year,Month.Day,Hour,M1nute Vterm,Iterm.Pterm.VIn,I In D f 1 t F I l e . D a t a F l i e . I n p u t F 1 1 e S o u r c e P a u s e . I n t r p t . D a t a S a v e d . N o D a t a F 1 1 e . Q u i t N o I D D a t a . F I n g e r C a I c e d , F 1 n l s h e d , O u l e t Response.Opt 1 on S t r i n g ; MessType; I n t e g e r ; S t r i n g ; S t r 1 n g [ 3 0 ] ; ARRAY[1..MaxParm] OF P a r S t r l n g ; ARRAY[1..MaxParm] OF U n l t S t r l n g ; ARRAY[1..MaxParm j OF I n t e g e r ; ARRAYf1..MaxParm] OF R e a l ; Real Rea 1 Rea 1 Real Real I n t e g e r ; I n t e g e r ; O u t B u f f e r : Text; I n t e r a c t I v e ; B o o l e a n ; Boo 1ean; Char; ro ro 109 1 2 :D 1 PROCEDURE ReadlDData; 110 1 2 D 1 FORWARD; 11 1 1 2 D 1 111 1 2 D 1 (*$I GRSEGM.TEXT*) 112 1 2 D 1 113 7 1 0 1 SEGMENT PROCEDURE I n l t P a M ; 114 7 1 0 1 115 7 1 0 0 BEGIN 1 16 7 1 1 0 ParNamef1] ' T i t l e ' 117 7 1 1 33 Un 1 t s [ 1] 1 * . 1 18 7 1 1 49 P d e d m a l [ 1 ] 0; ' 1 19 7 1 1 62 ParNamef2] 'Metal R e s i s t i v i t y ' 120 7 1 1 95 U n 1 t s [ 2 ] ' uohm-cm'; 121 7 1 1 119 P D e c l m a l [ 2 ] 2; 122 7 1 1 132 ParNamef 3] ' F 1nger Th1ckness.' 123 7 1 1 165 U n l t s ( 3 ] ' m1crons'; 124 7 1 1 189 P D e c l m a l [ 3 ] 3: 125 7 1 1 202 ParName[4] 'Bus Bar T h i c k n e s s ' 126 7 1 1 235 U n 1 t s [ 4 ] ' m i c r o n s ' ; 127 7 1 1 259 Pdec1ma 1{4] 3; 128 7 1 1 272 ParNamef 5] ' F1nger Spac1ng...' 129 7 1 1 305 U n 1 t s [ 5 ] ' m i c r o n s ' ; 130 7 1 1 329 P d e c l m a l [ 5 ] 1; 131 7 1 1 342 ParNamef6] ' F i n g e r Width ' 132 7 . 1 1 375 U n 1 t s [ 6 ] ' m i c r o n s ' ; 133 7 1 1 399 P D e c l m a l f 6 ] 1; 134 7 1 1 412 ParNamef 7] ' F i n g e r L e n g t h . . . . ' 135 7 1 1 445 U n 1 t s [ 7 j ' m i c r o n s ' ; 136 7 1 1 469 P D e c l m a l f 7 ] 1; 137 7 1 1 482 ParNamef8] 'Bus Bar Width. 138 7 1 1 515 U n 1 t s [ 8 ] ' m i c r o n s ' ; 139 7 1 1 539 P D e c l m a l f 8 ] 1; 140 • 7 1 1 552 ParName(9] 'Number of F i n g e r s ' 141 7 1 1 585 U n 1 t s f 9 ] 1 t m 142 7 1 1 601 P D e c l m a l [ 9 J 1; 143 7 1 1 614 ParNamef10] « 'No. o f S e c t i o n s . . 144 7 1 1 647 U n l t s f 1 0 ] " ' ' ; 145 7 1 1 663 P D e c l m a l f 1 0 ] « 1:' 146 7 i 0 676 END; (* I n l t Parm 1 •) 147 7 1 • o 688 148 8 1 D 1 SEGMENT PROCEDURE In1tPar2; 149 8 1 D 1 150 8 1 0 0 BEGIN 151 8 1 1 0 ParNamef11] tt 'V Dec a t F I n g e r . . ' 152 8 1 1 33 U n l t s f 1 1 ] B ' mV; 153 8 1 • 1 52 P D e c l m a l [ 1 1 ] 9 4; 154 8 1 1 65 ParNamef12] a 'V Dec a t Bus B a r . ' 155 8 1 1 98 U n l t s f 1 2 ] 9 ' mV ; 156 8 1 . 1 1 17 P D e c l m a l f 1 2 ] a 4; 157 8 1 : 1 130 ParNamef13] • n ' S t a r t i n g V o l t a g e . ' 158 8 1 : 1 163 P D e c l m a l [ 1 3 ] : * 1; 159 8 1 : 1 176 U n 1 t s [ 1 3 ] : ' mV ; 160 8 1 • 1 195 ParName[14] 'MIS Dark C u r r e n t . ' 16 1 8 1 1 228 U n 1 t s [ 1 4 ] ' mA/cma2'; 162 8 1 : 1 252 P D e d m a l (14]:« 0: 163 8 1 • 1 265 Parname[15] :• 'MIS n f a c t o r '; 164 8 1 1 298 U n 1 t s [ 1 5 ] :» " ; 165 8 1 1 314 P d e c l m a l [ 1 5 ] : • 2: 166 8 1 0 327 END; (* I n l t l t l a l l z e P a rameters *) 167 8 1 0 340 168 9 1 D 1 SEGMENT PROCEDURE ChangeParameters; 169 9 1 D 1 170 9 1 0 1 CONST 171 9 1 D 1 Ppos • 59; 172 9 1 0 1 173 9 1 0 1 VAR 174 9 1 0 1 ParNum : I n t e g e r ; 175 9 1 D 2 P a r c h r : Char; 176 9 1 0 3 P a r P o s l t l o n : I n t e g e r ; 177 9 1 0 4 Ch : Char; 178 9 1 D 5 179 9 1 0 0 BEGIN 180 9 1 1. 0 G o t o x y ( 1 5 . 2 3 ) ; 181 9 1 1 5 W r 1 t e ( ' p r e s s CTRL-Z'); 182 9 1 1 27 REPEAT 183 9 1 2 27 REPEAT 184 9 1 3 27 Go t o x y ( 4 0 . 2 ) ; 185 9 1 3 32 Wr1te('change which parameter? <CR> t o a c c e p t 186 9 1 3 82 G o t o x y ( 7 9 . 2 ) ; 187 9 1 3 87 ReaoK S o u r c e , P a r c h r ) ; 188 9 1 3 95 Parnum :« O r d ( P a r c h r ) - O r d ( ' A ' ) + 1 ; 189 9 1 3 102 IF Parnum > 26 THEN ParNum :« ParNum-32; 190 9 1 3 112 IF O r d ( P a r c h r ) » 32 THEN ParNum := 0; 191 9 1 2 120 UNTIL (ParNum >- 0) AND (ParNum <» MaxParm); 192 9 1 2 129 193 9 1 2 129 IF (Parnum > 0) AND (Parnum <« Parnum) THEN BEGIN 194 9 1 4 138 P a r P o s l t l o n := Parnum + 3; 195 9 1 4 143 G o t o x y ( P p o s , P a r P o s 1 t I o n ) ; 196 9 1 4 148 IF (ParNum = 1) THEN BEGIN 197 9 1 • 6 153 w n t e C ' ) ; 198 9 1 . 6 184 G o t o X y ( P P o s , P a r P o s l t l o n ) ; 199 9 1 : 6 189 R e a d l n ( S o u r c e . T l t l e ) ; 200 9 1 • 5 204 END ELSE BEGIN 201 9 1 : 6 206 Wr1te(' ' ) ; 202 9 1 • 6 228 G o t o x y ( P p o s . P a r P o s 1 t I o n ) ; 203 9 1 : 6 233 Read1n(Source,ParAm[Parnum]); 204 9 1 : 6 256 Gotoxy(Ppos,ParPos 11Ion); 205 9 1 : 6 261 Wr \ te(ParAm[Parnum] : 12 : P D e d m a l [ Parnum ] ) ; 206 9 1 : 5 293 END; (* ELSE *) 207 9 1 : 4 293 IF ParNum IN [2.3.5,6.7.10.14.15,16] THEN 208 9 1 : 5 304 F l n g e r C a l c e d := F a l s e ; 209 9 1 : 3 308 END; (* IF (Parnum *) 210 9 1 : 1 308 UNTIL ParNum » 0; 211 9 1 : 1 313 212 9 1 : 1 313 Go t o x y ( 1 5 , 2 3 ) ; 213 9 1 : 1 318 w n t e ( ' ' ) : 214 9 1 : 0 340 END: (* Change Parameters *) 215 9 1 • O 358 216 10 1 0 1 SEGMENT PROCEDURE E n t e r D e f a u l t s ; 217 10 1 D 1 218 10 1 0 1 CONST 219 10 1 0 1 Xpos • 40; 220 10 1 D 1 221 10 1 D 1 VAR 222 10 1 D 1 Y : I n t e g e r ; 223 10 1 D 2 N : I n t e g e r ; 224 10 1 0 3 225 10 1 0 0 BEGIN 226 10 1 1 0 G o t o x y ( 4 6 , 0 ) ; 227 10 1 1 5 W r1te('*** MODEL PARAMETERS * * * ' ) ; 228 10 1 1 39 Readln(Df1tF11e,Dummy); 229 10 1 1 54 R e a d l n ( D f 1 t F I l e . T I t 1 e ) ; 230 10 1 1 69 G o t o x y ( X p o s , 4 ) ; 231 10 1 1 74 W r 1 t e ( ' A > ' , P a r N a m e f 1 ] , T i t l e ) ; 232 10 1 1 113 FOR N := 2 TO MaxParm DO BEGIN 233 10 1 3 124 R e a d l n ( D f 1 t F l i e , P a r a m f N ] ) ; 234 10 1 3 147 Y :• N + 3; 235 10 1 3 152 G o t o x y ( X p o s . Y ) ; 236 10 1 3 157 W r 1 t e ( C h r ( N + 64).'>',ParNamefN],ParamfN]: 237 10 . 1 2 243 END; (• FOR N *) 238 10 1 1 250 G o t o x y ( X p o s , 2 3 ) ; 239 10 1 1 255 W r 1 t e ( ' d e f a u l t s f i l e : ' .DfltName); 240 10 1 1 296 C l o s e ( D f 1 t F l i e ) ; 241 10 1 0 303 END; (* E n t e r Parameters *) 242 10 1 0 318 243 11 1 0 1 SEGMENT PROCEDURE SaveDefau1ts; 244 11 1 0 1 245 11 1 0 1 VAR 246 11 1 0 1 GoodName : B o o l e a n ; 247 11 1 D 2 I : I n t e g e r ; 248 11 1 D 3 249 11 1 0 0 BEGIN 250 11 1 1 0 GoodName :« True; 251 11 1 1 3 G o t o x y ( 0 . 2 3 ) ; 252 1 1 1 1 8 W r l t e ( B l a n k ) ; 253 11 1 1 58 G o t o x y ( 0 . 2 3 ) ; 254 11 1 1 63 W r 1 t e ( ' s a v e as : ',Df1tName,'(Y/N) ' ) ; 255 11 1 1 109 Read(Sou r c e . R e s p o n s e ) ; 256 11 1 1 118 IF (Response =» 'y') OR (Response = 'Y') THEN 257 11 1 131 R e s e t ( 0 f 1 t F 1 1 e , D f l t N a m e ) 258 11 1 1 142 ELSE BEGIN 259 11 1 1 144 260 11 1 3 144 REPEAT 261 11 1 4 144 G o t o x y ( 0 . 2 2 ) ; 262 11 1 4 149 Wr1te('save as? 263 11 1 4 206 Gotoxy(9,22) ; 264 11 1 4 211 Readln(Source,Df1tName); 265 11 1 4 227 GoodName := Length(Df1tName) > 0; 266 11 1 4 236 IF GoodName THEN 267 11 1 5 239 R e w r 1 t e ( D f 1 t F I l e , D f l t N a m e ) ; 268 11 1 3 250 UNTIL ( I O R e s u l t = 0) OR NOT GoodName; 269 11 1 3 259 rO 270 1 1 1 2 259 END; (• IF..THEN..ELSE *) 271 1 1 1 2 259 272 1 1 1 1 259 IP GoodName THEN BEGIN 273 1 1 1 3 262 Wr1te1n(Df1tFlie.Dummy); 274 1 1 1 3 277 Wr1tel n ( D f l t F 1 1 e . T i t l e ) ; 275 1 1 1 3 292 FOR I :- 2 TO MaxParm DO 27S 1 1 1 4 303 Wr 1 t e 1 n ( 0 f U F l l e . P a r a m t I ] ) ; 277 1 1 1 3 337 C 1 o s e ( D f 1 t F l i e . C r u n c h ) : 278 1 1 1 2 344 END; (* IF Good Name *) 279 1 1 1 0 344 END; (* Save D e f a u l t s *) 280 1 1 1 0 360 281 12 1 D 1 SEGMENT PROCEDURE P M n t D a t a ; 282 12 1 D 1 283 12 1 D 1 TYPE 284 12 1 D 1 T l m e S t r - S t r 1 n g [ 2 3 ] ; 285 12 1 D 1 286 12 1 0 1 VAR 287 12 1 D 1 P r t r : T e x t ; 288 12 1 0 302 I I n t e g e r ; 289 12 1 D 303 T Ime T l m e S t r ; 290 12 1 D 315 291 12 2 0 1 PROCEDURE DateandTlme(VAR DandT : T l m e S t r ; 292 12 2 0 2 Year.Month,Day,Hour.Minute 293 12 2 D 7 294 12 2 0 7 295 12 2 D 7 VAR 296 12 2 0 7 NumbStr : S t r 1 n g [ 9 ] ; 297 12 2 0 12 T s t r : S t r 1 n g [ 5 ] ; 298 12 2 0 15 D S t r : S t r 1 n g [ 4 ] ; 299 12 2 0 18 300 12 2 0 0 BEGIN 301 12 2 1 0 S t r ( 1 0 0 * H o u r + M i n u t e , T S t r ) ; 302 12 2 1 16 I n s e r t ( ' : ' , T s t r , L e n g t h ( T s t r ) - 1 ) ; 303 12 2 1 32 IF Hour » 0 THEN T s t r : » C o n c a t ( ' 0 ' , T s t r ) ; 304 12 2 1 64 CASE Month OF 305 12 2 1 67 1 : D s t r = 'Jan. ' 306 12 2 1 80 2 : D s t r « 'Feb.' 307 12 2 1 93 3 : D s t r « 'Mar.' 308 12 2 1 106 4 : D s t r » 'Apr.' 309 12 2 1 119 5 : D s t r « 'May'; 310 12 2 1 131 6 : D s t r » 'June' 311 12 2 1 144 7 : D s t r » ' J u l y ' 312 12 2 1 157 8 : D s t r « 'Aug.' 313 12 2 1 170 9 : D s t r • 'Sep.' 314 12 2 1 183 10 : D s t r » 'Oct.' 315 12 2 1 196 1 1 : D s t r = 'Nov.' 316 12 2 1 209 12 : D s t r • 'Dec. ' 317 12 2 1 222 END; (* CASE *) 318 12 2 1 254 Str(100*Day+Year,NumbStr); 319 12 2 1 270 I n s e r t ( ' , 19 .NumbStr,Length(NumbStr)- 1); 320 12 2 1 289 DandT :» C o n c a t ( T s t r . ' . D s t r , ' '.NumbStr,' 321 12 2 0 352 END; (* Date and Time *) 322 12 2 0 368 323 12 1 0 0 BEGIN I n t e g e r ) ; N> M Co 324 12 1 0 0 (*$R CYBORG*) 325 12 1 1 0 R e w r 1 t e ( P r t r , ' P r I n t e r : ' ) ; 326 12 1 1 32 P a g e ( P r t r ) : 327 12 1 1 39 (* W r 1 t e 1 n ( P r t r . ' *** S o l a r C e l l G r i d C o l l e c t i o n Model * * * ' ) ; 328 12 1 1 39 Da teandT1me(T1me.Year.Mont h,Day.Hour,M1nute); 329 12 1 1 39 W r 1 t e l n ( P r t r , ' Job b e g i n s a t '.Time): *) 330 12 1 1 39 W r 1 t e l n ( P r t r . T i t l e ) : 331 12 1 1 52 , W M t e l n ( P r t r ) ; 332 12 1 1 57 (* W M t e l n ( P r t r . ' M o d e l P a r a m e t e r s : ' ) ; 333 12 1 1 57 W M t e l n ( P r t r ) ; 334 12 1 1 57 FOR I :- 2 TO MaxParm DO WM t e l n( P r t r , ' '.ParNamet I ] ,Param[ I ] : 12: PDedmal [ I ] ,Un1 t s [ I ] ) ; 335 12 1 1 57 336 12 1 1 57 W r l t e l n ( P r t r ) ; *) 337 12 1 1 57 Wr1teln(Prtr.'0ne-D1mens1ona1 I-V F i l e : ',InputName); 338 12 1 1 105 W r l t e l n ( P r t r ) ; 339 12 1 1 110 W r 1 t e l n ( P r t r . 340 12 1 1 110 ' T e r m i n a l V o l t a g e T e r m i n a l C u r r e n t Power'); 341 12 1 1 168 W r 1 t e l n ( P r t r , 342 12 1 1 168 (mV) (mA) (mW)'); 343 12 1 1 226 (* FOR I :« 1 TO N p o m t s DO 344 12 1 i 226 W r l t e 1 n ( P r t r . V t e r m [ I ] : 1 2 : 1 . I t e r m f I ] : 1 7 : 2 . P t e r m ( I J : 1 4 : 2 ) ; *) 345 12 1 1 226 W r 1 t e l n ( P r t r , V t e r m [ N P o 1 n t s ] : 1 2 : 1 . I t e r m [ N P o 1 n t s ] : 1 7 : 2 , P t e r m f N P o l n t s ] 346 12 1 1 291 Wr U e l n ( P r t r ) ; 347 12 1 1 296 W r 1 t e l n ( P r t r , ' Voc • '.Vopen:5:1,' mV , f f » ' , f f : 5 : 3 . 348 12 1 1 362 ' , Pmax » ' .Power :6:2..' mW'); 349 12 1 1 411 W r l t e l n ( P r t r ) ; 350 12 1 1 416 IF DataSaved THEN 351 12 1 2 421 W r 1 t e 1 n ( P r t r . ' Data s a v e d 1n : '.DataName): 352 12 1 2 476 (* ReadTIme(Hour.Minute); 353 12 1 2 476 ReadDate(Year,month.Day); 354 12 1 2 476 DateandT1me(Time,Year.Month.Day.Hour.Minute): 355 12 1 2 476 W r l t e l n ( P r t r ) ; 356 12 1 2 476 W r 1 t e l n ( P r t r , ' Job ends a t '.Time); *) 357 12 1 0 476 END; (* P r i n t Data *) 358 12 1 0 508 (*$I GRSEGM.TEXT*) 359 12 1 0 508 360 13 1 0 1 SEGMENT PROCEDURE S e t D a t a F l l e ; 361 13 1 D 1 362 13 1 0 1 VAR 363 13 1 D 1 G o o d F l l e : Boolean; 364 13 1 D 2 N o F l l e : B o o l e a n : 365 13 1 0 3 366 13 1 0 0 BEGIN 367 13 1 1 0 G o t o x y ( 0 . 2 0 ) ; 368 13 1 1 5 W r 1 t e ( ' e n t e r d a t a f11e name: ' ) ; 369 13 1 1 37 370 13 1 1 37 REPEAT 371 13 1 2 37 G o o d F l l e :» F a l s e ; 372 13 1 2 40 G o t o x y ( 0 , 2 1 ) : 373 13 1 2 45 W r 1 t e ( B l a n k ) ; 374 13 1 2 95 G o t o x y ( 2 2 . 2 0 ) ; 375 13 1 2 10O Wr1te(' ' ) ; 376 13 1 2 127 G o t o x y ( 2 2 . 2 0 ) ; 377 13 1 2 132 Readln(Source,DataName); 378 13 1 :2 147 Res e t ( D a t a F 1 l e . D a t a N a m e ) ; 379 13 1 :2 157 N o F l l e :» I O R e s u l t <> 0: 380 13 1 :2 163 • IF NOT N o F l l e THEN BEGIN 381 13 1 :4 167 W r 1 t e ( ' f 1 1 e a l r e a d y e x i s t s , o v e r w r 1 t e ( Y / N ) 7 ' ) ; 382 13 1 •4 213 Re a d ( S o u r c e . R e s p o n s e ) ; 383 13 1 •4 222 'IF (Response « 'y') OR (Response • 'Y') THEN 384 13 1 •5 235 N o F l i e :» True; 385 13 1 •3 238 END: (* IF NOT G o o d F l l e *) 386 13 1 •2 238 C l o s e ( D a t a F l l e ) ; 387 13 1 2 245 IF Nof11e THEN BEGIN 388 13 1 4 248 Re w r 1 t e ( D a t a F l i e , D a t a N a m e ) ; 389 13 1 4 258 G o o d F l l e :* I O R e s u l t « 0: 390 13 1 4 264 IF NOT G o o d F l l e THEN BEGIN 391 13 1 6 268 GotoxyCO.22); 392 13 1 6 273 W r 1 t e ( ' c a n ' ' t open t h i s f i l e ' ) ; 393 13 1 6 303 C l o s e ( D a t a F t i e ) ; 394 13 1 5 310 END ELSE N o D a t a F l I e :» F a l s e ; 395 13 1 3 316 END; (* IF G o o d F l l e *) 396 13 1 1 316 UNTIL G o o d F l l e OR (Length(DataName) » 0 ) ; 397 13 1 1 326 398 13 1 1 326 G0T0XY(0.20); 399 13 1 1 331 W r l t e l n ( B l a n k ) ; 400 13 1 1 387 W r l t e l n ( B l a n k ) ; 401 13 1 1 443 W r l t e ( B l a n k ) ; 402 13 1 0 493 ENO; (* Set Data F i l e *) 403 13 1 0 508 404 14 1 D 1 SEGMENT PROCEDURE SaveData; 405 14 1 • 1 406 14 1 0 1 VAR 407 14 1 0 1 I : I n t e g e r ; 408 14 1 D 2 409 14 1 0 0 BEGIN 410 14 1 0 0 (*$R S e t D a t a F I 1 e * ) 411 14 1 1 0 IF NOT F i n i s h e d THEN BEGIN 412 14 1 3 8 G o t o x y ( 0 . 2 3 ) ; 413 14 1 3 13 Wr i t e ( ' m o d e l c a l c u l a t i o n I n c o m p e l t e ! ' , C h r ( 1 3 5 ) ) ; 414 14 1 2 62 END ELSE BEGIN 415 14 1 3 64 IF N o D a t a F l I e THEN S e t O a t a F l l e 416 14 1 3 69 ELSE BEGIN 417 14 1 5 74 GotoxyCO,23); 418 14 1 5 79 • W r l t e ( ' u s e same f i l e as l a s t time? . ' , C h r ( 1 3 5 ) ) : 419 14 1: 5 129 Read(Source,Re s p o n s e ) ; 420 14 1 5 138 IF (Response = 'y') OR (Response » 'Y') THEN BEGIN 421 14 1: 7 151 G o t o x y ( 0 . 2 3 ) : 422 14 1. 7 156 Wrl te( ' O v e r w r i t e o r A>ppend ' . C h r ( 1 3 5 ) ) ; 423 14 1 7 199 Read(Source,Response); 424 14 1. 7 208 If (Response = 'o') OR (Response * '0') THEN 425 14 1 • 8 221 R e s e t ( D a t a F l i e ) ; 426 14 1: 6 227 END ELSE BEGIN 427 14 1 • 7 229 C I o s e ( D a t a F l i e , C r u n c h ) ; 428 14 1: 7 236 N o D a t a F l I e : = T r u e : 429 14 1 : 7 240 S e t D a t a F I l e ; 430 14 1 : 6 243 END; (• ELSE *) 431 14 1 4 243 END; (* ELSE *) 432 14 1 3 243 IF NOT N o D a t a F l I e THEN BEGIN 433 14 1 5 249 W r 1 t e l n ( D a t a F 1 1 e , T i t l e ) ; 434 14 1 5 264 W r 1 t e l n ( D a t a F 1 1 e , V o p e n , f f , P o w e r ) ; 435 14 1 5 309 FOR I :- 1 TO N P o i n t s DO 436 14 1 6 322 W r l t e l n ( D a t a F i l e . V T e r m f I ] . I t e r m f I ] . P t e r m ( I ] ) 437 14 1 5 392 DataSaved :» True; 438 14 1 4 396 END; (* IF NOT N o D a t a F l I e *) 439 14 1 3 396 G o t o x y ( 0 . 2 3 ) : 440 14 1 3 401 W r l t e ( B l a n k ) ; 441 14 1 2 451 END; (* ELSE *) 442 14 1 0 451 END; (* Save Data *) 443 14 1 0 486 444 14 1 0 486 445 15 1 D 1 SEGMENT PROCEDURE InputIDData; 446 15 1 0 1 447 15 1 D 1 VAR 448 15 1 D 1 G o o d F l l e : B o o l e a n ; 449 15 1 D 2 450 15 1 0 0 BEGIN 451 15 1 1 0 G o t o x y ( 0 . 2 0 ) ; 452 15 1 1 5 W r 1 t e ( ' e n t e r 1-dlrn 1-v f i l e name: ' ) ; 453 15 1 1 42 C l o s e ( I n p u t F 1 l e ) ; 454 15 1 1 49 455 15 1 1 49 REPEAT 456 15 1 2 49 G o t o x y ( 0 , 2 1 ) : 457 15 1 2 54 W r 1 t e ( ' » ' ) : 458 15 1 2 91 G o t o x y ( 3 , 2 1 ) : 459 15 1 2 96 Readln(Source,InputName); 460 15 1 2 111 R e s e t ( I n p u t F 1 l e , I n p u t N a m e ) ; 461 15 1 2 • 121 G o o d F l l e :• I O R e s u l t = O; 462 15 1 2 127 IF NOT G o o d F l l e THEN BEGIN 463 15 1 4 131 G o t o x y ( 0 , 2 2 ) ; 464 15 1 4 136 W r 1 t e ( ' c a n ' ' t open t h i s f l i e ' , C h r ( 135)): 465 15 1 4 176 C 1 o s e ( I n p u t F l i e ) ; 466 15 1 3 183 END; (* IF NOT G o o d F l l e *) 467 15 1 1 183 UNTIL G o o d F l l e OR (Length(InputName) = 0 ) ; 468 15 1 1 193 469 15 1 1 193 IF G o o d F l l e THEN ReadlDData; 470 15 1 1 199 G o t o x y ( 0 , 2 0 ) : 471 15 1 1 204 W r l t e l n ( B l a n k ) ; 472 15 1 1 260 W r l t e ( B l a n k ) ; 473 15 1 1 310 W r l t e ( B l a n k ) ; 474 15 1 0 360 END; (* Input 1-Dlm Data *) 475 15 1 0 374 476 15 1 0 374 477 16 1 0 1 SEGMENT PROCEDURE S e t S r c e F l l e ; 478 16 1 D 1 479 16 1 D 1 VAR 480 16 1 D 1 G o o d F l l e : B o o l e a n ; 481 16 1 0 2 482 16 1 0 0 BEGIN 483 16 1 1 0 G o t o x y ( 0 , 2 0 ) : 484 16 1 1 5 W r 1 t e ( ' e n t e r s o u r c e f i l e name: ' ) ; 485 16 1 1 39 486 16 1 : 1 39 REPEAT 487 16 1 :2 39 G o t o x y ( 0 . 2 1 ) : 488 16 '1 :2 44 Wr1te('>> 489 16 1 •2 80 G o t o x y ( 3 . 2 1 ) : 490 16 1 2 85 Readln(SrceName): 491 16 1 2 100 IF Length(SrceName) » 0 THEN 492 16 ; 1 3 108 SrceName :• 'C o n s o l e : ' ; 493 16 1 2 123 C 1 o s e ( S o u r c e ) ; 494 16 1 2 130 Res e t ( S o u r c e , S r c e N a m e ) ; 495 16 1 2 140 G o o d F l l e :» I O R e s u l t - 0: 496 16 1 2 146 IF NOT G o o d F l l e THEN BEGIN 497 16 1 4 150 G o t o x y ( 0 . 2 2 ) ; 498 16 1 4 . 155 W r 1 t e ( ' c a n ' ' t open t h i s f i l e 499 16 1 4 185 C l o s e ( S o u r c e ) ; 500 16 1 3 192 END; (* IF NOT G o o d F l l e *) 501 16 1 1 192 UNTIL G o o d F I l e ; 502 16 1 1 195 503 16 1 1 195 G o t o x y ( 0 , 2 0 ) ; 504 16 1 1 200 W r l t e l n ( B l a n k ) ; 505 16 1 1 256 W r I t e ( B l a n k ) ; 506 16 1 1 306 W r I t e ( B l a n k ) ; 507 16 1 0 356 END: (* Set Source F i l e *) 508 16 1 0 370 509 16 1 0 370 510 16 1 0 370 (* These r o u t i n e s a r e always l o a d e d 511 16 1 0 370 512 1 3 D 1 PROCEDURE ConsoleCheck; 513 1 3 D 1 514 1 3 0 1 CONST 515 1 3 0 1 Kbd - -16384; 516 1 3 D 1 C l r K b d » -16368; 517 1 3 D 1 • E s c • 155; 518 1 3 D 1 C t r l C » 131; 519 1 3 0 1 C t r l P «" 144; 520 1 3 0 1 C t r l O « 145; 521 1 3 D 1 522 1 3 0 1 TYPE 523 1 3 D 1 B y t e » PACKED ARRAY[0..0] OF 0. 524 1 3: 0 1 MemType= RECORD 525 1 3: 0 1 CASE B o o l e a n OF 526 1 3: D 1 True : ( P o i n t e r 527 1 3. D 1 F a l s e : ( L o c a t i o n 528 1 3- 0 1 END; (* CASE *) 529 1 3 0 1 530 1 3. 0 1 VAR 531 1 3 D 1 C o n s o l e : MemType; 532 1 3 0 2 Key : I n t e g e r ; 533 1 3 D 3 534 1 3 0 0 BEGIN 535 1 3 1 0 C o n s o l e . L o c a t 1 o n :* Kbd; 536 1 3: 1 6 Key :• C o n s o l e . P o 1 n t e r a f O ] ; 537 1 3: 1 14 .IF Key » Esc THEN BEGIN 538 1 3: 3 21 C 1 o s e ( S o u r c e ) ; 539 1 3- 3 28 R e s e t ( S o u r c e , ' C o n s o l e : ' ) : 255; a B y t e ) ; I n t e g e r ) ; co 540 1 3 •3 47 I n t r p t T r ue; 541 1 3 :2 51 ENO; 542 1 3 1 51 IF Key • C t r l P THEN Pause :- F a l s e 543 1 3 : 1 62 IF Key » C t r l C THEN I n t r p t :« True 544 1 3 : 1 73 IF Key - C t r l O THEN IF Q u i e t then 545 1 3 •2 85 e l se 546 1 3 1 95 I f Key IN [ C t r l Q . C t r l P . C t r l C . E s c ] 547 1 3 •3 118 C o n s o l e . L o c a t i o n :» C l r K b d ; 548 1 3 3 124 Key :• Cfjnsol e. Po 1 n t e r a f O ] ; 549 1 3 2 132 END; 550 1 3 0 132 END; (* C o n s o l e Check *) 551 1 3 0 144 552 1 4 D 1 PROCEDURE Walt; 553 1 4 0 1 554 1 4 0 0 BEGIN 555 1 4 1 0 Gotoxy(17.23); 556 1 4 1 5 Wr1te('PAUSE'); 557 1 4 1 20 Pause :« True; 558 1 4 1 24 W h i l e Pause DO ConsoleCheck; 559 1 4 1 33 G o t o x y ( 1 7 . 2 3 ) ; 560 1 4 1 38 W r 1 t e ( ' ' ) ; 561 1 4 0 53 END; 562 1 4 0 68 563 1 5 D 1 PROCEDURE ReadKey: 564 1 5 D 1 565 1 5 D 1 C o n s t • 566 1 5 0 1 C t r l P - 16; 567 1 5 0 1 C t r l C « 3; 568 1 5 0 1 C t r l Q • 17; 569 1 5 0 1 Es c - 27; 570 1 5 D 1 571 1 5 D 1 VAR 572 1 5 D 1 Key : Char; 573 1 5 D 2 574 1 5 0 0 BEGIN 575 1 5 1 0 G o t o x y ( 0 . 2 2 ) : 576 1 5 1 5 Read(KeyBoard,Key); 577 1 5 1 •13 CASE Ord(Key) OF 578 1 5 1 16 C t r l P : Walt: 579 . 1 5 1 20 C t r l C : I n t r p t : <• T r ue; 580 1 5 1 26 C t r l Q : I f Q u i e t THEN Qu1et:= 581 1 5 2 31 ELSE Quiet:= 582 1 5 1 43 Es c : BEGIN 583 1 5 3 43 C l o s e ( S o u r c e ) ; 584 1 5 3 50 R e s e t ( S o u r c e , ' C o n s o 585 1 5 3 69 S e t S r c e F l i e ; 586 1 5 3 72 I n t r p t :• True; 587 1 5 2 76 END; 588 1 5 1 78 END; (* Case *) 589 1 5 0 136 END: (* Read Key *) 590 1 5 0 148 591 1 2 D 1 PROCEDURE ReadlDData: 592 1 2 0 1 593 1 2 D 1 VAR F a l se to co 594 1 2 :D 1 I : I n t e g e r ; 595 1 2 :D 2 V c e n t e r : R e a l ; 59S 1 2 :D 4 597 1 2 0 0 BEGIN 598 1 2 : 1 0 R e a d l n ( I n p u t F l i e ) ; 599 1 2 : 1 6 R e a d l n ( I n p u t F l i e ) ; 600 1 2 1 12 I :- 1; G01 1 2 1 15 WHILE NOT E o f ( I n p u t F l l e ) DO BEGIN 602 1 2 3 26 R e a d l n ( I n p u t F 1 1 e . V c e n t e r , V i n t I ] . I 1 n [ I J ) ; 603 1 2 3 70 I :- I + 1; 604 1 2 2 75 END; (* WHILE *) 605 1 2 1 77 N1D :• I - 1; 606 1 2 1 83 NolDData F a l s e ; 607 1 2 1 87 F l n g e r C a l c e d := F a l s e ; 608 1 2 1 91 F i n i s h e d F a l s e ; 609 1 2 1 95 G o t o x y ( 0 , 1 9 ) ; 610 1 2 1 100 W r 1 t e ( ' 1-dlm Input f i l e » '.InputName); 611 1 2 0 140 END; (* Read 1-Dim Data *) 612 1 2 0 154 613 1 2 O 154 614 1 6 D 3 FUNCTION Jmis(V : R e a l ) : R e a l ; 615 1 6 0 5 616 1 6 0 0 BEGIN 617 1 6 1 0 Jm1s :- d c o n t a c t * ( E x p ( V / K T q / n M I S ) - 1 . 0 ) : 618 1 6 0 40 END; (* Jmls *) 619 1 6 0 52 620 1 7 D 3 FUNCTION I(V : R e a l ) : R e a l ; 621 1 7 D 5 622 1 7 D 5 VAR 623 1 7 0 5 L0.L1.L2 R e a l ; 624 1 7 D 11 N INTEGER; 625 1 7 0 12 626 1 7 0 0 BEGIN 627 1 7 1 0 N :- 1; 628 1 7 1 3 WHILE (N < N1D) AND (V < V1n[N]) DO 629 1 7 2 28 N : = N + 1 ; 630 1 7 1 35 IF (N < 2) THEN N :« 2; 631 1 7 1 43 IF (N >- N1D) THEN N :» N1D-- 1; 632 1 7 1 57 LO :- (V - V1n[N)) * (V - Vin[N+1]) 633 1 7 1 93 / (V1n[N-1] - V1n[N]) / (Vin[N-1]-V1n[N+ 634 1 7 1 150 L1 :- (V - V i n [ N - 1 J ) * (V - V1n[N+1]) 635 1 7 1 188 / ( V i n [ N j - V1n{N-1]) / ( V i n [ N ] - Vin[N+ 636 1 7 1 243 L2 :- (V - V i n [ N - 1 ] ) * (V - V i n [ N ] ) 637 1 7 1 279 / (V1n[N+1] - V1n[N-1]) / (Vin[N+1] - V i 638 1 7 1 336 I := L 0 * I 1 n [ N - l j + L1*I1n[N] + L2*I1n[N+1];; 639 1 7 0 394 END; (* I ( V ) *) 640 1 7 0 408 64 1 1 7 0 408 642 1 8 D 3 FUNCTION Pmax : R e a l ; 643 1 8 D 3 644 1 8 D 3 VAR 645 1 8 D 3 Pwr : R e a l ; 646 1 8 • 5 I : I n t e g e r ; 647 1 8 D 6 648 1 8 :0 0 BEGIN 649 1 8 : 1 0 Pwr :» P t e r m [ 1 ] ; 650 1 8 : 1 15 FOR I :• 2 TO N p o l n t s DO 651 I 8 :2 28 IF P t e r m [ I ] > Pwr THEN Pwr := P t e r m f l ] ; 652 1 8 : 1 69 Pmax :» Pwr; 653 1 8 :0 77 END; 654 1 8 0 92 655 1 9 •D 3 FUNCTION Voc : Real ; 656 9 D 3 657 1 9 D 3 VAR 658 1 9 D 3 N : I n t e g e r ; 659 1 9 0 4 660 1 9 0 0 BEGIN 661 1 9 1 0 FOR N :-.1.T0 N P o l n t s DO BEGIN 662 1 9 3 13 V1n[Nj :» I t e r m [ N j ; 663 9 3 35 11n[N] :» Vterm[N]; 664 9 2 57 END; 665 9 1 64 Voc :« 1(0.0); 666 1 9 0 78 END; (* V open c i r c u i t *) 667 9 0 92 668 10 D 1 PROCEDURE RunBusBar; 669 1 10 D 1 670 1 10 0 1 CONST 671 1 10 D 1 NegOne • -1.0E-3; 672 1 10 0 1 673 1 10 0 1 VAR 674 1 10 0 1 N : I n t e g e r : 675 10 D 2 V n e x t , V . l l S u m ' : Real ; 676 1 10 D 8 677 1 10 0 0 BEGIN 678 1 10 0 0 (*$R A p p l e S t u f f . T r a n s c e n d * ) 679 1 10 1 0 M :- 1; 680 1 10 1 6 G o t o x y ( 0 . 1 1 ) ; 681 1 10 1 11 W r 1 t e l n ( ' p o i n t v c e n t e r v t e r m i n a l 1 t e r m i n a l ' ) ; 682 1 10 1 66 W r 1 t e l n ( ' H (mv) (mv) (ma)'); 683 1 10 1 118 684 1 10 1 118 REPEAT 685 1 10 2 118 11 Sum :» 0.0; 686 1 10 2 128 N 1; 687 1 10 2 131 V :« V s t - DV2*M*M; 688 1 10 2 156 G o t o x y ( 0 , 1 3 ) : 689 1 10 2 161 Wr1te(M:3,V:10:1); 690 1 10 2 183 WHILE (N <= N f l n g e r s ) AND NOT I n t r p t DO BEGIN 691 1 10 4 195 IlSum := IlSum + I ( V ) + Om1s(V)*Wbusbar*SF1nger; 692 1 10 4 233 Vnext :- V + IlSum * Rbusbar; 693 1 10 4 252 Go t o x y ( 0 . 1 7 ) ; 694 1 10 4 257 IF not Q u i e t Then Wr1te(N:3,V:10:1.Vnext:10:1,11 Sum 695 1 10 4 307 N : - N + 1 ; 696 1 10 4 312 V :» Vnext: 697 1 10 4 320 IF KeyPress THEN ReadKey; 698 1 10 3 329 END; (* WHILE *) 699 1 10 2 331 Vterm[M] :» V; 700 1 10 2 348 Iterm[MJ :» IlSum; 701 1 10 2 365 Pterm[M] :» Vterm[M]*Iterm[M]*NegOne: 702 1 10 :2 413 G o t o x y ( 1 5 , 1 3 ) ; 703 1 10 :2 418 Wrlte(V:10:1,Iterm[M] : 10: 1): 704 1 10 2 451 M :- M + 1; 705 1 10 1 459 UNTIL (V < 0.0) OR (M > 50) OR I n t r p t ; 706 1 10 : 1 484 707 1 10 1 484 IF NOT I n t r p t THEN BEGIN 708 1 10 3 490 M :• M - 1; 709 1 10 3 498 N p o l n t s :» M; 710 1 10 3 504 Power :« Pmax; 71 1 I 10 3 513 IF Power <» 0.0 THEN Vopen :» 0.0 712 10 3 531 ELSE Vopen := Voc; 713 10 3 551 IF Vopen < 50.0 THEN f f :« 0.0 714 1 10 3 569 ELSE f f :« -1.0E3*Power/Vopen/Iterm[NPo1nts]; 715 1 10 3 619 G o t o x y ( 0 , 1 4 ) ; 716 1 10 3 624 Wr1te('voc - ',Vopen:5:1.' mv f i l l f a c t o r - ' , f f : 5 : 3 ) ; 717 10 3 697 F i n i s h e d :• True; 718 10 2 701 ENO: (* IF *) 719 1 10 0 701 END: (* Run Busbar •) 720 1 10 0 742 721 11 D 1 PROCEDURE Run F i n g e r ; 722 11 0 1 723 11 D 1 CONST 724 11 0 1 NegOne » -1.0E-3; 725 1 11 D 1 • 726 1 11 0 1 VAR 727 11 D 1 N I n t e g e r : 728 11 D 2 Vnext.V,11 Sum : R e a l ; 729 1 11 D 8 V f I n g e r , I f I n g e r : O u t B u f f e r ; 730 1 11 D 212 731 11 0 0 BEGIN 732 11 0 0 (*$R A p p l e S t u f f , T r a n s c e n d * ) 733 1 11 1 0 M :« 1; 734 1 11 1 6 F i n i s h e d :« F a l s e ; 735 1 11 1 10 G o t o x y ( 0 . 1 1 ) ; 736 1 11 1 15 W r 1 t e 1 n ( ' p o i n t v c e n t e r v bus bar 1 bus bar ' ) ; 737 1 11 1 70 Wr1te1n(' # (mv) (mv) (ma)'); 738 1 11 1 122 REPEAT 739 1 1 1 2 122 IlSum :- 0.0: 740 1 11 2 132 V :» V s t - Dv1*M*M; 741 1 11 2 157 G o t o x y ( 0 , 1 3 ) ; 742 1 11 2 162 Wr1te(M:3,V:10:1); 743 1 11 2 184 N := 1: 744 1 11 2 187 WHILE (N <» N s e c t l o n ) AND NOT I n t r p t DO BEGIN 745 1 11 : 4 199 11 Sum :» 11 Sum + I ( V ) ; 746 1 11 • 4 216 Vnext :» V + 11 Sum * R f I n g e r ; 747 1 11 4 235 G o t o x y ( 0 . 1 7 ) ; 748 1 1 1 4 240 IF not Q u i e t THEN Wr1te(N:3.V:10:1,Vnext:12:1,' '.I1Sum:12) 749 1 1 1 : 4 298 N :• N + 1; 750 1 1 1 : 4 303 V :» Vnext: 751 1 1 1 • 4 311 I'F K e y P r e s s THEN ReadKey; 752 1 11 3 320 END; (* WHILE *) 753 1 1 1 • 2 322 V f l n g e r [ M ] :» V; 754 1 1 1 2 338 IF1nger[M) :• 11Sum*Lf1nger*Sf1nger/Nsect1 on; 755 1 1 1 2 371 G o t o x y ( 1 5 , 1 3 ) ; 756 1 11 :2 376 Wr1te(V:10:1. ' ' . I F I n g e r [ M ] : 1 2 ) : 757 1 11 :2 416 M :- M + 1; 758 1 11 : 1 424 UNTIL (M > 50) OR (V < 0.0) OR I n t r p t ; 759 1 11 : 1 449 760 1 11 : 1 449 IF NOT I n t r p t THEN BEGIN 761 1 1 1 :3 455 N1D :« M - 1; 762 1 11 :3 463 FOR N :» 1 TO N10 00 BEGIN 763 1 11 :5 479 V l n [ N ] :« V f l n g e r t N ] ; 764 1 11 :5 500 I1n[N] :- I f 1 n g e r [ N ] ; 765 11 :4 521 END; (* FOR *) 766 11 :3 528 F I n g e r C a l c e d :• True; 767 11 :3 532 No1DData:« t r u e ; 768 11 :2 536 END; (* IF NOT I n t r p t *) 769 . 11 :0 536 END; (* RunFInger*) 770 11 :0 574 771 12 :D 1 PROCEDURE RunModel; 772 12 :D 1 773 1 12 :0 0 BEGIN 774 12 : 1 0 IF NolDData THEN I n p u t l D D a t a : 775 12 1 8 DataSaved :" F a l s e ; 776 12 1 12 ReadTIme(Hour.Minute); 777 1 12 1 21 ReadDate(Year,Month,Day); 778 1 12 1 33 M :- 1; 779 1 12 1 37 IF NOT NolDData THEN BEGIN " 780 1 12 3 43 IF NOT F I n g e r C a l c e d THEN RunFInger; 781 1 12 3 51 RunBusBar; 782 1 12 2 53 END; 783 1 12 0 53 END; 784 1 12 0 66 785 12 0 66 786 1 13 D 1 PROCEDURE C1earL1nes(M1n,Max : I n t e g e r ) ; 787 1 13 0 3 788 13 0 3 VAR 789 1 13 0 3 I : I n t e g e r ; 790 1 13 0 4 791 1 13 0 0 BEGIN 792 1 13 1 0 FOR I Min TO Max DO BEGIN 793 1 13 3 11 G o t o x y ( 0 . I ) ; 794 1 13 3 16 W r l t e ( B l a n k ) ; 795 1 13 2 66 END: 796 1 13 0 73 END; (* C l e a r L i n e s *) 797 1 13 0 88 798 1 14 D 1 PROCEDURE Wr1teMessage(Message : MessType) 799 1 14 D 23 BOO 1 14 0 0 BEGIN 801 1 14 1 0 C l e a r L 1 n e s ( 2 3 . 2 3 ) ; 802 1 14 1 9 G o t o x y ( 0 , 2 3 ) ; 803 1 14 1 14 Wr1te(Message.Chr(135)); 804 1 14 0 33 ENO; (* W r i t e Message *) 805 1 14 0 46 806 1 15 D 1 PROCEDURE S e t P a r a m e t e r s ; 807 1 15 D 1 808 1 15 0 0 BEGIN 809 1 15 1 0 C l e a r L 1 n e s ( 1 0 . 1 ) ; 810 1 15 : 1 4 Tpos :• ( 4 0 - L e n g t h ( T l t 1 e ) ) DIV 2; 811 1 15 : 1 14 G o t o x y ( T P o s , 1 ) ; 812 15 : 1 20 W r I t e ( T l t l e ) ; 813 I 15 • 1 29 Rho :• Parami 2] * 1.0E-6 (* ohm-cm •) 814 15 : 1 55 T f I n g e r :» Paramf 3] * 1.0E-4 ( * cm *) 815 15 • 1 81 T b u s b a r Paramf 4] • 1.0E-4 ( * cm •) 816 15 : 1 107 S f 1 n g e r :• Paramf 5] * 1.0E-4 (* cm •) 817 1 15 1 133 WfInger :» Paramf 6] * 1.0E-4 ( * cm *) 818 1 15 • 1 159 L f I n g e r :» Paramf 7] * 1.0E-4 ( * cm *) 819 1 15 1 185 Wbusbar Paramf 8] * 1.0E-4 (* cm •) 820 1 15 1 211 N f I n g e r s • TruncfParamf 9 ] ) ; (* * •) 821 1 15 1 229 N s e c t I o n •• T r u n c ( P a r a m f 1 0 ] ) ; 822 1 15 1 247 D v l » Paramf11]; (* mV •) 823 1 15 1 265 Dv2 « Paramf12]; (* mV *) 824 1 15 1 283 V s t » Paramf13]; (* mV *) 825 1 15 1 301 ^ C o n t a c t » Paramf14]; ( * ohm-cm<i2 •) 826 1 15 1 319 nMIS * Paramf15]; 827 1 15 1 337 R f 1 n g e r • L f 1 n g e r * L f 1 n g e r * S f 1 n g e r * R h o / 828 1 15 1 363 T f I n g e r / W f I n g e r / N s e c t 1 o n / N s e c t 1 o n ; 829 1 15 1 387 Rbusbar • Rho*SfInger/Tbusbar/Wbusbar; 830 1 15 0 415 END; (* Set Parameters *) 831 1 15 0 428 832 1 15 0 428 833 1 15 0 428 834 1 16 0 1 PROCEDURE G e t D e f a u l t F l l e ; 835 1 16 D 1 836 1 16 0 0 BEGIN 837 1 16 1 0 DfltName :« 'ILGRID.DFLTS': 838 1 16 1 20 R e s e t ( D f l t F I l e . D f 1 t N a m e ) ; 839 1 16 1 31 IF I O r e s u l t <> 0 THEN BEGIN 840 1 16 3 37 REPEAT 841 1 16 4 37 C 1 o s e ( D f 1 t F I l e ) ; 842 1 16 4 44 G o t o x y ( 0 . 5 ) ; 843 1 16 4 49 Wr1te1n('can''t f i n d ILCELL p a r a m e t e r f i l e ' 844 1 16 4 97 Wr 1 t e 1 n ( ' e n t e r parameter f i l e name:'); 845 1 16 4 139 Wr1te( ' » ' ); 846 1 16 4 177 G o t o x y ( 3 , 7 ) ; 847 1 16 4 182 Read1n(Df1tName): 848 1 16 4 198 C l e a r L 1 n e s ( 5 , 7 ) ; 849 1 16 4 202 R e s e t ( D f 1 t F 1 l e . D f 1 t N a m e ) ; 850 1 16 3 213 UNTIL I O r e s u l t » 0; 851 1 16 2 219 END; 852 1 16 0 219 END; (* Get Parameter F i l e *) 853 1 16 0 236 854 1 17 D 1 PROCEDURE I n i t i a l i z e ; 855 1 17 D 1 856 1 17 O 0 BEGIN 857 1 17 1 0 P a g e ( O u t p u t ) ; 858 1 17 1 8 Q u i t := F a l s e ; 859 1 . 17 1 12 DataSaved : » F a l s e ; 860 1 17 1 16 I n t r p t • F a l s e ; 861 1 17 1 20 Pause = F a l s e ; 862 1 17 1 24 Q u i e t » True; 863 1 17 1 28 N o D a t a F I l e : • True; 864 17 1 32 NolDData :• True; 865 17 1 36 F i n i s h e d :• F a l s e ; 866 17 1 40 F I n g e r C a l c e d :» F a l s e ; 867 17 1 44 GetCVal(InputName); 868 17 1 49 R e s e t ( I n p u t F 1 l e , I n p u t N a m e ) ; 869 17 1 59 IF I O R e s u l t » 0 THEN ReadlDOata 870 1 17 1 65 ELSE C l o s e ( I n p u t F I l e ) ; 871 1 17 1 76 M :» 1; 872 1 17 1 80 Gotoxy(O.O); 873 17 1 85 W r 1 t e l n ( ' * * * SOLAR CELL COLLECTION GRID MODEL 874 1 17 1 141 G e t D e f a u l t F I l e ; 875 1 17 1 143 I n l t P a r l ; 876 1 17 1 146 I n l t P a r 2 ; 877 1 17 1 149 S e t S r c e F l l e ; 878 1 17 1 152 G o t o x y ( 0 , 3 ) ; 879 1 17 1 157 Write1n(B1ksp,'C> change model p a r a m e t e r s ' ) ; 880 1 17 1 219 W r l t e 1 n ( B l k s p . ' I > Input 1-d1m 1-v d a t a ' ) ; 881 1 17 1 278 W r l t e l n ( B l k s p , ' R > r u n model'); 882 1 17 1 326 W r 1 t e l n ( B l k s p , ' G > g r a p h r e s u l t s ' ) ; 883 1 17 1 378 Wr1teln(B1ksp,'S> save d a t a to f i l e ' ) ; 884 1 17 1 435 Wr1te1n(Blksp,'P> p r i n t d a t a ' ) ; 885 1 17 1 484 Wr1te1n(B1ksp.'0> q u i t program'); 886 1 17 1 535 G o t o x y ( 0 , 1 5 ) ; 887 1 17 1 540 W r l t e l n ( ' n o d e v(node) v(node+1) 1 t o t a l 888 1 17 1 593 W r 1 t e l n ( ' H (mv) (mv) (ma) 889 1 17 1 645 E n t e r D e f a u l t s ; 890 1 17 V 648 S e t P a r a m e t e r s ; 891 1 17 0 650 END; (* I n i t i a l I z e *) 892 1 17 0 662 893 1 17 0 662 894 1 1 0 0 BEGIN (* I L G r l d Model •) 895 1 1 1 0 I n i t i a l i z e ; 896 1 1 1 65 897 1 1 1 65 REPEAT 898 1 1 2 65 I n t r p t :« f a l s e ; 899 1 1 2 69 G o t o x y ( 3 , 2 ) : 900 1 1 2 74 W r 1 t e ( ' s e l e c t o p t i o n : ' , C h r ( 1 3 5 ) ) ; 901 1 1 2 112 G o t o x y ( 1 9 , 2 ) ; 902 1 1 2 117 R e a d ( S o u r c e , O p t i o n ) ; 903 1 1 2 126 Case O p t i o n OF 904 1 1 2 131 ' C , ' C : BEGIN 905 1 1 4 131 ChangeParameters; 906 1 1 4 134 S e t P a r a m e t e r s ; 907 1 1 3 136 END; 908 1 1 2 138 ' I ' . ' l ' : InputIDData; 909 1 1 2 143 'R'.'r' : RunModel; 910 1 1 2 147 'G','g' : BEGIN 911 1 1 4 147 IF NOT DataSaved THEN SaveData; 912 1 1 4 156 SetCVal(DataName); 913 1 1 4 161 SetCha1n('PLOTGRAPH'); 914 1 1 4 176 Q u i t True; 915 1 1 3 180 916 1 1 2 182 ' S ' . ' s ' : SaveData; 917 1 1 2 187 'P','p' : P r I n t D a t a ; 918 1 1 2 192 'O'.'q' : IF NOT DataSaved THEN BEGIN 919 1 1 5 198 Wr1teMessage('data not s a v e d ! Q u i t anyway? 920 1 1 5 232 Read(Source.Opt Ion); 921 1 1 5 241 IF ( O p t i o n - 'y') OR ( O p t i o n - 'Y') THEN 922 1 1 6 254 Q u i t :» True; 923 1 1 4 258 END ELSE Out t :- True; 924 1 1 2 266 END; (* CASE *) 925 1 1 1 372 UNTIL Q u i t ; 92S 1 1 1 377 927 1 1 1 377 Wr1teMessage('save model p a r a m e t e r s ? ( Y / N ) ' ) ; 928 1 1 1 410 Read(Source,Opt 1 on); 929 1 1 1 419 IF ( O p t i o n » 'y') OR ( O p t i o n - 'Y') THEN S a v e D e f a u l t s 930 1 1 1 432 ELSE C l o s e ( D f 1 t F I l e ) ; 931 1 1 1 444 C l o s e ( D a t a F ! l e , C r u n c h ) ; 932 1 1 1 451 C I o s e ( S o u r c e ) ; 933. 1 1 O 458 END. to o 241 B . 2 . A n a l o g P l o t - R e a l t i m e A n a l o g Data A q u i s i t i o n and P l o t t i n g The ANALOGPLOT program i s intended to serve as a general purpose program to sample and p l o t analog data s u p p l i e d to i t i n d i g i t i z e d form by the Cyborg i n t e r f a c e . The program attempts to simulate an analog p l o t t e r with c o n s i d e r a b l e enhancements. The program p l o t s the analog data e i t h e r on the video screen or the M i p l o t d i g i t a l p l o t t e r complete with l a b e l l e d axes. The program p r o v i d e s a timebase which can e i t h e r be used as the x-a x i s input or to set the time between samples. Sampled data may be saved i n numerical form on d i s k f o r f u r t h e r p r o c e s s i n g . The program can a l s o supply an analog v o l t a g e to a u t o m a t i c a l l y d r i v e the measurement. These f e a t u r e s are achieved with a minimum of input parameters and complete d e f a u l t i n g of input parameters i s p o s s i b l e . The hardware r e q u i r e d to run the AnalogPlot i s as f o l l o w s : -Apple II Computer with 48K memory, - at l e a s t one 5 1/4" fl o p p y d i s k d r i v e , - Cyborg Model 91A I n t e r f a c e with i n t e r f a c e c a r d plugged i n t o Apple expansion s l o t #4, - M i p l o t d i g i t a l p l o t t e r with i n t e r f a c e c a r d ( p a r a l l e l I/O) plugged i n t o s l o t #1. The An a l o g P l o t program r e q u i r e s three f i l e s to execute: ANALOGPLOT.CODE, ANALOGPLOT.DLFT (or some Other d e f a u l t f i l e ) and ATODCONFIG.TEXT. A l l three f i l e s should be on the same d i s k . If t h i s d i s k i s not the boot d i s k , then the p r e f i x volume 242 name (see page 65 of the Apple P a s c a l Operating System Reference Manual) w i l l have to be changed to the d i s k being used. A d i s k l i k e CV:, which c o n t a i n s the r e q u i r e d f i l e s , i s a system d i s k so can be booted d i r e c t l y and w i l l allow the user to run AnalogPlot as a menu item. Program execution i s i n i t i a t e d by executing the f i l e ANALOGPLOT.CODE which has an i n i t i a t i o n sequence which l a s t s about 20 seconds. At some p o i n t d u r i n g the i n i t i a l i z a t i o n sequence i t i s a good idea to press the keys CTRL-E and CTRL-Z. P r e s s i n g these keys may have no apparent e f f e c t but w i l l improve the screen appearance. CTRL-E causes c a p i t a l s to appear i n i n v e r s e video and CTRL-Z enables the a u t o f o l l o w of the c u r s o r between the two 40 column tex t pages. During i n i t i a l i z a t i o n , the program stops and reminds the user to turn on the p l o t t e r . If the p l o t t e r i s not turned on and the i n t e r f a c e c a ble connected at t h i s poi-nt, the program hangs as i t w i l l not r e c e i v e the r e q u i r e d handshake from the p l o t t e r . A f t e r p a s s i n g t h i s p o i n t , the program t r i e s to i n i t i a l i z e c e r t a i n program parameters. I t f i r s t looks f o r the f i l e ATODCONFIG.TEXT. T h i s f i l e should c o n t a i n the names of the s i g n a l s present on the 16 A/D channels of the Cyborg i n t e r f a c e . Since both s i n g l e - e n d e d or d i f f e r e n t i a l i n p uts are p o s s i b l e , a negative number i s used to i n d i c a t e d i f f e r e n t i a l i n p u t s . D i f f e r e n t i a l i n p u t s are obtained from p a i r s of A/D channels d i f f e r i n g i n number by 8 ; that i s , 0 and 8 , 1 and 9 , e t c . are d i f f e r e n t i a l input p a i r s . The d i f f e r e n t i a l p a i r of channels 1 and 9 may be denoted by e i t h e r -1 or - 9 . I t i s not necessary to i n c l u d e a l l 243 p o s s i b l e channel numbers from -15 to 15 i n the c o n f i g u r a t i o n f i l e . A l l channel numbers not s p e c i f i e d i n the f i l e d e f a u l t to the name: Ch.#, where # i s the number of the channel. The format of the c o n f i g u r a t i o n f i l e i s : ChannelNo.: Integer, ChannelName: S t r i n g [ 8 ] . No space i s r e q u i r e d (or normally d e s i r a b l e ) between the i n t e g e r and the s t r i n g but t h i s f a c t demands that the f i r s t c h a r a c t e r of the s t r i n g be non-numeric. The f i l e ATODCONFIG.TEXT i s c r e a t e d by the user using the p-system e d i t o r . The e x i s t i n g f i l e should r e f l e c t the present s t a t e of the Cyborg c o n n e c t i o n s . Any changes to these c o n n e c t i o n s should be documented by changing t h i s f i l e thus e l i m i n a t i n g the need to c o n s t a n t l y modify w r i t t e n documentation. A f t e r reading the c o n f i g u r a t i o n f i l e , the program looks fo r the f i l e ANALOGPLOT.DFLT which should c o n t a i n the d e f a u l t parameter v a l u e s . I f t h i s f i l e i s not present on the p r e f i x d i s k , the user w i l l be asked to supply the name of a f i l e c o n t a i n i n g the r e q u i r e d d e f a u l t s . The program cannot proceed beyond t h i s p o i n t without being s u p p l i e d an e x i s t i n g f i l e name. If the f i l e s u p p l i e d i s not a p r o p e r l y formatted f i l e c r e a t e d by the program i t s e l f , a f a t a l e r r o r may occur due to some f l o a t i n g p o i n t overflow. Once the d e f a u l t s f i l e has been read, the user i s reminded to t u r n on the Cyborg i n t e r f a c e . Once a key i s pressed, a l l four D/A's are set to zero v o l t s . U n f o r t u n a t e l y , when the Cyborg i s f i r s t turned on, the D/A's take on t h e i r most negative value so any connection which might be damaged by t h i s v o l t a g e has to be momentarily d i s c o n n e c t e d while the Cyborg i s turned 244 on and i n i t i a l i z e d by the computer. With i n i t i a l i z a t i o n complete, the AnalogPlot main menu should appear on the screen as shown below: Each o p t i o n may be s e l e c t e d by t y p i n g e i t h e r the number corresp o n d i n g to the opt i o n or the c a p i t a l i z e d ( h i g h l i g h t e d on the screen) l e t t e r i n the o p t i o n name. A d e s c r i p t i o n of each o p t i o n f o l l o w s : 1 Set Plot Parameters S e l e c t i n g t h i s o p t i o n from the main menu allows the user to a l t e r parameters used by Analo g P l o t to sample and p l o t analog data. The l i s t of parameters appears i n columns 41-80 of the video screen and w i l l appear a u t o m a t i c a l l y i f the c u r s o r a u t o f o l l o w t o g g l e has been set by p r e s s i n g CTRL-Z. The parameter to be changed i s s e l e c t e d by e n t e r i n g the l e t t e r between A and S corresponding to the d e s i r e d parameter. There are three b a s i c types of parameters: s t r i n g , numeric and c u r s o r s e l e c t e d . A s t r i n g parameter i s any sequence of keyboard c h a r a c t e r s terminated by a RETURN. A numeric parameter may only c o n t a i n d i g i t s , the decimal p o i n t , minus *** welcome to ANALOGPLOT *** SELECT OPTION: 1> 2> 3> 4> 5> 6> 7> Set p l o t parameters Draw graph on p l o t t e r View graph on screen Save X-Y Data C l e a r X-Y B u f f e r Update d e f a u l t s f i l e Q u i t program 245 s i g n and "E" to p r e f i x the power of ten. If any other c h a r a c t e r i s entered, the numeric input r o u t i n e terminates and, although more c h a r a c t e r s are accepted and d i s p l a y e d , they do not a f f e c t the value of the numeric i n p u t . I f an e r r o r i s made e n t e r i n g a number, the backspace key may not work i n c o r r e c t i n g the e r r o r . When RETURN i s pressed, the a c t u a l value of the number entered i s d i s p l a y e d . I f t h i s d i s p l a y does not correspond to the value d e s i r e d , the parameter should be r e s e l e c t e d and the number re e n t e r e d . The t h i r d type of parameter i s s e l e c t e d by using the arrow keys to s c r o l l through the p o s s i b l e v a l u e s of the parameter. Although these values are s t o r e d i n the computer as i n t e g e r s , they appear on the screen as mnemonic s t r i n g s to a i d the user i n understanding the purpose of each parameter. When the d e s i r e d s t r i n g appears, RETURN i s pressed to s e l e c t the value d i s p l a y e d . A d e s c r i p t i o n of each of the user a l t e r a b l e parameters f o l l o w s : l.A X-Axis L a b e l T h i s paramter i s the s t r i n g which w i l l be used to l a b e l the x - a x i s . l.B Y-Axis L a b e l T h i s s t r i n g i s used to l a b e l the y - a x i s . S u p e r s c r i p t s and s u b s c r i p t s and s p e c i a l c h a r a c t e r s may be i n c l u d e d i n these s t r i n g s through the use of s p e c i a l c h a r a c t e r s (see o p t i o n 2.3). These s p e c i a l c h a r a c t e r s are recog n i z e d only by the p l o t t e r r o u t i n e s and not by the screen g r a p h i c s r o u t i n e s . AnalogPlot a u t o m a t i c a l l y s c a l e s the t i c k l a b e l s by an a p p r o p r i a t e power 246 3 • of 10 i n order that the maximum t i c k l a b e l a b s o l u t e value w i l l range from between 1 and 1000. The axes l a b e l s w i l l be appended to r e f l e c t any s c a l i n g performed on the t i c k l a b e l s . l . C X-Input Channel Any of the 16 A/D input channels of the Cyborg i n t e r f a c e may be assign e d to supply the x-data. In a d d i t i o n , the x-input may be a timer which s t a r t s at zero and counts up i n seconds. The timer u t i l i z e s the c l o c k s u p p l i e d as p a r t of the Cyborg i n t e r f a c e which can only r e s o l v e one second. The x-input channel i s s e l e c t e d with the arrow keys. The f i l e ATODCONFIG.TEXT c o n t a i n s the s i g n a l names of the A/D channels. Any channels which are not as s i g n e d a name by t h i s f i l e are named "CHAN. #" where # i s the number of the channel as i t appears on the back plane of the i n t e r f a c e . Negative numbers i n d i c a t e a p a i r of channels are to be used as a s i n g l e d i f f e r e n t i a l i n p u t . The p o s s i b l e d i f f e r e n t i a l p a i r s are 0 and 8 (-8), 1 and 9 (-1_or - 9 ) , e t c . Since the channel number can range both p o s i t i v e and ne g a t i v e , there are 32 p o s s i b l e channels. l.D Y-Input Channel The y - i n p u t channel may be connected to any one of the 31 p o s s i b l e A/D channels as d e s c r i b e d above, but not to the timer. l . E Sample Mode There i s a ch o i c e of e s s e n t i a l l y three sample modes: 247 sampled, continuous, and d r i v e n . ( A c t u a l l y , there are four d r i v e n modes: DRIVE CH.0..3 corresponding to the four D/A channels a v a i l a b l e with the Cyborg). The i n t e r a c t i o n of the sample modes with the sample i n t e r v a l and the x-input channel i s the most s u b t l e and powerful f e a t u r e of the AnalogPlot program so t h i s s e c t i o n should be read c a r e f u l l y to f u l l y a p p r e c i a t e the program's v e r s a t i l i t y . SAMPLED mode causes the sampled x-y data p a i r s to be s t o r e d in any a r r a y . A maximum of 100 p o i n t s may be s t o r e d at one time a f t e r which the data may be saved in a d i s k f i l e or simply c l e a r e d . I f a zero sample i n t e r v a l (par. 1.F) i s used, then the t r i g g e r to sample the data i s the Apple keyboard. P r e s s i n g any key (other than CTRL, SHIFT, REPT or RESET) w i l l cause the x-and y - i n p u t channels to be sampled, saved i n the data a r r a y and then p l o t t e d . A non-zero sample i n t e r v a l w i l l cause the data t o be sampled when the x-data changes by an amount exceeding the s p e c i f i e d sample i n t e r v a l . A c t u a l l y , the x and y channels are being sampled c o n t i n u o u s l y but w i l l only be saved when the s p e c i f i e d change i n the x-data has o c c u r r e d . A continuous l i n e i s drawn on the p l o t t e r with each sampled p o i n t marked with a dot. CONTINUOUS mode i s used i f no storage of the data i s d e s i r e d . The CONTINUOUS mode i s f a s t e r than SAMPLED mode as x-y p o i n t s are obtained from 10 sample averages as opposed to 100 sample averages used to o b t a i n the p o i n t s saved i n the data a r r a y . CONTINUOUS mode w i l l normally r e s u l t i n a smoother curve than SAMPLED mode and one need not worry about overflow of the 248 data b u f f e r . If a non-zero sample i n t e r v a l i s s p e c i f i e d , then when the x-data has changed by more than the sample i n t e r v a l v a l u e , a dot w i l l be drawn on the p l o t t e r and the numerical v a l u e s of the x-y p o i n t w i l l be d i s p l a y e d on the t e x t screen. The DRIVEN mode in the most v e r s a t i l e of the sample modes making i t p o s s i b l e to d r i v e the measurement with the computer. The D/A channel which w i l l be used f o r output appears i n the sample mode name (eg. DRIVE CH.O) so there are four DRIVEN modes. A f t e r the d e s i r e d channel has been s e l e c t e d with the arrow keys and RETURN has been pressed, an "X" w i l l appear a f t e r the mode name. The computer now expects numeric input c o r r r e s p o n d i n g to a s c a l i n g f a c t o r f o r the output v o l t a g e . The range of the analog output v o l t a g e i s taken from parameters X-Minimum and X-Maximum. The s c a l i n g f a c t o r may be used to modify t h i s range. The s c a l i n g f a c t o r i s a l s o needed when the analog output i s used to d r i v e the KEPCO b i p o l a r power supply which has an i n t e r n a l gain of -2.0. To compensate f o r t h i s g a i n , a s c a l i n g f a c t o r of -0.5 i s used i f one wishes the analog output to range from X-Minimum to X-Maximum. The sample i n t e r v a l parameter i s used to s p e c i f y the increment with which the v o l t a g e range w i l l be spanned. I f 100 or l e s s p o i n t s are r e q u i r e d to span the range then the samples w i l l be saved i n the X-Y data a r r a y while i f more than 100 p o i n t s are r e q u i r e d , no sav i n g of samples i s performed. A sample i n t e r v a l of zero causes the range to be d i v i d e d i n t o 200 equal i n t e r v a l s and no storage of samples i s performed. A negative sample i n t e r v a l causes the program to scan from X-Maximum to X-Minimum, thus 249 making i t p o s s i b l e to scan v o l t a g e i n both d i r e c t i o n s . Note that the x-input channel need not be assigned to the analog output v o l t a g e although t h i s c o n f i g u r a t i o n would be the most common. If the x-input channel i s the timer, then a completely d i f f e r e n t sample mode i s invoked. The timer i s used to c o n t r o l the time between samples and i s not used f o r the x-data. Instead, the value of the analog output v o l t a g e i s s u p p l i e d as the x-data value ( t h i s value i s s c a l e d by the x-input s c a l e r , par. R, but not by the D/A channel s c a l i n g f a c t o r ) . The time i n t e r v a l between samples i s set by the sample i n t e r v a l . The output v o l t a g e range i s d i v i d e d i n t o 100 equal i n t e r v a l s and samples s t o r e d at each i n t e r v a l . The timer i s u s e f u l f o r o b t a i n i n g very slow sample r a t e s s i n c e the minimum sweep time i s 100 seconds. A sample i n t e r v a l of zero may be used, causing the program to sample as r a p i d l y as p o s s i b l e . When p l o t t i n g on the screen, the minimum time r e q u i r e d to sample 100 p o i n t s i s 32 seconds. The time r e q u i r e d when p l o t t i n g on the p l o t t e r depends on the d i s t a n c e the pen must move but w i l l be at l e a s t 96 seconds. F a s t e r sweep r a t e s may be obtained by using the normal sweep mode with a coarse sample i n t e r v a l but the a c t u a l sweep ra t e w i l l have to be determined by o b s e r v a t i o n . l . F Sample I n t e r v a l The sample i n t e r v a l i s a numeric value i n d i c a t i n g the amount of change i n the x-data r e q u i r e d before a new sample i s taken. T h i s parameter i n t e r a c t s i n a complex manner with the 250 sample mode d e s c r i b e d above and has a d i f f e r e n t s i g n i f i c a n c e f o r each mode. l.G X-Minimum T h i s parameter i s used by the p l o t t i n g r o u t i n e s as the beginning of the x - a x i s . It i s used i n the DRIVEN mode as the lower l i m i t on the analog output v o l t a g e . l.H X-Maximum The maximum value p l o t t e d on the x - a x i s . In DRIVEN mode, i t i s the upper l i m i t on the output v o l t a g e . 1.1 X-Scale T h i s parameter i s s i m i l a r to an analog p l o t t e r ' s s e n s i t i v i t y switch and i s entered i n u n i t s of volts/cm. I t must be chosen c a r e f u l l y to produce a reasonable s i z e p l o t without exceeding the s i z e of the p l o t t i n g paper. I f the screen r o u t i n e s are being used, the x - s c a l e w i l l not a f f e c t the s i z e of the p l o t appearing on the screen but w i l l determine the number of t i c k marks drawn. The p l o t t e r w i l l draw a t i c k mark every two c e n t i m e t e r s and the number of t i c k marks appearing on the screen w i l l be the same as those which would be drawn on the p l o t t e r p l o t . I f the value of X-Maximum i s not an even m u l t i p l e of X-Scale g r e a t e r than X-Minimum then i t w i l l be i n c r e a s e d to make i t so, thus the value of X-Maximum entered may not be the value which appears on the p l o t s . 251 l . J Y-Minimum The minimum value on the y - a x i s . l.K Y-Maximum The maximum value on the y - a x i s . T h i s value may be a d j u s t e d i f i t does not r e s i d e on a t i c k mark. l . L Y-Scale The s c a l e of the y - a x i s i n volts/cm. T h i s parameter must be chosen c a r e f u l l y to a v o i d exceeding the s i z e of the p l o t t i n g paper. l.M L i n e Type Three l i n e types used to j o i n the sampled p o i n t s are a v a i l a b l e on the p l o t t e r p l o t s : NOLINE, SOLID and DASHED. If NOLINE i s s e l e c t e d , the p l o t t e r moves with pen up from p o i n t to p o i n t . SOLID causes the pen pen to remain down while moving from p o i n t to p o i n t . DASHED causes a sequence of dashes with l e n g t h s p e c i f i e d by the Dash Length parameter to be drawn between p o i n t s . I f the d i s t a n c e between p o i n t s i s l e s s than the dash l e n g t h then a s o l i d l i n e w i l l be drawn. The DASHED opt i o n i s not supported by the screen p l o t t i n g r o u t i n e s so i s t r e a t e d as the SOLID o p t i o n . l . N Mark Type The mark which w i l l be drawn at each sampled p o i n t i s s e l e c t e d with the arrow keys. The p o s s i b l e marks are : DOT, 252 DIAMOND, SQUARE, TRIANGLE, CROSS and HEXAGON. If no mark i s d e s i r e d , the op t i o n NOMARK should be s e l e c t e d . These are s p e c i a l marks a v a i l a b l e on the p l o t t e r o n l y . The screen p l o t t i n g r o u t i n e s cannot produce these marks so i n s t e a d draw the c h a r a c t e r s : '+', '#', 'Y', 'X' and '*'. DOT and NOMARK produce no s p e c i a l mark on the screen. 1.0 Dash Length The l e n g t h , i n m i l l i m e t e r s of the dashes used by the DASHED l i n e type i s entered as a r e a l number. l . P Number Siz e The h e i g h t , i n m i l l i m e t e r s , of the c h a r a c t e r s used to l a b e l the t i c k s may be s p e c i f i e d as a r e a l number. The a c t u a l height obtained on the p l o t t e r p l o t s w i l l be the nearest m u l t i p l e of 0.7 mm. l.Q Character S i z e The h e i g h t , i n m i l l i m e t e r s , of the c h a r a c t e r s used to l a b e l axes may be s p e c i f i e d by a r e a l number. A l s o , the s i z e of the data p o i n t marks and any t e x t w r i t t e n on the p l o t are c o n t r o l l e d by t h i s v a r i a b l e . The parameters P and Q have no e f f e c t on the screen c h a r a c t e r s , which are f i x e d i n s i z e . 253 l.R X-Input S c a l e r T h i s number m u l t i p l i e s the d i g i t i z e d x-input data before i t i s p l o t t e d . l . S Y-Input S c a l e r T h i s number m u l t i p l i e s the d i g i t i z e d y - i n p u t data before i t i s p l o t t e d . 2 Draw Graph on P l o t t e r Main menu op t i o n 2 i s used to generate hardcopy p l o t s of analog s i g n a l s on the M i p l o t p l o t t e r . A new o p t i o n menu i s d i s p l a y e d when t h i s o p t i o n i s s e l e c t e d . The a v a i l a b l e o p t i o n s are d e s c r i b e d below. 2.1 P l o t Axes T h i s o p t i o n causes the x- and y-axes to be p l o t t e d . The x-a x i s l a b e l l i n g w i l l appear at the bottom of the p l o t while the l a b e l f o r the y - a x i s w i l l appear at. the l e f t i f the Sample I n t e r v a l i s p o s i t i v e and at the r i g h t i f the Sample I n t e r v a l i s ne g a t i v e . 2.2 P l o t Analog Data T h i s o p t i o n invokes the a c t u a l sampling and dynamic p l o t t i n g of the analog s i g n a l s . Sampled p o i n t s being saved i n the data b u f f e r as w e l l as the c u r r e n t number of sampled p o i n t s are d i s p l a y e d on the screen. The ESC key i s used to r e t u r n to the Draw Graph menu. P r e s s i n g CTRL-C i n h i b i t s the t r a n s m i s s i o n of p l o t t i n g i n f o r m a t i o n to the p l o t t e r but keeps the program 254 e x e c u t i n g as i f the p l o t t e r were s t i l l o p e r a t i n g . If DRIVEN mode has been s e l e c t e d , the program s e t s the analog output to the i n i t i a l v o l t a g e of the sweep range and then waits f o r the user to press a keyboard key before proceeding. The v o l t a g e ramping o p e r a t i o n terminates when the other v o l t a g e l i m i t has been reached or when the data b u f f e r overflows. 2.3 Write Message A d d i t i o n a l i n f o r m a t i o n may be w r i t t e n on the p l o t with t h i s o p t i o n . The message entered i s p l o t t e d using the c u r r e n t Character S i z e and the c u r r e n t p o s i t i o n of the pen. The p o s i t i o n i n g buttons of the p l o t t e r should be used to p o s i t i o n the pen to the d e s i r e d l o c a t i o n . C e r t a i n c h a r a c t e r s embedded i n the s t r i n g cause s p e c i a l treatment of the c h a r a c t e r s that f o l l o w . A i s used to enable s u p e r s c r i p t i n g . The c h a r a c t e r s f o l l o w i n g the c a r a t are p l o t t e d s m a l l e r and above the normal t e x t . S u b s c r i p t i n g i s invoked when a "!" i s encountered i n the t e x t . The t e x t r e t u r n to normal mode from s u p e r s c r i p t or s u b s c r i p t mode a f t e r a space i s encountered. The space does not appear i n the p l o t t e d t e x t . The s p e c i a l mark c h a r a c t e r s may be i n c l u d e d i n the p l o t t e d message by e n t e r i n g an "@" followed by the f i r s t l e t t e r of the mark name, i e . @D f o r DIAMOND, @T f o r TRIANGLE, @X f o r CROSS, @S f o r SQUARE and @H f o r HEXAGON. The sequence "@$" w i l l cause a c a r r i a g e r e t u r n to be sent to the p l o t t e r . I f the c h a r a c t e r s "~","!« or "§" are to appear i n the t e x t , they must be entered t w i c e . 255 2.4 Write Time and Date The c u r r e n t time and date s u p p l i e d by the Cyborg c l o c k i s p l o t t e d at the c u r r e n t pen p o s i t i o n i n the c u r r e n t Character S i z e . 2.5 C l e a r Sampled Data The data b u f f e r i s immediately c l e a r e d and the sampled data i s l o s t . C l e a r i n g the b u f f e r i s o f t e n necessary s i n c e sampling w i l l not occur i f the b u f f e r i s f u l l . 2.6 Return to Main Menu The user i s returned to main menu without any l o s s of data. The keys 6, R, SPACE and RETURN a l l w i l l invoke t h i s o p t i o n . 3 View Graph on Screen The screen p l o t t i n g r o u t i n e s are loaded and the user i s presented with the Screen Graph menu when a 3 or V i s entered while the main menu i s d i s p l a y e d . The screen p l o t t i n g r o u t i n e s are not as s o p h i s t i c a t e d as the p l o t t e r r o u t i n e s and, because of the lower r e s o l u t i o n of the g r a p h i c s screen (280 x 192 p i x e l s ) , cannot produce very high q u a l i t y p l o t s . However, the View Graph o p t i o n i s very u s e f u l f o r o b t a i n i n g very r a p i d v i s u a l feedback and g i v e s a reasonable approximation of the p l o t that w i l l be drawn by the p l o t t e r . I t i s recommended that t h i s o p t i o n always be used before proceeding to the p l o t t e r p l o t as i t w i l l a l l o w the user to see i f any e r r o r s were made i n s p e c i f y i n g the p l o t t i n g parameters. The opt i o n s p r o v i d e d by the 256 Screen Graph menu are d e s c r i b e d below. 3.1 P l o t Axes T h i s o p t i o n p l o t s the axes on the g r a p h i c s screen. The x - a x i s l a b e l l i n g appears at the bottom and the y - a x i s l a b e l i n g appears at the l e f t of the screen. Only the extreme t i c k marks are l a b e l l e d and because of the d i f f i c u l t y i n w r i t i n g r e a l numbers on the screen, the l a b e l s appear as i n t e g e r s with the s c a l i n g appended to the a x i s l a b e l s . The s p e c i a l c h a r a c t e r s r e c o g n i z e d by the p l o t t e r t e x t p l o t t i n g r o u t i n e s are not r e c o g n i z e d by the screen r o u t i n e s and so appear as o r d i n a r y c h a r a c t e r s . A f t e r the axes have been p l o t t e d , a key must be pressed to r e t u r n to the Screen Graph menu. 3.2 P l o t Analog Data The analog p l o t t i n g proceeds much i n much the same manner as f o r the p l o t t e r , but s i n c e there i s no delay due to the movement of the pen, the time between samples may be somewhat l e s s than when us i n g the p l o t t e r . 3.3 Dump Graph to P r i n t e r T h i s o p t i o n i s intended to perform a g r a p h i c s dump of the g r a p h i c s screen onto a dot matrix p r i n t e r u t i l i z i n g the firmware on the p r i n t e r c a r d i n t e r f a c e . U n f o r t u n a t e l y , the i n t e r a c t i o n of the firmware with the P a s c a l system i s u n p r e d i c t a b l e and t h i s o p t i o n does not u s u a l l y work. T h i s o p t i o n should not be used as i t w i l l probably "hang" the computer and f o r c e r e b o o t i n g of the 257 e n t i r e system. If t h i s o p t i o n i s s e l e c t e d a c c i d e n t a l l y , p r e s s i n g RETURN w i l l abort the request. 3 .4 C l e a r Analog Data T h i s o p t i o n immediately empties the data b u f f e r making any sampled data i r r e t r i e v a b l e . 3 . 5 Return to Main Menu The program r e t u r n s to the main menu i f 5, R, SPACE or RETURN i s pressed. The data i n the b u f f e r i s pr e s e r v e d . 4 Save X-Y Data The keys 4 and S invoke the SaveData subroutine which w i l l save the sampled data on a d i s k f i l e . The user i s asked f o r the name of a d i s k f i l e i n which the data w i l l be saved. I f data'has a l r e a d y been saved i n a f i l e , the user i s asked whether or not to use the e x i s t i n g f i l e and i f the data i s to ov e r w r i t e or to be appended to the p r e v i o u s l y s t o r e d data. Since i t i s not p o s s i b l e to append to a f i l e which has been c l o s e d , the c u r r e n t save f i l e i s l e f t open u n t i l a new save f i l e i s s p e c i f i e d or the program i s terminated; i t i s , t h e r e f o r e , very important to terminate the program i n an o r d e r l y manner through the Quit o p t i o n when f i n i s h e d u s i n g i t . I t i s unwise to t u r n o f f or r e s e t the computer to terminate the program. Conversely, i f an ex e c u t i o n e r r o r occurs d u r i n g any p a r t of the program, the l a s t save f i l e w i l l not get c l o s e d and so w i l l never appear i n the d i s k d i r e c t o r y . 258 If the name of the save f i l e s p e c i f i e d ends i n .TEXT, a s p e c i a l format i s used to save the data (see p. 266 of the Apple P a s c a l O p e rating System Manual). T h i s format allows the user to e d i t the data with the p-system e d i t o r but the f i l e w i l l occupy more d i s k space than one which does not have the s p e c i a l s u f f i x . Once the data has been s u c c e s s f u l l y saved on d i s k , the data b u f f e r i s a u t o m a t i c a l l y c l e a r e d . 5 C l e a r X-Y B u f f e r T h i s o p t i o n immediately c l e a r s the data b u f f e r i n e x a c t l y the same f a s h i o n as the c l e a r o p t i o n a v a i l a b l e i n the Screen Graph and Draw Graph menus. 6 Update D e f a u l t s F i l e I t i s o f t e n d e s i r a b l e to save the present set of d e f a u l t parameters i n the middle of program ex e c u t i o n . I t i s p o s s i b l e to save these parameters i n e i t h e r the present d e f a u l t s f i l e or in a new one. I t i s not p o s s i b l e , however, to load a new set of d e f a u l t parameters i n the middle of program e x e c u t i o n . Instead, the program must be terminated and r e s t a r t e d i n order to l o a d a new d e f a u l t s f i l e . 7 Q u i t Program S e l e c t i n g 7 or Q begins the program t e r m i n a t i o n sequence. If any data e x i s t s i n the data b u f f e r , the program warns the user that t h i s data w i l l be l o s t i f the Quit o p t i o n proceeds and a l l o w s the user to abort the Q u i t . Next, the program c l o s e s the 259 c u r r e n t data f i l e and, as a f i n a l step, asks the user i f the p l o t t i n g parameters are to be saved. I f the user responds a f f i r m a t i v e l y , the program proceeds with the Update o p t i o n d e s c r i b e d above before r e t u r n i n g c o n t r o l to the o p e r a t i n g system. E r r o r Handling I t i s hoped that t h i s program i s s u f f i c i e n t l y annotated to make r e f e r e n c e to t h i s manual unnecessary. There are very few pl a c e s where e r r o r s are immediately f l a g g e d by the program. Instead, the program t r i e s to c o r r e c t n o n s e n s i c a l input i n the most l o g i c a l f a s h i o n p o s s i b l e . For i n s t a n c e , i f the maximum of the x or y p l o t t i n g range i s l e s s than the corresp o n d i n g minimum then these values are interchanged. The adjustments the program makes to a v o i d execution e r r o r s may not r e s u l t i n the d e s i r e d e f f e c t so the user w i l l e v e n t u a l l y have to c o r r e c t the input e r r o r s . Every attempt has beer^ made to a v o i d execution e r r o r s t e r m i n a t i n g the program, no matter what keys are pressed; however, one notable "bug" remains and cannot be c o r r e c t e d . When p l o t t i n g on the p l o t t e r , the program transforms the r e a l x and y values to i n t e g e r p l o t t i n g c o o r d i n a t e s . I f t h i s t r a n s f o r m a t i o n produces i n t e g e r s which exceed the l i m i t s imposed by the compiler (-32,768 to 32,767), an execution e r r o r occurs. T h i s c o n d i t i o n can only r e s u l t i f the axes s p e c i f i e d are f a r too small to f i t the analog data. T h i s e r r o r does not occur while p l o t t i n g on the screen so i t i s a d v i s a b l e to use the screen 260 p l o t t i n g f e a t u r e before drawing the graph on the p l o t t e r to ensure that the data f i t s the p l o t . The reason the bug d e s c r i b e d above cannot be c o r r e c t e d i s r e l a t e d to the program s i z e . The program i s too l a r g e to f i t completely i n t o the Apple's memory at one time thus e x t e n s i v e use of o v e r l a y s has been made. The o v e r l a y i s a f e a t u r e of the p-system which makes i t p o s s i b l e to delay l o a d i n g of program segments u n t i l r e q u i r e d . N e v e r t h e l e s s , a subset of a l l program segments w i l l be loaded at any one time and the s i z e of t h i s subset must not exceed the r e a l memory i n the Apple. I t i s not p o s s i b l e to i n c l u d e the r e q u i r e d e r r o r checking i n the p l o t t e r r o u t i n e s without o v e r f l o w i n g program memory. T h i s comment i s made to warn any programmer from attempting to make major a d d i t i o n s or c o r r e c t i o n s to the AnalogPlot program. There i s no warning i f an overflow of program memory w i l l occur; u s u a l l y the program simply stops runnning or a re s e t occurs f o r no apparent reason. The AnalogPlot program has been designed to cover a wide range of analog data a q u i s i t i o n t a s k s . I t i s , however, l i m i t e d to two dimensional input data p l o t t e d on l i n e a r s c a l e s . More complex data a q u i s i t i o n t asks may be accomplished with minor m o d i f i c a t i o n s to the sourcee program r e s u l t i n g i n a p p l i c a t i o n s p e c i f i c programs. For i n s t a n c e , gain or power or l o g ( c u r r e n t ) may be computed as the data i s read from the A/D's by modifying the READDATA su b r o u t i n e . Care should be taken to keep m o d i f i c a t i o n s simple or program overflow w i l l occur. 1 1 1 :D 1 (*$L AP.LST.TEXT*) 2 1 1 . D 1 PROGRAM A n a l o g P l o t ; 3 1 1 0 3 4 1 1 D 3 (*$S++*) 5 1 1 D 3 (*$R-«) (* D i s a b l e range c h e c k i n g *) 6 1 1 D 3 (*$I-*) (* D i s a b l e I/O e r r o r c h e c k i n g *) . 7 1 1 D 3 (*$N+*) (* Don't l o a d u n i t s and segments u n t i l needed *) 8 1 1 D 3 9 1 1 D 3 10 1 1 D 3 (* T h i s program s i m u l a t e s an a n a l o g p l o t t e r . I t takes 11 1 1 D 3 a n a l o g v o l t a g e r e a d i n g s from the Cy b o r g I n t e r f a c e and p l o t s 12 1 1 D 3 them d y m a n l c a l l y on the s c r e e n or. the M i p l o t p l o t t e r . In 13 1 1 0 3 CONTINUOUS mode, p o i n t s a r e p l o t t e d as a c o n t i n u o u s l i n e ; 14 1 1 D 3 w h i l e In SAMPLED mode, d e s c r e t e p o i n t s c a n be saved i n a f i l e 15 1 1 D 3 a f t e r h a v i n g p1otted,them. Sampling Is pe r f o r m e d e i t h e r at 16 1 1 D 3 s p e c i f i e d X - v o l t a g e INTERVALS o r by p r e s s i n g a keyboard key 17 1 1 0 3 t o t a k e t h e sample (INTERVAL = 0.0). In DRIVE mode, the program 18 1 1 D 3 w i l l a u t o m a t i c a l l y s e t the CYBORG D/A s p e c i f i e d to range from 19 1 1 0 3 XMINIMUM to XMAXIMUM In SAMPLE INTERVAL s t e p s . If SAMPLE INTERVAL 20 1 1 D 3 Is s e t to 0.0, then 2O0 s t e p s w i l l be u s e d but the sampled d a t a 21 1 1 D 3 w i l l not be saved. When s e l e c t i n g d r i v e mode, the u s e r must 22 1 1 0 3 s p e c i f y a p r e s c a l e f a c t o r which w i l l m u l t i p l y the v a l u e between 23 1 1 D 3 XMINIMUM and XMAXIMUM b e f o r e o u t p u t l n g t o the D/A. T h i s parameter 24 1 1 0 3 s h o u l d be s e t t o -0.5 If the O/A Is c o n n e c t e d to the KEPCO power 25 1 1 0 3 s u p p l y ; o t h e r w i s e , ' a v a l u e of 1.0 s h o u l d be used. 26 1 1 D 3 27 1 1 D 3 W r i t t e n by D a n i e l Camporese. O ct. 1983. 28 1 1 D 3 L a t e s t R e v i s i o n Mar 16 /84. *) 29 1 1 D 3 30 29 1 • 3 31 29 2 0 3 FUNCTION SIN(X:REAL):REAL: 32 29 3 • 3 FUNCTION COS(X:REAL):REAL: 33 29 4 0 3 FUNCTION EXP(X.REAL) .REAL; 34 29 5 D 3 FUNCTION ATAN(X:REAL);REAL: 35 29 6 0 3 FUNCTION LN(X:REAL):REAL: 36 29 7 D 3 FUNCTION L0G(X:REAL).REAL: 37 29 8 0 3 FUNCTION SQRT(X:REAL):REAL: 38 29 8 0 5 39 24 1 0 5 40 24 1 D 3 41 24 2 D 3 FUNCTION AnalogIn(Channe1 , 42 24 2 D 3 SampleNumber : I n t e g e r ) : R e a l ; 43 24 2 D 5 • 44 24 2 D 5 45 24 3 D 1 PROCEDURE AnalogOut(Channel I n t e g e r ; 46 24 3 D 2 V o l t a g e : Real ); 47 24 3 0 4 48 24 4 D 3 FUNCTION Frequency(Channel : I n t e g e r ; 49 24 4 D 4 VAR GateTime : I n t e g e r ) : R e a l ; 50 24 4 D 5 51 24 5 0 1 PROCEDURE SoundBeep(Times : I n t e g e r ) : 52 24 5 D 2 53 24 6 D 1 PROCEDURE SoundBuzz(T1mes : I n t e g e r ) ; 54 24 6 D 2 55 24 7 :D 1 PROCEDURE S e t D a t e ( Y e a r . M o n t h . D a y : I n t e g e r ) ; 56 24 7 :D 4 57 24 8 :D 1 PROCEDURE S e t T 1 m e ( H o u r . M i n u t e : I n t e g e r ) ; 58 24 8 :D 3 59 24 9 :D 1 PROCEDURE ReadDatE(VAR Y e a r . M o n t h . D a y : I n t e g e r ) ; 60 24 9 :D 4 61 24 10 :D 1 PROCEDURE ReadTime(VAR H o u r , M i n u t e : I n t e g e r ) ; 62 24 10 :D 3 63 24 11 :D 3 FUNCTION C l k S e c o n d s : I n t e g e r ; 64 24 11 :D 3 65 24 12 :D 1 PROCEDURE DateandT1me(VAR D T S t r l n g : S t r i n g ) ; 66 24 12 :D 2 67 26 1 :D 2 68 26 1 :D 3 69 26 1 :0 3 USES TRANSCEND; 70 26 1 :D 1 71 26 1 :D 1 CONST 72 26 1 :D 1 MAXDATANUM - 100; 73 26 1 :D 1 74 26 1 :D 1 TYPE 75 26 1 : :D 1 POINT - (NULL.DOT,DIAMOND.SQUARE.TRIANGLE.CROSS,HEXAGON) 76 26 1 : :D 1 PLACE = (NOPLACE,TOP.BOTTOM,ABOVE.BELOW.LEFT,R IGHT) ; 77 26 1 : :D 1 L INE » (NOL INE ,SOL ID .DASHED) ; 78 26 1 : :0 1 AXES = ( X . Y . L O G X . L O G Y ) ; 79 26 i : :0 1 PENPOS= (UP.DOWN); 80 26 1 : :D 1 CM » REAL : 81 26 1 : :D 1 MM » R E A L ; 82 26 1 : :D 1 NAME » S T R I N G [ 4 0 ] ; 83 26 1 : :0 1 DATA = ARRAY[1..MAXDATANUM] OF REAL ; 84 26 1 : :D 1 85 26 1 :D 1 VAR 86 26 1 : :D 1 ATTNINTRPT : BOOLEAN; 87 26 1 : :D 2 88 26 2 : :D 1 PROCEDURE PLOTCOMMAND(COMM : CHAR; X . Y . Z : INTEGER) ; 89 26 2 : :D 5 90 26 3 : :D 1 PROCEDURE PAUSE(MESSAGE : S T R I N G ) ; 91 26 3 : :D 43 92 26 4 : :D 1 PROCEDURE PAPERSIZE(WIDTH,HEIGHT,XMARGIN,YMARGIN:CM; 93 26 4 : :D 9 BORDER:BOOLEAN); 94 26 4 : :D 10 95 26 5 : :D 1 PROCEDURE SETL INE(LTYPE : L I N E ) ; 96 26 5 : :D 2 97 26 6 : :D 1 PROCEDURE MAP(XMIN,XMAX,YMIN,YMAX : R E A L ) ; 98 26 6 : :D 9 99 26 7: :D 1 PROCEDURE AUTOSCALE(VAR MIN,MAX.SPACE : R E A L ; 100 26 7: :D 4 VAR NTICKS : INTEGER) ; 101 26 7: :D 5 102 26 8: :D 3 FUNCTION STRLENGTH(TEXT : STRING) : INTEGER; 103 26 8 : :D 45 104 26 9 : :D 1 PROCEDURE SETT ITLE(T ITLE : STRING; 105 26 9 : :D 2 SIZE : MM; 106 26 9 : :D 4 LOCATION : P L A C E ) ; 107 26 9 : 0 46 108 26 10: :D 1 PROCEDURE S E T L A B E L S ( X L A B E L . Y L A B E L : NAME; 109 26 IO :D 3 SIZE : MM); 1 10 26 10 :D 47 11 1 26 11 :D 1 PROCEDURE SETMARK(MARKTYPE : POINT; 1 12 26 1 1 :D 2 S IZE : MM); 113 26 1 1 :D 4 114 26 12 :D 1 PROCEDURE DASHLINE(PITCH : MM); 1 15 26 12 :D 3 1 16 26 13 :D 1 PROCEDURE PLOTTEXT(TEXT : STRING; 1 17 26 13 :D 2 X . Y : CM; 1 18 26 13 :D 6 SIZE : MM); 1 19 26 13 D 49 120 26 14 0 1 PROCEDURE PLOTNUMBER(NUMBER : R E A L ; 121 26 14 0 3 LEN : INTEGER: 122 26 14 0 4 NUMBSIZE : MM); 123 26 14 0 6 124 26 15 D 1 PROCEDURE PLOTMOVE(XPOINT,YPOINT : R E A L : 125 26 15 0 5 STARTPEN,STOPPEN : PENPOS ) ; 126 26 15 D 7 127 26 16 0 1 PROCEDURE PLOTCURVE(VAR XARR.YARR : DATA; 128 26 16 0 3 NPOINTS : INTEGER) : 129 26 16 0 4 130 26 17 D 1 PROCEDURE PLOTAXIS (XSTART.YSTART,T ICSPACE : REAL ; 131 26 17 D 7 NTICKS : INTEGER: 132 26 17 0 8 AXISTYPE : A X E S ; 133 26 17 0 9 NUMBSIDE : P L A C E : 134 26 17 0 10 NUMBSIZE : MM); 135 26 17 0 12 136 20 1 • 12 137 20 1 0 3 TYPE 138 20 1 D 1 SCREENCOLOR = • ( n o n e . w h l t e , b l a c k , r e v e r s e . r a d a r , 139 20 1 D 1 b i a c k 1 . g r e e n , v i o l e t , w h l t e 1 , b l a c k 2 . o r a n g e . b l u e . w h l t e 2 ) 140 20 1 D 1 141 20 2 D 1 PROCEDURE IN ITTURTLE: 142 20 3 D 1 PROCEDURE TURN(ANGLE: INTEGER) ; 143 20 4 0 1 PROCEDURE TURNTO(ANGLE: INTEGER) : 144 20 5 D 1 PROCEDURE MOVE(DIST: INTEGER) ; 145 20 6 D 1 PROCEDURE MOVETO(X,Y: INTEGER) ; 146 20 7 0 1 PROCEDURE PENCOLOR(PENMODE: SCREENCOLOR); 147 20 8 0 1 PROCEDURE TEXTMODE: 148 20 9 0 1 PROCEDURE GRAFMODE; 149 20 10 D 1 PROCEDURE F I L L S C R E E N ( F I L L C D L O R : SCREENCOLOR) ; 150 20 11 D 1 PROCEDURE VIEWPORT(LEFT.RIGHT,BOTTOM,TOP: INTEGER) ; 151 20 12 D 3 FUNCTION TURTLEX: INTEGER; 152 20 13 0 3 FUNCTION TURTLEY: INTEGER; 153 20 14 D 3 FUNCTION TURTLEANG: INTEGER; 154 20 15 D 3 FUNCTION S C R E E N B I T ( X . Y : INTEGER) : BOOLEAN: 155 20 16 0 1 PROCEDURE ORAWBLOCK(VAR SOURCE; ROWSIZE .XSK IP .YSK IP ,WIDTH.HE IGHT , 156 20 16 0 2 XSCREEN,YSCREEN.MODE: INTEGER) ; 157 20 17 0 1 PROCEDURE WCHAR(CH: CHAR) ; 158 20 18 D 1 PROCEDURE WSTRING(S: S T R I N G ) ; 159 20 19 D 1 PROCEDURE CHARTYPE(MODE: INTEGER) : 160 20 19 D 2 161 23 1 0 2 162 23 1 0 3 163 23 2 •D 1 PROCEDURE SETUNIDIRECT; 164 23 3 .D 1 PROCEDURE SETBIDIRECT; 165 23 4 D 1 PROCEDURE SETNEGATIVE; 166 23 5 D 1 PROCEDURE SETPOSITIVE; 167 23 6 D 1 PROCEDURE DUMPGR(PR : INTEGER); 168 23 6 0 2 169 1 1 0 2 USES T r a n s c e n d , C y b o r g , M l p l o t , T u r t 1 e G r a p h l c s . P r i n t s t u f f 170 1 1 D 3 171 1 1 0 ' 3 172 1 1 D 3 CONST 173 1 1 D 3 Blank « ' ' ; 174 1 1 D 3 B l k s p = ' 175 1 1 D 3 AbsMaxRow » 99; 176 1 1 D 3 MaxColumn = 4 177 1 1 D 3 MaxChan « 15; 178 1 1 0 3 S a m p l e S t r i n g * 'Press a key t o sample (ESC to s t o p ) ' : 179 1 1 0 • 3 P r e s s K e y * 'Press a key'; 180 1 1 0 3 E s c S t r m g » 'Press ESC to t e r m i n a t e ' ; 181 1 1 0 3 ArrowKeys =» 'use <-- and --> to change parameter'; 182 1 1 0 3 Abo r t • ' p r e s s CTRL-C t o a b o r t p l o t '; 183 1 1 0 3 StartStr1ng='PRESS A KEY TO BEGIN'; 184 1 1 0 3 B u f f e r F u l l = ' da t a b u f f e r fu1 I f * ; 185 1 1 D 3 N o o f P t s • 'H Of Sampled P o i n t s : '; 186 1 1 0 3 SampleAve » 10; 187 1 1 0 3 XPMIn = 3 0 ; 188 1 1 0 3 YPM1n » 32; 189 1 1 0 3 XPLen » 250: 190 1 1 D 3 YPLen «• 160; 191 1 1 D 3 D e n s e P o l n t s » 200: 192 1 1 D 3 193 1 1 D 3 TYPE 194 1 1 D 3 MessType * S t r 1 n g [ 4 0 ] ; 195 1 1 D 3 PrType = (Undefined,S11entype.Epsom); 196 1 1 D 3 197 1 1 D 3 VAR 198 1 1 D 3 XData,YData Data; 199 1 1 D 403 XP,YP.XP1 Real ; 200 1 1 D 409 X S c r n , Y S c r n I n t e g e r ; 201 1 1 0 411 D f 1 t F 1 l e . D a t a F l i e : Te x t ; 202 1 1 D 1013 P r n t Text; 203 • 1 1 D 1314 P r i n t e r PrType; 204 1 1 D 1315 F11eName S t r 1 n g [ 3 0 ] ; 205 1 1 D 1331 Response Char; 206 1 1 0 1332 Qui t Boolean; 207 1 1 D 1333 Escape Bool e a n : 208 1 1 0 1334 K e y P r e s s B o o l e a n : 209 1 1 D 1335 L i n e s t r ARRAY[0.2] OF S t r 1 n g [ 7 ] ; 210 1 1 D 1347 M a r k S t r ARRAY[0..6] OF S t r 1 n g [ 8 ) ; 211 1 1 0 1382 C h a n S t r ARRAY[-15..16] OF S t r 1 n g [ 8 ] ; 212 1 1 D 1542 ModeStr ARRAY[0..5) OF S t M n g [ 1 0 ] ; 213 1 1 D 1578 NoDataF 1 l e Boolean; 214 1 1 0 1579 Sea 1ed Boo 1ean; 215 1 1 0 1580 D a taSaved Boo 1ean; 216 1 1 0 1581 Drawn Bo o l e a n : 217 1 1 0 1582 MaxI I n t e g e r ; 218 1 1 0 1583 I I n t e g e r ; 219 1 1 D 1584 H I S t r . L o w S t r S t r 1 n g [ 2 ] : 220 1 1 0 1588 ScrnXMIn : R e a l ; 221 1 1 0 1590 ScrnYMIn : R e a l ; 222 1 1 0 1592 S c r n X S c a l e : R e a l ; 223 1 1 0 1594 S c r n Y S c a l e : R e a l : 224 1 1 0 1596 LongAve : I n t e g e r 225 1 1 D 1597 Xout.DtoaOut Real 226 1 1 D 1601 Smal1 S t e p Real 227 1 1 D 1603 228 1 1 0 1603 (* P l o t t i n g Parameters *) 229 1 1 0 1603 230 1 1 D 1603 X L a b e l . Y L a b e l S t r i n g ; 231 1 1 D 1685 ModeNum I n t e g e r ; 232 1 1 D 1686 XChannel I n t e g e r ; 233 1 1 D 1687 YChannel I n t e g e r ; 234 1 1 D 1688 I n t e r v a 1 Real 235 1 1 0 1690 X I n S c a l e Real 236 1 1 D 1692 Y I n S c a l e Real 237 1 1 D 1694 P r e S c a l e Real 238 1 1 D 1696 X S c a l e Real 239 1 1 0 1698 Y S c a l e Real 240 1 1 D 1700 L1neNum I n t e g e r ; 241 1 1 0 1701 MarkNum I n t e g e r ; 242 1 1 0 1702 DashLength MM; 243 1 1 D 1704 P l o t W I d t h CM; 244 1 1 0 1706 P l o t H e l g h t CM; 245 1 1 D 1708 XmInlmum Real 246 1 1 D 1710 XMax1mum Real 247 1 1 0 1712 YMlnlmum Rea 1 248 1 1 0 1714 YMaxImum Real 249 1 1 0 1716 Numbers 1ze MM; 250 1 1 0 1718 C h a r S I z e MM; 251 1 1 D 1720 XMargln,YMargln : CM; 252 1 1 D 1724 XTIcNum.YTlcNum : I n t e g e r ; 253 1 1 0 1726 X T i c S p a c e Rea 1 254 1 1 0 1728 YTIcSpace Real 255 1 1 D 1730 T1meZero,01dSeconds.Minutes : I n t e g e r ; 256 1 1 0 1733 W a l t T I l 1 I n t e g e r : 257 1 1 D 1734 258 1 1 D 1734 (* The f o l l o w i n g p r o c e d u r e s a r e loaded o n l y when needed 259 1 1 D 1734 259 1 1 D 1734 (*$I ANAL0GSEG1 *) 260 1 2 0 1 PROCEDURE ConsoleCheck; 261 1 2 0 1 FORWARD; 262 1 2 0 1 263 1 3 D 1 PROCEDURE ReadData(Average : I n t e g e r ) ; 264 1 3 D 2 FORWARD; 265 1 3 0 2 266 1 4 0 1 PROCEDURE ScreenMap(XMln.XMax.YMIn,YMax : R e a l ) : 267 1 4 D 9 FORWARD: 268 1 4 D 9 269 1 4 D 9 270 1 5 D 1 PROCEDURE S c r e e n D r a w ' X , Y : R e a l ; Pen : I n t e g e r ) ; 271 1 5 D 6 FORWARD; 272 1 5 D 6 273 1 5 0 6 • 274 1 6 D 1 PROCEDURE ReadandDraw(Ave rage : I n t e g e r ) ; 275 1 6 • 2 FORWARD; 276 1 6 D 2 277 1 7 D 1 PROCEDURE I n 1 t T l m e r ; 278 1 7 D 1 FORWARD; 279 1 7 D 1 280 1 8 0 1 PROCEDURE W r 1 t e M e s s a g e ' M e s s a g e : M e s s T y p e ) ; 281 1 8 D 23 FORWARD; 282 1 8 D 23 283 1 9 D 3 FUNCTION R e a d O p t l o n : I n t e g e r ; 284 1 9 0 3 FORWARD; 285 1 9 D 3 286 7 1 0 1 SEGMENT PROCEDURE P1otSamp1es(Mode : I n t e g e r ) ; 287 7 1 D 2 288 7 2 D 1 PROCEDURE C o n t i n u o u s : 289 7 2 D 1 290 7 2 0 0 BEGIN 291 7 2 1 0 E s c a p e :» F a l s e ; 292 7 2 1 4 G o t o x y ( 0 , 2 1 ) ; 293 7 2 1 9 Wr l t e ( E s c S t n n g , B l k S p . C h r ( 135) ) ; 294 7 2 1 71 R e a d D a t a ( S a m p l e A v e ) : 295 7 2 1 75 P l o t M o v e ( X P . Y P , U p . D o w n ) ; 296 7 2 1 90 IF I n t e r v a l = 0 . 0 THEN BEGIN 297 7 2 3 106 REPEAT 298 7 2 4 106 R e a d D a t a ( S a m p l e A v e ) ; 299 7 2 4 110 P l o t M o v e ( X P , Y P , D o w n , D o w n ) ; 300 7 2 4 125 C o n s o l e c h e c k ; 301 7 2 3 128 UNTIL E s c a p e 302 7 2 2 128 END ELSE BEGIN 303 7 2 3 135 REPEAT 304 7 2 4 135 R e a d D a t a ( S a m p l e A v e ) ; 305 7 2 4 139 P l o t M o v e ( X P . Y P , D o w n , D o w n ) ; 306 7 2 4 154 C o n s o l e c h e c k ; 307 7 2 4 157 I F . A b s ( X P I - X P ) > I n t e r v a l THEN BEGIN 308 7 2 6 178 XP1 := X p ; 309 7 2 6 188 G o t O x y ( 3 , 1 7 ) ; 310 7 2 6 193 W r 1 t e ( X P : 1 2 : 3 , Y P : 1 2 : 3 ) : 311 7 2 6 219 P 1 o t M o v e ( X P , Y P . D o w n , D o w n ) ; 312 7 2 6 234 P 1 o t C o m m a n d ( ' N ' , 1 . 0 , 0 ) ; 313 7 2 5 241 END; 314 7 2 3 241 UNTIL E s c a p e : 315 7 2 2 246 END; (* ELSE *) 316 7 2 1 246 P l o t M o v e ( X P , Y P . U p . U p ) : 317 7 2 0 26 1 END: (* C o n t i n u o u s *) 318 7 2 0 278 319 7 3 D 1 PROCEDURE S a m p l e O a t a : 320 7 3 0 1 321 7 3 0 0 BEGIN 322 7 3 1 0 IF ( I • MaxDataNum) THEN W r 1 t e M e s s a g e ( ' d a t a 323 7 3 1 29 ELSE BEGIN 324 7 3 : 3 34 E s c a p e :» F a l s e : 325 7 3 : 3 38 K e y P r e s s :» F a l s e ; 326 7 3 : 3 42 R e a d D a t a ( L o n g A v e ) ; 327 7 3 : 3 48 G o t o x y ( 3 . 1 7 ) ; 328 7 ' 3 : 3 53 W r l t e ' X P : 1 2 : 3 , Y P : 1 2 : 3 ) : 329 7 3 : 3 79 P l o t M o v e ' X P . Y P . U p . U p ) : 330 7 3 : 3 94 IF I n t e r v a l = 0 . 0 THEN BEGIN 331 7 3 : 5 1 10 G o t o x y ( 0 . 2 1 ) ; 332 7 3 : 5 1 15 W r 1 t e ( S a m p 1 e S t r 1 n g , C h r ( 1 3 5 ) ) ; 333 7 3 : 5 170 REPEAT 334 7 3 :6 170 WHILE NOT K e y P r e s s DO BEGIN 335 7 3 :8 176 R e a d D a t a ( S a m p l e A v e ) ; 336 7 3 :8 180 Conso1eCheck ; 337 7 3 :7 183 END; 338 7 3 :6 185 IF NOT E s c a p e AND (I < MaxDataNum) THEN BEGIN 339 7 3 :8 197 R e a d ( K e y b o a r d , R e s p o n s e ) ; 340 7 3 :8 206 K e y P r e s s := F a l s e ; 341 7 3 :8 210 P l o t M o v e ' X P , Y P , D o w n , U p ) : 342 7 3 :8 225 I : = I + 1 ; 343 7 3 :8 233 C o n s o 1 e C h e c k ; 344 7 3 :8 236 G o t o x y ( 3 6 , 1 ) ; 345 7 3 :8 241 W r 1 t e ( I : 3 ) ; 346 7 3 :8 251 G o t o x y ( 3 , 1 7 ) ; 347 7 3 :8 256 W r l t e ' X P : 1 2 : 3 . Y P : 1 2 : 3 ) ; 348 7 3 : :8 282 X D a t a [ I ] : = X P ; 349 7 3 : :8 299 Y D a t a [ I ] := Y P ; 350 7 3 : :7 315 END; (* THEN * ) 351 7 3 : :5 315 UNTIL E s c a p e OR ( I >= MaxDataNum); 352 7 3 : :4 326 END ELSE BEGIN (* I n t e r v a l <> 0 . 0 * ) 353 7 3 : :5 328 G o t o x y ' O . 2 1 ) : 354 7 3 : 5 333 W r 1 t e ( E s c S t r 1 n g , C h r ( 1 3 5 ) ) ; 355 7 3 : :5 375 REPEAT 356 7 3 : 6 375 XP1 := X p ; 357 7 3 : 6 385 WHILE (Abs (XP1 - XP) < I n t e r v a l * 0 . 9 9 ) 358 7 3 : 6 411 AND NOT E s c a p e 00 BEGIN 359 7 3 : 8 418 R e a d D a t a ( S a m p l e A v e ) ; 360 7 3 : 8 422 C o n s o l e C h e c k ; 361 7 3 : 7 425 END; 362 7 3 : 6 427 R e a d D a t a ( L o n g A v e ) : 363 7 3 : 6 433 P l o t M o v e ( X P , Y P . D o w n , U p ) : 364 7 3 : 6 448 P l o t C o m m a n d ( ' N ' . 1 , 0 , 0 ) : 365 7 3 : 6 455 I := I + 1; 366 7 3 : 6 463 Conso1eCheck ; 367 7 3 : 6 466 G o t o x y ( 3 6 , 1 ) ; • 368 7 3 : 6 471 W r i t e ' I : 3 ) ; 369 7 3 : 6 481 G o t o x y O , 17 ); 370 7 3 : 6 486 W r l t e ' X P : 1 2 : 3 , Y P : 1 2 : 3 ) ; 371 7 3 : 6 512 X D a t a [ I ] := X P ; 372 7 3 : 6 529 Y D a t a [ I ] := Y P ; 373 7 3 : 5 545 UNTIL E s c a p e OR ( I >= MaxDataNum): 374 7 3 : 4 556 END; (* ELSE * ) 375 7 3 : 3 556 Max I := I; 376 7 3 : 3 562 D a t a S a v e d := f a l s e : 377 7 3 : 2 566 END; (* ELSE * ) 378 7 3 . 0 566 END; (* S a m p l e D a t a * ) 379 7 3 0 592 380 7 1 : 0 0 BEGIN 381 7 i 0 0 (*$R D r a w P l o t t e r * ) 382 7 1 1 0 CASE Mode OF 383 7 1 1 3 0 : C o n t i n u o u s ; 384 7 i 1 7 1 : S a m p l e D a t a ; 385 7 1 1 1 1 END; 386 7 1 0 22 END; (* P l o t S a m p l e s * ) 387 7 i 0 34 388 8 1 0 1 SEGMENT PROCEDURE D r 1 v e n ( D t o A C h a n : I n t e g e r ) ; 389 8 i D 2 390 B 1 0 2 VAR 391 8 1 D 2 I n t r v l : R e a l ; 392 8 1 D 4 NoSample : B o o l e a n ; 393 8 i D 5 394 8 i 0 0 BEGIN 395 8 1 0 0 (*$R D r a w P l o t t e r * ) 396 8 i 1 0 E s c a p e : • F a l s e : 397 8 i 1 4 NoSample F a l s e ; 398 a i 1 7 IF ( I n t e r v a l < - 1 . 0 E - 3 5 ) THEN Xou t := XMaxImum 399 8 i 1 26 ELSE Xou t :» XMInlmum; 400 8 1 1 45 G o t o x y ( 0 , 2 1 ) ; 401 8 1 1 50 W r 1 t e ( E s c S t r 1 n g , C h r ( 1 3 5 ) ) ; 402 8 i 1 92 DtoAOut := XOut * P r e S c a l e ; 403 8 1 1 108 A n a l o g O u t ( D t o A C h a n , D t o A O u t ) ; 404 8 1 1 117 G o t o x y ( 0 , 2 2 ) ; 405 8 1 1 122 W r l t e ( B 1 k S p , S t a r t s t r l n g ) ; 406 8 1 1 172 R e a d ( K e y b o a r d , R e s p o n s e ) ; 407 8 1 1 181 I n 1 t T l m e r ; 408 8 1 1 184 G o t o x y ( 0 , 2 2 ) ; 409 8 i 1 189 W M t e ( B l a n k ) ; 410 8 1 1 239 IF ( A b s ( I n t e r v a l ) < 1 . 0 E - 3 5 ) THEN BEGIN 411 8 i 3 256 NoSample :» Tru,e; 412 8 1 3 259 S m a l l S t e p := (XmaxImum-XM1nImum)/DensePo1nts ; 413 8 1 2 280 END ELSE IF (Abs((XmaxImum-Xmln1 m u m ) / I n t e r v a 1 ) >= MaxDataNum) 414 8 1 2 304 THEN BEGIN 415 8 i 4 306 NoSample : • T r u e ; 416 8 i 4 309 S m a l l S t e p := I n t e r v a l ; 417 8 i 3 319 END: 418 8 1 1 319 IF NoSample THEN BEGIN 419 8 1 3 322 . R e a d D a t a ( S a m p l e A v e ) ; 420 8 i 3 326 P l o t M o v e ( X P , Y P , U p , D o w n ) ; 421 a i 3 34 1 422 8 1 3 341 WHILE (Xou t <» Xmaxlmum) AND ( X o u t >= XMInlmum) 423 a 1 3 365 AND NOT E s c a p e DO BEGIN 424 8 i 5 373 R e a d D a t a ( S a m p l e A v e ) ; 425 a 1 5 377 P l o t M o v e ( X P , Y P . D o w n , D o w n ) ; 426 a 1 5 392 C o n s o l e C h e c k ; 427 a 1 5 395 G o t o x y ( 3 . 1 7 ) ; 428 8 1 5 400 W r i t e ( X P : 1 2 : 3 , Y P : 1 2 : 3 ) ; 429 a 1 5 426 Xou t := Xout + S m a l l S t e p : 430 a 1 5 442 DtoAOut := Xout * P r e S c a l e ; 43 1 8 1 5 458 A n a l o g O u t ( D t o A C h a n , D t o A O u t ) ; 432 8 1 :4 467 END; (* WHILE * ) 433 8 1 : 2 469 END ELSE IF ( I => MaxDataNum) THEN Wr 1 t e M e s s a g e ' B u f f e r F u l 434 8 1 •2 501 ELSE BEGIN 435 8 1 4 506 IF XChanne l = 16 THEN 436 8 1 : 5 513 I n t r v l := (Xmax1mum-Xmlnlmum)/MaxDataNum 437 8 1 4 526 ELSE I n t r v l := I n t e r v a l ; 438 8 1 4 542 R e a d D a t a ( L o n g A v e ) ; 439 8 1 4 548 P l o t M o v e ( X p , Y p , U p . D o w n ) ; 440 8 1 4 563 441 8 1 4 563 WHILE (Xou t <= XMaxImum) AND ( X o u t >= XMtnlmum) 442 8 1 4 587 AND ( I < MaxDataNum) AND NOT E s c a p e DO BEGIN 443 8 1 6 601 R e a d D a t a ( L o n g A v e ) ; 444 8 1 6 607 P l o t M o v e ( X P , Y P . D o w n , D o w n ) ; 445 8 1 6 622 P 1 o t C o m m a n d ( ' N ' , 1 , 0 , 0 ) ; 446 8 1 6 629 I : = I + 1 ; 447 8 1 6 637 X D a t a t I ] :,= X P ; 448 8 1 6 654 Y D a t a [ I ] := Y P ; 449 8 1 6 670 C o n s o l e C h e c k ; 450 8 1 6 673 G o t o x y ( 3 6 , 1 ) ; 45 1 8 1 6 678 W r 1 t e ( 1 : 3 ) ; ' 452 8 1 6 688 G o t o x y ( 3 , 1 7 ) ; 453 8 1 6 693 W r l t e ' X P : 1 2 : 3 , Y P : 1 2 : 3 ) ; 454 8 1 6 719 Xou t : =» Xout + I n t r v l ; 455 8 1 6 734 DtoAOut := Xout * P r e s c a l e ; 456 8 1 6 750 A n a l o g O u t ( D t o A C h a n , D t o A O u t ) : 457 8 1 5 759 END; (• WHILE * ) 458 8 1 4 761 • MaxI := I: 459 8 1 4 767 D a t a S a v e d : • F a l s e ; 460 8 1 3 771 END; (* ELSE ») 461 8 1 1 771 P 1 o t M o v e ( X P , Y P , U p . U p ) ; 462 8 1 1 786 A n a l o g O u t ( D t o A C h a n . O . O ) ; 463 8 1 0 797 END; (* D r i v e n * ) 464 8 1 0 822 465 8 1 0 822 466 9 1 D 1 SEGMENT PROCEDURE S c r e e n A x e s ' X M 1 n , X M a x , Y M 1 n , Y M a x : R e a l ; 467 9 1 D 9 X N T I c k s . Y N t l c k s : I n t e g e r ; 468 9 1 D 11 X L a b e l . Y L a b e l : S t r i n g ) ; 469 9 1 0 95 470 9 1 D • 95 CONST 471 9 1 D 95 MaxNumLen = 3 ; 472 9 1. D 95 M a x L b l L e n » 17; 473 9 1 : 0 95 T o t L b l L e n = 2 3 : 474 9 1 : D 95 T I c k L e n = 5 ; 475 9 1 D 95 476 9 1 : 0 95 VAR 477 9 1 : 0 95 I I n t e g e r ; 478 9 1 : D 96 XPower I n t e g e r ; 479 9 1 D 97 YPower I n t e g e r ; 480 9 1 : 0 98 L o n g S t r S t r 1 n g [ 1 2 j ; 481 9 1 : • 105 S h o r t S t r S t r 1ng [MaxNumLen ] ; 482 9 1 : D 107 PowerS t r S t r 1 n g [ 3 ) ; 483 9 1 • D 109 L a b e l S t r S t r l n g t T o t L b l L e n ] ; 484 9 1 • 0 121 L C h a r C h a r ; 485 9 1 • D 122 486 9 1 0 122 487 9 2 D 1 PROCEDURE S c r e e n N u m b e r ( X , Y : I n t e g e r ) ; 488 ' 9 2 D 3 489 9 2 0 0 BEGIN 490 9 2 1 0 M o v e t o ( x , y ) ; 491 9 2 1 5 IF L e n g t h ( L o n g S t r ) <= MaxNumLen THEN 492 9 2 2 14 S h o r t S t r := L o n g S t r 493 9 2 1 17 ELSE 494 9 2 2 24 S h o r t S t r :» C o p y ( L o n g S t r . 1 , M a x N u m L e n ) ; 495 9 2 1 41 W s t r i n g ( S h o r t S t r ) ; 496 9 2 0 47 END; (* ScreenNumber * ) 497 9 2 0 60 498 9 3 D 3 FUNCTION TenToThe(Power : I n t e g e r ) : R e a l ; 499 9 3 D 4 500 9 3 0 0 BEGIN 501 9 3 1 0 IF Power < 0 THEN TenToThe := 1 . 0 / P w r O f T e n ( 0 502 9 3 1 17 ELSE TenToThe := P w r O f T e n ( P o w e r ) ; 503 9 3 0 31 END; 504 9 3 0 44 505 9 1 O 0 BEGIN (* S c r e e n Axes * ) 506 9 1 0 0 (*$R T r a n s c e n d , T u r t l e G r a p h l c s * ) 507 9 1 1 0 Penco1 o r ( N o n e ) ; 508 9 1 1 16 M o v e t o ( X P M 1 n , Y P M I n ) ; 509 9 1 1 21 P e n c o l o r ( W h l t e ) ; 510 9 1 1 25 T u r n t o ( O ) ; 511 9 1 1 29 M o v e ( X P L e n - 1 ) ; 512 9 1 1 37 T u r n t o ( 9 0 ) ; 513 9 1 1 41 M o v e ( Y P L e n - 1 ) ; 514 9 1 1 49 T u r n t o ( 1 8 0 ) ; 515 9 1 1 55 M o v e ( X P L e n - 1 ) ; . 516 9 1 1 63 T u r n t o ( 2 7 0 ) ; 517 9 1 1 69 M o v e ( Y P L e n - 1 ) ; 518 9 1 1 77 T u r n t o ( O ) ; 519 9 1 1 81 FOR I := 1 TO Y N T 1 c k s - 1 DO BEGIN 520 9 1 3 96 PenCo1 o r ( N o n e ) ; 521 9 1 3 100 Moveto(XPM1n.YPM1n+1 * Y P L e n DIV YNT1cks ) ; 522 9 1 3 1 14 Penco1 o r ( w h l t e ) ; 523 9 1 3 1 18 M o v e ( T l c k L e n ) ; 524 9 1 3 122 Penco1 o r ( N o n e ) ; 525 9 1 3 126 M o v e ( X P L E N - 2 * T 1 c k L e n ) ; 526 9 1 3 136 P e n C o 1 o r ( w h l t e ) ; 527 9 1 3 140 M o v e ( T l c k L e n ) ; 528 9 1 2 144 END; 529 9 1 1 152 T u r n ( 9 0 ) ; 530 9 1 1 156 FOR I := 1 TO X N T 1 c k s - 1 DO BEGIN 531 9 1 3 171 Penco1 o r ( N o n e ) ; 532 9 1 3 175 Move to (XPM1n+ I *XPLen DIV X N T 1 c k s , Y P M 1 n ) ; 533 9 1 3 189 Penco1 o r (wh f t e ) ; 534 9 1 3 193 M o v e ( T 1 c k L e n ) ; 535 9 1 3 197 P e n c o l o r ( N o n e ) ; 536 9 1 3 201 M o v e ( Y P L e n - 2 * T 1 c k L e n ) ; 537 9 1 3 211 P e n C o l o r ( w h l t e ) ; 538 9 1 3 215 M o v e ( T 1 c k L e n ) ; 539 9 1 2 219 END; 540 9 1 : 1 227 Pence1 o r ( N o n e ) ; 541 9 1 : 1 231 XPower := T r u n c ( L o g ( X M a x - X M 1 n ) ) - 1; 542 9 1 : 1 251 YPower :» T r u n c ( L o g ( Y M a x - Y M I n ) ) - 1; 543 9 1 : 1 271 S t r ( R o u n d ' X M 1 n / T e n T o T h e ( X P o w e r ) ) . L o n g S t r ) ; 544 9 1 : 1 295 ScreenNumber(XPM1n-LENGTH(LONGSTR ) DIV 2 » 7 . Y P M 1 n - 9 ) ; 545 9 1 • 1 3 lO S t r ( R o u n d ( X M a x / T e n T o T h e ( X P o w e r ) ) . L o n g S t r ) ; 546 9 1 1 334 S c r e e n N u m b e r ( X P M I n + X P L e n - 1 - L e n g t h ( L o n g S t r ) * 7 . Y P M 1 n - 9 ) ; 547 9 1 1 353 S t r ( R o u n d ( Y M 1 n / T e n T o T h e ( Y P o w e r ) ) . L o n g S t r ) : 548 9 1 1 377 S c r e e n N u m b e r ( X P M 1 n - 1 - L e n g t h ( L o n g S t r ) * 7 , Y P M 1 n - 2 ) ; 549 9 1 • 1 392 S t r ( R o u n d ( Y M a x / T e n T o T h e ( Y P o w e r ) ) . L o n g S t r ) ; 550 9 . 1 1 416 S c r e e n N u m b e r ( X P M I n - 1 - L e n g t h ( L o n g S t r ) * 7 , Y P M 1 n + Y P L e n - 9 ) : 551 9 1 • 1 435 IF L e n g t h ( X l a b e l ) > M a x L b l L e n THEN 552 9 1 443 L a b e l S t r := C o p y ( X L a b e 1 . 1 , M a x L b 1 L e n ) 553 9 1 1 456 ELSE 554 9 1 460 L a b e l S t r := X L a b e l ; 555 9 1 1 466 S t r ( X P o w e r . P o w e r S t r ) ; 556 9 1 1 479 IF XPower <> 0 THEN L a b e l S t r := C o n c a t ( L a b e 1 S t r . ' x 1 0 a ' , P o w e r S t r ) 557 9 1 1 523 M o v e t o ( X P M 1 n + ( ( X P L e n - L e n g t h ( L a b e l S t r ) * 7 ) DIV 2 ) , Y P M 1 n - 1 8 ) ; 558 9 1 1 54 3 W s t r l n g ( L a b e l S t r ) ; 559 9 1 1 548 IF L e n g t h ( Y l a b e l ) > M a x L b l L e n THEN 560 9 1 556 L a b e l S t r := C o p y ( Y L a b e l , 1 . M a x L b l L e n ) 56 1 9 1 1 569 ELSE 562 9 1 573 L a b e l S t r :» Y L a b e l : 563 9 1 1 579 S t r ( Y P o w e r . P o w e r S t r ) ; 564 9 ' 1 1 592 IF YPower <> 0 THEN L a b e l S t r := C o n c a t ( L a b e 1 S t r . ' x 1 0 a ' , P o w e r s t r ) 565 9 1 1 636 M o v e t o ( 0 . Y P M 1 n + ( Y P L e n - L e n g t h ( L a b e 1 S t r ) * 9 ) DIV 2 566 9 1 1 648 + 9 * ( L e n g t h ( L a b e 1 S t r ) - 1 ) ) ; 567 9 1 1 663 FOR I := 1 TO L e n g t h ( L a b e l S t r ) DO BEGIN 568 9 1 3 679 L C h a r :« L a b e l S t r f l J ; 569 9 ; 1 3 686 W C h a r ( L C h a r ) : 570 g 1 3 691 T u r n t o ( 1 8 0 ) ; 571 9 1 3 697 M o v e ( 7 ) ; 572 9 1 3 701 T u r n t o ( 2 7 0 ) : 573 9 1 3 707 M o v e ( 9 ) ; 574 9 1 2 711 END: 575 9 1 0 719 END; (* S c r e e n A x e s * ) 576 9 1 0 758 577 9 1 0 758 578 10 1 D 1 SEGMENT PROCEDURE V1ewSamp1es(Mode : I n t e g e r ) : 579 10 1 D 2 580 10 2 D 1 PROCEDURE S c r n C o n t 1 n u e ; 581 10 2 D 1 582 10 2 0 0 BEGIN 583 10 2 1 0 E s c a p e : • F a l s e : 584 10 2 1 4 P e n C o l o r ( N o n e ) ; 585 10 2 1 8 M o v e t o ( 6 0 , 0 ) ; 586 10 2 1 13 W s t r l n g ( E s c S t n n g ) ; 587 10 2 1 41 V 1 e w p o r t ( X P M I n , X P M I n + X P L e n - 1 . Y P M 1 n , Y P M 1 n + Y P L e n - 1 ) ; 588 10 2 1 60 XP := A n a l o g l n ( X C h a n n e ) . S a m p l e A v e ) * X I n S c a l e ; 589 10 2 1 80 YP := A n a l o g I n ( Y C h a n n e l , S a m p 1 e A v e ) * Y I n S c a I e : 590 10 2 1 100 S c r e e n O r a w ( X p . Y p , 0 ) : 591 10 2 1 114 592 10 2 1 1 14 REPEAT 593 10 2 2 114 R e a d a n d D r a w ( S a m p ! e A v e ) ; 594 10 2 :2 1 18 C o n s o l e c h e c k ; 595 10 2 : 1 121 UNTIL E s c a p e ; 596 IO 2 : 1 126 597 10 2 : 1" 126 PenCo1 o r ( N o n e ) ; 598 10 2 : 1 130 V i e w p o r t ( 0 . 2 7 9 , 0 , 1 9 1 ) ; 599 10 2 : 1 141 M o v e t o ( 6 0 . 0 ) ; 6O0 10 2 : 1 146 W s t r 1 n g ( E s c S t r I n g ) ; 601 10 2 : 0 174 END: (* S c r n C o n t l n u e * ) 602 10 2 : 0 188 603 10 3 :D 1 PROCEDURE S c r n S a m p l e ; 604 10 3 :D 1 605 10 3 : 0 0 BEGIN 606 10 3 : 1 0 IF ( I » MaxDataNum) THEN W r 1 t e M e s s a g e ( B u f f e r F u l 1 ) 607 10 3 : 1 30 ELSE BEGIN 608 10 3 :3 35 E s c a p e := F a l s e ; 609 10 3 :3 39 PenCo1 o r ( N o n e ) ; 610 10 3 :3 43 XP : a Ana 1 o g l n ( X C h a n n e 1 , L o n g A v e ) * X I n S c a 1 e ; 61 1 10 3 :3 65 YP := A n a l o g I n ( Y C h a n n e l , L o n g A v e ) * Y I n S c a 1 e : 612 10 3 :3 87 IF I n t e r v a l = 0 . 0 THEN BEGIN 613 10 3 :5 102 M o v e t o ( 4 . 0 ) ; 614 10 3 :5 107 W S t r 1 n g ( S a m p l e S t r I n g ) ; 615 10 3 :5 148 V1ewpor t (XPM1n .XPM1n+XPLen -1 ,YPM1n ,YPM1n+YPLen -1 ) ; 616 10 3 :5 167 S c r e e n D r a w ( X P , Y P . O ) ; 617 10 3 :5 181 REPEAT 618 10 3 :6 .181 WHILE NOT K e y P r e s s DO BEGIN 6 19 10 3: :8 187 ReadandDraw(Samp 1 e A v e ) : 620 10 3 :8 191 C o n s o l e C h e c k ; 621 10 3 :7 194 END: (* WHILE * ) 622 10 3 : :6 196 IF NOT E s c a p e AND (I < MaxDataNum) THEN BEGIN 623 10 3 : 8 208 R e a d ( K e y b o a r d . R e s p o n s e ) ; 624 10 3 : :8 217 , K e y P r e s s := F a l s e ; 625 10 3 : 8 221 ' R e a d a n d D r a w ( L o n g A v e ) ; 626 10 3 : 8 227 I := I + 1 ; 627 10 3 : 8 235 G o t o x y ( 3 6 , 1 ) ; 628 10 3 : 8 240 W r 1 t e ( I : 3 ) ; 629 10 3 : 8 250 X D a t a [ I ] := X P ; 630 10 3 : 8 267 Y D a t a ( I ) : - Y P ; 631 10 3 : 8 283 S o u n d B u z z ( 8 ) ; 632 10 3 : :7 287 END: (* ELSE * ) 633 10 3 : :5 287 UNTIL Escape OR ( I >= MaxDataNum); 634 10 3 : :5 298 PenCo1 o r ( N o n e ) ; 635 10 3 : 5 302 V l e w p o r t ( 0 . 2 7 9 , 0 , 1 9 1 ) : 636 10 3 : 5 313 M o v e t o ( 4 , 0 ) : 637 10 3 : 5 318 W S t r 1 n g ( S a m p l e s t r I n g ) ; 638 10 3 : 4 359 END ELSE BEGIN 639 10 3 : 5 361 M o v e t o ( 6 0 , 0 ) ; 6 4 0 10 3 : 5 366 W S t r l n g ( E s c S t r I n g ) ; 64 1 10 3 : 5 394 • V i e w p o r t ( X P M 1 n . X P M t n + X P L e n - 1 , Y P M 1 n , Y P M 1 n + Y P L e n - 1 ) ; 642 10 3 : 5 413 S c r e e n D r a w ( X P , Y P , 0 ) ; 643 10 3 : 5 427 REPEAT 644 10 3 : 6 427 XP1 := X P ; 645 10 3 : 6 437 WHILE ( A b s ( X P I - X p ) < I n t e r v a l * 0 . 9 9 ) AND NOT E s c a p e 646 10 3 : 8 470 ReadandDraw( Samp'l e A v e ) ; 647 10 3 : :8 474 C o n s o l e C h e c k ; DO BEGIN ro ro 648 10 3 :7 477 END; 649 10 3 :6 479 R e a d a n d D r a w ( L o n g A v e ) ; 650 10 3 :6 485 I := I + 1; 651 10 3 :6 493 C o n s o 1 e C h e c k ; 652 10 3 :6 496 G o t o x y ( 3 6 , 1 ) ; 653 IO 3 :6 501 W r 1 t e ( I : 3 ) ; 654 10 3 :6 51 1 X D a t a [ I ] X P ; 655 10 3 :6 528 Y 0 a t a [ I ] := Y P ; 656 10 3 :6 544 S o u n d B u z z ( 8 ) ; 657 10 3 5 548 UNTIL E s c a p e OR ( I >= MaxDataNum); 658 10 3 5 559 P e n C o l o r ( N o n e ) ; 659 10 3 •5 563 V l e w p o r t ( 0 , 2 7 9 , 0 . 1 9 1 ) ; 660 10 3 5 574 M o v e t o ( 6 0 , 0 ) ; 661 10 3 5 579 W S t r l n g ( E s c S t r l n g ) ; 662 10 3 4 607 END; (* ELSE * ) 663 10 3 3 607 MaxI := I; 664 10 3 2 613 END; (* ELSE * ) 665 10 3 0 6 13 END; (* S c r n S a m p l e * ) 666 10 3 0 640 667 10 1 0 0 BEGIN 668 10 1 0 0 (*$R C y b o r g , D r a w S c r e e n * ) 669 10 1 1 0 CASE Mode OF 6 7 0 10 1 1 5 0 : S c r n C o n t l n u e ; '• 671 10 1 1 9 1 : S c r n S a m p l e ; 672 10 1 1 13 END; 673 10 1 0 24 END; (* V iew Samp les * ) 674 10 1 0 48 675 11 1 D 1 SEGMENT PROCEDURE S c r n D r 1 v e ( D t o A C h a n : I n t e g e r ) ; 676 11 1 0 2 677 11 1 D 2 VAR 678 11 1 D 2 I n t r v l : R e a l ; 679 11 1 D 4 NoSample : B o o l e a n ; 680 11 1 D 5 681 11 1 0 0 BEGIN 682 11 1 0 0 (*$R C y b o r g , D r a w S c r e e n * ) 683 11 1 1 0 E s c a p e :» F a l s e : 684 11 1 1 6 NoSample : * f a l s e ; 685 11 1 1 9 M o v e t o ( 6 0 , 0 ) ; 686 11 1 1 14 W S t M n g ( E s c S t M n g ) ; 687 11 1 1 42 V iewpor t (XPM1n .XPM1n+XPLen-1 ,YPM1n ,YPM1n+YPLen 688 11 1 1 61 IF ( I n t e r v a l < - 1 . 0 E - 3 5 ) THEN Xout := XMaxImum 689 11 1 1 80 ELSE Xout XMInlmum; 690 11 1 : 1 99 DtoAOut := XOut * P r e S c a l e ; 691 11 1 : 1 115 A n a l o g O u t ( D t o A C h a n , D t o A O u t ) : 692 11 1 • 1 124 M o v e t o ( 6 0 , 6 0 ) : 693 11 1 : 1 129 W s t r 1 n g ( S t a r t S t r I n g ) ; 694 11 1 : 1 155 R e a d ( K e y B o a r d , R e s p o n s e ) ; 695 11 1 : 1 164 I n l t T l m e r ; 696 11 1 : 1 167 M o v e t o ( 6 0 , 6 0 ) ; 697 11 1 : 1 172 W s t r 1 n g ( S t a r t S t r i n g ) ; 698 11 1 : 1 198 ReadData t L o n g A v e ) ; 699 1 i 1 • 1 204 S c r e e n D r a w l X P . Y P , 0 ) ; 700 11 1 : 1 218 IF ( A b s ( I n t e r v a l ) < 1 . 0 E - 3 5 ) THEN BEGIN 701 11 1 • 3 234 NoSample := T r u e ; 702 1 1 1 3 237 S m a l l S t e p := (Xmax1mum-XMIn1 mum) /DensePo1n ts : 703 1 1 1 2 258 END ELSE IF (Abs((Xmax1mum-Xm1n1 m u m ) / I n t e r v a 1 ) > MaxDataNum) 704 1 1 1 •2 282 THEN BEGIN 705 1 1 1 4 284 NoSample := T r u e ; 706 1 1 1 4 287 S m a l l S t e p := I n t e r v a l ; 707 1 1 1 3 297 END; 708 1 1 1 1 297 IF NoSample THEN BEGIN 709 1 1 1 3 300 WHILE ( X o u t <= Xmaxlmum) AND (Xou t >= XMInlmum) 710 1 1 1 3 324 AND NOT E s c a p e 00 BEGIN 711 1 1 1 5 332 R e a d a n d D r a w ( S a m p l e A v e ) ; 712 1 1 1 5 336 Xou t := Xout + S m a l l S t e p ; 713 1 1 1 5 352 DtoAOut :» Xout * P r e S c a l e ; 714 1 1 1 5 368 Ana l o g o u t ( D t o A C h a n , D t o A O u t ) ; 715 1 1 1 5 377 C o n s o I e C h e c k ; 716 1 1 1 4 380 END; (* WHILE * ) 717 1 1 1 2 382 END ELSE IF ( I = MaxDataNum) THEN W r 1 t e M e s s a g e ( B u f f e r F u l 1 ) 718 1 1 1 2 414 ELSE BEGIN 719 1 1 1 4 419 IF XChanne l » 16 THEN BEGIN 720 1 1 1 6 426 I n t r v l : • (Xmax1mum-XM1n1 mum)/MaxDataNum; 721 1 1 1 5 444 END ELSE BEGIN 722 1 1 1 6 446 I n t r v l := I n t e r v a l ; 723 1 1 1 5 455 END; 724 1 1 1 5 455 725 1 1 1 4 455 WHILE (Xou t <= XMaxtmum) AND ( X o u t >= XMInlmum) AND 726 1 1 1 4 480 ( I < MaxDataNum) AND NOT E s c a p e DO BEGIN 727 1 1 1 6 493 R e a d a n d D r a w ( L o n g A v e ) ; 728 1 1 1 6 499 I := I «• 1; 729 1 1 1 6 507 X O a t a C l ] := X P ; 730 1 1 1 6 524 Y 0 a t a [ I ] :» Y P ; 731 1 1 1 6 540 C o n s o l e C h e c k ; 732 1 1 1 6 543 G o t o x y ( 3 6 , 1 ) ; 733 1 1 1 6 548 W r l t e U : 3 ) ; 734 1 1 1 6 558 Xout := Xout * I n t r v l ; 735 1 1 1 6 573 DtoAOut := Xout * P r e s c a l e ; 736 1 1 1 6 589 Ana 1 o g O u t ( D t o A C h a n , D t o A O u t ) ; 737 1 1 1 5 598 END; (* WHILE * ) 738 1 1 1 4 600 MaxI -.' I; 739 1 1 1 . 4 606 D a t a S a v e d := F a l s e ; 740 1 1 1 3 610 END: (* ELSE * ) 741 11 1 • 1 610 P e n C o l o r ( N o n e ) ; 742 1 1 1 • 1 614 V i e w p o r t ( 0 , 2 7 9 , 0 , 1 9 1 ) : 743 1 1 1 1 625 M o v e t p ( 6 0 . 0 ) ; 744 1 1 1 1 630 W S t r l n g ( E s c S t n n g ) ; 745 1 1 1 1 658 Ana l o g o u t ( D t o A C h a n . 0 . 0 ) ; 746 1 1 1 0 669 END; (* S c r e e n D r i v e * ) 747 1 1 1 0 704 748 1 1 1 0 704 ( *$ I ANAL0GSEG1 *) 748 ,1 1 1 0 704 ( *$ I ANAL0GSEG2 * ) 749 12 1 D 1 SEGMENT PROCEDURE D r a w P l o t t e r ; 750 12 1: • 1 751 12 1 • D 1 VAR 752 12 1 D 1 O u l t D r a w : B o o l e a n ; 753 12 1 • 0 2 P l o t M e s s a g e : S t r i n g : 754 12 1 D 43 Dummy : C h a r ; 755 12 1 .D 44 YPos : I n t e g e r ; 756 12 1 D 45 757 12 2 D 1 PROCEDURE G r a p h H e a d e r ; 758 12 2 D 1 759 12 2 0 0 BEGIN 760 12 2 1 0 FOR YPos :» 0 TO 12 DO BEGIN 761 12 2 3' 14 G o t o x y ( 0 . Y P o s ) ; 762 12 2 3 21 W M t e ( B l a n k ) ; 763 12 2 2 71 E N D ; G o t o x y ( 6 , 0 ) ; 764 12 2 1 86 W M t e ( ' * * * draw g r a p h menu * * * ' ) ; 765 12 2 1 1 19 G o t o x y ( 0 , 4 ) ; 766 12 2 1 124 W r 1 t e 1 n ( B l k s p , ' 1 > p l o t A x e s ' ) ; 767 12 2 1 173 W r i t e l n ( B l k s p , ' 2 > p l o t a n a l o g D a t a ' ) ; 768 12 2 1- 229 W r l t e l n ( B l k s p ; ' 3 > W r i t e m e s s a g e ' ) ; 769 12 2 1 282 W r l t e l n ( B l k s p , ' 4 > w r i t e Time and d a t e ' ) : 770 12 2 1 341 W r 1 t e 1 n ( B l k S p , ' 5 > C l e a r samp led d a t a ' ) ; 771 12 2 1 399 W r 1 t e l n ( B 1 k s p , ' 6 > R e t u r n t o ma in m e n u ' ) : 772 12 2 1 458 G o t o x y ( 12 , 1 5 ) ; 773 12 2 1 463 W r 1 t e 1 n ( ' X Y ' ) ; 774 12 2 1 493 G o t o x y ( 1 5 , 1 ) : 775 12 2 1 498 W r i t e ( N o o f P t s . M a x I : 3 ) ; 776 12 2 0 539 END; (* G r a p h H e a d e r * ) 777 12 2 0 554 778 12 3 D 1 PROCEDURE D r a w A x e s ; 779 12 3 D 1 780 12 3 0 1 VAR 781 12 3 0 1 M1nP1 a c e , M a x P l a c e : P l a c e : 782 12 3 D 3 783 12 3 0 3 784 12 3 0 0 BEGIN 785 12 3 0 0 (*$R T r a n s c e n d * ) 786 12 3 0 0 787 12 3 1 0 P 1 o t A x 1 s ( X m l n i mum,YM i n i mum,XT 1cSpace ,X T1cnum. 788 12 3 1 20 X . B e l o w , N u m b e r s 1 z e ) ; 789 12 3 1 30 P lo tAx1s (XMln1mum,YMax imum,XT 1cSpace ,XT icNum, 790 12 3 1 48 X,Nop1 ace ,Number S I z e ) ; 791 12 3 1 58 IF ( I n t e r v a l >= 0 . 0 ) THEN M l n P l a c e := L e f t 792 12 3 1 74 ELSE M l n P l a c e := N o P l a c e ; 793 12 3 1 82 P 1 o t A x 1s(XM1n1mum,YM i n i mum,YT i c S p a c e , Y T i cnum, 794 12 3 1 100 Y , M 1 n P 1 a c e , N u m b e r s i z e ) ; 795 12 3 1 110 IF ( I n t e r v a l >= 0 . 0 ) THEN M a x P l a c e := N o P l a c e 796 12 3 1 126 ELSE M a x P l a c e := R i g h t : 797 12 3 1 134 P1 o t A x 1s(XMax imum,YM1nimum,YT i c S p a c e , Y T icNum. 798 12 3 1 152 Y,MaxP1 a c e , N u m b e r s i z e ) ; 799 12 3 0 162 END; (* Draw A x e ^ * ) 800 12 3 0 188 801 12 4 D 1 PROCEDURE M e s s a g e P l o t ; 802 12 4 0 1 803 12 4 0 0 BEGIN 804 12 4 1 0 W r i t e M e s s a g e ( ' p o s i t i o n p e n , h i t a key (<ESC> a b o r t s ) 805 12 4 1 44 G o t o x y ( 0 . 2 3 ) ; 806 12 4 1 49 R e a d ( K e y b o a r d , D u m m y ) ; 807 12 4 1 58 W r 1 t e M e s s a g e ( A b o r t ) ; 808 12 4 1 99 I f Ord(Dummy) <> 27 THEN 809 12 4 2 106 P 1 o t T e x t ( P 1 o t M e s s a g e , - 1 . 0 . - 1 . 0 . C h a r S I z e ) ; 810 12 4 1 133 A t t n l n t r p : = F a l s e : 811 12 4 0 137 END; (* Message P l o t * ) 812 12 4 0 150 813 12 1 0 0 BEGIN (* Draw p l o t t e r * ) 814 12 1 0 0 ( *$R M l P l o t . C y b o r g * ) 815 12 1 1 0 G r a p h H e a d e r ; 816 12 1 1 4 O u l t D r a w := F a l s e ; 817 12 1 1 7 REPEAT 818 12 1 2 7 CASE R e a d O p t l o n OF 819 12 1 2 14 1 7 . 4 9 , 1 : BEGIN 820 12 1 4 14 W r l t e M e s s a g e ( A b o r t ) ; 821 12 1 4 55 D r a w A x e s ; 822 12 1 4 57 A t t n l n t r p := F a l s e ; 823 12 1 3 61 END; 824 12 1 2 63 2 0 . 5 2 . 2 : BEGIN 825 12 1 4 63 W r 1 t e M e s s a g e ( A b o r t ) ; 826 12 1 4 104 I n l tT Inter; 827 12 1 4 107 I := M a x I ; 828 12 1 4 113 CASE ModeNum OF 829 12 1 4 1 18 0 .1 : P l o t S a m p l e s ( M o d e N u m ) 8 3 0 12 1 4 126 2 , 3 , 4 , 5 : D r i ven (ModeNum -831 12 1 4 136 END: 832 12 1 4 156 A t t n l n t r p := F a l s e : 833 12 1 3 160 END; 834 12 1 2 162 ' 1 9 , 5 1 . 5 : BEGIN 835 12 1 4 162 MaxI := 0 : 836 12 1 4 166 G o t o x y ( 3 6 , 1 ); 837 12 1 4 17 1 Wr1 te (Max I : 3 ) ; 838 12 1 3 181 END; 839 12 1 2 183 3 9 , 7 1 . 3 : BEGIN 840 12 1 4 183 G o t o x y ( 0 . 1 1 ) : 84 1 12 1 4 188 W r l t e l n ( ' e n t e r m e s s a g e ' ) ; 842 12 1 4 217 Wr i te ( •'>> 843 12 1 4 267 G o t o x y ( 4 . 1 2 ) ; 844 12 1 4 272 R e a d l n ( P 1 o t M e s s a g e ) ; 845 12 1 4 287 M e s s a g e ? 1 o t ; 846 12 1 3 289 E N D ; ( * 3 : • ) 847 12 1 2 291 3 6 , 6 8 , 4 : BEGIN 848 12 1 4 291 D a t e a n d T l m e ( P l o t M e s s a g e ) ; 849 12 1 4 296 M e s s a g e P l o t ; 850 12 1 3 298 END; (* 4 : * ) 851 12 1 2 300 3 4 , 6 6 . 3 5 , 852 12 1 2 300 6 5 , - 1 6 , 6 : Ou l tD raw := T r u e : 853 12 1 2 305 END; (* CASE Read O p t i o n *) 854 12 1 2 488 G o t o x y ( 0 , 2 1 ) ; 855 12 1 2 493 W r 1 t e l n ( B l a n k ) ; 856 12 1 2 549 W r l t e l n ( B l a n k ) ; 857 12 1 2 605 W r l t e ( B l a n k ); 858 12 1 1 655 UNTIL O u l t D r a w ; 859 12 1 O 658 END; (* Draw P l o t t e r * ) 860 12 1 0 696 861 13 1 D 1 SEGMENT PROCEDURE D r a w S c r e e n ; 862 13 1 D 1 863 13 1 :D 1 VAR 864 13 1 :D 1 O u l t S c r e e n : B o o l e a n ; 865 13 1 :D 2 X M e s s . Y M e s s : I n t e g e r ; 866 13 1 :D 4 R e s p o n s e : C h a r ; 867 13 1 :D 5 Y I n t e g e r ; 868 13 1 :D 6 869 13 2 • D 1 PROCEDURE P a u s e f o r K e y ; 870 13 2 :D 1 871 13 2 : 0 0 BEGIN 872 13 2 : 1 0 M o v e t o ( 6 0 . 0 ) : 873 13 2 : 1 5 W s t r 1 n g ( P r e s s K e y ) ; 874 13 2 • 1 22 R e a d ( K e y b o a r d . R e s p o n s e ) ; 875 13 2 • 1 31 M o y e t o ( 6 0 . 0 ) : 876 13 2 • 1 36 W s t r l n g ( P r e s s K e y ) ; 877 13 2 0 • 53 END; 878 13 2 0 66 879 13 3 D 1 PROCEDURE S c r e e n P 1 o t ( A x e s : B o o l e a n ) ; 880 13 3 D 2 881 13 3 D 2 882 13 3 0 0 BEGIN (* S c r e e n P l o t * ) 883 13 3 0 0 (*$R T u r t l e G r a p h l c s * ) 884 13 3 1 0 C h a r T y p e ( 6 ) ; 885 13 3 1 6 IF Axes THEN BEGIN 886 13 3 3 9 I n l t t u r t l e ; 887 13 3 3 12 ScreenMap(XMIn lmum,XMax1 mum,YM1nlmum,YMax1 mum); 888 13 3 3 35 ScreenAxes(XM1n1mum,XMax1mum,YM1nlmum,YMax1 mum. 889 13 3 3 55 X T I c N u m , Y T I c N u m . X L a b e l , Y L a b e l ) ; 890 13 3 3 70 Drawn :» T r u e ; 891 13 3 3 74 P a u s e f o r K e y ; 892 13 3 2 76 END ELSE BEGIN 893 13 3 3 78 G r a f m o d e ; 894 13 3 3 81 I n l t T I m e r ; 895 13 3 3 84 I : * M a x I ; 896 13 3 3 90 CASE ModeNum OF 897 13 3 3 95 0 .1 : V1ewSamp1es(ModeNum); 898 13 3 3 103 2 . 3 . 4 , 5 : BEGIN 899 13 3 5 103 ScrnDr1ve(ModeNum - 2 ) : 900 13 3 5 111 P a u s e f o r K e y ; 901 13 3 4 1 13 END: 902 13 3 3 115 END; (• C a s e * ) 903 13 3 2 134 END: (* ELSE * ) 904 13 3 1 134 T e x t M o d e ; 905 13 3 0 137 END; (* S c r e e n P l o t * ) 906 13 3 0 164 907 13 1 0 0 BEGIN (* D r a w S c r e e n * ) 908 13 1 1 0 FOR Y : = 1 TO 12 DO BEGIN 909 13 1 3 1 1 G o t o x y ( O . Y ) ; 910 13 1 3 16 W r l t e ( B l a n k ) ; 91 1 13 1 2 66 END: 912 13 1 1 73 G o t o x y ( 6 . 0 ) ; 913 13 1 1 78 W r 1 t e ( ' * * * S c r e e n g r a p h menu * * * ' ) ; 914 13 1 1 1 13 G o t o x y ( 0 . 4 ) ; 915 13 1 1 1 18 W r 1 t e 1 n ( B l k s p . ' 1 > p l o t A x e s ' ) : 916 13 " 1 1 167 W r 1 t e l n ( B l k s p , ' 2 > p l o t a n a l o g D a t a ' ) ; 917 13 1 • 1 223 W r 1 t e l n ( B 1 k s p , ' 3 > C l e a r a n a l o g d a t a ' ) : 918 13 1 • 1 280 W r 1 t e l n ( B 1 k s p , ' 4 > R e t u r n t o ma in m e n u ' ) ; 919 13 1 : 1 339 G o t o x y C 1 5 , 1 ) ; 9 2 0 13 1 : 1 344 W r 1 t e ' N o o f P t s . M a x I : 3 ) ; 921 13 1 1 385 O u l t S c r e e n := F a l s e : 922 13 1 1 388 923 13 1 1 388 REPEAT 924 13 1 2 388 CASE R e a d O p t l o n OF 925 13 1 2 395 1 7 , 4 9 , 1 : S c r e e n P l o t ( T r u e ) : 926 13 1 2 400 927 13 1 2 400 2 0 , 5 2 , 2 : BEGIN 928 13 1 4 400 IF NOT Drawn THEN S c r e e n p 1 o t ( T r u e ) ; 929 13 1 4 409 S c r e e n P l o t ( F a l s e ) ; 9 3 0 13 1 3 412 END; 931 13 1 2 414 1 9 , 5 1 , 3 : BEGIN 932 13 1 4 414 MaxI := 0 : 933 13 1 4 418 G o t o x y ( 3 6 , 1 ) ; 934 13 1 4 423 W r 1 t e ' M a x I : 3 ) : 935 13 1 3 433 END; 936 13 1 3 435 (* P r i n t e r dump d o e s n ' t wo rk . T h i s code has been 937 13 1 3 435 l e f t In c a s e p r o b l e m Is s o l v e d In f u t u r e . * ) 938 13 1 2 435 3 2 , 6 4 : BEGIN 939 13 1 4 435 IF P r i n t e r = U n d e f i n e d THEN BEGIN 9 4 0 13 1 6 442 G o t o x y ( 0 , 2 3 ) ; 941 13 1 6 447 W r 1 t e ( ' w h i c h p r i n t e r ? S ) 1 l e n t y p e o r E ) p s o m ' , 942 13 1 6 492 C h r ( 1 3 5 ) ) ; 943 13 1 6 502 R e a c t ' K e y b o a r d . r e s p o n s e ) ; 944 13 1 6 510 IF ( R e s p o n s e = ' e ' ) OR (Response = ' E ' ) THEN 945 13 1 7 519 P r i n t e r := Epsom 946 13 1 6 519 ELSE IF ( R e s p o n s e = ' s ' ) OR (Response = ' S ' ) 947 13 1 7 531 THEN P r i n t e r := S i l e n t y p e ; 948 13 1 5 538 END; (* IF P r i n t e r * ) 949 13 1 4 538 CASE P r i n t e r OF 9 5 0 13 1 4 543 Epsom : DumpGr (1 ) ; 951 13 1 4 549 S i l e n t y p e : DumpGr(O) ; 952 13 1 4 555 END; (* CASE * ) 953 13 1 3 566 END: (* CASE 3 : ») 954 13 1 2 568 3 4 , 6 6 . 3 3 . 955 13 1 2 568 6 5 , - 1 6 , 4 : O u l t S c r e e n := T r u e ; 956 13 1 2 573 END; (* CASE R e a d O p t l o n * ) 957 13 1 1 746 UNTIL O u l t S c r e e n ; 958 13 1 1 749 959 13 1 0 749 ENC ; (* Draw S c r e e n * ) 9 6 0 13 1 0 770 961 14 1 D 1 SEGMENT PROCEDURE S a v e D a t a : 962 14 1 D 1 963 14 1 0 1 VAR 964 14 1 . D- 1 I I n t e g e r ; 965 14 1 : 0 966 14 2 D 1 PROCEDURE S e t D a t a F l l e ; 967 14 2 0 1 968 14 2 D 1 VAR 969 14 2 D 1 DataName : S t r 1 n g [ 2 0 ] ; 970 14 2 0 12 G o o d F l l e : B o o l e a n ; 971 14 2 :D 13 972 14 2 : 0 0 BEGIN 973 14 2 : 1 0 G o t o x y ( 0 , 1 2 ) : 974 14 2 : 1 5 W r l t e ( ' e n t e r s a v e f i l e name: ' ) : 975 14 2 : 1 37 976 14 2 : 1 37 REPEAT 977 14 2 :2 37 G o t o x y ( 0 . 1 3 ) ; 978 14 2 :2 42 W r l t e ( B l a n k ) ; 979 14 2 :2 92 G o t o x y ( 2 2 , 1 2 ) ; 980 14 2 :2 97 W r 1 t e ( ' ' ) : 9B1 14 2 :2 124 G o t o x y ( 2 2 . 1 2 ) : 982 14 2 :2 129 R e a d l n ( D a t a N a m e ) ; 983 14 2 :2 144 R E S E T ( D a t a F 1 l e . D a t a N a m e ) ; 984 14 2 : 2 154 G o o d F l l e := I O R e s u l t <> 0 : 985 14 2 :2 160 IF NOT G o o d F l l e THEN BEGIN 986 14 2 :4 164 W r 1 t e ( ' f l l e a l r e a d y e x i s t s , o v e r w r 1 t e ( Y / N ) ? ' ) ; 987 14 2 :4 210 R e a d ( R e s p o n s e ) ; 988 14 2 :4 219 IF ( R e s p o n s e = ' y ' ) OR ( R e s p o n s e = ' Y ' ) THEN 989 14 2 :5 232 G o o d F 1 l e := T r u e : 990 14 2 :3 235 END; (* IF NOT G o o d F l l e * ) 991 14 2 :2 235 C l o s e ( D a t a F l i e ) ; 992 14 2 :2 242 IF G o o d f l l e THEN BEGIN 993 14 2 :4 245 R e w r l t e ( D a t a F I l e , D a t a N a m e ) ; 994 14 2 :4 255 G o o d F l l e := I O R e s u l t = 0 : 995 14 2 :4 261 IF NOT G o o d F l l e THEN BEGIN 996 14 2: :6 265 G o t o x y C O , 1 4 ) ; 997 14 2: :6 270 W r 1 t e ( ' c a n ' ' t open t h i s f i l e ' ) ; 998 14 2: :6 300 C 1 o s e ( D a t a F l i e ) ; 999 14 2: :5 307 END; (* IF NOT G o o d F l l e * ) 1000 14 2 : :3 307 END; (* IF G o o d F 1 l e * ) 1001 14 2: : 1 307 UNTIL G o o d F l l e OR (Leng th (Da taName) = 0 ) : 1002 14 2 : : 1 317 1003 14 2: : 1 317 G 0 T 0 X Y ( O , 1 2 ) ; 1004 14 2 : : 1 322 W r l t e l n ( B l a n k ) : 1O05 14 2: : 1 378 W r i t e l n ( B l a n k ) ; 1006 14 2 : : 1 434 W r 1 t e ( B l a n k ) ; 1007 14 2 : : 1 484 IF G o o d F l l e THEN N o D a t a F l I e := F a l s e : 1008 14 2 : 0 491 END; (* S e t D a t a F i l e * ) 1009 14 2 : 0 506 1010 14 1 : 0 0 BEGIN 101 1 14 1 : : 1 0 IF N o D a t a F l I e THEN S e t D a t a F I l e 1012 14 1 : 1 5 ELSE BEGIN 1013 14 1 : 3 9 G o t o x y ( 0 , 2 3 ) ; 1014 14 1 : 3 14 W r i t e ( ' u s e same f i l e as l a s t t i m e ? ' . C h r ( 1 3 5 ) ) : 1015 14 1 : 3 63 R e a d ( K e y b o a r d , R e s p o n s e ) ; 1016 14 1 : 3 72 IF ( R e s p o n s e = ' y ' ) OR ( R e s p o n s e = ' Y ' ) THEN BEGIN 1017 14 1 : 5 85 G o t o x y ( 0 , 2 3 ) ; 1018 14 1 : 5 90 W r 1 t e ( B l a n k ) ; 1019 14 1 : 5 140 G o t o x y ( 0 . 2 3 ) ; 1020 14 1 : 5 145 W r 1 t e ( ' 0 > v e r w r 1 t e o r A>ppend? ' ) ; 102 1 14 1 : 5 178 R e a d ( K e y b o a r d , R e s p o n s e ) ; 1022 14 1 : 5 187 I f ( R e s p o n s e = ' o ' ) OR ( R e s p o n s e = ' 0 ' ) THEN 1023 14 1 : 6 200 R e s e t ( 0 a t a F l i e ) ; 1024 14 1 : : 4 206 ENO ELSE BEGIN 1025 14 1 : 5 208 C l o s e ' D a t a F 1 l e , C r u n c h ) ; 102S 14 1 : 5 215 S e t D a t a F H e ; 1027 14 1 :4 217 END; (* ELSE * ) 1028 14 1 : 2 217 END; (* ELSE * ) 1029 14 1 : 1 217 IF MaxI > 0 THEN 1030 14 1 :2 224 FOR I :« 1 TO MaxI DO 1031 14 1 : 3 237 W r l t e L N ' D a t a F l i e , X D a t a [ I J , Y D a t a [ I ] ) ; 1032 14 1 : 1 285 D a t a S a v e d : =» T r u e ; 1033 14 1 0 289 END; 1034 14 1 : 0 306 1035 15 1 D 1 SEGMENT PROCEDURE S e t D f ; 1036 15 1 D 1 1037 15 1 D 1 VAR 1038 15 1 0 1 Temp : Rea1; 1039 15 1 D 3 1040 15 1 0 0 BEGIN 104 1 15 1 0 0 ( *$R M l P l o t * ) 1042 15 1 1 0 S e t L a b e l s ' X L a b e l . Y L a b e l . C h a r S I z e ) ; 1043 15 1 1 16 CASE ModeNum OF 1044 15 1 1 21 0 : BEGIN 1045 15 1 3 2 1 S e t L l n e ' S o l I d ) ; 1046 15 1 3 25 S e t M a r k ( N u l 1 . C h a r S I z e ) ; 1047 15 1 2 34 END; 1048 15 1 1 36 1 : BEGIN 1049 15 1 3 36 CASE MarkNum OF 1050 15 1 3 41 0 : S e t M a r k ( N u l l . C h a r S I z e ) ; 1051 15 1 3 52 1 : S e t M a r k ( D o t , C h a r S I z e ) ; 1052 15 1 3 63 2 : S e t M a r k ( D 1 a m o n d , C h a r S I z e ) ; 1053 15 1 3 74 3 : S e t M a r k ' S q u a r e , C h a r S I z e ) ; 1054 15 1 3 85 4 : S e t M a r k ( T r 1 a n g 1 e , C h a r S I z e ) 1055 15 1 3 96 5 : S e t M a r k ( C r o s s , C h a r S 1 z e ) : 1056 15 1 3 107 6 : S e t M a r k ( H e x a g o n , C h a r S 1 z e ) ; 1057 15 1 3 1 18 END; 1058 15 1 3 140 CASE L lneNum OF' 1059 15 1 3 145 0 : S e t L l n e ( N o L l n e ) ; 1060 15 1 3 151 1 : S e t L 1 n e ( S o l I d ) ; 1061 15 1 3 157 2 : S e t L i n e ( D a s h e d ) ; 1062 15 1 3 163 END: 1063 15 1 2 176 END; (* CASE 1: * ) 1064 15 1 1 178 END; (* CASE ModeNum * ) 1065 15 1 1 190 D a s h L l n e ( D a s h L e n g t h ) ; 1066 15 1 1 198 Y M a r g m := 0 . 5 * C h a r S 1 ze+0. 2*Number S 1 z e ; 1067 15 1 1 229 X M a r g l n := 0 . 3 * C h a r S 1 z e + O . 5 * N u m b e r S 1 z e : 1068 15 1 • 1 259 IF X S c a l e = 0 . 0 THEN X S c a l e := 1 .0 ; 1069 15 1 • 1 286 IF Y S c a l e = 0 . 0 THEN Y S c a l e := 1 .0 ; 1070 15 ' 1 1 314 X T I c S p a c e := X S c a l e * 2 . 0 ; 1071 15 1 1 331 Y T I c S p a c e : • Y S c a l e » 2 . 0 ; 1072 15 1 1 349 IF (Xmaxlmum < XMInlmum) THEN BEGIN 1073 15 1 3 363 Temp : = Xm1n1 mum; 1074 15 1 3 372 XMInlmum := XMaximum; 1075 15 1 3 382 XMaxImum := Temp; 1076 15 1 : 2 391 END: 1077 15 1 : 1 391 IF (Ymaxlmum < YMInlmum) THEN BEGIN 1078 15 1 • 3 405 Temp := Ym1n1 mum; 1079 15 1 : 3 414 YMInlmum : =» YMax 1 mum; 1080 15 1 •3 424 YMax1mum :» Temp: 1081 15 1 : 2 433 END; 1082 15 1 • 1 433 Temp :» (XMax1mum - XMInlmum); 1083 15 1 1 448 IF X T I c S p a c e > Temp THEN X T I c S p a c e := Temp / 1 0 . 0 ; 1084 15 1 1 477 Temp-:= (YMaxImum - YMInlmum); 1085 15 1 • 1 492 IF Y T I c S p a c e > Temp THEN Y T I c S p a c e := Temp / 8 . 0 ; 1086 15 1 1 521 XTIcNum := Trunc( (XMax1mum-XM1nlmum) /XT1cSpace +0 .99) 1087 15 1 1 550 YTIcNum :» Trunc((YMax1mum-YM1n1 mum) /YT1cSpace +0.99) 1088 15 1 1 580 XMaxImum := XM1n1mum+XT1cNum*XT1cSpace; 1089 15 1 1 601 YMaxImum := YM1n1mum+YT1cNum*YTlcSpace: 1090 15 1 1 622 P l o t W I d t h : = XT1cNum*2 .0 ; 1091 15 1 1 638 P l o t H e l g h t : = YT1cNum*2 .0 ; 1092 15 1 1 654 P a p e r s l z e ( P l b t W 1 d t h + 2 * X M a r g 1 n , P l o t H e 1 gh t+2*YMarg1n 1093 15 1 1 674 , X M a r g i n , Y M a r g 1 n . F a l s e ) ; 1094 15 1 1 696 Map(XM1nlmum,XMax1 mum,YM1n 1mum,YMax1 mum); 1095 15 1 0 719 E N D : ( * S e t Df * ) 1096 15 1 0 750 1097 15 1 0 750 1098 16 1 D 1 SEGMENT PROCEDURE SAVEDEFAULTS; 1099 16 1 D 1 1 100 16 1 D 1 VAR 1101 16 1 D 1 GoodName : B o o l e a n ; 1 102 16 1 D 2 1103 16 1 0 0 BEGIN 1 104 16 1 1 0 GoodName :» T r u e ; 1105 16 1 1 3 1106 16 1 1 3 REPEAT 1107 16 1 2 3 G o t o x y ( 0 , 2 3 ) ; 1 108 16 1 2 8 W M t e ( B l a n k ) ; 1109 16 1 2 58 G o t o x y ( 0 , 2 3 ) ; 1 1 10 16 1 2 63 W r 1 t e ( ' S a v e as ' , F 1 1 e N a m e , ' ( Y / N ) ? ' ) ; 1111 16 1 2 108 R e a d ( R e s p o n s e ) ; 1 1 12 16 1 2 1 17 IF ( R e s p o n s e = ' y ' ) OR ( R e s p o n s e = ' Y ' ) THEN BEGIN 1 1 13 16 1 4 130 R e s e t ( D f U F 1 1 e . F l 1 e N a m e ) ; 1 1 14 16 1 4 141 GoodName := I O R e s u l t = 0 ; 1 1 15 16 1: 3 147 END ELSE BEGIN 11 16 16 1. 4 149 G o t o x y ( 0 . 2 2 ) ; 1117 16 1 : 4 154 W r 1 t e ( ' s a v e a s ? 1 118 16 1 : 4 211 G o t o x y ( 1 0 , 2 2 ) ; 1 1 19 16 1 : 4 216 Read1n(F11eName) ; 1120 16 1 : 4 232 GoodName := Leng th (F11eName) > 0 ; 1121 16 1 : 4 241 IF GoodName THEN 1122 16 1 : 5 244 R e w r l t e ( D f 1 t F 1 l e , F 1 1 e N a m e ) ; 1123 16 1 : 3 255 END,; (* IF Response * ) 1 124 16 1 : 3 255 1 1 125 16 1 2 255 IF GoodName THEN BEGIN 1 126 16 1 . 4 258 W r l t e l n ( D f 1 t F I l e , ' D u m m y ' ) ; 1127 16 1 : 4 279 W r 1 t e l n ( D f I t F I l e . X L a b e l ) ; 1128 16 1 : 4 295 W r 1 t e l n ( D f 1 t F 1 l e . Y L a b e l ) ; 1129 16 1 : 4 311 W r 1 t e 1 n ( D f l t F 1 l e , X C h a n n e 1 ) ; 1130 16 1 : 4 327 W r 1 t e l n ( D f 1 t F 1 1 e , Y C h a n n e 1 ) ; 1131 16 1 : 4 343 W r 1 t e l n ( D f I t F I 1 e . M o d e N u m , P r e S c a 1 e ) ; 1 132 16 1 : 4 372 W r 1 t e l n ( D f 1 t F I l e , I n t e r v a l ) ; 1133 16 1 :4 391 1 134 16 1 4 410 1 135 16 1 4 429 1 13S 16 1 4 448 1 137 16 1 4 467 1 138 16 1 4 486 1 139 16 1 4 505 1 140 16 1 4 521 1 14 1 16 1 4 537 1 142 16 1 4 556 1 143 16 1 4 575 1 144 16 1 4 594 1 145 16 1 4 613 1 146 16 1 4 632 1 147 16 1 3 639 1 148 16 1 1 648 1 149 16 1 0 659 1 150 16 1 0 676 1 15 1 17 1 D 1 1152 17 1 D 1 1 153 17 1 0 1 1 154 17 1 D 1 1 155 .17 1 D 302 1 156 17 1 D 307 1 157 17 1 D 308 1 158 17 1 D 310 1 159 17 2 D 1 1 160 17 2 D 1 1 161 17 3 D 1 1 162 17 3 D 1 1 163 17 3 0 0 1 164 17 3 1 0 1 165 17 3 1 16 1 166 17 3 1 21 1 167 17 . 3 1 37 1 168 17 3 1 78 1 169 17 3 1 83 1 170 17 3 1 99 1 171 17 3 : 1 140 1 172 17 3- 1 145 1173 17 3 . 1 160 1 174 17 3 : 1 208 1 175 17 3 : 1 213 1 176 17 3 : 1 228 1 177 17 3 1 276 1 178 17 3 1 281 1 179 17 3 1 305 1 180 17 3 1 351 1 181 17 3 1 384 1 182 17 3 : 1 389 1 183 17 3 : 1 404 1 184 17 3 : 1 448 1 185 17 3 : 1 453 1 186 17 3 1 477 W r 1 t e l n ' D f 1 t F 1 1 e , X M 1 n t m u m ) ; W r 1 t e l n ( D f l t F 1 1 e . X M a x 1 mum); WM t e l n ' D f 1 t F 1 l e , X S c a l e ) ; W M t e l n ' D f l t F 1 l e . Y M 1 n l m u m ) ; W r 1 t e l n ( D f 1 t F 1 1 e . Y M a x 1 mum); W r l t e l n ' O f I t F I t e . Y S c a l e ) ; W r 1 t e l n ( D f 1 t F 1 l e . L I n e N u m ) ; W r I t e 1 n ( D f 1 t F 1 l e , M a r k N u m ) ; W r l t e 1 n ( D f 1 t F l 1 e , D a s h L e n g t h ) ; W r 1 t e l n ( D f 1 t F l i e , N u m b e r s I z e ) ; W r 1 t e l n ( D f 1 t F 1 1 e . C h a r S 1 z e ) ; W r 1 t e 1 n ( D f 1 1 F 1 1 e , X I n S c a 1 e ) ; W r 1 t e l n ' D f 1 t F 1 1 e . Y I n S c a 1 e ) : C l o s e ' D f I t F I l e , C r u n c h ) ; END ELSE C l o s e ' D f 1 t F l l e ) ( * IF Good Name * ) UNTIL GoodName OR (Leng th (F11eName) = O ) ; END; (* Save D e f a u l t s * ) SEGMENT PROCEDURE I n i t i a l i z e ; VAR C o n f l g : T e x t ; ChanName : S t r 1 n g [ 8 ] ; , Dummy : C h a r ; C h S t r : S t r l n g [ 3 ] ; PROCEDURE S e t D e f a u l t s : PROCEDURE R e a d D f l ; BEGIN R e a d l n ' D f 1 t F l l e . X L a b e l ) ; G o t o x y ( 4 0 , 4 ) ; R e a d l n ( D f 1 t F H e . X L a b e l ) ; W r i t e ' ' a> x - a x I s l a b e l ' . X L a b e l ) ; G o t o x y ( 4 0 . 5 ) ; R e a d 1 n ( D f 1 t F 1 l e . Y L a b e l ) ; W r i t e ' ' b> y - a x i s l a b e l ' . Y L a b e l ) ; G o t o x y ( 4 0 . 6 ) ; R e a d l n ' D f 1 t F l i e . X C h a n n e l ) ; W r i t e ' ' c> x - i n p u t c h a n n e l G o t o x y ( 4 0 , 7 ) ; R e a d l n ' D f 1 t F 1 1 e , Y C h a n n e l ) : W r 1 t e ( ' d> y - I n p u t c h a n n e l G o t o x y ( 4 0 . 8 ) ; R e a d l n ' D f 1 t F i 1 e , M o d e N u m , P r e S c a 1 e ) ; W r 1 t e ( ' e> samp le mode ' , M o d e S t r [ M o d e N u m ] ) ; IF ModeNum > 1 THEN W r 1 t e ( ' x ' , P r e S c a 1 e : 6 : 2 ) ; G o t o x y ( 4 0 . 9 ) ; R e a d l n ' D f 1 t F l i e , I n t e r v a l ): W r 1 t e ( ' f> sample i n t e r v a l I n t e r v a 1 : 1 : 2 ) : G o t o x y ( 7 2 , 9 ) ; IF XChanne l = 16 THEN W r 1 t e ( ' s e c o n d s ' ) ELSE W r 1 t e ( ' v o l t s ' ) : , C h a n S t r f X C h a n n e l ] : 7 ) ; , C h a n S t r [ Y C h a n n e l ] : 7 ) ; NJ CO N> 1187 17 3 • 1 496 G o t o x y ( 4 0 . 1 0 ) ; 1 188 17 3 1 501 R e a d l n ( D f 1 t F l i e . X M I n l m u m ) ; 1 189 17 3 . 1 .516 ' , X M I n l m u m : 1 : 2 ) : 1 190 17 3 . 1 560 G o t o x y ( 4 0 . 1 1 ) ; 1 191 17 3 1 565 R e a d 1 n ( D f1 t F11e . X M a x1m u m ) ; 1 192 17 3 1 580 ' , X M a x I m u m : 1 : 2 ) ; 1 193 17 3 1 624 G o t o x y ( 4 0 . 1 2 ) ; 1 194 17 3 1 629 R e a d l n ( D f 1 t F 1 1 e , X S c a 1 e ) ; 1 195 17 3 1 644 IF XChanne l = 16 THEN 1 196 17 3 2 651 W r 1 t e ( ' 1> x - s c a l e . ( s e c / c m ) . ' , X S c a l e : 1 : 2 ) 1 197 17 3 1 695 ELSE 1 198 17 3 2 697 W r l t e ( ' 1> x - s c a 1 e ( v o 1 t s / c m ) ' . X S c a l e : 1 : 2 ) ; 1 199 17 3 1 741 G o t o x y ( 4 0 . 1 3 ) ; 12O0 17 3 1 746 « e a d l n ( D f 1 t F 1 l e , Y M I n l m u m ) ; 1201 17 3 1 76 1 W r l t e ( ' J> y -mln lmum ' . Y M I n l m u m : 1 : 2 ) : 1202 17 3 0 805 END; (* Read D e f a u l t s 1 * ) 1203 17 3 0 818 1204 17 4 D 1 PROCEDURE R e a d D f 2 ; 1205 17 4 D 1 1206 17 4 0 0 BEGIN 1207 17 4 1 0 G o t o x y ( 4 0 , 1 4 ) ; 1208 17 4 1 5 R e a d l n ( D f1 t F 1 l e . Y M a x1m u m ) ; 1209 17 4 1 20 ' , Y M a x I m u m : 1 : 2 ) : 1210 17 4 1 64 G 6 t o x y ( 4 0 , 1 5 ) ; 1211 17 4 1 69 R e a d l n ( D f 1 t F I l e . Y S c a l e ) ; 1212 17 4 1 84 W r l t e ( ' 1> y - s c a l e ( v o l t s / c m ) ' . Y S c a l e : 1 : 2 ) : 1213 17 4 1 128 G o t o x y ( 4 0 , 1 6 ) ; 1214 17 4 1 133 R e a d l n ( D f 1 t F 1 l e . L l n e N u m ) ; 1215 17 4 1 148 W r l t e ( ' m> l i n e t y p e ' . L I n e S t r f L I n e N u m J ) ; 1216 17 4 1 194 G o t o x y ( 4 0 , 1 7 ) ; 1217 17 4 1 199 R e a d l n ( D f 1 t F 1 1 e . M a r k N u m ) ; 1218 17 4 1 214 W M t e ( ' n> mark t y p e ' , M a r k s t r [ M a r k n u m ] ) ; 1219 17 4 1 260 G o t o x y ( 4 0 . 1 8 ) ; 1220 17 4 1 265 R e a d l n ( D f 1 t F l i e , D a s h L e n g t h ) ; 1221 17 4 1 280 W r 1 t e ( ' o> d a s h l e n g t h ' . D a s h L e n g t h : 4 : 1 , ' mm 1222 17 4 1 337 G o t o x y ( 4 0 . 1 9 ) : 1223 17 4 1 342 R e a d l n ( D f 1 t F11 e . N u m b e r s 1 z e ) ; 1224 17 4 1 357 W r 1 t e ( ' p> number s i z e ' . N u m b e r s 1 z e : 4 : 1 , ' mm 1225 17 4 . 1 414 G o t o x y ( 4 0 . 2 0 ) ; 1226 17 4 : 1 419 R e a d 1 n ( D f 1 t F I 1 e , C h a r S 1 z e ) ; 1227 17 4 : 1 434 W r l t e ( ' q> c h a r a c t e r s i z e . . . ' , C h a r S 1 z e : 4 : 1 , ' mm') 1228 17 4 : 1 491 G o t o x y ( 4 0 . 2 1 ) : 1229 17 4 : 1 496 R e a d l n ( D f l t F l l e . X I n S c a l e ) : 1230 17 4 : 1 511 W r l t e ( ' r> x - i n p u t s c a l o r . . . ' . X I n S c a l e : 1 : 2 ) : 1231 17 4 : 1 555 G o t o x y ( 4 0 . 2 2 ) ; 1232 17 4 . 1 560 R e a d l n ( D f 1 t F l i e . Y I n S c a l e ) : 1233 17 4 • 1 575 W r 1 t e ( ' s> y - l n p u t s c a l o r . . . ' . Y I n S c a l e : 1 : 2 ) ; 1234 17 4- 1 619 G o t o x y ( 4 0 , 2 3 ) ; , 1235 17 4 • 1 624 W r l t e ( ' d e f a u l t s f i l e : ' , F11e N a m e ) ; 1236 17 4 : 1 665 C l o s e ( D f 1 t F 1 l e ) : 1237 17 4 : 0 672 END: (* Read D e f a u l t s 2 * ) 1238 17 4 : 0 684 1239 17 4 : 0 684 1240 17 2': 0 0 BEGIN (* Se t D e f a u l t s * ) 1241 17 2 : 1 0 G o t o x y ( 4 7 . 0 ) ; 1242 17 2 : 1 5 W r 1 t e l n ( ' * * * p l o t p a r a m e t e r s * * * ' ) : 1243 17 2 • 1 44 R e a d D f 1 ; 1244 17 2 1 46 R e a d O f 2 : 1245 17 2 • 1 48 S e t O f ; 1246 17 2 0 51 END; (* Se t D e f a u l t s * ) 1247 17 2 0 64 1248 17 1 0 O BEGIN (• I n l t l a l I z e * ) 1249 17 1 1 0 NoDataF 1 l e :» T r u e : 1250 17 1 1 16 S c a l e d = F a l s e ; 1251 17 1 1 20 Da t a S a v e d •» F a l s e : 1252 17 1 1 24 Drawn := F a l s e : 1253 17 1 1 28 R e w r 1 t e ( P r n t , ' P r i n t e r : ' ) 1254 17 1 1 47 P r i n t e r := Undefined; 1255 17 1 1 51 LongAve := Samp 1eAve * 10: 1256 17 1 1 57 MaxI := 0 : 1257 17 1 1 61 L 1 n e S t r [ 0 ] » ' no 1 i n e ' ; 1258 17 1 1 79 L 1 n e S t r ( 1 ] = ' s o l i d ' ; 1259 17 '1 1 97 L 1 n e s t r [ 2 ] = ' d a s h e d ' ; 1260 17 1 1 115 M a r k S t r f O ] = ' no mark ' 126 1 17 1 1 134 M a r k S t r j 1 j = ' d o t 1262 17 1 1 153 M a r k S t r [ 2 ] » ' d i a m o n d ' 1263 17 1 1 172 M a r k S t r t S j * ' s q u a r e ' 1264 17 1 1 191 M a r k S t r [ 4 ] = ' t r i a n g l e ' 1265 17 1 1 210 M a r k S t r [ 5 ] = ' c r o s s ' 1266 17 1 1 229 M a r k S t r [ 6 j » ' h e x a g o n ' 1267 17 1 1 248 FOR I := ( -MaxChan) TO MaxChan DO BEGIN 1268 17 1 3 266 S t r ( I , C h s t r ) ; 1269 17 1 3 28 1 C h a n S t r [ I ] := C o n c a t ( ' C h a n . ' , C h s t r ) ; 1270 17 1 2 325 END: 1271 17 1 1 335 R e s e t ( C o n f 1 g , ' A T O D C O N F I G TEXT ' ) ; 1272 17 •1 1 360 IF I o r e s u l t = 0 THEN 1273 17 1 2 366 WHILE NOT E o f ( C o n f l g ) DO BEGIN 1274 17 1 4 376 R e a d l n ( C o n f 1 g , I . C h a n N a m e ) ; 1275 17 1 4 398 C h a n S t r [ I ] := ChanName: 1276 17 1 3 413 END: 1277 17 1 1 415 C h a n S t r [ M a x C h a n * 1 ] := ' t i m e r ' ; 1278 17 1 1 437 M o d e S t r [ 0 ] « ' c o n t i n u o u s ' 1279 17 1 1 458 M o d e S t r [ 1 j = ' s a m p l e d ' 1280 17 1 1 479 M o d e S t r [ 2 ] = ' d r i v e c h . O ' 1281 17 1 : 1 500 M o d e S t r [ 3 j = ' d r i v e c h . 1 ' 1282 17 1 : 1 521 M o d e S t r [ 4 ] = ' d r i v e c h . 2 ' 1283 17 1 : 1 542 M o d e S t r [ 5 ] = ' d r i v e c h . 3 ' 1284 17 1 1 563 P a g e ( O u t p u t ) ; 1285 17 1 1 571 F11eName := ' A N A L O G P L O T . D F L T ' ; 1286 17 1 1 594 R e s e t ( D f l t F 1 1 e . F 1 1 e N a m e ) : 1287 17 1 1 605 IF I O R e s u l t <> 0 THEN BEGIN 1288 17 1 3 61 1 REPEAT 1289 17 1 4 611 C l o s e ( D f 1 t F l i e ) : 1290 17 1 4 618 G o t o x y ( 0 . 5 ) ; 1291 17 1 4 623 W r 1 t e l n ( ' c a n ' ' t f I n d ANALOG d e f a u l 1292 17 1 • 4 669 W r l t e l n ( ' e n t e r d e f a u l t s f i l e name 1293 17 1 • 4 7 1 1 Wr1te( ' >> 1294 17 1 • 4 759 G o t o x y ( 3 . 7 ) ; 1295 17 1 4 764 1296 17 1 4 780 1297 17 1 4 785 1298 17 1 4 84 1 1299 17 1 3 852 1300 17 1 2 858 1301 17 1 1 856 1302 17 1 1 860 1303 17 1 1 864 1304 17 1 1 869 1305 17 1 1 909 1306 17 1 1 951 1307 17 1 1 960 1308 17 1 2 977 1309 17 1 1 999 1310 17 1 O 1003 131 1 17 1 0 1032 1312 17 1 o 1032 R e a d l n ( F 1 1 e N a m e ) ; G o t o x y ( 0 , 5 ) : W M t e 1 n ( B l a n k ) ; R e s e t ( D f 1 t F 1 l e . F i 1 e N a m e ) ; UNTIL I O R e s u l t = 0 : END; (* IF I O R e s u l t * ) S e t D e f a u l t s ; Q u i t := F a l s e ; G o t o x y ( 0 . 2 2 ) ; W r 1 t e 1 n ( ' t u r n on CYBORG I n t e r f a c e ' ) ; W r 1 t e ( ' p r e s s any key t o c o n t i n u e R e a d ( K e y b o a r d , D u m m y ) ; FOR I := 0 TO 3 00 A n a l o g O u t ( I , 0 . 0 ) ; I O; END; (* I n i t i a l i z e * ) ( *$ I ANAL0GSEG2 * ) 1313 17 1 : 0 1032 1314 17 1 : 0 1032 1315 17 1 : 0 1032 1316 18 1 :D 1 1317 18 1 :D 1 1318 18 1 :D 1 1319 18 1 :D 1 1320 18 1 :D 1 1321 18 1 :D 3 1322 18 1 : 0 4 1323 18 1 :D 5 1324 18 2 :D 1 1325 18 2 :D 1 1326 18 2 : 0 0 1327 18 2 : 1 0 1328 18 2 : 2 0 1329 18 2 : 2 5 1330 18 2 :2 59 1331 18 2 : 2 54 1332 18 2 2 68 1333 18 2 •2 78 1334 18 2 . 2 93 1335 18 2 • 1 104 1336 18 2 1 117 1337 18 2 1 117 1338 18 2 1 125 1339 18 2 1 132 1340 18 2 1 159 134 1 18 2 1 181 1342 18 2 1 204 1343 18 2 0 211 1344 18 2 0 226 1345 18 3 D 1 1346 18 3 0 0 1347 18 3 1 0 1348 18 3 1 16 1349 18 3 1 23 1350 18 3 0 33 1351 18 3 o 46 1352 18 4 D 1 1353 18 4 0 0 1354 18 4 1 0 1355 18 4 1 16 1356 18 4 1 23 1357 18 4 0 33 1358 18 4 0 46 1359 18 5 D 1 1360 18 5 0 O 136 1 18 5 1 0 1362 18 5 2 0 1363 18 5 2 7 1364 18 5 2 24 1365 18 5 2 33 1366 18 5 2 38 SEGMENT PROCEDURE S e t P 1 o t P a r a m e t e r s ; VAR ParNum P a r c h r P a r P o s 1 t I o n Ch I n t e g e r ; C h a r ; I n t e g e r ; C h a r ; PROCEDURE ReadParnum: BEGIN REPEAT G o t o x y ( 4 0 , 2 ) ; W r 1 t e ( ' c h a n g e w h i c h p a r a m e t e r ? <CR> t o a c c e p t G o t o x y ( 7 8 , 2 ) ; R e a d ( K e y b o a r d , P a r c h r ) ; Parnum := O r d ( P a r c h r ) - O r d ( ' A ' ) + 1 ; IF Parnum > 26 THEN ParNum := ParNum - 3 2 ; IF O r d ( P a r c h r ) = 32 THEN ParNum := O; UNTIL (ParNum >» 0 ) AND (ParNum < 2 0 ) ; ' ): P a r P o s l t l o n := Parnum + 3 ; G o t o x y ( 6 1 . P a r P o s 1 1 1 o n ) ; IF (ParNum > 14) AND (ParNum ELSE W r 1 t e ( ' ' ) ; IF (ParNum < 3) THEN W r 1 t e ( ' G o t o x y ( 6 1 , P a r P o s 1 t I o n ) ; END; (* Read P a r a m e t e r Number PROCEDURE G e t P a r l ; BEGIN R e a d 1 n ( X L a b e 1 ) ; G o t o x y ( 6 1 . P a r P o s 1 1 I o n ) ; W r 1 t e ( X L a b e 1 ) ; END; PROCEDURE G e t P a r 2 ; BEGIN R e a d l n ( Y L a b e l ); G o t o x y ( 6 1 . P a r P o s 1 t I o n ) ; W r 1 t e ( Y L a b e l ) ; END; PROCEDURE G e t P a r 3 ; BEGIN REPEAT G o t o x y ( 6 1 , P a r P o s 1 1 1 o n ) ; W r 1 t e ( C h a n S t r [ X C h a n n e 1 j : 8 ) ; R e a d ( K e y b o a r d . C h ) ; CASE O r d ( C h ) OF 8 : XChanne1:= ( X C h a n n e l - 1 ) ; < 18) THEN Wr1te( ' ) rO Co 1367 18 5 :2 48 21 : X C h a n n e l : = ( X C h a n n e l * 1 ) ; 1368 18 5 :2 58 END; 1369 18 5 :2 94 IF XChanne l < (O-MaxChan) THEN 1370 18 5 : 3 103 XChanne l := MaxChan + 1 1371 18 5 :2 104 ELSE IF XChanne l > MaxChan+1 THEN 1372 18 5 :4 120 XChanne l :» - M a x C h a n ; 1373 18 5 : 1 125 UNTIL O r d ( C h ) = 3 2 ; 1374 18 ; 5 : 1 132 G o t o x y ( 4 0 . 1 2 ) ; 1375 18 5 : 1 137 IF (XChanne l » (MaxChan+1)) AND (ModeNum <2) THEN 1376 18 5 : 2 152 W r 1 t e ( ' 1> x - s c a l e . ( s e c / c m ) . ' . X S c a l e : 1 : 2 ) 1377 18 5 : 1 196 ELSE 1378 18 5: :2 198 W r 1 t e ( ' 1> x - s c a l e ( v o 1 t s / c m ) ' . X S c a l e : 1 : 2 ) ; 1379 18 5: : 1 242 G o t o x y ( 7 2 , 9 ) ; 1380 18 5 : 1 247 IF XChanne l » (MaxChan+1) THEN W r 1 t e ( ' s e c o n d s ' ) 138 1 18 5 : 1 273 ELSE W r 1 t e ( ' v o l t s ' ): 1382 18 5: :0 292 END; 1383 18 5: :0 306 1384 18 6: :D 1 PROCEDURE G e t P a r 4 ; 1385 18 6: :0 0 BEGIN 1386 18 6: : 1 0 REPEAT 1387 18 6 : :2 0 G o t o x y ( 6 1 , P a r P o s 1 1 1 o n ) ; 1388 18 6: :2 7 W r 1 t e ( C h a n S t r [ Y C h a n n e l ] : 8 ) ; 1389 18 6 : :2 24 R e a d ( K e y b o a r d , C h ) ; 1390 18 6 : :2 33 CASE O r d ( C h ) OF 1391 18 6 : :2 38 8 : YChanne l := (YChanne l - 1 ) ; 1392 18 6 : : 2 48 21 : YChanne l :» (YChanne l + 1 ) : 1393 18 6 : :2 58 END; 1394 18 6 : •2 94 IF YChanne l < (O-MaxChan) THEN 1395 18 6 : : 3 103 YChanne l :» MaxChan 1396 18 6: :2 103 ELSE IF YChanne l > MaxChan THEN 1397 18 6 : :4 1 16 YChanne l := O-MaxChan ; 1398 18 6 : : 1 122 UNTIL O r d ( C h ) = 3 2 ; 1399 18 6 : 0 129 END; 1400 18 6 : 0 144 1401 18 7 : ;D 1 PROCEDURE G e t P a r S ; 1402 18 7 : 0 0 BEGIN 1403 18 7 : : 1 0 G o t o x y ( 6 1 , P a r P o s 1 t o n ) ; 1404 18 7 : 1 7 W r l t e ( ' ' ) ; 1405 18 7 : 1 36 REPEAT 1406 18 7 : 2 36 G o t o x y ( 6 1 . P a r P o s 1 t I o n ) ; 1407 18 7 : 2 43 W r 1 t e ( M o d e S t r [ M o d e N u m ] : 1 0 ) : 1408 18 7 : 2 58 R e a d ( K e y b o a r d , C h ) ; 1409 18 7 : 2 67 CASE O r d ( C h ) OF 1410 18 7 : 2 72 8 : ModeNum := (ModeNum - 1) MOD 6 : 141 1 18 7 : 2 84 2 1 : ModeNum := (ModeNum + 1) MOD 6 ; 1412 18 7: 2 96 END; (* CASE * ) 1413 18 7 : 1 132 UNTIL O r d ( C h ) = 3 2 ; 1414 18 7 : : 1 139 IF ModeNum > 1 THEN BEGIN 1415 18 7: 3 146 W r l t e ( ' x ' ); 1416 18 7 : 3 159 R e a d l n ( P r e S c a 1 e ) ; 1417 18 7 : 3 174 G o t o x y ( 6 1 , P a r P o s 1 t I o n ) ; 1418 18 7 : 3 181 Wr1te(ModeSt r [ModeNum] , ' x '., P r e S c a 1 e : 6 : 2 ) ; 1419 18 7 : 2 222 END; 14 20 18 7: 0 222 END; 1421 18 7 : 0 236 1422 18 8 : 0 1 1423 18 8 . 0 0 1424 18 8 : 1 0 1425 18 8 : 1 15 1426 18 8 . 1 22 1427 18 8 : 0 35 1428 18 8 : 0 48 1429 18 9 • 1 1430 18 9 0 0 1431 18 9 1 0 1432 18 9 1 15 1433 18 9 1 22 1434 18 9 0 35 1435 18 9 0 • 48 1436 18 10 D 1 1437 18 10 0 0 1438 18 10 1 0 1439 18 10 1 15 1440 18 10 1 22 1441 18 10 0 35 1442 18 10 0 48 1443 18 11 D 1 1444 18 11 0 0 1445 18 11 1 0 1446 18 11 1 15 1447 18 11 1 22 1448 18 1 1 0 35 1449 18 11 0 48 1450 18 12 D 1 1451 18 12 0 0 1452 18 12 1 0 1453 18 12 1 15 1454 18 12 1 22 1455 18 12 0 35 1456 18 12 0 48 1457 18 13 D 1 1458 18 13 0 0 1459 18 13 1 0 1460 18 13 1 15 1461 18 13 1 22 1462 18 13 0 35 1463 18 13 0 48 1464 18 14 0 1 1465 18 14 0 0 1466 18 14 1 0 1467 18 14 1 15 1468 18 14 1 22 1469 18 14 0 35 1470 18 14 0 48 1471 18 15 D 1 1472 18 15 0 0 1473 18 15 1 0 1474 18 15 2 0 PROCEDURE G e t P a r 6 ; BEGIN R e a d l n ( I n t e r v a l ) ; G o t o x y ( 6 1 . P a r P o s 1 1 I o n ) ; W r 1 t e ( I n t e r v a l : 1 : 2 ) : END; PROCEDURE G e t P a r 7 ; BEGIN | R e a d l n ( X M l n l m u m ) ; G o t o x y ( 6 1 . P a r P o s 11 I o n ) ; W r 1 t e ( X M I n l m u m : 1 : 2 ) ; END; PROCEDURE G e t P a r B ; BEGIN R e a d l n ( X M a x l m u m ) ; G o t o x y ( 6 1 , P a r P o s 1 t I o n ) ; W r1 t e ( X M a x1 m u m : 1 : 2 ) ; END; PROCEDURE G e t P a r 9 ; BEGIN R e a d l n ( X S c a l e ) ; G o t o x y ( 6 1 . P a r P o s l t l o n ) ; W r 1 t e ( X S c a l e : 1 : 2 ) ; END; PROCEDURE G e t P a r l O : BEGIN R e a d l n ( Y M I n l m u m ) ; G o t o x y ( 6 1 . P a r P o s l t l o n ) ; W r 1 t e ( Y M I n l m u m : 1 : 2 ) ; END; PROCEDURE G e t P a r 1 2 : BEGIN R e a d l n ( Y S c a l e ) ; G o t o x y ( 6 1 . P a r P o s l t l o n ) ; W r l t e ( Y S c a 1 e : 1 : 2 ) : END; PROCEDURE G e t P a r l l ; BEGIN R e a d l n ( Y M a x l m u m ) ; G o t o x y ( 6 1 , P a r P o s 1 t I o n ) ; W r l t e ( Y M a x l m u m : 1 : 2 ) : END: PROCEDURE G e t P a r 1 3 : BEGIN REPEAT G o t o x y ( 6 1 , P a r P o s 1 t I o n ) 1475 18 15 :2 7 1476 18 15 :2 22 1477 18 15 :2 31 1478 18 15 :2 36 1479 18 15 :2 48 1480 18 15 :2 60 1481 18 15 : 1 96 1482 18 15 : 0 103 1483 18 15 :0 1 18 1484 18 16 :D 1 1485 18 16 :0 0 1486 18 16 : 1 0 1487 18 16 :2 0 1488 18 16 :2 7 1489 18 16 :2 22 1490 18 16 :2 31 1491 18 16 :2 36 1492 18 16 :2 48 1493 18 16 :2 60 1494 18 16 : 1 96 1495 18 16 :0 103 1496 18 16 : 0 118 1497 18 17 :D 1 1498 18 17 :0 0 1499 18 17 : 1 0 1500 18 17 : 1 15 1501 18 17 : 1 22 1502 IB 17 :0 35 1503 18 17 :0 48 1504 18 18 :D 1 1505 18 18: :0 0 1506 18 18: : 1 0 1507 18 18 : 1 15 1508 18 18: : 1 22 1509 18 18: 0 35 1510 18 18: :0 48 151 1 18 19: :D 1 1512 18 19: 0 0 1513 18 19: 1 0 1514 18 19: : 1 15 1515 18 19: 1 22 1516 18 19: 0 35 1517 18 19: 0 48 1518 18 2 0 : D 1 1519 18 2 0 : 0 O 1520 18 2 0 : 1 0 1521 18 2 0 : 1 15 1522 18 2 0 : 1 22 1523 18 2 0 : 0 35 1524 18 2 0 : 0 48 1525 18 21 : D 1 1526 18 21 : 0 0 1527 18 21 : 1 0 1528 18 21 : 1 ' 15 W r 1 t e ( L 1 n e S t r [ L l n e N u m ] : 7 ) ; R e a d ( K e y b o a r d , C h ) ; CASE O r d ( C h ) OF 8 : L lneNum := (L lneNum - 1) MOO 3 : 21 : L lneNum := (L lneNum + 1) MOD 3 ; ENO: UNTIL O r d ( C h ) » 3 2 ; END: PROCEDURE G e t P a r 1 4 ; BEGIN REPEAT G o t o x y ( 6 1 , P a r P o s 1 t I o n ) ; W r 1 t e ( M a r k S t r [ M a r k N u m ] : 8 ) ; R e a d ( K e y b o a r d , C h ) ; CASE O r d ( C h ) OF 8 : MarkNum := (MarkNum - 1) MOD 7 21 : MarkNum := (MarkNum + 1) MOD 7 END; UNTIL O r d ( C h ) * 3 2 ; END: PROCEDURE G e t P a r 1 5 ; BEGIN R e a d l n ( D a s h L e n g t h ) : G o t o x y ( 6 1 , P a r P o s 1 t 1 o n ) ; W r 1 t e ( D a s h L e n g t h : 4 : 1 ) ; END; PROCEDURE G e t P a r 1 6 ; BEGIN R e a d l n ( N u m b e r s 1 z e ) ; G o t o x y ( 6 1 , P a r P o s 1 1 I o n ) ; W r 1 t e ( N u m b e r S 1 z e : 4 : 1 ) ; END; PROCEDURE G e t P a r 1 7 ; . BEGIN R e a d l n ( C h a r S i z e ) ; G o t o x y ( 6 1 . P a r P o s 1 1 I o n ) ; W r 1 t e ( C h a r S 1 z e : 4 : 1 ) ; END: PROCEDURE G e t P a r 1 8 : BEGIN R e a d l n ( X I n S c a l e ) ; G o t o x y ( 6 1 , P a r P o s 1 t l o n ) ; W r 1 t e ( X I n S c a I e : 1 : 2 ) : END; PROCEDURE G e t P a r 1 9 ; BEGIN R e a d l n ( Y I n S c a l e ) ; G o t o x y ( 6 1 , P a r P o s 1 1Ion); 1529 18 21 • 1 22 1530 18 21 0 35 153 1 18 21 0 48 1532 18 1 0 0 1533 18 1 1 0 1534 18 1 1 5 1535 18 1 1 27 1536 18 1 2 27 1537 18 1 2 29 1538 18 1 4 37 1539 18 1 4 42 1540 18 1 3 87 1541 18 1 2 87 1542 18 1 2 90 1543 18 1 2 94 1544 18 1 2 98 1545 18 1 2 102 1546 18 1 2 106 1547 18 1 2 1 10 1548 18 1 2 1 14 1549 18 1 2 1 18 1550 18 1 2 122 1551 18 1 2 126 1552 18 1 2 130 1553 18 1 2 134 1554 18 1 2 138 1555 18 1 2 142 1556 18 1 2 146 1557 18 1 2 150 1558 18 1 2 154 1559 18 1 2 158 1560 18 1 2 162 1561 18 1 2 166 1562 18 1 2 212 1563 18 1 2 212 1564 18 1 2 217 1565 18 1 1 267 1566 18 1 1 272 1567 18 1 0 275 1568 18 1 0 290 1569 18 1 0 290 1570 18 1 0 290 1571 18 1 0 290 1572 1 2 D 1 1573 1 2 0 1 1574 1 2 D 1 1575 1 2 D 1 1576 1 2 D 1 1577 1 2 0 1 1578 1 2 0 1 1579 1 2 0 1 1580 1 2 0 1 158 1 1 2 D 1 1582 1 2 D 1 W r l t e ( Y I n S c a l e : 1 : 2 ) : END; BEGIN G o t o x y ( 1 5 , 2 3 ) ; W r 1 t e ( ' p r e s s C T R L - Z ' ) ; REPEAT ReadParNum; IF ParNum IN [ 3 . 4 . 5 , 1 3 , 1 4 ] THEN BEGIN G o t o x y ( 4 2 , 3 ) ; W r 1 t e ( A r r o w K e y s ) ; END; CASE ParNum OF 1 : G e t P a r 1 ; 2 : G e t P a r 2 ; 3 : G e t P a r 3 ; 4 : G e t P a r 4 ; 5 : G e t P a r S ; 6 : G e t P a r 6 ; 7 : G e t P a r 7 ; 8 : G e t P a r S ; 9 : G e t P a r 9 ; 10: G e t P a r 1 0 11 : G e t P a r 11 12: G e t P a r 12 13 : G e t P a r 13 14 : G e t P a r 14 15 : G e t P a r 15 16 : G e t P a r 16 17: G e t P a r 1 7 18 : G e t P a r 18 19: G e t P a r 19 END: (* CASE * G o t o x y ( 4 0 , 3 ) : W r 1 t e ( B l a n k ) ; UNTIL ParNum = 0 ; S e t D f ; END; (* S e t P l o t P a r a m e t e r s * ) (* T h e s e p r o c e d u r e s a r e a l w a y s l o a d e d * ) PROCEDURE C o n s o l e C h e c k : CONST Kbd » - 1 6 3 8 4 ; C l r K b d » - 1 6 3 6 8 : E s c = 155: TYPE B y t e = PACKED A R R A Y [ 0 . . O ] OF 0 . . 2 5 5 : MemType= RECORD 1583 2 :D 1 CASE B o o l e a n OF 1584 2 :D 1 T r u e : ( P o i n t e r : a B y t e ) ; 1585 1 2 .D 1 F a l s e : ( L o c a t i o n . : I n t e g e r 1586 2 :D 1 END; (* CASE * ) 1587 2 0 1 1588 2 D 1 VAR 1589 2 :D 1 C o n s o l e : MemType; 1590 1 2 D 2 Key I n t e g e r ; 1591 1 2 D 3 1592 1 2 0 0 BEGIN 1593 1 2 1 0 C o n s o l e . L o c a t 1 on : = K b d ; 1594 1 2 • 1 6 Key :» C o n s o 1 e . P o 1 n t e r a [ 0 ] ; 1595 1 2 1 11 IF Key > 127 THEN K e y P r e s s := T rue 1596 1 2 1 16 ELSE K e y P r e s s := F a l s e ; 1597 2 1 26 IF Key =» E s c THEN BEGIN 1598 1 2 3 33 Conso 1 e . L o c a t i o n := C l r K b d ; 1599 1 2 3 39 Key : = C o n s o 1 e . P o 1 n t e r a f 0 ] : 1600 1 2 3 44 E s c a p e := T r u e ; 1601 1 2 2 48 END; 1602 2 0 48 END: (* C o n s o l e C h e c k * ) 1603 1 2 0 60 1604 1 7 D 1 PROCEDURE I n l t T l m e r ; 1605 1 7 D 1 1606 1 7 0 0 BEGIN 1607 1 7 1 0 W a l t T l 1 1 :« 0 : 1608 1 7 1 4 M i n u t e s := 0 : 1609 1 7 1 8 O l d S e c o n d s := C l k S e c o n d s : 1610 1 7 1 16 T l m e Z e r o : = O l d S e c o n d s ; 1611 1 7 O 22 END : 1612 1 7 0 34 1613 1 10 D 3 FUNCTION NewTlme : I n t e g e r ; 1614 1 10 D 3 1615 1 10 D 3 VAR 1616 1 10 0 3 S e c o n d s , S e c C h e c k : I n t e g e r ; 1617 1 10 D 5 1618 1 10 0 0 BEGIN 1619 1 10 1 0 S e c o n d s :« C l k S e c o n d s ; 1620 1 10 1 7 SecCheck :.= C l k S e c o n d s : 1621 1 10 1 14 IF S e c o n d s <> SecCheck THEN 1622 1 10 2 19 S e c o n d s :» C l k S e c o n d s ; 1623 1 10 1 26 IF S e c o n d s < O l d S e c o n d s THEN 1624 1 10 2 33 M i n u t e s := M i n u t e s +1; 1625 1 10 1 41 O l d S e c o n d s := S e c o n d s ; 1626 1 10 1 45 S e c o n d s := Seconds + ( M l n u t e s * 6 0 ) -1627 1 10 1 58 NewTlme := S e c o n d s : 1628 1 10 0 6 1 END; 1629 1 10 0 74 1630 1 3 D 1 PROCEDURE R e a d D a t a ; 1631 1 3 D 2 1632 1 3 D 2 VAR 1633 1 3 D 2 T ime I n t e g e r ; 1634 1 3 D 3 1635 1 3 0 0 BEGIN 1636 1 3 1 0 IF (Modenum > 1) AND ( X c h a n n e l = 16) rO 16) THEN BEGIN 1637 1 3 : 3 13 W a l t T U I :» W a l t T I I I +• T r u n c ( I n t e r v a l ) ; 1638 1 3 : 3 27 T ime NewTlme; 1639 1 3 : 3 33 WHILE (T ime < W a l t T I I I ) AND NOT E s c a p e DO BEGIN 1610 1 3 :5 45 T ime := NewTlme: 1641 1 3 : 5 51 C o n s o l e C h e c k ; 1642 1 3 :4 53 END; 1643 1 3 : 3 55 G o t o x y ( 1 2 , 2 2 ) ; 1644 1 3 : 3 60 W r 1 t e ( ' T l m e = ' , T 1 m e : 5 , ' s e c ' ) ; 1645 1 3 : 3 99 Xp := Xou t * X I n S c a l e ; 1646 1 3 :2 1 15 END ELSE IF XChanne l <> 16 THEN 1647 1 3 : 3 124 XP :» A n a l o g I n ( X C h a n n e l , A v e r a g e ) * X I n S c a 1 e 1648 1 3 :2 136 ELSE 1649 1 3 : 3 146 XP : • NewTlme; 1650 1 3 : 1 156 YP : = Ana 1 o g I n ( Y C h a n n e l , A v e r a g e ) * Y I n S c a 1 e ; 1651 1 3 0 176 END; ( * Read D a t a * ) 1652 1 3 : 0 190 1653 1 4 :D 1 PROCEDURE S c r e e n M a p ; 1654 1 4 :D 9 1655 1 4 0 0 BEGIN 1656 1 4 1 0 S c r n X S c a l e :» XP1 e n / ( X M a x - X M 1 n ) ; 1657 1 4 1 19 S c r n Y S c a l e := Y P L e n / ( Y m a x - Y M I n ) ; 1658 1 4 • 1 38 S c r n X M i n :» XM1n; 1659 1 4 1 47 S c r n Y M I n :« YMIn ; 1660 1 4 0 56 END; (* S c r e e n Map * ) 1661 1 4 0 68 1662 1 5 0 1 PROCEDURE S c r e e n O r a w ; 1663 1 5 0 6 1664 1 5 0 0 BEGIN 1665 1 5 1 0 IF (L lneNum = 0 ) OR (Pen = 0 ) THEN P e n C o l o r ( B 1 a c k ) 1666 1 5 1 12 ELSE P e n c o 1 o r ( W h 1 t e ) ; 1667 1 5 1 21 X S c r n = R o u n d ( ( X - S c r n X M 1 n ) * S c r n X S c a l e ) + XPMIn ; 1668 1 5 1 44 Y S c r n = R o u n d ( ( Y - S c r n Y M 1 n ) * S c r n Y S c a l e ) + YPM1n; 1669 1 5 1 67 M o v e t o ( X S c r n , Y S c r n ) ; 1670 1 5 1 76 IF MarkNum > 1 THEN BEGIN 1671 1 5 3 83 P e n c o l o r ( B l a c k ) ; 1672 1 5 3 87 T u r n t o ( 2 3 3 ) ; 1673 1 5 3 93 M o v e ( 5 ) ; 1674 1 5 3 97 CASE MarkNum OF 1675 1 5 3 102 2 W C h a r ( ' + ' ) ; 1676 1 5 3 108 3 W C h a r ( ' » ' ) ; 1677 1 5 3 1 14 4 W C h a r ( ' Y ' ) ; 1678 1 5 3 120 5 W C h a r ( ' X ' ) ; 1679 1 5 3 126 6 W C h a r ( ' * ' ) ; 1680 1 5 3 132 END (* CASE *) 1681 ' 1 5 3 150 T u r n t o ( 3 7 ) ; 1682 1 5 3 154 M o v e ( 5 ) ; 1683 1 5- 2 158 END; 1684 1 5 : O 158 END; (* S c r e e n Draw * ) 1685 1 5 : 0 170 1686 1 5 : 0 170 1687 1 6- D 1 PROCEDURE ReadandDraw; 1688 1 6 : D 2 1689 1 6 0 0 BEGIN 1690 1 6 1 0 R e a d D a t a ( A v e r a g e ) ; 1691 1 6 1 3 S c r e e n D r a w ( X p , Y p , 1 ) ; 1692 1 6 0 16 END; 6 : 0 28 1695 1 8 D 1 PROCEDURE W M t e M e s s a g e ; 1696 1 8 D 23 1697 1 8 0 0 BEGIN 1698 1 8 1 0 G o t o x y ( 0 . 2 3 ) ; 1699 1 8 1 10 W r l t e ( B l a n k ) ; 1700 1 8 1 60 G o t o x y ( 0 . 2 3 ) ; 1701 1 8 1 65 W r 1 t e ( M e s s a g e . C h r ( 1 3 5 ) ) ; 1702 1 8 0 84 END: (* W r i t e Message * ) 1703 1 8 0 96 1704 1 9 D 3 FUNCTION R e a d O p t l o n ; 1705 1 9 D 3 1706 1 9 D 3 1707 1 9 D 3 VAR 1708 1 9 D 3 O p t c h r : C h a r ; 1709 1 9 D 4 O p t i o n : I n t e g e r ; 1710 1 9 D 5 171 1 1 9 0 0 BEGIN 1712 1 9 1 0 G o t o x y ( 0 , 2 ) ; 17 13 1 9 1 5 W r 1 t e ( ' SELECT OPTION: ' ) : 1714 1 9 1 37 G o t o x y ( 1 8 . 2 ) ; 1715 1 9 1 42 R e a d ( O p t c h r ) ; 1716 1 9 1 50 R e a d O p t l o n := O r d ( O p t c h r ) - O r d ( ' O ' ) ; 1717 1 9 0 55 END; 1718 1 9 0 68 1719 1 1 1 D 1 PROCEDURE W r l t e H e a d e r ; 1720 1 1 1 0 1 1721 1 1 1 D 1 VAR 1722 1 1 1 D 1 Y : I n t e g e r ; 1723 1 1 1 D 2 1724 1 1 1 0 0 BEGIN 1725 1 1 1 1 0 FOR Y :» 0 TO 23 DO BEGIN 1726 1 1 1 3 11 G o t o x y ( O . Y ) ; 1727 1 1 1 3 16 W r l t e ( B l a n k ) ; 1728 1 11 2 66 END; 1729 1 1 1 1 73 G o t o x y ( 6 , 0 ) ; 1730 1 1 1 1 78 W r 1 t e l n ( ' * * * welcome t o ANALOGPLOT * * * ' ) ; 1731 1 11 1 123 G o t o x y ( 0 , 4 ) ; 1732 1 1 1 1 128 W r 1 t e l n ( B I k s p , ' 1 > s e t P l o t p a r a m e t e r s ' ) ; 1733 1 1 1 1 187 W r l t e l n ( B l k s p , ' 2 > Draw g r a p h on p l o t t e r ' ) 1734 1 1 1 1 248 W r 1 t e 1 n ( B 1 k s p , ' 3 > V iew g r a p h on s c r e e n ' ) ; 1735 1 1 1 1 308 W r 1 t e l n ( B l k s p , ' 4 > Save x - y d a t a ' ) ; 1736 1 1 1 1 361 W r 1 t e l n ( B l k S p . ' 5 > C l e a r x - y b u f f e r ' ) ; 1737 1 1 1 1 417 W r 1 t e l n ( B 1 k S p , ' 6 > Upda te d e f a u l t s f i l e ' ) ; 1738 1 1 1 1 477 W r 1 t e l n ( B I k s p . ' 7 > Q u i t p r o g r a m ' ) ; 1739 1 1 1 1 529 G o t o x y ( 1 5 , 1 ) ; 1740 1 1 1 1 534 W r l t e ( N o o f P t s , M a x I : 3 ) ; 1741 1 1 1 0 575 END; 1742 1 1 1 0 590 1743 1 . 12 D 1 PROCEDURE B u f f e r C l e a r ; 1744 1 12 D 1 1745 1 12 0 0 BEGIN 1746 1 12 1 0 MaxI : = 0 1747 1 12 1 4 G o t o x y ( 3 6 , 1 ) ; 1748 1 12 1 9 W r 1 t e ( M a x I : 3 ) ; 1749 1 12 0 19 END: 1750 1 12 0 32 1751 1 12 0 32 1752 1 1 0 0 BEGIN (* M a i n P rog ram * ) 1753 1 1 1 0 I n i t i a l i z e ; 1754 1 1 1 59 1755 1 1 1 59 REPEAT 1756 1 1 2 59 W r 1 t e H e a d e r ; , 1757 1 1 2 61 CASE R e a d O p t l o n OF 1758 1 1 2 67 3 2 . 6 4 . 1 S e t P 1 o t P a r a m e t e r s ; 1759 1 1 2 72 2 0 . 5 2 . 2 D r a w P l o t t e r ; 1760 1 1 2 77 3 8 . 7 0 . 3 D r a w S c r e e n ; 1761 1 1 2 82 3 5 . 6 7 , 4 BEGIN 1762 1 1 4 82 S a v e D a t a ; 1763 1 1 4 85 B u f f e r C I e a r ; 1764 1 1 3 87 END; 1765 1 1 2 89 19.51 . 5 B u f f e r C l e a r ; 1766 1 1 2 93 3 7 , 6 9 . 6 S a v e D e f a u 1 t s ; 1767 1 1 2 98 3 3 . 6 5 . 7 I f (MaxI > 0 ) THEN BEGIN 1768 1 1 5 105 Q u i t :» F a l s e ; 1769 1 1 5 109 W r l t e m e s s a g e ( ' d a t a no t s a v e d ! q u i t anyway? 1770 1 1 5 150 R e a d ( K e y b o a r d . R e s p o n s e ) ; 1771 1 1 5 159 IF ( R e s p o n s e = ' y ' ) OR ( R e s p o n s e = ' Y ' ) THEN 1772 1 1 6 172 Q u i t := T r u e : 1773 1 1 4 176 ENO ELSE Q u i t : =» T r u e ; 1774 1 1 2 184 END; (* CASE R e a d O p t l o n * ) 1775 1 1 1 332 UNTIL Q u i t ; 1776 1 1 1 337 1777 1 1 1 337 C l o s e ( D a t a F 1 l e . C r u n c h ) ; 1778 1 1 1 344 W r 1 t e M e s s a g e ( ' s a v e p l o t p a r a m e t e r s ? ( Y / N ) ' ) ; 1779 1 1 1 376 R e a d ( R e s p o n s e ) ; 1780 1 1 1 385 IF ( R e s p o n s e = ' y ' ) OR ( R e s p o n s e = ' Y ' ) THEN S a v e D e f a u l t s 1781 1 1 1 398 ELSE C l o s e ( D f I t F l l e ) ; 1782 1 1 0 410 END. ro vo I 295 REFERENCES 1. M.A. Green, S o l a r C e l l s ( P r e n t i c e - H a l l , New York, 1982) p. 144. 2. J.G. Fossum, F.A. Lindholm and M.A. S h i b i b , IEEE Trans, on E l e c t r o n Dev. ED-26, 1294 (1979). 3. R.B. Godfrey and M.A. Green, A p p l . Phys. L e t t . , 34 , 790 (1979). 4. J.L. P r i n c e , Very Large Scale I n t e g r a t i o n , E d i t e d by D.F. Barbe ( S p r i n g e r - V e r l a g , New York, 1982) p. 4. 5. A.CM. Wang and S. Kakihana, IEEE Trans. E l e c t r o n Dev. ED-27, 667 (1974). 6. S.M. Sze, P h y s i c s of Semiconductor Devices, 2nd ed. (Wiley, New York, 1981) p. 157. 7. M.A. Green and R.B. Godfrey, IEEE Trans. E l e c t r o n Dev. L e t t . EDL-4, 225 (1983). 8. J.E. D u f f i l l , Proc. 12th European S o l i d - S t a t e Devices  Research Conf. (1982) p. 197. 9. S.M. Sze, P h y s i c s of Semiconductor Devices, 2nd, ed., op. c i t . , Chapter 7. 10. R.B. Godfrey and M.A. Green, IEEE Trans. E l e c t r o n Dev. ED-27, 737 (1980). 11. W. Shockley, E l e c t r o n s and Holes i n Semiconductors, with  A p p l i c a t i o n s to T r a n s i s t o r E l e c t r o n i c s (Van Nostrand,