Code - Codewandler
Was ist ein Code?
Ein Code ist eine eindeutige Zuordnung zwischen zwei Mengen. Der BCD-Code ist z.B. eine Zuordnung zwischen Dezimal- und Binärzahlen. Jeder Dezimalzahl entspricht dabei eine Binärzahl.
Es gibt viele verschiedene Codes, die für bestimmte Anwendungen mehr oder weniger gut geeignet sind. Beispielsweise EAN-Code auf jeder Verpackung oder der amerikanische Standard Code ASCII.
Zunächst wollen wir uns mit einem für den Elektroniker sehr wichtigen Code - dem BCD-Code beschäftigen.
Beim BCD-Code werden die ersten 10 Kombinationen (also von 0 bis 9) aus dem Dualcode übernommen. Die Kombinationen A...F sind die sogenannten Pseudotetraden (unechte Tetraden).
Jede Dezimalziffer wird durch 4 binäre Stellen (Tetraden) dargestellt.
-
MSB: Most Significant Bit
-
LSB: Least Significant Bit
BCD-CODE (Binary Coded Decimals)
Addition BCD-Code
Stibitz-Code / 3-Exzeß-Code
Beim 3-Exzeß-Code oder Stibitz-Code ist der gültige Zahlenbereich 0...9 um 3 Tetraden verschoben.
Die Pseudotetraden verteilen sich also auf 3 am Anfang und 3 am Ende der 16 möglichen Kombinationen.
Der 3-Exzeß-Code hat den Vorteil, dass die Zahl 0 nicht durch 0000 sondern durch 0011 dargestellt wird.
Damit kann bei einer Datenübertragung eine Leitungsunterbrechung erkannt werden.
Korrekturvorschriften
-
Entsteht bei der Addition von 2 Tetraden kein Übertrag in die 5. Stelle, so muß vom Ergebnis die Zahl 3(0011) subtrahiert werden.
-
Entsteht bei der Addition von 2 Tetraden ein Übertrag in die 5. Stelle, so muß zum Ergebnis die Zahl 3 (0011) addiert werden.
Rechenbeispiele
Codewandler
Ein Codewandler wandelt einen Eingangscode in einen Ausgangscode um.
Wir erstellen einen Codewandler, der den 3-Exzeß-Code in den BCD-Code umwandelt.
Wahrheitstabelle
Lageplan vom 3-Exzeß-Code mittels KV-Diagramm (X = don't care, also egal welcher Zustand)
Schaltfunktion für A des BCD-Codes.
Entsprechend der Dezimalzahl wird dort eine 1 in das KV-Diagramm übertragen wo der Ausgang von A 1 ist.
Variable A hat eine "1" bei 1,3,5,7,9 und eine "0" bei 0,2,4,6,8 auf dem 3-Exzeß-Lageplan.
Wir fassen zusammen und erhalten für A die Gleichung: ABCD = A'3-Exzeß
Schaltfunktion für B des BCD-Codes.
Entsprechend der Dezimalzahl wird dort eine 1 in das KV-Diagramm übertragen wo der Ausgang von B 1 ist.
Variable B hat eine "1" bei 2,3,6,7 und eine "0" bei 0,1,4,5,8,9 auf dem 3-Exzeß-Lageplan.
Wir fassen zusammen und erhalten für A die Gleichung: BBCD = A' B * A B'
Schaltfunktion für C des BCD-Codes.
Entsprechend der Dezimalzahl wird dort eine 1 in das KV-Diagramm übertragen wo der Ausgang von C 1 ist.
Variable C hat eine "1" bei 4,5,6,7 und eine "0" bei 0,1,2,3,8,9 auf dem 3-Exzeß-Lageplan.
Wir fassen zusammen und erhalten für A die Gleichung: CBCD = B' C' * A' C' * ABC
Schaltfunktion für D des BCD-Codes.
Entsprechend der Dezimalzahl wird dort eine 1 in das KV-Diagramm übertragen wo der Ausgang von D 1 ist.
Wir ersparen uns an dieser Stelle ein neues KV-Diagramm.
Wir erhalten für D die Gleichung: DBCD = ABD * CD
Zusammenfassung der Ausgänge:
A = A'
B = A' B * A B'
C = B' C' * A' C' * ABC
D = ABD * CD