DE4027898A1 - Verfahren zur erfassung von messdaten - Google Patents
Verfahren zur erfassung von messdatenInfo
- Publication number
- DE4027898A1 DE4027898A1 DE4027898A DE4027898A DE4027898A1 DE 4027898 A1 DE4027898 A1 DE 4027898A1 DE 4027898 A DE4027898 A DE 4027898A DE 4027898 A DE4027898 A DE 4027898A DE 4027898 A1 DE4027898 A1 DE 4027898A1
- Authority
- DE
- Germany
- Prior art keywords
- code
- memory
- computer
- interface
- program
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Ceased
Links
Classifications
-
- G—PHYSICS
- G01—MEASURING; TESTING
- G01R—MEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
- G01R19/00—Arrangements for measuring currents or voltages or for indicating presence or sign thereof
- G01R19/25—Arrangements for measuring currents or voltages or for indicating presence or sign thereof using digital measurement techniques
- G01R19/2506—Arrangements for conditioning or analysing measured signals, e.g. for indicating peak values ; Details concerning sampling, digitizing or waveform capturing
- G01R19/2509—Details concerning sampling, digitizing or waveform capturing
Description
Die Erfindung bezieht sich auf ein Verfahren zur
Erfassung von Meßdaten mittels eines Rechners bei
Nutzung multipler Funktionen einer Analog-Digital-
Schnittstelle.
Üblicherweise bieten PC-gestützte Meßdatenerfassungs
systeme eine ganze Reihe von zusätzlichen Funktionen
über die reine Analog-Digital-Wandlung hinaus an. So
kann der PC u. a. als Instrument zur Meßdatenerfassung,
als Digitaloszilloskop, als Funktionsgenerator und als
Impulsgenerator genutzt werden.
Wenn aber mehrere dieser Funktionen zugleich benötigt
werden und nicht zuletzt auch noch eine hohe
Aufnahmegeschwindigkeit erreicht werden muß, dann stößt
die Leistung eines Rechners schnell an seine Grenzen.
Geschwindigkeitseinschränkungen ergeben sich natür
licherweise bei mehrkanaligen Aufnahmesystemen.
Aus Kostengründen ist normalerweise dem teuren Analog-
Digital-Wandler ein wesentlich billigerer Multiplexer
vorgeschaltet. Diese Technik bedingt, daß die Abtast
frequenz, mit der im Einzelkanalbetrieb Daten abgerufen
werden können, soweit heruntergesetzt wird, wie dies
für das sichere Einschwingen aller Kanalumschaltvor
gänge notwendig ist.
Diese Abtastfrequenz ist dann etwas geringer als die
höchstmögliche Abtastung bei einkanaliger Aufnahme,
geteilt durch die Anzahl der verwendeten Aufnahme
kanäle.
Wenn nun auch noch zusätzlich und gleichzeitig, also
noch während eine solche Aufnahme läuft, eine oder
mehrere der möglichen Schnittstellen-Funktionen benö
tigt werden, dann wird diese Aufnahmefrequenz noch
einmal herabgesetzt. Für das Ausgeben dieser Funktionen
werden nämlich die Zeiten für das Treffen von Ent
scheidungen, das Berechnen der auszugebenden Werte und
letztendlich für den Port-Zugriff zusätzlich benötigt.
Die Samplingfrequenz-Reduktionen durch Mehrfachfunk
tionsaufrufe können dabei sehr erheblich werden. Ein
Programm für eine einkanalige Aufnahme, die z. B. mit
200 kHz möglich wäre, holt alle 5 µsek einen Wert vom
Port ab, legt den Wert im Speicher ab und berechnet die
notwendigen Pointer neu.
Im PC ist der Prozessor mit dieser Aufgabe voll ausge
lastet, und er schafft dies auch nur, wenn entweder das
Aufnahmeprogramm im Maschinencode geschrieben ist oder
andere Techniken (wie z. B. DMA-Zugriffe) verwendet
werden.
Der Zugriff vom compilierten Hochsprachenprogramm für
die Ausgabe von z. B. einer Sinusfunktion erfordert aber
für Entscheidungen, Berechnungen und Zugriffe schon
zusätzlich viel mehr Zeit als diese 5 µsek.
Damit würde aber schon bei einer einkanaligen Aufnahme
die höchstmögliche Samplingrate auf weniger als 50%
sinken, wenn nur ein Ausgabekanal benutzt würde.
Schnittstellenkarten mit den benötigten Eigenschaften,
wie Geschwindigkeit, Anzahl der Kanäle usw. zu finden
oder auch aufzubauen, ist kein Problem; eine Vielzahl
ausgezeichneter Produkte steht auf dem Markt zur
Verfügung; dabei sind Treiber für die favorisierte
Programmsprache meist inbegriffen.
Auch ist jede einzelne der benötigten Funktionen mit
einer solchen Schnittstellenkarte und einem ent
sprechenden Programm ohne größeren Aufwand leicht auf
einem PC zu realisieren; viele Meßdatenerfassungs
programme bieten diese Funktionen bereits menügesteuert
an. Beim Entwurf eines Programms für eine etwas
aufwendigere Konfiguration mit gleichzeiter Aufnahme
und Ausgabe von Daten stößt man dann aber doch sehr
schnell auf Schwierigkeiten:
Der Zeitaufwand eines sequenziell ablaufenden Programms, der allein für Entscheidungen und die Überwachung von Grenzen und Parametern benötigt wird, verhindert das Ausnutzen der von der Hardware an sich möglichen Geschwindigkeiten.
Der Zeitaufwand eines sequenziell ablaufenden Programms, der allein für Entscheidungen und die Überwachung von Grenzen und Parametern benötigt wird, verhindert das Ausnutzen der von der Hardware an sich möglichen Geschwindigkeiten.
Die Erzeugung, d. h. also die Berechnung der benötigten
Funktionen eines Funktionsgenerators, ist in der
jeweils gewählten Programm-Sprache, ganz gleich welche
man einsetzt, in der Regel gut unterstützt. Bisher ist
aber das Problem nicht gelöst, wie man das laufende
Programm dazu bringt, diese Funktionen über die
Schnittstelle auszugeben, während gleichzeitig die Auf
nahme der Daten mit hoher Geschwindigkeit läuft, ohne
dafür spezielle Hardware verwenden zu müssen.
Viele Schnittstellenkarten bieten gute Möglichkeiten,
wie DMA-Zugriffe, eigener Speicher, Zeitsteuerung durch
integrierte Zeitgeber, digitale Ausgänge auf der Karte,
usw; trotzdem erreicht man das gesetzte Ziel oft nicht
bzw. nur durch entsprechende Kompromisse.
Analysiert man die auftretenden Probleme auf der
Schnittstellenebene zwischen Hard- und Software ge
nauer, dann erlauben Abstraktionen einfache, von der
jeweiligen Hardware unabhängige Strategien auf der
Maschinencodeebene die Lösung der beschriebenen
Probleme.
Demgegenüber liegt der Erfindung die Aufgabe zugrunde,
das Verfahren zur Erfassung von Meßdaten derart zu ge
stalten, daß der Zeitaufwand eines sequenziell ablau
fenden Programms, der allein für Entscheidungen und
Überwachung von Grenzen und Parametern benötigt wird,
wesentlich herabgesetzt werden kann.
Gelöst wird die Aufgabe erfindungsgemäß dadurch, daß
die Ablage zumindest eines Codes zur Ablaufsteuerung in
dem für die Aufnahme vorgesehenen Speicherbereich des
Rechners zur Steuerung zeitgleicher Aktivitäten er
folgt, wobei die Ablage des Codes vor der Aufnahme der
Meßdaten im Rechner vorgenommen wird. Ferner ist es
vorteilhaft, daß in die 16 Bit großen Speicherstellen
des Rechners zu den 12 Bits, die als Informationsträger
verwendet werden, die restlichen vier Bits als
Codeträger eingesetzt werden. Vorteilhaft ist es
außerdem, daß die freien Speicher bzw. Bitstellen zur
Kanalkennzeichnung der aufgenommenen Meßwerte dienen.
Hierdurch wird auf einfache Weise die Arbeits
geschwindigkeit des Rechners gegenüber herkömmlichen
Rechnern wesentlich gesteigert, da alle Entscheidungen
vor dem Start der eigentlichen Aufnahme des Programms
getroffen werden. Dadurch geht unmittelbar nur die für
die Schnittstellenzugriffe benötigte Zeit in die Auf
nahme ein, wobei diese Zeit noch in die Zeit verlegt
werden kann, in der der Analog-Digital-Wandler ohnehin
beschäftigt ist.
Mit verallgemeinerten Vorgaben zur Dateistruktur für
die aufgenommenen Daten kann die Anpassung der Daten
einer solchen "Trace-Datei" zum Meßwerterfassungspro
gramm erfolgen. Eine "Trace-Datei" ist eine spezielle
Dateistruktur mit den Zeitparametern als implizierte
Größe und mit der Möglichkeit sehr große Dateien auf
Massenspeichern zu verwalten.
Eine Tracedatei ist gemäß Fig. 5 eine Datei mit
gekennzeichneten Elementen, denen implizit ein
Zeitparameter zugeordnet ist.
Normalerweise ist auch den aufeinander folgenden Werten
einer "Normaldatei", wenn diese als Spur aus den
Analogdaten eines Analogkanals im Speicher abgelegt
werden, ein Zeitparameter beigeordnet. Diese Zuordnung
ist aber im allgemeinen starr, wie man schnell sieht,
wenn man einfach einmal in diese "Normal"-Datei ein
paar Werte an einer beliebigen Stelle zwischenschiebt.
Der programmierte Zugriff und die Darstellung gerät aus
dem Tritt; die Werte der Datei können nicht mehr
richtig zugeordnet werden, da an den Stellen, an denen
ein bestimmter Kanalwert erwartet wird, plötzlich etwas
anderes steht.
Bei der Tracedatei wird, und das ist wesentlich, jedem
Wert zur Identifikation ein Kanalzeichen mitgegeben,
das nicht wirklich einen physikalischen Kanal zu
bezeichnen braucht; aber jedem aufeinanderfolgenden
Wert des gleichen Kanalzeichens ist der zu diesem Kanal
gehörende Zeitdifferenzparameter automatisch beige
ordnet, egal an welcher physikalischen Stelle in der
Datei die Daten stehen.
So können Kanalwerte mit unterschiedlichen Abtastraten
in der Reihenfolge ihres Auftretens in der Datei
abgelegt werden, Werte mit einer anderen Kanalsignatur
können nachträglich eingeschoben werden, um z. B. Texte
oder auch Zeichen der Spur zuzuordnen, ohne daß das
Zeitgefüge der aufgenommenen Daten in Unordnung gerät.
Der einfache, aber erfindungsgemäß wirksame Schritt,
den für die aufzunehmenden Daten vorgesehenen Speicher
vor dem Start der Aufnahme nicht einfach als leer zu
betrachten sondern in ihm vor dem Start einer Aufnahme
eine Verlaufsvorgabe durch einen vereinbarten Code
einzuspeichern, erlaubt die einfache Anpassung an die
jeweilige Hardware, sowohl an den jeweils benutzten
Rechner als auch an die Schnittstellenkarte.
Durch dieses Vorgehen ist es möglich, auch sehr kom
plexe Aufgaben für schnelle Datenerfassungen in einer
beliebigen, vor allem beliebig langsamen Programm
sprache zu progammieren, ohne auf Zeitprobleme über
haupt achten zu müssen.
Die Folge von aufgenommenen Daten an der Schnittstelle
eines Rechners wird normalerweise von einem seriell
ablaufenden Programm in den Speicher des Rechners ge
legt.
Werden mehrere Funktionen benötigt, dann wird das Pro
gramm innerhalb eines solchen Ablaufs viele Entschei
dungen zu treffen haben. Der Zeitbedarf des Programm
ablaufs zum Treffen aller Entscheidungen wird um so
größer, je mehr Funktionen auf der Schnittstelle
aktiviert werden sollen, und diese Zeitdauer wiederum
bestimmt letztendlich, mit welcher maximalen Sampling
rate eine ADC-Wandlung am Eingang erfolgen kann.
Trifft man nun alle Entscheidungen vor dem Start der
eigentlichen Aufnahme, dann geht nur die unmittelbar
für die Zugriffe an den Ausgängen benötigte kurze Zeit
in die Aufnahme ein, und diese Zeit kann auch noch in
die Zeiten verlegt werden, in denen der Analog-Digital-
Wandler ohnehin beschäftigt ist. Echte Wartezeiten ent
stehen dann überhaupt nicht mehr.
Legt man z. B. in einer Speicherstelle, in die ein A/D-
Wert abgelegt werden soll, vorher den zum Zeitpunkt der
Aufnahme zeitgleich auszugebenden D/A-Wert ab, dann ist
die Reduktion des Zeitbedarfs für das Programm erheb
lich. Auf die gleiche Weise kann man durch speziell
vereinbarte Steuercodes ohne größeren Zeitbedarf jede
Funktion aktivieren, die die Karte bietet.
Die Wahl des Codes erfolgt dabei so, daß sich aus dem
Wert des Codes direkt ein Einsprungziel auf das diesen
Code interpretierende Programm ergibt. Dazu wird der
OP-Code einfach als Offset zu einer Basisadresse für
den OP-Code 0 hinzugefügt; das Ergebnis ist dann direkt
die Adresse des den Code ausführenden Programms.
Hinzu kommt, daß durch feste Vereinbarungen der
verwendeten Codes ein standardisiertes Maschinencode-
Programm verwendet werden kann, das nicht auf jede
andere Anwendung neu zu programmiert werden braucht.
Diese Vorgehensweise ist ausreichend, wenn gleichzeitig
Aufnahme und Wiedergabe bzw. Zugriffe an den Ausgängen
auszuführen sind.
Verteilhaft ist es ferner, daß die von der Schnitt
stelle aufgenommenen Daten in der Reihenfolge ihres
Auftretens in den Rechner abgelegt werden, wobei die
Abstände der Speicheradresse der abgelegten Werte eines
Kanals gleich oder unterschiedlich groß sein können.
Das hat den Vorteil, daß auf einer Karte, die mit dem
Verfahren arbeitet, keinerlei Überwachung der verwen
deten Speicherstellen im Rechner notwendig ist. Weitere
Vorteile ergeben sich aus den Unteransprüchen.
Weitere Merkmale der Erfindung sind in der Beschreibung
der Figuren dargestellt, wobei bemerkt wird, daß alle
Einzelmerkmale und alle Kombinationen von Einzelmerk
malen erfindungswesentlich sind.
In den Figuren ist die Erfindung an einer
Ausführungsform beispielsweise dargestellt, ohne auf
diese Ausführungsform beschränkt zu sein. Es zeigt:
Fig. 1 Kennlinien eines Funktionsgenerators
und eines Impulsgenerators mit mehreren
Speicherstellen für einen Rechner für
den angegebenen Ausschnitt,
Fig. 2 ein Ablaufprogramm gemäß Fig. 1, wobei
der zeitliche Abstand zwischen zwei
ADC-Werten nur durch den in Fig. 2
dargestellten Teil wiedergegeben ist,
wobei im normalen sequenziellen Ablauf,
die Entscheidungen und Berechnungen
durch Einrahmungen wiedergegeben sind,
Fig. 3 ein Flußdiagramm des Arbeitsablaufs,
Fig. 4 ein Blockschaltbild einer Schnittstel
lenhardware,
Fig. 5 eine Tracedatei.
Im folgenden wird diese Form der Zugriffe Datenfolge
Zugriff genannt, wobei im Datenfolgespeicher die Daten
getrennt abgelegt werden. Das diese Datenfolge inter
pretierende Programm nennt sich Datenfolgeinterpreter
(DFI).
Anders ist es bei Anwendungen, bei denen zwar D/A- oder
digitale I/O-Funktionen aber keine A/D-Wandlung
gefordert wird. Hier wird ein Datenfolgespeicher, in
den Werte abzulegen sind, nicht benötigt.
Das Problem ist aber in gleicher Weise lösbar. Dazu
werden in einem Datenfolgespeicher 2 (Fig. 3) nach
einer vorgegebenen Code-Vereinbarung alle Aktivitäten
festgelegt, die nicht gleichzeitig mit der Aufnahme
einhergehen.
Ein Maschinencodeprogramm, der Ablaufmaster (ALM),
interpretiert auch hier die im Speicher stehende
Befehlsfolge und führt sie aus. Ein zusätzlicher Ge
schwindigkeitsgewinn kann durch die Verwendung von DMA-
Zugriffen erzielt werden, ändert aber am zuvor be
schriebenen Ablauf nichts. Die Geschwindigkeit wird
lediglich dann nicht mehr durch die systembedingten
Unterbrechungen begrenzt, da der DMA-Zugriff mit
höherer Priorität abläuft.
Ein Hochsprachen-Programm legt in einem kleinen reser
vierten Speicherbereich des Rechners 1 Codes für die
Folge der Aktivitäten, die ohne Aufnahme von Daten
ablaufen, und in einem Datenfolgespeicher 2, der zu
gleich der Aufnahmespeicher ist, die Codes für die
während der Aufnahme benötigten gleichzeitigen Aktivi
täten ab.
Dazu verhält sich das Programm so, als würden tatsäch
lich ADC-Werte von der Schnittstelle gelesen und Werte
an die Ausgänge gegeben. Nur legt dieses Programm eben
nicht tatsächlich aufgenommene Werte ab oder gibt Werte
tatsächlich aus, sondern legt nur einen Code in der
Speicherstelle ab, der für ein anderes Maschinen
programm signalisiert, daß diese tatsächlich auszufüh
ren sind.
Auf diese Weise fallen alle Entscheidungen durch ein
Programm, in dem auf Zeitprobleme gar nicht geachtet zu
werden braucht, und zwar vor dem Start der eigentlichen
Aufnahme.
Im sequenziellen Programm werden zunächst die Anfangs
werte gesetzt, d. h. die DAC-Kanäle 24 bis 27 sind auf
0 Volt zu setzen, entsprechend die digitalen Ausgänge
28 bis 30 auf 0, der digitale Ausgang 31 auf 1.
Damit ist der anfängliche Triggerpuls in Kanal (31)
gesetzt. Nach einer Wartezeit von hier 10 msek wird
dieser wieder auf 0 gesetzt, und der Aufnahmezyklus
beginnt.
Zunächst wird der ADC gestartet 44. Dann erfolgen 4
Abfragen, ob die bisher vergangene Zeit schon größer
ist als eine der 4 vorgegebenen Grenzen 45 bis 48. Zu
Beginn ist das noch nicht der Fall, also wird 54
erreicht und somit kann die anfängliche Rampe in 27
berechnet und an den DAC4 gesendet werden.
Ist dies geschehen, wird der gewandelte Analogwert
abgeholt 56, in den Speicher abgelegt 57, alle
benutzten Zeiger, Adressen und Zähler weitergeschaltet
58 und dann untersucht, ob die Sequenz schon fertig
abgearbeitet ist. Ist das nicht der Fall wird, weil
äquidistante Zeitabstände zwischen den aufgenommenen
Daten vorliegen sollen, eine Zeit-Warteschleife
erreicht 43, die erst nach einer voreingestellten Zeit
wieder verlassen wird.
Der Zyklus beginnt wieder von vorn. Je nach bereits
abgelaufener Zeit werden andere Programmschleifen
durchlaufen. Besonders wenn T schon größer als Ta 20,
48, aber noch kleiner als Tb 21, 47 ist, ist der Zeit
aufwand für den Programm-Schleifenanteil 51 bis 53, 55
besonders groß.
Die Forderung nach äquidistanten Zeitpunkten für die
Aufnahme von analogen Daten, wird also durch diesen für
die Schleife benötigten Zeitaufwand bestimmt. Sonst
würden in den verschiedenen Zeitabschnitten mit unter
schiedlicher Frequenz Analogwerte aufgenommen werden
müssen.
Liegen die folgenden Codes für den ALM und den DFI vor,
dann ruft das Hochsprachenprogramm den ALM, ein stan
dardisiertes Maschinencodeprogramm, auf, der alle wei
teren Karten-Aktivitäten koordiniert.
Solange keine Aufnahmen erfolgen, bleibt dieses ALM-
Programm aktiv.
Ist innerhalb dieses Ablaufs aber die Aufnahme zu
aktivieren, dann übergibt das ALM-Programm an den DFI,
auch ein standardisiertes Maschinencodeprogramm.
Bei einer solchen Auflösung der Analogwerte von 12 Bit
werden sinnvollerweise die ungenutzten oberen 4 Bits
der notwendigen 2-Byte-Zugriffe als Codeträger genutzt.
Die dadurch möglichen 16 Befehlscodes werden auf die
möglichen Kartenfunktionen verteilt. Als Beispiel ist
eine Wandlerkarte 3 mit acht Analogeingängen 5, vier
Analogausgängen 5 und jeweils fünf digitalen Ein- und
Ausgängen 8 im folgenden beschrieben.
Die verwendeten Codes 9 im Aufnahmefolge-Speicher 7 für
den ALM sind in der nachfolgenden Tabelle aufgeführt.
Die verwendeten Codes im Datenfolge-Speicher für den
DFI sind in der nachfolgenden Tabelle aufgeführt.
In Fig. 1 ist eine Anordung des Arbeitsablaufes des
Funktionsgenerators dargestellt. Dieses Funktionsschau
bild stellt vier Aufgabenfunktionen dar, die an den
Digital-Analog-Ausgängen 10 zu bilden sind.
Die vier zu erzeugenden Funktionen 24 bis 27 gemäß
Fig. 1 eines vom Rechner zu ersetzenden Funktions
generators 1 und die vier, ebenfalls durch den Rechner
zu erzeugenden digitalen Funktionen 28 bis 31 für die
Steuerung des Prozesses, werden über die Digital-
Analog-Wandler bzw. digitalen Ausgänge der Schnitt
stelle vom Rechner ausgegeben.
Fig. 1 zeigt für einen sehr kleinen Ausschnitt 18, wie
die Ausgabe dieser acht Ausgabefunktionen erfolgt,
während gleichzeitig die ständige Aufnahme von Analog
daten abläuft.
Im Rechnerspeicher 17 sind bis 4 bereits aufgenommene
Daten abgelegt, d. h. alle Speicherstellen im Speicher
bereich 3 sind bereits mit aufgenommenen Analog-
Eingangs-Daten gefüllt.
Die nächste Speicherstelle 6 enthält jetzt z. B. den OP-
CODE "Setze Port" 32. Das Assemblerprogramm startet den
Analog-Digital-Wandler (ADC) 60 gemäß Fig. 3, holt den
Wert 61 aus der Speicherstelle 6 und interpretiert den
dort in den oberen vier Bits stehenden OP-Code 0001, in
dem es diesen soliert 62 und daraus die Sprungadresse
zum ausführenden Programm 65 berechnet.
In diesem so erreichten Programmteil wird jetzt der
Befehl ausgeführt und hier der digitale Ausgang 1, der
mit 28 bezeichnet ist, auf der Schnittstelle auf 0
gesetzt.
Ist dies geschehen, wird schließlich der jetzt fertig
gewandelte ADC-Wert abgeholt und in die Speicherstelle
6 eingetragen.
Nun wird gewartet 70 bis es Zeit (vergl. Kästchen 70)
ist, einen neuen Zyklus zu durchlaufen.
Die folgende Speicherstelle 7 gibt auf gleiche Weise
die Ausgabe eines DAC-Wertes vor 32.
In gleicher Weise werden so die Ausgänge 24 bis 30 be
arbeitet, für die die Codes 8, 16 die Ausführung bestim
men.
Im sequenziellen Programm (Fig. 2) war die ganze Kette
von Entscheidungen und Berechnungen zu durchlaufen, um
die Werte zu berechnen und zu setzen. In dem erfin
dungsgemäßen Verfahren werden nur kurze, standardi
sierte Assemblerprogramme durchlaufen, ohne daß noch
Entscheidungen oder Berechnungen auszuführen wären.
Der Programmablauf dauert nicht wesentlich länger als
die Wandlung des ADC. In der zuvor vom Code besetzten,
jetzt freien Speicherstelle wird jetzt der ADC Wert
abgelegt.
In Fig. 5 mit dem Delta T1 für Kanal 1 106, 107, wird
bei 100 ein Kennungswert in den Trace eingeschoben 102.
Zwar folgen jetzt die ursprünglich nebeneinander lie
genden Werte nicht mehr aufeinander, aber das Delta T1
01 der ursprünglichen Tracedatei ist lediglich in das
Delta T1 108 der veränderten Datei übergegangen. Wie
man sieht, geht auf Grund der Definitionen die Ordnung
nicht verloren.
Der Grund einer eigenen Definition für eine solche
Datei liegt unter anderem darin, daß nur eine solche
spezielle Eigenschaft, die Ablage von Daten ohne
Überwachung der Speicherstellen ermöglicht.
Insbesondere kann die Hardwarerealisation einer
Schnittstelle gemäß Beschreibung, wenn also Daten von
der Schnittstelle selbst in aufeinander folgende
Speicherstellen des Rechners abzulegen sind, dies auch
bei unterschiedlichen Abtastraten der Kanäle ohne
Fehler erledigen. Diese Dateistruktur, die sich z. B.
bei der Aufzeichnung von Sprachsignalen, wenn auch noch
später Texte oder Auswertungen einzuschieben sind,
bewährt hat, ist ein wesentlicher Bestandteil des
Verfahrens in seiner hardwaremäßigen Realisation.
Um die Codes zu erzeugen, wird auf der Anwendungsebene
praktisch das gleiche sequenzielle Programm verwendet,
das zuvor beschrieben wurde; nur werden jetzt an den
Stellen 49 bis 55, an denen Zugriffe auf die Schnitt
stelle erfolgen, nicht tatsächliche Zugriffe ausge
führt, sondern es erfolgt die Codeablage für den späte
ren Ablauf. Zusätzlich werden die Zeitkontrolle 43, der
Start des ADC 44 und das Abholen des ADC-Wertes 56 weg
gelassen. Dadurch wird das Programm, da ohne jede Zeit
steuerung schneller abgewickelt, nur zur Vorbereitung
der eigentlichen Aufgabe genutzt, nicht aber zur Aus
führung; diese erfolgt, da die Entscheidungen und
Berechnungen aus dem eigentlichen Aufnahmezyklus her
ausgenommen sind, wesentlich schneller.
Die notwendigen Programme 64 bis 68 gemäß Fig. 3 sind
an die jeweilige Hardware anzupassen; die Struktur des
Ablaufs bleibt dabei aber dieselbe.
Andererseits erlaubt das Verfahren eine weitere
Beschleunigung der abzuwickelnden Aufgaben, wenn die
oben beschriebenen, durch die Assemblerprogramme 64 bis
68 softwaremäßig gelösten Aufgaben durch eine angepaßte
Hardware gemäß Fig. 4 ersetzt werden.
Das Verfahren legt auf diese Weise also eine
Hardwarestruktur fest, mit der Analogdaten mit hoher
Geschwindigkeit aufgenommen werden können, wenn gleich
zeitig sehr komplexe Ausgabe-Aufgaben durch die
Schnittstelle auszuführen sind.
Dabei bleibt das Programmverfahren der Fig. 3 insgesamt
erhalten.
Nur werden die Speicherzugriffe durch DMA-Zugriffe
realisiert, und die für die Abarbeitung der Schritte 62
bis 69 gemäß Fig. 3 noch benötigte Zeit wird durch die
Hardware direkt ausgeführt.
Fig. 4 zeigt ein Blockschaltbid einer Hardware, bei der
die Hardware nach Programmierung durch den Rechner
praktisch den gesamten Ablauf der Fig. 3 selbständig
ausführt.
Ein Zeitgeber 79 übernimmt die Zeitsteuerung aller Vor
gänge auf der Schnittstelle. Ist ein voreingestellter
Zeitpunkt erreicht, dann werden von der Steuerlogik 98
die Werte an den Eingängen durch die Eingangsverstärker
80 bis 82, durch 77 gesteuert, eingefroren, der Multi
plexer 83 durch 95 gesetzt und der ADC 85 durch 78
gestartet. Durch die Aktivität des ADC wird ein Sample
& Hold-Verstärker 84 angesteuert, der die Spannung am
ADC-Eingang stabil hält, während der Multiplexer 83
bereits wieder auf einen anderen Kanal einschwingen
kann.
Dem jeweils gewandelten ADC-Wert 86 wird als Kanal
signatur von der Steuerlogik 98 ein 4-Bit-Wert hinzu
gefügt, der angibt, welche Bedeutung der im Puffer 88
stehende 12-Bit-Wert hat bzw. welchem Kanal er ange
hört.
Ein DMA-Zugriff 90, 91, 99 holt einen im Rechnerspeicher
stehenden Wert. Eine den in diesem Wert (auf 89) ent
haltenen 4 Bit großen OP-Code direkt dekodierende Hard
ware 98 löst die Aufgabe, die diesem OP-Code auf 92 zu
geordnet ist, und zuvor in Fig. 3 softwaremäßig reali
siert war. Die Hardware decodiert also aus diesem Code
92 z. B., daß ein DAC-Kanal mit dem Wert auf 93 zu
setzen ist und führt dies aus 93, 94.
Ist dies ausgeführt, wird der ADC-Wert aus 86 zusammen
mit der Signatur 87, wieder durch einen DMA-Zugriff, in
den Rechnerspeicher abgelegt, und sodann der nächste
OP-Code geholt.
Schreibt ein OP-Code vor, daß der Wert dem Digitalport
zuzuweisen ist, führt die Steuerlogik dieses über
92, 89, 75, 97 aus.
Bei einer derartigen Hardware-Realisation des
Verfahrens ist es möglich, trotz der enormen
Komplexität der Aufgabe der Ein- und Ausgabesteuerung,
wie bei der beschriebenen Anwendung, Geschwindigkeiten
bei der Meßdatenerfassung zu erreichen, die bisher mit
einfachen Schnittstellenkarten nicht möglich waren.
Der Rechner ist so praktisch von allen Aufgaben, die
die Schnittstellenfunktionen betreffen befreit, und
kann sich der Verarbeitung und Darstellung widmen.
Selbst bei sehr schnellen Schnittstellenkarten, die
DMA-Zugriffe ermöglichen, eigenen Speicher auf der
Schnittstellenkarte haben und schnelle Bausteine
verwenden, würde der sequenzielle Ablauf eines
Programms wie in Fig. 2 dargestellt, nur dadurch ent
lastet werden, daß die Schritte 43, 44, 56 bis 57 gemäß
Fig. 2 und vielleicht noch 58 aus dem Programmablauf
herausgenommen werden könnten, während die Schritte 45
bis 55, der eigentlich zeitkritische Anteil, noch vom
Rechner auszuführen wären.
Dies ist zwar akzeptabel, wenn der Rechner in dieser
Zeit ohnehin keine anderen Aufgaben wahrzunehmen hat.
Tatsächlich ist aber z. B. eine oszilloskopähnliche Dar
stellung von aufgenommenen Daten auf dem Rechnermonitor
so nicht gleichzeitig erreichbar, sondern muß sequen
ziell abgearbeitet werden, also erst Abwicklung der
Aufgabe gemäß Fig. 2, dann die Darstellung auf dem
Rechnermonitor. Mit der aus dem Verfahren abgeleiteten
Hardware nach Fig. 4 ist dies aber ohne weiteres
möglich.
DFI = Datenfolgeinterpreter.
Speicherdatenfolgespeicher = Zugriffe der Datenfolge.
ALM = Ablaufmaster.
ADC-Werte = Analog-Digital-Wandler-Werte.
Trace-Datei = Speziell aufgebaute Datei mit implizierten Teitparametern.
DMA Zugriff = Direkt Memory Access.
Speicherdatenfolgespeicher = Zugriffe der Datenfolge.
ALM = Ablaufmaster.
ADC-Werte = Analog-Digital-Wandler-Werte.
Trace-Datei = Speziell aufgebaute Datei mit implizierten Teitparametern.
DMA Zugriff = Direkt Memory Access.
Claims (7)
1. Verfahren zur Erfassung von Meßdaten mit hoher
Geschwindigkeit mittels eines Rechners, wobei
eine Analog-Digital-Schnittstelle bei Nutzung
unterschiedlicher Funktion dieser Schnittstelle
eingesetzt wird, dadurch gekennzeichnet, daß die
Ablage zumindest eines Codes zur Ablaufsteuerung
in dem für die Aufnahme vorgesehenen Speicher
bereich des Rechners zur Steuerung von im Rahmen
der Aufnahmefrequenz zeitgleicher Aktivitäten
erfolgt, wobei die Ablage des Codes vor der
Aufnahme der Meßdaten im Rechner vorgenommen
wird.
2. Verfahren nach Anspruch 1, dadurch gekennzeich
net, daß in die 16 Bit großen Speicherstellen des
Rechners zu den 12 Bits, die als Informations
träger verwendet werden, die restlichen vier Bits
als Codeträger eingesetzt werden.
3. Verfahren nach Anspruch 1 oder 2, dadurch
gekennzeichnet, daß die freien Speicher bzw.
Bitstellen zur Kanalkennzeichnung der aufgenom
menen Meßwerte dienen.
4. Verfahren nach Anspruch 1, dadurch gekennzeich
net, daß der Code-Wert einen Adressenoffset
darstellt, der die direkte Verzweigung in das dem
Code zugeordnete codeinterpretierende Programm
erlaubt.
5. Verfahren nach Anspruch 1, dadurch gekennzeich
net, daß die von der Schnittstelle aufgenommenen
Daten in der Reihenfolge ihres Auftretens
beliebig im Rechnerspeicher (17) abgelegt werden,
wobei die Abstände der Adressen der abgelegten
Werte eines Kanals gleich oder unterschiedlich
groß sind.
6. Verfahren nach Anspruch 5, dadurch gekennzeich
net, daß die Kanalkennung der Kanäle auf der
Schnittstellenkarte dem Analog-Digital-Wandler-
Wert auf die freien Bits beigegeben werden.
7. Vorrichtung zur Durchführung des Verfahren nach
Anspruch 1, dadurch gekennzeichnet, daß die
Schnittstellenkarte (120) eine Steuerlogik (98)
aufweist, die die aus dem Rechenspeicher
gelesenen Operationscodes direkt decodiert und
ausführt.
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4027898A DE4027898A1 (de) | 1990-09-03 | 1990-09-03 | Verfahren zur erfassung von messdaten |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
DE4027898A DE4027898A1 (de) | 1990-09-03 | 1990-09-03 | Verfahren zur erfassung von messdaten |
Publications (1)
Publication Number | Publication Date |
---|---|
DE4027898A1 true DE4027898A1 (de) | 1992-03-05 |
Family
ID=6413493
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE4027898A Ceased DE4027898A1 (de) | 1990-09-03 | 1990-09-03 | Verfahren zur erfassung von messdaten |
Country Status (1)
Country | Link |
---|---|
DE (1) | DE4027898A1 (de) |
Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3142468A1 (de) * | 1980-10-28 | 1982-06-24 | Hans 6343 Rotkreuz Gügler | Verfahren und einrichtung zur erfassung, aufzeichnung und auswertung von physikalischen messdaten |
DE3204159A1 (de) * | 1981-02-09 | 1982-10-21 | Honeywell Inc., Minneapolis, Minn. | Datensammelkonsole |
-
1990
- 1990-09-03 DE DE4027898A patent/DE4027898A1/de not_active Ceased
Patent Citations (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
DE3142468A1 (de) * | 1980-10-28 | 1982-06-24 | Hans 6343 Rotkreuz Gügler | Verfahren und einrichtung zur erfassung, aufzeichnung und auswertung von physikalischen messdaten |
DE3204159A1 (de) * | 1981-02-09 | 1982-10-21 | Honeywell Inc., Minneapolis, Minn. | Datensammelkonsole |
Non-Patent Citations (1)
Title |
---|
DE-Z.: Elektronik 23/13.11.87, S. 115-128 * |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE1928202C3 (de) | Einrichtung zur Erstellung statistischer Daten über den Operationsablauf programmgesteuerter Datenverarbeitungsanlagen | |
DE3303488C2 (de) | Digitales Signalverarbeitungssystem | |
DE2918424C2 (de) | ||
DE1499193A1 (de) | Datenverarbeitungsanlage | |
DE2616038A1 (de) | Verfahren und geraet zur adressierung eines pufferspeichers in einem durchgangsamt fuer synchrone datensignale | |
DE2230987A1 (de) | Datenspeichervorrichtung vom drehtyp | |
DE3900248C2 (de) | Verfahren zur schnellen Ablaufsteuerung digitaler Testmuster und Vorrichtung zur Durchführung des Verfahrens | |
DE3532481A1 (de) | Datenverarbeitungsanordnung | |
DE1285006B (de) | Verfahren und Einrichtung zur Steuerung der Entnahme von Aufzeichnungen aus einem Umlaufspeicher | |
DE2719175A1 (de) | Schallanalysiereinrichtung | |
DE4027898A1 (de) | Verfahren zur erfassung von messdaten | |
DE69910489T2 (de) | Rasterregelmethode | |
DE4042262A1 (de) | Verfahren zur analyse der funktionsweise von digitalen schaltungen | |
DE4213504C1 (de) | ||
DE2952827A1 (de) | Digitalisierung eines wiederkehrenden analogsignals | |
DE2502920A1 (de) | Steueranordnung fuer den betrieb eines datenendgeraetes | |
DE3640355A1 (de) | Verfahren zur bestimmung des zeitlichen verlaufs eines sprachparameters und anordnung zur durchfuehrung des verfahrens | |
DE2710436A1 (de) | Datenverarbeitungseinrichtung | |
DE1805623B2 (de) | Prüfeinrichtung für Selbstwählämter mit zentraler elektronischer Steuerung durch einen Rechner | |
DE102007053401A1 (de) | Mehrfachdezimation im Oszilloskop | |
DE10107102B4 (de) | Verfahren und Anordnung zur Instruktionswortgenerierung bei der Ansteuerung von Funktionseinheiten in einem Prozessor | |
DE3101837A1 (de) | "signalform-analysator" | |
DE1524264C3 (de) | Einrichtung zur Erzeugung einer Bildaufzeichnung | |
DE2200744A1 (de) | Verfahren und Vorrichtung zum Aussortieren | |
DE19850650C2 (de) | Verfahren zum Übertragen von Daten |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
OP8 | Request for examination as to paragraph 44 patent law | ||
8127 | New person/name/address of the applicant |
Owner name: BRUEHN, ALFRED, 76133 KARLSRUHE, DE |
|
8131 | Rejection |