Real-time Data Acquisition System
Echtzeit Messwert-Erfassungs-System auf IBM PC-Hostcomputer und ECB-Subcomputer Basis zum Einsatz in der Laser- und Hochfrequenz-Spektroskopie zur experimentellen Vermessung von Hyperfeinstrukturen (HfS), d.h. die Energieaufspaltung in den Spektrallinien der Atomspektren.
Diplomarbeit Thomas Fabula
Institut für Angewandte Physik der Universität Bonn
Zusammenfassung
“Im Rahmen dieser Diplomarbeit wurde ein Meßwerterfassungssystem (MES) für den Einsatz in der Laser- und Hochfrequenz-Spektroskopie entwickelt.
Es wurde ein Zwei-Prozessor-Rechnersystem auf der Basis eines IBM PC-XT kompatiblen Personal Computers in Verbindung mit einem ECB Z80-System aufgebaut, die für die Rechnerkopplung notwendige Hardware entwickelt und ein leistungsfähiges Terminalprogramm (TERMINAL) für die Rechner-kommunikation implementiert.
Das Gesamtsystem wurde mit einer Testmessung eines ZrI-Spektrums mit der Methode der Polarisations-spektroskopie getestet und auf seine Leistungsfähigkeit hin überprüft.
Zur Interpretation der gemessenen Hfs-Spektren wurde ein Simulationsprogramm (SPEKTRUM) geschrieben, welches die Zuordnung der Hfs-Komponenten zu den Linien des aufgenommenen Spektrums erleichtern helfen soll.”
Features
(i) Kopplung zweier Rechner-Industriestandards:
- IBM-PC (Intel 8088 CPU / 8 MHz)
- Z80-ECB (Zilog Z80 CPU / 4 MHz)
(ii) Entlastung des Hostcomputers von der zeitkritischen ‘On-Line’-Messwerterfassung durch ein intelligentes Subsystem
(iii) Zeitlich asynchrone Rechnerkopplung von Host- und Subsystem über 16-Bit-IN/8-Bit-OUT Hardware-FIFOs
(iv) Highspeed I/O-Bus (IOB) mit der Anschlußmöglichkeit von bis zu 256 Mess-Modulen
(v) Beliebige Erweiterbarkeit auf allen Hardware-Ebenen:
- Hostsystem : PC-Bus kompatible Interfacekarten
- Subsystem : ECB-Bus Prozessor-/Interfacekarten
- I/O-System : festes, genormtes Businterface
(vi) Weit verbreitetes Software-Angebot an Programmier-Sprachen, Software-Tools & -Utilities und eine daraus resultierende optimale Software Entwicklungsumgebung für sowohl zeitkritische maschinennahe als auch zeitintensive Hochsprachen Programmprobleme.
Beschreibung der Einzelkomponenten
Hostcomputersystem
Der IBM PC-kompatible Rechner stellt als Hostsystem das Kernstück des MES dar. Aufgrund seiner hohen Rechengeschwindigkeit (8 MHz getaktete CPU), großen Speicherkapazität (640 KB RAM / 120 ns) sowie erhöhter Rechengenauigkeit (8087/8 MHz Coprozessor), stellt er mit seinen Massenspeichern (10 MB Festplatte, 1.2 MB und 360 KB Floppy-Disks) ein ideales Steuer- und Auswertesystem dar.
Die Steuerung des Experimentablaufes läßt sich über das im Subsystem ablaufende Programm und entsprechende Parameterübergaben direkt vom PC aus beeinflussen. Eine zeitlich asynchrone Rechnerkopplung von Host- und Subsystem, realisiert durch Hardware-FIFOs, gewährleistet eine einwandfreie Funktion des PC-Rechners auf DOS-Betriebssystemebene. Die PC-I/O Karte umfaßt neben einer 96 Bit breiten parallel I/O-Leiste (4 x 8255 PPI) und zwei 16 Bit (8254, 10 MHz) Timern bidirektionale Leitungstreiber bzw. -empfänger um eine störunempfindliche Signalübertragung zwischen Host- und Subrechner zu gewährleisten.
Eine Vorabreduktion der Daten sowie eine grafische Auswertung können bei Bedarf ‘On-Line’ am PC-Rechner erfolgen. Die Spektren lassen sich in einer High-Resolution (720×348 Pixel) Grafik auf dem Bildschirm darstellen und bei Bedarf auf einem HP 7475A Plotter bzw. EPSON FX-100 Drucker ausgeben.
Für weitere Auswertungen, die zeitintensivere Algorithmen benötigen, lassen sich die Daten mittels Disketten-Datenträgern (5 1/4″, 360 KB) an einen IBM-4381 bzw. IBM-3081 Großrechner im hiesigen Bonner Rechenzentrum RHRZ (Rheinisches Hochschul-Rechenzentrum) weiterleiten.
Subcomputersystem
Der Z80-ECB-Subrechner, der Firma Janich & Klass, steuert das Experiment in Echtzeit, während der IBM-PC mit seinem komfortablen Betriebssystem für weitere Verarbeitung und Abspeicherung der Messdaten zuständig ist. Um dem Problem der Echtzeitfähigkeit bei der Messwerterfassung gerecht zu werden, enthält der Z80-Subrechner ein ROM-residentes FORTH-Betriebssystem und ein im RAM gespeichertes Messprogramm, welches den jeweiligen experimentellen Bedingungen angepaßt werden kann.
Die Kopplung der beiden Rechner erfolgt asynchron über mehrere Hardware FIFOs (First-In-First-Out) wodurch eine Pufferung und zeitliche Abkopplung der beiden Rechner gewährleistet ist. Bei dieser Verbindung von Z80 zum PC handelt es sich um einen 16 Bit breiten und 128 Byte tiefen Datenweg, der durch “two-wire-handshake” gesteuert wird. Die maximale Datenrate der FIFOs beträgt ca. 1 MHz, wodurch eine hohe Messdatentransferrate gewährleistet wird. Die Verbindung vom PC zum Z80 zwecks Initialisierung, Parameter- und Messprogrammübergabe ist 8 Bit breit und 128 Byte tief ausgelegt.
Die Zeittaktsteuerung für das Experiment wird über interrupt-generierende Z80-CTCs (Counter-Timer-Circuit) gesteuert wodurch eine zügige Verarbeitung von schnellauftretenden Mess-Signalen ermöglicht wird. Eine Zwischenspeicherung der Messdaten kann bei Bedarf in einem RAM-Buffer erfolgen, falls der PC durch “User-I/O” beschäftigt sein sollte.
Interfacesystem
Das Interface-Bus-System stellt die eigentliche Schnittstelle zum physikalischen Experiment dar. Durch seine universelle Busstruktur und Modularität der Messeinschübe ist man nicht auf ein bestimmtes “Messproblem” festgelegt. Durch gezielten Einsatz der entsprechenden Module und entsprechender Wahl der Messprogramme läßt sich der Aufbau z.B. schnell vom optischen zum HF-Experiment verändern.
Einer späteren Erweiterbarkeit des Mess-Systems wurde dadurch Rechnung getragen, daß der Interface-Bus möglichst universell ausgelegt wurde:
- 16 Daten-OUT Leitungen : MES => Experiment
- 16 Daten-IN Leitungen : Experiment => MES
- 8 Adress Leitungen : Auswahl der 256 versch. Mess-Module
- 8 Control Leitungen : Ansteuerung der versch. Mess-Module
Die einzelnen Module bestehen aus Zählern (TTL bzw. ECL-Technik, 32 Bit, max. 150 MHz), VFC-Karte (Voltage-to-Frequency Converter), Hoch-Frequenz Dekadentreiber (BCD, 10 Bit parallel), 8 Single-Bit IN (Instrumentation Amplifier), 8 Single-Bit OUT Karten. Eine Erweiterung z.B. durch A/D- bzw. D/A-Wandler-Karten ist jederzeit möglich.
Retrospective
Summary
“Within the scope of this diploma thesis, a data acquisition system for use in high-frequency and laser spectroscopy was developed.
A two-processor computer system based on an IBM PC-XT compatible personal computer in connection with an ECB Z80 system was built, the hardware necessary for the computer coupling was developed and a powerful terminal programme (TERMINAL) for computer communication was implemented.
The overall system was evaluated with a test measurement of a ZrI spectrum using the polarisation spectroscopy method and checked for its performance.
For the interpretation of the measured Hfs spectra, a simulation programme (SPEKTRUM) was developed to help assign the Hfs components to the lines of the recorded spectrum.”
Real-time Data Acquisition System
Real-time data acquisition system (DAS) on IBM PC host computer and ECB subcomputer basis for use in high-frequency and laser spectroscopy for the experimental measurement of hyperfine structures (HfS), i.e. the energy splitting in the spectral lines of atomic spectra.
Features
(i) Coupling of two computer industry standards:
- IBM-PC (Intel 8088 CPU / 8 MHz)
- Z80-ECB (Zilog Z80 CPU / 4 MHz)
(ii) Relief of the host computer from time-critical ‘on-line’ data acquisition by an intelligent subsystem.
(iii) Time asynchronous computer coupling of host and subsystem via 16-bit-IN/8-bit-OUT hardware FIFOs
(iv) High-speed I/O bus (IOB) with the possibility of connecting up to 256 measuring modules
(v) Arbitrary expandability on all hardware levels:
- Host system : PC bus compatible interface cards
- Subsystem : ECB bus processor/interface boards
- I/O system : fixed, standard bus interface
(vi) Widespread software offering of programming languages, software tools & utilities and a resulting optimal software development environment for both time-critical assembler and time-intensive high-level language programming problems.
Description of the individual components
Host computer system
As the host system, the IBM PC-compatible computer represents the core of the data acquisition system. Due to its high computing speed (8 MHz clocked CPU), large memory capacity (640 KB RAM / 120 ns) as well as increased computing accuracy (8087/8 MHz coprocessor), it represents an ideal control and evaluation system with its mass memories (10 MB hard disk, 1.2 MB and 360 KB floppy disks).
The control of the experiment sequence can be influenced directly from the PC via the programme running in the subsystem and corresponding parameter transfers. A temporally asynchronous computer coupling of host and subsystem, realised by hardware FIFOs, guarantees a perfect function of the PC computer on DOS operating system level. In addition to a 96-bit wide parallel I/O strip (4 x 8255 PPI) and two 16-bit (8254, 10 MHz) timers, the PC I/O board includes bidirectional line drivers or receivers to ensure interference-free signal transmission between host and sub-computer.
A pre-reduction of the data as well as a graphical evaluation can be carried out ‘on-line’ on the PC computer if required. The spectra can be displayed on the screen in a high-resolution (720×348 pixels) graphic and, if required, output to an HP 7475A plotter or EPSON FX-100 printer.
For further evaluations that require more time-intensive algorithms, the data can be forwarded to an IBM-4381 or IBM-3081 mainframe computer in the local university computer data center RHRZ (Rheinisches Hochschul-Rechenzentrum) by means of diskette data storage media (5 1/4″, 360 KB).
Subcomputer system
The Z80-ECB subcomputer, made by Janich & Klass, controls the experiment in real time, while the IBM-PC with its convenient operating system is responsible for further processing and storage of the measurement data. In order to cope with the problem of real-time capability in measurement data acquisition, the Z80 subcomputer contains a ROM-resident FORTH operating system and a measurement programme stored in RAM, which can be adapted to the respective experimental conditions.
The two computers are coupled asynchronously via several hardware FIFOs (First-In-First-Out), which ensures buffering and temporal decoupling of the two computers. This connection from the Z80 to the PC is a 16-bit wide and 128-byte deep data path controlled by “two-wire handshake”. The maximum data rate of the FIFOs is approx. 1 MHz, which ensures a high measurement data transfer rate. The connection from the PC to the Z80 for initialisation, parameter and measurement programme transfer is 8 bits wide and 128 bytes deep.
The timing for the experiment is controlled via interrupt-generating Z80 CTCs (counter timer circuit), which enables rapid processing of fast-occurring measurement signals. If necessary, the measurement data can be temporarily stored in a RAM buffer if the PC is busy with “user I/O”.
Interface system
The interface bus system is the actual interface to the physical experiment. Due to its universal bus structure and modularity of the measuring modules, one is not limited to a specific “measuring problem”. By using the appropriate modules and selecting the appropriate measuring programmes, the set-up can be quickly changed, for example, from an optical to an RF experiment.
A later expandability of the measuring system was taken into account by designing the interface bus to be as universal as possible:
- 16 data-OUT lines: DAS => experiment
- 16 data-IN lines : experiment => DAS
- 8 address lines : selection of the 256 different measuring modules
- 8 control lines : control of the different measuring modules
The individual modules consist of counters (TTL or ECL technology, 32 bit, max. 150 MHz), VFC card (voltage-to-frequency converter), high-frequency decade driver (BCD, 10 bit parallel), 8 single-bit IN (instrumentation amplifier), 8 single-bit OUT cards. An extension, e.g. with A/D or D/A converter cards, is possible at any time.
GitHub Repositories
- github.com/ThomasFabula/Diploma_Physics
- github.com/ThomasFabula/HFS-SPEKTRUM
- github.com/ThomasFabula/Atomic-Physics
- github.com/ThomasFabula/ISOTOP
- github.com/ThomasFabula/HFSFIT
- github.com/ThomasFabula/ZIRKON
- github.com/ThomasFabula/Forth_Z80