DE3851516T2 - Datenverdichtungstechnik für rekonfigurierbare Fernsteuervorrichtung. - Google Patents

Datenverdichtungstechnik für rekonfigurierbare Fernsteuervorrichtung.

Info

Publication number
DE3851516T2
DE3851516T2 DE3851516T DE3851516T DE3851516T2 DE 3851516 T2 DE3851516 T2 DE 3851516T2 DE 3851516 T DE3851516 T DE 3851516T DE 3851516 T DE3851516 T DE 3851516T DE 3851516 T2 DE3851516 T2 DE 3851516T2
Authority
DE
Germany
Prior art keywords
array
code
press
elements
microprocessor
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
Application number
DE3851516T
Other languages
English (en)
Other versions
DE3851516D1 (de
Inventor
Bobby Joe Smith
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.)
Philips North America LLC
Original Assignee
Philips Electronics North America Corp
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 Philips Electronics North America Corp filed Critical Philips Electronics North America Corp
Application granted granted Critical
Publication of DE3851516D1 publication Critical patent/DE3851516D1/de
Publication of DE3851516T2 publication Critical patent/DE3851516T2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04QSELECTING
    • H04Q9/00Arrangements in telecontrol or telemetry systems for selectively calling a substation from a main station, in which substation desired apparatus is selected for applying a control signal thereto or for obtaining measured values therefrom
    • GPHYSICS
    • G08SIGNALLING
    • G08CTRANSMISSION SYSTEMS FOR MEASURED VALUES, CONTROL OR SIMILAR SIGNALS
    • G08C19/00Electric signal transmission systems
    • G08C19/16Electric signal transmission systems in which transmission is by pulses
    • G08C19/28Electric signal transmission systems in which transmission is by pulses using pulse code
    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M7/00Conversion of a code where information is represented by a given sequence or number of digits to a code where the same, similar or subset of information is represented by a different sequence or number of digits
    • H03M7/30Compression; Expansion; Suppression of unnecessary data, e.g. redundancy reduction

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Physics & Mathematics (AREA)
  • General Physics & Mathematics (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Selective Calling Equipment (AREA)
  • Details Of Television Systems (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)

Description

    HINTERGRUND DER ERFINDUNG
  • Die Erfindung bezieht sich allgemein auf Datenverdichtungstechniken. Insbesondere bezieht sich die Erfindung auf eine Verdichtungstechnik zur Verdichtung von formatiertem Code, der von einer rekonfigurierbaren Fernsteuervorrichtung erhalten wird, die beliebige Einrichtungen aus einer Vielzahl von Sendeeinrichtungen für Heimelektronikprodukte, wie beispielsweise Fernsehempfänger, Videorecorder und ähnliche Geräte, emulieren kann.
  • Zahlreiche Heimelektronikprodukte, wie beispielsweise Fernsehempfänger, Videorecorder, Video-Disc-Abspielgeräte usw. sind mit mobilen Infrarot-Fernsteuersendeeinrichtungen ausgestattet. Für jedes einzelne Heimelektronikprodukt ist typischerweise eine eigene Fernsteuersendeeinrichtung erforderlich, da die Hardware des Elektronikprodukts so eingerichtet ist, daß sie nur bestimmte Frequenzen und Codes akzeptiert. Obwohl daher die Bequemlichkeit von Fernsteuerungen allgemein anerkannt wird, entsteht durch zahlreiche verschiedene Fernsteuereinheiten oft Verwirrung. Es ist daher wünschenswert, eine einzelne Fernsteuersendeeinrichtung bereitzustellen, um mehrere unterschiedliche Elektronikprodukte zu steuern.
  • Fachleuten auf diesem Gebiet ist bekannt, daß Fernsteuersendeeinrichtungen einen Code für jede bei der Sendeeinrichtung verfügbare Taste bereitstellen. Bei der Bereitstellung einer rekonfigurierbaren Fernsteuersendeeinrichtung, die die Codes einer anderen Sendeeinrichtung aufnehmen kann, muß an der rekonfigurierbaren Fernsteuersendeeinrichtung ausreichende Speicherkapazität für Codedaten bereitgestellt werden. Wegen der Anzahl der Tasten bei jeder einzelnen Sendeeinrichtung und der Anzahl der fernsteuerbaren Heimelektronikprodukte würde der Datenspeicherbedarf ein schwerwiegendes Hindernis darstellen, wenn die Codedaten nicht verdichtet wären. Verdichtungstechniken, mit denen erhaltener Code in wesentlicher Weise verdichtet werden kann, sind daher sehr vorteilhaft.
  • Ein Verfahren zur Verdichtung von Fernsteuersignalen nach dem bisherigen Stand der Technik ist im US-Patent Nr. 4.623.887 für Welles beschrieben. Dieses Verfahren nach dem bisherigen Stand der Technik bestimmt für jedes zu emulierende Signal dessen Bündellängen und Pausenlängen. Alle Signalbündel- und Pausenereignisse sind in Kategorien eingeteilt, wobei jede Kategorie definiert, auf welchen Typ (Signalbündel oder Pause) sie sich bezieht, und einen vorbestimmten Längenbereich darstellt. Eine Folge von so erhaltenen Kategorien bildet das verdichtete Signal. Für die Übertragung werden die Kategorien erweitert, und für jede Kategorie wird eine nominelle Signalbündel- oder Pausenlänge erzeugt.
  • Das Verfahren nach dem bisherigen Stand der Technik erfordert, daß für jedes einzelne zu lernende Modulationsschema eine vorbestimmte Menge geeigneter Kategorien verfügbar ist, wobei jedes unterschiedliche Modulationsschema eine unterschiedliche Menge von Kategorien erfordert. Durch die Übertragung der nominellen Signalbündel- oder Pausenlänge für jede Kategorie kann ferner die übertragene Länge beträchtlich vom aufgenommenen Wert abweichen. Wenn eine ermittelte Lage in der Nähe des unteren oder oberen Grenzwerts eines Bereichs ist, kann das Verfahren auch zu Fehlern bei der Einteilung in Kategorien führen. Das Verfahren nach dem bisherigen Stand der Technik erfordert daher, daß die Signale ein zweites oder sogar ein drittes Mal aufgenommen werden müssen.
  • AUFGABE UND ZUSAMMENFASSUNG DER ERFINDUNG
  • Eine Aufgabe der Erfindung ist die Überwindung der Nachteile des Verfahrens nach dem bisherigen Stand der Technik. Der Erfindung liegt weiter die Aufgabe zugrunde, ein Verfahren bereitzustellen, um von Fernsteuermitteln erhaltene Fernsteuersignale weiter zu verdichten.
  • Gemäß den Aufgaben der Erfindung richtet das Verfahren zur Verdichtung von formatiertem Code unterschiedliche Pausenzeitinformationen als Elemente einer ersten Anordnung ein, wobei jedes Element eine entsprechende Elementnummer hat, und es erzeugt eine zweite Anordnung mit Elementen der zweiten Anordnung aus dem erhaltenen Code und den Nummern der ersten Anordnung, wobei die Elemente der zweiten Anordnung mindestens zwei Halbbytes umfassen (das heißt, Datenblöcke mit einer vorbestimmten Anzahl von Bits) und wobei jedes Halbbyte eine Elementnummer der ersten Anordnung darstellt. Die zweite Anordnung stellt dann den erhaltenen formatierten Code dar.
  • Hierdurch wird erreicht, daß der Code leicht erweitert werden kann, um ein Signal zu regenerieren, das im wesentlichen identisch zu dem erhaltenen Code ist.
  • Eine erneute Aufnahme eines Signals kann entfallen.
  • Bei einer weiteren Ausführungsform der Erfindung bestimmt das Verfahren sämtliche unterschiedlichen Signalbündel- und Pausenlängen, und es richtet die Längen als Elemente einer Anordnung ein, wobei jedes Element eine diesbezügliche Elementnummer hat. Der formatierte Code wird somit nach allen möglichen, zusammen vorgefundenen Paaren aus Signalbündellängen und Pausenlängen abgetastet. Die "Paar"-Informationen sowie die Nummern der Elemente der ersten Anordnung werden dann verwendet, um Elemente in einer dritten Anordnung zu bilden, wobei jedes Element zwei Halbbytes hat. Beide Halbbytes des Elements der dritten Anordnung werden verwendet, um auf eine Nummer eines Elements der ersten Anordnung zu weisen. Schließlich wird die zweite Anordnung erzeugt, die den verdichteten formatierten Code darstellt. Die zweite Anordnung wird ebenfalls mit Elementen gebildet, die zwei Halbbytes haben, die dabei auf die Nummern der Elemente der dritten Anordnung weisen und die den gesamten formatierten Code in geeigneter Weise darstellen.
  • Vorzugsweise wird der formatierte Code weiter verdichtet, indem Wiederholungscodes oder die Wiederholung eines ganzen Tastencodes im formatierten Code erkannt werden. Die Angaben, daß ein ganzer Tastencode oder nur ein bestimmter Wiederholungscode nach dem Abschluß des vollständigen Tastencodes wiederholt werden soll, kann in einer anderen Anordnung gespeichert werden. Die Wiederholungsinformationen brauchen somit nicht in der verdichteten zweiten Anordnung enthalten zu sein.
  • KURZBESCHREIBUNG DER ZEICHNUNG
  • Ausführungsbeispiele der Erfindung und zusätzliche Vorteile und Aufgaben der Erfindung sind für Fachleute auf dem Gebiet unter Bezugnahme auf die ausführliche Beschreibung und die begleitenden Zeichnungen ersichtlich.
  • Fig. 1 ist eine Draufsicht der rekonfigurierbaren Fernsteuervorrichtung gemäß einer bevorzugten Ausführungsform der Erfindung;
  • Fig. 2 umfaßt, wie im Aufteilungsplan wiedergegeben ist, die Fig. 2a-2d, die zusammen ein Blockdiagramm der bevorzugten rekonfigurierbaren Fernsteuervorrichtung bilden;
  • Fig. 3 ist ein Ablaufdiagramm für den Mikroprozessor der rekonfigurierbaren Fernsteuervorrichtung;
  • Fig. 4 ist ein Ablaufdiagramm des in Fig. 3 dargestellten Aufnahmemoduls;
  • Fig. 5a und 5b sind Ablaufdiagramme, die das in Fig. 4 wiedergegebene Trägeraufnahmemodul darstellen;
  • Fig. 6a-6c sind Ablaufdiagramme, die das in Fig. 4 wiedergegebene Trägerfrequenzcode-Aufnahmemodul darstellen;
  • Fig. 7a und 7b sind Ablaufdiagramme, die das in Fig. 4 wiedergegebene Nicht-Trägercode-Aufnahmemodul darstellen; und
  • Fig. 8 zeigt eine Gruppe von Anordnungen, die zum Verständnis der durch die in Fig. 1 wiedergegebene Fernsteuervorrichtung verwendeten Datenverdichtungstechnik zweckmäßig sind.
  • AUSFÜHRLICHE BESCHREIBUNG DER BEVORZUGTEN AUSFÜHRUNGSFORM
  • In Fig. 1 wird eine Ansicht der rekonfigurierbaren Fernsteuervorrichtung 10 aus Sicht des Benutzers gezeigt. Wie im folgenden ausführlich beschrieben wird, erfolgt der Betrieb der Vorrichtung 10 zur Fernsteuerung 35 in zwei Hauptbetriebsarten. Eine erste Betriebsart ermöglicht dem Benutzer die Aufnahme der Codes von fernsteuerbaren Produkten aus deren Fernsteuersendeeinrichtungen. Der Code wird anschließend verdichtet und gespeichert. Eine zweite Betriebsart ermöglicht dem Benutzer die Steuerung und den Betrieb einer Vielzahl von fernsteuerbaren Heimelektronikprodukten, deren Code aufgenommen worden ist (oder der bekannt und im vorgrammierten Speicher verfügbar ist), indem der für das betreffende Produkt gespeicherte Code erweitert und übertragen wird. Wie in Fig. 1 dargestellt ist, enthält die Fernsteuervorrichtung 10 dann eine Benutzertastatur 15 (mit der in Fig. 2 gezeigten dazugehörigen Schaltung), die fünf Gruppen aus Tasten beziehungsweise Drucktasten 20, 30, 40, 50 und 60 hat sowie eine Punktmatrix-Flüssigkristallanzeige 70, um die Durchführung der Aufnahme von Fernsteuercodes der Elektronikprodukte zu unterstützen und um anschließend diese Produkte zu steuern und zu betreiben. Die Tastatur 15 ist vorzugsweise in Form einer Gummifläche mit einer Matrix aus sieben mal acht Elementen ausgebildet. Dabei sind sechsundfünfzig Tasten möglich, von denen in der bevorzugten Ausführungsform nur zweiundfünfzig definiert sind. Eine erste Tastengruppe 20 ist eine Gruppe aus "Softkeys" (variablen Tasten), die durch die Vorrichtung 10 nach Bedarf entsprechend dem im einzelnen verwendeten Softwaremodul definiert werden. Die Punktmatrix-LCD 70 ist darin insofern einbezogen, als die acht Softkeys 20 ihre Bedeutung ändern können, wobei auf der Punktmatrix-LCD 70 ein Softkey-Menü angezeigt wird. Die einzelnen Funktionen der Softkeys werden im folgenden ausführlich beschrieben.
  • Die zweite Tastengruppe 30 wird von Fachleuten auf diesem Gebiet als Gruppe von Tasten für Videorecorder (VCR-Geräte) erkannt. Die acht Tasten, die die Gruppe 30 umfaßt, geben Befehle für den Haupt-Videorecorder oder für einen zweiten Videorecorder aus, falls eine derartige Einheit entsprechend der im folgenden wiedergegebenen Beschreibung als aufzunehmende Einheit gewählt wird. Die zweite Tastengruppe 30 ist unabhängig vom LCD-Menü aktiv.
  • Die dritte Tastengruppe 40 ist eine Gruppe, die für Fernsehempfang und Videorecorderbetrieb sowie für Kabelfernsehen, Audiosysteme usw. üblich ist. Die siebzehn Tasten, die die dritte Gruppe 40 bilden, enthalten die Dezimalzählen 42a-42j sowie Lautstärkesteuerungen 44a und 44b ('lauter' und 'leiser'), Kanalsteuerungen 46a und 46b (vor und zurück), eine Stummsteuerung 47, eine zweite Kanalsteuerung 48 und eine Eingabesteuerung 49. Diese Tasten sind kritische Elemente für die Steuerung der meisten Elektronikprodukte.
  • Die elf Tasten für digitale Merkmale, die die vierte Tastengruppe 50 bilden, werden nur für die Ausgabe von Befehlen für den Haupt-Fernsehempfanger verwendet, und sie sind unabhängig vom LCD-Menü aktiv. Diese Tasten steuern digitale Merkanalsfunktionen, wie beispielsweise Bild-in-Bild (PIP) 51; Standbild 52 des PIP-Bildes; Standbild des Hauptbildes 53 (STILL), Speicherung 54; Abruf 55 des gespeicherten Hauptbildes; Neupositionierung 56 des PIP-Bildes; Vertauschen 57 von Hauptbild und PIP-Bild; Kanalabtastung 58 und Sequentialbild-Strobe 59.
  • Die fünfte Tastengruppe 60 sind schließlich die System- und Ein-/Ausschalttasten zum Ein- und Ausschalten der Einheit und zur Angabe, welches der Produkte betrieben oder aufgenommen werden soll. Die Systemtasten 63-68 ordnen im wesentlichen die Ein-/Ausschalttasten 61-62, die Tastengruppe 40 und die Softkeys 20 zu. Die Ein-/Ausschalttasten umfassen eine Einschalttaste 61 und eine Ausschalttaste 62. Die System-TV-Taste 63 ist für den Betrieb des Haupt-Fernsehempfangers reserviert. Entsprechend ist die VCR-Taste 64 für den Betrieb oder die Aufnahme des Haupt- Videorecorders reserviert. Die CBL-Taste 65 ist weiter für ein Kabelsystem reserviert, während die Taste 66 für ein Audiosystem reserviert ist. Das Audiosystem kann entsprechend der im folgenden beschriebenen Auswahl mittels Bedienerführung ein entfernt angeordneter Verstärker sein oder ein Tuner, ein Compact-Disc-Abspielgerät oder ein Bandabspielgerät. Die Zusatztasten 67 und 68 stehen nach Wahl des Benutzers für Zusatzsysteme, wie beispielsweise einen zweiten Fernsehempfanger, einen zweiten Videorecorder, ein zweites Kabelsystem, ein Video-Disc-Gerät oder einen Satellitenempfanger zur Verfügung. Fachleute auf diesem Gebiet werden erkennen, daß weitere Produkte bei Bedarf über die Zusatztasten 67 und 68 programmiert werden können. So können für weitere Systeme über die sechs gemäß der gezeigten Ausführungsform möglichen Tasten noch weitere Tasten bereitgestellt werden, sofern natürlich eine ausreichende Speicherkapazität für die Speicherung der erhaltenen Informationen vorhanden ist.
  • Wie in Fig. 2 angegeben ist, enthält die Vorrichtung 10 erheblich mehr als eine einfache Tastatur ("anwenderseitige Auswahlmittel") 15 und eine LCD-Anzeige 70. Die Vorrichtung 10 enthält vorzugsweise auch einen Infrarotempfanger ("Empfangs mittel") 110, eine Aufnahmelogik 120, einen 8-kB-mal-8-RAM-Speicher 130 und einen 16-kB-mal-8-ROM-Speicher 140 (beide bilden die "Speichermittel"), eine Bankauswahl- und Adreßdecodierlogik 150, eine Aufnahme-/Betriebsauswahllogik 160, eine Einschaltrücksetzschaltung 170, eine Tastatur-Interrupt-Logik 180, eine Reaktivierungslogik 190, einen Mikroprozessor 200, ein Stromversorgungs- und Taktteil 210 und einen Infrarotsender ("Sendemittel") 220.
  • Vor der ausführlichen Besprechung der Schaltung der Vorrichtung 10 ist bereits ersichtlich, daß die bereitgestellte Schaltung unterschiedliche Funktionen ausführt. Eine erste Funktion ist die Bestimmung, ob die von einer (nicht dargestellten) zu emulierenden Fernsteuersendeeinrichtung übertragenen Signale durch Pausen voneinander getrennte Impulse umfassen oder ob die Signale durch Pausen voneinander getrennte Impulsbündel mit einer Trägerfrequenz umfassen. Zu diesem Zweck wirken "Unterscheidungsmittel", die die Aufnahmelogik 120, den Mikroprozessor 200 und die Taktmittel des Stromversorgungs- und Taktteils 210 umfassen, in der im folgenden beschriebenen Weise zusammen. Falls bestimmt wird, daß die empfangenen Signale zum Protokoll der Nicht-Träger-Art gehören (durch Pausen voneinander getrennte Impulse), ist eine zweite Funktion der Schaltung die Bestimmung der Pausenlänge zwischen zwei Einzelimpulsen. Diese Funktion wird durch "Verarbeitungsmittel" ausgeführt, die grundsätzlich den Mikroprozessor 200 und seinen dazugehörigen Taktgebungsteil 210 umfassen. Falls bestimmt wird, daß die empfangenen Signale zum Protokoll der Träger-Art gehören, haben die "Verarbeitungsmittel" (die zusätzlich die Aufnahmelogik 120 umfassen können) die Funktion, die Trägerfrequenz sowie die Taktgebung für die Dauer der Impulsbündel und Pausen zu bestimmen. Auf der Grundlage der Bestimmung der Art des empfangenen Signals sowie der Zeitgebung dieses Signals sind die "Verarbeitungsmittel" weiter so eingerichtet, daß sie eine Funktion ausführen, wobei die Informationen übernommen und zu einem RAM ("Speichermittel") beziehungsweise Speicher gesendet werden. Vor dem Speichern werden die empfangenen Informationen selbstverständlich vorzugsweise reduziert (das heißt verdichtet). Daher werden "Verdichtungsmittel" verwendet, die die Verarbeitungs- und die internen Speicherteile des Mikroprozessors 200 umfassen sowie den dazugehörigen ROM-Speicher 140, der Steuersoftware für den Mikroprozessor enthält, um ein derartiges Verdichtungsschema gemäß einer im folgenden beschriebenen bevorzugten Datenverdichtungstechnik auszuführen. Nachdem die Informationen in verdichtetem Format im RAM gespeichert sind, sind sie für die Auswahl über die Tastatur und für die Erweiterung durch die "Sendesteuermittel", die mindestens den Mikroprozessor umfassen, verfügbar. Der erweiterte Code kann dann zu den Sendemitteln übertragen werden, so daß die Sendemittel den Code gemäß dem jeweils zutreffenden Protokoll an eine entfernt angeordnete Einrichtung, die betrieben werden soll, senden.
  • Hinsichtlich der Vorrichtung 10 sollte ferner beachtet werden, daß die Schaltung weiter eine Bedienerführungsfunktion bereitstellt, um dem Benutzer dabei zu helfen, die Aufnahme-(Programmier)-Sequenz schrittweise zu durchlaufen. Somit sind "Bedienerführungsmittel" bereitgestellt, die grundsätzlich den Mikroprozessor 200 und seinen dazugehörigen ROM 140 umfassen. Die "Bedienerführungsmittel" stellen die Funktionen bereit, die den Benutzer in beschleunigter Weise anweisen, wie der Code einer anderen Fernsteuereinrichtung aufzunehmen ist. Die diesbezügliche Anzeige der von den Bedienerführungsmitteln bereitgestellten Informationen kann über die LCD-Anzeige 70 der Vorrichtung 10 selbst erfolgen. Bei Bedarf können die von den Bedienerführungsmitteln bereitgestellten Informationen jedoch von der Vorrichtung 10 gesteuert zu einem (nicht dargestellten) Fernsehempfanger gesendet und dort angezeigt werden.
  • In Fig. 2 und insbesondere in Fig. 2a ist die Schaltung für die Aufnahme des Steuercodes einer anderen Fernsteuervorrichtung wiedergegeben. Infrarotempfangermittel 110 umfassen eine lichtgesteuerte Diode 112, deren Anode mit einem ersten Eingang des Komparators (Op Amp) 113 verbunden ist und deren Kathode an eine Sechs-Volt-Spannungsquelle angeschlossen ist. Die Anode der Diode 112 ist über den Widerstand 114 auch mit einem anderen Eingang des Komparators 113 verbunden. In der bereitgestellten Anordnung mit den Widerständen 115, 116 und 117 und dem Kondensator 118 erzeugt der Komparator 113 ein digitales Signal (null bis fünf Volt), das dem eingehenden Infrarotsignal folgt. Die Empfangsmittel 110 vergleichen dann die Referenzspannung, mit der ihr Pin 2 beaufschlagt ist, mit der Spannung, mit der Pin 3 beaufschlagt wird. Die Spannung an Pin 3 ändert sich mit dem Stromfluß durch die Diode 112 nach dem Empfang eines Infrarotsignals. Steht zwischen den Pins 3 und 2 eine Differentialspannung an, schaltet der Ausgang des Komparators dementsprechend zwischen "hoch" und "niedrig" um. Der Widerstand 115 wirkt als Abfangelement für den offenen Kollektorausgang des Komparators 113. Die Ausgangsspannung des Infrarotempfängers 110 wird dann entsprechend dem von der Diode 112 empfangenen Signal "hoch", und die Spannung wird durch die Schaltung (digital) dementsprechend skaliert, so daß die Aufnahmelogikschaltung 120 und der Mikroprozessor 200 die zutreffenden Bestimmungen durchführen können.
  • Der Ausgang der Infrarotempfangsmittel 110 wird von der Aufnahmelogikschaltung empfangen, die grundsätzlich einen Vierbitzähler 122 umfaßt sowie einen Achtbitzähler 125, Inverter 126 und 127 und ein UND-Gatter 128. Die Funktion des Vierbitzählers 122 ist primär das Zählen der Ausgangsspannungszyklen der Empfangsmittel 110, und der Vierbitzähler ist über den Inverter 126 an den Ausgang der Empfangsmittel 110 angeschlossen. Die Funktion des Achtbitzählers 124 ist primär das Messen des Zeitraums, in dem die Ausgabe der Empfangsmittel 110 "niedrig" ist, und der Achtbitzahler 124 ist über das UND-Gatter 128 an den Ausgang der Empfangsmittel 110 angeschlossen. Der interne Taktgeber/Zähler des Mikroprozessors 200 wird zusammen mit den Zählern 122 und 124 verwendet, und er ermittelt die Länge des Zeitraums, in dem die Ausgabe der Empfangsmittel 110 "hoch" ist. Der Mikroprozessor 200 ist über das UND-Gatter 128 mit dem Ausgang der Empfangsmittel 110 verbunden und über den Inverter 127 mit dem Zähler 122 und über direkte Leitungen mit dem Achtbitzähler 124.
  • Wie im folgenden ausführlicher beschrieben wird, erfolgt beim Betrieb eine Bestimmung der Signalart, indem die Vorrichtung 10 und die zu emulierende Fernsteuereinrichtung "Kopf an Kopf" angeordnet werden und indem eine Taste der zu emulierenden Fernsteuereinrichtung betätigt wird. Im Aufnahmebetrieb wird die Signalart (zum Beispiel Impulse und Pausen, oder Impulsbündel mit einer Trägerfrequenz) unter Verwendung der Zähler 122 und 124 und des internen Zählers des Mikroprozessors 200 ermittelt. Der Ausgang des UND-Gatters 128 ist "niedrig", wenn von den Empfangsmitteln 110 kein Signal empfangen wird, und daher werden die CCKN- und RCK-Eingänge des Zählers 124 "niedrig", so daß der Zähler aktiviert und heraufgesetzt wird. Bei niedrigem Ausgang des UND-Gatters 128 wird auch der Taktgeber-Pin des Mikroprozessors "niedrig", und er deaktiviert dadurch die Taktgebung des internen Zählers. Beim Empfang einer IR-Wellenform wird der Ausgang der Empfangsmittel 110 "hoch" und bewirkt dadurch, daß der Ausgang 100 des Vierbitzählers 122 "hoch" wird. Da der Eingang D5 des Mikroprozessors 200 den Ausgang 100 des Vierbitzählers 122 überwacht, liest der Mikroprozessor beim Übergang des Ausgangs IQ0 von "niedrig" zu "hoch" den Zählwert des Achtbitzählers 124. Damit der Zählwert des Achtbitzählers 124 gelesen werden kann, ist der Zählwert des Zählers über die ansteigende Flanke des RCK-Eingangs zum Zähler an die Ausgänge QA-QH gelegt.
  • Es ist ersichtlich, daß bei "hoch" und "niedrig" werdender IR-Wellenform, die durch den digitalen Ausgang des Empfängers 110 dargestellt wird, die Taktimpulse des Achtbitzählers 124 und des internen Zählers des Mikroprozessors 200 wechselseitig aktiviert werden. Gleichzeitig zählt der Vierbitzähler 122 bei jedem Abschluß eines Zyklus (das heißt, an steigende Flanke bis ansteigende Flanke) weiter. Bei der bevorzugten Ausführungsform der Erfindung wird der IQ3-Ausgang des Zahlers 122 "hoch", wenn sieben vollständige Zyklen der IR-Wellenform innerhalb von dreihundertfünfzig Mikrosekunden nach dem ersten hohen Signal empfangen werden, und die aufgenommene IR-Wellenform wird als Trägertyp erkannt. Werden dagegen sieben vollständige Zyklen der IR-Wellenform nicht in der zugewiesenen Zeit empfangen, wird die IR-Wellenform als Nicht-Trägertyp (das heißt als Impulstyp) gekennzeichnet. In diesem Fall werden alle Zähler zurückgesetzt.
  • Ist die empfangene Wellenform ein Trägertyp und wird der IQ3-Ausgang des Zahlers 122 "hoch", invertiert der Inverter 127 den IQ3-Ausgang des Zählers 122, und das UND-Gatter 128 wird "niedrig" gehalten. Ist ein Eingang zum UND-Gatter 128 "niedrig", wird der Ausgang des Empfängers 110 nicht mehr zum Achtbitzähler 124 und auch nicht zum internen Zähler des Mikroprozessors durchgeschleust. An dieser Stelle im Zeitablauf wird der abschließende Zählwert des Achtbitzählers 124 an dessen Ausgangs-Pins QA-QH angebunden, während der RCK-Eingang in den Zähler 124 wegen der Gatterverzögerungen des Inverters 126 und des Vierbitzählers 122 rasch gepulst wird.
  • Wie in Fig. 2a angegeben ist, überwacht der Eingang D3 zum Mikroprozessor 200 den Ausgang des Inverters 127. Wenn der Ausgang des Inverters 127 dann "niedrig" ist, wird dem Mikroprozessor 200 mitgeteilt, daß sieben vollständige Zyklen des Eingangssignals empfangen worden sind. Der Mikroprozessor vergleicht dann die Anfangs- und Endwerte (Zählwerte) für den Achtbitzähler 124 und sichert diesen Zählwert, liest den Wert des internen Zählers und sichert diesen Zählwert, und setzt anschließend alle Zähler zurück. Man erkennt, daß der für den Zähler des Mikroprozessors gespeicherte Wert den Zeitbetrag (in Mikrosekunden) darstellt, über den das empfangene Signal "hoch" war, während die Differenz der Werte für den Zähler 124 den Zeitabschnitt darstellt, in dem das Signal "niedrig" war. Durch die Addition der Zeitabschnitte "hoch" und "niedrig" und die Division durch sieben bestimmt der Mikroprozessor die Trägerfrequenz.
  • Vor der Erörterung der Art, in der die Träger-Typ- und Impuls-Typ-Codes aufgenommen werden, soll darauf hingewiesen werden, daß die zuvor beschriebenen Mittel und das Verfahren zur Unterscheidung zwischen den Codetypen auf der Erkenntnis beruhen, daß die Zykluswiederholung für Codes vom Impulstyp nie in weniger als fünfzig Mikrosekunden erfolgt. Bei den Sendeeinrichtungen vom Impulstyp nach dem bisherigen Stand der Technik werden sieben vollständige Zyklen daher nie innerhalb der zugewiesenen dreihundertfünfzig Mikrosekunden ausgeführt. Andererseits werden bei IR-Sendeeinrichtungen vom Trägertyp Impulsbündel mit einer Trägerfrequenz übertragen. Da ein Impulsbündel stets mindestens sieben vollständige Zyklen enthält und da die Zykluszeit nie fünfzig Mikrosekunden erreicht, werden sieben vollständige Zyklen innerhalb der dreihundertfünfzig Mikrosekunden abgeschlossen. Fachleute auf diesem Gebiet werden aber erkennen, daß andere Zeitabschnitte und Zykluszahlschwellwerte verwendet werden könnten, sofern dadurch die Sendeeinrichtungen vom Trägertyp und vom Impulstyp unterschieden werden.
  • Ist einmal die Bestimmung erfolgt, welcher Typ der Sendeeinrichtung emuliert werden soll, kann die Aufnahme des Codes für jede einzelne Taste der Sendeeinrichtung erfolgen. Gemäß der bevorzugten Ausführungsform der Erfindung und wie im folgenden ausführlicher beschrieben wird, sind die Bedienerführungsmittel der Vorrichtung 10 (das heißt der ROM 140 und der Mikroprozessor 70) so eingerichtet, daß bewirkt wird, daß die LCD-Anzeige 70 den Benutzer anweist, die Tasten der zu emulierenden Fernsteuervorrichtung in einer bestimmten Reihenfolge zu betätigen. Wie eingangs beschrieben wurde, werden die IR-Wellen von der lichtgesteuerten Diode 112 empfangen, und ein die Wellen darstellendes digitales Signal erscheint am Ausgang des Empfangers 110. Unabhängig davon, ob der empfangene Code vom Impulstyp oder vom Trägertyp ist, wird der interne Softwarezahler des Mikroprozessors 200 gelöscht, und eine Zählwerttabelle für den Taktgeber wird initialisiert. Entsprechend wird der Vierbitzähler 122 gelöscht, und er bleibt zurückgesetzt, so daß sein Ausgang an IQ3 "niedrig" ist. Bei niedriger IQ3-Ausgabe stellt der Inverter 127 ein hohes Signal zum UND-Gatter 128 bereit. Somit steht am Taktgeber des Mikroprozessors 200 das binäre Äquivalent des vom Empfänger 110 empfangenen Signals an. Falls für den empfangenen Code bestimmt wurde, daß er vom Impulstyp ist, wird der Softwarezähler bei Eingang eines hohen Signals durch die Empfangsmittel 100 heraufgesetzt (das heißt, wenn der Empfänger einen Impuls empfangen hat). Der Softwarezähler wird dann weiter heraufgesetzt, selbst wenn das Signal zum Taktgeber "niedrig" wird, und zwar bis zum Anstehen des nächsten hohen Signals (Impuls) am Taktgeber des Mikroprozessors. Wird dieser zweite Impuls erkannt, wird der Wert des Softwarezählers in der Zählwerttabelle für den Taktgeber gespeichert. Falls die Tabellenkapazität erschöpft ist, wird die Zählwerterfassung abgeschlossen. Ist die Tabellenkapazität nicht erschöpft, wird die Zählwerterfassung fortgesetzt.
  • Mit einer Bestimmung des Zeitraums zwischen zwei Impulsen kann die Wellenform für die betreffende Taste der Sendeeinrichtung vom Impulstyp emuliert werden. Dies geht auf den Umstand zurück, daß Wellenformen vom Impulstyp eine relativ konsistente Impulsbreite haben, die von zehn bis zwanzig Mikrosekunden reicht. Über die Bestimmung des Gesamtzeitraums zwischen dem jeweiligen Beginn der beiden Impulse kann somit die Pausenzeit zwischen den Impulsen bestimmt werden, indem zehn (beziehungsweise bis zu zwanzig) Mikrosekunden von der Gesamtzeit subtrahiert werden. Der Impuls kann dann rekonstruiert werden, indem ein Impuls von zehn (beziehungsweise von bis zu zwanzig) Mikrosekunden ausgegeben wird, gefolgt von der ermittelten Pause.
  • Der Code für eine Taste der Sendeeinrichtung vom Trägertyp kann auf ähnliche Weise wie für die Sendeeinrichtung vom Impulstyp aufgenommen werden. Bei gelöschtem Vierbitzähler 122 und internem Softwarezahler und initiierter Zählwerttabelle für den Taktgeber wird der Softwarezähler heraufgesetzt, wenn der Taktgeber des Mikroprozessors 200 ein hohes Signal empfängt. Der Softwarezähler wird fortwährend heraufgesetzt, solange der Träger an steht. Das Anstehen des Trägers wird über die Überwachung des Signals am Taktgebereingang ermittelt. Falls sich das Signal am Taktgeber in einem kurzen Zeitraum (das heißt, in weniger als fünfzig Mikrosekunden) ändert, wird davon ausgegangen, daß der Träger ansteht. Ist das Taktgebersignal einmal statisch, steht der Träger nicht mehr an, und der Wert des Softwarezählers wird in der Zählwerttabelle für den Taktgeber gespeichert. Der Softwarezähler wird dann auf null gesetzt und fortwährend wieder heraufgesetzt, bis am Taktgeber erneut ein Träger erkannt wird. Falls der Softwarezähler seinen Höchstwert erreicht, wird der Zählwert "Trägerpause" in der Taktgebertabelle gespeichert. Die Zählwerterfassung wird dann wie beschrieben fortgesetzt, bis die Tabellenkapazität erschöpft ist. Es ist ersichtlich, daß über die Taktgebung für die Länge des Trägersignals (Bündellänge) sowie für die Pausenzeit zwischen zwei Signalbündeln alle Betriebsarten des Codes vom Trägertyp rekonstruiert werden können. Der Grund ist, daß die Frequenz wegen einer Bestimmung, die bei der Ermittlung des Signaltyps erfolgt ist, bereits bekannt ist.
  • In Fig. 2b werden weitere Aspekte der Erfindung mit Bezug auf die Hardware verständlich. Wie zuvor angegeben wurde, hat die erfindungsgemaße Vorrichtung zwei Hauptbetriebsarten: eine Aufnahmebetriebsart, bei der die Vorrichtung den Code anderer Fernsteuersysteme aufnimmt, und eine Arbeitsbetriebsart, bei der die Vorrichtung 10 verwendet wird, um Heimelektronikprodukte zu betreiben und zu steuern. (Es sollte beachtet werden, daß es in der Arbeitsbetriebsart eine aktive Betriebsart gibt, in der die benutzerseitige Steuerung erfolgt, sowie eine Wartebetriebsart, bei der Energie gespart wird, wenn über einen vorbestimmten Zeitraum keine Anweisungen empfangen wurden.) Ein manuell steuerbarer Schalter 162 wird somit als Teil der Aufnahme-/Betriebsauswahllogik 160 bereitgestellt, um dem Mikroprozessor 200 mitzuteilen, welche Betriebsart gewünscht wird. Die Betriebsart wird ermittelt, indem der Eingang INT2 zum Mikroprozessor 200 gelesen wird. Während des Lesens von INT2 wird der Pin 10 (Port B7) des Mikroprozessors "hoch" beaufschlagt. Infolgedessen wird Pin 13 des NICHT-UND-Gatters 163 "hoch" und ermöglicht es dadurch, daß die Position des Schalters 162 den Zustand des Ausgangs des NICHT-UND-Gatters 163 diktiert. Ist der Schalter 162 dann in der Aufnahmestellung, wird der Ausgang des NICHT-UND-Gatters 163 "niedrig", und der Inverter 164 liefert eine hohe Eingabe zum Port INT2. Ist der Schalter 162 in der Arbeitsstellung, liefert das NICHT-UND-Gatter 163 ein hohes Signal zum Inverter 164, der wiederum ein niedriges Signal zum INT2-Eingang des Mikroprozessors 200 liefert.
  • Die Aufnahme-/Arbeitslogik 160 stellt auch eine externe Zeitüberschreitungsfunktion bereit. Falls der Schalter 162 aus der Arbeitsbetriebsart in die Aufnahmebetriebsart geschaltet wird, wird die RC-Schaltung mit dem Widerstand 165 und dem Kondensator 166 so eingerichtet, daß eine Zeitüberschreitungsvorgabe von ungefahr zweiundzwanzig Sekunden bereitgestellt wird. Wird während dieses Zeitraums von den Empfangsmitteln 110 kein Signal empfangen, werden die NICHT-UND-Gatter 163 und 164 so eingerichtet, daß ein Interrupt-Signal am Mikroprozessor 200 ansteht (an INT2).
  • Die Einschaltrücksetzschaltung 170 stellt sicher, daß der Mikroprozessor 200 korrekt zurückgesetzt wird, wenn eine Batterie in das Stromversorgungs- und Taktteil 210 (siehe Fig. 2c) eingesetzt wird. Solange eine Batterie eingesetzt ist, ist der Transistor 172 ausgeschaltet, und der NICHT-Rücksetzeingang in den Mikroprozessor ist wegen eines internen Abfangwiderstands "hoch". Wird die Batterie herausgenommen, schaltet sich der Transistor 172 ein, weil der Widerstand 176 die Basis auf "niedrig" setzt, und der Kondensator 174 entlädt fortwährend. Dies gewährleistet für den Fall eines Kontaktprellens während des Einsetzens der Batterie, daß bei jeder Kontaktunterbrechung ein gültiges Rücksetzen erfolgt. Beim abschließenden Einsetzen der Batterie schaltet der Transistor 172 ab, so daß der Kondensator 174 über den internen Widerstand des Eingangs NOT RES aufladen kann. Diese RC-Kombination stellt die korrekte Anstiegszeit bereit, um den Mikroprozessor zurückzusetzen.
  • Die Tastatur-Interrupt-Logik 180 stellt eine weitere Funktion der Vorrichtung 10 bereit. Falls der Mikroprozessor nämlich in der Arbeits-/Wartebetriebsart ist oder falls der Mikroprozessor bestimmte Teile des Aufnahmevorgangs durchführt, wie im folgenden beschrieben wird, verursacht die Betätigung einer Taste der Tastatur 15 das Auftreten eines Interrupts. Der Interrupt tritt auf infolge eines positiven Signals zum ODER-Gatter 182, das mit einer hohen Ausgabe reagiert. Der Inverter 184 invertiert wiederum die hohe Ausgabe des ODER-Gatters, um ein niedriges Signal zum NOT- INTERRUPT-Eingang des Mikroprozessors 200 bereitzustellen. Es ist ersichtlich, daß das positive Signal zum ODER-Gatter 182 durch die Spannungsteiler erzeugt wird, die R4-R10 und R11-R18 (in Fig. 2a) umfassen und die als Abtasteinrichtung der Tastatur 15 wirken. Ist ein Eingang (Pin 12) des NICHT-UND-Gatters in einem niedrigen Zustand, wird der Ausgang des NICHT-UND-Gatters 185 "hoch". Ist der andere Eingang zum NICHT-UND-Gatter 186 (Port A0 des Mikroprozessors) "hoch" gesetzt, wird der Ausgang des NICHT-UND-Gatters 186 "niedrig". Eine geschlossene Taste pulst dabei das ODER-Gatter 182 mit einer Spannung von ungefähr 0,8 V Gleichstrom.
  • Eine zusätzliche Funktion der Reaktivierungslogik 190 mit den NICHT-UND-Gattern 185 und 186 und der dazugehörigen Schaltung ist die Erzeugung eines Interrupts über den NOT-INT-Port des Mikroprozessors 200, wenn der Schalter 162 während der Wartebetriebsart aus der Arbeitsstellung in die Aufnahmestellung bewegt wird. Ist der Schalter 162 in der Arbeitsstellung, ist die Eingabe zum NICHT-UND-Gatter 185 an Pin 12 "niedrig", wodurch der Ausgang des NICHT-UND-Gatters 185 "hoch" gesetzt wird. Ist der Port A0 in einem hohen Zustand und ist auch der Ausgang des NICHT-UND-Gatters 185 "hoch", wird der Ausgang des NICHT-UND-Gatters 186 "niedrig", wodurch ein niedriger Zustand an allen Eingängen des ODER-Gatters 182 erzeugt wird. Das sich ergebende niedrige Signal am Ausgang des ODER-Gatters 182 wird vom Inverter 184 invertiert, der den NOT-INT-Port auf einem hohen Zustand- hält. Der Mikroprozessor 200 erhält somit keinen Interrupt. Befindet sich der Schalter 162 jedoch in der Aufnahmestellung, wird der Kondensator 187 mit einem hohen Signal beaufschlagt. Dieses hohe Signal wird zum Pin-12-Eingang des NICHT-UND-Gatters 185 übermittelt. Da der Pin-13-Eingang zum NICHT-UND-Gatter 185 bereits "hoch" ist, erzeugt der hohe Impuls an Pin 12 einen niedrigen Impuls am Ausgang des NICHT- UND-Gatters 185, der vom NICHT-UND-Gatter 186 invertiert wird. Infolgedessen sind die Eingänge zum ODER-Gatter 182 "hoch". Dadurch daß eine hohe Ausgabe des ODER-Gatters 182 vom Inverter 182 invertiert wird, wird am NOT-INT-Eingang des Mikroprozessors 200 ein niedriges Signal mit sich daraus ergebender Unterbrechung erzeugt.
  • In Fig. 2c sind die Stromversorgungs- und Taktmittel 210 der Vorrichtung 10 dargestellt, die eine Batteriequelle 211 und die dazugehörige Schaltung enthalten, die eine Spannung bereitstellt, die sowohl den Mikroprozessor 200 als auch die übrige Schaltung mit Strom versorgt. Die Stromversorgungs- und Taktmittel 210 umfassen auch einen parallel zu einem Widerstand 213 und zu Kondensatoren 214 und 215 geschalteten Quarz 212, um das gewünschte interne Taktsignal für den Mikroprozessor 200 bereitzustellen. Die Stromversorgungs- und Taktmittel umfassen weiter einen konventionellen Gleichstrom-Gleichstrom-Umsetzer 216 mit dazugehöriger Schaltung, der verwendet wird, um eine konstante Spannung (ungefähr 0,5 V) aufrechtzuerhalten, die erforderlich ist, um ein konsistentes Kontrastverhältnis der LCD-Anzeige 70 aufrechtzuerhalten.
  • In Fig. 2c sind auch die Infrarotausgabemittel 220 wiedergegeben. Bei einem geeigneten Signal vom Mikroprozessor 200 wird der Transistor 221 mit Strom versorgt, wodurch bewirkt wird, daß sich dieser Transistor und der Transistor 222 einschalten. Ist der Transistor 222 eingeschaltet, fließt Strom durch die Leuchtdioden 224 und 226, und Infrarotstrahlen mit korrekter Frequenz und mit korrekter Bündellänge, die durch die gewünschten Pausenzeiten unterbrochen sind, werden ausgegeben, falls eine Welle des Trägertyps emuliert wird. Anderenfalls werden, wenn eine Welle des Impulstyps emuliert wird, Infrarotstrahlen mit einer Impulslänge von zehn bis zwanzig Mikrosekunden emuliert, die durch Pausen mit vorbestimmten Längen beabstandet sind.
  • In Fig. 2d sind der RAM 130 und der ROM 140 sowie die Bankauswahl- und Decodierschaltung 150 zur Adressierung wiedergegeben. Der RAM 130 ist vorzugsweise ein 8-kB-mal-8-RAM, der hauptsächlich zur Speicherung aufgenommener Codeinformationen verwendet wird. Die Batteriesicherung ist über eine Drei-Volt-Lithium- Batterie 131 mit Diodenisolation über die Diode 132 bereitgestellt. Der RAM hat eine anwenderspezifische Speicheraufteilung und ist Teil des Bankauswahlschemas. Der ROM 140 ist vorzugsweise ein 16-kB-mal-8-ROM mit der gesamten Steuersoftware für den Mikrocontroller und dem Text zur Steuerung der LCD-Anzeige 70. Da der Mikroprozessor 200 keinen On-board-ROM hat, sind die unteren 8 kB des ROM-Speichers so aufgeteilt, daß der ROM gewählt wird, falls auf eine Adresse im Bereich 0000H bis IFFFH zugegriffen wird. Die oberen 8 kB des ROM-Speichers sind Teil des Bankauswahlschemas.
  • Es ist ersichtlich, daß der RAM 130, der ROM 140 und die LCD-Anzeige 70 auf einen gemeinsamen Datenbus 145 zugreifen. Die Bankauswahl- und Adreßdecodierlogik 150 erledigt daher die korrekte Auswahl der gewünschten Komponente im System. RAM und LCD sind streng dem Adreßbereich 2000H bis 3FFFH zugeteilt, während der ROM den gesamten Adreßbereich von 0000H bis 3FFFH abdeckt. Unter Verwendung von drei Steuersignaien vom Mikroprozessor 200 und mittels der Inverter 151 und 152, der UND-Gatter 153, 154 und 155 und der NICHT-UND-Gatter 156, 157, 158 und 159 wird die jeweilige Komponente ausgewählt, wie für Fachleute auf diesem Gebiet ersichtlich ist. In Fig. 3 ist ein Ablaufdiagramm der obersten Ebene für den Mikroprozessor 200 der rekonfigurierbaren Fernsteuervorrichtung 10 wiedergegeben. Beim Einlegen einer Batterie bei 300 erfolgt ein Rücksetzen des Mikroprozessors 200 (Kaltstart) an 305, wenn der Rücksetzeingang des Mikroprozessors durch die zuvor erwähnte Rücksetzschaltung 170 aktiviert wird. Da die Rücksetzroutinen für das Verständnis der Erfindung nicht kritisch sind, werden sie hier nicht ausführlich besprochen. Fachleute auf diesem Gebiet können aber nachvollziehen, daß bei einem Kaltstartrücksetzen der Mikroprozessor 200 wie auch die dazugehörige Schaltung (mit Ausnahme des ROM-Speichers 140) mit ihren jeweiligen Anfangswerten initialisiert werden. Nach der Initialisierung ermittelt der Mikroprozessor bei 310, ob sich der Aufnahme-/Betriebsschalter 162 in der Aufnahmestellung befindet. Hat der Benutzer den Schalter in die Aufnahmestellung bewegt, tritt der Mikroprozessor 200 bei 315 in seine Aufnahmebetriebsart ein, die ausführlich mit Bezug auf Fig. 4 beschrieben wird. Wie im folgenden angegeben ist, erfolgt der Abschluß der Aufnahmebetriebsart infolge einer Zeitüberschreitung, die von der Zeitüberschreitungsschaltung 163 und 166 ermittelt wird, oder infolge des Abschlusses der Aufnahmesequenz oder infolge der Bewegung des Schalters 162 in die Arbeitsbetriebsart. Bei Abschluß der Aufnahmebetriebsart tritt der Mikroprozessor bei 320 in ein Zeitüberschreitungs-, Halte- und Aktivierungsmodul ein. Das heißt, daß bei 320 ermittelt wird, ob innerhalb eines weiteren vorbestimmten Zeitraums keine Tasten betätigt worden sind. Wurden keine Tasten betätigt, versetzt der Mikroprozessor 200 die Vorrichtung 10 in eine "Warte"- oder "Halte"-Betriebsart, bei der Batteriestrom gespart wird. Bei aktivierter Wartebetriebsart bewirkt eine Tastenbetätigung, daß die Tastatur-Interrupt-Logik 180 die Warteroutine des Mikroprozessors unterbricht und den Mikroprozessor aktiviert. Wird dagegen der Schalter 162 in die Arbeitsstellung bewegt, bewirkt die Reaktivierungslogik 190 in ähnlicher Weise, daß die Warteroutine des Mikroprozessors 200 unterbrochen wird. In jedem Fall führt der Mikroprozessor bei 325 sein Warmstartinitialisierungsmodul aus, das Variable, Ports und RAM-Positionswerte zurücksetzt.
  • Befindet sich beim Schritt 310 der Schalter 162 in der Arbeitsstellung, wird die Ausgabe der Benutzertastatur bei 330 abgefragt. Zunächst wird bei 335 ermittelt, ob die VCR-Aufzeichnungstaste der Tastengruppe 30 gleichzeitig mit der VCR- oder der CBL-Einschalttaste der Tastengruppe 60 betätigt wurde. Ist dies der Fall, erfolgt bei 340 der Eintritt in das VCR- und Kabelumsetzer-Identifizierungsmodul. Zweck des Moduls ist es, der Vorrichtung 10 zu ermöglichen, ein VCR- oder Kabelsystem zu steuern, und zu diesem Ziel sind die Infrarotcodes verschiedener VCR- und Kabelsysteme im ROM 140 gespeichert. Bei 340 bewirkt der Mikroprozessor 200 daher, daß die LCD-Anzeige 70 folgende Anzeige ausgibt:
  • Zufall
  • Suchen
  • Hierbei wird die obere linke Drucktaste der acht variablen Drucktasten (Softkeys) 20 für "Zufall" verwendet, und die untere linke Drucktaste wird für "Suchen" benutzt. Wird die obere linke Taste betätigt, gibt die LCD-Anzeige die folgende Meldung aus:
  • Zwei Ziffern aus Suchtabelle eingeben
  • Der Benutzer hat dann fünf Minuten Zeit, um die erste Ziffer einzugeben, und weitere zwei Minuten, um die nächste Ziffer eines zweistelligen Codes einzugeben, der dem Markennamen verschiedener Videorecorder oder Kabelsysteme entspricht. Wird eine falsche Taste betätigt, erscheint eine Fehlermeldung auf der LCD-Anzeige, und der Benutzer erhält eine Gelegenheit zur erneuten Eingabe. Wird keine Ziffer eingegeben, verläßt der Mikroprozessor das Identifizierungsmodul 340 und geht zum Zeitüberschreitungs-, Halte- und Aktivierungsmodul 320 über.
  • Wird vom Benutzer statt der oberen linken Taste "Zufall" die untere linke Drucktaste gewählt und gedrückt gehalten, beginnt der Mikroprozessor eine Suchbetriebsart. Der Mikroprozessor 200 bewirkt, daß das Übertragungsteil 220 für jeden Typ eines VCR- oder Kabelsystems, dessen Code im ROM 140 gespeichert ist, bis zu fünf Kanalweiterschaltungsbefehle sendet. Der Benutzer kann dann die "Suchen"-Taste loslassen, wenn das VCR- oder Kabelsystem beginnt, auf die übertragenen Befehle zu reagieren.
  • Falls die VCR-Aufzeichnungstaste und die VCR- beziehungsweise CBL-Einschalttaste nicht gleichzeitig betätigt wurden, ermittelt der Mikroprozessor 200 bei 345, ob eine der Systemtasten 60 betätigt worden ist. Ist dies der Fall, tritt der Mikroprozessor 200 bei 350 in das Systemauswahlmodul ein. Falls eine der Systemtasten 60 betätigt worden ist, erscheint in der LCD-Anzeige 70 das zuletzt benutzte LCD-Softkey- Menü für das betreffende System. Ab diesem Zeitpunkt geben die acht variablen Tasten (Softkeys) 20, die beiden Einschalttasten 61 und 62 und die siebzehn Lautstärke- und Kanalsteuerungstasten 40 Befehle für das ausgewählte System aus. Die gleiche Systemtaste kann erneut betätigt werden, um zu den folgenden LCD-Softkey-Menüs für das betreffende System weiterzugehen. Bei Bedarf kann auch eine andere Systemtaste betätigt werden, um ein anderes System auszuwählen. Wird eine andere Systemtaste betätigt, erscheint das zuletzt benutzte LCD-Softkey-Menü für das neue System, und die Steuerung wird wie oben beschrieben wiederaufgenommen. Nachdem der Mikroprozessor das Systemauswahlmodul schrittweise durchlaufen hat, kehrt der Mikroprozessor bei 320 zum Zeitüberschreitungs-, Halte- und Aktivierungsmodul zurück.
  • Falls bei 345 keine Systemtaste betätigt wurde, ermittelt der Mikroprozessor bei 355, ob zwei vorbestimmte Tasten gleichzeitig betätigt sind, um den Mikroprozessor bei 360 in ein Selbsttestmodul zu bringen. Da auch hier die Einzelheiten des Selbsttestmoduls keine besondere Bedeutung im Sinne der angemeldeten Erfindung haben, werden sie nicht ausführlich besprochen. Wie beim Identifizierungsmodul 340 und dem Systemauswahlmodul 350, kehrt der Mikroprozessor nach Abschluß des Selbsttestmoduls 360 zum Block 320 zurück.
  • Falls die beiden vorbestimmten Tasten, die die Selbsttestsequenz darstellen, nicht bei 355 betätigt wurden, ermittelt der Mikroprozessor bei 365, ob die Aufzeichnungs- und die Wiedergabetaste des Videorecorders gleichzeitig betätigt wurden. Ist dies der Fall, tritt der Mikroprozessor bei 370 in das Zahleneinstellungsmodul für die Aufzeichnungstaste ein. Im Zahleneinstellungsmodul für die Aufzeichnungstaste wird bei Betätigung einer Taste mit Einlesen der Tastatur eine dazugehörige Taste beziehungsweise Indexnummer erzeugt. Diese Indexnummer wird dann verwendet, um zu bestimmen, welche Funktion übertragen werden soll. Da eine doppelte Tastenbetätigung zwei Nummernwerte erzeugt, muß eine vorbestimmte Indexnummer für RECORD (AUFZEICHNUNG) in der Variablen ersetzt werden, die als endgültiger Index zur Verwendung für den Funktionsabruf vorgesehen ist. Beim Verlassen des Aufzeichnungsmoduls werden die bereitgestellten Informationen bei 375 an ein Interpretations- und Übertragungsmodul gesendet, wo der Mikroprozessor ermittelt, welcher Infrarotcode zum entfernt angeordneten Videorecorder gesendet werden muß, und Signale zum Übertragungsteil 220 sendet, so daß der Infrarotcode durch die Leuchtdioden 224 und 226 erzeugt werden kann. Nach der Übertragung des Codes kehrt der Mikroprozessor zum Zeitüberschreitungs-, Halte- und Aktivierungsmodul 320 zurück.
  • Falls die Aufzeichnungs- und die Wiedergabetaste der VCR-Tastengruppe 30 nicht betätigt wurde, ermittelt der Mikroprozessor bei 380, ob die betätigten Tasten gültige Eingaben sind. Falls die erste betätigte Taste eine LCD-Softkey-Taste 20 war, erscheint in der LCD-Anzeige das TV-Menü, und der ausgewählte Fernsehempfängerbefehl wird bei Schritt 375 gesendet. Falls dagegen die erste betätigte Taste eine Taste aus der Tastengruppe 40 ist, bleibt die LCD-Anzeige ausgeschaltet, und die Befehle werden bei Schritt 375 zum Haupt-Fernsehempfänger gesendet. Falls weiter die erste betätigte Taste eine Taste aus der für den Videorecorder vorgesehenen Tastengruppe 30 ist, wird der Befehl bei Schritt 375 zum zuletzt ausgewählten Videorecorder gesendet. Falls bei Schritt 340 kein Videorecorder gekennzeichnet und auch kein Videorecorder im Aufnahmemodul aufgenommen wurde, wird der voreingestellte standardmäßige Systemcode gesendet.
  • Der allgemeine Ablauf des Aufnahmemoduls aus Schritt 315 ist in Fig. 4 wiedergegeben. Nach dem Einstieg in das Aufnahmemodul bei 415 wird der Benutzer demnach bei 417 durch die LCD-Anzeige 70 aufgefordert, über die Betätigung einer der sechs Systemtasten aus der Tastengruppe 60 ein System auszuwählen. Das ausgewählte System wird dann mittels eines Codes aus zwei Buchstaben am äußersten Rand der LCD-Anzeige 70 angezeigt. Bei der Auswahl eines Systems muß die Fernsteuersendeeinrichtung des aufzunehmenden Systems Kopf an Kopf mit der Sendeeinrichtung 220 der Vorrichtung 10 angeordnet werden, um die Aufnahme zu ermöglichen. Anschließend werden alle an die LCD-Anzeige 70 übermittelten Informationen in einer Meldung entsprechend der Angabe in 420 angezeigt, und sie sind auf den Kopf gestellt angeordnet, so daß der Benutzer die Meldungen leicht lesen kann, während er die Tasten des aufzunehmenden Fernsteuersystems betätigt. Die Änderung der LCD-Anzeige kann erfolgen, indem die Übertragung der Informationen vom Mikroprozessor 200 in einer anderen Weise verursacht wird oder, falls die LCD-Anzeige 70 eine damit verbundene intelligente Schaltung hat, indem ein Steuersignal zur LCD-Anzeige gesendet wird, das dann die empfangenen Informationen intern umordnet. Unabhängig davon tritt der Mikroprozessor bei 425 in das Trägeraufnahmemodul ein, wobei die Bestimmung erfolgt, ob der aufzunehmende Fernsteuercode dem Protokoll des Impulstyps oder dem Protokoll des Trägertyps folgt. Falls der aufzunehmende Code dem Protokoll des Trägertyps folgt, wird außerdem im Trägeraufnahmemodul die Trägerfrequenz bestimmt.
  • In den Fig. 5a und 5b sind die Einzelheiten des Ablaufs des Trägeraufnahmemoduls in Schritt 425 wiedergegeben. Beim Einstieg in das Modul bei 525 wird also der RAM 130 initialisiert, und die mit Bezug auf Fig. 2 beschriebenen Zähler werden bei 530 gelöscht. Bei 535 erfolgt die Ermittlung, ob vom Empfänger 110 Infrarotstrahlen empfangen werden. Ist dies nicht der Fall, wartet das System, bis die Strahlen empfangen werden oder bis bei 540 ein Interrupt auftritt wegen einer Zeitüberschreitung, wegen der Betätigung einer Taste der Tastatur oder wegen des Umschaltens des Schalters für die Aufnahme-/Arbeitsbetriebsart. Tritt ein Interrupt auf, wird das Trägeraufnahmemodul entsprechend der im folgenden wiedergegebenen Beschreibung verlassen. Tritt kein Interrupt auf, wird bei Erkennung der IR-Strahlen der Zählwert des Achtbitzählers 124 genommen und bei 540 gesichert. Der Mikroprozessor ermittelt dann bei 545, ob sieben Zyklen erfaßt worden sind. Sind keine sieben Zyklen erfaßt worden, erfolgt bei 550 die Bestimmung, ob dreihundertfünfzig Mikrosekunden verstrichen sind. Ist dies nicht der Fall, kehrt das Programm zu Schritt 545 und weiter zu Schritt 550 zurück, bis entweder sieben Zyklen erfaßt worden sind oder bis die dreihundertfünfzig Mikrosekunden verstrichen sind. Sind sieben Zyklen vor Ablauf dieser Zeit erfaßt, werden die Zählwerte des internen Zählers des Mikroprozessors 200 und der Zahlwert des Achtbitzählers 124 bei 555 gelesen und gespeichert. Anschließend wird entsprechend der oben wiedergegebenen Beschreibung bei 560 die Trägerfrequenz berechnet, und die Subroutine wird bei 570 verlassen. Verstreicht die Zeit dagegen vor der Erfassung von sieben Zyklen, ist der erfaßte Code vom Impulstyp, und bei 565 wird ein Zeitüberschreitungs-Flag gesetzt, um die Erfassung anzuhalten und um die Angabe eines Codes vom Impulstyp zu melden. Bei 570 wird wiederum die Subroutine verlassen.
  • In Fig. 4 kann, wie eingangs angegeben wurde, während des Trägeraufnahmemoduls 425 und anschließend daran das gesamte in Schritt 315 dargestellte Aufnahmemodul auf eine von drei Arten verlassen werden: über eine Zeitüberschreitung, wie bei 430 angegeben; über eine Tastenbetätigung; oder über das Schalten des Schalters 160 in die Arbeitsstellung, wie bei 435 angegeben. Falls weder eine Zeitüberschreitung noch eine Schalteränderung eintritt, ermittelt der Mikroprozessor bei 440, ob eine andere der Systemtasten 60 betätigt worden ist. Ist eine andere Systemtaste gedrückt, wird bei 442 für das neue System, das aufgenommen wird, ein neuer Code aus zwei Buchstaben erzeugt und in der LCD-Anzeige 70 gezeigt. Die Schritte 420, 425, 430 und 435 werden dann wiederholt. Ist bei 440 keine Systemtaste gedrückt, weist der Mikroprozessor dann bei 445 die LCD-Anzeige 70 an anzugeben, weiche Taste beim anderen System gedrückt werden soll, damit deren Code aufgenommen werden kann. In Abhängigkeit vom Typ des Codes (Impuls oder Träger) werden unterschiedliche Algorithmen verwendet, um den Code aufzunehmen. Bei 450 trifft der Mikroprozessor dementsprechend eine Entscheidung auf der Grundlage des Typs des aufgenommenen Codes. Falls der Codetyp ein Code des Trägertyps ist, erfolgt bei 455 der Einstieg in das (ausführlich mit Bezug auf die Fig. 6a-6c beschriebene) Trägercode-Aufnahmemodul. Falls der Code dagegen ein Code des Impulstyps ist, erfolgt bei 460 der Einstieg in das (ausführlich mit Bezug auf die Fig. 7a und 7b beschriebene) Impulscode-Aufnahmemodul.
  • Die Module 455 und 460 können auf eine beliebige von mehreren Weisen verlassen werden. Falls keine Anweisungen durch den Benutzer vom Mikroprozessor empfangen werden, werden die Module bei 465 über eine Zeitüberschreitung verlassen. Falls dagegen der Schalter 162 in die Arbeitsstellung bewegt worden ist, werden die Module bei 470 verlassen. Bei 475 können die Module durch die Betätigung einer Systemtaste 60 verlassen werden. Ist eine derartige Systemtaste gedrückt, kehrt das Mikroprozessorprogramm zum Schritt 442 zurück, in dem die LCD-Anzeige geändert wird.
  • Falls die Module 455 und 460 nicht bei 465, 470 oder 475 verlassen werden, kann der Abschluß der Codeaufnahme, wie bei 480 angegeben, beschleunigt werden, indem die Anzeigemeldungen der Module durchlaufen werden. Da die Vorrichtung 10 den Benutzer schrittweise durch die an der aufzunehmenden Fernsteuerung zu betätigenden Tasten in einer vorbestimmten Reihenfolge führt, wie im folgenden angegeben wird, ist es wünschenswert, dem Benutzer das Durchlaufen der Sequenz in Vorwärts- oder Rückwärtsrichtung zu ermöglichen, um eine Wiederholung zu vermeiden, falls der gleiche Code bereits aufgenommen worden ist. Das Durchlaufen wird über die Verwendung der variablen Tasten (Softkeys) 20 bereitgestellt, die zu diesem Zweck über die LCD-Anzeige während der Codeaufnahmemodule bezeichnet werden. Falls der Benutzer die Anzeigemeldungen dann bis zu einer bestimmten Anzeigemeldung durchläuft, wird die LCD-Anzeige bei 485 angewiesen, die aufzunehmende Taste anzuzeigen. Das Programm kehrt anschließend zu Schritt 445 zurück, wo der Aufnahmeprozeß fortgesetzt wird. Falls der Benutzer die Anzeigemeldungen für eine aufzunehmende Einrichtung bis zu deren Ende durchläuft, bewirkt eine zyklische Adreßfolge, daß die erste Anzeigemeldung erneut erscheint.
  • Falls die Module der Schritte 455 oder 460 nicht bei 465, 470, 475 oder 480 verlassen werden, erfolgt bei 490 eine Bestimmung, ob die Aufnahme des Fernsteuercodes vollständig ist. Falls die Aufnahme vollständig ist (das heißt, daß die letzte Anzeigemeldung der Meldungssequenz abgeschlossen und die letzte Funktion aufgenommen ist), kehrt der Mikroprozessor zum in Fig. 3 wiedergegebenen Schritt 320 zurück. Anderenfalls wird die LCD-Anzeige bei Schritt 485 angewiesen, die Meldungsnummer zu ändern, und das Programm kehrt zu Schritt 445 zurück, in dem die neue aufzunehmende Taste in der LCD-Anzeige angezeigt wird.
  • In Fig. 6a-6c ist ein Ablaufdiagramm des Codeaufnahmealgorithmus für Codes vom Trägertyp wiedergegeben. Der Algorithmus beginnt in 655, wenn bestimmt wird, daß Code für ein System vom Trägertyp aufgenommen werden soll. In 656 wird der RAM 130 initialisiert, und die mit Bezug auf Fig. 2 beschriebenen Zähler werden gelöscht. Bei 658 erfolgt eine Bestimmung, ob vom Empfänger 110 Infrarotstrahlen empfangen werden. Ist dies nicht der Fall, wartet das System, bis die Strahlen empfangen werden oder bis bei 661a ein Interrupt auftritt wegen einer Zeitüberschreitung, wegen der Betätigung einer Taste der Tastatur oder wegen des Umschaltens des Schalters für die Aufnahme-/Arbeitsbetriebsart. Tritt ein Interrupt auf, wird das Trägeraufnahmemodul entsprechend der zuvor mit Bezug auf Fig. 5 wiedergegebenen Beschreibung verlassen.
  • Wird von den Empfangsmitteln 110 ein Träger erkannt, wird der Softwarezähler des Mikroprozessors 200 bei 660 heraufgesetzt, und das Weiterzählen wird, wie bei 662 angegeben, fortgesetzt, solange der Träger aktiv ist, und zwar unabhängig davon, ob das Signal zu einem bestimmten Zeitpunkt "hoch" oder "niedrig" ist. Man kann daher auch sagen, daß der Softwarezähler die Länge eines mehrere Zyklen umfassenden Signalbündels mißt. Wenn das Signalbündel beendet ist, wird der Zählwert des Softwarezählers bei 664 in den RAM gesichert, und der Zähler wird zurückgesetzt. Bei 666 erfolgt dann eine Bestimmung, ob der Zählerwert seinen Höchstwert erreicht hat. Falls der Zählerwert nicht auf dem Höchstwert steht, zählt der Softwarezahler bei 672 weiter, und bei 674 erfolgt eine Bestimmung, ob der Träger erneut begonnen hat. Falls der Träger nicht erneut begonnen hat und falls der Zählerwert nicht seinen Höchststand erreicht, zählt der Softwarezähler weiter. Beim Erreichen eines Höchstwertes in 666 wird der Zählwert bei 676 in den RAM gesichert, und die Subroutine wird bei 690 verlassen. Falls der Zählerwert dagegen vor dem Erkennen eines Trägers (das heißt, vor einem neuen Signalbündel) oder vor dem Auftreten eines Interrupts bei 661b wegen der zuvor mit Bezug auf Schritt 661a beschriebenen Gründe nicht seinen Höchstwert erreicht, wird der bei der Erkennung des Trägers in 674 erreichte Zählwert bei 680 gesichert und im RAM gespeichert. Dieser Zählwert wird als Bereitstellung der Pausenlänge zwischen zwei Signalbündeln interpretiert. Bei 682 erfolgt dann eine Bestimmung hinsichtlich der Anzahl von Zählwerten, die in den RAM gesichert worden sind. Falls eine geeignete Anzahl von Zählwerten (beispielsweise einhundertachtundzwanzig; vierundsechzig Bündel längen- und Pausenlängenerfassungen) gesichert worden ist, verläßt der Mikroprozessor die Subroutine bei 690. Anderenfalls kehrt der Mikroprozessor zum Schritt 658 zurück und wartet auf das Vorliegen eines Trägers, so daß die Subroutine mit weiteren Bündellängen- und Pausenlängenerfassungen wiederholt werden kann. Somit wird die Subroutine in 690 entweder bei Erreichen einer Zeitbegrenzung (das heißt, daß der Zählerwert in Schritt 666 seinen Höchstwert erreicht) oder bei Erhalt der gewünschten Anzahl von Erfassungen im Schritt 682 abgeschlossen.
  • In den Fig. 7a und 7b ist ein Ablaufdiagramm des Codeaufnahmealgorithmus für Codes vom Impulstyp wiedergegeben. Der Algorithmus beginnt in 760, wenn bestimmt wird, daß Code für ein System vom Impulstyp aufgenommen werden soll. In 762 wird der RAM 130 initialisiert, und der mit Bezug auf die Fig. 2 beschriebene Vierbitzähler 122 wird gelöscht. Bei 764 erfolgt eine Bestimmung, ob vom Empfänger 110 Infrarotstrahlen empfangen werden. Ist dies nicht der Fall, wartet das System, bis die Strahlen empfangen werden oder bis bei 761 ein Interrupt auftritt wegen einer Zeitüberschreitung, wegen der Betätigung einer Taste der Tastatur oder wegen des Umschaltens des Schalters für die Aufnahme-/Arbeitsbetriebsart. Tritt ein Interrupt auf, wird das Trägeraufnahmemodul entsprechend der zuvor mit Bezug auf Fig. 5 wiedergegebenen Beschreibung verlassen.
  • Falls vom Empfänger 110 ein Infrarotsignal empfangen wird, werden der Vierbitzähler 122 und der Softwarezähler des Mikroprozessors 200 bei 766 gelöscht (während des zehn bis zwanzig Mikrosekunden langen Impulses), und der Softwarezähler wird bei 768 heraufgesetzt. Der Softwarezähler zählt weiter, bis er entweder in 770 seinen Höchstwert erreicht, wobei zu diesem Zeitpunkt der Softwarezählwert bei 785 in den RAM 130 gesichert und die Subroutine bei 790 verlassen wird, oder bis in 772 eine Bestimmung erfolgt, daß ein neuer Impuls empfangen worden ist. Falls ein neuer Impuls empfangen wird, wird der Zählwert des Softwarezählers bei 780 im RAM gespeichert. Auf diese Weise kann die Pausenzeit des Codes vom Impulstyp bestimmt werden, indem von der gesamten Zykluszeit zehn Mikrosekunden abgezogen werden. Nachdem der Zählwert bei 780 in den RAM gesichert worden ist, erfolgt bei 782 die Entscheidung, ob einhundertachtundzwanzig Zählwerte gesichert worden sind, die die Länge von einhundertachtundzwanzig vollständigen Zyklen darstellen. Falls eine geeignete Anzahl von Zählwerten (beispielsweise einhundertachtundzwanzig) gesichert worden ist, verläßt der Mikroprozessor die Subroutine bei 790. Anderenfalls kehrt der Mikroprozessor zum Schritt 766 zurück, löscht den Softwarezähler und den Vierbitzähler und beginnt mit dem Heraufsetzen des Softwarezählers bei 768. Somit wird die Subroutine in 790 entweder bei Erhalt der gewünschten Anzahl von Erfassungen im Schritt 782 oder infolge einer Zeitüberschreitung, wenn das entfernt angeordnete System keine Impulse mehr sendet, abgeschlossen.
  • Bezüglich der Aufnahme sämtlicher gewünschten Erfassungen für ein bestimmtes Fernsteuersystem ist ersichtlich, daß die Informationen vorzugsweise verdichtet sind, so daß der Code für spätere Abfragen im ROM gespeichert werden kann.
  • Gemäß der bevorzugten Ausführungsform der Erfindung wird somit ein Durchschnittswert der verschiedenen, für jeden einzelnen aufgenommenen Code erhaltenen Erfassungen gebildet, um eine normierte oder mittlere Taktsequenz für Signalbündel und Pausen bei Codes vom Trägertyp beziehungsweise für Pausen beim Code vom Impulstyp bereitzustellen. Die normierten Informationen werden dann einer im folgenden beschriebenen bevorzugten Verdichtungstechnik unterzogen. Falls der für jede Taste der zu emulierenden Sendeeinrichtung empfangene Code lang ist, wird eine Wellenform eines sich wiederholenden Typs angegeben. Falls der Mikroprozessor aber nicht in der Lage ist, bei der Verarbeitung eine Wiederholung zu finden, wird der Benutzer aufgefordert, die Tastenbetätigung zu wiederholen. Falls der Mikroprozessor nach dem Empfang zusätzlicher Erfassungen noch immer nicht in der Lage ist, die Wiederholung zu finden, wird der Benutzer gefragt, ob während des Aufnahmeprozesses eine neue entfernt angeordnete Sendeeinrichtung eingeführt worden ist. Wurde eine neue Fernsteuerung eingeführt, wird der Benutzer gebeten, eine beliebige Taste zu betätigen, und die Art des Codes wird bestimmt. Die Aufnahmesequenz wird dann entsprechend der oben wiedergegebenen Beschreibung fortgesetzt. Falls dagegen keine neue Fernsteuerung eingeführt wurde und falls der Benutzer korrekt versucht hat, einen Code vom Trägertyp aufzunehmen, wird der Benutzer darüber informiert, daß die betreffende Fernsteuerung nicht aufgenommen werden kann, und/oder er wird auf eine Bedienungsanleitung verwiesen.
  • Bei der Erkennung von Mustern und Wiederholungen wird der aufgenommene Code vorzugsweise gemäß der im folgenden beschriebenen Verdichtungstechnik verdichtet. Während des Betriebs der Vorrichtung 10 kann dann, wenn einer der aufgenommenen und verdichteten Sendeeinrichtungscodes emuliert werden soll, dieser Code erweitert werden. In Fig. 8 ist eine Anordnung (ARRAY A) 810 wiedergegeben, die von einer aufgenommenen Taste einer Fernsteuereinrichtung erhaltene Daten wiedergibt. Entsprechend ist eine Vielzahl kleinerer Anordnungen (ARRAY B, C und D) 820, 830 und 840 wiedergegeben, die die betreffende aufgenommene Anordnung in ein verdichtetes Format codieren. Insbesondere ist Array A die normierte Datenanordnung für einen aufgenommenen Infrarotsendeeinrichtungs-Code vom Trägertyp. Der Code von Array A bezieht sich auf eine Tastenfunktion der aufgenommenen Sendeeinrichtung, wobei ein erster von zwei sich abwechselnden Sechzehnbit-Zählwerten (angegeben durch zwei Gruppen aus zwei hexadezimalen Symbolen) eine Trägersignalbündeldauer darstellt und wobei ein zweiter der beiden sich abwechselnden Sechzehnbit-Zählwerte eine Verzögerungsdauer (Pausenzeit) zwischen zwei Signalbündeln darstellt. Im bereitgestellten Beispiel wird die Zeitdauer ermittelt, indem der Zählwert mit fünfundvierzig Mikrosekunden multipliziert wird. Der Sechzehnbit-Zählwert an den Stellen 2000 und 2001 stellt somit eine Signalbündeldauer von neun Millisekunden dar, da 00C8 die Hexadezimalschreibweise von zweihundert ist und da zweihundert mal vierundfünfzig Mikrosekunden gleich neun Millisekunden ist. Entsprechend würde der nächste Sechzehn-Bit- Zählwert (Positionen 2002 und 2003) eine Verzögerungsdauer von ungefähr viereinhalb Millisekunden darstellen, da 0065 die Hexadezimalschreibweise von einhunderteins ist und da einhunderteins mal vierundfünfzig Mikrosekunden ungefähr viereinhalb Millisekunden ist. Es ist ersichtlich, daß mit der "Map" (Belegungsplan) von Array A 810 und der Kenntnis der Trägerfrequenz (die in einer anderen, nicht dargestellten Anordnung oder Speicherposition gespeichert ist) das aufgenommene Infrarotsignal genau erzeugt werden kann.
  • Eine sorgfältige Untersuchung von Array A 810 ergibt, daß sich die Signalbündel- und Pausendauern im Verlauf des aufgenommenen Signals wiederholen. Gemäß der bevorzugten Ausführungsform werden dann alle Zeitdauern für eine bestimmte Sendeeinrichtung oder Sendeeinrichtungskategorie in einer getrennten Anordnung, wie beispielsweise in Array D 840, gespeichert. Wie in Fig. 8 dargestellt ist, speichert Array D 840 nur sieben verschiedene Sechzehnbit-Zeitdauern, da in Array A nichts anderes gefunden wird. Bei der Betätigung weiterer Tasten auf der Fernsteuerung, die aufgenommen wird, werden aber zusätzliche unterschiedliche Zeitdauern in Array D 840 eingefügt, so daß Array D alle möglichen Zeitdauern für sämtliche verfügbaren Tasten einer bestimmten Fernsteuerung enthält. Es ist ebenfalls ersichtlich, daß eine Vielzahl von Anordnungen, die Array D 840 ähneln, vorzugsweise für eine Vielzahl von Sendeeinrichtungen, die aufgenommen werden, eingerichtet wird.
  • Die sieben in Array D 840 vorliegenden Zeitdauern sind als Elemente null bis sechs von Array D aufgelistet. Entsprechend der Vorgabe in Array A 810 folgen aber nur bestimmte Elemente der sieben aufgelisteten Elemente von Array D 840 auf bestimmte Elemente der anderen sieben aufgelisteten Elemente. Beispielsweise folgt auf Element "0" (00 C8) nur Element "1" (00 65) oder Element "5" (00 31). Somit kann eine dritte Anordnung, Array C 830, konstruiert werden, die jeweils zwei Halbbytes umfassende Elemente hat, wobei jedes Halbbyte ein Element von Array D 840 darstellt. Grundsätzlich ist dann Array C 830 ein Zeiger (Pointer) in Array D, der als Elemente diejenigen Zeitdauerkombinationen enthält (Sechzehnbit-Bündellänge gefolgt von einer Sechzehnbit-Pausenlänge), die in Array A 810 erscheinen. Es ist ersichtlich, daß eine Vielzahl von Anordnungen entsprechend Array C 830 bestimmt und als Zeiger für die Vielzahl von Anordnungen entsprechend Array D bereitgestellt werden muß, wenn eine Vielzahl von Fernsteuerungen aufgenommen und gespeichert werden soll.
  • Da die Aufnahmecodedaten entsprechend der Darstellung in Array A 810 aus wenigen unterschiedlichen Zeitdauern entsprechend der Vorgabe in Array D 840 bestehen und da die Zeitdauern entsprechend der Vorgabe in Array D 840 nur in einer bestimmten Anzahl von Kombinationen vorliegen, wie durch Array C 830 angegeben wird, sollte beachtet werden, daß der aufgenommene Code von Array A 810 durch eine Anordnung (Array B 820) dargestellt sein kann, die Zeiger für das Array C 830 enthält. Array B ist dann aus Bytes (acht Bits) mit jeweils zwei Halbbytes konstruiert, wobei ein erstes Halbbyte ein erstes Element von Array C 830 angibt und wobei das zweite Halbbyte ein zweites Element von Array C 830 angibt. Ein Byte von Array B 820 bezeichnet deshalb zwei Zeitenkombinationen von Array C 830 entsprechend vier Sechzehnbit-Perioden von Array D 840. Anders ausgedrückt, wird eine ganze Zeile (acht Sechzehnbit-Wörter) von Array A zu zwei Achtbit-Bytes von Array B 820 verdichtet, wobei die Anordnungen Array C 830 und Array D 840 als Erweiterungscode dienen. Wenn jede Taste einer Fernsteuereinrichtung eine Anordnung wie Array A generiert, ist zu erkennen, daß für jede Taste lediglich eine Anordnung ähnlich dem Array B und zusätzlich die Arrays C und D gespeichert werden müssen. Auf diese Weise erfolgt natürlich eine deutliche Verdichtung von mindestens etwa acht zu eins.
  • Wie in Fig. 8 mit Bezug auf Array A 810 angegeben ist, sind die Bytes 2000 bis 208F die Mindestdaten, die zur Code-Regenerierung erforderlich sind. Der Grund hierfür ist, daß der individuell aufgenommene Code eine bestimmte Gruppe von Zeitenkombinationen verwendet, um eine Wiederholung anzugeben (das heißt, daß die betätigte Taste noch immer gedrückt ist und daß die Anweisung wiederholt werden soll). In Array A 810 umfassen die Wiederholungsdaten einen Code "00C8 0031 000C 088B" aus vier Sechzehnbit-Wörtern, der übersetzt wird in ein Signalbündel von neun Millisekunden Dauer, gefolgt von einer Pause von ungefähr zweieinviertel Millisekunden, gefolgt von einem Signalbündel von ungefähr 0,54 Millisekunden, gefolgt von einer Pause von ungefähr achtundneunzigeinhalb Millisekunden. Beim Empfang einer derartigen Signalbündel-Pausen-Sequenz würde der entfernt angeordnete Empfänger die Informationen als einen Befehl zur Wiederholung des zuvor empfangenen Tastencodes interpretieren. Es ist ersichtlich, daß statt der Fortsetzung der Speicherung des Wiederholungscodes in Array B 820 eine weitere Anordnung (Array G, nicht dargestellt) eingerichtet werden kann, die Informationen hinsichtlich der Sendeeinrichtungsarten oder -kategorien speichert, die einen Wiederholungscode bereitstellen. Somit kann sogar eine noch weitergehendere Verdichtung erzielt werden, die über das Verhältnis von ungefähr acht zu eins hinausgeht. Selbstverständlich braucht bei einer weiteren Fernsteuerung, bei der nicht ein Wiederholungscode verwendet, sondern der gesamte Tastencode wiederholt wird, nur der erforderliche Tastencode als verdichtete Anordnung in Array B 820 gespeichert zu werden. Eine Angabe, daß die gesamte Tastensequenz wiederholt werden soll, wird dann wiederum in einer Anordnung, wie beispielsweise in Array G (nicht dargestellt), gehalten.
  • Wenn eine aufgenommene Sendeeinrichtung Impulse und Pausen statt Signalbündel mit einer Trägerfrequenz, auf die jeweils Pausen folgen, sendet, braucht nur die Pausenlänge gespeichert zu werden, da die Impulslänge entsprechend der oben wiedergegebenen Beschreibung relativ standardisiert ist. In einem derartigen Fall ist Array A 810 vorzugsweise eine Anordnung ausschließlich aus Pausenlängen, während die Anordnungen B 820, C 830 und D 840 die gleiche Funktion wie zuvor bereitstellen. Array D 840 enthält somit alle möglichen Pausenlängen für eine bestimmte Fernsteuerung, während das Array C 830 als Zeiger für das Array D 840 wirkt und die möglichen Pausenpaare bereitstellt (das heißt alle unterschiedlichen Gruppen aus zwei verschiedenen, nebeneinanderliegenden Pausen). Das verwendete Array B 820 ist schließlich die verdichtete Version von Array A 810 und ein Zeiger für das Array C 830.
  • Nachdem die Einzelheiten der Schaltung der Vorrichtung 10, eine Beschreibung des Ablaufdiagramms der Programmierung des Mikroprozessors 200 und die bevorzugte Datenverdichtungstechnik wiedergegeben worden sind, liefert der Betrieb der erfindungsgemaßen Vorrichtung 10 in der Aufnahmebetriebsart zusätzliche Erkenntnisse hinsichtlich der Vorzüge der bereitgestellten Vorrichtung 10 im Vergleich zu den nach dem Stand der Technik bekannten rekonfigurierbaren Fernsteuervorrichtungen. Der Benutzer ruft die Aufnahmebetriebsart auf, indem er den Schiebeschalter 162 in die Aufnahmeposition bewegt. Mit Beginn der Aufnahmebetriebsart weist der Mikroprozessor die LCD-Anzeige an, die Aufforderung anzuzeigen, die Vorrichtung 10 und die aufzunehmende Fernsteuerung Kopf an Kopf zu positionieren, so daß sich die aufzunehmende Infrarotsendeeinrichtung oder Fernsteuerung und die Empfangsmittel 110 der Vorrichtung 10 gegenüberliegen. Der Benutzer wird dann aufgefordert (über eine Anzeige, die hinsichtlich der normalen Betriebsart auf dem Kopf steht, aber dadurch für den Benutzer lesbar ist): "System wählen". Der Benutzer wählt ein aufzunehmendes System aus, indem er eine der sechs Systemtasten 60 betätigt. Falls der Benutzer eine falsche Taste betätigt, zeigt die LCD-Anzeige an: "Unzulässige Eingabe, Systemtaste wählen". Wird innerhalb von dreißig Sekunden keine Taste gedrückt, geht die Vorrichtung in den Wartezustand. Wird eine Taste betätigt, nachdem die Vorrichtung in den Wartezustand eingetreten ist, erscheint in der LCD-Anzeige die Meldung: "Aufnahmemodus, Systemtaste wählen". Wenn der Benutzer eine der Systemtasten 60 wählt, erscheint, falls der Fernsehempfänger gewählt wird, die Meldung: "Codes bekannt. Änderung gewünscht?" Eine der variablen Tasten (Softkeys) ist dann mit "Ja" bezeichnet und eine weitere mit "Nein". Wird "Nein" gedrückt, antwortet die LCD-Anzeige mit: "System wählen". Wird "Ja" betätigt, wird der Benutzer aufgefordert, in der Bedienungsanleitung nachzuschlagen, so daß mögliche Irrtümer bei der Programmierung der wesentlichen Fernsehfunktionen angegeben werden. Falls der Benutzer dennoch fortfahren möchte, erscheint in der LCD-Anzeige die Meldung "Eine Taste drücken", so daß der Codetyp (Träger oder Impuls) der aufzunehmenden Fernsteuerung bestimmt werden kann. Der Benutzer wird dann aufgefordert (in der angegebenen Reihenfolge): "Ziffer 0 drücken", "Ziffer 1 drücken", "Ziffer 2 drücken", . . . "Ziffer 9 drücken", "'Kanal weiter' drücken", "'Kanal zurück' drücken", "Zweiten Kanal drücken", "'Eingabe' oder 100 drücken", "'Lautstärke auf' drücken", "'Lautstärke ab' drücken" und "'Stumm' drücken". Dies sind sämtliche Funktionen, die beim Haupt-Fernsehsystem ersetzt werden können. Jede dieser Funktionen kann mittels des Softkeys "WEITER" übergangen werden. Nachdem die Aufnahme für ein bestimmtes System abgeschlossen ist, wird dies dem Benutzer über die LCD-Anzeige zirka drei Sekunden lang angezeigt. Die Steuerung geht dann zur zuvor beschriebenen Meldung "System wählen" zurück.
  • Falls für das aufzunehmende System statt der TV-Taste die Videorecorder-(VCR)-Taste 64 betätigt wird, fährt das Programm mit einer Meldung "Eine Taste drücken" fort. Anschließend werden die folgenden Meldungen ausgegeben: "Ziffer 0 drücken", "Ziffer 1 drücken", "Ziffer 2 drücken", . . . "Ziffer 9 drücken", "'Kanal weiter' drücken", "'Kanal zurück' drücken", "Zweiten Kanal drücken", "'Eingabe' oder 100 drücken", "'Lautstärke auf' drücken", "'Lautstärke ab' drücken", "'Stumm' drücken", "'Wiedergabe' drücken", "'Stop' drücken", "'Aufzeichnung' drücken", "'Pause' drücken", "'Schneller Rücklauf' drücken", "'Schneller Vorlauf' drücken", "'Suche > > ' drücken", "'Suche ' drücken", "Einschalttaste drücken", "'Langsam' drücken", "'TV/VCR' drücken, "'X2' drücken", "'Bildfeld vor' drücken", "'Rückwärtslauf' drücken", "'Direktaufzeichnung' drücken", "'Standby' drücken", "'Timer' drücken", "'Normal' drücken", "'OSD' drücken", "'Hilfe' drücken", "'Programm' drücken", "'Wahl' drücken" "'Auf' drücken" und "'Ab' drücken". Da die letzten fünfzehn Anweisungen nicht als Tasten auf der bereitgestellten Tastatur 15 verfügbar sind, ist ersichtlich, daß bei Verwendung der Vorrichtung 10 zur Eingabe dieser Anweisungen in einen entfernt angeordneten Videorecorder die diesbezüglichen variablen Tasten (Softkeys) betätigt werden müssen. Da fünfzehn zusätzliche Anweisungen vorhanden sind, werden zu ihrer Einrichtung zwei Menüs mit acht beziehungsweise sieben Anweisungen bereitgestellt.
  • Falls für das aufzunehmende System die Kabel-Systemtaste 65 betätigt wird, fährt das Programm mit einer Meldung "Eine Taste betätigen" fort. Nach der Identifizierung des Codes werden dann die folgenden Meldungen ausgegeben: "Ziffer 0 drücken", "Ziffer 1 drücken", "Ziffer 2 drücken", . . . "Ziffer 9 drücken", "'Kanal weiter' drücken", "'Kanal zurück' drücken", "Zweiten Kanal drücken", "'Eingabe' oder 100 drücken", "'Lautstärke auf' drücken", "'Lautstärke ab' drücken", "'Stumm' drücken", "Einschalttaste drücken", "A/B-Taste drücken", "'Speicher auf' drücken", "'Speicher ab' drücken", "'Neu' drücken", "'Löschen' drücken", "f1 drücken", "f2 drücken" und "f3 drücken".
  • Falls die Audio-Systemtaste 66 betätigt wird, fährt das Programm mit einer Meldung "Verstärker-Fernsteuerung?" fort. Falls der Softkey "Ja" gedrückt wird, erscheint die Meldung "Eine Taste drücken". Im Anschluß an die Betätigung einer beliebigen Taste werden dann die folgenden Meldungen ausgegeben: "Einschalttaste drücken", "'Lautstärke auf' drücken", "'Lautstärke ab' drücken", "'CD' (Quelle) drücken", "'Tuner' (Quelle) drücken", "'Phono' (Quelle) drücken", "'Tape' (Quelle) drücken", "'Aux' (Quelle) drücken", "'Stumm' drücken", "'Balance rechts' drücken", "'Balance links' drücken", "'Vorn' drücken", "'Hinten' drücken", "'Graphikdarstellung' drücken", "'+' drücken" und "'-' drücken". Falls bei der Meldung "Verstärker- Fernsteuerung?" statt "Ja" der Softkey "Nein" betätigt wurde, werden die oben wiedergegebenen Meldungen übersprungen. In jedem Fall erscheint nach der Sequenz für die Verstärkerfernsteuerung eine Meldung "Tuner-Fernsteuerung?". Wird "Ja" betätigt, erscheinen nach der Meldung "Eine Taste drücken" die folgenden Meldungen: "Ziffer 0 drücken", "Ziffer 1 drücken", . . . "Ziffer 9 drücken", "Einschalttaste drücken", "'AM/FM' drücken", "'Suchlauf > ' drücken", "'Suchlauf < ' drücken", "'Eingabe' drücken", "'Speicher' drücken", "f1 drücken" und "f2 drücken". Natürlich werden die oben wiedergegebenen Meldungen übersprungen, wenn nach der Meldung "Tuner-Fernsteuerung?" der Softkey "Nein" betätigt wurde.
  • Im Anschluß an die Tuner-Meldungen erscheint eine Meldung "CD-Spieler?". Nur bei bestätigender Antwort erscheint eine Meldung "Eine Taste drücken". Nach der Aufnahme des Systemtyps werden die folgenden Meldungen ausgegeben: "Ziffer 0 drücken", "Ziffer 1 drücken", . . . "Ziffer 9 drücken", "Einschalttaste drücken", "'Play/Replay' drücken", "'Stop' drücken", "'Suche > > ' drücken", "'Suche ' drücken", "'Pause' drücken", "'Vor' drücken", "'Zurück' drücken", "'Restzeit' drücken", "'Kontrolle' drücken", "'Suchlauf' drücken", "'Speichern' drücken", "'Löschen' drücken", "'Wahl' drücken", "'Wiederholung' drücken" und "A/B-Schleife' drücken". Nach den Meldungen zum CD-Spieler erscheint die Meldung "Bandabspielgerät?". Bei einer bestätigenden Antwort werden nach Betätigung einer Taste und der Aufnahme des Systemtyps die folgenden Meldungen ausgegeben: "Ziffer 1 drücken", "Ziffer 2 drücken", . . . "Ziffer 9 drücken", "Einschalttaste drücken", "'Wiedergabe' drücken", "'Pause' drücken", "'Schneller Vorlauf' drücken", "'Schneller Rücklauf' drücken", "'Aufzeichnung' drücken", "'Dolby ein/aus' drücken", "'Rückwärtslauf' drücken", "'Index' drücken", "'AMS' drücken", "f1 drücken" und "f2 drücken".
  • Falls die Systemtaste "Aux 1" betätigt wird, gibt das System eine Meldung "Gerätetyp?" aus. Zwei variablen Tasten (Softkeys) ist die Bezeichnung "Sat Empf" beziehungsweise "Vid Disc" zugeordnet. Der Benutzer muß dann eine der Systemtasten TV 63, VCR 64, CBL 65, Aux 1 67 oder eine der variablen Systemtasten (Softkeys) "Sat Empf" oder "Vid Disc" wählen. Die Betätigung einer anderen Systemtaste bewirkt die Anzeige einer Fehlermeldung. Wird die TV-Taste 63 betätigt, erscheint die Meldung "Eine Taste drücken". Im Anschluß an die Aufnahme des Typs des entfernt angeordneten Systems folgen die Meldungen entsprechend dem weiter oben wiedergegebenen Format für die Aufnahme eines Fernsehempfängers. Dementsprechend folgen bei Betätigung der CBL-Systemtaste 65 nach der Meldung "Eine Taste drücken" die Meldungen im weiter oben wiedergegebenen Format für die Aufnahme eines Kabelempfangssystems. Falls die VCR-Taste 64 betätigt wird, erscheint die übliche Meldung "Eine Taste drücken". Im Anschluß an diese Aufnahme werden die Meldungen wie eingangs bezüglich der Aufnahme eines Videorecorders beschrieben fortgesetzt, mit der Ausnahme, daß die Meldungen von "'Wiedergabe' drücken" bis "'Suche < ·' drücken" vorzugsweise gelöscht werden (das heißt nicht angezeigt oder aufgenommen werden).
  • Falls die variable Taste (Softkey) "Vid Disc" betätigt wird, erscheinen nach der Meldung "Eine Taste drücken" und der Aufnahme des Systemtyps die folgenden Meldungen: "Ziffer 0 drücken", "Ziffer 1 drücken", . . . "Ziffer 9 drücken", "Einschalttaste drücken", "'Wiedergabe' drücken", "'Pause' drücken", "'Standbild' drücken", "'Langsam' drücken", "'Index' drücken", "'Suche > > ' drücken" und "'Suche . . ' drücken". Damit steht dem Benutzer die Steuerung der Video-Disc-Funktionen nach Betätigung der "Aux 1"-Taste 67 (oder gegebenenfalls der "Aux 2"-Taste 68) zur Verfügung. Falls schließlich die variable Taste (Softkey) "Sat Empf" betätigt wird, erscheinen nach der üblichen Meldung "Eine Taste drücken" und der Aufnahme des Systemtyps die folgenden Meldungen: "Ziffer 0 drücken", "Ziffer 1 drücken", "Ziffer 9 drücken", "'Kanal weiter' drücken", "'Kanal zurück' drücken", "Zweiten Kanal drücken", "'Eingabe' oder 100 drücken", "'Lautstärke auf' drücken", "'Lautstärke ab' drücken", "'Stumm' drücken", "'Satellit' drücken", "'Löschen' drücken", "'Ost' drücken", "'West' drücken", "'Audio weiter' drücken", "'Audio zurück' drücken", "'Audio-BW' drücken" und "f1 drücken".
  • Da es für zahlreiche Tasten verschiedener Systeme, die aufgenommen werden können, keine Entsprechung auf der bereitgestellten Tastatur 15 gibt, ist ersichtlich, daß Mittel bereitgestellt werden müssen, um die Funktion dieser Tasten auszuführen. Die variablen Tasten (Softkeys) 20 werden daher in Verbindung mit einem Menü bereitgestellt, das in der LCD-Anzeige 70 erscheint, so daß zu einem beliebigen Zeitpunkt weitere acht Tasten verfügbar sind. Sind zur Ausführung des gesamten Funktionsumfangs mehr als acht zusätzliche Tasten erforderlich, kann eine zweite Menüseite mit acht weiteren zusätzlichen Funktionen bereitgestellt werden. Die zweite Menüseite kann aufgerufen werden, indem die aktive Systemtaste erneut betätigt wird. Wie eingangs beschrieben wurde, ist ferner ersichtlich, daß der Benutzer die Möglichkeit hat, beliebige Aufnahmebefehls-(Meldungs-)-Sequenzen zu durchlaufen. Nach dem Erscheinen der Meldung "Eine Taste drücken" und der Aufnahme des Systemtyps erscheinen dann zwei Softkey-Funktionen mit der Bezeichnung "VOR" beziehungsweise "ZURÜCK", um die Sequenz in einer gewünschten Richtung zu durchlaufen. Auch bei Erscheinen der neuen Anzeigemeldungen zur Aufnahme der entfernt angeordneten Einheit behalten die variablen Tasten (Softkeys) zum Durchlaufen der Sequenz vorzugsweise ihre Funktion.
  • Beschrieben und dargestellt wurden eine rekonfigurierbare Fernsteuervorrichtung und ein Verfahren zu ihrer Verwendung. Obwohl besondere Ausführungsformen der Erfindung beschrieben wurden, soll die Erfindung dadurch nicht genau eingegrenzt sein, da die Erfindung nur durch die folgenden Patentansprüche eingegrenzt sein soll. Fachleute auf diesem Gebiet werden erkennen, daß, obwohl die Erfindung anhand einer bestimmten Schaltung beschrieben wurde, andere Mikroprozessoren und dazugehörige Schaltungen bereitgestellt werden können, um die beschriebenen Funktionen auszuführen. Falls beispielsweise ein leistungsstärkerer Mikroprozessor mit eigenem Speicher bereitgestellt wird, könnten RAM und/oder ROM der bevorzugten Ausführungsform wie auch die Banksteuerlogik entfallen. So könnten bei größerem Produktionsumfang die Funktionen unterschiedlicher bereitgestellter Komponenten in ein einzelnes oder mehrere VLSI-Elemente aufgenommen werden. Dementsprechend kann selbstverständlich die Programmierung des ROM und des Mikroprozessors in einer Fülle von Arten erfolgen, wobei gleiche oder ähnliche Ergebnisse erzielt werden.

Claims (7)

1. Verfahren zur Verdichtung von formatiertem Code, der von Fernsteuermitteln erhalten wurde, wobei der formatierte Code mindestens Informationen bezüglich der Pausenzeiten zwischen Impulsbündeln enthält, die von den Fernsteuermitteln ausgegeben werden, und wobei das Verfahren beim formatierten Code die Bestimmung von mindestens sämtlichen in dem formatierten Code dargestellten Pausenzeitinformationen umfaßt, dadurch gekennzeichnet, daß das Verfahren weiter
die Einrichtung unterschiedlicher Pausenzeitinformationen in Form von unterschiedlichen Elementen einer ersten Anordnung (840) umfaßt, wobei jedes Element eine kennzeichnende Elementnummer hat, und
die Erzeugung einer zweiten Anordnung (820) mit Elementen der zweiten Anordnung aus dem erhaltenen Code und aus Nummern von Elementen der ersten Anordnung, wobei die Elemente der zweiten Anordnung wenigstens zwei Halbbytes (das heißt 4-Bit-Datenblöcke) umfassen und wobei jedes Halbbyte eine Nummer eines Elements der ersten Anordnung darstellt,
wobei die zweite Anordnung weiter den erhaltenen formatierten Code darstellt.
2. Verfahren nach Anspruch 1, das weiter
die Erzeugung einer dritten Anordnung (830) umfaßt, wobei Elemente der dritten Anordnung sie darstellende Nummern für Elemente der dritten Anordnung aus dem erhaltenen Code und Elementnummern der ersten Anordnung haben und wobei die Elemente der dritten Anordnung mindestens zwei Halbbytes umfassen, wobei jedes Halbbyte eine Elementnummer der ersten Anordnung darstellt, und wobei die dritte Anordnung alle Zweiergruppen von Pausenzeitinformationen des formatierten Codes darstellt, die zusammen im formatierten Code vorkommen, und
die Erzeugung einer zweiten Anordnung (820) aus dem erhaltenen Code und aus Elementnummern der dritten Anordnung umfaßt, wobei die Elemente der zweiten Anordnung mindestens zwei Halbbytes umfassen, wobei jedes Halbbyte eine Elementnummer der dritten Anordnung darstellt.
3. Verfahren nach Anspruch 1, mit der Bestimmung aller im formatierten Code dargestellten unterschiedlichen Signalbündellängen- und Pausenlängeninformationen für den formatierten Code und mit der Einrichtung der unterschiedlichen Signalbündel- und Pausenlängeninformationen als Elemente der ersten Anordnung.
4. Verfahren nach Anspruch 3, das die nachfolgenden Schritte umfaßt:
Erzeugung einer dritten Anordnung (830), wobei die Elemente der dritten Anordnung sie darstellende Nummern für Elemente der dritten Anordnung aus dem erhaltenen Code und Elementnummern der ersten Anordnung haben und wobei die Elemente der dritten Anordnung mindestens zwei Halbbytes umfassen, wobei jedes Halbbyte eine Elementnummer der ersten Anordnung darstellt, und wobei die dritte Anordnung Informationen zu allen Zweiergruppen aus Signalbündellängen und Pausenlängen des formatierten Codes darstellt, die zusammen im formatierten Code vorkommen, und
Erzeugung einer zweiten Anordnung (820) aus dem erhaltenen Code und aus Elementnummern der dritten Anordnung, wobei die Elemente der zweiten Anordnung mindestens zwei Halbbytes umfassen, wobei jedes Halbbyte eine Elementnummer der dritten Anordnung darstellt.
5. Verfahren nach Anspruch 3 oder 4, wobei die von den Fernsteuermitteln ausgegebenen Signalbündel eine bestimmte Frequenz haben und das weiter die Speicherung von Daten umfaßt, die diese Frequenz darstellen.
6. Verfahren nach einem der Ansprüche 1-5, wobei der formatierte Code weiter Code für eine Vielzahl von Tasten von Fernsteuermitteln enthält.
7. Verfahren nach einem der Ansprüche 1-6, das weiter die folgenden Schritte umfaßt:
Bestimmung, ob im formatierten Code ein Wiederholungscode oder eine Wiederholung des gesamten Codes vorkommt, und
Speicherung von Daten, die mindestens das Auftreten eines Wiederholungscodes oder einer Wiederholung des gesamten Codes darstellen.
DE3851516T 1987-12-09 1988-12-05 Datenverdichtungstechnik für rekonfigurierbare Fernsteuervorrichtung. Expired - Fee Related DE3851516T2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US07/130,818 US4857898A (en) 1987-12-09 1987-12-09 Data compression technique for reconfigurable remote control apparatus

Publications (2)

Publication Number Publication Date
DE3851516D1 DE3851516D1 (de) 1994-10-20
DE3851516T2 true DE3851516T2 (de) 1995-04-13

Family

ID=22446495

Family Applications (1)

Application Number Title Priority Date Filing Date
DE3851516T Expired - Fee Related DE3851516T2 (de) 1987-12-09 1988-12-05 Datenverdichtungstechnik für rekonfigurierbare Fernsteuervorrichtung.

Country Status (6)

Country Link
US (1) US4857898A (de)
EP (1) EP0320066B1 (de)
JP (1) JPH07109989B2 (de)
KR (1) KR970002764B1 (de)
DE (1) DE3851516T2 (de)
HK (1) HK84896A (de)

Families Citing this family (33)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS63290098A (ja) * 1987-05-22 1988-11-28 Pioneer Electronic Corp 学習リモ−トコントロ−ル装置
US4857898A (en) 1987-12-09 1989-08-15 North American Philips Consumer Electronics Corp. Data compression technique for reconfigurable remote control apparatus
JP2687454B2 (ja) * 1988-06-28 1997-12-08 ソニー株式会社 汎用コマンダ
WO1990006739A1 (de) * 1988-12-16 1990-06-28 Reimar Berger Bediengerät
US4866434A (en) * 1988-12-22 1989-09-12 Thomson Consumer Electronics, Inc. Multi-brand universal remote control
US5142398A (en) * 1989-07-11 1992-08-25 Tandy Corporation Timer system for learning and replaying of infrared signals
US5157391A (en) * 1989-09-05 1992-10-20 Motorola, Inc. Apparatus and method for displaying a plurality of function indicators in a selective call receiver
JPH06503894A (ja) * 1990-08-16 1994-04-28 ゼネラル・パラメトリックス・コーポレーション 補助表示装置を含む表示制御装置
US5282028A (en) * 1990-11-27 1994-01-25 Scientific-Atlanta, Inc. Remote control for digital music terminal with synchronized communications
US5243430A (en) * 1991-07-24 1993-09-07 Mitsubishi Electronics America, Inc. Remote control apparatus and method for omnidirectional signal transmission
WO1993005580A1 (en) * 1991-08-30 1993-03-18 Thomson Consumer Electronics, S.A. Method of compressing data code and apparatus for using the compressed data code
AU3599093A (en) * 1992-02-04 1993-09-01 Tandy Corporation Pre-programmed universal remote control method and apparatus with learning capability
US5341166A (en) * 1992-02-27 1994-08-23 Video Control Technology, Inc. System for controlling selected devices having unique sets of control codes
JPH0675680A (ja) * 1992-07-21 1994-03-18 Advanced Micro Devicds Inc キーパッドスキャナ機構およびキーパッドを走査するための方法
KR0183677B1 (ko) * 1993-04-28 1999-05-15 김광호 리모트 콘트롤러의 송신 데이타 제어방법
AU6018494A (en) * 1993-05-21 1994-12-20 Arthur D. Little Enterprises, Inc. User-configurable control device
US5528003A (en) * 1994-12-14 1996-06-18 International Business Machines Corporation Data compression for pen stroke input
JPH08221174A (ja) * 1995-02-16 1996-08-30 Sanyo Electric Co Ltd キー入力処理回路
US6215903B1 (en) * 1998-12-31 2001-04-10 General Electric Company Compression method and apparatus
US6784805B2 (en) 2000-03-15 2004-08-31 Intrigue Technologies Inc. State-based remote control system
US20010033243A1 (en) 2000-03-15 2001-10-25 Harris Glen Mclean Online remote control configuration system
US8531276B2 (en) 2000-03-15 2013-09-10 Logitech Europe S.A. State-based remote control system
DE10026760B4 (de) * 2000-05-30 2004-12-30 Robert Bosch Gmbh Verfahren zur Zuordnung von Bedienfunktionen zu Bedienelementen einer elektronischen Vorrichtung, welche umschaltbar die Funktionen mehrerer elektronischer Geräte, insbesondere Geräte der Kraftfahrzeug-Komfortelektronik, ausüben kann, und entsprechende Vorrichtung
CN1465179A (zh) * 2001-05-01 2003-12-31 皇家菲利浦电子有限公司 用于记录和读取音像信息的系统
US7429979B2 (en) * 2002-10-16 2008-09-30 Thomson Licensing Remote control with programmable button labeling and labeling display upon button actuation
US20060146652A1 (en) * 2005-01-03 2006-07-06 Sdi Technologies, Inc. Sunset timer
US7597084B2 (en) * 2005-03-09 2009-10-06 Caterpillar Inc. Internal combustion engine and operating method therefor
DE102006018238A1 (de) 2005-04-20 2007-03-29 Logitech Europe S.A. System und Verfahren zur adaptiven Programmierung einer Fernbedienung
US9235986B2 (en) * 2007-01-23 2016-01-12 Bose Corporation Universal remote control programming
US20080174467A1 (en) * 2007-01-23 2008-07-24 Laszlo Drimusz Universal remote control programming
US20100039282A1 (en) * 2008-08-12 2010-02-18 Hostage Christine M Universal Remote Control Programming
EP2159772A1 (de) * 2008-08-28 2010-03-03 Thomson Licensing SA Umweltfreundliche Fernsteuerung
US8508401B1 (en) 2010-08-31 2013-08-13 Logitech Europe S.A. Delay fixing for command codes in a remote control system

Family Cites Families (9)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
JPS56146338A (en) * 1980-04-16 1981-11-13 Fujitsu Ltd Translating system of alarm signal
GB2117594B (en) * 1982-03-04 1985-10-02 Standard Telephones Cables Ltd Data compression
US4700294A (en) * 1982-10-15 1987-10-13 Becton Dickinson And Company Data storage system having means for compressing input data from sets of correlated parameters
US4626848A (en) * 1984-05-15 1986-12-02 General Electric Company Programmable functions for reconfigurable remote control
US4623887A (en) * 1984-05-15 1986-11-18 General Electric Company Reconfigurable remote control
US4598411A (en) * 1984-07-17 1986-07-01 Allied Corporation On-the-fly data compression system
JPS62118432A (ja) * 1985-11-19 1987-05-29 Nec Corp 計算機システムのデ−タ転送方式
JPH0728448B2 (ja) * 1986-02-07 1995-03-29 アールシーエー トムソン ライセンシング コーポレイシヨン 再構成可能な遠隔制御送信器
US4857898A (en) 1987-12-09 1989-08-15 North American Philips Consumer Electronics Corp. Data compression technique for reconfigurable remote control apparatus

Also Published As

Publication number Publication date
EP0320066B1 (de) 1994-09-14
KR970002764B1 (ko) 1997-03-10
EP0320066A2 (de) 1989-06-14
EP0320066A3 (en) 1990-11-22
DE3851516D1 (de) 1994-10-20
US4857898A (en) 1989-08-15
KR890011459A (ko) 1989-08-14
JPH07109989B2 (ja) 1995-11-22
JPH01288018A (ja) 1989-11-20
HK84896A (en) 1996-05-24

Similar Documents

Publication Publication Date Title
DE3851516T2 (de) Datenverdichtungstechnik für rekonfigurierbare Fernsteuervorrichtung.
DE3851040T2 (de) Rekonfigurierbare Fernsteuervorrichtung.
DE3687717T2 (de) Universelle fernsteueranordnung.
DE3106427C2 (de)
DE2340628C3 (de) Anordnung zum Aufzeichnen seismischer Daten
DE68928562T2 (de) Vorrichtung und verfahren zur verwendung von kodierten daten für die zeitvorprogrammierung eines videorecorders/videoabspielers
DE2838104C2 (de)
DE3821572A1 (de) Fernbedienungsanordnung
EP0122548B1 (de) Fernbedienungsgerät zur drahtlosen Steuerung verschiedener Geräte
DE3000479A1 (de) Kanalprogrammiervorrichtung fuer signalempfaenger
DE2826474A1 (de) Digitale steueranordnung
DE8605704U1 (de) Fernbedienhandgerät zum Steuern verschiedener Moduln
DE2638500C2 (de)
DE3143151C2 (de)
DE3914513C2 (de) Fernsteuersystem
DE3111773C2 (de)
DE68920458T2 (de) Universeller Fernsteuerungs-Sender mit vereinfachter Apparatidentifizierung.
EP0689704A1 (de) Verfahren und vorrichtung zur fernbedienung
DE3634506C2 (de)
DE2557856A1 (de) Abstimmschaltung fuer hochfrequenzempfangsgeraete
DE2542829A1 (de) Anordnung zur abstimmung eines empfaengers
DE2828367C2 (de) Anordnung zum Abstimmen eines Empfängers auf eine vorbestimmte Anzahl bevorzugter Abstimmpositionen
DE2804296A1 (de) Steuerschaltung
DE2848061C2 (de) Drahtloses elektronisches Fernsteuerverfahren und Anordnung zur Durchführung des Verfahrens
DE4025302A1 (de) Programmiereinrichtung zur programmierung eines fernsteuersenders

Legal Events

Date Code Title Description
8364 No opposition during term of opposition
8320 Willingness to grant licences declared (paragraph 23)
8328 Change in the person/name/address of the agent

Representative=s name: VOLMER, G., DIPL.-ING., PAT.-ANW., 52066 AACHEN

8339 Ceased/non-payment of the annual fee