Um auf eine erfolgreiche Diplomarbeit sehr gut vorbereitet zu sein, bedarf es nicht nur 7 Studiensemester, sondern auch genügend praktischer Übung im Erstellen umfassender Projekte. Diese Möglichkeit erhalten Studierende an der praxisbezogenen Fachhochschule Wismar. Das Multimediaprojekt hat einen besonderen Stellenwert. Während des Studienverlaufs bietet es die einmalige Gelegenheit, eine "Diplomarbeit auf Probe" zu erstellen.
Das Thema "Programmierung eines Soundprozessors (DSP) zur Speicherung von digitalisierten Abtastwerten" spiegelt eine Vertiefung des vermittelten Wissens passend zu meinem Interessenbereich wieder. Es geht hierbei primär um das Verstehen und Anwenden von hardwarenaher Programmierung.
Die 3,5 Monate umfassende Arbeit besteht aus der Einarbeitung in das DSP-Konzept einer Soundkarte, dem Entwurf von verschieden Algorithmen zur DSP-Steuerung und der Realisierung der Software.
Inhaltsverzeichnis
1. Einleitung
1.1 Motivation
1.2 Digital statt Analog
1.3 Was sind DSPs?
1.3.1 DSP-Einsatzgebiete
1.3.2 DSP-Eigenschaften auf einen Blick
1.3.3 DSP auf der Soundkarte
1.4 Warum Assembler
2. Vor dem Programmstart
2.1 Systemdokumentationen
2.2 Übersetzung des Programms
3. Die Umsetzung des Programms
3.1 Mehr Komfort beim Umgang mit Parametern und Registern
3.2 High-Level-Call
3.3 Anlegen der Datensegmente
3.4 Das Hauptprogramm
3.5 Die Unterprogramme
3.5.1 up_dspinit
3.5.2 up_speakeraus
3.5.3 up_begruessung
3.5.4 up_aufnahmedauer
3.5.5 up_samplefrequenz
3.5.6 up_bestaetigung
3.5.6 up_bestaetigung
3.5.7 up_setpit
3.5.8 up_umlenklese
3.5.9 up_warteschleife
3.5.10 up_umlenkrestaurieren
3.5.11 up_bestaetigung2
3.5.12 up_speakerein
3.5.13 up_umlenkschreibe
3.5.14 up_nochmal
3.5.15 up_resetpit
3.5.16 up_bildschirmausgabe1
3.5.17 up_bildschirmausgabe2
3.5.18 up_bcd und up_sample_bcd
3.6 Die eigenen Service-Interrupt-Routinen
3.6.1 isr_ein
3.6.2 isr_aus
4. Zusammenfassung und Ausblick
Zielsetzung und Themen
Diese Arbeit zielt darauf ab, ein Assembler-Programm zu entwickeln, das analoge Audiosignale über ein Mikrofon digitalisiert, diese zur weiteren Verarbeitung speichert und die Abtastwerte sowohl über den Lautsprecher wiedergeben als auch dezimal auf dem Bildschirm visualisieren kann. Der Fokus liegt dabei auf der hardwarenahen Programmierung des digitalen Signalprozessors (DSP) sowie der Implementierung effizienter Interrupt-Routinen unter DOS.
- Grundlagen der digitalen Signalverarbeitung und DSP-Architektur
- Assembler-Programmierung für hardwarenahe Systemzugriffe
- Initialisierung und Steuerung des Soundprozessors
- Programmierung von Service-Interrupt-Routinen für Echtzeit-Datenverarbeitung
- Integration eines textgesteuerten Menü-Systems zur Benutzerführung
Auszug aus dem Buch
1.3 Was sind DSPs?
Ein DSP (digitaler Signalprozessor) ist ein Prozessor, der im Gegensatz etwa zur CPU eines PCs durch spezielle Eigenschaften in Architektur und Befehlssatz besonders zur Signalverarbeitung geeignet ist.
Der Befehlssatz umfasst beispielsweise Operationen, die in besonders effizienter Weise die Umsetzung einer digitalen Filterung ermöglichen. Im DSP ist weiterhin in der Regel ein schneller RAM-Speicher vorhanden, auf dem die zeitkritischen Algorithmen effizient ablaufen können. Für den Datenaustausch mit den (in der Regel langsameren) externen Speicherbausteinen sorgen programmierbare DMA-Controller, die die CPU von zeitaufwendigen Datentransfers entlasten.
DSPs verfügen über einen sehr kleinen Befehlssatz, können diesen aber auf einen fortlaufenden Datenstrom in Echtzeit anwenden. Sie werden unter anderem zur Echtzeit-Manipulation von Audio- und Videodaten eingesetzt.
Zusammenfassung der Kapitel
1. Einleitung: Diese Einleitung motiviert die Arbeit, führt in die Grundlagen der Digitalisierung von Audiosignalen ein und definiert die Rolle sowie Funktionen von digitalen Signalprozessoren (DSP).
2. Vor dem Programmstart: Hier werden die Systemanforderungen für das Assembler-Projekt festgelegt und die notwendigen Schritte zum Übersetzen des Quellcodes sowie zum Linken der ausführbaren Datei erläutert.
3. Die Umsetzung des Programms: Dieses Kapitel bildet den Hauptteil und beschreibt detailliert die Programmstruktur, die Einbindung von Unterprogrammen zur DSP-Steuerung sowie die Implementierung eigener Service-Interrupt-Routinen.
4. Zusammenfassung und Ausblick: Der Autor resümiert den Projektablauf, reflektiert die Herausforderungen bei der Assembler-Programmierung und gibt Anregungen für zukünftige Optimierungen und Erweiterungen.
Schlüsselwörter
DSP, Digitaler Signalprozessor, Assembler, Soundkarte, Digitalisierung, Interrupt, Systemprogrammierung, Echtzeit, Abtastwerte, DOS, Hardwaresteuerung, Datenverarbeitung, Signalverarbeitung, Sound Blaster, Mikroprozessor.
Häufig gestellte Fragen
Worum geht es in dieser Arbeit primär?
Die Arbeit behandelt die Entwicklung eines Assembler-Programms zur Steuerung eines Soundprozessors (DSP), um Audiosignale zu digitalisieren und zu verwalten.
Welche zentralen Themenbereiche werden abgedeckt?
Die Schwerpunkte liegen auf der hardwarenahen Programmierung unter MS-DOS, der DSP-Initialisierung, der Nutzung von Interrupts und der effizienten Datenverarbeitung von Audiosignalen.
Was ist das primäre Ziel des Projekts?
Das Ziel ist die Erstellung einer Software, die eine Echtzeit-Aufnahme und -Wiedergabe von Tönen über eine Soundkarte ermöglicht und zusätzlich die Messwerte in dezimaler Form ausgibt.
Welche Methode wird zur Umsetzung verwendet?
Es wird eine Low-Level-Programmierung in der Programmiersprache Assembler eingesetzt, um direkt auf die Hardwareregister und I/O-Adressen der Soundkarte zuzugreifen.
Was wird im Hauptteil der Arbeit behandelt?
Der Hauptteil gliedert sich in die methodische Implementierung der verschiedenen Programmmodule, wie z.B. Speicherverwaltung, Timer-Programmierung (PIT) und das Umlenken von Interrupt-Vektoren.
Durch welche Schlüsselwörter lässt sich die Arbeit charakterisieren?
Wichtige Begriffe sind DSP, Assembler, Digitalisierung, Interrupt-Service-Routinen (ISR) und Soundkarten-Programmierung.
Warum ist der Programmable Interval Timer (PIT) für dieses Programm relevant?
Der PIT ist notwendig, um das Zeitraster für die Abtastfrequenz (Sampling-Rate) exakt vorzugeben, damit die Aufnahme und Wiedergabe in der gewünschten Qualität erfolgt.
Welche Rolle spielt die "Pascal"-Konvention in der Assembler-Programmierung dieses Projekts?
Die Pascal-Konvention wird genutzt, um die Parameterübergabe an Unterprogramme sowie das Sichern und Wiederherstellen von Registern zu vereinfachen, was den Programmcode lesbarer und wartungsfreundlicher macht.
- Arbeit zitieren
- Tino Werth (Autor:in), 2004, Programmierung eines Soundprozessors (DSP) zur Speicherung von digitalisierten Abtastwerten, München, GRIN Verlag, https://www.grin.com/document/32452