1. Erweiterung Morse De- und Encoder mittels FPGA 2.0

Audio Codec Mikrofon

Nach dem die I2C-Übertragung korrigiert wurde, konnten die Initialisierungsdaten der Register im Audio Codec geändert werden, sodass ein Mikrofon für das Abhören von Morsecodes genutzt werden konnte.

Mikrofon ADC-Kanal Auswertung

Dafür wurden die ADC-Daten des Mikrofonkanals aus dem Audio Codec in der Microphone-Entity ausgewertet. Zunächst wurde der serielle ADC-Kanal mit einer Abtatsrate von 48k samples/s abgetastet und zur Parallelisierung in einem Schieberegister zwischengespeichert. Die ADC-Daten schwanken immer, jedoch mit unterschiedlicher Amplitude und Frequenz, abhängig vom eingespielten Ton. Bei Stille schwankt der Wert nur mit einer kleinen Amplitude um den Basiswert 7D48h. Wird in das Mikrofon ein Ton eingespielt gibt es je nach Lautstärke Ausschläge bis ca. 0000h und FFFFh. Um die vom Mikrofon aufgenommenen Daten zu verarbeiten, wurde der im Schieberegister abgelegt Wert mit einem Schwellwert verglichen. Dieser entspricht mit 3EA4h etwa der Hälfte der im Mikrofon anliegenden Grundspannung bei Stille. Es wurde eine Audio-Schmitt-Trigger implementiert, der ein Signal (audio_peak) ein- und ausschaltet, wenn im Mikrofon ein Ton eingespielt wird.

Flussdiagramm-Mikrofon-Entity
Flussdiagramm der Mikrofon-Entity
Quellcode - Mikrofon-Entity

Audio_Rekonstruktion

Dem Ausgangssignal audio_peak wurde mit Hilfe eines Timmers ein eindeutiger HIGH- oder LOW-Pegel zugewiesen. Dabei wird ein Zähler bei einem HIGH-Pegel auf 0 zurückgesetzt und bei einem LOW-Pegel hochgezählt. Stand ein LOW-Pegel für mindestens 55 Systemtakte stabil an wird das Ausgangssignal gesetzt. Das ausgewertete Mikrofonsignal kann über einen Switch als Eingang auf den Morse-Decoder geführt werden.

Flussdiagramm-Audio_Rekonstruktion-Entity
Flussdiagramm der Audio_Rekonstruktion-Entity
Quellcode - Audio_Rekonstruktion-Entity

Seiten: 1 2 3 4 5