DE4027898A1 - Verfahren zur erfassung von messdaten - Google Patents

Verfahren zur erfassung von messdaten

Info

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
Application number
DE4027898A
Other languages
English (en)
Inventor
Alfred Bruehn
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BRUEHN, ALFRED, 76133 KARLSRUHE, DE
Original Assignee
Individual
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Individual filed Critical Individual
Priority to DE4027898A priority Critical patent/DE4027898A1/de
Publication of DE4027898A1 publication Critical patent/DE4027898A1/de
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R19/00Arrangements for measuring currents or voltages or for indicating presence or sign thereof
    • G01R19/25Arrangements for measuring currents or voltages or for indicating presence or sign thereof using digital measurement techniques
    • G01R19/2506Arrangements for conditioning or analysing measured signals, e.g. for indicating peak values ; Details concerning sampling, digitizing or waveform capturing
    • G01R19/2509Details 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.
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.
Programmierung
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.
Tabelle 1
Die verwendeten Codes im Datenfolge-Speicher für den DFI sind in der nachfolgenden Tabelle aufgeführt.
Tabelle 2
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.
Definitionen
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.

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.
DE4027898A 1990-09-03 1990-09-03 Verfahren zur erfassung von messdaten Ceased DE4027898A1 (de)

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)

* Cited by examiner, † Cited by third party
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

Patent Citations (2)

* Cited by examiner, † Cited by third party
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)

* Cited by examiner, † Cited by third party
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