DE19920469A1 - Hardwarebitcodierer - Google Patents
HardwarebitcodiererInfo
- 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
Links
Classifications
-
- H—ELECTRICITY
- H03—ELECTRONIC CIRCUITRY
- H03M—CODING; DECODING; CODE CONVERSION IN GENERAL
- H03M5/00—Conversion of the form of the representation of individual digits
- H03M5/02—Conversion to or from representation by pulses
- H03M5/04—Conversion to or from representation by pulses the pulses having two levels
- H03M5/06—Code representation, e.g. transition, for a given bit cell depending only on the information in that bit cell
- H03M5/08—Code 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.
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.
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,
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.
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)
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)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN114326512A (zh) * | 2021-12-30 | 2022-04-12 | 漳州市瑞敏特电子设备有限公司 | 多功能三合一编码发射器 |
Family Cites Families (19)
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 |
-
1998
- 1998-05-05 US US09/072,897 patent/US6043762A/en not_active Expired - Lifetime
-
1999
- 1999-05-04 DE DE19920469A patent/DE19920469C2/de not_active Expired - Fee Related
- 1999-05-06 JP JP11125885A patent/JP3070926B2/ja not_active Expired - Fee Related
Cited By (1)
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 |