Hallo, ich sitze gerade vor einer eventuellen Prüfungsaufgabe und komme da nicht weiter. Ich hoffe ihr könnt mir dazu ein paar Ratschläge geben. Hier die Aufgabe: Bauen Sie einen Sinusgenerator, der ein Sinunssignal anhand von 8 Stützstellen ausgeben soll. Realisiert werden soll die Schaltung mit einem geeigneten ROM-Baustein und der erforderlichen Anzahl MS-D-Flipflops. Ein 8Bit-D/A-Wandler soll die gespeicherten Stützstellen in ein analoges Ausgangssignal umwandeln. Die Erzeugung der Folgeadresse soll im ROM selbst erfolgen. Die Schaltung soll taktgesteuert betrieben werden. d) Stellen sie zunächst eine Tabelle auf, die die geforderten Stützstellen (0, PI/4, PI/2, ...) des Sinussignals(positive Sinusschwingung) in Dezimal- und Dualdarstellung enthält.(Bemerkung: um die nötige 8Bit-Auflösung zu erhalten, schieben Sie bitte ihr Rechenergebnis um die benötigte Anzahl von Bits nach links.) e) Ermitteln Sie die erforderliche Anzahl von Zustandsbits und stellen Sie danach die Übergangstabelle einschliesslich Ausgangsvariablen auf. f) Skizzieren Sie die Schaltung und belegen Sie das ROM wie üblich mit Verbindungspunkten. Mich überfordert die Aufgabe, weil man mit 8 Stützstellen einen 8Bit D/A-Wandler ansteuern soll. MfG Dennis
Wo ist das Problem die 8 Stützstellen nacheinander an den DAC zu geben?
dohwulkla schrieb: > Mich überfordert die Aufgabe, weil man mit 8 Stützstellen einen 8Bit > D/A-Wandler ansteuern soll. Da steht nichts davon, dass du zwischen den Stützstellen interpolieren sollst. Die Aufgabe ist also gleichwertig mit: In einem ROM sind 8 Werte gespeichert, die nacheinander am DA Wandler ausgegeben werden sollen. Das diese Werte einen 'Sinus' ergeben sollen interessiert dich nur bei der Berechnung der auszugebenden Werte. Für die Schaltung selbst ist die Signalform irrelevant. Diese ROM-Sequenzer arbeiten normalerweise nach diesem Muster: Steuersignale +-----------------------------+ | | | +------------+ | | | Adressen | | v v | | +------------+ +-------+ | | | | |----+ | ROM | | | | | | Logik | | Datenbits | | | +------------+ +-------+ | | | | | ^ ^ | | | | | | | v v v | +---------+ | Datenbits +-------------+ zum D/A D.h. von den Datenbits, die aus dem ROM rauskommen, wird ein Teil abgezweigt und kodiert von welcher Adresse als nächstes vom ROM ausgelesen werden soll. Wird dann von dieser Adresse gelesen, so enthält der gelesene Wert wiederrum die Adressinformation, wo als nächstes gelesen werden soll. (Ist ein bischen so, wie wenn in einem Buch ganz unten auf jeder Seite steht: Weiter bei Seite xyz)
Hallo Karl Heinz, erstmal danke für deine Antwort! Auf dieser Basis habe ich folgende Überlegung angestellt (siehe Anhang). 1. 8 beliebige Stützstellen der positiven Periode gewählt 2. Darstellung in 3Bit-Form 3. Umwandlung in 8Bit durch links schieben Sollte die Wertetabelle stimmen, denke ich mit dem Rest der Aufgabe klarzukommen. Das Endergebnis kann ich dann ja nochmal posten. Vielen Dank erstmal.
Du solltest schon die "echten" Werte des Sinus nehmen... so erzeugst du einen Sägezahn... und nicht irgendwas mit 3-bit, sondern 8 bit genauigkeit. Die ADRESSE im Speicher ist 3 Bit, die DATEN können "echte" 8 Bit sein.
Die "echten" Werte, wie du sie nennst sind ja auf dem ROM Baustein gespeichert und die 3Bit dienen ja nur der Adressierung des ROMS, von dem wir ja nun die Werte des Sinus herausziehen.
Genau das meinte ich... Nur die Erweiterung auf 8 Bit macht dann nicht wirklich Sinn, deshalb war ich mir nicht sicher was deine Tabelle sagen soll.
Hallo, ich glaube ich habe das ganze nun gelöst. Dazu habe ich angenommen, dass der 0 Pegel des Sinus auf U/2 liegt (Offset). Somit ergibt sich dann folgende Lösung (im Anhang). Ich hoffe, dass ich die Aufgabenstellung richtig verstanden und umgesetzt habe :-P Vielleicht kann ja jemand nochmal drüber schauen. MfG Dennis
Also ich würde schon die vollen 8Bit des D/A-Wandlers ausnutzen, dann hast du auch etwas, was mehr nach Sinus aussieht (siehe Anhang). Dazu einfach den Wert des Sinus an den Stützstellen (Wertebereich 0..2) mit 127 multiplizieren und das dann in Binär umrechnen. Die Folgezustände könntest du auch über einen 3-Bit zähler mit mehreren D-FF berechnen. Oder du nimmst von den 8Bit-Werten im ROM 3Bit für den Folgezustand und die restlichen 5Bit für den Sinus-Wert. Oder gleich 11Bit im ROM speichern, steht ja nirgends, dass der nur 8Bit breit ist ;)
Bitte melde dich an um einen Beitrag zu schreiben. Anmeldung ist kostenlos und dauert nur eine Minute.
Bestehender Account
Schon ein Account bei Google/GoogleMail? Keine Anmeldung erforderlich!
Mit Google-Account einloggen
Mit Google-Account einloggen
Noch kein Account? Hier anmelden.