www.vorhilfe.de
Vorhilfe

Kostenlose Kommunikationsplattform für gegenseitige Hilfestellungen.
Hallo Gast!einloggen | registrieren ]
Startseite · Forum · Wissen · Kurse · Mitglieder · Team · Impressum
Forenbaum
^ Forenbaum
Status Englisch
  Status Grammatik
  Status Lektüre
  Status Korrekturlesen
  Status Übersetzung
  Status Sonstiges (Englisch)

Gezeigt werden alle Foren bis zur Tiefe 2

Navigation
 Startseite...
 Neuerdings beta neu
 Forum...
 vorwissen...
 vorkurse...
 Werkzeuge...
 Nachhilfevermittlung beta...
 Online-Spiele beta
 Suchen
 Verein...
 Impressum
Das Projekt
Server und Internetanbindung werden durch Spenden finanziert.
Organisiert wird das Projekt von unserem Koordinatorenteam.
Hunderte Mitglieder helfen ehrenamtlich in unseren moderierten Foren.
Anbieter der Seite ist der gemeinnützige Verein "Vorhilfe.de e.V.".
Partnerseiten
Weitere Fächer:

Open Source FunktionenplotterFunkyPlot: Kostenloser und quelloffener Funktionenplotter für Linux und andere Betriebssysteme
Forum "Elektrotechnik" - Digitaltechnik
Digitaltechnik < Elektrotechnik < Ingenieurwiss. < Vorhilfe
Ansicht: [ geschachtelt ] | ^ Forum "Elektrotechnik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien

Digitaltechnik: idee
Status: (Frage) überfällig Status 
Datum: 18:19 Mo 21.07.2008
Autor: bjoern.g

[Dateianhang nicht öffentlich]

haben mit 5 mann versucht die aufgabe zu lösen

prof meinte irgendwas mit dem codewandler vorne anhängen

aber bekommen einfach da keine lösung hin wie das gescheit und einfach funktionniert

kann da vll jemand helfen?

vielen dank ist sehr wichtig !!!

Dateianhänge:
Anhang Nr. 1 (Typ: JPG) [nicht öffentlich]
        
Bezug
Digitaltechnik: Antwort
Status: (Antwort) fertig Status 
Datum: 14:22 Di 22.07.2008
Autor: philipp.w

Vorabüberlegungen:

Alle drei Codes besitzen 4bit. Wollten wir nun einfach alle Möglichkeiten durchgehen, bräuchten wir eine Übergangs-/Ansteuerungstabelle mit insgesamt 6bit als Eingang (2bit für s1s0 und 4bit für die Zahl x3x2x1x0) und 4bit als Ausgang (für das neue x3x2x1x0). Dafür bräuchten wir 8 JK-Flipflops, was zu 8 KV-Diagrammen (J3,K3...J0,K0) mit je 6 Variablen führt: ziemlich aufwändig & unübersichtlich.

Darum nochmal eine genauere Betrachtung der Codes: Es gibt nur 4 verschiedene Zuständen pro Code, daher wäre auch eine 2bit Ansteuerung mit anschließender Codewandlung möglich. Also konzipiere ich zuerst einen 2bit-Zähler q1q0 (00,01,10,11,00...). Dafür benötige ich 2 JK-Flipflops; wenn man die Formeln aufstellt, ergibt sich folgendes:
J1=q0,K1=qo,J0=1,K0=1.

Nun brauche ich einen Wandler, der die Ansteuerung S berücksichtigt (jedenfalls 00,01,10; 11 vernachlässigen wir vorerst) und mir aus den 2bit q1,q0 eine 4bit Zahl x3x2x1x0 erzeugt; je nach Ansteuerung in einem der 3 Codes. Also stelle ich für jeden Ausgang x ein KV-Diagramm mit den 4bits s1,s0,q1,q0 auf. Zusammenfassung ergibt
[mm]x3=(s0\wedge q0)\vee (\neg s1\wedge \neg s0\wedge q1)[/mm]
[mm]x2=(s0\wedge q0)\vee (s1\wedge q1\wedge \neg q0)\vee (\neg s1\wedge q1\wedge q0)[/mm]
[mm]x1=q1[/mm]
[mm]x0=q0\vee (\neg s1\wedge q1)[/mm]

Damit wären die 3 Codewandler realisiert, bislang gibt die Schaltung nur bei Ansteuerung von s1=1,s0=1 noch Unsinn aus, den Fall 'Speichern' haben wir bis jetzt auch noch nicht betrachtet.
Wir wollen den aktuellen Wert hinter dem Codewandler speichern, wenn S=3 ist und unbeeinflusst lassen, wenn S!=3 ist. Weil die Funktion 'Speichern' aber für jedes Ausgangsbit x gleich funktioniert, entwickeln wir eine Schaltung, die entweder ein bit speichert oder ein ankommendes bit durchlässt. Diese kann später für jedes Ausgangsbit in gleicher Weise verwendet werden. Zum Speichern benötigen wir ein JK-Flipflop.

Also erstellen wir eine Übergangs-/Ansteuerungstabelle, die mit s1s0 die Ansteuerung berücksichtigt, mit x das Stellenwert-bit und mit w(i) den alten Ausgang des Flipflops. Gleichzeitig taucht in unserer Tabelle q(i+1) auf, das für S=0,1,2 dem Wert von x entspricht (das Stellenwert-bit wird ohne Beeinflussung durchgelassen). Für S=3 soll w(i+1) dem w(i) entsprechen, die Ansteuerung x wird ignoriert. Damit wird auch klar, weshalb wir tolerieren konnten, dass unser Codewandler bei S=3 Unfug erzeugt: die Werte werden ohnehin ignoriert.

[mm]J=(\neg s1\wedge x)\vee (\neg s0\wedge x)[/mm]
[mm]K=(\neg s1\wedge \neg x)\vee (\neg s0\wedge \neg x)[/mm]

Wer meinen Ausführungen bis hierhin folgen konnte, für den sollte es nun kein großes Problem mehr darstellen, die Formeln in reine NAND-Form zu bringen und die Schaltung aufzubauen
(2bit-Zähler->Codewandler->4*Speichereinheit->4*Ausgang)

Ob diese Lösung nun wirklich weniger Aufwand bedeutet als die zu Anfang beschriebene 'all-in-one', kann ich nicht beurteilen, jedenfalls haben wir nicht nur 4, sondern 6 Flipflops benötigt. Der Entwicklungsaufwand war aber meines Erachtens geringer.

Noch Fragen/Anmerkungen/Kritik/gefundene Fehler?
mfG philipp.w


Edit: Jetzt habe ich zum besseren Verständnis die entsprechenden Ansteuertabellen und KV-Diagramme gescannt und hochgeladen. Außerdem habe ich einen Variablennamen im Speicherblock geändert, um Missverständnissen vorzubeugen (q->w). Der gesamte Aufwand für diese Schaltung beläuft sich (kurz überschlagen) auf 6 JK-Flipflops, 34 2-fach-NANDs und 4 3-fach-NANDS. Darum habe ich auch auf das Zeichnen der fertigen Schaltung großzügig verzichtet.
Ich lasse diesen Artikel aber als fehlerhaft markiert, da es bestimmt noch bessere / einfachere Lösungen gibt. Möchte sich jemand einbringen?

Dateianhänge:
Anhang Nr. 1 (Typ: jpg) [nicht öffentlich]
Anhang Nr. 2 (Typ: jpg) [nicht öffentlich]
Bezug
        
Bezug
Digitaltechnik: Fälligkeit abgelaufen
Status: (Mitteilung) Reaktion unnötig Status 
Datum: 18:20 Mi 23.07.2008
Autor: matux

$MATUXTEXT(ueberfaellige_frage)
Bezug
Ansicht: [ geschachtelt ] | ^ Forum "Elektrotechnik"  | ^^ Alle Foren  | ^ Forenbaum  | Materialien


^ Seitenanfang ^
www.englischraum.de
[ Startseite | Forum | Wissen | Kurse | Mitglieder | Team | Impressum ]