Scientific Counter Single-Channel Spectrometer (SCSCS) ====================================================== Inhalt ------ 1. Copyright 2. Einleitung 3. Eigenschaften 4. Komponenten des Geräts 5. Technische Spezifikation 6. Konfiguration des Systems 7. Betriebsmodi 8. Software 8.1. Standard Funktionen 8.2. Das Endnutzer Programm SCSCS 1. Copyright --------- Radicon LTD. Scientific Instruments 68, Malookhtinskii av., St. Petersburg, 195272, Russia Tel.: +7(812)528-0278, Fax: +7(812)528-6633, Telex: 121590 Rebur SU 2. Einleitung ---------- Das Scintillation Counter Single-Channel Spectrometer (Szintillations- Einkanal- Spektrometer) ist für energiestreuende Zählratenmessungen des Photonflusses in verschiedenen Beugungs-, Spektral-, Absorptions- und anderen Experimenten unter Verwendung eines IBM XT/AT Computer oder Kompatiblen gedacht. Das SCSCS besteht aus zwei Einheiten, die mit einem Kabel verbunden werden: 1. Schnittstellenkarte, die in einen IBM XT Erweiterungsschacht eingefügt wird, mit Mikroprozessor, Uhr, Spannungstrafo und Kontrollautsprecher. 2. Detektor Block, mit Szintillationskristall in Verbindung mit Berillium Eintrittsfenster, Lichtverstärker, Hochspannungsquelle und Vorverstärker mit manuell einstellbarer Steigerung. 3. Eigenschaften ------------- - seperat einstellbare untere und obere Wertbegrenzungen durch den Computer - ausschaltbare akustische Überwachung mittels Piezo-Lautsprecher - ausschaltbare Energiezerstreuung- oder Integralzählung - voreinstellbare Zeit, Pulszählungen oder konstante Zählraten Messung - ungenutzte Computerzeit wird zur Fehlerkorrektur verwandt - vom Hersteller voreingestellte optimale Hochspannung jedes Detektorblocks - Detektorblock Verbindung mit Niederspannung - austauschbare Detektorblöcke und Schnittstellenkarte 4. Komponenten des Geräts ---------------------- Standardmäßig besteht das Gerät aus folgenden Komponenten: 1. Detektor Block 2. Schnittstellenkarte für IBM PC Computer oder Kompatible 3. 5m langes Kabel, zur Verbindung des Detektor Blocks mit der Schnittstellenkarte 4. Reserve Lichtverstärker 5. Reserve Szintillationskristall in Verbindung mit Berillium Eintrittsfenster 6. Diskette mit Software Der Detektorblock enthält Szintillationskristallanordnung, Lichtverstärker, Hochspannungsquelle, Vorverstärker, skaliberer Verstärker mit manuell anpaßbarer Steigerung, 10 Stellungs Steigerungsschalter, 8 Pin Kabelanschluß, Coaxial Kontrollanschluß. Die Schnittstellenkarte enthält einen IBM AT/XT Bus Anschluß, einen 8 Pin Kabelanschluß, 4 Pin Kontrollanschluß, Schnittstellenschaltkreisen, 1816BE31 Mikroprozessor (analog zum Intel 8031), 2 KB RAM, 512 B ROM, Uhr, Register, Plugin-Schalter, der zwischen regulärem Betrieb und Testbetrieb mit externem Generator wechselt, 4 Bit Adreßwahlschalter, zwei 12 Bit Digital/Analogwandler zur Bestimmung der oberen und unteren Wertebegrenungen, Spannungswandler zwischen 5 und ~15V für die Speisung eines DACs, Signalverstärler, zwei aufeinanderfolgende Filter, skalierbarer Verstärker, Vergleichung der oberen und unteren Wertegrenzen, digitale Logikschaltkreise, für das formen von rechteckigen Zählimpulsen für den Mikroprozessor, Piezo Lautsprecher mit Kontrollschaltkreisen. Dieser Aufbau ermöglicht einen sehr kompaktes, sparsames, kostengünstiges und flexibles Gerät, das reguläre, voneinander getrennt aufgebaute Spektrometer unnötig macht. Zusätzliche Vorzüge sind das wegfallen eines Hochspannungskabel, wodurch der Einbau des Detektorblocks in die beweglichen Teile des Aufbaus des Experiments vereinfacht wird. 5. Technische Spezifikation ------------------------ Einstellung Werte(e) Einheit ------------------------------------------------------------------------------- Energiebereich, Herstellervorgabe 5 - 25 keV Energiebereich nach Anpassung 5 - 60 keV Wertebegrenzungsbereichen 0 - 2.56 V Wertebegrenzungsauflösung 2,5 mV Belichtungszeiträume 0.1 - 1000 s Zählrate 0.1 - 10E+5 1/sec Maximale Zählungen 4 x 10E+9 Durchmesser des Detektorblockaufsatzes 40 mm Verbindungskabellänge 5 m 6. Konfiguration des Systems ------------------------- Vor dem Einbau der Schnittstellenkarte in den Computer sollten Sie die Portadressen auswählen und notieren, die zum Datentransfer zwischen Karte und Datenbus verwendet werden. Wenn mehr als Karte im selben Computer eingebaut sind, müssen alle Portadressen unterschiedlich sein. Portadressen werden mittels 4-Bit Schaltern auf der Karte ausgewählt. Die einzelnen Bits sind von 1 bis 4 durchnummeriert. Die folgende Tabelle zeigt die Beziehungen zwischen der Position des S1 Schalters und den Portadressen für Daten und Kontrollcodes, die von der Software zur Kommunikation mit dem Gerät verwendet werden. S1.1 OFF OFF OFF OFF OFF OFF OFF OFF S1.2 OFF OFF OFF OFF ON ON ON ON S1.3 OFF OFF ON ON OFF OFF ON ON S1.4 OFF ON OFF ON OFF ON OFF ON DATA 0100H 0110H 0120H 0130H 0140H 0150H 0160H 0170H* CONTROL 0101H 0111H 0121H 0131H 0141H 0151H 0161H 0171H* S1.1 OFF OFF OFF OFF OFF OFF OFF S1.2 OFF OFF OFF OFF ON ON ON S1.3 OFF OFF ON ON OFF OFF ON S1.4 OFF ON OFF ON OFF ON OFF DATA 0180H 0190H 01A0H 01B0H 01C0H 01D0H 01E0H CONTROL 0181H 0191H 01A1H 01B1H 01C1H 01D1H 01E1H Die mit (*) markierten Kombination sollte nicht in Verbindung mit Computern mit zwei Festplatten verwendet werden. Die Kombination mit allen S1 Bits auf ON sollte wegen Störungen der ersten Festplatte niemals verwendet werden . 7. Betriebsmodi ------------ Das Gerät ist in der Lage in mehreren Betriebsmodi zu laufen. Es gibt drei Modi der Zählratenmessung: Das Zählen der Impulse während der Belichtungszeit, Messung der Zeit bis zum Erreichen einer voreingestellten Anzahl von Impulsen, kontinuierliche (zyklische) Zählung der Impulse während 65 msec Intervallen. Der letzte Modus wird benutzt zur Softwareemulation einer Intensitätsmessung mit Integrationszeitkonstanten T. In diesem Fall werden Folgewerte der Intensität I(n) mit der Wiederholungsrelation berechnet: I(n) = I(n-1) * (1 - 65 msec/T) + N(n)/T wobei N(n) die Anzahl der Impulse, die während des n-ten 65 msec Intervalls gezählt wurden. Die Korrektheit dieser Formel erfordet, daß T sehr viel größer als 65 msec ist. Die Intensität wird in Impulsen pro Sekunde gemessen. Es gibt auch zwei Modi zur Impulsamplitudenbegrenzung: Begrenzung durch zwei (obere und untere) Wertebegrenzungen und durch einfache (untere) Wertebegrenzung oder Integralmodus, wobei all Quanten die die untere Wertegrenze überschreiten gezählt werden. Es gibt auch die Möglichkeit einer akustischen Kontrolle. Für die akustische Kontrolle, transformieren spezielle Schaltkreise die Impulszählungen in rechteckige Impulse mit 1 msec Dauer, die in den Piezo Lautsprecher gespeist werden. Aufgrund von Unregelmäßigkeiten bei der Impulsverteilung bestimmte Klänge sind deutlich hörbar, selbst wenn die Durchschnittszählungen bei 100000 Impulsen pro Sekunden liegt. 8. Software -------- Die Diskette, die mit dem Gerät ausgeliefert wird, enthält mehrere Objektmodule, die Standard Funktionen zur Kommunikationen zwischen der Schnittstellenkarte und dem Computer durchführen. Diese Module können mit dem Microsoft C 5.1 unter MS DOS (Versionen 3.20 - 5.0) kompiliert werden, und sollten mit der Microsoft C library für große Speichermodelle verlinkt werden. Die Werkzeuge, die es dem Kunden ermöglichen eigene Endnutzerapplikationen zu entwerfen, werden anschließend beschrieben. Es gibt drei Standardfunktionen: init.obj begwrk.obj getinf.obj die in kompot.obj enthalten sind, neben einigen Hilfsfunktionen für den internen Gebrauch. Diese Datei sollte in die Endnutzerapplikation eingebunden werden. Folgend sind die Aufrufe von Standard Funktion kommentiert. 8.1. Standard Funktionen ------------------- init ( data_reg, control_reg ) Diese Funktion lädt das Programm für den Mikroprozessor vom IBM PC. Das Programm wird in der Datei scscs.prg gespeichert, die unbedingt im Arbeitsverzeichnis liegen muß. Parameter: data_reg, control_reg - Integertypen (2 bytes). Enthalten die Daten- und Kontrollportadressen, die den Einstellungen des Schalters S1 entsprechen müssen. Rückgabewerte: 0 = normale Beendigung -1 = Kommunicationsfehler (keine Antwort vom Gerät). Entweder inkorrekte Portadresse(n) oder physische Beschädigung des Geräts. -2 = Datei scscs.pgr wurde nicht im Arbeitsverzeichnis gefunden. -3 = Fehlerhafte Einstellung des Geräts. In diesem Fall drücken Sie den RESET Knopf des PCs oder schalten Sie den Computer aus und wieder ein. begwrk ( function_code, data_reg, control_reg, upper_limit, lower_limit, time, pulse_number, integral mode ) Diese Funktion setzt die notwendigen Arbeitsparameter für das Gerät und initialisiert den Meßvorgang, falls nötig. Parameter: function_code - Integertypen (2 bytes). Die folgenden Codes werden verwendet: 0 = Impulszählmodus während einem voreingestellte Zeitraum aktivieren. 1 = Zeitmessungmodus für voreingestellte Impulszahlen aktivieren. 2 = fortlaufende (zykliche) Zählung während 65 ms Intervallen aktivieren. 3 = Ton einschalten. 4 = aktuelle Aktion abbrechen. 5 = setzen der Wertegrenzen. 6 = Ton abschalten. data_reg, control_reg - Integertypen (2 bytes). Enthalten die Daten- und Kontrollportadressen, die den Einstellungen des Schalters S1 entsprechen müssen. upper_limit, lower_limit - Integertypen (2 bytes) im Bereich 0 - 1023. Diese Parameter bestimmen die Wertebegrenzungen und werden nur beim Funktionscode 5 verwendet. Keine Bedeutung in anderen Modi. time - Float Double Typ (8 bytes). Bestimmt die Belichtungszeit in Sekunden. Die Zeitauflösung liegt bei 1 Mikrosekunde. Dieser Parameter wird nur im Funktionscode 0 verwendet. Keine Bedeutung in anderen Modi. pulse_number - Unsigned Long Integer (4 bytes). Beim Funktionscode 1 gibt dieser Parameter die Anzahl der Impulse der Messung. Keine Bedeutung in anderen Modi. integral_mode - Integertyp (2 bytes). Im Funktionscode 5 wird die obere Wertebegrenzung ignoriert, falls dieser Parameter auf 1 gesetzt ist, und reaktiviert die oberte Wertebegrenzung bei einem Wert von 0. Keine Bedeutung in anderen Modi. Rückgabewerte: 0 = normale Beendigung -1 = Kommunicationsfehler (keine Antwort vom Gerät). Entweder inkorrekte Portadresse(n) oder physische Beschädigung des Geräts. -2 = Das Gerät ist beschäftigt. Dieser Code tritt auf, wenn während der Belichtungszeit versucht wird, die Wertegrenzen oder andere wichtige Parameter zu verändern. Ton kann jederzeit ein und aus geschaltet werden. getinf ( function_code, data_reg, control_reg, time_pointer, pulse_pointer ) Diese Funktion ermittelt die Resulte der Aktivität, die durch begwrk.obj initialisiert wurde. Parameter: function_code - Integertypen (2 bytes). Die folgenden Codes werden verwendet: 0 = Abrufen der aktuellen Werte der Zeit und Impulszähler. 1 = Abrufen der vergangen Zeit, als Resultat der Funktion 1 von begwrk. 2 = Abrufen der gezählten Impulse, als Resultat der Funktion 0 von begwrk. 3 = Abrufen der gezählten Impulse während des letzten 65 msek Bereichs, als Resultat der Funktion 2 von begwrk. data_reg, control_reg - Integertypen (2 bytes). Enthalten die Daten- und Kontrollportadressen, die den Einstellungen des Schalters S1 entsprechen müssen. time_pointer - Zeiger auf Float Double Variable, zur Speicherung der gemessen Zeit. pulse_pointer - Zeiger auf Unsigned Long Variable, zur Speicherung der gezählten Impulse. Rückgabewerte: 0 = normale Beendigung -1 = Kommunicationsfehler (keine Antwort vom Gerät). Entweder inkorrekte Portadresse(n) oder physische Beschädigung des Geräts. -2 = Falsche Verwendung der Funktion oder Daten nicht bereit. Dieser Fall tritt ein, wenn der Funktionscode von getinf nicht mit dem von begwrk konform sind, oder wenn die Messung nicht abgebrochen wurde und keine neuen Datensätze bereit sind. 8.2. Das Endnutzer Programm SCSCS ---------------------------- Im allgemeinen ist das Gerät nicht für den Einzelbetrieb vorgesehen, sondern innerhalb eines komplexeren Systems, das auch andere Geräte verwendet. Das macht ein hochentwickelte Endnutzerapplikation für dieses Gerät sinnlos, da es nicht die besonderen Anforderungen eines, das Gerät enthaltende System berücksichtigen könnte. Das mitgelieferte Program scscs.c sollte daher als Demonstration und als Testprogramm, das gleichzeitig als Beispiel für die Verwendung der Standardfunktionen in eigenen Applikationen dient. Auf Anfrage eines Kundens, kann der Hersteller vielseitige Unterroutinen entwerfen, die den speziellen Anforderungen in einem Endnutzersystem gerecht werden. SCSCS läuft voreingestellt mit den Daten- und Kontrollportadressen 0170H und 0171H. Um das Programm mit einer anderen Portadresse laufen zu lassen, fügen Sie diese infach an die Befehlszeile an. Zum Beispiel, um das Programm mit den Ports 0100H und 0101H laufen zu lassen, geben Sie "scscs 100 101 " ein. Im scscs Programm können Sie eine andere Belichtungszeit und Anzahl der Impulse voreinstellen, und die Wertbegrenzungen und drücken Sie dann auf der Startzeile, um die Messung zu beginnen. Die Messung ist zyklisch, nach jeder Belichtung beginnt eine weitere nach einer kurzen Verzögerung. Die derzeitige Zeit und Anzahl der Impulse wird während der Messung angezeigt. Um den Vorgang abzubrechen und in die Parametereingabe zurück zu kehren, drücken Sie die Leertaste. Mittels für Ja und für Nein in den entsprechenden Zeilen, stellen Sie den Ton und die obere Begrenzung an oder aus. Weitere Informationen über das scscs Programm können dem beigefügten Quellcode und den darin enthaltenen Kommentaren entnommen werden.