Bachelorarbeit im FB Technik / Abt. Elektrotechnik + Informatik
Entwurf und Implementierung eines IP-Cores zur Audio-Daten Kompression auf dem Altera DE2-Entwicklungsboard
In diesem Projekt wurde eine Audio Kompression entwickelt werden. Dazu ist ein in VHDL beschriebener IP-Core entstanden, der im Praktikum Hardware-Entwurf/VHDL zu Lehrzwecken in dem bestehenden IP-Cores des Diktiergerätes verwendet werden kann. Ziel der Arbeit ist das Verbessern der Aufnahme-Länge bei gut zu verstehender Audio-Qualität. Die komprimierten Audio-Daten werden im SRAM gespeichert werden. Alternativ könnte auch der dynamische RAM verwendet werden.
Zuerst wurden die Funktionen des Audio-Moduls auf dem Board dafür angepasst.
Die
Register Tabelle des Audio Moduls; Quelle:
http://www.cs.columbia.edu/~sedwards/classes/2008/4840/Wolfson-WM8731-audio-CODEC.pdf
Auf dem FPGA-Board befindet sich ein Audio-Modul der Firma Wolfson, das von dem FPGA über einen I²C-Bus konfiguriert werden kann. Nach der statischen Adresse des Moduls folgen byteweise 16 Datenbits, die von dem Modul empfangen werden und eine 7-Bit lange Adresse des Registers und 9 Konfigurationsbits enthalten. In diesem Projekt wurden die Einstellungen für die Sample-Rate und die Sample-Größe mit Schaltern auf dem Entwicklungsboard verbunden. Dadurch können diese zur Laufzeit umgeschaltet werden. Außerdem wurde die Kommunikation über den I²C-Bus erweitert, sodass Übertragungsfehler erkannt und die Übertragung wiederholt werden kann. In der Hauptaufgabe des Projektes wurde nun die Struktur des bestehenden IP-Cores angepasst. Bevor die Audio-Daten an dem SRAM-Controller weitergegeben werden, ist nun eine neue Komponente hinzugefügt worden, die die Audio-Daten komprimiert.
Von
dem Kompressionsmodul aus kann somit eine geringere Anzahl an
Datenwörtern in den SRAM geschrieben werden als von der
Finite-State-Machine
(FSM) übertragen wurden. Umgekehrt können nach der
Dekodierung nach dem erneuten Auslesen aus dem SRAM zur Wiedergabe
wieder mehr Datenwörter an die FSM übertragen werden als im
Speicher abgelegt werden mussten. Die Speicheradresse wird hierbei
von der FSM verwaltet. Dadurch ist in dem Kompressions-Modul nur die
Kompression implementiert.