-
Die vorliegende Erfindung betrifft eine als Hardware
entworfene Logikschaltung zum Erzeugen einer Adresse, um einen
Datenfehler zu erfassen oder zu korrigieren.
-
Bei z. B. einem CD-ROM-System oder einem CD-I-System werden
Paritätssymbole für eine Fehlerkorrektur (redundante
Daten), die als P-Parität und Q-Parität bezeichnet werden,
Digitaldaten hinzugefügt. Durch das Erstellen von
Fehlerkorrekturcodes, die aus verteilten Daten bestehen, ist es
möglich, Fehler, die dazu tendieren unregelmäßig zu sein,
zu verteilen, um so effektiv Spielraum für eine
Fehlerkorrektur vorzusehen. Beim Dekodieren von P- und Q-Codes,
die aus solchen Daten und Paritätssymbolen bestehen, ist es
erforderlich, Adressen in einer komplexen Art und Weise zu
erzeugen.
-
EP-A-191 410 offenbart eine Adressenerzeugungsschaltung,
die Leseadressen zum Adressieren eines Speichers erzeugt,
in den eine Vielzahl von Fehlerkorrektur-Codeworten, die
aus Daten und Paritätssymbolen zum Erfassen oder
Korrigieren eines Fehlers in den Daten bestehen, sequentiell
eingespeichert werden und aus dem diese ausgelesen werden.
-
Die bekannte Adressierschaltung weist zwei Abschnitte auf,
einen ersten Abschnitt, der aus einem ROM und einem Zähler
zum Erzeugen der Adressendaten innerhalb eines Blocks
besteht, und einen zweiten Abschnitt, der aus einem anderen
ROM und einem zweiten Zähler zum Erzeugen eines Offsets,
wann immer sich der Block ändert, besteht. Dies ermöglicht
das Erzeugen einer begrenzten Anzahl von Adressen, die
gemäß einer vorgegebenen mathematischen Gleichung in einer
vorbestimmten Abfolge erzeugt wurden. Jedoch ist das
Verwenden von ROMs in LSI-Schaltungen aus nachfolgend
dargestellten Gründen nicht akzeptierbar.
-
EP-A-136 882 offenbart eine Datenverarbeitungsschaltung für
ein Digitaltonsystem, das ähnlich dem der EP-A-191 410 ist
und auch eine erste Schaltung zum Erzeugen einer
symbolischen Adresse und eine zweite Schaltung zum Erzeugen einer
absoluten Adresse durch Addieren einer Bezugsadresse und
der symbolischen Adresse aufweist.
-
EP-A-202 571 offenbart das Erzeugen einer Abfolge von
Adressen durch eine als Hardware entworfene
Recheneinrichtung ohne das Verwenden von ROMs unter Verwendung von
Multiplizierern, Zählern, Flipflops und ähnlichen Einheiten,
die den Schaltkreis ziemlich komplex machen.
-
Alternativ kann in Erwägung gezogen werden, die Adresse
softwaremäßig durch Verwendung eines Mikrocomputers zu
erzeugen. Jedoch besteht bei diesem Lösungsweg ein Problem
aufgrund der Verarbeitungsgeschwindigkeit des
Mikrocomputers, falls diese langsam ist.
-
Zudem ist ein Tabellennachschlagsystem bekannt, bei dem die
Adresse, die zum Dekodieren des in dem Speicher
gespeicherten Codes erforderlich ist, im voraus in einem ROM
abgespeichert ist und die Adresse zum Dekodieren unter
Verwendung des ROM erhalten wird. Ein solches
Tabellennachschlagsystem weist einen einfachen Aufbau und eine hohe
Verarbeitungsgeschwindigkeit auf. Da es erforderlich ist,
das ROM zu verwenden, ist es jedoch schwierig, dieses z. B.
in eine LSI-Schaltung als Dekodierschaltung des CD-ROM-
System einzubauen. In dem Fall, in dem der
Fehlerkorrekturcode durch Hinzufügen der P-Parität aus 86 Bytes und der
Q-Parität aus 52 Bytes zu den Daten aus 1032 Bytes
ausgebildet wird, wie dies auf den Seiten 73-80 aus "Electronics",
Dezember 1985 beschrieben wird, weist die Adresse des
Ausgangsdatenwertes vom ROM zum Erzeugen der Adresse zum
Dekodieren des P-Codes bzw. die Adresse des Ausgangsdatenwertes
vom ROM zum Erzeugen der Adresse zum Dekodieren des Q-Codes
11 Bits auf, so daß zumindest zwei ROMs mit einer
Standardspezifikation verwendet werden müssen (siehe Fig. 17).
-
Die Aufgabe der vorliegenden Erfindung besteht darin, eine
Adressenerzeugungsschaltung vorzusehen, die als eine
Hardware ohne das Verwenden von ROMs ausgebildet ist und die
eine hohe Verarbeitungsgeschwindigkeit aufweist.
-
Diese Aufgabe wird mit Hilfe einer Schaltung gelöst, die
die Merkmale des Anspruchs aufweist.
-
Im Prinzip wird eine Adressenerzeugungsschaltung gemäß der
vorliegenden Erfindung durch eine logische Schaltung
aufgebaut, die gemäß einer Anordnung entsprechender Codeworte
betrieben wird, wobei die Adressenerzeugungsschaltung
Adressen im Hinblick auf einen Speicher erzeugt, in dem die
Daten sequentiell abgespeichert werden, um den aus den
Daten und den Paritätssymbolen bestehenden
Fehlerkorrekturcode zu dekodieren.
-
Wie im folgenden Abschnitt des bevorzugten
Ausführungsbeispiels beschrieben wird, kann eine Adresse zum Dekodieren
eines Fehlerkorrekturcodes mit Hilfe der logischen
Schaltung gemäß der vorliegende Erfindung erzeugt werden.
-
Im allgemeinen wird viel Zeit benötigt, um die Adresse in
dem System zu berechnen, in dem die Adresse mit Hilfe des
Mikrocomputers entsprechend einer Software berechnet wird.
Im Gegensatz dazu, ist es gemäß der vorliegenden Erfindung
möglich, die Adresse mit Hilfe einer Hardwareeinrichtung zu
berechnen, wodurch die Verarbeitungsgeschwindigkeit sehr
hoch wird. Dementsprechend kann gemäß der vorliegenden
Erfindung eine Echtzeitkorrektur in einem
Fehlerkorrekturcode-Dekodierer des CD-ROM- oder des CD-I-Spielers
durchgeführt werden. Eine solche Echtzeitkorrektur stellt eine
Funktion dar, bei der die Daten, die für eine
Fehlerkorrektur vom Fehlerkorrekturdekodierer verarbeitet werden, mit
der gleichen Übertragungsgeschwindigkeit wie die Daten
ausgeben werden können, die von dem CD-Signalverarbeitungsteil
übertragen werden (Fig. 12). Im einzelnen ist es bei dem
System, bei dem der Mikrocomputer die Adresse berechnet,
infolge der geringen Verarbeitungsgeschwindigkeit
unvermeidbar, daß die Datenübertragung ins Stocken kommt, wenn
die Fehlerkorrektur einmal gestartet wurde. Zudem ist es
bei der Fehlerkorrektur durch den Mikrocomputer gemäß der
Software erforderlich, die Software in dem Fall, in dem die
Software mittels des Assemblers oder einer Maschinensprache
entwickelt wurde, im ganzen neu zu entwerfen, falls die Art
des Mikrocomputers gewechselt wird. Dies bedeutet, daß es
erforderlich ist, die Software für jede Art des
Mikrocomputers zu entwickeln. Im Gegensatz dazu kann in dem Fall,
in dem eine Adressenerzeugung durch die Hardware, wie gemäß
der vorliegenden Erfindung, implementiert wird, der
vorstehend beschriebene Nachteil beseitigt werden.
-
In dem Fall, in dem die Adressenerzeugung mit Hilfe des
Tabellennachschlagsystems unter Verwendung des ROM
realisiert wird, ist es ferner erforderlich, ein ROM mit einer
11-Bit-Eingangs- und einer 11-Bit-Ausgangs-Kapazität zu
verwenden. Falls ein ROM mit einer solchen Kapazität mit
Hilfe eines Universal-ROM aufgebaut wird, sind in einem
solchen Schaltkreis zumindest zwei ROMs erforderlich. Zudem
sind in dem Fall, in dem Blöcke kontinuierlich in ein
Puffer-RAM geschrieben werden, wie dies in Fig. 13
dargestellt ist, außer dem ROM ein Volladdierer usw.
erforderlich. Deshalb wird der Raumbedarf für die Hardware bei
einem solchen System groß. Selbst wenn der Schaltkreis, der
das ROM und den Volladdierer usw. umfaßt, als ein IC
hergestellt werden kann, wird die Fläche eines solchen Chips
deshalb relativ groß. Ferner ist die
Verarbeitungsgeschwindigkeit des ROM im Vergleich zu der erfindungsgemäßen
logischen Schaltung im allgemeinen gering. Aus diesen Gründen
ist die vorliegende Erfindung effektiver als der Stand der
Technik, selbst wenn der Schaltkreis in Form eines IC
aufgebaut wird.
-
Gemäß der vorliegenden Erfindung wird deshalb die
Verarbeitungsgeschwindigkeit höher als die des Systems des Standes
der Technik und die Abmessungen des Schaltkreises werden
klein, so daß dieser leicht in Form eines IC aufgebaut
werden kann. Zudem ist die vorliegende Erfindung insbesondere
dann wirkungsvoll, wenn die Fehlerkorrektur in Echtzeit
durchgeführt werden soll.
-
Die vorstehend beschriebenen Aufgaben und andere Aufgaben,
Merkmale, Aspekte und Vorteile der vorliegenden Erfindung
werden aus der nachfolgenden, detaillierten Beschreibung
der vorliegenden Erfindung besser ersichtlich, wenn diese
in Verbindung mit den beiliegenden Zeichnungen ausgelegt
wird.
KURZE BESCHREIBUNG DER ZEICHNUNGEN
-
Fig. 1-16 sind erläuternde Ansichten, die ein
Ausführungsbeispiel der vorliegenden Erfindung darstellen, wobei
Fig. 1 eine Ansicht ist, die eine
Adressenerzeugungsschaltung darstellt; Fig. 2 und Fig. 3 Ansichten sind, die einen
Schaltungsteil darstellen, der eine Adressenerzeugung für
einen P-Code betrifft; Fig. 4-9 Ansichten sind, die einen
Schaltungsteil darstellen, der eine Adressenerzeugung für
einen Q-Code betrifft; Fig. 10 ein Zeitdiagramm der
Adressenerzeugung für den P-Code ist; Fig. 11 ein Zeitdiagramm
einer Adressenerzeugung für den Q-Code ist; Fig. 12 ein
Blockdiagramm ist, das schematisch ein CD-ROM-System
darstellt, auf das die vorliegende Erfindung anwendbar ist;
Fig. 13 eine Ansicht ist, die ein Puffer-RAM darstellt;
Fig. 14 und 15 Ansichten sind, die eine Anordnung von
Codeworten darstellen, und Fig. 16 eine Ansicht ist, die einen
Dekodierprozeß für die Codeworte darstellt.
-
Fig. 17 ist eine erläuternde Ansicht, die ein
konventionelles Adressenerzeugungssystem unter Verwendung eines ROM
darstellt.
DETAILLIERTE BESCHREIBUNG DES BEVORZUGTEN
AUSFÜHRUNGSBEISPIELS
-
Fig. 12 stellt ein Blockdiagramm dar, das ein CD-ROM-
Wiedergabesystem schematisch veranschaulicht. Ein von einer
CD-ROM-Disk D reproduziertes Signal wird zuerst einem
Signalverarbeitungsprozeß in einem
CD-Signalverarbeitungsteil 1 entsprechend dem Format einer Kompaktdisk bzw.
Kompaktplatte unterzogen. Danach wird das Signal zu einem
Signalverarbeitungsteil 10 übertragen, in dem ein
Signalverarbeitungsprozeß entsprechend dem Format einer CD-ROM
durchgeführt wird. Das Signalverarbeitungsteil 10 umfaßt
eine Synchronsignal-Erfassungs-/Entwürflungs-Schaltung 11,
eine RAM-Schreibschaltung 12, eine
Adressenerzeugungsschaltung 13 zum Erzeugen einer Adresse für den
Fehlerkorrekturcode, eine Fehlerkorrektur-Datenverarbeitungsschaltung 14,
ein Datenübertragungsteil 15 zum Übertragen der Daten zu
einem Hostrechner und ein Puffer-RAM 16. In der
Synchronsignal-Erfassungs-/Entwürflungs-Schaltung
11 wird das
Synchronsignal für jede Anordnung von Daten erfaßt, die auf
dem Format der CD-ROM beruht und als ein Block oder Sektor
bezeichnet wird, und eine beim Aufzeichnen durchgeführte
Bitverwürfelung wird wieder hergestellt (entwürfelt). Die
Daten, die die P- und Q-Paritäts-Symbole umfassen, werden
mit Hilfe der Schreibschaltung 12 sequentiell in das
Puffer-RAM 16 eingeschrieben. Danach werden solche Daten
von dem Puffer-RAM 16 in der Reihenfolge ausgelesen, so daß
der P-Code und der Q-Code gemäß der
Adressenerzeugungsschaltung 13 dekodiert werden können, wodurch eine
Fehlerkorrektur in der
Fehlerkorrektur-Datenverarbeitungsschaltung 14 durchgeführt wird. Nach einem solchen Prozeß werden
die Daten über das Datenübertragungsteil 15 zum Hostrechner
übertragen, in dem der Prozeß entsprechend den Daten
durchgeführt wird.
-
Der Kernpunkt der vorliegenden Erfindung besteht in der
vorstehend beschriebenen Adressenerzeugungsschaltung 13,
deren Aufbau in Fig. 1 dargestellt ist.
-
Für ein besseres Verständnis der vorliegenden Erfindung
folgt zuerst eine kurze Beschreibung des Datenformats der
CD-ROM. Der Aufbau eines Blocks (2352 Bytes) bei dem
CD-ROM-System besteht aus einem Synchronsignal aus 12 Bytes,
einem Kopf stück (Header) aus 4 Bytes, Anwenderdaten aus
2048 Bytes, einem Fehlererfassungssymbol (EDC) aus 4 Bytes,
das zu dem Synchronsignal, dem Kopf stück und den
Anwenderdaten entsprechend hinzugefügt wird, einem Zwischenraum aus
8 Bytes, P-Paritätssymbolen (ECC) aus 172 Bytes und
Q-Paritätssymbolen (ECC) aus 104 Bytes. Die P-Paritätssymbole und
die Q-Paritätssymbole werden zu einem Gesamtbetrag von 2064
Bytes hinzugefügt, die die Anwenderdaten (2048 Bytes), die
Fehlererfassungssymbole (4 Bytes) und den Zwischenraum (8
Bytes) einschließen.
-
Die RAM-Schreibschaltung 12 umfaßt einen
Schreibadressenzeiger (WRPT) 12a, wie dies in Fig. 1 dargestellt ist, und
die Daten von einem Block werden gemäß der vom Zeiger 12a
ausgegebenen Schreibadresse "WRA" sequentiell in das
Puffer-RAM 16 eingeschrieben. Eine solche Situation ist in
Fig. 13 dargestellt. Die Daten von einem Block werden in
das Puffer-RAM 16 in der Reihenfolge eingeschrieben, in der
die Daten ankommen, d. h. in der Abfolge von einem
LSB (niedrigstwertigen) -Byte zu einem MSB (höchstwertigen)-
Byte, womit das Synchronsignal beginnt. Wird nun
angenommen, daß eine eine höhere Ordnung aufweisende Adresse einer
Startadresse eines N-ten Blocks "n" ist, dann werden die
Daten des N-ten Blocks (2352 Bytes) in diesem Fall in einen
Bereich geschrieben, bei dem die Adresse höherer Ordnung
von "n" bis "n + 2350" geht. Die in das Puffer-RAM 16
eingeschriebenen Daten werden in die Bytes niedrigerer Ordnung
und die Bytes höherer Ordnung aufgeteilt, die entsprechend
die LSB-Byte-Ebene und die MSB-Byte-Ebene ausbilden. In das
Puffer-RAM-16, dessen Adresse höherer Ordnung von "n" bis
"n + 10" geht, wird das Synchronsignal aus 12 Bytes
eingeschrieben, und das Kopfstück, die Anwenderdaten, . . . , die
P-Paritätssymbole und die Q-Paritätssymbole, die den P-Code
und den Q-Code bilden, werden sequentiell in das Puffer-RAM
16 eingeschrieben, das die Adresse höherer Ordnung von mehr
als "n + 12" aufweist.
-
Nun wird eine Beschreibung des Aufbaus des P-Codes und des
Q-Codes gegeben. Mit Ausnahme des Synchronsignals werden
der P-Code und der Q-Code in bezug auf die LSB-Byte-Ebene
bzw. MSB-Byte-Ebene erstellt. Die entsprechenden Byte-
Ebenen umfassen den P-Code, der die Daten aus 1032 Bytes
(2064/2) und die zu den Daten hinzugefügten
P-Paritätssymbole aus 86 Bytes (172/2) einschließt, und den Q-Code,
der die Daten aus 1032 Bytes und die zu den Daten
hinzugefügten Q-Paritätssymbole aus 52 Bytes (104/2) einschließt,
wobei die Daten durch das Kopf stück, die Anwenderdaten, den
EDC und den Zwischenraum gebildet werden. Ein solcher
Aufbau ist in Fig. 14 dargestellt.
-
Die Daten aus 1032 Bytes, die die entsprechenden Ebenen
bilden, sind in einer in Fig. 14 dargestellten Weise
angeordnet. Im einzelnen sind die Daten aus 1032 Bytes in 24
Zeilen mal 43 Spalten angeordnet und zwei P-Paritätssymbole
werden den entsprechenden Spalten hinzugefügt, d. h. 24
Daten, wodurch ein P-Codewort ausgebildet wird.
Dementsprechend werden insgesamt 86 P-Paritätssymbole zu 43 Spalten
hinzugefügt. Somit wird, wie in Fig. 14 dargestellt, ein
P-Codewort für jede Spalte ausgebildet. In Fig. 14 stellt die
Zahl aus vier Ziffern eine symbolisch adressierte
Speicherstelle (L) in der Ebene dar, d. h., die Position in der
Anordnung der Fig. 14. Die symbolisch adressierte
Speicherstelle (L) des j-ten Symbols des i-ten P-Codeworts ergibt
sich wie folgt:
-
L = i + 43j --- (1),
-
wobei i = 0, 1, ---, 42 und j = 0, 1, ---, 25 gilt. Zum
Beispiel kann die symbolisch adressierte Stelle (L) des
23-ten Symbols des 1-ten P-Codeworts entsprechend der Formel
(1) wie folgend erhalten werden:
-
L = 1 + 43 x 23 = 990.
-
Andererseits sind 42 Daten, die das P-Paritätssymbol
einschließen, in Fig. 14 entlang einer schrägen Linie
angeordnet, wobei das Q-Codewort mit Hilfe der angeordneten 42
Daten und zweier Q-Paritätssymbole gebildet wird, die zu
den angeordneten Daten hinzugefügt werden. Unterdessen
wird, falls die 25-te Spalte erreicht wird, erneut zu der
ersten (0-ten) Spalte gesprungen. Der Zustand, bei dem das
Q-Codewort mit einem solchen Aufbau neu angeordnet ist, ist
in Fig. 15 dargestellt. In Fig. 15 zeigt die Zahl aus vier
Ziffern die symbolisch adressierte Speicherstelle (L) in
der Ebene bei der in Fig. 14 dargestellten Anordnung an.
Dann kann die symbolisch adressierte Speicherstelle (L) des
j-ten Symbols des i-ten Q-Codeworts wie folgt berechnet
werden:
-
L = (43i + 44j)mod 1118 --- (2),
-
wobei i = 0, 1, ---, 25 und j = 0, 1, ---, 42 gilt.
-
L = 1118 + i + 26(j - 43) --- (3),
-
wobei i = 0, 1, ---, 25 und j = 43 und 44 gilt.
-
Unterdessen zeigt die vorstehend beschriebene Formel (2)
den Rest von (43i + 44j)/1118 an.
-
Zum Beispiel kann die symbolisch adressierte Speicherstelle
(L) des 2-ten Symbols des 1-ten Q-Codeworts entsprechend
der Formel (2) wie folgt erhalten werden:
-
L = (43 x 1 + 44 x 2)mod 1118 = 131.
-
Die symbolisch adressierte Speicherstelle (L) des 42-ten
Symbols des 0-ten Q-Codeworts kann gemäß der Formel (2) wie
folgt erhalten werden:
-
L = (43 x 0 + 44 x 42)mod 1118 = 730.
-
Die symbolisch adressierte Speicherstelle (L) des 44-ten
Symbols des 25-ten Q-Codeworts kann gemäß Formel (3) wie
folgt erhalten werden:
-
= 1118 + 25 + 26(44 - 43) = 1169.
-
Eine Beziehung zwischen den entsprechenden symbolisch
adressierten Speicherstellen (L) des vorstehend
beschriebenen P- oder Q-Codeworts und der Adresse A (siehe Fig. 3),
entsprechend der die Daten in das Puffer-RAM 16
eingeschrieben werden, kann wie folgt dargestellt werden:
-
A = H + 2L + p, --- (4)
-
wobei H eine Startadresse der Daten von einem Block ist,
der das Synchronsignal ("n + 12" in dem Beispiel der Fig.
13) nicht umfaßt, und p die LSB-Byte-Ebene als "0" und die
MSB-Byte-Ebene als "1" anzeigt.
-
Zum Beispiel werden die Daten der symbolisch adressierten
Speicherstelle L = 0001, wie dies in Fig. 14 dargestellt
ist, bei der Adresse A (siehe Fig. 13) entsprechend der
Formel (4), falls p = 0 gilt, wie folgt abgespeichert:
-
A = (n + 12) + 2 x 1 + 0 = n + 14.
-
Dann, wenn die P- und Q-Code mit dem vorstehend
beschriebenen Aufbau dekodiert sind, werden die Symbole, die die
entsprechenden Codes ausbilden, durch Adressieren des Puffer-RAM
16 aus dem Puffer-RAM 16 entsprechend der vorstehend
beschriebenen Formel (4) ausgelesen und dekodiert. Bei der
vorliegenden Erfindung kann das den entsprechenden Codes
zugehörige Adressieren mit Hilfe der wie in Fig. 1
dargestellten logischen Schaltung durchgeführt werden.
-
Der Vorgang bzw. Prozeß für eine Fehlerkorrektur bezüglich
der LSB-Byte-Ebene und der MSB-Byte-Ebene, d. h., der
Vorgang zum Dekodieren des P- und des Q-Codes wird
durchgeführt, wie dies in Fig. 16 dargestellt ist. In Fig. 16
werden die Schleifen in der Reihenfolge von innen nach außen
ausgeführt. Bei diesem Beispiel wird der Q-Code nach dem
Dekodieren des P-Codes dekodiert, jedoch kann ein solcher
Vorgang umgekehrt werden. Da der Vorgang für die
Fehlerkorrektur bezüglich der (LSB-) Byte-Ebene niedrigerer Ordnung
und der Vorgang für die Fehlerkorrektur bezüglich der
(MSB-) Byte-Ebene niedrigerer Ordnung unabhängig von einander
ausgeführt werden können, kann irgendeiner der Vorgänge vor
dem anderen ausgeführt werden. Das genaue Dekodierverfahren
für den P-Code und den Q-Code ist nicht das wesentliche der
vorliegenden Erfindung. Das wesentliche der vorliegenden
Erfindung beruht in dem Kernpunkt, daß das Puffer-RAM 16
entsprechend der Reihenfolge adressiert wird, wie dies in
Fig. 16 dargestellt ist, so daß die entsprechenden
Codeworte, die in das Puffer-RAM 16 eingeschrieben wurden,
sequentiell ausgelesen werden können.
-
Nachfolgend wird unter Bezug auf Fig. 1 eine Beschreibung
bzgl. der Schaltung 13 zum Erzeugen einer solchen Adresse
gegeben.
-
Das zuvor beschriebene "H", das die Startadresse des zu
dekodierenden Blocks darstellt, der das Synchronsignal
nicht umfaßt, wird von einem Leseadressenzeiger (RDPT) 20
ausgegeben. Die Adresse "H" kann von dem
Schreibadressenzeiger 12a erhalten werden. Im einzelnen wird die Adresse
"H" des Blocks von einem Block zuvor für jeden Block vom
Zeiger 12a gelesen und der Block von dem Block zuvor wird
dekodiert. Zudem wird die Schreibadresse "WRA" des Puffer-RAM
16 oder die Leseadresse "RDA" zum Lesen des Puffer-RAM
16, die von dem Volladdierer (FA2) 21 ausgegeben wird,
wahlweise gemäß dem Taktsignal zum Adreßbus ausgegeben.
-
Das Signal "p", das dem Volladdierer 21 eingegeben wird,
ist ein LSB-/MSB-Ebenen-Auswahlsignal und wird zu "0" oder
"1". Das Signal "L", das die symbolisch adressierte
Speicherstelle des Codeworts darstellt, wird auch in den
Volladdierer 21 eingegeben, wodurch das zuvor erwähnte
Adressensignal "H + 2L + p" (siehe Formel (4)) vom Volladdierer
21 ausgegeben wird.
-
Als nächstes folgt der Reihe nach eine Beschreibung
bezüglich der Erzeugung des Signals "L" beim Dekodieren der
entsprechenden Codeworte. Zudem bedeutet im folgenden P(i, j, p)
das j-te Symbol des i-ten P-Codeworts in der P-Ebene.
Q(i, j, p) wird in der gleichen Weise gedeutet.
(1) Dekodieren des P-Codes
-
Ein Codewortzähler (CWC) 22 zählt und hält "i" aus den
Parametern des P-Codes P(i, j, p).
-
Eine Konstantenerzeugungseinrichtung (CONST GEN) 23 erzeugt
verschiedene Konstanten synchron zu verschiedenen
Taktsignalen. Eine solche Schaltung kann durch ein PLA
(programmierbares Logik-Array) realisiert werden.
(1-1) Im Fall P(i, 0, p) (siehe Fig. 2)
-
Die Konstantenerzeugungseinrichtung (CONST GEN) 23 gibt "0"
aus und "i" wird von dem Multiplexer (MUX1) 24 ausgegeben,
wodurch "i" vom Volladdierer (FA1) 25 ausgegeben wird.
Deshalb wird L = i vom FA1 25 ausgegeben, so daß die Adresse
RDA = H + 2L + p = H + 2i + p vom Volladdierer (FA2) 21
ausgegeben werden kann. Bei einer Symbol-Offsetadresse
(SOA) 26 zum Erzeugen der nachfolgenden Adresse wird "i"
zwischengespeichert.
(1-2) Im Fall P(i, j, p), j ≠ 0 (siehe Fig. 3)
-
Die Operation dieses Falls wird kontinuierlich nach der
Operation des Falls (1-1) ausgeführt.
-
Um die Adresse für P(i, j, p) zu erzeugen, wird der Wert
von "L" verwendet, der in der SOA 26 beim Erzeugen des
Symbols von einem Symbol zuvor gehalten wird. Unter der
Annahme, daß "L" "Lj" ist, wenn P(i, j, p) gilt und "L" > < Lj-1"
ist, wenn das Symbol P(i, j-1, p) von einem Symbol zuvor
gilt, erzeugt die Konstantenerzeugungseinrichtung (CONST
GEN) 23 die Konstante "43" für den FA1 25 in Erwiderung auf
das eingegebene Taktsignal, so daß Lj = Lj-1 + 43 erhalten
werden kann. Durch Berechnen der Rekursionsformel wird Lj =
i + 43j erhalten und deshalb wird die Adresse "RDA" zu H +
2L + p = H + 2(i + 43j) + p. In Fig. 3 wird "Lj-1" von
einem Symbol zuvor über den Multiplexer (MUX2) 27 von der SOA
26 zu dem Multiplexer (MUX1) zurückgegeben und in den FA1
25 eingegeben.
-
Fig. 10 ist eine Ansicht, die das Takten bzw. die Zeitgabe
zum Erzeugen der Adresse für den vorstehend beschriebenen
P-Code darstellt. Zum Beispiel ist "L" von P (0, 25, 0)
gleich 0 + 43 x 25 = 1075, und deshalb wird "RDA" zu H +2
(i + 1075) + p = H + 2150.
-
Deshalb wird die Adresse "RDA" durch die logische
Schaltung, wie in Fig. 1 dargestellt, erzeugt, so daß jedes der
i-ten (i = 0, 1, ---, 42) P-Codeworte aus dem Puffer-RAM 16
vom ersten Symbol bis zum 25-ten Symbol sequentiell
ausgelesen wird.
(2) Dekodieren des Q-Codes
(2-1) Im Fall Q(0, 0, p) (siehe Fig. 4)
-
Der Codewortzähler (CWC) 22 ist "0" und der Wert ist in
einen Symbolzähler (BYC) 28 geladen. Der Symbolzähler (BYC)
28 arbeitet als ein 26-närer Zähler mit einem "25"-Detektor
(WRAP DET) 29 zusammen und erzeugt ein Sprungsignal (WRAP).
Im einzelnen, wie es aus dem Verfahren zum Erstellen des
Q-Codeworts verständlich und in Fig. 14 dargestellt ist,
befindet sich die Position des 25-ten Symbols des 0-ten
Q-Codeworts in der untersten Zeile in der in Fig. 14
dargestellten Anordnung und beim 26-ten Symbol wird zur obersten
Zeile in der gleichen Anordnung gesprungen. Das Sprung- bzw.
Wrapsignal ist ein Signal, das den Zeitpunkt für einen
solchen Sprung anzeigt und später in Einzelheiten
beschrieben wird.
-
Die Konstantenerzeugungseinrichtung (CONST GEN) 23 und der
Multiplexer (MUX1) 24 geben eine "0" aus, wodurch der
Ausgangswert des Volladdierers (FA1) 25, d. h. die symbolisch
adressierte Speicherstelle "L" zu "0" wird. Deshalb wird
die Adresse "RDA" zu H + 2L + p = H + 2 x 0 + p = H + p.
-
Zudem wird L = 0 in die Symboloffsetadresse (SOA) 26 und
einen Wort-Kopfstück-Symbolzeiger (WHP) 30 gesetzt. Der
Wert wird danach in dem Q-Code Q(i, j, p) (i ≠ 0, j ≠ 0)
verwendet.
(2-2) Im Fall Q(j, 0, p) (i ≠ 0) (siehe Fig. 5)
-
Die Adresse für das erste Symbol des Q-Symbols, bei dem i
nicht "0" ist, unterscheidet sich von der des Q-Codeworts
Q(0, 0, p), bei dem i "0" ist und wird in der folgenden Art
und Weise erzeugt.
-
Der Codewortzähler (CWC) 22 zählt "i" und der Wert "i" wird
in den Symbolzähler (BYC) 28 geladen. Die
Konstantenerzeugungseinrichtung (CONST GEN) 23 erzeugt "43" und die
symbolisch adressierte Speicherstelle "Li,0" wird unter
Verwendung der symbolisch adressierten Speicherstelle "Li-1,0"
des vorhergehenden Symbols erzeugt. Im einzelnen wird die
symbolisch adressierte Speicherstelle "Li-1,0" beim
Erzeugen der Adresse für das 0-te Symbol Q(i-1, 0, p) von einem
vorhergehenden Symbol erzeugt und die symbolisch
adressierte Speicherstelle "Li-1,0" wird in dem Wort-Kopfstück-
Symbolzeiger (WHP) 30 gehalten. Der Wert "Li-1,0" wird über
die Multiplexer (MUX2 und MUX1) 27 und 24 in den
Volladdierer (FA1) 25 eingegeben. Deshalb wird Li,0 = Li-1,0 + 43
vom Volladdierer (FA1) 25 ausgegeben. Wie dies im Fall
(2-1) dargestellt ist, wird, da L0,0 = 0 ist, L1,0 = 43i durch
Berechnen der Rekursionsformel erhalten. Deshalb wird die
Adresse "RDA", die vom Volladdierer (FA2) 21 ausgegeben
wird, RDA = H + 2L + p = H + 2 x 43i + p = H + 86i + p.
-
Der Wert des neu berechneten Li,0 wird im Wort-Kopfstück-
Symbolzeiger (WHP) 30 gehalten und beim Berechnen von
"Li+1,0" des nächsten Codeworts Q(i+1, 0, p) verwendet.
-
In der 0-ten Spalte (der Spalte, die am weitesten links
liegt) der Fig. 15 ist dargestellt, daß die symbolisch
adressierte Speicherstelle "Li,0" des 0-ten Symbols von
Q(i, 0, p) 43i annimmt.
(2-3) Im Fall Q(i, j, p) (i ≠ 0, j ≠ 0, J ≤ 42), jedoch
außer für das nächste Symbol, wenn der BYC "25" zählt
(siehe Fig. 6)
-
Die Operation dieses Falls wird kontinuierlich nach der
vorstehend beschriebenen Operation des Falls (2-1) oder des
Falls (2-2) ausgeführt. Der Symbolzähler (BYC) 28 wird vom
anfänglichen Wert aus, der der für Q(i, 0, p) gesetzte Wert
i ist, unter Berücksichtigung, daß j in Einer-Schritten
inkrementiert wird, jeweils um 1 inkrementiert und der Wert
davon wird zu "i + j" für das j-te Symbol, d. h. für Q(i, j, p).
Falls der Wert "i + j" "25" überschreitet, d. h.,
falls nach dem Erreichen der untersten Zeile in Fig. 14 die
oberste Zeile bestimmt wird, ist der Wert von dem BYC 28
"0", wenn Q(i, j + 1, p) gilt, da der BYC 28 als 26-närer
Zähler ausgebildet ist. Dies wird im nächsten Absatz (2-4)
beschrieben. Deshalb wird der Wert des BYC 28 zu (i + j)mod
26 (≠ 0).
-
Bei dieser Betriebsart erzeugt die
Konstantenerzeugungseinrichtung (CONST GEN) 23 "44" und die symbolisch adressierte
Speicherstelle "Li, j" wird unter Verwendung der symbolisch
adressierten Speicherstelle "Li, j-1" von einem
vorhergehenden Symbol erzeugt. Im einzelnen wird die symbolisch
adressierte Speicherstelle Li, j-1 beim Erzeugen der
Adresse für das Symbol Q(i, j-1, p) von einem
vorhergehenden Symbol erzeugt und in der Symboloffsetadresse (SOA) 26
gehalten. Der Wert wird über die Multiplexer (MUX2 und
MUX1)
27 und 24 in den Volladdierer (FA1) 25 eingegeben.
Deshalb wird von dem FA1 25 Li, j = Li, j-1 + 44
ausgegeben. Wie aus der Beschreibung für den Fall (2-2)
ersichtlich ist, wird Li, 0 = 43i und deshalb Li, j = 43i + 44j
erhalten. Jedoch wird aufgrund des später im Fall (2-4)
beschriebenen Symbolsprungs die symbolisch adressierte
Speicherstelle als Li, j = (43i + 44j)mod 1118 erhalten.
-
Dementsprechend wird die zu berechnende Adresse "RDA" zu
RDA = H + 2L + p = H + 2 [(43i + 44j)mod 1118] + p.
-
Zum Beispiel wird die symbolisch adressierte Speicherstelle
L0, 2 des 2-ten Symbols des 0-ten Q-Codeworts wie folgt
erhalten:
-
L0, 2 = (43 x 0 + 44 x 2) = 88
-
und die symbolisch adressierte Speicherstelle L1, 1 des
ersten Symbols des 1-ten Q-Codeworts wird wie folgt
erhalten:
-
L1, 1 = (43 x 1 + 44 x 1) = 87 (siehe Fig. 14).
(2-4) Im Falle Q(i, j, p), (i ≠ 0, j ≠ 0, j ≤ 42) und des
nächsten Symbols, nachdem der BYC den WERT "25" zählt
(siehe Fig. 7)
-
Die Operation für das nächste Symbol Q(i, j, p)
unterscheidet sich, falls der BYC 28 "25" zählt, von der des zuvor
erwähnten Falls (2-3), und in diesem Fall wird die Adresse
in der folgenden Art und Weise erzeugt. Falls der BYC 28
"25" zählt, wird das Sprungsignal (WRAP) mittels des
"25"-Detektors 29 erzeugt und der BYC 28 nimmt zum Zeitpunkt des
nächsten Symboles den Wert "0" anstelle "26" an (synchrones
Löschen bzw. Rücksetzen (CLEAR)). In dem Fall, in dem das
Sprungsignal (WRAP) erzeugt wird, sollte bei der Festlegung
der symbolisch adressierten Speicherstelle des Q-Codeworts
der Wert "1074" von der symbolisch adressierten
Speicherstelle des vorhergehenden Symboles abgezogen werden,
anstelle daß "44" zur symbolisch adressierten Speicherstelle
des vorhergehenden Symbols hinzugefügt wird, wie dies im
vorhergehenden Fall (2-3) beschrieben wurde. Zum Beispiel
beginnt in Fig. 14 das 0-te Q-Codewort an der symbolisch
adressierten Speicherstelle (0000) der 0-ten Zeile und der
0-ten Spalte und schreitet zu (0044), (0088), --- fort, um
so Zeile um Zeile abwärts zu gehen, und erreicht die
unterste Zeile, d. h. die 25-te Zeile beim 25-ten Symbol (BYC =
25) und kehrt danach beim nächsten 26-ten Symbol zur 0-ten
Zeile zurück, wodurch die symbolisch adressierte
Speicherstelle L als L = 43 x 0 + 44 x (26 - 1) - 1074 = 0026 zu
diesem Zeitpunkt erhalten wird, kommt dann zur symbolisch
adressierten Speicherstelle (0070 = 0026 + 44) der 1-ten
Zeile und der 27-ten Spalte und schreitet wieder Zeile um
Zeile nach unten fort, wodurch die symbolisch adressierte
Speicherstelle zu (0114 = 0070 + 44), --- geändert wird.
Deshalb wird bei Fig. 14 das vorstehend beschriebene
Sprungsignal erzeugt, falls das Symbol von der 25-ten Zeile
zur 0-ten Zeile springt. Zu diesem Zeitpunkt erzeugt die
Konstantenerzeugungseinrichtung (CONST GEN) 23 "-1074"
anstelle von "44". Demzufolge wird die symbolisch
adressierte Stelle Li, j zu Li, j = Li, j-1 -1074. Da -1074 = 44
-
- 1118 ist, ist die symbolisch adressierte Stelle folglich
Li, j = 43i + 44(j-1) - 1074 = 43i + 44j -1118 = (43i +
44j)mod 1118.
-
Deshalb wird die Adresse "RDA", die vom Volladdierer (FA2)
21 ausgegeben wird, RDA = H + 2L + p = H + 2[(43i + 44j)mod
1118] + p.
(2-5) Im Fall Q(i, 43, p), (siehe Fig. 8)
-
Wie dies aus Fig. 14 oder Fig. 15 leicht verständlich wird,
wird die symbolisch adressierte Speicherstelle in diesem
Fall Li, 43 = i + 1118. Die logische Schaltung für diesen
Fall ist in Fig. 8 dargestellt.
(2-6) Im Fall Q(i, 44, p), (siehe Fig. 9)
-
Wie dies aus Fig. 14 oder Fig. 15 leicht verständlich wird,
wird die symbolisch adressierte Speicherstelle in diesem
Fall Li, 44 = i + 1144. Die logische Schaltung für diesen
Fall ist in Fig. 9 dargestellt.
-
Der Zeitpunkt, zu dem die Adresse für das vorstehend
beschriebene Q-Codewort erzeugt wird, ist in Fig. 11
dargestellt.