DE69927869T2 - Optimierung von Kompressions- und Erfassungsaufzeichnungen für einen Digitaloszilloskop mit Aufrasterung mit veränderlicher Intensität - Google Patents

Optimierung von Kompressions- und Erfassungsaufzeichnungen für einen Digitaloszilloskop mit Aufrasterung mit veränderlicher Intensität Download PDF

Info

Publication number
DE69927869T2
DE69927869T2 DE69927869T DE69927869T DE69927869T2 DE 69927869 T2 DE69927869 T2 DE 69927869T2 DE 69927869 T DE69927869 T DE 69927869T DE 69927869 T DE69927869 T DE 69927869T DE 69927869 T2 DE69927869 T2 DE 69927869T2
Authority
DE
Germany
Prior art keywords
data
column
acquisition
time
pixels
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.)
Expired - Lifetime
Application number
DE69927869T
Other languages
English (en)
Other versions
DE69927869D1 (de
Inventor
Eric P. Beaverton Etheridge
Kevin T. Woodland Ivers
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.)
Tektronix Inc
Original Assignee
Tektronix 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 Tektronix Inc filed Critical Tektronix Inc
Publication of DE69927869D1 publication Critical patent/DE69927869D1/de
Application granted granted Critical
Publication of DE69927869T2 publication Critical patent/DE69927869T2/de
Anticipated expiration legal-status Critical
Expired - Lifetime legal-status Critical Current

Links

Classifications

    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R13/00Arrangements for displaying electric variables or waveforms
    • G01R13/20Cathode-ray oscilloscopes
    • GPHYSICS
    • G01MEASURING; TESTING
    • G01RMEASURING ELECTRIC VARIABLES; MEASURING MAGNETIC VARIABLES
    • G01R13/00Arrangements for displaying electric variables or waveforms
    • G01R13/20Cathode-ray oscilloscopes
    • G01R13/22Circuits therefor
    • G01R13/34Circuits for representing a single waveform by sampling, e.g. for very high frequencies
    • G01R13/345Circuits for representing a single waveform by sampling, e.g. for very high frequencies for displaying sampled signals by using digital processors by intermediate A.D. and D.A. convertors (control circuits for CRT indicators)

Landscapes

  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Controls And Circuits For Display Device (AREA)
  • Analogue/Digital Conversion (AREA)

Description

  • GEBIET DER ERFINDUNG
  • Diese Erfindung betrifft die Verarbeitung von erfaßten Daten der Spannung als Funktion der Zeit, die die Aktivität eines unter Beobachtung stehenden Signals darstellen, in eine Form, die zur Anzeige durch ein digitales Oszilloskop geeignet ist, und insbesondere die effiziente Hochgeschwindigkeitserfassung und -rasterisierung solcher Daten in eine Form, die eine Intensitätsinformation mit mehreren Bits pro Pixel für Anzeigen mit variabler Intensität umfaßt.
  • HINTERGRUND DER ERFINDUNG
  • Digitale Oszilloskope verwenden im allgemeinen Rasterabtastanzeigen, um die Aktivität von elektrischen Signalen ihren Benutzern zu präsentieren. Jede Rasterabtastanzeige, wie z.B. jene, die jeden Tag auf Computerbildschirmen zu sehen sind, bestehen aus einer zweidimensionalen Matrix von Pixeln, wobei jede Pixelstelle durch eine Zeilennummer und Spaltennummer eindeutig definiert ist. Die einfachsten und kostengünstigsten Versionen solcher Anzeigen sind "Ein-Bit"-Anzeigen, bei denen der Speicher, aus dem sie die anzuzeigende Information gewinnen, nur ein Bit einer Intensitätsinformation aufweist, die jedem Pixel zugeordnet ist. Bei einer solchen Anzeige bestimmt dieses einzelne Informationsbit, ob das diesem zugeordnete Pixel entweder "ein" oder "aus" ist, wobei "ein" vorgibt, daß ein vorbestimmtes Ausmaß an Intensität verwendet werden soll, um das Pixel zu beleuchten, und "aus" angibt, daß das Pixel überhaupt nicht beleuchtet werden soll.
  • Die komplexere und teurere Alternative für eine Ein-Bit-Anzeige ist eine Mehr-Bit-Anzeige, die eine variable Intensität (auch als "Graustufe" bekannt) oder Farbvariationen als Ersatzindikator für die Helligkeit bereitstellen kann. Die jedem Pixel einer Anzeige mit variabler Intensität zugeordneten Speicherstellen enthalten mehrere Bits für die Intensitätsinformation, die die Anzahl von veränderlichen Intensitätspegeln angeben, mit denen sie beleuchtet werden können. Wie die Pixel von Ein-Bit-Anzeigen können jene von Mehr-Bit-Anzeigen einen "Aus"- oder dunklen Zustand aufweisen, aber anstatt eines Beleuchtungswerts weisen sie mehrere Werte auf. Typischerweise ist die verfügbare Anzahl von Werten 2N-1, wobei N die Speichertiefe an jeder Adresse des Rasterspeichers ist. Ein vier Bit tiefer Rasterabtastspeicher kann somit beispielsweise fünfzehn Pegel von teilweiser bis maximaler Beleuchtung sowie den dunklen oder "Aus"-Zustand unterstützen. Die Pixelintensität kann auch in verschiedene Farben sowie Intensität oder "Helligkeit" umgesetzt werden.
  • Mit dieser größeren Datenmenge können Mehr-Bit-Anzeigen mehr Information über das Verhalten von beobachteten elektrischen Signalwellenformen übermitteln, insbesondere wenn das Signal nicht vollkommen wiederholt ist und daher in einigen Teilen weniger Aktivität aufweist als in anderen. Das US-Patent 4 940 931, Katayama et al., über "Digital Waveform Measuring Apparatus Having A Shading-tone Display", beschreibt ein System zum Erzeugen von digitalen Anzeigen mit variabler Intensität.
  • Typischerweise erfassen digitale Oszilloskope eine Information über das Verhalten eines Schaltungsknotens durch periodisches Abtasten der am Knoten vorliegenden Spannung. Die Oszilloskop-Sondenspitze wird mit dem Knoten in Kontakt gebracht und die Sonde und der Vorrechner des Oszilloskops kopieren das Signal oder einen gewissen vorbestimmten Bruchteil oder ein Vielfaches des Signals genau, und übergeben es an einen Analog-Digital-Wandler. Das Ausgangssignal des Analog-Digital-Wandlers ist eine Reihe von digitalen Mehr-Bit-Worten, die in einem Erfassungsspeicher gespeichert werden. Nacheinander erfaßte Abtastwerte werden in fortlaufend zugehörigen Adressen im Erfassungsspeicher gespeichert und werden dadurch mit einem Zeitmaßstab in Beziehung gebracht. Diese Adressen werden schließlich wieder in einen Zeitmaßstab umgewandelt, von denen einer als horizontaler Abstand entlang der x-Achse der Rasterabtastanzeige des Oszilloskops dargestellt wird.
  • In einem typischen digitalen Oszilloskop bestimmen Spannungsamplitudenwerte, die vom Dateninhalt einer Erfassungsspeicherstelle gewonnen werden, den vertikalen Ort (Zeilennummer) eines beleuchteten Pixels, während Zeitwerte, die von den Adressen des Erfassungsspeichers gewonnen werden, den horizontalen Ort (Spaltennummer) bestimmen. Der Prozeß der Erweiterung des Inhalts und der Adressen eines Erfassungsspeichers zum Erzeugen eines Inhalts für einen zweidimensionalen Rasterspeicher ist als "Rasterisierung" bekannt.
  • Das Ausgangssignal eines Rasterisierungsprozesses wird gewöhnlich mit einem gewissen vorexistierenden Inhalt eines Rasterspeichers kombiniert und der resultierende zusammengesetzte Rasterinhalt kann anschließend regulär einer gewissen Art Abklingprozeß unterzogen werden. Für mehr Information über die digitale Beständigkeit und das Abklingen siehe die folgenden US-Patente 5 440 676, Alappat et al., über "Raster Scan Waveform Display Rasterizer With Pixel Intensity Gradation"; 5 387 896, Alappat et al., über "Rasterscan Display With Adaptive Decay"; 5 254 983, Long et al., über "Digitally Synthesized Gray Scale For Raster Scan Oscilloscope Displays".
  • Für irgendeine spezielle Kombination von Einstellungen der Oszilloskopanzeige und erfaßten Wellenformdaten gibt es eine gewisse Funktion, die die erfaßten Datenpunkte in das Anzeigeraster der Zeit (x-Achse) gegen die Spannung (y-Achse) abbildet. Diese Abbildungsfunktion umfaßt ein gewisses Verhältnis zwischen der Anzahl von abzubildenden Abtastwerten und der Anzahl von Pixelspalten in der Rasteranzeige. Obwohl dieses Verhältnis 1:1 sein kann, ist es gewöhnlich N:1 oder 1:N. Wenn mehr Datenpunkte als Spalten von Pixeln vorhanden sind, in die sie abgebildet werden müssen, wird eine gewisse Form von Datenkompression und/oder -dezimierung verwendet. Dezimierung bedeutet das Verwerfen aller, bis auf jeden N-ten Datenpunkt, wodurch auf einen Teil der verfügbaren Information verzichtet wird. Kompression bedeutet andererseits eine Abbildung von Daten von mehreren Zeitstellen im Erfassungsspeicher in eine horizontale Stelle, d.h. eine einzelne Spalte von Pixeln, in der Rasterabtastanzeige. Wenn weniger Datenpunkte als Spalten von Pixeln vorhanden sind, d.h. der obige Fall 1:N, dann wird im allgemeinen eine gewisse Art von Interpolation oder Äquivalenzzeitabtastung verwendet. Im Fall der vorliegenden Erfindungen wird eine Äquivalenzzeitabtastung, die nachstehend viel genauer erörtert wird, verwendet.
  • Für viele Jahre waren digitale Oszilloskope im Prozentsatz an Aktivität an der Sondenspitze, die sie effektiv verarbeiteten und für den Benutzer anzeigten, begrenzt. Obwohl weniger anspruchsvolle Benutzer und diejenigen, die nur mit analogen Oszilloskopen vertraut waren, den Eindruck hatten, daß sie an der Sondenspitze ihres digitalen Oszilloskop das meiste oder alles der Aktivität sahen, zeigte die Anzeige unter vielen Umständen wirklich nur einen kleinen Prozentsatz der tatsächlichen dort auftretenden Aktivität. Dies lag daran, daß diese Oszilloskope viel mehr Zeit aufwendeten, um Signale zu verarbeiten, als um sie zu erfassen. Wenn ein Signal vollkommen wiederholt ist, ist dieser Verlust an "Einschaltzeit" kein Problem, da eine Wellenform genau wie die andere aussieht. Wenn jedoch ein Signal eine gewisse Art von unstetigem anomalen Verhalten zeigt, kann ein niedriger Prozentsatz an Einschaltzeit verhindern, daß eine solche Anomalie erkannt wird. Daher war die Erhöhung des Wellenformdurchsatzes und des Prozentsatzes an Signalaktivität an der Sondenspitze, die tatsächlich vom Benutzer beobachtet werden kann, zunehmend das Ziel der jüngeren Konstruktionen von digitalen Oszilloskopen. Das US-Patent 5 412 579, Meadows, et al., über "Slow Display Method for Digital Oscilloscope With Fast Acquisition System" beschreibt ein Oszilloskopsystem, in dem Erfassungen in abwechselnden (auch bekannt als "Ping-Pong") Anzeigepuffern zusammengesetzt werden, so daß, während der Inhalt eines Anzeigepuffers als Quelle für angezeigte Daten verwendet wird, der andere verwendet wird, um mehr Daten zu sammeln und zusammenzusetzen. Die langsame Anzeige der Konstruktion, die in diesem Patent beschrieben ist, stellte jedoch nur ein einziges Bit von Intensitätsdaten pro Pixel bereit und hatte daher keine Fähigkeit zur analogartigen Grauabstufung, d.h. variablen Intensität.
  • Die Fähigkeit, eine große Anzahl von Wellenformen zu verarbeiten, ist eine hocherwünschte Eigenschaft in einem digitalen Oszilloskop. Das US-Patent 5 530 454, Etheridge et al., über "Digital Oscilloscope Architecture For Signal Monitoring With Enhanced Duty Cycle", beschreibt ein Oszilloskop, das in der Lage ist, bis zu 400000 Wellenformen pro Sekunde zu erfassen, wenn jeder Wellenformdatensatz kurz ist und die Frequenz von Triggerereignissen hoch genug ist. Dieses Oszilloskop emuliert etwas die Leistung eines analogen Oszilloskops mit einem "Einschaltzeit"-Prozentsatz", der von etwa 6% bis fast 99% in Abhängigkeit von den Zeitbasiseinstellungen, der Anzahl von eingeschalteten Kanälen und der Triggerereignisverfügbarkeit variiert.
  • Die Geschwindigkeit der im '454-Patent von Etheridge beschriebenen Architektur wurde unter Verwendung von zwei Rasterspeichern, einem im Erfassungssystem und dem anderen im Anzeigesystem, erreicht. Der erste dieser Rasterspeicher, der als "Rastererfassungsspeicher" bezeichnet wird, wurde fast konstant mit erfaßten Wellenformen beliefert. Diese Wellenformen wurden rasterisiert und in diesem Rastererfassungsspeicher durch einen Erfassungsrasterizer mit hoher Geschwindigkeit und einen ebenso schnellen Bildkombinator fast so schnell zusammengesetzt, wie sie erfaßt wurden. Nachdem viele Wellenformen so zusammengesetzt worden waren, wurde der Inhalt des Rastererfassungsspeichers mit einem Bit pro Pixel zu einem Anzeigerasterspeicher mit mehreren Bits pro Pixel übertragen, wo er mit vorher angezeigten Daten kombiniert wurde. Der Inhalt dieses Anzeigerasterspeichers wurde einer digitalen Beständigkeitssteuerung unterzogen, wie z.B. jener, die vorstehend beschrieben wurde, und die Intensität jedes Pixels wurde dadurch über die Zeit abklingen lassen.
  • Für viele Benutzer, insbesondere jene mit einer gewissen Erfahrung mit analogen Oszilloskopen, übermittelt eine variable Helligkeit nützlicherweise eine Information über die Aktivität des beobachteten Signals. Viele von diesen Benutzern hatten eine starke Vorliebe für einige Verhaltensweisen, die jenen von analogen Oszilloskopen ähneln. Da ein analoges Oszilloskop beispielsweise vertikale Ausschläge während eines horizontalen Durchlaufintervalls erzeugt, um ein Echtzeitbild der Signalaktivität an der Sondenspitze bereitzustellen, variieren sie von Natur aus gewöhnlich die Helligkeit der Anzeige als inverse Funktion der Steigung der Linie, die sie erzeugen. Dies geschieht, da die Kathodenelektronenkanone der CRT eine konstante Zufuhr von Elektronen erzeugt, die von der Einstellung einer "Helligkeits"-Steuerung abhängt, und die Länge der in einer Zeiteinheit zurückgelegten Bahn durch den X-Achsen-Abstand, der zu irgendeiner speziellen Durchlaufgeschwindigkeit gehört, minimal festgelegt ist, aber durch jegliche y-Achsen-Ausschläge erhöht wird. Und ein y-Achsen-Ausschlag kann ein großes Vielfaches des entsprechenden x-Achsen-Abstandes sein, so daß die konstante verfügbare Elektronenstrahlenergie um einen großen Faktor verringert werden kann, wenn sie über diesen viel längeren Abstand ausgebreitet wird. Somit verändern analoge Oszilloskope von Natur aus die Helligkeit der Linie, die sie zeichnen, als inverse Funktion der Steigung dieser Linie.
  • Ein weiteres noch stärker erwünschtes Merkmal eines analogen Oszilloskops oder eines digitalen Oszilloskops mit einem hohen Wellenformdurchsatz ist die Fähigkeit, ein diskontinuierliches Signal anomal zu erfassen, das in einem ansonsten wiederholten Signal auftritt. Ältere digitale Oszilloskope mit niedriger "Einschaltzeit" machen die Beobachtung der Aktivität eines diskontinuierlichen Signals unwahrscheinlich, zumindest bei Abwesenheit von speziellen Triggerbetriebsarten, die dazu ausgelegt sind, bestimmte Klassen einer Aktivität eines diskontinuierlichen Signals zu erfassen. Analoge Oszilloskope zeigen eine schwache Leuchtspur, die auf die Anwesenheit dieses Verhaltens eines diskontinuierlich anomalen Signals hinweisen. Wenn das Signal zu diskontinuierlich wird, ist die Leuchtspur natürlich so schwach in der Helligkeit, daß sie von der Oszilloskopbedienperson vollständig übersehen werden kann.
  • KURZBESCHREIBUNG DER VERSCHIEDENEN ANSICHTEN DER ZEICHNUNG
  • 1 ist ein vereinfachtes Blockdiagramm des Flusses von erfaßten Daten, während sie sich durch den Erfassungsspeicher- und Rasterisierungsabschnitt und in den Anzeigeabschnitt eines Oszilloskops bewegen.
  • 2 ist ein Blockdiagramm, das zeigt, wie der Rasterisierungsprozeß gemäß einem Ausführungsbeispiel der vorliegenden Erfindung Daten verarbeitet, die vom Erfassungsspeicher geliefert werden, und Daten für den Erfassungsrasterspeicher erzeugt.
  • 3 ist ein detailliertes Blockdiagramm, das die Eingangssignale, Ausgangssignale und Unterteile des in 2 & 4 gezeigten Zähler- und Zwischenspeicherblocks zeigt.
  • 4 ist ein Blockdiagramm eines besonders bevorzugten Ausführungsbeispiels des Rasterizers mit variabler Intensität gemäß der vorliegenden Erfindung.
  • 5 ist ein vereinfachtes Blockdiagramm, das zeigt, wo im Anzeigevorbereitungsprozeß die Intensitätsabbildung und die Betonung seltener Ereignisse angewendet werden.
  • 6A & 6B sind Blockdiagramme, die zwei Weisen zeigen, in denen eine Nicht-Linearitäts-Korrektur durchgeführt werden kann.
  • 7 ist ein schematisches Diagramm der Intensitätsabbildungsschaltung zum Durchführen einer Verringerung von Bits pro Pixel in einer Weise, in der die Skalierung und Verstärkung steuerbar sind.
  • AUSFÜHRLICHE BESCHREIBUNG DER ERFINDUNG
  • Mit Bezug zunächst auf 1 sehen wir ein vereinfachtes Blockdiagramm des Flusses von erfaßten Daten, während sie sich durch den Erfassungsspeicher- und Rasterisierungsabschnitt 200 und in den Anzeigeabschnitt 300 eines Oszilloskops gemäß einem Ausführungsbeispiel der vorliegenden Erfindung bewegen. Vertikale Skalierungs- und vertikale Versatzfunktionen werden vor der Digitalisierung angewendet und sind daher in dieser Figur nicht direkt sichtbar, sondern sind vielmehr ein Teil des Erfassungsprozesses 10. Die Triggerschaltung 15 überwacht unter der Leitung der Prozeßsteuereinheit 180 das Eingangssignal und andere Kriterien (nicht dargestellt) und überträgt das Auftreten der Zufriedenstellung der Triggerbedingungen zur Erfassungsschaltung 10 und zur Prozeßsteuereinheit 180.
  • Die Prozeßsteuereinheit 180 enthält Zeitgeber und Zustandsmaschinen, die ermöglichen, daß sie den gesamten Erfassungs- und Rasterisierungsprozeß, einschließlich einiger der wahlweisen Prozesse, die nachstehend erörtert werden und in 1 nicht gezeigt sind, steuert. Wie zu sehen ist, sendet sie einen Befehl und eine Information zu fast jedem Teil des Erfassungsspeicher- und Rasterisierungsabschnitts 200 sowie zur Trigger- 15 und Erfassungsschaltung 10 und empfängt verschiedene Signale von diesen. Sie benachrichtigt den Rasterkombinator 80, wenn Daten bereit sind. Die Prozeßsteuereinheit 180 überwacht die Triggerschaltung 15 und startet die Erfassungsschaltung 10 und den Rasterizer 30 zu geeigneten Zeitpunkten, d.h. wenn genügend Erfassungen zum Rasterisieren vorhanden sind oder ansonsten so viel Zeit seit dem ersten Trigger oder der letzten Anzeigeaktualisierung abgelaufen ist, daß neue Daten an der Anzeige 110 fällig sind.
  • Wenn Daten an der Anzeige 110 fällig sind, startet die Prozeßsteuereinheit 180 die Intensitätsabbildung 50 und anschließend die DMA-Schaltung 70. Wie nachstehend genauer erörtert wird, bestimmt die Prozeßsteuereinheit 180 auch, wann Erfassungsabbrüche erforderlich sind, veranlaßt einen Triggerpositionsrechner zum Laufen und berechnet Unterbrechungspunkte.
  • Als Ausgabe des Erfassungsprozesses 10 werden Daten-Adressen-Paare der Spannung als Funktion der Zeit in einem Erfassungsspeicher 20 gespeichert. Der Erfassungsspeicher 20 kann zwei Wellenformdatensätze halten, die bis zu 512K Abtastwerte lang sind, oder kann partitioniert sein, um bis zu 256 kürzere Wellenformdatensätze zu halten, die jeweils 768 Abtastwerte enthalten. Jede Abtastwertstelle enthält 8 Informationsbits, die einen von 256 möglichen Spannungsamplitudenpegel definieren. 200 dieser Spannungsamplitudenpegel entsprechen einer der 200 Pixelstellen in jeder Spalte des 200 × 500 Erfassungsrasterspeichers 40 mit 21 Bits pro Pixel.
  • Jeder Erfassungsspeicher- und Rasterisierungsabschnitt 200 kann 100000 Wellenformdatensätze pro Sekunde erfassen, wobei jeder Datensatz 500 Datenpunkte enthält und wobei jeder Datenpunkt in Intervallen von 1 ns für insgesamt 500 ns pro Erfassung erfaßt wird. Mehrere Erfassungsspeicher- und Rasterisierungsabschnitte 20, insbesondere zwei oder vier, können ineinander verschachtelt sein, um den Gesamtdurchsatz, der auf einem Oszilloskopkanal zur Verfügung steht, zu verdoppeln oder vervierfachen. Der Rasterkombinator 80 des Anzeigeabschnitts 300 kann die Ausgangssignale dieser mehreren Erfassungsspeicher- und Rasterisierungsabschnitte 20 im Anzeigeabschnitt 300 wieder miteinander multiplexieren.
  • Im Gegenteil kann mehr als ein Kanal in einen Erfassungsspeicher- und Rasterisierungsabschnitt 200 multiplexiert werden. Und eine alternative Version des Rasterkombinators 80 kann diese mehreren Kanäle aus weniger Erfassungsspeicher- und Rasterisierungsabschnitten 200 demultiplexieren und durch die Verwendung von zusätzlichen "Kennzeichen"-Bits in jeder Pixelstelle der Anzeigerasterspeicher 90 und 100 bewirken, daß sie als separate Kanäle auf der Rasteranzeige 110 angezeigt werden. Die Kennzeichenbits ermöglichen, daß die Kanäle priorisiert oder "geschichtet" werden, so daß nur die Intensität desjenigen an der Oberseite angezeigt wird, wenn zwei oder mehr Kanäle überlappen. Alternativ können die Intensitäten von zwei oder mehr Kanälen zusammenaddiert werden, wenn sie überlappen, wenn dies erwünscht ist.
  • Der Rasterkombinator 80 kann auch veranlaßt werden, Intensitätsvariationen in Farbvariationen umzusetzen, wobei geeignete Unterstützungsänderungen in den Anzeigerasterspeichern 90 und 100 und in der Rasteranzeige 110 vorgenommen werden, falls erforderlich.
  • Mit Bezug als nächstes auf 2 beachte man bitte, daß der Einfachheit halber Takt- und Zeitsignale und Steuersignale von der Prozeßsteuereinheit 180 in dieser Figur nicht gezeigt sind. Der Rasterisierungsprozeß 30 greift auf geeignete Abtastwerte vom Erfassungsspeicher 20 gemäß den von der Adressensteuereinheit 31 erzeugten Adressen zu. Die Adressensteuereinheit 31 empfängt Einstellungen der Zeit pro Unterteilung und ist mit einem Teil der in Tabelle 1 gezeigten Information vorprogrammiert. Sie kann dadurch diejenigen Einstellungen der Zeit pro Unterteilung in Adressen umwandeln, die die gewünschte Kombination von Kompressionsbreite und Erfassungstiefe widerspiegeln, die in der Bestimmung der Intensität für jedes Pixel enthalten sind. Der Rest des Inhalts von Tabelle 1 ist der Prozeßsteuereinheit 180 bekannt.
  • Die Adressensteuereinheit 31 ruft Erfassungsdaten ab, wie durch die Prozeßsteuereinheit 180 (in 1 gezeigt) veranlaßt, während fortlaufende Abtastwertversätze und Pufferauswahlinformationen zum Datenpuffer 32 geliefert werden. Die Adressensteuereinheit 31 identifiziert auch das Ende jeder Spalte, so daß der Zählerblock 36 geeignet zurückgesetzt und zwischengespeichert werden kann. Diese Steuerungen verlaufen tatsächlich entlang der Datenpipelines, so daß die Steuerung den Fluß der Daten verfolgt. Wenn die Rasteraktualisierung länger dauert als der Kompressionsprozeß, wird der Kompressionsprozeß am Ende der dann laufenden Kompressionsoperation unterbrochen. TABELLE 1 – ZEIT/UNTERTEILUNGS-PROGRAMMIERUNG
    Figure 00100001
    Figure 00110001
  • Tabelle 1 enthält die für verschiedene Einstellungen der Zeit pro Unterteilung verwendeten Werte. Die in Tabelle 1 ganz links gezeigte Spalte enthält eine Indexnummer, die einen Bezug auf spezielle Zeilen und die Sätze von Daten, die sie enthalten, ermöglicht. Die nächste Spalte "Zeit pro Unterteilung" enthält einen Eintrag für jede horizontale Einstellung des ersten Oszilloskops, das die vorliegende Erfindung verkörpert. Die "Zählwert"-Spalte gibt an, wie viele Erfassungsdatensätze als Eingangssignal in jeden Rasterisierungsprozeß mit der entsprechenden Einstellung der "Zeit pro Unterteilung" verwendet werden. Im Äquivalenzzeitbetrieb (nachstehend weiter beschrieben) wird nur einer der 256 Datensätze während jedes Rasterisierungszyklus verarbeitet. Die Anzahl von Puffern im Speicher, 256, ist jedoch zweimal die Anzahl 128, in der einzigen vergleichbaren Nicht-Ä.Z.-Einstellung, Index #9, 50 ns pro Unterteilung. Die "Größen"-Spalte gibt an, wie viele Datenpunkte in jedem Rasterisierungsdatensatz bei dieser Einstellung gespeichert werden, während die "Verwendet"-Spalte angibt, wie viele Datenpunkte beim Durchführen der Rasterisierung tatsächlich verwendet werden.
  • Die Spalte "Ä.Z. oder Dezimierung" enthält eine Information, die sich auf die Menge an "Äquivalenzzeit"-Einfüllung oder Dezimierung (effektiv "Herausschmeißen") bezieht, die von der Erfassungshardware durchgeführt wird. Die Äquivalenzzeitabtastung ist ein Verfahren zum effektiven Erfassen von Daten durch mehrere Erfassungen, das einer Durchlaufgeschwindigkeit oder Abtastrate entspricht, die tatsächlich schneller ist als die Erfassungshardware durchführen kann. In dem durch die Äquivalenzzeitabtastung erzeugten Erfassungsdatensatz können Anomalien erscheinen, die sich aus der hypothetischen Art des Erfassungsdatensatzes, der durch die nicht-sequentielle Erfassung von "aufeinanderfolgenden" Datenpunkten erzeugt wird, und die Tatsache, daß die zur Erzeugung dieses Datensatzes abgetasteten Wellenformen nicht vollkommen wiederholt sein können, ergeben.
  • Die vorletzte Spalte "Erweiterung/Kompression" enthält eine Information, die sich auf das Ausmaß an Erweiterung oder Kompression bezieht, die während des Rasterisierungsprozesses durchgeführt wird. Es ist die Kombination dieser Faktoren, Erweiterung und Kompression, und derjenigen aus der vorangehenden Spalte, Äquivalenzzeiteinfüllung oder Dezimierung, die festlegen, welche Abtastwerte zum Datensatz im Erfassungsspeicher 20 beitragen, und letztlich, welche Abtastwerte sich auf das Rasterisierungsergebnis auswirken, das zum Erfassungsrasterspeicher 40 gesandt wird. Für einen einzelnen Erfassungsspeicher- und Rasterisierungsabschnitt, der in seiner Ein-Kanal-Betriebsart arbeitet, werden 6% der Echtzeit mit der Erfassung verbracht, im Vergleich zu 94%, die mit der Verarbeitung der erfaßten Erfassungen verbracht werden.
  • Die Indexzeile #9, die Zeile 50 ns Zeit pro Unterteilung, enthält die schnellsten Echtzeiteinstellungen. Alle Zeilen oberhalb der Zeile #9, diejenigen mit Einstellungen der Zeit pro Unterteilung, die schneller sind als 50 ns pro Unterteilung, erfordern die Verwendung einer Äquivalenzzeitabtastung, d.h. die Sammlung von mehreren Datensätzen und die Verwendung von nur einigen Datenpunkten von jedem, um einen zusammengesetzten Datensatz aufzubauen.
  • In der Zeile #0 wird beispielsweise 200 ps pro Unterteilung unter Verwendung von nur zwei Datenpunkten jeweils von 250 Erfassungen erreicht. Das Oszilloskop erfaßt Abtastwerte einmal pro jeder Nanosekunde, so daß nur zwei Datenpunkte pro Datensatz innerhalb des Zeitrahmens eines Datensatzes liegen. Bei 200 ps pro Unterteilung auf der horizontalen Zeitbasis und 10 Unterteilungen pro Anzeige ist jede Anzeige nur 2 Nanosekunden von Seite zu Seite. Durch Kombinieren von zwei Abtastwerten von jeweils 250 Datensätzen, können 500 Datensätze pro Anzeige zu einem Äquivalenzzeitbild zusammengesetzt werden.
  • In den Zeilen unterhalb des Index #9 wird eine Dezimierung verwendet, um die Datensatzlänge zu begrenzen, und eine Kompression wird verwendet, um den auf dem Bildschirm von den im Datensatz enthaltenen Punkten eingenommenen Abstand zu zu verkürzen. Bei 500 ms pro Unterteilung stellt der 10 Unterteilungen breite Bildschirm beispielsweise 5 Sekunden dar. Bei der Abtastrate von einem Abtastwert pro Nanosekunde stehen während dieser 5 Sekunden 5 Billionen Abtastwerte zur Verfügung. Eine Dezimierung um 10000 ermöglicht, daß 500000 Datenpunkte gesammelt werden. Das Komprimieren dieser 500000 Datenpunkte mit einem Kompressionsfaktor von 1000 erzeugt 500 Punkte pro Anzeige und 50 Punkte pro Unterteilung.
  • Mit erneutern Bezug auf 2 werden die Daten vom Erfassungsspeicher 20, die von der Adresssensteuereinheit 31 festgelegt werden, zum Datenpuffer 32 übertagen. Obwohl der Datenpuffer 32 insgesamt 64 × 16 Datenbytes halten kann, empfängt er tatsächlich nur 8 Bytes auf einmal alle 16 ns. Während der Datenpuffer 32 einen Satz von 8 Bytes von Erfassungsdaten zum Abtastwert-Vektor-Wandler 33 liefert, werden die anderen 8 Bytes durch die nächste Übertragung vom Erfassungsspeicher 20 gefüllt. 8 Bytes pro 16 ns ist gleich einem Mittelwert von 2 ns Zugriffszeit pro einzelnem Abtastpunkt von erfaßten Daten.
  • Die 8-Bit-Daten vom Erfassungsspeicher 20 definieren 256 vertikale Spannungspegel, während der Erfassungsrasterspeicher vertikale Spalten aufweist, die 200 Pixel enthalten. Somit sind 56 zusätzliche Spannungspegel vorhanden, die durch diese 8-Bit-Ausgangssignale definiert sind, die keinen der 200 vertikalen Pixelstellen entsprechen. Von diesen stellen 28 Spannungen unterhalb der Unterseite der 200 vertikalen Pixelstellen entsprechend dem Anzeigebildschirm dar und 28 stellen Spannungen dar, die über den 200 vertikalen Pixelstellen und der Oberseite des Bildschirms liegen. Der Bildschirm zeigt typischerweise ein Gitternetz mit neun horizontalen Linien, die 8 vertikale Unterteilungen der Anzeige definieren, von denen jede Daten von 25 der 200 Pixel in jeder Spalte des Erfassungsrasterspeichers 40 empfängt. Wie nachstehend weiter erläutert wird, geschieht eine vertikale Eins-zu-Zwei-Erweiterung, bevor diese Daten den eigentlichen Bildschirm erreichen, so daß letztlich jede vertikale (und horizontale) Unterteilung der Anzeige 50 Pixeln entspricht.
  • Obwohl die 28 oberen und 28 unteren Werte die 200 Pixel in jeder Spalte nicht direkt beeinflussen, wie nachstehend weiter erläutert wird, üben sie einen indirekten Effekt aus, indem sie bei der Berechnung verwendet werden, die die Steigung derjenigen Vektoren bestimmt, die sich auf die 200 Pixel in der vorliegenden Spalte auswirken. Das Beeinflussen der Steigungsberechnung eines Vektors übt einen Effekt auf die Schrittintensitätswerte aus, die die Pixel in diesem Vektor erhalten.
  • Die 28 oberen und unteren Werte haben auch einen anderen Effekt. Wenn eine "Bildschirmbeschneidungs"-Funktion aktiv ist und der ganze aktuelle Vektor an den oberen 28 oder unteren 28 vertikalen Stellen liegt, d.h. alle Punkte in der aktuellen Spalte außerhalb des Bildschirms in einer Richtung oder der anderen liegen, wird in der 1. oder 200. Stelle im Erfassungsrasterspeicher 40 ein spezielles Kennzeichenbit gesetzt, um diese Bedingung anzuzeigen.
  • Unter Fortfahren mit 2 untersucht der Abtastwert-Vektor-Wandler 33 drei Abtastdatenpunkte N, N-1 und N-2 in Verbindung mit der Erzeugung jedes oberen und unteren Signals des Vektors. Wenn alle Signaldaten monoton wären, würden zwei Datenpunkte genügen. Die Möglichkeit, in den Daten auf Wendepunkte zu treffen, benötigt jedoch die Verwendung von drei Punkten. Der Abtastwert-Vektor- Wandler 33 liefert ein Hi- und Lo-Signal zum Absolutwertsubtrahierer 34. Die Hi- und Lo-Signale können eine maximale Differenz von 255 vertikalen Schritten aufweisen, da sie von der vollen Spanne von Werten abgeleitet werden, die potentiell durch jeden 8-Bit-Datenabtastwert definiert werden. Der Absolutwertsubtrahierer 34 erzeugt einen vertikalen (oder Spannungs-) Änderungswert dV, den er zur Nachschlagetabelle 35 weiterleitet. Die Nachschlagetabelle 35 verwendet den vertikalen Änderungswert dV, um ein geeignetes Gewicht W für den vorliegenden Vektor zu finden. In der gerade beschriebenen Implementierung kann W Werte von 0 bis 31 aufweisen. Im allgemeinen weist W einen Wert auf, der eine inverse Beziehung zu dV/dT trägt. Für eine spezielle Einstellung der Zeit pro Unterteilung weist dT eine konstante Beziehung zum Abstand auf, der durch jede Spalte von zu rasterisierenden Pixeln dargestellt wird. Für mehr Information darüber, wie W berechnet werden kann, nehme man auf das US-Patent 5 550 963, Siegel et al., über "Graded Display of Digitally Compressed Waveforms" Bezug, das durch den Hinweis hierin aufgenommen wird.
  • Der Abtastwert-Vektor-Wandler 33 liefert auch ein Paar von oberen und unteren Signalen zum 200-Zähler-Block 36. Diese Signale definieren jeweils die Werte von 1 bis 200, die die Länge des Vektors ohne Vorzeichen definieren, der als Ergebnis des aktuellen Abtastdatenpunkts gezeichnet werden soll. Jeder Zähler im definierten Bereich wird um den Wert von W, das Vektorgewicht-Ausgangssignal der Nachschlagetabelle 35, inkrementiert. Es sollte darauf hingewiesen werden, daß die 8 Bits von Spannungsamplitudendaten, die einem Datenpunkt zugeordnet sind, eine potentiell riesige Erweiterung während des Rasterisierungsprozesses durchmachen. Da die Stelle, die er festlegt, bis zu einem vollen vertikalen Bildschirmabstand von der Stelle entfernt liegen kann, die durch den vorangehenden Datenpunkt festgelegt wird, können nicht weniger als 200 Pixel infolge der Vektorisierung von einem erfaßten Datenpunkt eine Aktualisierung erfordern. Da 19-Bit-Zähler und 4 Kennzeichenbits vorliegen und diese später zu 21 Informationsbits an jeder dieser 200 Pixelstellen komprimiert werden, kann der gesamte Rasterisierungsprozeß für einen einzelnen Datenpunkt von 8 Bits den Zustand von nicht weniger als 4200 Bits im 21-Bit-Erfassungsrasterspeicher 40 beeinflussen. Es wird somit wichtig, diese Datenerweiterung davon abzuhalten, den Wellenformdurchsatz des Erfassungsspeicher- und Rasterisierungsabschnitts 200 und dadurch jenen des ganzen digitalen Oszilloskops unnötig zu behindern (wenn die Verfügbarkeit einer begrenzten Anzahl solcher Abschnitte gegeben ist).
  • Mit Bezug nun auf 3 sind der 200-Zähler-Block 36 und der Zwischenspeicher 37 im einzelnen zusammen mit ihren Eingangssignalen und Ausgangssignalen gezeigt. Der Teil auf der linken Seite von 3 ist eine Gruppe von 200 4-Bit-Kanal-Kennzichenregistern 36B. Der mittlere Teil von 3 ist eine Anordnung von 200 19-Bit-Zählern 36A. Die 19-Bit-Länge der Zähler im Zählerblock 36 ist teilweise wegen der Kompatibilität mit der Verwendung eben dieser Schaltung in einer anderen Anwendung gewählt. Da der Maximalwert von W 31 ist und 219/31 = 16912 ist, ist der maximale Kompressionsfaktor, der sich aus dieser Tiefe ergibt, 16000.
  • Die oberen und unteren Eingangssignale sind jeweils 8 Bits lang und identifizieren einen der 200 19-Bit-Zähler. Das Gewicht W ist ein 5-Bit-Signal, das den Wert von 0 bis 31 festlegt, um den jeder 19-Bit-Zähler in dem Vektor, der durch oben und unten definiert ist, inkrementiert werden soll. Der Teil auf der rechten Seite von 3 ist eine Gruppe von 200 23-Bit-Zwischenspeichern 37. Diese 200 23-Bit-Zwischenspeicher 37 halten den Inhalt sowohl der 200 4-Bit-Kanal-Kennzeichenregister 36B als auch der Anordnung von 200 19-Bit-Zählern 36A zur Ausgabe, während diese Register und Zähler gelöscht werden (unter Verwendung des Löschsignals) und verwendet werden, um die nächste Datenspalte anzusammeln. Diese Anordnung von Zählern ist relativ aufwendig zu implementieren und kann typischerweise Vektoren mit einer langsameren Rate zeichnen als auf Abtastdaten von einem Erfassungsspeicher zugegriffen werden kann. Indern die Zwischenspeicher 37 mit diesen Zählern aufgenommen sind, ist es möglich, eine aktuelle Spalte zu aktualisieren, während die nächste Spalte in die Zähler gezeichnet wird, wodurch irgendeine ungenügende Nutzung dieses Betriebsmittels vermieden wird.
  • Die 19 Bits von Intensitätsdaten in der Gruppe von 200 23-Bit-Zwischenspeichern 37 werden zum existierenden Inhalt der entsprechenden Spalte des Erfassungsrasterspeichers 40 durch Addierer 38 in einer Reihe von Lesen-Modifizieren-Schreiben-Operationen addiert, während Adressen vom Rasteradressengenerator 45 geliefert werden. Die 4 Bits von Kanalkennzeichen werden mit entsprechenden Bits vom Erfassungsrasterspeicher 40 während derselben Lesen-Modifizieren-Schreiben-Operationen einer ODER-Verknüpfung unterzogen. Die Kanalidentifikationsbits, von denen nur genügend vorhanden sind, um die Anzahl von Kanälen zu beschreiben, die in einen Erfassungsspeicher- und Rasterisierungsabschnitt 200 multiplexiert werden, werden durch Opfern der MSBs der Intensitätsbeschreibungsfähigkeit in die 21-Bit-Pixel gepackt.
  • Wenn eine Prioritätscodierung verwendet wird, um die Intensität in Bereichen von Kanalüberlappung zu bestimmen, besteht ein geringerer Durchsatz pro Kanal, aber ein kleinerer erforderlicher dynamischer Bereich. Der schlimmste Fall tritt auf, wenn Überlappungsbereiche für vier Kanäle zusammenaddiert werden (anstatt daß die Priorität der Kanäle festlegt, welche Intensität angezeigt wird). Es stehen dann nur 17 Bits für die Intensitätsinformation zur Verfügung und sie werden früher gesättigt, da sich die Überlappungsintensitäten addieren. Da das maximale Intensitätsaktualisierungsgewicht W 31 ist, ist die kleinste Anzahl von Aktualisierungen, die eine Sättigung erzeugen kann, 217/31 = 4338. Wenn 100000 Wellenformen pro Sekunde erfaßt werden, impliziert der Bedarf für eine Aktualisierung alle 4338 Erfassungen eine minimale erforderliche Aktualisierungsrate von 23 mal pro Sekunde. Da die normale Aktualisierungsrate zwischen 30 und 60 mal pro Sekunde liegt, wird diese Anforderung gewöhnlich leicht erfüllt. Die Kanalidentifikation wird in die 21-Bit-Pixel gepackt, wobei die MSBs der Intensitätsfähigkeit verworfen werden. Nur die Bits, die erforderlich sind, um mit der Anzahl von rasterisierten Kanälen in einem Erfassungsspeicher- und Rasterizerabschnitt 200 zurechtzukommen, werden geopfert.
  • Der Erfassungsrasterspeicher 40 erfordert 268K Bytes Speicher, um eine 200 × 500-Matrix von Pixeln zu unterstützen. 8 Bytes dieses Speichers sind gleichzeitig zugänglich. Daher enthält jeder Zugriff 21 Datenbits für jeweils 3 Pixel (wobei 1 Bit verschwendet wird). Eine Spalte von 200 Pixeln erfordert 67 Zugriffe auf jeweils 3 Pixel. Somit gilt 8 (Bytes/Zugriff) × 67 (Zugriffe/Spalte) × 500 (Spalten/Anzeige) = 268K (Bytes/Anzeige).
  • Mit Bezug nun auf 4 wurde festgestellt, daß es in einem tatsächlich konstruierten Ausführungsbeispiel effizient ist, den Erfassungsspeicher 20 und den Erfassungsrasterspeicher 40 zu einem großen kombinierten Erfassungsspeicher 20, 40 zu kombinieren. Obwohl die Beschreibung bis zu diesem Punkt in der Erörterung auf herkömmliche Anzeigen der Spannung als Funktion der Zeit oder "YT"-Anzeigen begrenzt war, ist in 4 auch zu sehen, daß andere Betriebsarten, wie z.B. "XY" und "XYZ" auch in eine Gesamtkonstruktion integriert werden können. Ein Adressenquellenselektor 46 weist als eine seiner Quellen die ÄZ/XY/XYZ-Adressierungsquelle 41 sowie den Rasteradressengenerator 45 und die zwei Teile der Adressensteuereinheit 31 (von 2) auf, die hier als 256 × 16 RAM 31A und 2 × 8 Zeigererweiterung 31B gezeigt sind. Die Zeigererweiterung wird zum Rasterisieren eines einzelnen > 65536 Puffers geliefert. Da der Rasterisierungsprozeß entweder viele kleine Puffer, einen einzelnen großen Puffer oder irgend etwas dazwischen verarbeitet, wird ein Kompromiß zwischen der Verschwendung von Platz mit dem RAM als Funktion der Länge und des Zählwerts, die auf einmal rasterisiert werden können, gemacht.
  • Unter Fortführung des Prozesses, das, was in 4 gezeigt ist, mit dem, was vorstehend in 2 erörtert wurde, in Beziehung zu bringen, entspricht der Abtastprozessor 33' dem Abtastwert-Vektor-Wandler 33. 4 zeigt nicht die Unterscheidung zwischen den oberen und unteren Signalen und den Hi- und Lo-Signalen, die in 2 gemacht wurde, zeigt jedoch, daß das untere Signal eines der potentiellen Eingangssignale in die Adressierungsquelle ÄZ/XY/XYZ 41 über den Multiplexer 44 ist, welcher als sein anderes Eingangssignal "ausgewählte A/D-Daten" hat. "Ausgewählte A/D-Daten" werden in der XY- und XYZ-Betriebsart verwendet, der Datenprozessor, der Erfassungsdatenpuffer, die Delta-Intensitäts-Abbildung und Erfassungsschlangenzeiger werden in der XY- und XYZ- Betriebsart nicht verwendet. Die Delta-Intensitäts-Abbildung 34, 35 und der Zählerblock 36 werden während Äquivalenzzeit- (ÄZ) Operationen nicht verwendet.
  • Addierer 38, die in 2 gezeigt sind, sind in 4 als drei Instanzen von 21-Bit-Sättigungsaddierern genauer gezeigt. Sättigungsaddierer laufen nicht über oder erzeugen MSB-Überträge, sondern bleiben statt dessen auf einem Maximalwert aller 1-en, wenn sie voll werden. Ein Lese- und Schreibzugriff auf den (kombinierten) Erfassungsspeicher 20, 40 dauert jeweils 16 ns und ist 64 Bits breit. Daher kann ein Lesen-Modifizieren-Schreiben-Zyklus an drei 21-Bit-Pixeln alle 32 ns durchgeführt werden. Dies ist eine mittlere Zeit von 10,67 ns pro Pixelaktualisierung. Daher ist das längste, das es dauern kann, um alle 200 Pixel in einer Spalte zu aktualisieren, 67 × 32 ns oder 2,144 μs. Wenn die Eingangsdaten für jede Spalte 134 × 8/7 = 154 Datenpunkte vom Erfassungsspeicher 20 umfassen, begrenzt die Aktualisierungszeit des Erfassungsrasterspeichers 40 somit nicht die Rasterisierungsgeschwindigkeit und die Rasterisierungsprozeßgeschwindigkeit selbst wird zum begrenzenden Faktor. Da auf den (kombinierten) Erfassungsspeicher 20, 40 zugegriffen werden kann, um 8 Bytes alle 16 ns parallel zu liefern, ist es möglich, Erfassungswellenformdaten 8-mal schneller zu lesen als sie verarbeitet werden können. Da der Datenpuffer 32 bis zu 128 8-Byte-Erfassungssegmente für eine parallele Verarbeitung halten kann, stehen 87,5% der Bandbreite des (kombinierten) Erfassungsspeichers zur Aktualisierung des Erfassungsrasterspeichers mit der Ausgabe des Rasterisierungsprozesses zur Verfügung.
  • Wenn, wie bei dieser Konstruktion, die Anzahl von Pixeln pro Spalte 200 (M = 200 Pixel/Spalte) ist und die mittlere Zeit, die zum Aktualisieren jedes Pixels erforderlich ist, 10,67 ns (P = 10,67 ns/Pixelaktualisierung) ist, ist die Durchsatzrate des Rasterizers 2,134 μs/Spalte (M·P = 2,134 μs/Spalte). Wenn die Zeit zum Zeichnen des Vektors auf der Basis eines einzelnen neuen Datenpunkts 16 ns (D = 16 ns/Abtastwertpaar) ist und die mittlere Zeit, die zum Zugreifen auf ein einzelnes Abtastwertpaar von Erfassungsdaten erforderlich ist, 2 ns ist (A = 2 ns), dann ist die verfügbare Zeit zum Aktualisieren des Erfassungsrasterspeichers D-A oder 14 ns. Somit ist die maximale Kombination N·C von Erfassungspixeln pro Spalte, N, und von Kompressionspixeln innerhalb jeder Spalte, C, die verwendet werden sollte, um den Rasterizer voll belegt zu halten (unter der Annahme der Verfügbarkeit ausreichender Trigger): N·C = (M·P)/(D-A) oder N·C = (2134 ns/Spalte)/14 ns oder N·C = 152,4 Pixel. Und wenn der geeignete Kompressionsfaktor C bekannt ist, kann N gemäß N > 152,4/C berechnet werden. Diese Effizienzfunktion ist für die in 4 gezeigte Konstruktion spezifisch, wobei die Ausgangsbandbreite und die Eingangsbandbreite sich eine einzelne Gesamtspeicherbandbreite teilen, d.h. A von D subtrahiert wird.
  • Eine allgemeinere Effizienzfunktion entsteht in Verbindung mit 2, wobei die Eingangs- und Ausgangsbandbreiten voneinander unabhängig sind. In diesem Fall ist die ideale Anzahl von Erfassungen N, wenn C, P und M bestimmt sind: N = (M·P)/(C·D). Durch Konstruieren und Programmieren eines Oszilloskoprasterizers in dieser Weise ist es möglich, Bilder mit einer konstanten Rate von Abtastwerten/s bei allen Zeit/Unterteilungen zum Bildschirm zu liefern, wenn eine ausreichende Anzahl von Triggern vorhanden ist. Um eine gleichmäßige Erfassungsrate aufrechtzuerhalten, ist es wichtig, daß zweimal so viele Erfassungspuffer vorhanden sind wie in einem einzelnen Rasterisierungsdurchgang verwendet werden. In dieser Weise können Erfassungen in die Puffer fortfahren, die gerade nicht rasterisiert werden. Diese Puffer können entweder als zwei Gruppen, die abwechselnd erfaßt und rasterisiert werden, oder als kreisförmige Schlange von Puffern angeordnet sein, wobei die Rasterisierung bei einer Anzeigeaktualisierungs-Endfrist oder, wenn die gewünschte Anzahl von Datensätzen erfaßt wurde, beginnt.
  • Mit erneutem Bezug auf 1 wird der Inhalt des 200 × 500 Erfassungsrasterspeichers 40 mit 21 Bits pro Pixel dann in einen zweiten Erfassungsrasterspeicher 60 mit 4 Bits pro Pixel und kürzerer Tiefe "abgebildet" 50, der dieselben planaren (200 × 500) Abmessungen aufweist. Dieser kürzere Erfassungsspeicher 60 mit 4 Bits pro Pixel enthält immer noch 200 × 500 Pixelstellen, aber jedes Pixel weist nur 4 Bits pro Pixel Intensitätsinformation auf, die diesem zugeordnet ist, und kann folglich nur 16 Intensitätspegel anzeigen.
  • Diese "Abbildung" 50 wird unter Verwendung von 15 Unterbrechungspunkten durchgeführt, die die Grenzen der 16 Intensitätspegel (monoton) definieren. In einem Ausführungsbeispiel ist die Abbildungsvorrichtung 50 dazu ausgelegt, drei 21-Bit-Pixeleingangswerte alle 16 ns parallel zu verarbeiten. Diese Methode erfordert, daß mehrere Pipelineverzögerungen zwischen dem Lesevorgang von 16 ns von drei 21-Bit-Pixelwerten und den entsprechenden Schreibvorgängen von 16 ns von fünf Gruppen von drei 4-Bit-Pixelwert-Ausgangssignalen in den 8 Bytes breiten Speicher vorhanden sind. Da die Abbildungsoperation von der Verwendung von Daten abhängt, die im Erfassungsrasterspeicher 40 gespeichert sind, ist das Exportieren dieser Daten eine weitere Einschränkung für die gesamte Nutzung dieser begrenzten Bandbreite. Das Exportieren der Daten für die Abbildung verwendet etwa 600 μs für jede Anzeigeaktualisierung oder etwa 6 ms/30 ms. Dies führt zu einem Drücken der Effizienz des Rasterisierungsprozesses von 2%.
  • Der Inhalt des kurzen Erfassungsrasterspeichers 60 mit 4 Bits pro Pixel wird zu einem Rasterkombinator 80 im Anzeigeabschnitt 300 durch einen Prozeß 70 eines direkten Speicherzugriffs (DMA) übertragen. Der Anzeigeabschnitt 300 enthält zwei Anzeigerasterspeicher 90 und 100. Diese Rasterspeicher können auch 4 Bit pro Pixel sein oder können zusätzliche Bits für eine Kanalidentifikation und -färbung umfassen. Vier Kennzeichenbits können bis zu vier individuelle Kanäle oder 16 Kombinationen von Kanälen identifizieren.
  • Während einer 90 von zwei Anzeigerasterspeichern 90 und 100 die Rasteranzeige 110 mit Daten für die aktuelle Anzeige versorgt, wird sein Inhalt auch mit dem Inhalt des kurzen Erfassungsrasterspeichers 60 mit 4 Bits pro Pixel durch den Rasterkombinator 80 kombiniert. Das Ausgangssignal dieses Prozesses wird im anderen Anzeigerasterspeicher 100 gespeichert. Während der Zeit für den vertikalen Rücklauf der Anzeige 110 werden die zwei Anzeigerasterspeicher 90 und 100 funktional vertauscht und das Ausgangssignal des Rasterkombinators 80 wird dann im entgegengesetzten Anzeigerasterspeicher 90 gespeichert, während sein Eingangssignal und jenes der Rasteranzeige 110 zum Anzeigerasterspeicher 100 geliefert werden. Während des Rasterkombinationsprozesses werden die 200 vertikalen Stellen der Erfassungsrasterspeicher auf 400 solche Stellen in den zwei Anzeigerasterspeichern 90 und 100 erweitert. In einem einfachen Ausführungsbeispiel wird dies durch Verdoppelung jeder Zeile von Daten durchgeführt, obwohl ein raffinierteres Mittel, wie z.B. Mitteln einer Zeile oberhalb und einer Zeile unterhalb, verwendet werden könnte, falls dies erwünscht ist.
  • Während in einer Implementierung jeder Erfassungsspeicher- und Rasterisierungsabschnitt 200 nur Daten bearbeitet, die einem Kanal des Oszilloskops zugeordnet sind, ist es in einem alternativen Ausführungsbeispiel möglich, Daten von mehreren Kanälen in einen einzelnen Erfassungsspeicher- und Rasterisierungsabschnitt 200 zu geben. Wenn dies durchgeführt wird, werden Abtastwerte von verschiedenen Kanälen in jedem "Erfassungs"-Speicherdatensatz verschachtelt, so daß jeder Abtastwert von einem speziellen Kanal eine konstante und vorbestimmte Anzahl von Stellen im Datensatz entfernt liegt. Wenn man auf die Terminologie von analogen Oszilloskopen zurückkommt, in denen es möglich war, eine "zerhackte" Ansicht von zwei oder mehr Signalen zu haben, die durch die multiplexierte Verwendung einer einzelnen horizontalen Zeitbasis angezeigt wurden, wird diese Art der Verwendung der Erfassungsspeicher- und Rasterisierungsabschnitte 200 als "Zerhackungs"-Betriebsart bezeichnet. Wenn Daten von verschiedenen Kanälen in der Zerhackungsbetriebsart verschachtelt werden, werden die einzelnen Kanälen zugeordneten Daten durch den Rasterisierungsprozeß 40 in zusätzlichen Bits, die jedem Pixel zugeordnet sind, "gekennzeichnet", so daß später festgestellt werden kann, welche Kanäle den Inhalt jedes Pixels beeinflußt haben. Im 200-Zähler-Block 36 sind vier zusätzliche Bits zur Kanalkennzeichnung neben den 19 Bits vorhanden, die ein Teil der Zähler sind.
  • Um im vorstehend beschriebenen System einen maximalen Durchsatz aufrechtzuerhalten, werden Erfassungen in Stapeln verarbeitet. Um den Fluß von Erfassungsdaten für den Rasterisierungsprozeß konstant mit der erforderlichen Geschwindigkeit verfügbar zu halten, muß die nächste Erfassung gestartet werden, nachdem die mittlere einzelne Erfassungsrasterisierungszeit seitdem Ende der vorherigen Erfassung abgelaufen ist. Erfassungen starten jedoch durch Abtasten von Daten und Bewegen derselben in den Erfassungsspeicher, ohne zu wissen, wann oder sogar ob der nächste Trigger jemals auftritt. Das Ziel des Erfassungsspeicher- und Rasterisierungsabschnitts 200 besteht jedoch darin, Daten in Richtung des Anzeigeabschnitts 300 ohne irgendeine wahrnehmbare Unterbrechung fließend zu halten. Daher kann sich der Rasterisierungsprozeß 30 nicht an unbestimmtem Warten, bis ein Trigger empfangen wird, beteiligen, wenn seine Fähigkeit, die Ausgabe von Daten fortzusetzen, durch diesen Tätigkeitsverlauf unmöglich gemacht wird.
  • Um mit diesem Problem zurechtzukommen, verfolgt die Prozeßsteuereinheit 180 die Zeit, die vergeht, nachdem die nächste Erfassung verfügbar geworden sein sollte, aber dies nicht der Fall war. Wenn ein solches "spätes Triggerintervall" abgelaufen ist, fragt die Prozeßsteuereinheit 180 die Triggerschaltung 15 ab, um festzustellen, ob ein Trigger schon empfangen wurde. Wenn ein Trigger empfangen wurde, hat es keinen Zweck, eine Erfassung aufzugeben, die in jedem Fall bald beendet wird. Wenn jedoch kein Trigger empfangen wurde und die Prozeßsteuereinheit 180 kein Signal "Trigger empfangen" von der Triggerschaltung 15 als Reaktion auf ihre Abfrage empfängt, "bricht" sie den aktuellen Erfassungsprozeß ab und leitet die Teilergebnisse zur Intensitätsabbildungsschaltung 50 (über die Schaltung 130 zur Korrektur von Nicht-Linearitäten, falls vorhanden) weiter. Typischerweise liegt das späte Triggerintervall in der Größenordnung von 10-mal der Länge der Zeit zwischen aufeinanderfolgenden Erfassungen. Dies ermöglicht, daß langsame Trigger mit einer gleichmäßigen Verteilung in etwa 90% der Zeit erfaßt werden. Diese Lösung erzeugt ein weiteres Problem in Gegenwart von periodischen langsamen Triggern, die in einem Intervall ankommen, das etwa gleich der normalen Erfassungsverzögerung plus dem späten Triggerintervall ist. Um das Verpassen fast aller dieser Trigger zu vermeiden, kann veranlaßt werden, daß das späte Triggerintervall über einen gewissen Zeitraum zufällig variiert, z.B. von 50% bis 150% von 10-mal der normalen Erfassungsratenzahl.
  • Die vorstehend beschriebene Konstruktion mit ihrer tiefen statistischen Datenbank des Erfassungsrasterspeichers 40 mit 21 Bits pro Pixel und dem Rasterisierungsprozeß 30 mit hohem Durchsatz und variabler Intensität, der ihn mit Daten versorgt, macht Artefakte sichtbar, die in Rasterizern des Standes der Technik nicht zu sehen sind. Insbesondere kann eine A/D-Differenz-Nicht-Linearität (A/D-DNL) vom Erfassungsprozeß 10 dazu führen, daß eine horizontale Bandage in der Anzeige 110 sichtbar wird. Wenn Zeitbasisauswahlvorgänge die Verwendung von Äquivalenzzeiteinstellungen erfordern, können sich auch Zeitinterpolator-Nicht-Linearitäten (TINL) in der Anzeige 110 als vertikale Bandage zeigen.
  • Mit Bezug zuerst auf 5 kann die Nicht-Linearitäts-Korrekturschaltung 130 verwendet werden, um die Kompensation dieser Faktoren zu ermöglichen, während sich die Pixelintensitätsdaten vom Erfassungsrasterspeicher 40 zum Intensitätsabbildungsprozeß 50 bewegen. Mit Bezug als nächstes auf 6A und 6B können einzelne Pixelintensitäten nacheinander mit Korrekturkoeffizienten für die A/D-Differenz-Nicht-Linearitäten mit dem Multiplizierer 131 und die Zeitinterpolations-Nicht-Linearitäten mit dem Multiplizierer 132 multipliziert werden, wie in 6A gezeigt, oder die A/D-DNL- und TINL-Korrekturkoeffizienten können zuerst miteinander multipliziert werden 133 und dann können die kombinierten Korrekturkoeffizienten durch den Multiplizierer 134 auf die Pixelintensitäten angewendet werden, wie in 6B gezeigt.
  • Wenn man zu 5 zurückkehrt, werden die Korrekturkoeffizienten zur Schaltung 130 zur Korrektur von Nicht-Linearitäten durch die Korrektur-Nachschlagetabelle 150 geliefert. Da die Korrekturkoeffizienten, sowohl A/D-DNL als auch TINL, beide auf einer pixelweisen Basis variieren können, wird auf die Korrektur-Nachschlagetabelle 150 durch Rasteradressen vom Rasteradressengenerator 45, der in 2 gezeigt ist, zugegriffen (falls erforderlich, mit geeigneter Verzögerung). Wenn die Linearitätskorrektur verwendet wird, stammt das Eingangssignal in die Intensitätsabbildungsschaltung 50 vom Ausgang des Multiplizierers 132 von 6A oder von jenem des Multiplizierers 134 von 6B, von welchen das eine oder das andere als Nicht-Linearitäts-Korrekturblock in 5 gezeigt ist.
  • Die für die Korrektur-Nachschlagetabelle 150 erforderlichen Korrekturkoeffizienten können im Werk oder durch eine eingebaute Instrumentenkalibrierungssoftware festgelegt werden. Wenn die DNL und TINL mit dem Instrumentenalter und der Instrumententemperatur stabil sind, dann wäre ein Satz von im Werk festgelegten Werten ausreichend. Ansonsten könnte eine Instrumentensignalweg-Kompensationssoftware die Kalibrierung auf Benutzeraufforderung durchführen, wenn eine verbesserte Genauigkeit erwünscht ist.
  • Das Bestimmen der A/D-DNL-Kompensationskoeffizienten könnte durch Liefern einer idealen Sinuswelle oder irgendeiner anderen bekannten idealen Wellenform zum A/D, Digitalisieren derselben und Ansammeln der Statistik für die Trefferrate für jeden Digitalisierungspegel durchgeführt werden. Die erfaßte Statistik für den Anteil an Zeit, die die Wellenform auf jedem Spannungspegel lag, kann mit einer bekannten Statistik für die ideale Wellenform verglichen werden, um geeignete Korrekturkoeffizienten zu bestimmen, um zu veranlassen, daß die Statistik übereinstimmt.
  • Um die Korrekturkoeffizienten für die Zeitinterpolator-Nicht-Linearität zu bestimmen, sollte ein schneller Trigger, der für das Oszilloskop asynchron ist, zur Triggerschaltung geliefert werden und ein Histogrammprofil der Verteilung der Treffer mit dem gleichmäßigen mittleren Pegel verglichen werden, der von einem idealen vollkommen linearen Zeitinterpolator erwartet werden würde. Wiederum würden geeignete Kompensationsfaktoren die tatsächlichen Daten mit den idealen in Übereinstimmung bringen.
  • Das Durchführen einer linearen Intensitätsansammlung der erfaßten Daten gemäß dem vorstehend beschriebenen Rasterisierungsverfahren bedeutet, daß der allgemeine Pegel von angesammelten Intensitäten zur Anzahl von angesammelten Erfassungen direkt proportional ist. Dieses Raster wird jedes Mal, wenn der Bildschirm aktualisiert wird, periodisch gelöscht oder abklingen lassen.
  • Wenn die Zeit zwischen den Aktualisierungen nicht konstant ist, wie es häufig aufgrund einer anderen Prozessoraktivität, einer anderen Anzeigeaktivität oder von Daten abhängigen Rasterkopierzeiten nicht der Fall sein kann, kann eine feste Skalierung des angesammelten Erfassungsrasterspeicherinhalts zu beobachtbaren, nicht mit dem Signal verbundenen Intensitätsschwankungen führen. Wenn ein exponentielles Abklingen auf den sich ansammelnden Erfassungsrasterspeicherinhalt zwischen Anzeigeaktualisierungen angewendet wird, besteht auch ein anfänglicher vorübergehender Aufbau von Gesamtintensitäten in der Abbildung, bis ein Status quo erreicht ist. Diese Effekte sind alle ungewollte Artefakte, deren Beseitigung erwünscht wäre.
  • Obwohl eine lineare Ansammlung von Erfassungen in Intensitätsschwankungen am Rasterizerende des Prozesses am leichtesten zu erzeugen ist, könnte eine optimale Darstellung aus der Perspektive des Benutzers mehr nicht-linear sein. Der Benutzer könnte sich beispielsweise manchmal stark auf die seltensten Ereignisse konzentrieren und könnte daher wollen, daß alle Nicht-Null-Pixel in die hellste Intensität, die die Anzeige erzeugen kann, abgebildet werden. Alternativ könnte ein bestimmter Bereich von Pixeltrefferraten und eine entsprechende angesammelte Intensität bestehen, die der Benutzer auf den vollen Bereich der verfügbaren dynamischen Intensität abbilden wollen würde, um feine Unterschiede in der Frequenz, bei der sie durch erfaßte Daten beeinflußt werden, deutlicher zu unterscheiden.
  • Beide der obigen Sätze von Zielen können mit einer vom Benutzer steuerbaren Intensitätsabbildungsfunktion angegangen werden, die die Steuerung der Verstärkung und des Versatzes der Übertragungskurve ermöglicht. Vom Standpunkt des Benutzers könnten solche Steuerungen jeweils als Kontrast und Helligkeit erscheinen. Das Mittel, durch das die Übertragungsfunktion modifiziert werden kann, wenn sie implementiert wird, wie in 7 nachstehend gezeigt und beschrieben, ist durch Steuern des Betrags eines maximalen Pixelintensitäts-Bezugswerts und Steuern der Größe der fünfzehn Unterbrechungspunktbruchteile, die die Abbildungsfunktion bilden. Jeder der fünfzehn Unterbrechungspunkte wird durch Multiplizieren des entsprechenden Bruchteils mit dem maximalen Pixelintensitäts-Bezugswert bestimmt. Die Bruchteile definieren eine normierte Übertragungsfunktion, die der Benutzer modifizieren kann, während der maximale Pixelintensitätswert eine Skalierung für die erwarteten Datenansammlungen im Erfassungsrasterspeicher bereitstellt.
  • Mit Bezug nun auf 5 & 7 wird der Intensitätsabbildungsprozeß 50 durch Unterbrechungspunktwerte gesteuert. 7 zeigt, wie diese Unterbrechungspunkte in der Intensitätsabbildungsschaltung verwendet werden, um eine Verringerung von Bits pro Pixel in einer gewünschten Weise durchzuführen. Die Zuweisung von 15 Unterbrechungspunktwerten bestimmt die Grenzen der 16 Intensitätspegel, die durch die Abbildung mit 4 Bits pro Pixel erzeugt werden.
  • Die in 7 gezeigte Schaltung arbeitet als Digitalisierer mit fortlaufender Näherung, wenn sie den Bitzählwert der Pixel verringert. Das 21-Bit-Pixelintensitätswort muß jedoch zuerst abgeglichen werden, um jegliche Kennzeichenbits zu beseitigen. Da Kennzeichenbits, falls vorhanden, die höchstwertigen Bits (MSBs) sind und höchstens vier von diesen vorhanden sind, werden die vier MSBs mit einer 4-Bit-Kennzeichenmaske durch UND-Gatter 51 einer UND-Verknüpfung unterzogen. Die Kennzeichenbits/Werte-Tabelle 59 zeigt, wie die Anzahl von vorhandenen Kennzeichenbits, die in der linken Spalte gezeigt sind, durch Bits, die den Hexadezimalwert darstellen, der rechts gezeigt ist, ausgeblendet werden, wodurch 17 bis 21 Bits erzeugt werden, die alle den Eingangspixelintensitätswert darstellen.
  • Der Eingangspixelintensitätswert wird mit dem Unterbrechungspunkt 8 verglichen 52, der einen Wert entsprechend dem MSB der Anzahl von Bits im maskierten Eingangspixelintensitätswert aufweist, d.h. eine Hälfte des maximalen Eingangspixelintensitätswerts. Wenn der Eingangspixelintensitätswert größer ist als der Wert des Unterbrechungspunkts 8, ist das Bit 3 (das MSB) des 4-Bit-Pixelintensitätswerts, auf den abgebildet wird, Eins. Wenn im Gegenteil der Eingangspixelintensitätswert kleiner ist als der Wert des Unterbrechungspunkts 8, ist das Bit 3 (das MSB) des 4-Bit-Pixelintensitätswerts, auf den abgebildet wird, Null. In ähnlicher Weise wird der Eingangspixelintensitätswert entweder mit dem Unterbrechungspunkt 4 oder Unterbrechungspunkt 12 verglichen 54, der 1/4 bzw. 3/4 des Eingangspixelintensitätswertbereichs darstellt, um das Bit 2 des 4-Bit-Pixelintensitätswerts, auf den abgebildet wird, zu bestimmen. Ob der Wert, mit dem verglichen wird, 1/4 oder 3/4 ist, hängt davon ab, welches Ausgangssignal des Multiplexers 53 vom Ergebnis des vorherigen Vergleichs 52 ausgewählt wird.
  • Ebenso wählen die Ergebnisse der ersten zwei Vergleiche 52, 54 aus, mit welchem Ausgangssignal des Multiplexers 55 der Eingangspixelintensitätswert verglichen werden soll 56, wobei der Unterbrechungspunkt 2, 6, 10 oder 14 jeweils 1/8, 3/8, 5/8 oder 7/8 des maximalen Eingangsintensitätswerts darstellt. Das Ergebnis dieses Vergleichs 56 ist das Bit 1 des 4-Bit-Intensitätswerts, auf den abgebildet wird. Dieser Prozeß wird ein zusätzliches Mal wiederholt, wobei das Ausgangssignal des Multiplexers 57 einer der Unterbrechungspunkte 1, 3, 5, 7, 9, 11, 13 oder 15 in Abhängigkeit vom Ergebnis der ersten drei Vergleiche 52, 54, 56 ist und wobei dieses Ausgangssignal mit dem Eingangspixelintensitätswert verglichen wird 58, um den Zustand des Bits 0 zu bestimmen. Das Ausgangssignal dieses Prozesses, der auch als binäre Suche zum Auffinden von Intervallbereichen, in die abgebildet wird, gekennzeichnet werden kann, ist der 4-Bit-Pixelintensitätswert.
  • Obwohl die Eingangspixelintensitätswerte und die Unterbrechungspunkte normalerweise alle ganze Zahlen mit 21 Bits sind, werden, wenn Kennzeichenbits vorhanden sind, die MSBs der Eingangspixelintensitätswerte auf Null gebracht und es wird veranlaßt, daß die Unterbrechungspunkte in einen Bereich eingeschränkt werden. Dies verkleinert alle Unterbrechungspunkte auf einen Bruchteil des hinsichtlich des Werts verringerten maximalen Pixelintensitäts-Bezugswerts.
  • Andere Implementierungen als die vorstehend im einzelnen gezeigte könnten verwendet werden, um die eigentliche Abbildung durchzuführen. Eine Hardware- oder Software-implementierte Nachschlagetabelle oder ein Softwarealgorithmus, der eine binäre Suche oder irgendeine andere Sortierfunktion implementiert, könnte auch verwendet werden, um Eingangspixelintensitätswerte in Ausgangspixelintensitätswerte auf der Basis der Unterbrechungspunkte und Bruchteile, die sie darstellen, umzuwandeln. Der wichtigste Aspekt und reale Wert der Erfindung besteht darin, den Betrag des maximalen Pixelintensitäts-Bezugswerts in verschiedenen Weisen verändern zu können und auch die Unterbrechungspunkte verschiedenartig definieren und dadurch die Übertragungsfunktion zwischen den zwei Pixelintensitätsdarstellungen formen zu können. Die Anzahl von Eingangsbits und Ausgangsbits kann verändert werden, solange die Anzahl von Ausgangsbits kleiner ist als die Anzahl von Eingangsbits. Die Anzahl N von möglichen Ausgangsintensitätswerten könnte eine andere als eine Potenz von Zwei sein. Die Anzahl von Bruchteilen und Unterbrechungspunkten, die verwendet werden, um die Übertragung zu implementieren, könnte geringer als N-1 sein, wodurch die Symmetrie der Abbildungsfunktion verändert wird und teilweise zusammenbricht.
  • Es gibt auch eine Anzahl von interessanten möglichen Weisen, um den maximalen Pixelbezugswert festzulegen, zusätzlich zum einfachen Bestimmen des maximalen Pixelintensitätswerts, der durch die größere Anzahl von Eingangsbits dargestellt werden kann. Der Bedienperson könnte ermöglicht werden, den maximalen Pixelintensitäts-Bezugswert durch die Verwendung einer "Helligkeits"-Steuerung festzulegen. Die tatsächlich implementierte Alternative ermöglicht der Bedienperson, zwischen einer Betriebsart "automatische Helligkeit EIN" und einer Betriebsart "automatische Helligkeit AUS" auszuwählen. In der Betriebsart automatische Helligkeit EIN kann der maximale Pixelbezugswert zu einer Funktion des tatsächlichen Intensitätswerts des größten Eingangspixelintensitätswerts gemacht werden, wie durch eine Hardware oder Software irgendwo im Datenweg gemessen. In der Betriebsart automatische Helligkeit AUS kann der maximale Pixelbezugswert im Gegenteil zu einer Funktion einer Menge an Zeit gemacht werden, in der sich Intensitätsdaten im Erfassungsrasterspeicher 40 angesammelt haben. Obwohl die vorangehende Verwendung des Betriebsartkonzepts der automatischen Helligkeit derzeit das bevorzugte Ausführungsbeispiel zu sein scheint, könnte die EIN-Betriebsart von einem gewissen anderen Faktor als dem tatsächlichen Intensitätswert des größten Eingangspixelintensitätswerts abhängen oder die AUS-Betriebsart könnte von irgendeinem anderen Faktor als der erfaßten Zeit abhängen.
  • Der maximale Pixelintensitäts-Bezugswert kann auch zu einer Funktion des mittleren Pixelintensitätswerts der im Erfassungsrasterspeicher 40 gespeicherten Pixel gemacht werden. Alternativ kann der maximale Pixelintensitäts-Bezugswert auch zu einer Funktion des mittleren von Null verschiedenen Pixelintensitätswerts der im Erfassungsrasterspeicher 40 gespeicherten Pixel gemacht werden.
  • Im Fall von automatischer Helligkeit AUS, wie es ursprünglich vorstehend erörtert ist, ist der verwendete maximale Pixelwert ein theoretischer maximaler Pixelintensitätswert, der zur Menge an Zeit, in der Erfassungen im Bild angesammelt wurden, direkt proportional ist. Diese Option automatische Helligkeit AUS verursacht, daß der Gesamtprozeß ein Artefakt von analogen Oszilloskopen kopiert, nämlich daß die Anzeigeintensität von der Triggerrate des Benutzers abhängt. Unter einigen Umständen übermittelt dies eine zusätzliche Information an den Benutzer, insbesondere eine qualitative Angabe der Signalrate. Unter anderen Umständen kann dieses Verhalten zu beanstanden sein, somit die Alternative von automatischer Helligkeit EIN und der automatischen Skalierung aller Ereignisse auf die tatsächliche volle Intensität. Die Verwendung einer theoretischen maximalen Pixelintensität auf der Basis nur der Zeit, die zur Erfassung verwendet wird, kann zu einem Fehlabgleich des dargestellten Bildes im Vergleich zu einem Bild, das von der Verwendung der Skalierung auf der Basis der tatsächlichen empfangenen maximalen Pixelintensität abgeleitet wird, führen. Wenn eine Menge Trigger zur Verfügung stehen, würde normalerweise erwartet werden, daß das System dasselbe Bild ohne Rücksicht darauf, welche dieser Referenzen verwendet wird, erzeugt. In der Praxis können sie sehr unterschiedlich sein und es ist erwünscht, dem Benutzer zu ermöglichen zu steuern, welche verwendet wird.
  • In Abhängigkeit von der vorliegenden maximalen Anstiegsgeschwindigkeit tritt ein breiter dynamischer Bereich der maximalen Pixelintensität auf. Der maximale Pixelintensitätswert für ein Signal, das auf einem konstanten Spannungspegel bleibt, ist beispielsweise 200-mal so groß wie jener eines Signals, das alle 200 Spannungspegel der Anzeige in der einer Pixelspalte zugehörigen Zeit überspannt. Diese Schwankung des Gesamtintensitätspegels wird viel größer, wenn der dv/dt-Gewichtungsfaktor W angewendet wird. Dieser Gewichtungsfaktor W erzeugt einen anderen Faktor von 31:1 in der Intensitätsdifferenz zwischen Signalen mit maximaler und keiner vertikalen Änderung, was den Gesamtintensitätsdifferenzfaktor zu 6200:1 macht. Ein Verfahren, um diese mit einem Signal verbundene (im Gegensatz zur mit dem Trigger verbundenen) Intensitätsschwankung zu kompensieren, besteht darin, die theoretische maximale Pixelintensität auf Zeitbasis mit einem Effizienzfaktor zu multiplizieren. Dieser Effizienzfaktor basiert auf dem Verhältnis der tatsächlichen maximalen Pixelintensität zur erwarteten theoretischen maximalen Pixelintensität, welche selbst gleich dem Kompressionsfaktor mal dem Erfassungszählwert ist. Insgesamt berechnet das System dann die theoretische maximale Pixelintensität = Erfassungszählwert·Skalierungsfaktor·(tatsächliche maximale Pixelintensität/(Erfassungszeit·Kompressionsfaktor)).
  • Noch eine weitere Alternative für die Berechnung des maximalen Pixelintensitäts-Bezugswerts besteht darin, ihn auf der mittleren von Null verschiedenen Pixelintensität oder der mittleren Pixelintensität, einschließlich Nullpixeln, zu basieren. In einer Implementierung umfaßt die Hardware eine Einrichtung zum Zählen aller von Null verschiedenen Pixel und der Summe aller Pixelintensitäten, was ermöglicht, daß eine dieser Methoden verwendet wird.
  • Mit erneutem Bezug auf 5 wird das Ausgangssignal der Intensitätsabbildung 50 als nächstes durch den Intensitätswandler 120 verarbeitet, wenn, aber nur wenn das Freigabesignal für die Betonung seltener Ereignisse aktiv ist. Dieses Signal wird durch die Bedienpersonensteuerung aktiviert, wenn die Bedienperson seltene Ereignisse betonen und häufigere dämpfen will. Bei der Freigabe modifiziert der Intensitätswandler 120 die Pixelhelligkeit, um seltene Ereignisse zu betonen. In seiner einfachsten Implementierung kann dies das Komplementieren aller von Null verschiedenen Pixelintensitäten bedeuten. Dies macht die am wenigsten hellen Pixel zu den hellsten und die hellsten Pixel zu den dunkelsten.
  • Pixel mit Zwischenhelligkeit werden minimal beeinflußt oder überhaupt nicht beeinflußt. Andere, komplexere Algorithmen könnten unter Verwendung einer Nachschlagetabelle oder von Nachschlagetabellen verwendet werden. Die Erzeugung oder Auswahl seiner Tabelle kann unter der Steuerung des Benutzers stattfinden und könnte Abbildungen umfassen, die dem Benutzer ermöglichen, durch Wählen unter Vorkommenshäufigkeiten entweder mit Intensität oder Farbe hervorzuheben.
  • Obwohl ein bevorzugtes Ausführungsbeispiel der vorliegenden Erfindung gezeigt und beschrieben wurde, ist es für Fachleute ersichtlich, daß viele Änderungen und Modifikationen vorgenommen werden können, ohne von der Erfindung in ihren breiteren Aspekten abzuweichen. Die Ansprüche, die folgen, sollen daher alle solchen Änderungen und Modifikationen abdecken, die von den Patentgesetzen der jeweiligen Länder, in denen dieses Patent erteilt wird, zugelassen sind.

Claims (2)

  1. Verfahren zum Maximieren der Nutzung eines Rasterisierers in einem digitalen Oszilloskop, wobei der Rasterisierer die Funktion des Empfangens von einem oder mehreren Erfassungsdatensätzen durchführt, wobei jeder Erfassungsdatensatz eine Vielzahl von Daten-Adressen-Paaren umfaßt, die das Verhalten der Spannung als Funktion der Zeit eines Eingangssignals anzeigen, wobei der Rasterisierer als sein Ausgangssignal Pixelintensitätsdaten für eine Spalte von Pixeln erzeugt, wobei die Anzahl von Pixeln pro Spalte M ist und die mittlere Zeit, die zum Aktualisieren jedes Pixels in der Spalte erforderlich ist, P ist, wobei das Verfahren die Schritte umfaßt: Berechnen einer Durchsatzrate des Rasterisierers M·P in Zeit/Spalte; Vorbestimmen einer mittleren Zeit zum Empfangen eines einzelnen Daten-Adressen-Paars und auf der Basis des Werts des Datenteils dieses Daten-Adressen-Paars und des Werts des Datenteils eines unmittelbar vorher empfangenen Daten-Adressen-Paars Erzeugen einer Angabe dessen, auf welche Pixel in der Spalte von Pixeln eingewirkt werden soll, D, in Zeit pro Daten-Adressen-Paar; Bestimmen eines geeigneten Kompressionsfaktors C in Daten- Adressen-Paaren pro Erfassungsdatensatz, der sich auf jede Spalte von Pixeln auswirkt; und Auswählen einer Anzahl N von pro Spalte zu verarbeitenden Erfassungen gemäß der Beziehung N = (M·P)/(C·D).
  2. Verfahren zum Maximieren der Nutzung eines Rasterisierers in einem digitalen Oszilloskop, wobei der Rasterisierer die Funktion des Empfangens von einem oder mehreren Erfassungsdatensätzen durchführt, wobei jeder Erfassungsdatensatz eine Vielzahl von Daten-Adressen-Paaren umfaßt, die das Verhalten der Spannung als Funktion der Zeit eines Eingangssignals anzeigen, wobei der Rasterisierer als sein Ausgangssignal Pixelintensitätsdaten für eine Spalte von Pixeln erzeugt, wobei die Anzahl von Pixeln pro Spalte M ist und die mittlere Zeit, die erforderlich ist, um jedes Pixel in der Spalte zu aktualisieren, P ist, wobei eine Eingangsquelle für Erfassungsdatensätze und ein Ausgangsziel für Pixelintensitätsdaten für eine Spalte von Pixeln der gleiche gemeinsam genutzte Speicher ist, wobei das Verfahren die Schritte umfaßt: Berechnen einer Durchsatzrate des Rasterisierers M·P in Spalten/Zeit; Vorbestimmen einer mittleren Zeit zum Empfangen eines einzelnen Daten-Adressen-Paars und auf der Basis des Werts des Datenteils dieses Daten-Adressen-Paars und des Werts des Datenteils eines unmittelbar vorher empfangenen Daten-Adressen-Paars Erzeugen einer Angabe dessen, auf welche Pixel in der Spalte von Pixeln eingewirkt werden soll, D, in Zeit pro Daten-Adressen-Paar; Feststellen der mittleren Zeit A, die erforderlich ist, um auf ein einzelnes Abtastpaar von Erfassungsdaten zuzugreifen; Subtrahieren von A von D, um die Zeit zu finden, die zum Aktualisieren des Erfassungsrasterspeichers zur Verfügung steht; Ermitteln eines geeigneten Kompressionsfaktors C in Daten-Adressen-Paaren pro Erfassungsdatensatz, der sich auf jede Spalte von Pixeln auswirkt; und Auswählen einer Anzahl N von pro Spalte zu verarbeitenden Erfassungen gemäß der Beziehung N = (M·P)/(C·(D-A)).
DE69927869T 1998-04-03 1999-03-24 Optimierung von Kompressions- und Erfassungsaufzeichnungen für einen Digitaloszilloskop mit Aufrasterung mit veränderlicher Intensität Expired - Lifetime DE69927869T2 (de)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
US54799 1993-04-27
US09/054,799 US6278435B1 (en) 1998-04-03 1998-04-03 Compression and acquisition count optimization in a digital oscilloscope variable intensity rasterizer

Publications (2)

Publication Number Publication Date
DE69927869D1 DE69927869D1 (de) 2005-12-01
DE69927869T2 true DE69927869T2 (de) 2006-07-20

Family

ID=21993615

Family Applications (1)

Application Number Title Priority Date Filing Date
DE69927869T Expired - Lifetime DE69927869T2 (de) 1998-04-03 1999-03-24 Optimierung von Kompressions- und Erfassungsaufzeichnungen für einen Digitaloszilloskop mit Aufrasterung mit veränderlicher Intensität

Country Status (6)

Country Link
US (1) US6278435B1 (de)
EP (1) EP0947839B1 (de)
JP (1) JP3640831B2 (de)
KR (1) KR100559352B1 (de)
CN (1) CN1140807C (de)
DE (1) DE69927869T2 (de)

Families Citing this family (16)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6980212B2 (en) * 2001-04-17 2005-12-27 Tektronix, Inc. Method and apparatus for computing thresholds for identification of waveform anomalies
US7154532B2 (en) * 2003-02-07 2006-12-26 Tektronix, Inc. Video field rate persistence
US6768430B1 (en) * 2003-03-19 2004-07-27 Agilent Technologies, Inc. System and method for establishing a subsampling rate for repetitive signals
US20040189636A1 (en) * 2003-03-27 2004-09-30 Azinger Frederick A. Automated storage of unique waveforms presented as an oscilloscope image
US7088276B1 (en) 2004-02-13 2006-08-08 Samplify Systems Llc Enhanced data converters using compression and decompression
US7009533B1 (en) 2004-02-13 2006-03-07 Samplify Systems Llc Adaptive compression and decompression of bandlimited signals
US7071852B1 (en) 2004-02-13 2006-07-04 Samplify Systems Llc Enhanced test and measurement instruments using compression and decompression
US7394410B1 (en) 2004-02-13 2008-07-01 Samplify Systems, Inc. Enhanced data converters using compression and decompression
US7652465B2 (en) * 2006-03-24 2010-01-26 Tektronix, Inc. No dead time data acquisition
US8059129B2 (en) * 2006-03-29 2011-11-15 Tektronix, Inc. Fast rasterizer
US8009889B2 (en) * 2006-06-27 2011-08-30 Affymetrix, Inc. Feature intensity reconstruction of biological probe array
US8102396B2 (en) * 2006-07-17 2012-01-24 Tektronix, Inc. Apparatus and method for improved measurement speed in test and measurement instruments
GB2511073B (en) * 2013-02-22 2017-03-08 Phabrix Ltd Monitoring video waveforms
KR20150096217A (ko) * 2014-02-14 2015-08-24 한국전자통신연구원 디지털 데이터 압축 방법 및 장치
US20160293144A1 (en) * 2015-03-31 2016-10-06 Tektronix, Inc. Intensity information display
US10979729B2 (en) 2016-11-30 2021-04-13 Qualcomm Incorporated Systems and methods for signaling and constraining a high dynamic range (HDR) video system with dynamic metadata

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
FR2381313A2 (fr) * 1975-12-31 1978-09-15 Labo Electronique Physique Enregistrement et visualisation de signaux
US4225940A (en) * 1978-10-02 1980-09-30 Tektronix, Inc. Oscilloscope system for acquiring, processing, and displaying information
US5111191A (en) * 1988-06-23 1992-05-05 Motorola, Inc. Method and apparatus for waveform digitization
US5530454A (en) * 1994-04-13 1996-06-25 Tektronix, Inc. Digital oscilloscope architecture for signal monitoring with enhanced duty cycle
US5550963A (en) * 1994-12-08 1996-08-27 Tektronix, Inc. Graded display of digitally compressed waveforms
JPH10504109A (ja) * 1995-05-23 1998-04-14 フィリップス エレクトロニクス ネムローゼ フェンノートシャップ ラスタディスプレイの画質改善
US5941926A (en) * 1996-04-10 1999-08-24 Snap-On Technologies, Inc. Engine analyzer with cylinder triggering of oscilloscope display having fixed-time sweep

Also Published As

Publication number Publication date
KR19990082904A (ko) 1999-11-25
CN1140807C (zh) 2004-03-03
US6278435B1 (en) 2001-08-21
JP3640831B2 (ja) 2005-04-20
CN1232970A (zh) 1999-10-27
DE69927869D1 (de) 2005-12-01
JPH11326388A (ja) 1999-11-26
EP0947839B1 (de) 2005-10-26
EP0947839A2 (de) 1999-10-06
KR100559352B1 (ko) 2006-03-15
EP0947839A3 (de) 2000-12-27

Similar Documents

Publication Publication Date Title
DE69930890T2 (de) Digitaloszilloskop mit hohem Wellenformdurchsatz, variabler Intensitätsaufrasterung und Graustufen- oder Farbbildschirm
DE69927869T2 (de) Optimierung von Kompressions- und Erfassungsaufzeichnungen für einen Digitaloszilloskop mit Aufrasterung mit veränderlicher Intensität
DE69921889T2 (de) Methode zum Reagieren auf ungewöhnliche Wellenformen
DE69737543T2 (de) Verfahren und Vorrichtung zur Verbesserung zeitabhängiger Bildeinzelheiten auf einer Rasteranzeige
DE69927879T2 (de) Feststellung ungewöhnlicher Wellenformen
DE69926557T2 (de) Reduziertes Vektor Raster
DE69932376T2 (de) Verfahren zur Hervorhebung von Ereignissen in einem digitalen Oszilloskop mit Graustufen- oder Farbbildschirm
EP0947840B1 (de) Reduktion der Bittiefe pro Pixel von einem Raster mit variabler Intensität zu einem Graustufe- oder Farbbildschirm
DE19958662B4 (de) Intensitätssteuerung mit einem einzigen Knopf zur Verwendung in einer digitalen Test- und Meßapparatur
DE4125878A1 (de) Raster-scan-anzeige mit adaptivem nachleuchten
DE69922569T2 (de) Eine Rasterung mit veränderlicher Intensität vornehmendes Digitaloszilloskop mit hoher Aufnahmewahrscheinlichkeit für bei niedriger Triggerrate stattfindende Datenaufnahme
DE69201947T2 (de) Verfahren zur Anzeige einer Wellenform wenigstens eines Eingangssignals und von Attributinformationen auf dem Schirm einer Kathodenstrahlröhre eines Oszilloskops und ein Oszilloskop zur Anwendung des Verfahrens.
JP3548046B2 (ja) デジタル・オシロスコープにおける取込みシステムの取込みシステム非直線性の補正方法
DE102023119232A1 (de) Kontinuierliche erfassung in einem test-und messinstrument

Legal Events

Date Code Title Description
8364 No opposition during term of opposition