Codewandler O´Brian-Code in BCD-Code

Programmumfang

  1. Entwerfen Sie einen Codewandler (O´Brian Code in BCD-Code) und erstellen Sie die Wahrheitstabelle mit Eingangs- und Ausgangscode sowie einen Error-Ausgang für undefinierte Eingangszustände.

  2. Erstellen Sie für jeden Ausgang ein KV-Diagramm und leiten Sie die entsprechende boolsche Gleichung ab.

  3. Wandeln Sie die Gleichungen mit Hilfe der DeMorganschen Gesetze in NAND- und NOR-Verknüpfungen um.

  4. Optimieren Sie die Schaltung durch die Verwendung handelsüblicher Bauteile (möglichst wenig Bauteile und unbenutzte Gatter)

Blockschaltbild

 

Codetabellen

Für die Tabelle gilt, dass der Eingang >D< bzw. der Ausgang >Z< immer das höchstwertige Bit (MSB=Most Significant Bit) und >A< bzw. >W< das niederwärtigste Bit (LSB=Least Significant Bit) darstellen.

 

Für jeden Ausgang wird nun das entsprechende KV-Diagramm erstellt und die entsprechende Gleichung abgeleitet.

* = UND
+ = ODER
´= NICHT (z.B. A´= A NICHT)

Wahrheitstabelle

 

Durch Herausheben gemeinsamer Faktoren kann man diese Gleichung noch weiter vereinfachen:

= B´* D  +  B * (A * D´  +  C * D´  + A´*C´* D)
= B´* D  +  B * (D´* (A + C)  +  A´*C´* D)

5.) Ausgang Error

Zusammenfassung der Gleichungen

Z = A * D

Y = A´* (B´+ D)

X = A´* B 

W = B´* D  +  B * (D´* (A + C)  +  A´*C´* D)

Error = A * C  +  A´* B´* C´

 

Schaltungsaufbau

Z = A * D

Y = A´* (B´+ D)

X = A´* B 

W = B´* D  +  B * (D´* (A + C)  +  A´*C´* D)

Error = A * C  +  A´* B´* C´

 

Umwandlung der Gleichungen in NAND

Z = A * D = (A * D)´´
 

Y = A´* (B´+ D) = A´* B´  +   A´* D (wird erweitert, da die Gleichung bei Umwandlung in NAND sonst komplexer wird)

Y = ((A´* B´)´ * (A´* D)´)´

 

X = A´* B = (A´* B)´´
 

W = B´* D  +  B * (D´* (A + C)  +  A´*C´* D)

W = ((B´* D)´  * ((B * D´ * (A´* C´)´)´  *  (A´*C´* D)´)´
 

Error = A * C  +  A´* B´* C´  

Error = ((A * C)´ *  (A´* B´* C´)´)´ 

 

Schaltungsaufbau mit NAND-Gatter

 

Umwandlung der Gleichungen in NOR

Z = A * D = (A´+ D´)´
 

Y = A´* (B´+ D) = (A + (B´+ D)´)´
 

X = A´* B = (A + B´)´


W = B´* D  +  A * B * D´  +  B * C * D´  +  A´* B * C´* D

W = ( ( (B + D´)´  +  (A´ + B´+ D)´  +  (B´+ C´ + D)´  +  (A +B´+ C + D´)´ )´ )´

 

Schaltungsaufbau mit NOR-Gatter

 
AVR-Mikrocontroller Programmierung in C

ne555.at

avr-programmierung.com

Heimo & Patrick Gaicher