DE69124606T2 - Adaptive FIFO-Speichersteuerung - Google Patents
Adaptive FIFO-SpeichersteuerungInfo
- Publication number
- DE69124606T2 DE69124606T2 DE69124606T DE69124606T DE69124606T2 DE 69124606 T2 DE69124606 T2 DE 69124606T2 DE 69124606 T DE69124606 T DE 69124606T DE 69124606 T DE69124606 T DE 69124606T DE 69124606 T2 DE69124606 T2 DE 69124606T2
- Authority
- DE
- Germany
- Prior art keywords
- data
- memory
- written
- logic
- read
- 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 - Fee Related
Links
- 230000015654 memory Effects 0.000 title claims description 32
- 230000003044 adaptive effect Effects 0.000 title description 2
- 230000004044 response Effects 0.000 claims description 18
- 238000010586 diagram Methods 0.000 description 7
- 230000005540 biological transmission Effects 0.000 description 2
- 239000002131 composite material Substances 0.000 description 1
- 239000000284 extract Substances 0.000 description 1
- 230000006870 function Effects 0.000 description 1
- 230000000737 periodic effect Effects 0.000 description 1
- 230000002093 peripheral effect Effects 0.000 description 1
- 230000005236 sound signal Effects 0.000 description 1
Classifications
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F5/00—Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F5/06—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor
- G06F5/10—Methods or arrangements for data conversion without changing the order or content of the data handled for changing the speed of data flow, i.e. speed regularising or timing, e.g. delay lines, FIFO buffers; over- or underrun control therefor having a sequence of storage locations each being individually accessible for both enqueue and dequeue operations, e.g. using random access memory
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F13/00—Interconnection of, or transfer of information or other signals between, memories, input/output devices or central processing units
- G06F13/14—Handling requests for interconnection or transfer
- G06F13/20—Handling requests for interconnection or transfer for access to input/output bus
- G06F13/28—Handling requests for interconnection or transfer for access to input/output bus using burst mode transfer, e.g. direct memory access DMA, cycle steal
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F2205/00—Indexing scheme relating to group G06F5/00; Methods or arrangements for data conversion without changing the order or content of the data handled
- G06F2205/10—Indexing scheme relating to groups G06F5/10 - G06F5/14
- G06F2205/108—Reading or writing the data blockwise, e.g. using an extra end-of-block pointer
Landscapes
- Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- General Physics & Mathematics (AREA)
- Communication Control (AREA)
- Information Transfer Systems (AREA)
Description
- Die vorliegende Erfindung betrifft allgemein FIFO-Speicher und insbesondere eine adaptive FIFO-Speichersteuerung für einen digitalen Videokommunikationskanal.
- Ein FIFO umfaßt typischerweise eine Speicheranordnung in Form eines Stapels adressierfähiger Datenbytes. Die Datenbytes werden in dem Stapel in Adressen geschrieben, die von einem Schreibadressenzähler oder "Zeiger" in Reaktion auf ein Schreibfreigabesignal angegeben werden. Entsprechend werden auch Datenbytes in dem Stapel von Adressen gelesen, die von einem Leseadressenzeiger in Reaktion auf ein Lesefreigabesignal angegeben werden. Die von dem Lese- und Schreibadressen- zeiger angegebenen Adressen werden von Lese- bzw. Schreibtaktsignalen inkrementiert. Die Lese- bzw. die Schreibadressen geben also die Anzahl der in den Stapel geschriebenen und die Anzahl der aus dem Stapel gelesenen Bytes an.
- Weil die Geschwindigkeit, mit der Daten aus dem Stapel gelesen werden, sich von der Geschwindigkeit, mit der Daten in den Stapel geschrieben werden, unterscheiden kann, werden FIFOs als Datenkommunikationskanäle zwischen Datenverarbeitungssystemen mit unterschiedlichen Bandbreiten eingesetzt. FIFOs eignen sich besonders zur Übertragung von Daten an ein Empfangssystem, das die Daten nicht direkt annehmen kann, weil es beispielsweise gerade mit der Bearbeitung soeben empfangender Daten beschäftigt ist. Um die Ausnutzung der verfügbaren Bandbreite des Datenkanals zu maximieren, werden die Daten durch den FIFO vorzugsweise in Blöcken oder Bündeln an das Empfangssystem übertragen. Das bedeutet normalerweise, daß sich zunächst eine bestimmte Datenmenge in dem FIFO ansammelt, bevor dem Empfangssystem gemeldet wird, daß Daten übertragen werden sollen. Das Empfangssystem liest dann die Datenbündel als kontinuierlichen Datenstrom aus dem FIFO aus.
- Der Datenfluß durch den FIFO wird gewöhnlich durch einen FIFO-Controller geregelt. Der FIFO-Controller sendet ein Signal zur Anforderung eines Datentransfers an das Empfangssystem, wenn die Differenz zwischen der Zahl der in den Stapel geschriebenen Datenbits und der Zahl der aus dem Stapel gelesenen Datenbits einen vorher festgelegten Schwellen- oder Bündelwert erreicht. In Antwort auf das Datentransfer-Anforderungssignal liest das Empfangssystem das Datenbündel aus dem FIFO aus.
- EP-A-0 247 317 beschreibt ein FIFO-Speichersystem mit einer Detektorlogik, die Differenzen zwischen der Zahl der in einen FIFO-Speicher geschriebenen Adressen und der Zahl der aus einem FIFO-Speicher gelesenen Adressen erkennt, und eine Komparatorlogik zur Erzeugung eines Signals, mit dem ein Datentransfer angefordert wird, wenn die genannte Differenz einen variablen Schwellenwert erreicht beziehungsweise überschreitet. Ein ähnliches System wird in der U.S. Patentschrift 4,942,553 beschrieben.
- Der hier beschriebene FIFO-Speicher eignet sich zur Übertragung von Bündeln eines ununterbrochenen Datenstroms, beispielsweise digitalisierte Abtastwerte eines Audiosignals. Einige Datenströme, beispielsweise digitalisierte Abtastwerte von Videosignalen, können jedoch durch periodische Synchronisations-Codes interpunktiert werden. Die einem digitalisierten Videosignal zugeordneten Synchronisations-Codes trennen die Daten der aufeinanderfolgenden Bildzeilen eines digitalisierten Videobildes und die Daten der aufeinanderfolgender Einzelbilder. Wenn die Anzahl der Abtastwerte jeder Bildzeile nicht durch den Bündelwert teilbar ist, kann es sein, daß Daten, die das Ende einer Videozeile darstellen, in dem FIFO- Speicher zurückgeblieben sind, wenn die Daten für die nächste Bildzeile in den FIFO-Speicher geschrieben werden. Dies kann zu einem Überschreiben der zurückgebliebenen Daten führen. Das Empfangssystem kann daher möglicherweise den Rand des Bildes nicht wiedergeben. Es ist deswegen wünschenswert, sicherzustellen, daß der FIFO-Speicher zwischen den Übertragungen aufeinanderfolgender Bildzeilen freigemacht wird. Gewöhnlich erreichte man dies dadurch, daß ein Datentransfer angefordert wurde, wenn sich mindestens einige Daten in dem Stapel befanden, anstatt zu warten, bis sich genügend Daten für einen Bündeltransfer angesammelt hatten. Dies steht jedoch einer Maximierung der Bandbreiten-Ausnutzung des Datenkanals entgegen.
- Gemäß der vorliegenden Erfindung wird jetzt ein Controller für einen FIFO-Speicher bereitgestellt, wobei dieser Controller folgendes umfaßt: eine Detektorlogik zur Erkennung von Differenzen zwischen der Zahl der Adressen im Speicher, in die Daten geschrieben werden, und der Zahl der Adressen im Speicher, aus denen Daten gelesen werden; und eine Komparatorlogik zur Erzeugung eines Signals zur Anforderung eines Datentransfers in Antwort darauf, daß die genannte Differenz einem bestimmten Schwellenwert entspricht beziehungsweise diesen überschreitet; dadurch gekennzeichnet, daß der Controller folgendes umfaßt: eine Schwellenauswahllogik, die auf einen Datenstrom reagiert, der abwechselnd einen ersten Teil und einen zweiten längeren Teil hat und in den Speicher geschrieben wird, wobei die Schwellenauswahllogik den Schwellenwert auf einen ersten Wert setzt, wenn der erste Teil geschrieben wird, und den Schwellenwert auf einen zweiten Wert, der größer als der erste Wert ist, setzt, wenn der zweite Teil geschrieben wird; wobei die Schwellenauswahllogik folgendes umfaßt: einen Steuersignalgenerator, der ein einzelnes Steuerbit auf einen ersten Pegel setzt, wenn ein erster Teil des Datenstroms geschrieben wird, und der das Steuerbit auf einen zweiten Pegel setzt, wenn ein genannter zweiter Teil des Datenstroms geschrieben wird; und einen Demultiplexer, der ein erstes Register, in dem der erste Wert gespeichert ist, mit der Komparatorlogik verbindet, wenn das Steuerbit auf den ersten Pegel gesetzt ist, und der ein zweites Register, in dem der zweite Wert gespeichert ist, mit der Komparatorlogik verbindet, wenn das Steuerbit auf den zweiten Pegel gesetzt ist.
- Die vorliegende Erfindung basiert auf der Erkenntnis, daß Daten mit ersten und zweiten Teilen, zum Beispiel ein digitalisiertes Videosignal mit aktiven, voneinander durch Steuerabschnitte getrennten Zeilenabschnitten, hinsichtlich der Ausnutzung der Kommunikationsbandbreite durch einen FIFO-Speicher von einem System zum anderen effizienter übertragen werden können, wenn die beiden Teile als Funktionen unterschiedlicher Schwellenwerte übertragen werden. Die unterschiedlichen Schwellenwerte erleichtern hierbei den Datentransfer mit entsprechend unterschiedlichen Übertragungsraten. Die mit der vorliegenden Erfindung erreichte Verbesserung der Effizienz wird daher insbesondere dann deutlich, wenn der zweite Teil wesentlich länger als der erste Teil ist. Die vorliegende Erfindung ist daher besonders geeignet zur Übertragung digitalisierter Videosignale von einem System zu einem anderen System, weil die aktiven Zeilenteile von Videosignalen im allgemeinen wesentlich länger als die Steuerteile sind.
- Vorzugsweise umfaßt die Schwellenauswahllogik folgende Teile: einen Steuersignalgenerator zur Erzeugung eines binären Steuersignals in Reaktion auf die in den Speicher geschriebenen Daten, wobei der Steuersignalgenerator das Steuersignal auf einen ersten Pegel setzt, wenn der erste Teil geschrieben wird, und das Steuersignal auf einen zweiten Pegel setzt, wenn der zweite Teil geschrieben wird; und einen Demultiplexer, der ein erstes Register, in dem der erste Wert gespeichert ist, mit der Komparatorlogik verbindet, wenn das Steuersignal auf den ersten Pegel gesetzt ist, und der ein zweites Register, in dem der zweite Wert gespeichert ist, mit der Komparatorlogik verbindet, wenn das Steuersignal auf den zweiten Pegel gesetzt ist.
- Weil der erste und der zweite Pegel in Registern gespeichert sind, können sie einfach dadurch verändert werden, daß andere Werte in die Register geladen werden. Hierdurch kann der FIFO-Controller der vorliegenden Erfindung für unterschiedliche Datentypen neu konfiguriert werden. Der EIFO-Controller der vorliegenden Erfindung ist daher besonders geeignet zur Übertragung eines digitalisierten Videosignals von einem Gerät zur Erfassung von Videodaten an einen Bildschirmadapter in einem digitalen Videosystem, in dem ein Bild in eine beliebige Anzahl von Pixel-pro-Zeile-Formaten aufgelöst werden kann.
- In einem besonders bevorzugten Ausführungsbeispiel der vorliegenden Erfindung umfaßt der Steuersignalgenerator folgende Komponenten: ein Zählwerk mit einem Parallelausgang zum Zählen der Adressen im Speicher, in die Daten geschrieben werden; einen ersten mit dem Parallelausgang verbundenen Decodierer zur Erzeugung eines ersten Impulses in Reaktion auf eine erste Ausgangszahl; einen zweiten mit dem Parallelausgang verbundenen Decodierer zur Erzeugung eines zweiten Impulses in Reaktion auf eine zweite Ausgangszahl, wobei die zweite Ausgangszahl größer als die erste ist; und ein bistabiles Latch, das mit dem ersten und dem zweiten Decodierer verbunden ist und das Steuersignal in Reaktion auf den ersten Impuls auf den ersten Pegel und in Reaktion auf den zweiten Impuls auf den zweiten Pegel setzt.
- Bevorzugte Ausführungsbeispiele der vorliegenden Erfindung sollen nun unter Bezugnahme auf die beiliegenden Zeichnungen beschrieben werden; es zeigt:
- Figur 1 ein Blockdiagramm eines digitalen Videoerfassungssystems;
- Figur 2 ein Blockdiagramm eines typischen FIFO;
- Figur 3 ein Blockdiagramm eines herkömmlichen FIFO-Controllers;
- Figur 4 ein Diagramm der Wellenform eines typischen Videosignals;
- Figur 5 ein Blockdiagramm eines FIFO-Controllers der vorliegenden Erfindung;
- Figur 6 ein Steuersignal für den FIFO-Controller der vorliegenden Erfindung;
- Figur 7 ein Blockdiagramm einer logischen Schaltung zur Erzeugung des Steuersignals; und
- Figur 8 ein Blockdiagramm eines anderen FIFO-Controllers der vorliegenden Erfindung.
- Bezugnehmend auf Figur 1; ein digitales Bilderfassungssystem umfaßt beispielsweise eine analoge Bildquelle 10, zum Beispiel eine Farbvideokamera, einen Fernsehempfänger, ein Videoband-Abspielgerät oder ähnliches. Die Bildquelle 10 erzeugt rote (R), grüne (G) und blaue (B) Videosignale. Die Videosignale R, G und B werden abgetastet, digitalisiert und von dem Videoerfassungsgerät 20 verarbeitet, wobei digitalisierte Luminanz- und Chrominanzsignale Y und U/V entstehen. Die digitalisierten Y- und U/V-Signale werden von einem Empfangssystem, beispielsweise einem Bildschirmadapter 30, empfangen, der an die Busarchitektur 50 eines Host-Rechnersystems, beispielsweise ein Personalcomputer, angeschlossen ist. Das Host-Rechnersystem umfaßt eine zentrale Verarbeitungseinheit 60, einen Direktzugriffsspeicher 60, einen Nurlesespeicher 95 und einen Speicher 80 mit großer Speicherkapazität, beispielsweise ein Festplattenlaufwerk, einen Bandstreamer oder ähnliches, die über die Busarchitektur 50 miteinander verbunden sind. Die Busarchitektur 50 kann auch an andere Rechnersysteme in einem lokalen Netz 90 angeschlossen sein. Der Bildschirmadapter hat rote, grüne und blaue analoge Videoeingänge (R', G' und B'), die an eine analoge Bildausgabevorrichtung 40 angeschlossen sind, beispielsweise einen Farbbildschirm, einen Videorecorder oder ähnliches. Sowohl der Bildschirmadapter 30 als auch die Videoerfassungsvorrichtung 20 können sich auf einer einzigen Peripheriekarte befinden, die lösbar mit der Busarchitektur 50 des Rechnersystems verbunden ist.
- Im Betrieb kann die zentrale Verarbeitungseinheit 60, gesteuert durch das Anwenderprogramm des Rechners, das digitalisierte Videobild von der Videoerfassungsvorrichtung 20 als Daten-Datei behandeln, die in dem Direktzugritfsspeicher 70 oder auf der Speichervorrichtung 80 gespeichert werden kann; sie kann auch an andere Rechnersysteme im lokalen Netz 90 weitergegeben werden; oder sie kann von dem Bildschirmadapter 30 adaptiert und auf dem Bildausgabegerät 40 ausgegeben werden. Die digitalisierten Y- und U/V-Signale sind Sequenzen von 1 Byte großen Abtastwerten. Jede Sequenz wird über einen Datenkommunikationskanal 25, der einen FIFO-Speicher und einen FIFO-Controller umfaßt, zum Bildschirmadapter übertragen.
- Bezugnehmend auf Figur 2; ein FIFO, beispielsweise der von Nippon Electric Company produzierte uPD42101, umfaßt zum Beispiel eine Speicheranordnung in Form eines Stapels 100 von m adressierfähigen Datenbytes. Datenbytes werden über einen 1 Byte großen Eingangspuffer 110 parallel in den Stapel eingeschrieben. Ähnlich werden Datenbytes aus dem Stapel 100 parallel über einen 1 Byte großen Ausgangspuffer 120 ausgelesen. Ein Schreibadressenzähler 130 oder "Zeiger" gibt die Speicheradresse an, in die ein in dem Eingangspuffer 110 gespeichertes Byte geschrieben werden soll. Entsprechend wird von einem Leseadressenzeiger 140 die Speicheradresse angegeben, aus der ein Byte in den Ausgangspuffer 120 ausgelesen werden soll.
- Die von den Lese- und Schreibadressenzeigern angegebenen Adressen werden von Lese- bzw. Schreibtaktsignalen, RCLK und WCLK, inkrementiert. Die Lese- bzw. Schreibadressen geben also die Zahl der in den Stapel 100 geschrieben bzw. die Zahl der aus dem Stapel 100 ausgelesenen Bytes an. Ein Datenbyte wird aus dem Eingangspuffer 110 an die Adresse des Stapels 100 geschrieben, auf die der Schreibadressenzeiger 130 in Reaktion auf das Schreibfreigabesignal WE zeigt. Entsprechend wird ein Datenbyte von einer Adresse in dem Stapel 100, auf die der Leseadressenzeiger 140 in Reaktion auf ein Lesefreigabesignal RE zeigt, in den Ausgangspuffer 120 ausgelesen.
- Bezugnehmend auf Figur 3; ein herkömmlicher FIFO-Controller umfaßt typischerweise einen Aufwärts-/Abwärtszähler 200 mit einem Parallelausgang x und ein Register 210 mit einem Parallelausgang n. Die Parallelausgänge x und n sind beide jeweils mit den Signal- und Schwellenwerteingängen eines digitalen Komparators 220 verbunden. WCLK und WE sind mit den Eingängen eines UND-Gatters 230 verbunden. Der Ausgang des UND-Gatters 230 ist mit einem Aufwärtszähl-Takteingang des Zählers 200 verbunden. Entsprechend sind RCLK und RE mit den Eingängen eines UND-Gatters 240 verbunden. Der Ausgang des UND-Gatters 240 ist mit einem Abwärtszähl-Takteingang des Zählers 200 verbunden. Zum Setzen des Schwellenwerts des digitalen Komparators 220 wird ein vorher festgelegter Bündel- Wert in das Register 210 geladen. Der Bündel-Wert n gibt die Zahl der Datenbytes an, die von dem Empfangssystem in Antwort auf jedes Datentransfer-Anforderungssignal aus dem FIFO ausgelesen werden.
- Im Betrieb wird WCLK, wenn WE gesetzt ist, vom UND-Gatter 230 auf den Aufwärtszähl-Takteingang des Zählers 200 durchgeschaltet. Der Zähler zählt also aufwärts, wenn Datenbytes in aufeinanderfolgende Adressen in dem Stapel 100 geschrieben werden.
- Entsprechend wird WCLK, wenn RE gesetzt ist, vom UND-Gatter 240 auf den Abwärtszähl-Takteingang des Zählwerks 200 durchgeschaltet. Der Zähler 200 zählt also abwärts, wenn Datenbytes von aufeinanderfolgenden Adressen in dem Stapel 100 gelesen werden. Der Ausgang x gibt also die Differenz zwischen der Zahl der in den Stapel 100 geschriebenen Bytes und der Zahl der aus dem Stapel 100 gelesenen Bytes an. Wenn der Ausgang x dem Ausgang n (das heißt, dem Bündel-Wert) entspricht oder größer als dieser wird, sendet der Komparator 120 ein Signal zur Anforderung eines Datentransfers an das Empfangssystem.
- Bezugnehmend auf Figur 4; ein typisches zusammengesetztes Farbbildsignal 400 umfaßt einen aktiven Zeilenteil 410 und einen Steuerteil mit einem Farbbündel 420, einem Zeilensynchronisationsimpuls 430, sowie die Randteile 440 und 450.
- Bezugnehmend auf Figur 5; ein bevorzugtes Beispiel eines FIFO-Controllers der vorliegenden Erfindung umfaßt weiter einen Selektor 310 und ein weiteres Register 300. In das Register 300 wird ein Wert "1" geladen. Der Selektor 310 ist eine kombinatorische logische Schaltung, die auf ein binäres Steuersignal 320 reagiert und entweder den im Register 210 gespeicherten Bündel-Wert n oder die in dem Register 300 gespeicherte "1" mit dem Schwelleneingang des Komparators 220 verbindet. Im Betrieb wird das Register 300 mit dem Komparator 220 verbunden, wenn sich das Steuersignal im L-Zustand befindet, und das Register 210 wird mit dem Komparator 220 verbunden, wenn sich das Steuersignal im H-Zustand befindet.
- Bezugnehmend auf Figur 6; das binäre Steuersignal 320 ist während des aktiven Zeilenteils 410 des Videosignals 400 im H-Zustand und während des Steuerteils im L-Zustand. Nochmals verweisend auf Figur 5; während des aktiven Zeilenteils 410 des Videosignals 400 wird also der Schwellenwerteingang auf den vorher festgelegten Bündel-Wert n gesetzt. Der Komparator 220 erzeugt daher immer dann ein Signal zur Anforderung eines Datentransfers, wenn die Differenz zwischen der Zahl der in den FIFO 100 geschriebenen und der Zahl der aus dem FIFO 100 gelesenen Bytes größer als oder gleich n ist. Während des aktiven Zeilenteils 410 des Bildsignals werden also Daten von dem Bildschirmadapter 30 nur in kontinuierlichen Bündeln von jeweils n Bytes ausgelesen. In einem besonders bevorzugten Ausführungsbeispiel der vorliegenden Erfindung wurde n auf 8 gesetzt. n könnte jedoch auch auf einen beliebigen Wert gesetzt werden, der niedriger als die Gesamtzahl der Adressen in dem Stapel sein muß. Während des Steuerteils des Videosignals 400 wird der Schwellenwerteingang des Komparators 220 auf "1" gesetzt. Der Komparator 220 erzeugt daher immer dann ein Signal zur Anforderung eines Datentransfers, wenn die Differenz zwischen der Zahl der in den FIFO 100 geschriebenen Bytes und der Zahl der aus dem FIFO 100 ausgelesenen Bytes, was durch den Zählerausgang x angegeben wird, größer oder gleich "1" ist. Während des Steuerteils des Videosignals liest also der Bildschirmadapter 30 Daten aus dem FIFO 100, wenn es überhaupt eine Differenz zwischen der Zahl der in den FIFO 100 geschriebenen Datenbytes und der Zahl der aus dem FIFO 100 gelesenen Datenbytes gibt. Weil der Schwellenwert am Ende jedes aktiven Teils auf Eins reduziert wird, wenn die Anzahl der Bytes in jedem aktiven Zeilenteil des Videosignals nicht durch den Schwellenwert n teilbar ist, wird der in dem FIFO 100 zurückbleibende Rest von dem Bildschirmadapter 30 gelesen, bevor die Daten für die nächste Bildzeile in den FIFO 100 geschrieben werden. Die dem Rand des Videobildes entsprechenden Daten gehen daher nicht zwischen den Übertragungen aufeinanderfolgender Bildzeilen verloren. Weil der Steuerteil des Bildsignals 400 wesentlich kürzer als der aktive Zeilenteil ist, wird der größte Teil eines von dem Videoerfassungsgerät 20 erfaßten und digitalisierten Videobildes an den Bildschirmadapter 30 in Bündeln übertragen, wodurch die Bandbreitennutzung des Datenkommunikationskanals maximiert wird. Das erfaßte Bild kann in dem Bildschirmadapter reproduziert werden, ohne daß die Bildübertragungsrate von dem Videoerfassungsgerät wesentlich reduziert wird. Mit der vorliegenden Erfindung sind also schnellere Übertragungen unterbrochener Datenströme als bisher möglich.
- Bezugnehmend auf Figur 7; ein Beispiel für eine Schaltung zur Erzeugung des Steuersignals gemäß der vorliegenden Erfindung umfaßt einen Zähler 550 und einen Setzen/Rücksetzen (SR)- Latch 580. Der Zählausgang des Zählers 550 wird mit einem Start-Decodierer 560 und einem Stop-Decodierer 570 verbunden. Die Ausgänge der Start- und Stop-Decodierer sind jeweils mit den Setz- und Rücksetz-Eingängen des SR-Latch 580 verbunden. Im Betrieb zieht ein analoger Video-Decodierer 500 in dem Videoerfassungsgerät 20 ein Zeilensynchronisationssignal 530 aus dem analogen Eingangsvideosignal. Eine phasensynchronisierte Schleife 540 synchronisiert ein Abtast-/Haltesignal 590 zum Anstoßen einer Abtast-/Halteschaltung 510 in dem Videoerfassungsgerät 20 mit dem Zeilensynchronisationssignal 530. Der Ausgang der phasensynchronisierten Schleife dient außerdem zur Erzeugung der Lese- und Schreib-Taktsignale RCLK und WCLK und der Lesefreigabe- und Schreibfreigabesignale RE und WE. Außerdem ist der Ausgang der phasensynchronisierten Schleife mit dem Takteingang des Zählwerks 560 verbunden. Der Start-Decodierer ist so konfiguriert, daß er einen Ausgangsimpuls erzeugt, wenn der Zählerausgang einen ersten vorher festgelegten Wert erreicht. Der Ausgangsimpuls vom Start-Decodierer setzt den Ausgang des SR-Latch 580 und das Steuersignal 320 geht in den H-Zustand über. Der Stop-Decodierer 570 ist so konfiguriert, daß er einen Ausgangsimpuls erzeugt, wenn der Zählerausgang einen zweiten vorher festgelegten Wert erreicht, der größer als der erste vorher festgelegte Wert ist. Der Ausgangsimpuls vom Stop-Decodierer 570 setzt den Ausgang des SR-Latch 580 zurück und das Steuersignal 320 geht in den L-Zustand über. Der erste und der zweite vorher festgesetzte Wert werden ausgewählt und geben einen Impuls in dem Steuersignal, der dieselbe Länge wie der Steuerteil des Eingangsvideosignals hat.
- Bezugnehmend auf Figur 8; in einem weiteren Beispiel der vorliegenden Erfindung sind die Eingänge eines digitalen Subtrahierers 600 mit den Parallelausgängen der Lese- und Schreibzeiger 130 beziehungsweise 140 des FIFO 100 verbunden. Im Betrieb subtrahiert der digitale Subtrahierer die Schreibadresse von der Leseadresse und erzeugt die Differenz x zwischen der Anzahl der in den FIFO geschriebenen und der Anzahl der aus dem FIFO gelesenen Bytes. Gemäß der vorliegenden Erfindung wird die Differenz x von dem Komparator 220 entweder mit dem Schwellenwert n oder mit "1" verglichen, je nach Zustand des Steuersignals 320.
- In den bisher beschriebenen Beispielen der vorliegenden Erfindung kann der Schwellenwerteingang zwischen dem vorher festgelegten Bündel-Wert n und "1" geschaltet werden. In anderen Beispielen der vorliegenden Erfindung könnte der Schwellenwerteingang zwischen zwei verschiedenen Bündel-Werten geschaltet werden, die beide größer als "1" sind. Weiter kann in den bisher beschriebenen Beispielen der vorliegenden Erfindung jede Adresse im FIFO ein Datenbyte speichern. Die vorliegende Erfindung ist jedoch gleichermaßen anwendbar auf FIFOs, in denen jede Adresse mehr oder weniger als 8 Datenbits speichern kann.
- Zwar wurden Beispiele der vorliegenden Erfindung unter Bezugnahme auf ein Farbbild-Erfassungssystem beschrieben; jedoch kann die vorliegende Erfindung gleichermaßen auf Monochrom- Bilderfassungsysteme angewendet werden.
Claims (7)
1. Ein Controller für einen FIFO-Speicher (100), wobei der
Controller folgendes umfaßt: eine Detektorlogik (200)
zum Erkennen von Differenzen zwischen der Anzahl der
Adressen im Speicher (100), in die Daten geschrieben
werden, und der Anzahl der Adressen im Speicher, von
denen Daten gelesen werden; und eine Komparatorlogik (220)
zum Erzeugen eines Signals zur Anforderung eines
Datentransfers, abhängig davon, ob die genannte Differenz
einen bestimmten Schwellenwert überschreitet oder gleich
diesem Schwellenwert ist;
dadurch gekennzeichnet, daß der Controller folgendes
umfaßt:
eine Schwellenauswahllogik (310, 320), die auf einen
Datenstrom reagiert, bei dem abwechselnd ein erster Teil
und ein zweiter längerer Teil in den Speicher (100)
geschrieben werden, wobei die Schwellenauswahllogik den
Schwellenwert auf einen ersten Wert setzt, wenn der
erste Teil geschrieben wird, und auf einen zweiten Wert,
der größer als der erste Wert ist, wenn der zweite Teil
geschrieben wird;
die Schwellenauswahllogik (310, 320) folgendes umfaßt:
einen Steuersignalgenerator, der ein einzelnes Steuerbit
(320) auf einen ersten Pegel setzt, wenn ein erster Teil
des Datenstroms geschrieben wird, und der das Steuerbit
auf einen zweiten Pegel setzt, wenn ein genannter
zweiter Teil des Datenstroms geschrieben wird; und einen
Demultiplexer (310), der das erste Register (210), in dem
der erste Wert gespeichert ist, mit der Komparatorlogik
(220) verbindet, wenn das Steuerbit (320) auf den ersten
Pegel gesetzt wird, und der ein zweites Register (300),
in dem der zweite Wert gespeichert ist, mit der
Komparatorlogik (220) verbindet, wenn das Steuerbit (320) auf
den zweiten Pegel gesetzt wird.
2. Ein Controller nach Anspruch 1, bei dem der
Steuersignalgenerator folgendes umfaßt: ein Zählwerk (550) mit
einem Parallelausgang, der die Adressen im Speicher, in
die Daten geschrieben werden, zählt; einen ersten
Decodierer (560), der an den Parallelausgang angeschlossen
ist, zur Erzeugung eines ersten Impulses in Reaktion auf
eine erste Ausgangszahl; einen zweiten Decodierer (560),
der an den Parallelausgang angeschlossen ist, zur
Erzeugung eines zweiten Impulses in Reaktion auf eine zweite
Ausgangszahl, wobei die zweite Ausgangszahl größer als
die erste ist; und ein bistabiles Latch (580), das mit
dem ersten Decodierer verbunden ist, und das
Steuersignal (320) in Reaktion auf den ersten Impuls auf den
ersten Pegel setzt, und das Steuersignal (320) in Reaktion
auf den zweiten Impuls auf den zweiten Pegel setzt.
3. Ein Controller nach einem jeden vorangehenden Anspruch,
bei dem die Detektorlogik ein Aufwärts-/Abwärtszählwerk
(200) mit einem Parallelausgang umfaßt, einen
Aufwärtszähl-Takteingang zum Inkrementieren des Parallelausgangs
in Reaktion darauf, daß Daten an eine Adresse in dem
Speicher (100) geschrieben werden, und einen
Abwärtszähl-Takteingang zum Dekrementieren des Parallelausgangs
in Reaktion darauf, daß Daten von einer Adresse im
Speicher (100) gelesen werden.
4. Ein Controller nach einem jeden Anspruch 3 vorangehenden
Anspruch, bei dem die Detektorlogik eine Subtrahierlogik
(600) umfaßt, um eine in einem an den Speicher (100)
angeschlossenen Schreibadressenzeiger (130) gespeicherte
Schreibadresse von einer Leseadresse zu subtrahieren,
die in einem an den Speicher (100) angeschlossenen
Leseadressenzeiger (140) gespeichert ist.
5. Ein Controller nach einem jeden vorangehenden Anspruch,
bei dem der erste Schwellenwert Eins ist.
6. Eine FIFO-Speichereinrichtung, die einen FIFO-Speicher
(100) mit einem Controller nach jedem vorangehenden
Anspruch umfaßt.
7. Ein digitales Video-Erfassungssystem, folgendes
umfassend: ein Video-Erfassungsgerät (20), einen
Anzeigeadapter (30) und eine Vorrichtung nach Anspruch 6, die an
das Erfassungsgerät (20) und den Anzeigeadapter (30)
angeschlossen ist.
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
EP91309621A EP0537397B1 (de) | 1991-10-17 | 1991-10-17 | Adaptive FIFO-Speichersteuerung |
Publications (2)
Publication Number | Publication Date |
---|---|
DE69124606D1 DE69124606D1 (de) | 1997-03-20 |
DE69124606T2 true DE69124606T2 (de) | 1997-08-21 |
Family
ID=8208428
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
DE69124606T Expired - Fee Related DE69124606T2 (de) | 1991-10-17 | 1991-10-17 | Adaptive FIFO-Speichersteuerung |
Country Status (4)
Country | Link |
---|---|
US (1) | US5379399A (de) |
EP (1) | EP0537397B1 (de) |
JP (1) | JPH0814983B2 (de) |
DE (1) | DE69124606T2 (de) |
Families Citing this family (17)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US5502833A (en) * | 1994-03-30 | 1996-03-26 | International Business Machines Corporation | System and method for management of a predictive split cache for supporting FIFO queues |
US5768626A (en) * | 1994-06-24 | 1998-06-16 | Intel Corporation | Method and apparatus for servicing a plurality of FIFO's in a capture gate array |
JP3693367B2 (ja) * | 1994-07-28 | 2005-09-07 | 富士通株式会社 | 積和演算器 |
US5771356A (en) * | 1995-01-04 | 1998-06-23 | Cirrus Logic, Inc. | Apparatus for controlling FIFO buffer data transfer by monitoring bus status and FIFO buffer thresholds |
US5900886A (en) * | 1995-05-26 | 1999-05-04 | National Semiconductor Corporation | Display controller capable of accessing an external memory for gray scale modulation data |
US5696940A (en) * | 1995-09-29 | 1997-12-09 | Intel Corporation | Apparatus and method for sharing first-in first-out memory space between two streams of data |
US5717954A (en) * | 1995-10-13 | 1998-02-10 | Compaq Computer Corporation | Locked exchange FIFO |
US5767862A (en) * | 1996-03-15 | 1998-06-16 | Rendition, Inc. | Method and apparatus for self-throttling video FIFO |
US5931904A (en) * | 1996-10-11 | 1999-08-03 | At&T Corp. | Method for reducing the delay between the time a data page is requested and the time the data page is displayed |
US5982397A (en) * | 1997-11-14 | 1999-11-09 | Philips Electronics North America Corporation | Video graphics controller having locked and unlocked modes of operation |
JP3815948B2 (ja) * | 2000-04-20 | 2006-08-30 | シャープ株式会社 | Fifoメモリ制御回路 |
US6658525B1 (en) * | 2000-09-28 | 2003-12-02 | International Business Machines Corporation | Concurrent access of an unsegmented buffer by writers and readers of the buffer |
US7072998B2 (en) * | 2003-05-13 | 2006-07-04 | Via Technologies, Inc. | Method and system for optimized FIFO full conduction control |
US20070104187A1 (en) * | 2005-11-10 | 2007-05-10 | Broadcom Corporation | Cache-based free address pool |
US7822885B2 (en) * | 2007-10-16 | 2010-10-26 | Applied Micro Circuits Corporation | Channel-less multithreaded DMA controller |
EP2798460A4 (de) * | 2011-12-28 | 2016-05-11 | Intel Corp | Videokodierung in videoanalysen |
CN112817889B (zh) * | 2019-11-15 | 2024-06-21 | 合肥美亚光电技术股份有限公司 | 一种数据的采集方法及系统 |
Family Cites Families (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US4507760A (en) * | 1982-08-13 | 1985-03-26 | At&T Bell Laboratories | First-in, first-out (FIFO) memory configuration for queue storage |
US4862419A (en) * | 1983-11-10 | 1989-08-29 | Advanced Micro Devices, Inc. | High speed pointer based first-in-first-out memory |
US4864543A (en) * | 1987-04-30 | 1989-09-05 | Texas Instruments Incorporated | First-in, first-out memory with counter address pointers for generating multiple memory status flags |
US4694426A (en) * | 1985-12-20 | 1987-09-15 | Ncr Corporation | Asynchronous FIFO status circuit |
JPS62242234A (ja) * | 1986-04-14 | 1987-10-22 | Oki Electric Ind Co Ltd | バツフア制御方式 |
US4860193A (en) * | 1986-05-22 | 1989-08-22 | International Business Machines Corporation | System for efficiently transferring data between a high speed channel and a low speed I/O device |
US4833651A (en) * | 1986-07-24 | 1989-05-23 | National Semiconductor Corporation | High-speed, asynchronous, No-Fall-Through, first-in-first out memory with high data integrity |
US4891788A (en) * | 1988-05-09 | 1990-01-02 | Kreifels Gerard A | FIFO with almost full/almost empty flag |
US4942553A (en) * | 1988-05-12 | 1990-07-17 | Zilog, Inc. | System for providing notification of impending FIFO overruns and underruns |
US4888739A (en) * | 1988-06-15 | 1989-12-19 | Cypress Semiconductor Corporation | First-in first-out buffer memory with improved status flags |
US5121480A (en) * | 1988-07-18 | 1992-06-09 | Western Digital Corporation | Data recording system buffer management and multiple host interface control |
US4888741A (en) * | 1988-12-27 | 1989-12-19 | Harris Corporation | Memory with cache register interface structure |
US4969164A (en) * | 1989-04-27 | 1990-11-06 | Advanced Micro Devices, Inc. | Programmable threshold detection logic for a digital storage buffer |
-
1991
- 1991-10-17 EP EP91309621A patent/EP0537397B1/de not_active Expired - Lifetime
- 1991-10-17 DE DE69124606T patent/DE69124606T2/de not_active Expired - Fee Related
-
1992
- 1992-05-08 US US07/880,440 patent/US5379399A/en not_active Expired - Fee Related
- 1992-07-22 JP JP4195113A patent/JPH0814983B2/ja not_active Expired - Lifetime
Also Published As
Publication number | Publication date |
---|---|
JPH05258556A (ja) | 1993-10-08 |
EP0537397B1 (de) | 1997-02-05 |
DE69124606D1 (de) | 1997-03-20 |
EP0537397A1 (de) | 1993-04-21 |
US5379399A (en) | 1995-01-03 |
JPH0814983B2 (ja) | 1996-02-14 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
DE69124606T2 (de) | Adaptive FIFO-Speichersteuerung | |
DE2703579C2 (de) | Anordnung zur Verarbeitung von Videosignalen | |
DE69632664T2 (de) | Dekodierung von Informationsseiten, die Titelinformation und Seitendaten umfassen | |
DE3837069C2 (de) | ||
DE3443630C2 (de) | Decoder für teletextähnliche Signale | |
DE69730656T2 (de) | Medienserver in dem ein SCSI-Bus eingesetzt wird und in dem eine SCSI-logische Einheit zur Differenzierung zwischen Transfer/Modi benutzt wird | |
DE68909425T2 (de) | Videoprozessorsystem sowie Abbildungssystem und Bildspeichersystem mit einem derartigen Videoprozessorsystem. | |
DE69421436T2 (de) | Informationsvermittlungsanlage mit variabler Vermittlungsgeschwindigkeit | |
DE69319475T2 (de) | Rechneranzeige für Videosignale | |
DE3420919C2 (de) | Bildverarbeitungssystem | |
DE69614495T2 (de) | Demultiplexeinrichtung für ein digitales Fernsehsystem | |
DE69630085T2 (de) | Bildaufnahmesystem und Signalverarbeitungsgerät von aufgenommenen Bildern | |
EP0224302B1 (de) | Schaltungsanordnung zum Erhöhen der Schärfe von Farbkanten | |
DE3785088T2 (de) | Fernsehbildwiedergabevorrichtung. | |
DE69217404T2 (de) | Synchroner Dekodierer für selbsttaktierende Signale | |
DE68917984T2 (de) | Fernsehsende- und Empfangssystem mit hoher Auflösung und verminderter Datenrate. | |
DE2500649A1 (de) | Anordnung zum korrigieren der zeitbasisfehler eines videosignales | |
DE69223543T2 (de) | Bildspeichervorrichtung | |
DE69229167T2 (de) | Anordnung zur Zugriffssteuerung | |
DE1956843A1 (de) | Redundanzverringerungssystem | |
DE69730658T2 (de) | Medienserver und Verfahren zur Unterlaufvermeidung eines Fifo-Servers während der Mehrkanalsanlaufphase | |
DE69423389T2 (de) | Vorrichtung zur Übertragung oder Aufzeichnung von digitalen Fernsehbildern, und Vorrichtung zum Empfang derselben | |
DE3234178C2 (de) | ||
DE2826450A1 (de) | Verfahren zum steuern der uebertragung digitaler signale | |
DE69221923T2 (de) | Gemeinsamer Zwischenformat-Umwandler mit verringerter Multipliziereranzahl |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
8364 | No opposition during term of opposition | ||
8339 | Ceased/non-payment of the annual fee |