DE4133467A1 - PROCESSOR DEVICE - Google Patents

PROCESSOR DEVICE

Info

Publication number
DE4133467A1
DE4133467A1 DE4133467A DE4133467A DE4133467A1 DE 4133467 A1 DE4133467 A1 DE 4133467A1 DE 4133467 A DE4133467 A DE 4133467A DE 4133467 A DE4133467 A DE 4133467A DE 4133467 A1 DE4133467 A1 DE 4133467A1
Authority
DE
Germany
Prior art keywords
value
curve
values
output signal
new
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
DE4133467A
Other languages
German (de)
Inventor
Karl Hinrichs
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.)
Newport Electronics Inc
Original Assignee
Newport Electronics Inc
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 Newport Electronics Inc filed Critical Newport Electronics Inc
Publication of DE4133467A1 publication Critical patent/DE4133467A1/en
Ceased legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F1/00Details not covered by groups G06F3/00 - G06F13/00 and G06F21/00
    • G06F1/02Digital function generators
    • G06F1/03Digital function generators working, at least partly, by table look-up
    • G06F1/035Reduction of table size
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R15/00Details of measuring arrangements of the types provided for in groups G01R17/00 - G01R29/00, G01R33/00 - G01R33/26 or G01R35/00
    • G01R15/005Circuits for altering the indicating characteristic, e.g. making it non-linear
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F17/00Digital computing or data processing equipment or methods, specially adapted for specific functions
    • G06F17/10Complex mathematical operations
    • G06F17/17Function evaluation by approximation methods, e.g. inter- or extrapolation, smoothing, least mean square method

Description

Die Erfindung betrifft eine Prozessor- oder Datenumwand­ lungsvorrichtung und insbesondere eine Vorrichtung, die das Ausgangssignal eines Sensors, das einen nichtlinearen Verlauf hat, in ein linearisiertes Anzeige- oder Ablesesignal umwandelt.The invention relates to a processor or data conversion lungsvorrichtung and in particular a device that the Output signal from a sensor that has a non-linear curve has converted into a linearized display or reading signal.

Zur Anzeige des Wertes eines physikalischen Parameters, beispielsweise der Temperatur, des Druckes usw., ist es notwen­ dig, einen Wandler zu verwenden, der auf diesen Parameter da­ durch anspricht, daß er eine elektrisch erfaßbare Eigenschaft oder Charakteristik ändert. Derartige Charakteristiken schließen Thermoelementspannungen und temperaturempfindliche Widerstands­ änderungen ein. Die meisten Sensoren zeigen erhebliche Nicht­ linearitäten in ihren Ausgangssignalen, d. h., liefern Sensor­ ausgangsspannungen, die beträchtlich von einer linearen Bezie­ hung vom zu überwachenden Eingangsereignis abweichen. Es ist bekannt, daß Thermoelemente und Thermistoren auf lineare Tempe­ raturanstiege nichtlineare Zunahmen in ihren Ausgangssignalen zeigen.To display the value of a physical parameter, for example temperature, pressure, etc., it is necessary dig to use a converter based on this parameter by responding that it has an electrically detectable property or characteristic changes. Such characteristics include Thermocouple voltages and temperature sensitive resistance changes. Most sensors show significant no linearities in their output signals, d. i.e., provide sensor output voltages that differ considerably from a linear relationship deviate from the input event to be monitored. It is known that thermocouples and thermistors on linear tempe  rature increases nonlinear increases in their output signals demonstrate.

Es gibt eine Vielzahl verschiedener Klassen von Vorrichtun­ gen zum Korrigieren derartiger Nichtlinearitäten über einen breiten Bereich von Eingangswerten. Anordnungen, die analoge Einrichtungen verwenden, korrigieren derartige Nichtlinearitäten vor der Digitalisierung, indem sie Widerstandsdiodenverstärker­ schaltungen verwenden. Diese Anordnungen haben eine angemessene Genauigkeit für eine begrenzte Anzahl von Sensorarten über be­ schränkte Eingangswertbereiche. Analoge Linearisierungsanord­ nungen speichern die erforderliche Korrekturinformation in den Werten von Widerständen, die die Fixpunkte zwischen den ver­ schiedenen Segmenten der Ansprech- oder Empfindlichskeitskurve und die Steigung/Versetzung festlegen, die jedem Segment dieser Kurve eigen ist. Analoge Linearisierer haben im typischen Fall acht oder weniger Segmente und können die meisten Thermoelemente innerhalb von wenigen Graden über die üblicherweise auftretenden Eingangswertbereiche linearisieren.There are a variety of different classes of devices to correct such nonlinearities over a wide range of input values. Arrangements, the analog Using facilities correct such non-linearities before digitization by adding resistance diode amplifiers use circuits. These arrangements are reasonable Accuracy for a limited number of sensor types over be restricted input value ranges. Analog linearization arrangement The required correction information is saved in the Values of resistances, which the fixed points between the ver different segments of the response or sensitivity curve and set the slope / offset that each segment of this Curve is peculiar. Analog linearizers typically have eight or fewer segments and can do most thermocouples within a few degrees over the commonly occurring Linearize input value ranges.

Während der Entwicklung von preiswerten Microcontrollern und Speicherchips wurden viele analoge Linearisierungen durch digitale Korrekturverfahren ersetzt. Es gibt komplizierte Algo­ rithmen zum Linearisieren von Sensorausgangssignalen. Diese benötigen jedoch im allgemeinen einen erheblichen Speicherplatz und eine erhebliche Rechenkapazität. Derartige Anordnungen sind meistens umfangreich und mit hohen Kosten verbunden und für viele kommerzielle Sensoranwendungsformen nicht verwendbar. Beispielsweise werden gegenwärtig Einbauinstrumente mit einem Microcontroller hergestellt, der in einem Stück mit dem Instru­ ment ausgebildet ist. Das Instrument empfängt ein Sensorein­ gangssignal nach einer analogen Anpassung oder Aufbereitung und liefert einen linearisierten Ausgangsanzeige- oder -lesewert. Microcontroller, die mit Einbauinstrumenten verwandt werden können, haben einen begrenzten, verfügbaren Speicherplatz (ROM und RAM) für die Datenpunkte der Sensorempfindlichkeitskurve. During the development of inexpensive microcontrollers and memory chips have been through many analog linearizations digital correction method replaced. There are complicated algo rithms for linearizing sensor output signals. These however, generally require significant storage space and a considerable computing capacity. Such arrangements are mostly extensive and associated with high costs and for many commercial sensor application forms cannot be used. For example, built-in instruments with a Microcontroller manufactured in one piece with the instru ment is trained. The instrument receives a sensor output signal after an analog adaptation or preparation and provides a linearized output reading or reading. Microcontrollers used with built-in instruments may have a limited amount of available space (ROM and RAM) for the data points of the sensor sensitivity curve.  

Obwohl derartige Microcontroller Additions- und Subtraktions­ rechenvorgänge sehr schnell ausführen können, arbeiten sie dar­ über hinaus dann relativ langsam, wenn Multiplikationen oder Divisionen mit hoher Genauigkeit bewirkt werden sollen.Although such microcontrollers add and subtract they can perform arithmetic processes very quickly moreover relatively slow when multiplications or Divisions are to be effected with high accuracy.

Microcontroller für die Sensorlinearisierung arbeiten mit verschiedenen Rechenmethoden. Einige Sensoren, beispielsweise Widerstandstemperaturdetektoren, liefern Ausgangssignale, die durch wenige Ausdrücke einer Potenzreihe oder eines Polynoms dicht aproximiert werden können. Eine Darstellung der Werte einer typischen Wandlerpotenzreihe mit hoher Genauigkeit kann jedoch Rechenvorgänge auf ein Dutzend dezimaler Stellen der Lösung für bis zu einem Dutzend Potenzen des überwachten Ereig­ nisses oder Parameters, beispielsweise der Temperatur, erfor­ dern. Bei einer sorgfältigen Programmierung können große Compu­ ter diese Lösung liefern und derartige Potenzreihen mit hoher Genauigkeit umwandeln. Microcontroller, die sich für Einbauin­ strumente eignen, haben jedoch nicht die erforderlich ROM- und RAM-Speicher und erlauben gewöhnlich keine langen Rechenzeiten für derartige komplizierte mathematische Ausdrücke und Rechen­ vorgänge.Microcontrollers for sensor linearization work with different calculation methods. Some sensors, for example Resistance temperature detectors, provide output signals that by a few expressions of a power series or a polynomial can be closely approximated. A representation of the values a typical converter power series with high accuracy however, computing operations to a dozen decimal places Solution for up to a dozen potencies of the monitored event nisses or parameters, such as the temperature other. With careful programming, large compu ter deliver this solution and such power series with high Convert accuracy. Microcontrollers that are suitable for installation instruments are suitable, but do not have the required ROM and RAM memory and usually do not allow long computing times for such complicated mathematical expressions and calculations operations.

Ein anderer Versuch der Entwicklung in Potenzreihen besteht darin, Schlüsseldatenpunktpaare an gewählten Punkten entlang der Empfindlichkeits- oder Ansprechkurve zu speichern und erforder­ lichenfalls Interpolationen auszuführen. Wenn die Empfindlich­ keits- oder Ansprechkurve in eine große Anzahl von Segmenten aufgeteilt wird (je mehr Segmente, umso genauer können nicht­ lineare Bereiche der Empfindlichkeits- oder Ansprechkurve wie­ dergegeben werden), dann nehmen die Speichererfordernisse für den Microcontroller erheblich zu. Eine Möglichkeit, die Daten­ speichererfordernisse zu reduzieren besteht darin, regelmäßige Abstande der Eingangsdatenpunkte zu verwenden, die die Ränder jedes Segmentes abgrenzen, so daß eine von den beiden Variablen dadurch rekonstruiert werden kann, daß gezählt wird, anstatt einen gespeicherten Wert zu lesen. Somit kann ein Bereich mögli­ cher Eingangsspannungen in einer Anzahl von gleichen Segmenten unterteilt werden: Der Ausgangszunahmezählwert vom Analog-Digi­ tal-Wandler ist gleich dem Wert zwischen aufeinanderfolgenden Datenpunkten auf der Empfindlichkeits- oder Ansprechkurve ge­ wählt.Another attempt to develop power series is in key data point pairs at selected points along the Sensitivity or response curve to save and required If necessary, perform interpolations. If the sensitive speed or response curve in a large number of segments is divided (the more segments, the more precise cannot linear ranges of the sensitivity or response curve such as be given), then the storage requirements for the microcontroller significantly. One way to get the data Reducing storage requirements is regular Use spacing of the input data points that the edges delimit each segment so that one of the two variables can be reconstructed by counting instead of read a stored value. Thus, an area can be  input voltages in a number of equal segments The following are divided: The output increase count from the analog digi tal converter is equal to the value between successive ones Data points on the sensitivity or response curve chooses.

Um den bei Microcontrollern von Einbauinstrumenten erfor­ derlichen Speicherbedarf weiter zu verringern, wurde auch be­ reits ein Verfahren der endlichen Differenz angewandt. Dieses Verfahren wird im folgenden in Verbindung mit der Kurve 10 in Fig. 1 der zugehörigen Zeichnung beschrieben, die ein Beispiel einer Empfindlichkeits- oder Ansprechkurve eines Temperatursen­ sors ist. Mehrere Datenpunkte D0 bis D5 sind entlang dieser Kurve 10 angeordnet, wobei jeder Datenpunkt einen digitalen Wert der Temperatur an diesem Punkt wiedergibt. Das Verfahren der endlichen Differenz verwendet mehrere Ableitungen der Kurve 10, die linear durch arithmetische Differenzen aproximiert werden können. Die Steigung S zwischen beliebigen zwei Datenpunkten kann als das Verhältnis des Temperaturunterschiedes zum Span­ nungsunterschied bestimmt werden. Die Steigungen zwischen den Datenpunkten D0 und D1 sowie D1 und D2 ist beispielsweise gleich:In order to further reduce the memory requirement required for microcontrollers of built-in instruments, a finite difference method has already been used. This method is described below in connection with curve 10 in Fig. 1 of the accompanying drawing, which is an example of a sensitivity or response curve of a temperature sensor. A plurality of data points D 0 to D 5 are arranged along this curve 10 , each data point representing a digital value of the temperature at this point. The finite difference method uses several derivatives of curve 10 that can be linearly approximated by arithmetic differences. The slope S between any two data points can be determined as the ratio of the temperature difference to the voltage difference. The slopes between data points D 0 and D 1 and D 1 and D 2 are , for example, the same:

undand

Der Wert der endlichen Differenz der Krümmung (2. Ablei­ tung) kann dann als die Differenz zwischen zwei aufeinanderfol­ genden Steigungswerten definiert werden. Die Krümmung oder die zweite endliche Differenz zwischen den Datenpunkten D0 und D2 und D1 und D3 läßt sich dann wie folgt ausdrücken:The value of the finite difference in curvature ( 2nd derivative) can then be defined as the difference between two successive slope values. The curvature or the second finite difference between the data points D 0 and D 2 and D 1 and D 3 can then be expressed as follows:

S′2 = S2 - S1 (zweite endliche Differenz des 2. Segmentes)S ′ 2 = S 2 - S 1 (second finite difference of the 2nd segment)

undand

S′3 = S3 - S2 (zweite endliche Differenz des 3. Segmentes).S ′ 3 = S 3 - S 2 (second finite difference of the 3rd segment).

Der endliche Differenzwert der 3. Ableitung oder das Maß an Änderung der Krümmung kann dann als Differenz zwischen zwei aufeinanderfolgenden Krümmungswerten wie folgt definiert werden:The finite difference value of the 3rd derivative or the measure of Change in curvature can then be the difference between two successive curvature values can be defined as follows:

S′′3 = S′3 - S′2 (dritte endliche Differenz des 3. Segmentes).S ′ ′ 3 = S ′ 3 - S ′ 2 (third finite difference of the 3rd segment).

Aus den Ausdrücken der endlichen Differenzen ist ersicht­ lich, daß dann, wenn ein Wert gegeben ist, die anderen Werte durch Additionen oder Subtraktionen abgeleitet werden können. Die Verwendung von endlichen Differenzen macht es möglich, daß ein Microcontroller gespeicherte Werte der Temperatur, der Stei­ gung und der Krümmung durch Differenzen 3. Ordnung für jedes Krümmungssegment ersetzt. Während weiterhin die Werte der Tempe­ ratur und der Differenzen 1. und 2. Ordnung große numerische Werte sein können, sind die Differenzen 3. Ordnung (analog der 3. Ableitung) im allgemeinen klein und werden diese Differenzen mit steigendem Sensorausgangssignal gewöhnlich außerordentlich gering. Das läßt sich verstehen, wenn berücksichtigt wird, daß mit steigender Temperatur auch die thermodynamische Abflachung zunimmt, was das Maß an Änderung der Krümmung herabsetzt.It is evident from the expressions of the finite differences that if one value is given, the other values can be derived by additions or subtractions. The use of finite differences makes it possible for a microcontroller to store stored temperature, slope and curvature values through differences 3 . Order for each curvature segment replaced. Furthermore, while the values of the temperature and the differences of the 1st and 2nd order can be large numerical values, the differences of the 3rd order (analogous to the 3rd derivative) are generally small and these differences usually become extremely small as the sensor output signal increases. This can be understood if it is taken into account that the thermodynamic flattening increases with increasing temperature, which reduces the amount of change in the curvature.

Wenn das Verfahren der endlichen Differenzen verwandt wird, dann kann der Wert der Temperatur für irgendeine Eingangsspan­ nung aus einer Tabelle von 3. endlichen Differenzen + Tabellen­ anfangswerten der Temperatur, der Steigung und der Krümmung (Differenzen 0., 1. und 2. Ordnung) berechnet werden. Durch eine wiederholte Addition und Aufaddierung der Werte können Multipli­ kationen vermieden werden und können daher weniger komplizierte und schneller arbeitende Microcontroller verwandt werden.If the finite difference method is used, then the value of the temperature for any input span from a table of 3. finite differences + tables initial values of temperature, slope and curvature (Differences 0th, 1st and 2nd order) can be calculated. By a repeated addition and addition of the values can be multipli cations can be avoided and can therefore be less complicated and faster working microcontrollers can be used.

Die Tabellenwerte, die in einem Microcontroller für die 3. endlichen Differenzen gespeichert werden, können vorberechnet werden und auf gleichen Segmentwerten entlang der Ansprech- oder Empfindlichkeitskurve basieren. Das macht es möglich, annähernd 20 Bytes pro Thermoelementart in der Tabelle zu speichern und dennoch Hunderte von einzelnen Datenpunkten über den größten Teil des Temperaturbereiches, der von Interesse ist, mit hoher Genauigkeit zu berechnen. Darüber hinaus fordert allerdings der Markt, daß Einbauinstrumente Eingangssignale von vielen Arten von Sensoren empfangen können, von denen jeder eine andere An­ sprech- oder Empfindlichkeitskurve hat. Trotz der Datenkompak­ tierung, die durch die Verwendung der endlichen Differenzen erzielt wird, sind die gegenwärtigen kosteneffektiven Microcon­ troller nicht in der Lage, den gesamten Speicherplatz zu lie­ fern, der für eine gute Genauigkeit (beispielsweise alle Punkte auf 0,1°C) für die vollen Temperaturbereiche (beispielsweise 1000°C) für alle Sensorarten (beispielsweise 12 Thermoelemente + temperaturempfindliche Widerstände) zu liefern.The table values stored in a microcontroller for the 3rd finite differences can be saved, can be pre-calculated be and at the same segment values along the response or  Sensitivity curve based. That makes it possible, almost Store 20 bytes per type of thermocouple in the table and yet hundreds of individual data points over the largest Part of the temperature range that is of interest with high To calculate accuracy. In addition, however, the Market that built-in input signals of many types can receive from sensors, each of which has a different type speech or sensitivity curve. Despite the data compact tation by using finite differences is achieved are the current cost effective Microcon troller is unable to leave the entire storage space far, for good accuracy (e.g. all points to 0.1 ° C) for the full temperature ranges (e.g. 1000 ° C) for all types of sensors (e.g. 12 thermocouples + temperature sensitive resistors).

Durch die Erfindung soll daher ein verbessertes System zum Linearisieren von Sensorausgangssignalen geschaffen werden.The invention is therefore intended to provide an improved system for Linearize sensor output signals can be created.

Durch die Erfindung soll insbesondere ein genaues Breitbe­ reichslinearisierungssystem für nichtlineare Sensorausgangssig­ nale geschaffen werden, das sich durch eine minimale Datenspei­ cherung auszeichnet.The invention is intended, in particular, to have an exact width Reich linearization system for nonlinear sensor output signals nale created by a minimal data storage distinction.

Ziel der Erfindung ist insbesondere ein Linearisierungs­ system, das eine minimale Anzahl von Werten der 3. endlichen Differenz verwendet, um mit hoher Genauigkeit Datenpunkte auf einer nichtlinearen Empfindlichkeits- oder Ansprechkurve über einen weiten Bereich zu bestimmen.The aim of the invention is in particular a linearization system that has a minimum number of values of the 3rd finite Difference used to point to data points with high accuracy a nonlinear sensitivity or response curve over to determine a wide range.

Gegenstand der Erfindung ist insbesondere ein Prozessor, der einen Sensor überwacht, dessen Ausgangssignal auf eine li­ neare Anderung im überwachten Ereignis einer nichtlinearen Kurve folgt. Der Prozessor wandelt das Ausgangssignal in einen linea­ ren Wert um, der zu dem Ereignis proportional ist, das überwacht wird. Der Prozessor enthält einen Speicher, in dem eine Tabelle gespeichert ist, die einen Anfangsdatenpunktwert D (beispiels­ weise eine Temperatur) auf der Kurve, einen Steigungswert S eines 1. Segmentes, einen Krümmungswert S′ eines 2. Segmentes und mehrere Anderungen der Krummungswerte S′′ fur die Kurve, beginnend am Segment 3, enthält. Die Werte von S′′ für einen ersten Bereich der Kurve sind auf der Grundlage eines gewählten Anfangssensorsignalintervalls (Segmentlänge) berechnet. Die Werte von S′′ für jeden folgenden Bereich der Kurve basieren auf einer Erhöhung des Anfangssignalintervalls um einen gewählten Faktor. Der Prozessor enthält zusätzliche Einrichtungen und RAM- Register zum Berechnen wiederholter Werte von D, S1 und S′. Diese Additionen treten auf, wenn das Sensorsignal über die Segmentlänge ansteigt. Der Prozessor enthält gleichfalls einen Controller, der um einen Faktor den bestimmten Signalintervall­ wert (Segmentlänge) immer dann erhöht, wenn das Ausgangssignal in einen folgenden Bereich der Kurve eintritt. Während sich die Datenpunkte auf der Kurve entlang bewegen, bekommen sie einen immer größeren Abstand voneinander, wobei jedoch die Genauigkeit nicht beeinträchtigt ist, da diese Datenpunkte auf den mehr linearen Teilen der Kurve liegen. Die Datenspeicheranforderungen sind somit so gering wie möglich.The invention relates in particular to a processor which monitors a sensor, the output signal of which follows a linear change in the monitored event of a non-linear curve. The processor converts the output signal to a linear value that is proportional to the event that is being monitored. The processor contains a memory in which a table is stored which shows an initial data point value D (for example a temperature) on the curve, a slope value S of a 1st segment, a curvature value S 'of a 2nd segment and several changes in the curvature values S''For the curve, starting at segment 3 , contains. The values of S '' for a first area of the curve are calculated based on a selected initial sensor signal interval (segment length). The values of S '' for each subsequent area of the curve are based on an increase in the initial signal interval by a selected factor. The processor contains additional facilities and RAM registers for calculating repeated values of D, S 1 and S '. These additions occur when the sensor signal increases over the segment length. The processor also contains a controller, which increases the specific signal interval (segment length) by a factor whenever the output signal enters a subsequent area of the curve. As the data points move along the curve, the distance between them increases, but the accuracy is not affected as these data points lie on the more linear parts of the curve. The data storage requirements are therefore as low as possible.

Im folgenden wird anhand der zugehörigen Zeichnung ein besonders bevorzugtes Ausführungsbeispiel der Erfindung näher beschrieben. Es zeigenThe following is based on the associated drawing particularly preferred embodiment of the invention closer described. Show it

Fig. 1 eine Spannungstemperaturkurve eines Sensors sowie das Verfahren, nach dem die Werte der 1., 2. und 3. endlichen Differenz gebildet werden, Fig. 1 shows a voltage curve of a temperature sensor as well as the method by which the values of the 1st, 2nd and 3rd finite difference are formed,

Fig. 2 in einem Blockschaltbild eine Anordnung gemäß der Erfindung, Fig. 2 is a block diagram of an arrangement according to the invention,

Fig. 3 in einem mehr im einzelnen dargestellten Block­ schaltbild den in Fig. 2 gezeigten Microprozessor, Fig. 3 in a more illustrated in detail block diagram of the microprocessor shown in Fig. 2,

Fig. 4 eine Auflistung der Werte in der Kurventabelle gemäß Fig. 3, Fig. 4 is a listing of the values in the curve table according to Fig. 3,

Fig. 5 das Diagramm einer Ansprechkurve der Thermoelement­ spannung und die Empfindlichkeit (dV/dT), wobei dargestellt ist, wie diese Ansprechkurve in Bereiche mit Segmenten steigender Größe bei zunehmenden Temperaturen aufgeteilt wird, Fig. 5 shows the diagram of a response curve of the thermocouple voltage and the sensitivity (dV / dT), being illustrated how this response curve is divided into regions of increasing size segments at increasing temperatures,

Fig. 6a, 6b, 6c und 6d ein Hauptflußdiagramm des Lineari­ sierungsverfahrens gemäß der Erfindung und FIG. 6a, 6b, 6c and 6d a main flow chart of the linearization sierungsverfahrens according to the invention and

Fig. 7 ein Hilfsflußdiagramm eines Teils des Arbeitsvorgan­ ges im einzelnen, der in den Fig. 6a bis 6d dargestellt ist. Fig. 7 is a detailed auxiliary flow diagram of part of the operation, which is shown in Figs. 6a to 6d.

Obwohl im folgenden die erfindungsgemäße Ausbildung im Zusammenhang mit einem Temperatursensorsystem beschrieben wird, versteht es sich, daß sie in gleicher Weise bei irgendeinem Sensor anwendbar ist, dessen Ausgangssignal eine nichtlineare Funktion einer Eingangsanregung ist und ein abnehmendes Maß an Anderung der Krümmung bei höheren Ausgangswerten zeigt.Although the training according to the invention in the following Described in connection with a temperature sensor system it is understood that in the same way with any Sensor is applicable, the output signal is a non-linear Function of an input stimulation is and a decreasing amount Changes in curvature at higher initial values shows.

Wie es in Fig. 2 dargestellt ist, liefert ein Sensor 20, der bei dem vorliegenden Ausführungsbeispiel ein Thermoelement ist, ein Ausgangssignal einer Signalkonditionierungsschaltung 22. In dieser Schaltung 22 wird das Signal verstärkt, gegebenen­ falls gefiltert und einem abtastenden oder meßwertnehmenden Analog-Digital-Wandler 24 zugeführt. Der Analog-Digital-Wandler 24 ist vorzugsweise ein Doppelflankenwandler bekannter Art. Er tastet das Ausgangssignal der Signalkonditionierungsschaltung 22 ab und integriert während der Abtastzeit dieses Signal, so daß eine Spannung mit linearem Anstieg erzeugt wird, deren Wert am Ende der Abtastzeit proportional zum mittleren Eingangsspan­ nungspegel während der Abtastzeit ist. Am Ende der Abtastzeit wird eine Bezugsspannung über einen Leiter 26 auf den Integrator geschaltet und beginnt ein linearer Spannungsverlauf mit ent­ gegengesetzer Steigung nach unten zur Anfangsspannung. Zu diesem Zeitpunkt wird ein Zähler ausgelöst, der zu dem Zeitpunkt an­ hält, an dem die lineare Spannung auf die Anfangsspannung abge­ sunken ist. Das wird in einem Komparator 30 ermittelt, der die lineare Spannung auf der Leitung 32 erfaßt und sie mit der An­ fangsspannung auf der Leitung 26 vergleicht. Wenn diese beiden Werte gleich sind, wird ein Ausgangsimpuls durch den Komparator 30 auf die Leitung 34 gelegt, der den Zähler anhält. Dieser Impuls liegt auch am Microprozessor 28 als einer Anzeige dafür, daß der Zählvorgang abgeschlossen ist, wobei der Zählerstand den Abtastspannungspegel wiedergibt. Die Abtastfrequenz des Analog- Digital-Wandlers 24 wird von einem Ausgangsbefehl gesteuert, der vom Microprozessor 28 auf einer Leitung 36 auftritt.As shown in FIG. 2, a sensor 20 , which is a thermocouple in the present embodiment, provides an output signal of a signal conditioning circuit 22 . In this circuit 22 , the signal is amplified, if necessary filtered and fed to a scanning or measurement-taking analog-digital converter 24 . The analog-to-digital converter 24 is preferably a double-edge converter of known type. It samples the output signal of the signal conditioning circuit 22 and integrates this signal during the sampling time, so that a voltage with a linear rise is generated, the value of which at the end of the sampling time is proportional to the mean input span voltage level during the sampling time. At the end of the sampling time, a reference voltage is connected to the integrator via a conductor 26 and a linear voltage curve begins with an opposite slope down to the initial voltage. At this time, a counter is triggered which stops at the time when the linear voltage has dropped to the initial voltage. This is determined in a comparator 30 which detects the linear voltage on line 32 and compares it with the initial voltage on line 26 . If these two values are the same, an output pulse is applied to line 34 by comparator 30 which stops the counter. This pulse is also present on the microprocessor 28 as an indication that the count is complete, the count reflecting the sense voltage level. The sampling frequency of the analog-to-digital converter 24 is controlled by an output command which occurs on a line 36 from the microprocessor 28 .

Wenn der Spannungszählwert erzeugt wird, wird dieser fort­ laufend dem Microprozessor 28 zugeführt, wo er in Temperaturwer­ te D über ein Linearisierungsprogramm umgewandelt wird. Kurz nach dem Empfang des Impulsausgangssignals vom Komparator 30, der besagt, daß der Spannungszählwert der endgültige Wert für die Abtastung ist, zeigt die Anzeige 38 den Wert D an.When the voltage count is generated, it is continuously fed to the microprocessor 28 , where it is converted into temperature values D via a linearization program. Shortly after receiving the pulse output signal from the comparator 30 , which says that the voltage count is the final value for the scan, the display 38 shows the value D.

In Fig. 3 ist das Blockschaltbild des Microprozessors 28 dargestellt. Eine arithmetische und logische Einheit ALU 50 steht mit den anderen Bauteilen der Anordnung über eine Sammel­ leitung 52 in Verbindung. Der Spannungszählwert vom Analog-Digi­ tal-Wandler 24 liegt an der Sammelleitung 52 und wird von der ALU 50 empfangen und verarbeitet. Darüber hinaus liegt das Aus­ gangssignal vom Komparator 30 gleichfalls an der Sammelleitung 52, wobei dieses Signal bewirkt, daß die ALU 50 ein Ausgangs­ signal des gewünschten Temperaturwertes der Anzeige 38 liefert, wenn eine Freigabe durch durch den Abschluß des Rechenprogrammes erfolgt. Mehrere Register 54, 56, 58 und 60 sind mit der Sammel­ leitung 52 verbunden und dienen dazu, Werte von D, S, S′ und S′′ während der Abarbeitung des Linearisierungsalgorithmus zu spei­ chern. Die Funktion dieser Register wird während der Beschrei­ bung des Algorithmus im folgenden erlautert.In Fig. 3 is a block diagram of the microprocessor 28 is shown. An arithmetic and logic unit ALU 50 is connected to the other components of the arrangement via a collecting line 52 . The voltage count from the analog-digital tal converter 24 is on the bus 52 and is received and processed by the ALU 50 . In addition, the output signal from the comparator 30 is also on the manifold 52 , which signal causes the ALU 50 to provide an output signal of the desired temperature value of the display 38 when released by the completion of the computer program. Several registers 54 , 56 , 58 and 60 are connected to the collecting line 52 and serve to store values of D, S, S 'and S''during the processing of the linearization algorithm. The function of these registers is explained below during the description of the algorithm.

Eine Kurventabelle wird am Anfang in einem Festspeicher ROM gespeichert und auf einen Speicher mit direktem Zugriff RAM 62 übertragen, wenn die jeweilige entsprechende Sensorart gewählt wird. Obwohl nur eine Kurventabelle im folgenden beschrieben wird, versteht es sich, daß der RAM 62 der Reihe nach mit ir­ gendeiner Anzahl von Kurventabellen beladen werden kann, von denen jede in spezieller Weise für die jeweilige Sensorart vor­ berechnet ist. A curve table is initially stored in a read-only memory ROM and transferred to a memory with direct access RAM 62 if the respective type of sensor is selected. Although only one curve table is described below, it should be understood that the RAM 62 can be loaded in sequence with any number of curve tables, each of which is pre-calculated for the particular type of sensor.

Zum Verständnis des Inhalts der Kurventabelle 62 wird noch­ mals auf Fig. 1 Bezug genommen und ins Gedächtnis gerufen, daß die Kurve 10 ein Teil einer Empfindlichkeits- oder Ansprechkur­ ve, in diesem Fall eines Temperatursensors, ist. Es sei weiter­ hin angenommen, daß die Datenpunkte D0 bis D5 die untersten Tem­ peraturwerte wiedergeben, die vom Sensor erfaßt werden können und daß die Kurve 10 am stärksten nichtlinear zwischen diesen Datenwerten ist. Der Teil der Kurve 10 zwischen den Datenwerten D0 bis D5 wird somit im folgenden als ein Kurvenbereich defi­ niert und der Spannungsunterschied zwischen den aufeinanderfol­ genden Datenpunkten (beispielsweise zwischen D1 und D2) wird im folgenden als Segment L definiert.To understand the contents of curve table 62 , reference is again made to FIG. 1 and it is recalled that curve 10 is part of a sensitivity or response curve, in this case a temperature sensor. It is further assumed that the data points D 0 to D 5 represent the lowest temperature values that can be detected by the sensor and that the curve 10 is most non-linear between these data values. The part of the curve 10 between the data values D 0 to D 5 is thus defined below as a curve area and the voltage difference between the successive data points (for example between D 1 and D 2 ) is defined as segment L below.

Im ersten Bereich der Kurve 10 haben die Segmente L den gleichen kleinen Wert. In jedem folgenden Bereich wird die Größe des Segmentes L verdoppelt. Der Wert eines Segmentes L kann bei 32 Mikrovolt beginnen, bei üblicherweise vorgesehenen Thermoele­ menten kann er aber auch nur 8 Mikrovolt oder auch 64 Mikrovolt betragen. Im allgemeinen ist der erste Bereich der Kurve 10 dem am stärksten nichtlinearen Teil (im allgemeinen in der Nähe des Empfindlichkeitsbereiches für die unterste Temperatur) zugeord­ net, so daß die kleinsten Mikrovoltsegmente zu diesem Bereich gehören und somit eine große Anzahl von kleinen Segmenten zu dem Bereich mit höchster Nichtlinearität gehört. Die nichtlineare Empfindlichkeitskurve wird somit in einer Anzahl von Bereichen aufgebrochen, von denen jeder eine Anzahl von Segmenten auf­ weist, wobei die folgenden höheren Bereiche der Empfindlich­ keitskurve nacheinander verdoppelte Segmentlängen haben. Obwohl ein Faktor 2 für die Zunahme in der Segmentgröße beschrieben wurde, können auch andere ohne weiteres gespeicherte Faktoren verwandt werden.In the first area of curve 10 , the segments L have the same small value. The size of segment L is doubled in each subsequent area. The value of a segment L can start at 32 microvolts, but it can also be only 8 microvolts or 64 microvolts in the case of thermo elements which are usually provided. In general, the first region of curve 10 is associated with the most non-linear part (generally near the lowest temperature sensitivity region) so that the smallest microvolts segments belong to this region and thus a large number of small segments belong to the region heard with the highest non-linearity. The nonlinear sensitivity curve is thus broken up into a number of areas, each of which has a number of segments, the following higher areas of the sensitivity curve having successively doubled segment lengths. Although a factor of 2 has been described for the increase in segment size, other readily stored factors can also be used.

Wie es in Fig. 4 dargestellt ist, umfaßt die Kurventabelle 62 für den ersten Bereich eine erste Information gleich dem Anfangsausgangssignal D0, eine zweite Information gleich der ersten endlichen Differenz (Steigung) für das erste Segment S1, eine dritte Information für die zweite endliche Differenz (Krum­ mung) für das zweite Segment S′2 und einen vierten Wert gleich der dritten endlichen Differenz (Änderung der Krümmung) für das dritte Segment S′′3. Der fünfte und sechste Tabellenwert sind S′′4 und S′′5 jeweils.As shown in Fig. 4, the curve table 62 for the first area includes first information equal to the initial output signal D 0 , second information equal to the first finite difference (slope) for the first segment S 1 , and third information for the second finite difference (curvature) for the second segment S ′ 2 and a fourth value equal to the third finite difference (change in curvature) for the third segment S ′ ′ 3 . The fifth and sixth table values are S '' 4 and S '' 5, respectively.

Ausgehend vom siebten Tabellenwert wird jede Tabelleninfor­ mation dreimal benutzt: Der siebte Wert ist gleich S′′6 = S′′7 = S′′8 und der achte Wert ist gleich S′′9 = S′′10 = S′′11 usw.Starting from the seventh table value, each table information is used three times: the seventh value is equal to S ′ ′ 6 = S ′ ′ 7 = S ′ ′ 8 and the eighth value is equal to S ′ ′ 9 = S ′ ′ 10 = S ′ ′ 11 etc.

Diese dreifache Kompression ist möglich, da die thermodynamische Abflachung bei höheren Temperaturen die Ableitungen höherer Ordnung auf kleine, sich langsam ändernde Werte herabsetzt.This triple compression is possible because of the thermodynamic Flattening at higher temperatures leads to higher derivatives Order is reduced to small, slowly changing values.

Diese niedrigen Werte der Ableitungen erlauben weiterhin eine Tabellenkompression in der zugeteilten Informationslänge: D(0) benötigt 3 Bytes (jeweils 8 Bit) für eine hohe Genauigkeit, während S(1) bis S′′(6) jeweils in 2 Bytes enthalten sein konnen und S′′(7) bis S′′(9) nur 1 Byte benötigen. Die nächsten beiden Tabellenwerte S′′10 = S′′11 = S′′12 und S′′13 = S′′14 = S′′15 benötigen 1/2 Byte (4 Bit) jeweils, so daß sie beide in den Raum eines Tabellenbytes passen. Über diesen Punkt hinaus benötigt jede Dreifach-Information nur 1/4 Byte (2 Bit) an Speicherplatz, was eine sehr dichte Datenanordnung erlaubt.These low values of the derivatives also allow table compression in the allocated information length: D (0) requires 3 bytes (8 bits each) for high accuracy, while S (1) to S ′ ′ (6) can each be contained in 2 bytes and S ′ ′ (7) to S ′ ′ (9) only require 1 byte. The next two table values S ′ ′ 10 = S ′ ′ 11 = S ′ ′ 12 and S ′ ′ 13 = S ′ ′ 14 = S ′ ′ 15 require 1/2 byte (4 bits) each, so that they are both in the Fit a table byte space. Beyond this point, each triple information requires only 1/4 byte (2 bits) of storage space, which allows a very dense data arrangement.

Die höheren Ableitungen nehmen weiter mit der Temperatur ab, so daß noch eine weitere Datenkompression durch eine Ande­ rung der Segmentlänge möglich ist. Nachdem S′′39 zur Berechnung von D39 verwandt ist, beginnt ein neuer Bereich der Kurve, in dem jedes Segment eine doppelt so große Länge wie im ersten Bereich hat (und dennoch jede Dreifach-Information nur 1/4 Byte an Platz benötigt). Eine weitere Verdopplung der Segmentlänge tritt nach S′′75, S′′111 und S′′159 auf.The higher derivatives decrease further with temperature, so that further data compression is possible by changing the segment length. After S ′ ′ 39 is used to calculate D 39 , a new area of the curve begins in which each segment is twice as long as in the first area (and yet each triple information only needs 1/4 byte of space) . A further doubling of the segment length occurs after S ′ ′ 75 , S ′ ′ 111 and S ′ ′ 159 .

Wenn beispielsweise diese Segmentlänge über S′′39 32 Mikro­ volt betragen hat, nimmt sie auf 64 Mikrovolt über S′′75, auf 128 Mikrovolt über S′′111, auf 256 Mikrovolt über S′′159 zu und endet die Kurve bei 512 Mikrovolt (bis zu 256 Segmenten insge­ samt).For example, if this segment length over S ′ ′ 39 was 32 micro volts, it increases to 64 micro volts over S ′ ′ 75 , 128 micro volts over S ′ ′ 111 , 256 micro volts over S ′ ′ 159 and the curve ends at 512 Microvolts (up to 256 segments in total).

Unter Verwendung dieser Ausbildung kann die Kurventabelle in nur 35 Bytes die ausreichende Datenmenge speichern, um Tempe­ raturen mit einer Genauigkeit von 0,1°C oder weniger für einen Bereich über 1500°C zu berechnen.Using this training, the curve table Store the sufficient amount of data in just 35 bytes in order to for an accuracy of 0.1 ° C or less Calculate range above 1500 ° C.

In Fig. 5 ist eine Kurve 70 dargestellt, auf deren Skala auf der linken Seite die tatsächliche Empfindlichkeitskurve des Thermoelementes im Bereich von annähernd -270°C bis 1400°C dargestellt ist. Die Kurve 72, deren Skala auf der rechten Seite der Fig. 5 aufgetragen ist, zeigt die Änderung in der Sensor­ ausgangssignalzunahme (Mikrovolt pro °C). Die Segmentzuordnungen zu Millivoltbereichen und die entsprechenden Bereiche der Sen­ sorausgangssignalzunahme zeigen die Empfindlichkeit der erfin­ dungsgemäßen Ausbildung über den angegebenen Temperaturbereich. FIG. 5 shows a curve 70 , on the scale of which the actual sensitivity curve of the thermocouple in the range from approximately -270 ° C. to 1400 ° C. is shown on the left side. Curve 72 , the scale of which is plotted on the right-hand side of FIG. 5, shows the change in the sensor output signal increase (microvolts per ° C.). The segment assignments to millivolt ranges and the corresponding ranges of the sensor output signal increase show the sensitivity of the design according to the invention over the specified temperature range.

Im folgenden wird anhand der Fig. 6a bis 6d und Fig. 7 die Arbeitsweise des Microprozessors 28 beschrieben, während er auf die Eingangsabtastspannungen vom Analog-Digital-Wandler 24 anspricht. Wie oben angegeben, ist die Kurventabelle im RAM 62 mit einem Anfangsausgangsdatenwert D0, einem Wert S1 der ersten endlichen Differenz (Steigung), einem Wert der zweitend endli­ chen Differenz S′2 (Krümmung) und mehreren Werten der dritten endlichen Differenz, ausgehend von S′′3 (Maß an Änderung der Krümmung für das 3. Segment), vorbeladen.The operation of the microprocessor 28 while it responds to the input sample voltages from the analog-to-digital converter 24 will now be described with reference to FIGS. 6a to 6d and FIG. 7. As indicated above, the curve table in RAM 62 is starting with an initial output data value D 0 , a value S 1 of the first finite difference (slope), a value of the second finite difference S ′ 2 (curvature) and several values of the third finite difference of S ′ ′ 3 (amount of change in curvature for the 3rd segment), preloaded.

Im Schritt 100 werden die Register 54, 56, 58 und 60 mit den Anfangswerten zu Beginn eines Meßzyklus beladen. Anschlie­ ßend wird der Segmentwert L gleich einem Anfangsmikrovoltwert (einem Wert gleich einem Zählwert vom Analog-Digital-Wandler 24) gesetzt. Der Wert für L bestimmt, wann ein neuer Rechenvorgang erfolgt, um einen neuen Datenwert entlang der Empfindlichkeits­ oder Ansprechkurve zu bilden. In den folgenden Bereichen der Empfindlichkeitskurve 10 wird in der oben beschriebenen Weise der Wert L verschoben, damit die Datenpunkte weiter von einander entfernt sind.In step 100 , the registers 54 , 56 , 58 and 60 are loaded with the initial values at the beginning of a measuring cycle. Subsequently, the segment value L is set equal to an initial microvoltage value (a value equal to a count value from the analog-digital converter 24 ). The value for L determines when a new calculation is made to form a new data value along the sensitivity or response curve. In the following areas of the sensitivity curve 10 , the value L is shifted in the manner described above, so that the data points are further apart.

Wenn der Segmentwert L einmal gebildet ist, überwacht der Microprozessor 28 weiter den Spannungszählwert (Schritt 104). Er pruft im Microprozessor 28, ob der Zählwert = (oder <) L ist (Schritt 106). Solange der Zählwert nicht = L ist, wird die Uberwachung fortgesetzt. Wenn einmal festgestellt wird, daß der Zählwert = L ist, was anzeigt, daß das 1. Segment entlang der Empfindlichkeits- oder Ansprechkurve durchlaufen ist, dann wird ein nicht dargestellter Segmentzähler im Microprozessor 28 auf 1 gesetzt (Schritt 108). Der Wert S1 der ersten endlichen Diffe­ renz wird dann dem Datenpunktwert D0 zuaddiert, um D1 zu erhal­ ten. Das D-Register 54 wird fortgeschrieben, um den neuen Wert anzugeben (Schritt 110).Once the segment value L is formed, the microprocessor 28 continues to monitor the voltage count (step 104 ). It checks in the microprocessor 28 whether the count is = (or <) L (step 106 ). As long as the count value is not = L, monitoring continues. Once it is determined that the count is = L, indicating that the 1st segment has passed the sensitivity or response curve, a segment counter, not shown, is set to 1 in microprocessor 28 (step 108 ). The first finite difference value S 1 is then added to the data point value D 0 to obtain D 1. The D register 54 is updated to indicate the new value (step 110 ).

Der Spannungszählwert wird weiter überwacht (Schritt 112), wobei dann, wenn der Zählwert = 2L ist (Schritt 114), der Seg­ mentzähler auf 2 gesetzt wird (Schritt 116). An dieser Stelle ist der Wert D2 zu bestimmen, was in der Weise erfolgt, wie es beim Schritt 118 angegeben ist. Der Wert der zweiten endlichen Differenz S′2, der im S′-Register 58 gespeichert ist, wird dem Wert der ersten endlichen Differenz S1 zuaddiert, der im S-Regi­ ster 56 gespeichert ist, um S2 zu erhalten (die Steigung zwi­ schen den Datenpunkten D1 und D2). Der Wert S2 ersetzt den Wert S1 im S-Register 56 und wird zum D1-Wert im D-Register 54 ad­ diert, um einen Datenpunktwert D2 zu erhalten. Dieser Wert an der Stelle von D1 in das D Register 54 eingeschrieben.The voltage count is further monitored (step 112 ), and if the count = 2L (step 114 ), the segment counter is set to 2 (step 116 ). At this point, the value D 2 is to be determined, which is done in the manner indicated in step 118 . The value of the second finite difference S ' 2 , which is stored in the S'-register 58 , is added to the value of the first finite difference S 1 , which is stored in the S-Regi ster 56 , to obtain S 2 (the slope between the data points D 1 and D 2 ). The value S 2 replaces the value S 1 in the S register 56 and is added to the D 1 value in the D register 54 in order to obtain a data point value D 2 . This value is written in place of D 1 in the D register 54 .

Der Spannungszählwert wird weiter überwacht (Schritt 120), wobei dann, wenn der Zählwert = 3L wird (Schritt 122), der Seg­ mentzähler = 3 gesetzt wird (Schritt 124). Es wird dann der Wert eines neuen Datenpunktes berechnet, wobei diesmal jedoch begon­ nen wird, den gespeicherten Wert der dritten endlichen Differenz zu verwenden. Wie es im Schritt 126 angegeben ist, wird der Wert von S3′′, der im S′′-Register 60 gespeichert ist, dem Wert S′′ zuaddiert, der S′-Register 58 gespeichert ist, um S3′ (Krümmung der Empfindlichkeitskurve zwischen den Datenpunkten D1 und D3) zu erhalten. Der S′3-Wert wird in das S′-Register 58 eingegeben und ersetzt darin den S2′-Wert. Der S3′-Wert wird dann dem S2- Wert im S-Register 56 zuaddiert, um einen neuen Wert S3 der ersten endlichen Differenz zu erhalten, der in das S Register 56 geladen wird. Dieser Wert wird dann zu D2 addiert, um D3 zu erhalten, der in ein D Register 54 eingeschrieben wird.The voltage count is further monitored (step 120 ), and when the count = 3L (step 122 ), the segment counter = 3 is set (step 124 ). The value of a new data point is then calculated, this time, however, starting to use the stored value of the third finite difference. As indicated in step 126 , the value of S 3 '' stored in the S '' register 60 is added to the value S '' stored in the S 'register 58 by S 3 ' (curvature the sensitivity curve between data points D 1 and D 3 ). The S ' 3 value is entered into the S' register 58 and replaces the S 2 'value therein. The S 3 'value is then added to the S 2 value in the S register 56 in order to obtain a new value S 3 of the first finite difference, which is loaded into the S register 56 . This value is then added to D 2 to obtain D 3 , which is written into a D register 54 .

Es ist ersichtlich, daß diese Rechenvorgänge zunächst die Berechnung einer neuen zweiten endlichen Differenz aus einer gespeicherten dritten endlichen Differenz, die Berechnung einer neuen ersten endlichen Differenz aus der in dieser Weise berech­ neten zweiten endlichen Differenz und schließlich die Berechnung eines neuen Datenpunktes aus der berechneten ersten endlichen Differenz, die einem vorherigen Datenpunktwert zuaddiert wird, einschließt.It can be seen that these calculations first of all Calculation of a new second finite difference from a stored third finite difference, calculating a new first finite difference from the calculated in this way second final finite difference and finally the calculation a new data point from the calculated first finite Difference added to a previous data point value includes.

Wie es Fig. 6c dargestellt ist, wird das Verfahren der Überwachung des Spannungszählwertes (Schritt 128) fortgesetzt, bis festgestellt wird, daß der Zählwert ein ganzzahliges Vielfa­ ches von L ist und = oder < 4L ist (Schritt 130). Wenn das der Fall ist, wird der Segmentzähler auf diesen ganzzahligen Wert gesetzt (Schritt 132) und wird der oben erwähnte Rechenvorgang wiederholt, um den neuen Datenpunktwert zu erhalten. Die Regeln sind im Schritt 134 angegeben und lauten:As shown in Fig. 6c, the process of monitoring the voltage count (step 128 ) continues until it is determined that the count is an integer multiple of L and = or <4L (step 130 ). If so, the segment counter is set to this integer value (step 132 ) and the above calculation process is repeated to obtain the new data point value. The rules are given in step 134 and are:

1. Addieren des neuen Wertes von S′′ zum alten Wert von S′, um einen neuen Wert S′-Wert zu erhalten, 2. addieren des neuen Wertes von S′ zum alten Wert von S, um den neuen Wert S zu erhalten und 3. addieren des neuen Wertes von S zum alten D-Wert, um den neuen D-Wert zu erhalten.1. adding the new value of S ′ ′ to the old value of S ′, to get a new S′-value, 2. add the new value of S ′ to the old value of S, to get the new value S and 3. add the new value of S to the old D value by the to get a new D value.

Wenn diese Werte einmal gebildet sind, dann werden die D-, S- und S′-Register fortgeschrieben und wird ein neuer S′′-Wert aus der Kurventabelle im RAM 62 zur Vorbereitung des nächsten Rechenzyklus erhalten. Es ist somit ersichtlich, daß die Spei­ cherung von Werten der dritten endlichen Differenz es erlaubt, viele Datenpunkte zu berechnen, so daß der Speicherbedarf in der Kurventabelle 62 verringert ist.Once these values are formed, the D, S and S 'registers are updated and a new S''value is obtained from the curve table in RAM 62 in preparation for the next calculation cycle. It can thus be seen that the storage of values of the third finite difference makes it possible to calculate many data points, so that the memory requirement in the curve table 62 is reduced.

Um den Speicherbedarf in der Kurventabelle 62 weiter her­ abzusetzen, wird die Größe der Segmente L im Verlauf der Emp­ findlichkeitskurve erhöht. Das wird dadurch erreicht, daß der Segmentzähler im Microprozessor 28 abgefragt wird, um zu ermit­ teln, ob sein Zählwert gleich einem Spannungsbereichsumschalt­ punkt ist (Entscheidungsschritt 136). Wenn das nicht der Fall ist, wiederholt das Programm den Schritt 132 und setzt sich das Programm in der dargestellten Weise fort. Wenn der Segmentzähler einen Spannungsbereichsumschaltpunkt, beispielsweise den Punkt Dn′ anzeigt, dann wird auf den Wert der dritten endlichen Diffe­ renz S′′n zugegriffen, der diesem Datenpunkt entspricht (Schritt 140).In order to further reduce the memory requirement in the curve table 62 , the size of the segments L is increased over the course of the sensitivity curve. This is achieved by querying the segment counter in the microprocessor 28 to determine whether its count is equal to a voltage range switching point (decision step 136 ). If not, the program repeats step 132 and continues the program as shown. If the segment counter indicates a voltage range switching point, for example the point D n ' , then the value of the third finite difference S'' n is accessed which corresponds to this data point (step 140 ).

Aus Fig. 6d ist ersichtlich, daß dann der Wert L verdoppelt wird (Schritt 144) und anschließend die Spannung überwacht wird und die Rechenvorgänge fortgesetzt werden, wie es Fig. 6c darge­ stellt ist. Es sei jedoch darauf hingewiesen, daß dann, wenn der Segmentwert L verdoppelt wird, die Werte in den Registern 54, 56 und 58 modifiziert werden müssen, um das Auftreten von Diskon­ tinuitäten am Spannungsbereichsumschaltpunkt zu vermeiden. Dazu werden die Rechenvorgänge ausgeführt, die im Schritt 142 angege­ ben sind und die folgenden Rechenschritte umfassen. Um eine neue zweite endliche Differenz Sn′ zu erhalten (n = die Datenpunkt­ nummer am Umschaltpunkt), wird der zugegriffene Wert Sn′′ (drit­ te endliche Differenz) zu dem Wert (S′n-1 + 2S′n-2 + S′n-3) ad­ diert. Der neue Wert S′n wird dann zu Sn-1 + Sn-2 addiert, um einen neuen Wert der ersten endlichen Differenz Sn zu erhalten. Um den neuen Datenpunkt Dn zu erhalten, wird der neu berechnete Datenwert von Sn zu Dn-1 addiert. Aus diesen Rechenvorgängen ist ersichtlich, daß die ALU 50 in ihrem Speicher während des Ver­ laufs der Rechenvorgänge die Werte für die vorhergehenden beiden zweiten endlichen Differenzen und die vorletzte erste endliche Differenz sowie die Werte in den Registern 54, 56 und 58 halten muß.From Fig. 6d it can be seen that the value L is then doubled (step 144 ) and then the voltage is monitored and the arithmetic operations are continued, as shown in Fig. 6c Darge. However, it should be noted that when the segment value L is doubled, the values in registers 54 , 56 and 58 must be modified to avoid the occurrence of discontinuities at the voltage range switching point. For this purpose, the calculation processes are carried out, which are specified in step 142 and include the following calculation steps. In order to obtain a new second finite difference S n ′ (n = the data point number at the switchover point), the accessed value S n ′ ′ (third finite difference) becomes the value (S ′ n-1 + 2S ′ n-2 + S ′ n-3 ) added. The new value S ' n is then added to S n-1 + S n-2 in order to obtain a new value of the first finite difference S n . In order to obtain the new data point D n , the newly calculated data value from S n is added to D n-1 . It can be seen from these calculations that the ALU 50 must hold the values for the previous two second finite differences and the penultimate first finite difference as well as the values in the registers 54 , 56 and 58 in its memory during the course of the calculations.

Die neu berechneten Wert S′n, Sn und Dn werden nun in die Register 54, 56 und 58 geladen, so daß anschließend die Über­ wachung der Spannung fortgesetzt werden kann und Datenpunktwerte ermittelt werden können, wie es in Fig. 6c dargestellt ist, bis ein neuer Spannungsbereichsumschaltpunkt auftritt, an dem die Register wieder fortgeschrieben werden, wie es angegeben wurde.The newly calculated values S ' n , S n and D n are now loaded into the registers 54 , 56 and 58 , so that the monitoring of the voltage can then be continued and data point values can be determined, as shown in FIG. 6c until a new voltage range switchover point occurs, at which the registers are updated again, as was specified.

Während der Spannungsüberwachung wartet gemäß Fig. 7 der Microprozessor 28 weiter auf ein Impulsausgangssignal vom Kom­ parator 30 (Schritt 130), das anzeigt, daß der Spannungsaus­ gangszählwert vom Analog-Digital-Wandler 24 die Bezugsspannung erreicht hat (Ende der Abtastzeit). An dieser Stelle wird der Spannungszählwert eingefangen und dann, wenn er nicht exakt über einem Datenpunkt liegt, wie es üblich ist, sondern zwischen zwei Datenpunkten Dn und Dn+1 liegt, linear dazwischen interpoliert, um einen Lesewert für D zu erhalten (Schritt 152). Dieser Wert wird dann im Schritt 154 an der Anzeige 38 angezeigt.While the voltage monitor waits in FIG. 7, the microprocessor 28 continues on a pulse output signal from the com parator 30 (step 130) indicating that the Spannungsaus gangszählwert from the analog-to-digital converter 24, the reference voltage has reached (end of scan). At this point, the voltage count is captured and, if it is not exactly above a data point, as is customary, but is between two data points D n and D n + 1 , linearly interpolated in between to obtain a read value for D (step 152 ). This value is then displayed on the display 38 in step 154 .

Claims (8)

1. Prozessorvorrichtung zum Überwachen eines Sensorelemen­ tes, dessen Ausgangssignal auf lineare Änderungen in einer über­ wachten Erscheinung einer nichtlinearen Kurve folgt, und zum Umwandeln des Sensorausgangssignals in Datenausgangswerte für die überwachte Erscheinung, gekennzeichnet durch die Kombination aus
einer Speichereinrichtung (62), die eine Tabelle ein­ schließlich eines Anfangsdatenpunktwertes D auf der Kurve, eines Anfangssteigungswertes S zu einem weiteren Datenpunkt auf der Kurve, einem Anfangskrümmungswert S′ zu noch einem weiteren Datenpunkt auf der Kurve und einer Vielzahl von Änderungswerten der Krümmungswerte S′′ der Kurve speichert, wobei der Krümmungs­ wert S′′ für einen Anfangsbereich der Kurve auf der Grundlage eines Anfangssignalsegmentwertes zwischen Datenpunktwerten abge­ leitet wird und die Werte S′′ für die folgenden Bereiche der Kurve dadurch gebildet werden, daß der Signalsegmentwert fur jeden der aufeinanderfolgenden Kurvenbereiche um einen bestimm­ ten Faktor erhöht wird,
einer Recheneinrichtung (50), die einen Ausgangsdatenpunkt­ wert, daß sie die S′′-, S-′ und D-Werte kombiniert, wobei diese Kombination immer dann auftritt, wenn das Sensorausgangssignal um den Ausgangssignalsegmentwert auf einen folgenden Datenpunkt­ wert ansteigt, und
einer Steuereinrichtung (30), die Ausgangssignalsegmentwert immer dann um einen Faktor erhöht, wenn der Ausgangssignalwert in einen folgenden Bereich der Kurve eintritt.
1. A processor device for monitoring a sensor element, the output signal of which follows linear changes in a monitored phenomenon of a non-linear curve, and for converting the sensor output signal into data output values for the monitored phenomenon, characterized by the combination of
a storage device ( 62 ) which contains a table including an initial data point value D on the curve, an initial slope value S to another data point on the curve, an initial curvature value S 'to yet another data point on the curve and a large number of change values of the curvature values S''Stores the curve, the curvature value S''for an initial region of the curve is derived on the basis of an initial signal segment value between data point values and the values S''for the following regions of the curve are formed by the signal segment value for each of the successive ones Curve areas are increased by a certain factor,
a computing device ( 50 ) that values an output data point to combine the S '' -, S- 'and D values, this combination occurring whenever the sensor output signal increases by the output signal segment value to a subsequent data point, and
a control device ( 30 ) which increases the output signal segment value by a factor whenever the output signal value enters a subsequent area of the curve.
2. Prozessorvorrichtung nach Anspruch 1, dadurch gekenn­ zeichnet, daß die Recheneinrichtung (50) die Ausgangsdatenpunkt­ werte durch wiederholte Additionen der S′′-, S′-, S- und D-Werte berechnet.2. Processor device according to claim 1, characterized in that the computing device ( 50 ) calculates the output data point values by repeated additions of the S '', S ', S and D values. 3. Prozessorvorrichtung nach Anspruch 2, dadurch gekenn­ zeichnet, daß die Steuereinrichtung (30) nach der Erhöhung des Aussgangssignalsegmentwertes die Recheneinrichtung (50) dazu bringt, die D-, S- und S′-Werte für einen unmittelbar vorherge­ henden Teil der Kurve neu zu berechnen, um einen glatten Über­ gang zwischen den Kurventeilen zu ermöglichen.3. Processor device according to claim 2, characterized in that the control device ( 30 ) after increasing the output signal segment value causes the computing device ( 50 ) to the D, S and S 'values for an immediately preceding part of the curve new to be calculated to enable a smooth transition between the curve parts. 4. Prozessorvorrichtung nach Anspruch 2, dadurch gekenn­ zeichnet, daß die Steuereinrichtung (30) den Aussgangssignalseg­ mentwert um einen Faktor 2 erhöht.4. Processor device according to claim 2, characterized in that the control device ( 30 ) increases the output signal segment value by a factor of 2. 5. Prozessorvorrichtung nach Anspruch 1, dadurch gekenn­ zeichnet, daß die Recheneinrichtung (50) nach der Erhöhung des Sensorausgangssignalwertes um einen Ausgangssignalintervallwert die folgende erste Reihe von Rechenvorgängen durchführt:
Addieren eines neuen Wertes von S′′ zu einem vorhergehenden Wert von S′, um einen neuen Wert von S′ zu erhalten,
Addieren des neuen Wert S′ zu einem alten Wert S, um einen neuen Wert S zu erhalten, und
Addieren des neuen Wertes S zu einem alten Wert D, um einen neuen D-Wert zu erhalten.
5. Processor device according to claim 1, characterized in that the computing device ( 50 ) carries out the following first series of arithmetic operations after increasing the sensor output signal value by an output signal interval value:
Adding a new value of S ′ ′ to a previous value of S ′ to obtain a new value of S ′,
Adding the new value S 'to an old value S to obtain a new value S, and
Add the new value S to an old value D to obtain a new D value.
6. Prozessorvorrichtung nach Anspruch 5, dadurch gekenn­ zeichnet, daß die Recheneinrichtung (50) nach dem Ansteigen des Sensorausgangssignalwertes in einen folgenden Kurventeil, der von einem Datenpunktwert Dn begrenzt wird, die folgende zweite Reihe von Rechenvorgängen ausführt:
Addieren von S′′n + S′n-1 + 2S′n-2 + S′n-3, um einen neuen S′n-Wert zu bilden,
Addieren von S′n + Sn-1 + Sn-2, um einen neuen Sn-Wert zu bilden, und
Addieren von Sn + Dn-1, um einen neuen Wert von Dn zu bil­ den.
6. Processor device according to claim 5, characterized in that the computing device ( 50 ) carries out the following second series of computing operations after the sensor output signal value has risen into a following curve part, which is limited by a data point value D n :
Adding S ′ ′ n + S ′ n-1 + 2S ′ n-2 + S ′ n-3 to form a new S ′ n value,
Adding S ′ n + S n-1 + S n-2 to form a new S n value, and
Add S n + D n-1 to form a new value of D n .
7. Prozessorvorrichtung nach Anspruch 6, dadurch gekenn­ zeichnet, daß die Recheneinrichtung (50) feststellt, daß der Sensorausgangssignalwert in einen folgenden Kurventeil angestie­ gen ist, indem sie die Aussgangssignalsegmente zählt und den Zählwert gegenüber bestimmten Werten überprüft.7. Processor device according to claim 6, characterized in that the computing device ( 50 ) determines that the sensor output signal value is in a following part of the curve gene by counting the output signal segments and checking the count value against certain values. 8. Prozessorvorrichtung nach Anspruch 7, dadurch gekenn­ zeichnet, daß die bestimmten Werte so gewählt sind, daß die Bereiche der Kurve, die starker nichtlinear sind, durch eine größere Anzahl von kleineren Segmenten als die Bereiche be­ schrieben werden, die eine stärkere Linearität haben.8. Processor device according to claim 7, characterized shows that the determined values are chosen so that the Areas of the curve that are more nonlinear by a greater number of smaller segments than the areas be written that have a greater linearity.
DE4133467A 1990-10-09 1991-10-09 PROCESSOR DEVICE Ceased DE4133467A1 (en)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US59407390A 1990-10-09 1990-10-09

Publications (1)

Publication Number Publication Date
DE4133467A1 true DE4133467A1 (en) 1992-04-16

Family

ID=24377410

Family Applications (1)

Application Number Title Priority Date Filing Date
DE4133467A Ceased DE4133467A1 (en) 1990-10-09 1991-10-09 PROCESSOR DEVICE

Country Status (6)

Country Link
CA (1) CA2052599C (en)
DE (1) DE4133467A1 (en)
ES (1) ES2039150B1 (en)
FR (1) FR2667708A1 (en)
GB (1) GB2249837B (en)
IT (1) IT1249456B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006050924A1 (en) * 2006-10-28 2008-04-30 Techem Energy Services Gmbh Method and device for generating temperature-dependent characteristics and their linearization

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2006135977A1 (en) * 2005-06-24 2006-12-28 Carl Peter Renneberg A circuit and method for fitting the output of a sensor to a predetermined linear relationship

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3110267A1 (en) * 1980-03-17 1982-03-11 Burr-Brown Research Corp., 85734 Tucson, Ariz. SYSTEM FOR LINEARIZING THE SIGNALS OF A NON-LINEAR CONVERTER
DE3128095A1 (en) * 1981-07-16 1983-02-03 Hartmann & Braun Ag, 6000 Frankfurt >>Method for digital correction of the relationship between a digital input signal and a digital output signal and circuit arrangement to carry out this method<<
US4912397A (en) * 1987-09-30 1990-03-27 Eaton Corporation Transducer linearizing system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US3727037A (en) * 1971-08-27 1973-04-10 A Zorn Variable increment digital function generator
US3979745A (en) * 1974-02-22 1976-09-07 Westronics, Inc. System and method for linearizing analog measurements during analog-to-digital conversion
US4024385A (en) * 1974-02-25 1977-05-17 Raytheon Company Second difference function generator
FR2296319A1 (en) * 1974-12-27 1976-07-23 Cit Alcatel Digital periodic waveform generator - has counting assembly and memory store to generate preset waveform of selected period
DE2738352A1 (en) * 1977-08-23 1979-03-01 Siemens Ag FUNCTION GENERATOR WITH MEMORY MATRIX
IT1094717B (en) * 1978-04-20 1985-08-02 Eurodomestici Ind Riunite DEVICE FOR DIGITAL CONVERSION OF ANALOG PHYSICAL QUANTITIES
AT380340B (en) * 1979-09-07 1986-05-12 Goerz Electro Gmbh LINEARIZATION CIRCUIT
US4616325A (en) * 1983-06-17 1986-10-07 Johnson Service Company Zone condition controller and method of using same
GB8704269D0 (en) * 1987-02-24 1987-04-01 Rue Systems De Monitoring system

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE3110267A1 (en) * 1980-03-17 1982-03-11 Burr-Brown Research Corp., 85734 Tucson, Ariz. SYSTEM FOR LINEARIZING THE SIGNALS OF A NON-LINEAR CONVERTER
DE3128095A1 (en) * 1981-07-16 1983-02-03 Hartmann & Braun Ag, 6000 Frankfurt >>Method for digital correction of the relationship between a digital input signal and a digital output signal and circuit arrangement to carry out this method<<
US4912397A (en) * 1987-09-30 1990-03-27 Eaton Corporation Transducer linearizing system

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE102006050924A1 (en) * 2006-10-28 2008-04-30 Techem Energy Services Gmbh Method and device for generating temperature-dependent characteristics and their linearization
DE102006050924B4 (en) * 2006-10-28 2017-01-05 Techem Energy Services Gmbh Method and device for generating temperature-dependent characteristics and their linearization

Also Published As

Publication number Publication date
ITRM910763A0 (en) 1991-10-09
CA2052599C (en) 1998-11-24
GB9120777D0 (en) 1991-11-13
ES2039150B1 (en) 1994-03-16
ES2039150A1 (en) 1993-08-16
CA2052599A1 (en) 1992-04-10
GB2249837A (en) 1992-05-20
IT1249456B (en) 1995-02-23
FR2667708A1 (en) 1992-04-10
ITRM910763A1 (en) 1993-04-09
GB2249837B (en) 1995-01-25

Similar Documents

Publication Publication Date Title
DE19846461B4 (en) Sensoreinstellschaltung
DE112012005548B4 (en) Output value correction method for a physical quantity sensor device, output correction method for a physical quantity sensor, physical quantity sensor device and output value correction device for a physical quantity sensor
EP1241438B1 (en) Angle detecting device
DE2318280A1 (en) METHOD AND DEVICE FOR RANGE ADAPTATION OF FREQUENCY DEPENDENT SENSORS
DE102004022556B3 (en) Self-calibrating voltage measuring device and method therefor
EP0711976A1 (en) Arrangement for linearization and temperature compensation of sensor signals
EP0221251B1 (en) Fault-compensating method for sensing elements with non-linear characteristics, and device for performing it
EP0360348B1 (en) Process and device for measuring small electrical signals
DE3012868A1 (en) KEY AND HOLDING CIRCUIT FOR AN ELECTRICAL SIGNAL
DE2221147A1 (en) Temperature measuring device
DE2822276A1 (en) ELECTRONIC THERMOMETER
DE2738409A1 (en) ELECTRONIC SCALE
DE3011771A1 (en) DEVICE FOR MODIFYING THE DISTANCE OF AN ELECTRICAL OUTPUT SIGNAL
DE2310103B2 (en) ELECTRONIC OVERCURRENT RELEASE
DE3719532A1 (en) FORCE MEASURING DEVICE
DE4238084A1 (en) Analogue measurement value converter for real=time transformation into engineering unit - uses high value binary number bits to address stored coefficients, and lower value bits to perform correction using coefficients
DE2307296C3 (en) Arrangement for measuring temperatures
DE3435539C2 (en)
WO2001058019A1 (en) A/d converter with lookup table
DE4133467A1 (en) PROCESSOR DEVICE
DE19728676A1 (en) Signal processor for gas chromatograph and mass spectrometer
DE4016922C2 (en)
DE2615162B1 (en) Circuit arrangement for linearizing the output signals from measuring sensors
DE3325616A1 (en) ELECTRONIC SCALE
DE4315336A1 (en) Method and device for measuring and correcting process variables

Legal Events

Date Code Title Description
8110 Request for examination paragraph 44
8131 Rejection