DE19920469A1 - Hardwarebitcodierer - Google Patents

Hardwarebitcodierer

Info

Publication number
DE19920469A1
DE19920469A1 DE19920469A DE19920469A DE19920469A1 DE 19920469 A1 DE19920469 A1 DE 19920469A1 DE 19920469 A DE19920469 A DE 19920469A DE 19920469 A DE19920469 A DE 19920469A DE 19920469 A1 DE19920469 A1 DE 19920469A1
Authority
DE
Germany
Prior art keywords
data
bit
pattern
register
bits
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.)
Granted
Application number
DE19920469A
Other languages
English (en)
Other versions
DE19920469C2 (de
Inventor
Charles Watts
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.)
Fairchild Semiconductor Corp
Original Assignee
Fairchild Semiconductor 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 Fairchild Semiconductor Corp filed Critical Fairchild Semiconductor Corp
Publication of DE19920469A1 publication Critical patent/DE19920469A1/de
Application granted granted Critical
Publication of DE19920469C2 publication Critical patent/DE19920469C2/de
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Classifications

    • HELECTRICITY
    • H03ELECTRONIC CIRCUITRY
    • H03MCODING; DECODING; CODE CONVERSION IN GENERAL
    • H03M5/00Conversion of the form of the representation of individual digits
    • H03M5/02Conversion to or from representation by pulses
    • H03M5/04Conversion to or from representation by pulses the pulses having two levels
    • H03M5/06Code representation, e.g. transition, for a given bit cell depending only on the information in that bit cell
    • H03M5/08Code representation by pulse width

Landscapes

  • Engineering & Computer Science (AREA)
  • Theoretical Computer Science (AREA)
  • Compression, Expansion, Code Conversion, And Decoders (AREA)
  • Signal Processing For Digital Recording And Reproducing (AREA)

Abstract

Die vorliegende Erfindung schafft einen fest zugeordneten Hardwareblock eines Hardwarebitcodierergeräts (100) zum Erzeugen von IR/HF-Bitcodierungsprotokollen. Das Hardwarebitcodierergerät ist in irgendeine beliebige benutzerdefinierte Rahmenlänge und einzelne oder mehrere Rahmenketten konfigurierbar. Das Gerät kann im wesentlichen jedes gewünschte Bitcodierungsmuster emulieren. Das Gerät verwendet ein programmierbares Signalformverfahren, das die Notwendigkeit eliminiert, komplizierte Bitcodierungsprotokolle in Software zu entwickeln. Die Verwendung des erfingunsgemäßen Hardwarebitcodierergeräts reduziert direkt den Umfang an Programmspeicher, der von den Mikrocontrollern benötigt wird, um eine Datendecodierung auszuführen, und gibt auch Mikrocontroller-Hilfmittel für andere Zwecke frei. Der Hardwarebitcodierer enthält einen Satz aus zwei Musterregistern, von denen eines einem hohen Datenbitwert und das andere einem niedrigen Datenbitwert entspricht. Das spezielle Muster, das für eine Übertragung herausgeschoben werden soll, wird durch das spezielle Datensignal definiert. Die Musterübertragungsrate und -periode sind wählbar.

Description

Die vorliegende Erfindung bezieht sich auf das Gebiet co­ dierter Datenübertragungen. Die vorliegende Erfindung bezieht sich insbesondere auf ein Gerät, um eine Alternative zur Ab­ hängigkeit von Software zum Codieren von zu übertragenden Da­ ten zu liefern, und betrifft außerdem insbesondere ein in Hardware verkörpertes Gerät, das die zu übertragenden Daten codiert. Die Verwendung von Hardware und einer Nominalpro­ grammierung schafft einen Hardwarebitcodierer gemäß der vor­ liegenden Erfindung, der von Mikrocontroller-Hilfsmitteln und -Zeit unabhängig ist.
Heutige Anwendungen von Computern und elektronischen Ge­ räten nehmen in der Komplexität weiter zu. Verbesserte Lei­ stungsmerkmale solcher Anwendungen belohnen eine schnelle Da­ tenübertragung mit minimalen Zeit- und Energieanforderungen. Das Finden der Lösungen für eine gesteigerte Datenübertra­ gung, während Zeit- und Energieanforderungen reduziert sind, stellt weiter Anforderungen an die Systemkonstrukteure und Softwareingenieure, die auf zunehmend komplizierte Program­ miersoftware zurückgreifen. Das mit dem Verfolgen einer Soft­ warelösung verbundene Problem besteht darin, daß jeder Stei­ gerung in der Datenübertragung typischerweise durch eine Ge­ samtabnahme in der Systemeffizienz entgegengewirkt und diese oft aufgehoben wird. Dies ist ohne weiteres bei den Mikrocon­ troller-Hilfsmitteln einleuchtend, die verwendet werden müs­ sen, um die zunehmend komplizierte Software laufen zu lassen, die erforderlich ist, um die geforderten Aufgaben auszufüh­ ren. Die erhöhte Verwendung von Mikrocontroller-Hilfsmitteln beeinflußt direkt entscheidende Aspekte des Systems, wie z. B. den Gesamtumfang des Programmspeichers, der vom Mikrocontrol­ ler benötigt wird, um die softwaregestützte Aufgabe auszufüh­ ren. Die Verwendung von Mikrocontroller-Hilfsmitteln ist da­ her von grundlegender Bedeutung.
Auf dem Gebiet der codierten Datenübertragung wird vor­ wiegend eine Softwaremanipulation verwendet, um Datenbits zu codieren und zu decodieren. Das heißt, es ist oft notwendig, einem Datenempfänger zu ermöglichen, den Wert (1 oder 0) ei­ nes speziellen Bits zu bestätigen. Da Bitübertragungsraten insbesondere auf dem Gebiet von Infrarot/Hochfrequenz- (IR/HF)-Übertragungen ständig zunehmen, wird der Zeitumfang reduziert, der einem Empfänger zur Verfügung steht, um den Bitwert zu erkennen. Um den Empfänger, d. h. eine gewisse Art eines Verarbeitungssystems, beim genauen Erkennen eines an­ kommenden Bitwertes zu unterstützen, ist es notwendig, diesem ankommenden Bit einen etwas lesbareren codierten Wert zuzu­ weisen. Dieser codierte Wert ist typischerweise eine Folge von Bits, die dem ankommenden Bitwert äquivalent ist. Dieser codierte Wert wurde erzeugt, als ein Prozessor Daten in ein Datenregister schrieb. Die Daten werden dann in einem ausge­ wählten Format codiert und danach zur Übertragung herausge­ schoben. Falls z. B. ein Datenbit einen hohen (1) Wert hat, wurden verschiedene Arten einer Protokollsoftware entwickelt, um dieses Bit als ein Signal zu codieren, wie z. B. 1010, das verwendet wird, um diesen speziellen Bitwert zu definieren. Einen ähnlichen Typ einer entsprechenden Bitfolge, wie z. B. 0111, würde man verwenden, um eine einem niedrigen (0) Wert äquivalente Wellenform zu erzeugen. Man kann erkennen, daß eine Wellenform als Funktion eines Einzelbitwertes erzeugt wird. Da ein geeignetes Verarbeitungssystem am Empfangsende die Unterscheidung zwischen diesen beiden verschiedenen Wel­ lenformen einfacher genau verstehen kann, wird die Genauig­ keit des Lesens der ankommenden Signale erhöht. Am Empfangs­ ende gibt es entsprechend auch eine Einrichtung zum Decodie­ ren des codierten Signals, um einen Einzelbitwert zum Verar­ beiten auszugeben.
Wie angegeben, wurde die Aufgabe, Daten zu codieren, in erster Linie Softwareentwicklern überlassen. Aus diesem Grund wurden standardisierte Protokolle entwickelt. Insbesondere wurde eine Reihe von Protokollen entwickelt, die Programmie­ rern erlauben, Software zu entwerfen, um mit jeder beliebigen vorgegebenen Anwendung und verwandten Konstruktionsspezifika­ tionen fertig zu werden. Solche Protokolle schließen Manche­ ster, PWM, NRZ und andere Betriebsarten ein. Obgleich die Verwendung von Software eine nützliche Art und Weise ist, um damit codierte Datenbits zu handhaben, ist eine Softwaremani­ pulation inhärent problematisch, da eine solche Software auf Kosten anderer Funktionen Mikrocontroller-Zeit in Anspruch nimmt. Eine derartige Inanspruchnahme von Mikrocontroller- Hilfsmitteln kommt außerdem zu den Schwierigkeiten hinzu, die für Software üblich sind, wie beispielsweise, nicht aber dar­ auf beschränkt, Kompatibilitätsbelange und Testfragen.
Bedenkt man den zunehmend komplizierten softwaregestütz­ ten Stand der Technik, offenbart sich ein Bedarf an einem einfacheren Ansatz zur Datenbitcodierung. Es wird ein Gerät benötigt, das den Bedarf an Software, um ein oder mehr Bits von zu übertragenden Daten zu codieren, wesentlich reduziert oder beseitigt. Es wird auch ein solches Gerät benötigt, das in einem vernünftig möglichen Maß von Mikrocontroller- Hilfsmitteln im wesentlichen unabhängig arbeitet. Ferner be­ nötigt man ein einzelnes Gerät, das imstande ist, Datenströme zu handhaben, die in einer Vielzahl von Protokollen codiert sind. Weiterhin benötigt man noch ein Gerät, das im wesent­ lichen alle Bitcodierungsprotokolle emuliert, die nominell von der Programmierung abhängig sind.
Eine Aufgabe der vorliegenden Erfindung ist, ein Bitco­ dierergerät zu schaffen, das einen einfacheren Ansatz zur Da­ tebitcodierung liefert, der im wesentlichen ganz auf Hardware beruht. Eine weitere Aufgabe der vorliegenden Erfindung ist, ein solches Gerät zu schaffen, das Hardware, um Daten zu co­ dieren, in einem solchen Maß nutzt, daß der Bedarf an Soft­ ware im wesentlichen beseitigt ist. Eine weitere Aufgabe der vorliegenden Erfindung besteht darin, ein derartiges Gerät zu schaffen, das von Mikrocontroller-Hilfsmitteln unabhängig ist und somit diese Hilfsmittel Nicht-Codierungsfunktionen zuord­ net. Noch eine weitere Aufgabe der vorliegenden Erfindung be­ steht darin, ein solches Gerät zu schaffen, das allein im­ stande ist, Datenströme zu handhaben, die in einer Reihe von Protokollen codiert sind. Eine Aufgabe der vorliegenden Er­ findung ist auch, ein Gerät zu schaffen, das im wesentlichen alle Bitcodierungsprotokolle mit minimaler Programmierung des Geräts emuliert.
Das Hardwarebitcodierergerät der vorliegenden Erfindung enthält einen fest zugeordneten Hardwareblock zum Erzeugen einer IR/HF-Bitcodierung. Es ist softwareprogrammierbar und kann konfiguriert werden, um beinahe jedes gewünschte Bitco­ dierungsformat zu emulieren. Das Hardwarebitcodierergerät weist vorzugsweise eine Reihe von speicheradressierbaren bzw. speicherabbildbaren Registern auf, die mit ihm verbunden und konstruiert sind, um so verknüpft zu werden, daß eine Emula­ tion durch Hardware üblicher HF-Bitformate durch Verwenden einer programmierbaren Signalformtechik erzeugt wird. Die beiden Hauptregister sind ein erstes Musterregister und ein zweites Musterregister. Jedes dieser Register ist mit einem eindeutigen programmierbaren Muster programmiert. Das erste Musterregister weist ein Bitmuster entsprechend einem Bitwert 1 auf, während das zweite Musterregister ein Bitmuster ent­ sprechend einem Bitwert 0 aufweist. Ein Entscheidungsregister empfängt zuerst vom Prozessor Bit für Bit ankommende Daten und löst als Funktion eines Erkennens des ankommenden Bits das Ausgeben für eine Übertragung des Bitmusters von einem der beiden Musterregister aus.
Die Verwendung von in Hardware geschaffenen Registern für bekannte Bitmuster beseitigt den Bedarf an wesentlicher Pro­ tokollsoftware. Dies unterstützt das Verarbeitungssystem, das das codierte Signal übertragen soll. Der Hardwarebitcodierer der vorliegenden Erfindung sieht in Hardware einen takttei­ lenden Satz von Registern vor, um die Abgaberate des codier­ ten Signals vom Prozessor auf eine für eine Übertragung ge­ eignete Rate zu verlangsamen. Im einzelnen reduziert ein Standardtaktteiler den Systemtakt, der in jedem beliebigen Verarbeitungssystem einschließlich nahezu jedes Mikrocontrol­ lers ein Standard ist. Ein programmierbares Frequenzteilung- Register (engl. prescale register) sorgt für ein wahlfreies zusätzliches Verlangsamen der effektiven Taktrate, indem durch die Auswahl der Anzahl von Taktzyklen die Zeitspanhe definiert wird, die zum Lesen der Bits zulässig ist, die ge­ mustert sind und für eine Übertragung herausgeschoben werden. Zusätzliche programmierbare Register können dem Codierer der vorliegenden Erfindung hinzugefügt werden, um eine Auswahl der Anzahl gemusterter Bits zu ermöglichen, die aus den er­ sten und zweiten Musterregistern herausgeschoben werden sol­ len, sowie um die gesamte Bitmusterlänge, die von jedem Mu­ ster übertragen werden soll, und die Übertragungsrate jedes Musters zu definieren.
Durch die Verwendung der in der hierin zu definierenden Art und Weise gekoppelten Hardwareregister liefert die vor­ liegende Erfindung ohne eine teure und Hilfsmittel in An­ spruch nehmende Codierungssoftware eine Einrichtung zum Emu­ lieren von Bitcodierungsmustern jedes beliebigen Protokolls.
Es versteht sich, daß andere Aufgaben und Vorteile der vorliegenden Erfindung durch die folgende Beschreibung der Zeichnungen gemäß der vorliegenden Erfindung ersichtlich wer­ den. Obgleich eine bevorzugte Ausführungsform offenbart wird, soll dies nicht beschränkend sein. Vielmehr sind die hierin dargelegten allgemeinen Prinzipien nur als den Umfang der vorliegenden Erfindung veranschaulichend zu betrachten, und es versteht sich ferner, daß zahlreiche Änderungen vorgenom­ men werden können, ohne vom Umfang der vorliegenden Erfindung abzuweichen.
Ein Ausführungsbeispiel eines Hardwarebitcodierers und eines Verfahrens zum Codieren von Daten eines Stroms von Da­ tensignalen wird im folgenden anhand schematischer Zeichnun­ gen beschrieben. Es zeigen:
Fig. 1 ein erstes vereinfachtes Blockdiagramm des Hard­ warebitcodierers der vorliegenden Erfindung, der im Kontext dargestellt ist;
Fig. 2 ein zweites Blockdiagramm des Hardwarebitcodie­ rers der vorliegenden Erfindung;
Fig. 3 ein vereinfachtes schematisches Diagramm der Schaltungsanordnung einer Steuerlogik des Hardwarebitcodie­ rers der vorliegenden Erfindung, wie er in Fig. 2 gezeigt ist; und
Fig. 4 ein Abtastmuster, nachdem eine Operation des Hardwarebitcodierers der vorliegenden Erfindung begonnen hat.
Fig. 1 liefert eine vereinfachte Veranschaulichung eines Hardwarebitcodierers 100 der vorliegenden Erfindung. Der Co­ dierer 100 enthält eine Steuerlogikschaltung 16, um von einem Prozessorkern ein Systemtaktsignal CLK, einen Datenstrom DA­ TEN und Register-Auswahl-Befehle zu empfangen, die auf eine Steueroperation von mit dem Codierer 100 verbundenen Regi­ stern gerichtet sind. Der Codierer 100 enthält ein VORSKALIE­ RUNG- bzw. FREQUENZTEILUNG-Register 13 zum auswählbaren Fest­ legen einer internen Taktrate, die mit der Rate einer Daten­ übertragung aus dem Codierer 100 bei Codierte Bitausgabe in einem vorausgewählten Format verbunden ist. Der Codierer 100 enthält ferner ein DATEN-Register 15, dessen Ausgabe zusammen mit den Ausgaben eines ersten Zählers C1 und eines zweiten Zählers C2 zu einem Entscheidungsregister 50 geleitet wird. Die Ausgabe bei Codierte Bitausgabe wird durch den Datenwert bestimmt, der durch das DATEN-Register 15 ausgegeben wird. In der bevorzugten Ausführungsform der vorliegenden Erfindung wird, wenn die Ausgabe des DATEN-Registers 15 ein hoher Bit­ wert ist, das Entscheidungsregister 50 das mit dem Zähler C1 verbundene Muster liefern. Wenn das DATEN-Register 15 einen niedrigen Bitwert ausgibt, liefert das Entscheidungsregister 50 das Muster des zweiten Zählers C2. Das heißt, wenn ausge­ wählt, schiebt der Zähler C1 ein erstes programmiertes Bitmu­ ster entsprechend einem Muster heraus, das dem X-MUSTER- Register 10 zugeordnet bzw. mit diesem verbunden ist. Der Zähler C2 schiebt entsprechend ein zweites programmiertes Bitmuster heraus, das einem mit einem Y-MUSTER-Register 11 verbundenen Muster entspricht.
Fig. 2 zeigt ein zweites Blockdiagramm des Hardwarebit­ codierers 100 gemäß der vorliegenden Erfindung. Der Codierer 100 kann eine Frequenz viertelnde bzw. durch vier teilende Teilschaltung DIV enthalten, die einfach ein Paar Flipflops oder irgendeine andere geeignete, dem Fachmann bekannte Schaltungsanordnung sein kann, in die der Systemtakt CLK ge­ leitet wird. Diese Teilung durch Vier über den DIV-Block ist erforderlich, um einen Systemtakt, der typischerweise in der Größenordnung von 1 MHz arbeitet, in den kHz-Bereich herun­ terzubringen. Dies ist wünschenswert, weil der Codierer 100 vorzugsweise im kHz-Bereich betrieben wird. Es versteht sich jedoch, daß ein Systemtakt mit niedrigerer Arbeitsfrequenz keine Teilung erfordern kann oder in Abhängigkeit von der speziellen Hardware und Systemaufgabenbearbeitung eine Tei­ lung um weniger oder mehr als Vier erfordern kann. Nimmt man jedoch an, daß eine durch Vier teilende Teilschaltung verwen­ det wird, wird dann das reduzierte Taktsignal von dem DIV- Block in eine Steuerlogik 16 geleitet. Die Steuerlogik 16 wird später mit Verweis auf Fig. 3 diskutiert.
Nach Fig. 2 enthält ferner der Codierer 100 auch das X- MUSTER-Register 10. Das X-MUSTER-Register 10 arbeitet, um ein vordefiniertes Bitmuster herauszuschieben, das über einen Eingang A0 programmiert wurde, falls und nur falls ein zu co­ dierendes Einzeldatenbit (d. h. das Testbit) am Datenbitein­ gang DATEN "1" ist. Ist das vordefinierte Muster einmal her­ ausgeschoben, wird das X-MUSTER-Register 10 automatisch mit dem vorgeschobenen Wert neu bzw. nachgeladen. Das Y-MUSTER- Register 11 ist ebenfalls in Fig. 2 gezeigt. Wie bei dem X- MUSTER-Register 10 wird sein über einen Eingang A1 konfigu­ riertes vordefiniertes Muster herausgeschoben, falls und nur falls das zu codierende Einzeldatenbit am Datenbiteingang DA­ TEN "0" ist. Ist die Bitfolge des Y-MUSTER-Registers 11 ein­ mal herausgeschoben, wird das Register 11 automatisch mit dem vorgeschobenen Wert nachgeladen. Es ist besonders zu erwäh­ nen, daß DATEN ein Standarddatenbus ist, der mit allen Regi­ stern verknüpft ist, wie es in den meisten Verarbeitungssy­ stemen üblich ist.
Der Codierer 100 der vorliegenden Erfindung enthält auch ein BPAUSWAHL-Register 12, das über einen auswählbaren Ein­ gang A2 programmiert ist, um eine Bitperiode auszuwählen, d. h. die Anzahl Taktzyklen, innerhalb denen ein spezielles Bitmuster aus entweder dem Register 10 oder dem Register 11 herausgeschoben werden kann. Ein hohes Halbbyte (Vier-Bit- Gruppe) und ein niedriges Halbbyte des Registers 12 können anfangs durch den Benutzer programmiert werden. Innerhalb des BPAUSWAHL-Registers 12 steuern die niedrigeren 3 Bits die ho­ he Periode, und die niedrigeren 3 Bits steuern die niedrige Periode. Die Bitperiode reicht vorzugsweise von 1 bis 8 Takt­ perioden. Natürlich ist die Dauer der Bitperiode eine Funkti­ on der Systemtaktrate und des Vorhandenseins oder Fehlens des Teilers DIV.
Der Codierer 100 enthält ferner das FREQUENZTEILUNG- Register 13, das durch einen Eingang A3 programmierbar ist. Das FREQUENZTEILUNG-Register 13 ist ein Teilungszähler (engl. divide-by counter), vorzugsweise mit der Fähigkeit durch 256 zu teilen. In der vorzuziehenden Konstruktion der vorliegen­ den Erfindung kann somit der Benutzer bei A3 einen einer be­ liebigen Zahl zwischen 0 und 256 äquivalenten Binärwert in das FREQUENZTEILUNG-Register 13 laden, um eine gewünschte in­ terne Taktrate einzustellen. Der Codierer kann auch ein pro­ grammierbares STEUERUNG-Register 14 enthalten, das drei pri­ märe Funktionen ausführt, von denen jede durch eine Eingabe bei A4 definiert ist. Zuerst wird das STEUERUNG-Register 14 verwendet, um den Codierer 100 zu starten und zu stoppen. Das heißt, eine Steuerlogik kann programmiert werden, um den Be­ trieb des Codierers 100 zu definieren. Zweitens wird das STEUERUNG-Register 14 verwendet, um die gewünschte Rahmenlän­ ge des zu codierenden Bitstroms auszuwählen, die vordefiniert ist. Drittens wird das STEUERUNG-Register 14 verwendet, um entweder einzelne oder mehrere Rahmenketten als Funktion der Länge der auszugebenden Datenkette auszuwählen. In den mei­ sten Fällen werden die Register wahrscheinlich Acht-Bit- Register sein. Wenn für eine Übertragung aus dem Codierer 100 Datenketten mit mehr als acht Bits herausgeschoben werden sollen, signalisiert deshalb das STEUERUNG-Register 14 dem Prozessor, daß ein oder mehr folgende Sätze von Bits zusammen mit dem ersten Satz verschoben werden sollen. Dieses Signali­ sieren findet vorzugsweise derart statt, daß der folgende Satz von Bits vor einem Herausschieben des letzten Bits des vorherigen Satzes verschoben wird.
Eine Eingabe codierter Daten von einem internen Datenbus DATEN und ein Signal A4 werden über das Entscheidungsregister 50 von Fig. 1 für einen Durchsatz des codierten Datenstroms in einer geordneten Art und Weise zum STEUERUNG-Register 14 geleitet. Auf diese Weise kann jedes beliebige gewünschte Mu­ ster so ausgewählt werden, daß der Codierer 100 im wesentli­ chen jedes Bitcodierungsformat emulieren kann. Ein über einen Eingang A5 programmierbares DATEN-Register 15 ist darge­ stellt, das einen 8-Bit-Wert aus dem Datenstrom hält. Der Co­ dierer 100 verwendet diesen 8-Bit-Wert, um ein Pulsbreitenmo­ dulationsformat zu erzeugen, das auf das definierte spezielle Signalcodierungsprotokoll bezogen ist. Diese Konfiguration kann natürlich nach Wunsch abgewandelt werden, ohne vom pri­ mären Umfang der Erfindung abzuweichen, insofern als eine Programmierung des DATEN-Registers 15 wie bei den anderen hierin beschriebenen Registern abgewandelt werden kann, um der speziellen Situation zu entsprechen, auf die der Benutzer trifft.
In Fig. 3 ist der Steuerlogikblock 16 der vorliegenden Erfindung auf der Schaltungsebene ausführlich dargestellt. Eingänge 10 bis 15 und CLK in Fig. 3 entsprechen den nume­ rierten Blöcken 10 bis 15 und CLK in Fig. 2. Die Ausgänge der Register 10-15 sind tatsächlich die Eingänge 10-15 zum Logikblock 16, wie in Fig. 3 gezeigt ist. Der Logikblock 16 enthält einen X-Schieber 20, der die Ausgabe des X-MUSTER- Registers 10 empfängt, und einen Y-Schieber 21, der die Aus­ gabe des Y-MUSTER-Registers 11 empfängt. Obgleich der X- Schieber 20 und der Y-Schieber 21 in jedem geeigneten Format verkörpert sein können, werden sie jeweils vorzugsweise durch eine Reihe gekoppelter Flipflops geschaffen, um einer in ei­ ner dem Fachmann bekannten Art und Weise kaskadierende bzw. stufenförmige Schieber (engl. cascading shifters) herzustel­ len. Der X-Schieber 20 wird durch ein UND-Gatter G5 ausge­ löst, um eine serielle Übertragung der X-Musterausgabe vom Register 10 entsprechend der Codierung für eine DATEN-Eingabe 1 auszugeben, die mit dem höchstwertigen Bit zuerst an ein UND-Gatter G1 abgegeben wird. Der Y-Schieber 21 wird durch ein UND-Gatter G6 ausgelöst, um eine serielle Übertragung der Y-Musterausgabe vom Register 11 entsprechend der Codierung für eine DATEN-Eingabe 0 auszugeben, die mit dem höchstwerti­ gen Bit zuerst an ein UND-Gatter G3 abgegeben wird.
Weiter nach Fig. 3 wird die programmierte Bitperiode von dem BPAUSWAHL-Register 12 zu einem X-Abgleichkomparator 22 und zu einem Y-Abgleichkomparator 23 geleitet. Es ist beson­ ders zu erwähnen, daß die Periode des Verschiebens des X- Musters von der für das Verschieben des Y-Musters definierten Periode unabhängig sein kann. Der X-Abgleichkomparator 22 ist auch mit einem X-Zähler C1 gekoppelt. Der X-Zähler C1 wird mit Zählerwerten geladen, die mit einem hierin zu beschrei­ benden Nachlade-Frequenzteilung-Register 25 verbunden sind und in den X-Abgleichkomparator 22 verschoben werden. Der Y- Abgleichkomparator 23 ist ebenfalls mit einem Y-Zähler C2 verbunden. Wie beim X-Zähler C1 wird der Y-Zähler C2 mit Zählerwerten geladen, die mit dem Nachlade-Frequenzteilung- Register 25 verbunden sind. Ausgaben des X-Abgleichkompara­ tors 22 und des Y-Abgleichkomparators 23 werden in einem ODER-Gatter G4 kombiniert, dessen Ausgabe zu einem dem X- Schieber 20 entsprechenden UND-Gatter G5 und zu einem dem Y- Schieber 21 entsprechenden UND-Gatter G6 übertragen wird. Wie man sehen kann, bestimmt diese Anordnung den Betrieb der Schieber 20 und 21 in bezug auf die durch den Benutzer ge­ wählte gewünschte Bitperiode.
Es ist besonders zu erwähnen, daß die restlichen Eingaben in die Gatter G5 und G6 vom Testflipflop FF1 kommen. Das Testflipflop FF1 wird durch den Ausgabewert des DATEN- Registers 15 ausgelöst und durch die Ausgabe des ODER-Gatters G4 eingestellt/zurückgesetzt. Die invertierte Ausgabe des Testflipflops FF1 und die Ausgabe eines Systemflipflops FF3 werden ebenfalls zum Gatter G3 übertragen. Die Ausgaben der Gatter G1 und G3 werden dann zusammen bei einem ODER-Gatter G2 ODER-verarbeitet, so daß, wenn der Codierer 100 freigege­ ben ist, immer eine Ausgabe AUS vom Gatter G2 vorliegen wird, die entweder das X-Muster oder das Y-Muster codierter Daten ist, die vom Prozessor übertragen werden sollen. In der be­ vorzugten Ausführungsform der vorliegenden Erfindung verkör­ pern die Gatter G1-G3 größtenteils das in Fig. 1 gezeigte Entscheidungsregister 50.
Das Systemtaktsignal CLK, das in einen dem Teiler DIV von Fig. 2 entsprechenden, durch Vier teilenden Teiler 24 gelei­ tet werden kann, wird mit der Ausgabe 13 des FREQUENZTEILUNG- Registers beim Nachlade-Frequenzteilung-Register 25 kombi­ niert, um das den Zählern C1 und C2, den Schiebern 20 und 21 und dem Y-Abgleichkomparator 23 zugeführte HF-Taktsignal zu erzeugen. Der Ausgang des STEUERUNG-Registers 14 leitet sei­ nen Steuerdatenwert zu einem Datenzähler 26, der mit dem Bit­ perioden-Abgleichwert vom ODER-Gatter G4 kombiniert, um eine Ausgabe zu erzeugen, die vorzugsweise durch ein ODER-Gatter G8 zu einem Hauptflipflop FF2 geleitet wird. Die Ausgabe des Datenzählers 26 wird ebenfalls entsprechend über ein UND- Gatter G10 und ODER-Gatter G9 zu einem Systemflipflop FF3 ge­ leitet. Der Betrieb des Systemflipflops FF3 ist ebenfalls von der Ausgabe des Hauptflipflops FF2 abhängig, so daß ein HOCH- Ausgabewert das UND-Gatter G5 tatsächlich einschaltet, wäh­ rend ein NIEDRIG-Ausgabewert das UND-Gatter G6 tatsächlich einschaltet. Es folgt eine Zusammenfassung eines Beispiels der Operation des Codierers 100.
Im Betrieb werden in den Eingang DATEN geschriebene Daten Bit für Bit in jedes der fünf bekannten Register geschoben. Falls das eingeschobene aktive Bit 1 ist, wird das Muster in dem X-MUSTER-Register 10 aus dem G2-Ausgangspin bzw. -an­ schluß herausgeschoben (höchstwertiges Bit bis niedrigst­ wertiges Bit). Falls das aktive Bit 0 ist, wird entsprechend das Muster in dem Y-MUSTER-Register 11 aus dem G2-Ausgangs­ anschluß herausgeschoben (wieder höchstwertiges Bit bis nied­ rigstwertiges Bit).
Die Anzahl von Bits der Musterregister 10 und 11, die verschoben werden (8 Bits maximal), ist durch die niedrigeren sechs Bits des BPAUSWAHL-Registers 12 bestimmt. Die Bits BX2 bis BX0 legen die Länge der Ausgabe des X-MUSTER-Registers 10 fest, während die Bits BY2 bis BY0 die Länge der Ausgabe des Y-MUSTER-Registers 11 festlegen. Die Anzahl von aus dem DA­ TEN-Register 15 herausgeschobenen Bits, d. h. die Rahmenlänge, ist durch die niedrigeren drei Bits des STEUERUNG-Registers 14 bestimmt. Das FREQUENZTEILUNG-Register 13 ist ein 8-Bit- Register, das programmiert ist, um die gewünschte HF-Takt­ frequenz auszuwählen. Für einen Systemtakt von 1 MHz, der durch einen Teiler DIV durch Vier geteilt wurde, wird eine HF-Taktfrequenz erzeugt, die zwischen 0,976 kHz bis 250 kHz liegt. Ist das FREQUENZTEILUNG-Register 13 einmal program­ miert, wird die gewünschte HF-Frequenz so lange beibehalten, wie der Codierer 100 freigegeben ist, oder so lange, wie das Gerät mit Energie versorgt wird. Tabelle 1 liefert eine Zu­ sammenfassung der Bitwerte, die in den relevanten Registern programmiert werden können.
TABELLE 1
Wie betont wurde, wird das STEUERUNG-Register 14 verwen­ det, um zu starten, zu stoppen und die Ausgaberahmenlänge des Hardwarebitcodierergeräts auszuwählen. Sind einmal in Tabelle 2 gezeigte Datenrahmenbits FM2 bis FM0 dieses Registers pro­ grammiert und ist ein START-Bit gesetzt, wird die ausgewählte Rahmenlänge aus dem Ausgang des Gatters G2 seriell übertra­ gen. In einem Beispiel wird ein Datenschreiben irgendeines speziellen Hexadezimalwertes in das STEUERUNG-Register 14 ei­ ne Operation starten. Wenn das letzte Bit der DATEN in das DATEN-Register 15 verschoben ist, wird ein Flag-"AN"-Bit OFLAG gesetzt, das anzeigt, daß eine Datenschiebeoperation gerade abgeschlossen wird. Falls der gewünschte Rahmen von zu codierenden Daten größer als 8 Bits ist, wird das STEUERUNG- Register 14 programmiert werden, um das DATEN-Register 15 mit der nächsten Rahmensequenz nachzuladen und das START-Bit schreiben, unmittelbar nachdem ein Rücksetz-Flag-Bit FRFLG auf Null zurückgesetzt ist, jedoch bevor die Verschiebungsse­ quenzen des X-MUSTER-Registers 10 und des Y-MUSTER-Registers 11 abgeschlossen sind. Dies wird das OFLAG auf Null zurück­ setzen, und der Hardwarebitcodierer 100 wird weiter arbeiten. Die Bitanordnung des STEUERUNG-Registers 14 ist in Tabelle 2 gezeigt.
TABELLE 2
Ein spezielles Beispiel einer Bitcodierung, die durch die Verwendung des so aufgebauten Codierers 100 der vorliegenden Erfindung erreicht wird, ist in Fig. 4 in bezug auf das fol­ gende einfache Beispiel dargestellt. Unter Verwendung bekann­ ter Programmierverfahren hat eine Hexadezimaleingabe 24H in das BPAUSWAHL-Register 12 die Auswahl einer Bitperiode T = 4HF zur Folge. Ein Hexadezimalwert 03H wird in das X-MUSTER- Register 10 eingegeben, und ein Wert 05H wird in das Y- MUSTER-Register 11 eingegeben. Die zu codierenden Daten DATEN werden in das DATEN-Register 15 eingegeben. Falls Bit 7 = 0 ist, wird dann die obere Wellenform von Fig. 4 beobachtet. Falls Bit 7 = 1 ist, wird dann die mittlere Wellenform beobach­ tet. Schließlich wird ein Hexadezimalwert 20H in das STEUE­ RUNG-Register 14 eingegeben, um die Rahmenlänge auszuwählen und den Betrieb des Codierers 100 zu starten.
Es sollte sich verstehen, daß die hier erwähnten bevor­ zugten Ausführungsformen die vorliegende Erfindung nur veran­ schaulichen. Zahlreiche Änderungen in der Konstruktion und in der Verwendung der vorliegenden Erfindung können im Hinblick auf die folgenden Ansprüche erwogen werden, ohne vom beab­ sichtigten Umfang und Bereich der hierin offenbarten Erfin­ dung abzuweichen.

Claims (15)

1. Hardwarebitcodierer (100) zum Codieren von zu übertra­ genden Daten, der mit einem Datenbus gekoppelt ist und um­ faßt:
  • a) ein Datenregister (15) zum Empfangen eines Stroms von Datensignalen vom Datenbus;
  • b) eine Steuerlogikschaltung (16), die mit dem Datenregi­ ster (15), einem Systemtakt (CLK) und einem Ausgang des Hardwarebitcodierers (100) gekoppelt ist; und
  • c) eine programmierbare Einrichtung zum Definieren von Signalmustern, die mit einem Bit mit hohem Wert (1) und einem Bit mit niedrigem Wert (0) von Daten aus dem Strom von Datensignalen verbunden sind, wobei die programmierbare Einrichtung zwischen den Datenbus und die Steuerlogikschaltung (16) gekoppelt ist,
worin die programmierbare Einrichtung mit den Daten gela­ den wird und jedes Bit mit niedrigem Wert (0) von Daten aus dem Datenstrom mit einem entsprechenden ersten auswählbaren Muster von Bits codiert und jedes Bit mit hohem Wert (1) von Daten aus dem Datenstrom mit einem entsprechenden zweiten auswählbaren Muster von Bits codiert.
2. Hardwarebitcodierer nach Anspruch 1, ferner mit einer zwischen die Steuerlogikschaltung (16) und den Systemtakt (CLK) gekoppelten Taktteilungsschaltung (DIV).
3. Hardwarebitcodierer nach Anspruch 2, ferner mit einem Bitperiode-Auswahlregister (12), das mit der Steuerlogik­ schaltung (16) gekoppelt ist, worin das Bitperiode-Auswahl­ register (12) konstruiert ist, um eine erste Periode zu defi­ nieren, die mit dem ersten auswählbaren Muster von Bits ver­ bunden ist, und eine zweite Periode, die mit dem zweiten aus­ wählbaren Muster von Bits verbunden ist.
4. Hardwarebitcodierer nach Anspruch 3, worin die erste Periode und die zweite Periode nicht gleich sind.
5. Hardwarebitcodierer nach Anspruch 1, ferner mit einem mit der Steuerlogikschaltung (16) gekoppelten Frequenztei­ lung-Register (13), worin das Frequenzteilung-Register (13) konstruiert ist, um eine interne Taktrate zu definieren, die mit einem Betrieb der Steuerlogikschaltung (16) verbunden ist.
6. Hardwarebitcodierer nach Anspruch 1, worin die pro­ grammierbare Einrichtung zum Definieren von Signalmustern, die mit dem Bit mit hohem Wert (1) und dem Bit mit niedrigem Wert (0) von Daten aus dem Strom von Datensignalen verbunden sind, ein erstes speicherabbildbares Musterregister (10), das mit dem Bit mit hohem Wert (1) verbunden ist, und ein zweites speicherabbildbares Musterregister (11) enthält, das mit dem Bit mit niedrigem Wert (0) verbunden ist, worin das erste Mu­ sterregister (10) mit dem ersten auswählbaren Muster von Bits programmierbar ist und das zweite Musterregister (11) mit dem zweiten auswählbaren Muster von Bits programmierbar ist.
7. Hardwarebitcodierer nach Anspruch 6, worin die Steuer­ logikschaltung (16) einen mit dem ersten Musterregister (10) gekoppelten ersten Schieber (20) und einen mit dem zweiten Musterregister (11) gekoppelten zweiten Schieber (22) ent­ hält.
8. Hardwarebitcodierer nach Anspruch 7, ferner mit einem Bitperiode-Auswahlregister (12), das mit der Steuerlogik­ schaltung (16) gekoppelt ist, worin das Bitperiode-Auswahl­ register (12) konstruiert ist, um eine mit dem ersten aus­ wählbaren Muster von Bits verbundene erste Periode und eine mit dem zweiten auswählbaren Muster von Bits verbundene zwei­ te Periode zu definieren, und die Steuerlogikschaltung (16) ferner einen Komparator (22) für das erste Muster und einen Komparator (23) für das zweite Muster enthält, die mit dem Bitperiode-Auswahlregister (12) gekoppelt sind.
9. Hardwarebitcodierer nach Anspruch 8, worin die Steuer­ logikschaltung (16) ferner einen mit dem Komparator (22) für das erste Muster gekoppelten ersten Zähler (C1) und einen mit dem Komparator (23) für das zweite Muster gekoppelten zweiten Zähler (C2) enthält, worin der erste Zähler (C1) und der zweite Zähler (C2) mit dem Ausgang des Hardwarebitcodierers (100) gekoppelt sind.
10. Hardwarebitcodierer nach Anspruch 1, ferner mit einem mit der Steuerlogikschaltung (16) gekoppelten programmierba­ ren Steuerregister (14), worin das programmierbare Register konstruiert ist, um eine Rahmenlänge des Bitmusters zu defi­ nieren.
11. Hardwarebitcodierer nach Anspruch 10, worin das Steu­ erregister ferner konstruiert ist, um die Anzahl von Rahmen codierter Daten zu definieren, die aus dem Hardwarebitcodie­ rer herausgeschoben werden sollen.
12. Verfahren zum Codieren von Daten eines Stroms von Da­ tensignalen, die übertragen werden sollen, worin das Verfah­ ren im wesentlichen ganz auf der Verwendung von Hardware be­ ruht, mit den Schritten:
  • a) Liefern von Daten aus einem Strom von Datensignalen an ein Datenregister der Bitcodierer-Schaltungsanord­ nung, worin die Bitcodierer-Schaltungsanordnung einen Ausgang für codierte Daten enthält;
  • b) Definieren eines mit einem Bit mit hohem Wert der Da­ ten aus dem Strom von Datensignalen verbundenen er­ sten Signalmusters in einem ersten Musterregister;
  • c) Definieren eines mit einem Bit mit niedrigem Wert der Daten aus dem Strom von Datensignalen verbundenen zweiten Signalmusters in einem zweiten Musterregi­ ster; und
  • d) Herausschieben entweder des ersten Signalmusters oder des zweiten Signalmusters aus dem Ausgang für codier­ te Daten als Funktion davon, ob ein Datenbit zum Da­ tenregister ein Bit mit hohem Wert oder ein Bit mit niedrigem Wert ist.
13. Verfahren nach Anspruch 12, worin das erste Signalmu­ ster und das zweite Signalmuster individuell auswählbare Mu­ ster von Bits sind.
14. Verfahren nach Anspruch 13, ferner mit dem Schritt eines Definierens einer ersten Periode, die mit dem ersten auswählbaren Muster von Bits verbunden ist, und einer zweiten Periode, die mit dem zweiten auswählbaren Muster von Bits verbunden ist.
15. Verfahren nach Anspruch 14, ferner mit dem Schritt eines Definierens einer internen Taktrate, die mit einer Übertragungsrate des ersten auswählbaren Musters von Bits und des zweiten auswählbaren Musters von Bits verbunden ist.
DE19920469A 1998-05-05 1999-05-04 Hardwarebitcodierer und Verfahren zum Codieren von Daten Expired - Fee Related DE19920469C2 (de)

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
US09/072,897 US6043762A (en) 1998-05-05 1998-05-05 Hardware bit coder

Publications (2)

Publication Number Publication Date
DE19920469A1 true DE19920469A1 (de) 1999-11-18
DE19920469C2 DE19920469C2 (de) 2002-09-19

Family

ID=22110412

Family Applications (1)

Application Number Title Priority Date Filing Date
DE19920469A Expired - Fee Related DE19920469C2 (de) 1998-05-05 1999-05-04 Hardwarebitcodierer und Verfahren zum Codieren von Daten

Country Status (3)

Country Link
US (1) US6043762A (de)
JP (1) JP3070926B2 (de)
DE (1) DE19920469C2 (de)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10058766A1 (de) * 2000-11-27 2002-06-13 Trend Network Ag Verfahren zur unidirektionalen Datenübertragung, insbesondere über die Stromzufuhr eines Fahrzeuges

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114326512A (zh) * 2021-12-30 2022-04-12 漳州市瑞敏特电子设备有限公司 多功能三合一编码发射器

Family Cites Families (19)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US4222103A (en) * 1978-09-25 1980-09-09 Motorola, Inc. Real time capture registers for data processor
DE2930509C2 (de) * 1979-07-27 1985-02-14 ANT Nachrichtentechnik GmbH, 7150 Backnang Verfahren zur Informationsübertragung
US5218693A (en) * 1988-07-29 1993-06-08 Hitachi, Ltd. Timer unit and data processing apparatus including the same
JPH0337715A (ja) * 1989-07-05 1991-02-19 Fujitsu Ltd ビット順反転回路
SE466725B (sv) * 1990-07-18 1992-03-23 Goeran Krook Foerfarande foer att begraensa bandbredden hos en godtycklig binaer signal
US5327580A (en) * 1990-10-12 1994-07-05 Ericsson Ge Mobile Communications Inc. Full duplex RF repeater/base station providing microprocessor-controlled simultaneous CTCSS tone encode/decode
US5233628A (en) * 1991-05-29 1993-08-03 Virginia Polytechnic Institute And State University Computer-based bit error simulation for digital wireless communications
JPH0528658A (ja) * 1991-07-24 1993-02-05 Nec Corp 1−7コード信号デコード装置
US5193210A (en) * 1991-07-29 1993-03-09 Abc Auto Alarms, Inc. Low power RF receiver
US5325341A (en) * 1992-08-31 1994-06-28 Motorola, Inc. Digital timer apparatus and method
GB2271232B (en) * 1992-10-03 1997-05-07 Motorola Inc Pulse generation/sensing arrangement for use in a microprocessor system
US5379031A (en) * 1992-10-19 1995-01-03 Motorola, Inc. Method and apparatus for conversion of maildrop message to selective call individual message
US5471663A (en) * 1993-07-01 1995-11-28 Motorola, Inc. Expanded microcomputer system for controlling radio frequency interference
DE4425926C1 (de) * 1994-07-21 1996-02-08 Siemens Ag Verfahren und Schaltungsanordnung zur Codierung und Dekodierung von Zusatzinformation in einem digitalen Signal
US5577235A (en) * 1994-08-31 1996-11-19 Microchip Technologies, Inc. Microcontroller with multiple timing functions available in a single peripheral module
US5592113A (en) * 1995-03-28 1997-01-07 National Semiconductor Corp. Gradual frequency changing circuit
US5652783A (en) * 1995-06-29 1997-07-29 Motorola, Inc. Method and apparatus for selectively encoding digital messages in a communication system
US5600314A (en) * 1995-07-27 1997-02-04 Oliveros; Ernesto V. Data input device and correlative encoding technique
US5636266A (en) * 1996-02-15 1997-06-03 Mti International Wireless caller information processing system

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
DE10058766A1 (de) * 2000-11-27 2002-06-13 Trend Network Ag Verfahren zur unidirektionalen Datenübertragung, insbesondere über die Stromzufuhr eines Fahrzeuges

Also Published As

Publication number Publication date
JPH11355143A (ja) 1999-12-24
US6043762A (en) 2000-03-28
DE19920469C2 (de) 2002-09-19
JP3070926B2 (ja) 2000-07-31

Similar Documents

Publication Publication Date Title
DE2846117C2 (de) Datenprozessor
DE3784082T2 (de) Adaptive befehlsverarbeitung durch feldrechner mit prozessoridentifikation und datenabhaengigen statusregistern in jedem prozessorelement.
DE1499722B1 (de) Einrichtung zur modifizierung von informationswoertern
DE2536622C2 (de) Verzweigungssteuerung mit flexibler Auswahl von Steuerworten
DE4218787C2 (de) Selbstschaltende Einrichtung für eine Zentraleinheits-Logik
DE1774296A1 (de) Steuereinheit fuer elektronische Digitalrechner
DE2912287B2 (de) Datenverarbeitungsanlage
DE2421130C2 (de)
DE2153542A1 (de) Codierer für eine binäre Informationsbitfolge
DE3856139T2 (de) Mikroprozessor
DE2607842A1 (de) System zur textausgabe und -anzeige
DE1197650B (de) Parallel-Addierer
DE3926489A1 (de) Pseudozufallsrauschcodegenerator
DE2506671B2 (de) Binärdaten-Handhabungsnetzwerk
DE2403039C2 (de) Einrichtung zur Befehlsausführung in einer adressenerweiterten elektronischen Datenverarbeitungsanlage
DE19920469A1 (de) Hardwarebitcodierer
DE2235883C3 (de) Datenverarbeitungseinrichtung
EP1000390A1 (de) Schaltungsanordnung und verfahren zur speicherplatzverwaltung und zur abarbeitung von anwenderprogrammen in kleinsteuerungen
DE3101270C2 (de) Rechneranordnung zur Wortverarbeitung mit einer Einrichtung zur Funktionserweiterung
DE1916377C3 (de)
DE2000275A1 (de) Elektronischer Walzenschalter
DE4123007C2 (de) Verfahren und Anordnung zur Anpassung von Datenraten
DE2936801C2 (de) Steuereinrichtung zur Ausführung von Instruktionen
DE1449567C3 (de) Digitales Datenverarbeitungssystem
WO1986001660A1 (en) Data compression and expansion system for the transfer or storage of data

Legal Events

Date Code Title Description
OP8 Request for examination as to paragraph 44 patent law
D2 Grant after examination
8364 No opposition during term of opposition
R119 Application deemed withdrawn, or ip right lapsed, due to non-payment of renewal fee

Effective date: 20131203