zur KnowledgeBase
kostenlosen Counter einrichten
zur SiteMap

myself

coding

graphics

creative

links


Sprung innderhalb der Websitediese Seite weiterempfehlen
home/

     digitales Diktiergerät
Dies ist die Struktur dieses Gerätes, die einzelnen Komponenten sowie die internen Signale:
 
Struktur des digitalen Diktiergerätes
technische Daten
Samplingfrequenz10 kHz
Samplinrate16 Bit
Speichergröße64 kByte


Diese Eckdaten können natürlich verändert werden, die Grundstruktur erlaubt jegliche Dimensionierung.


zur Funktionsweise

Grundidee war es, die analogen Informationen, die ein Mikrophon liefert durch einen AD-Wandler (analog-digital-Wandler) in eine 8 Bit oder 16 Bit Zahl umzuwandeln und in regelmäßiegen Zeitintervallen abzuspeichern. Das Prinzip des Sampelns.
Auf die selbe Weise werden die aufgeneommen Töne wieder ausgegeben, indem die gesampelten 8 bzw. 16 Bit Daten in den gleichen Zeitintervallen durch einen DA-Wandler (digital-analog-Wandler) in die ursprünglichen Töne zurückgewandelt werden.


zu den Komponenten

Takt:
Diese Komponente gibt den notwendigen Takt und somit die Sampelfrequenz vor.

IO-Einheit:
Ein AD-Wandler bildet die Schnittstelle zwischen den analogen Informationen eines Mikrophons und dem digitalen Datenbus. Dabei entspricht die Auflösung des Wandlers (16 Bit) der Breites des Busses (16 Bit).
Ein DA-Wandler wiederum wandelt die Daten des Busses in eine analoge äquivalente Information um.
Gegebenenfalls müssen zwischen dem Mikrophon und Lautsprecher und den Eingängen zum Gerät jeweils eine Verstärkerstufe angebracht werden.

Speicher:
Der Speicher bewahrt alle gesampelten Daten auf, sie werden hintereinander im Speicher abgelegt.

Adresse:
Der Speicher wird durch eine Adresse adressiert, die von diesem getakteten Zählwerk generiert wird.

Endzeiger:
Diese Komponente speichert die letzte Adresse, an der im Speicher ein gültiges Sample-Datum vorhanden ist. Also beim Beenden des Beschreibens des Speichers wird die aktuelle Adresse hier hinterlegt.
Somit kann garantiert werden, dass beim wiederabspielen nur "echte" Sampel-Daten ausgegeben werden.

Steuerwerk:
Dies ist die zentrale Steuereinheit. Sie steuert die Funktionen aller anderen Komponenten.


subtype bv_16 is bit_vector ( 15 downto 0 );

 
Eigenschaften der Komponenten
KomponenteSignalTypAufgabe
Takt Takt out bit gibt den internen Takt
KomponenteSignalTypAufgabe
IO-Einheit enable in bit aktiviert diese Komponente
IO-Mode in bit übermittelt der Komponente den IO-Mode des gesamten Gerätes:
'0' - Input Modus (Aufnahme)
       AD-Wandler aktiv, Daten auf Bus schreiben
'1' - Output Modus (Abspielen)
       DA-Wandler aktiv, Daten vom Bus lesen
Takt in bit übermittelt der Komponente den internen Takt
data inout bv_16 16 Bit breiter Datenbus zum lesen und beschreiben
KomponenteSignalTypAufgabe
Speicher enable in bit aktiviert diese Komponente
IO-Mode in bit übermittelt der Komponente den IO-Mode des gesamten Gerätes:
'0' - Input Modus (Aufnahme)
       Bus lesen und Daten speichern
'1' - Output Modus (Abspielen)
       Speicher lesen und Bus beschreiben
Takt in bit übermittelt der Komponente den internen Takt
data inout bv_16 16 Bit breiter Datenbus zum lesen und beschreiben
KomponenteSignalTypAufgabe
Adresse enable in bit aktiviert diese Komponente
Takt in bit übermittelt der Komponente den internen Takt
reset in bit setzt den Zähler auf 0
Adresse out bv_16 gibt die 16 Bit breite Adresse aus
KomponenteSignalTypAufgabe
Endzeiger save in bit veranlasst die Komponente die aktuelle Adresse aufzunehmen
reset in bit setzt die interne Adresse auf 0
Adresse in bv_16 liefert der Komponente die 16 Bit breite Adresse
equal out bit signalisiert, dass die interne Adresse mit der aktuellen Adresse übereinstimmt
KomponenteSignalTypAufgabe
Steuerwerk play in bit Startet den Abspielprozess, falls i.M. möglich
rec in bit Startet den Aufnahmeprozess, falls i.M. möglich
stop in bit Stoppt den aktuellen Prozess
takt in bit synchronisiert die Steuereinheit
equal in bit zeigt an, dass das Ende der letzten Aufnahme / des Speichers erreicht wurde
IO-Mode out bit Setzt den IO-Mode des Gerätes
'0' - Input
'1' - Output
save out bit weist den Endzeiger an, die aktuelle Adresse zu speichern
enable IO out bit aktiviert die IO-Einheit
enable Adresse out bit aktiviert die Adress-Einheit
enable Speicher out bit aktiviert den Speicher
reset Adresse out bit setzt die aktuelle Adresse auf 0
reset Endzeiger out bit setzt den Endzeiger auf 0

Funktionsweise der Steuereinheit

was passier bei betätigen der Rec / Play-Taste?

Grundzustand
Speicher, IO-Einheit, Adresse sind deaktiviert und Adresse wird gelöscht.

PLAY
1. Adresszähler starten
2. einen Takt abwarten
3. IO-Mode auf Output, IO-Einheit und Speicher aktivieren
4. warten bis Stop gedrückt oder equal signalisiert wird
5. in den Grundzustand zurück

REC
1. Adresszähler aktivieren, Endzeiger löschen
2. einen Takt abwarten
3. IO-Mode auf Input, IO-Einheit und Speicher aktivieren
4. warten bis STOP gedrückt oder equal signalisiert wird
5. aktuelle Adresse speichern
6. in Grundzustand zurückkehren


Sicherlich gibt es ein paar kleine Bugs, aber das Konzept im ganzen ist voll ausgereift.

ZIP DateiDownload des VHDL-Quellcodes (5,7 kByte Zip)


(c) 2001-2006 Enrico Minack - WWWhttp://www.maniac-site.de/ - E-Mailmail@maniacme.de