Inhalt Fußnoten

Fußnoten


Fußnote 7.1-1

Die gleiche Entwicklung kann man natürlich auch bei den universellen Mikroprozessoren und den Mikrocontrollern beobachten.

Fußnote 7.1-2

vgl. Abschnitt 6.2.1 in KE6.

Fußnote 7.1-3

vgl. K1705, KE7, A5.8

Fußnote 7.1-4

Zum DMA-Verfahren vgl. K1705, KE4, A3.7.

Fußnote 7.1-5

Z.B. Texas Instruments TMS320C4x, Analog Devices ADSP-2106x SHARC.

Fußnote 7.1-6

TPERIOD entspricht den Latches der Zähler im MC6840, s. KE5.

Fußnote 7.1-7

Dies unterscheidet ihn von vielen Zeitgeber-Modulen anderer Prozessoren, die als freilaufende Zähler realisiert sind.

Fußnote 7.1-8

Z.B der Baustein AD1847 (SoundPort) von Analog Devices mit einer Abtastrate von 5,5-48 Mhz, Verstärker- und Mikrophoneingang sowie einem Verstärkerausgang.

Fußnote 7.1-9

Es sind natürlich auch Anwendungen denkbar, in denen die Richtungen - gesteuert durch eine Absprache der Partner - wechseln können.

Fußnote 7.1-10

Zur synchronen Übertragung vgl. K1705, KE7, A5.7.

Fußnote 7.1-11

Dennoch soll darauf hingewiesen werden, daß die SPORTs keine universellen, synchronen/asynchronen seriellen Schnittstellen (USART - Universal Synchronous/Asynchronous Receiver/Transmitter) darstellen. Die Übertragung wird insbesondere nicht durch ein Start-Stop-Protokoll - wie bei der V.24-Schnittstelle - gesichert. Sofern Sie solch ein Protokoll benötigen, müssen Sie es selbst durch Software nachbilden.

Fußnote 7.1-12

Ihre Bezeichnungen sind im Assembler bekannte und "geschützte" Namen.

Fußnote 7.1-13

Für Kenner: Umwandlung nach der CCITT-Empfehlung G.711 (µ-law, A-law).

Fußnote 7.1-14

Diese Register werden wir weiter unten im Detail besprechen.

Fußnote 7.1-15

IF (NOT) FLAG_IN bzw. SET/RESET/TOGGLE FLAG_OUT.

Fußnote 7.1-16

Beide Algorithmen komprimieren vor dem Senden 13-bit-Werte in 8-bit-Zahlen und dekomprimieren beim Empfangen diese 8-bit-Zahlen wiederum zu 13-bit-Zahlen.

Fußnote 7.1-17

Nicht eingerechnet sind hier Wartezyklen, die u.U. beim Zugriff auf einen Puffer im externen Speicher benötigt werden.

Fußnote 7.1-18

Sie können in speziellen Anwendungen für das Senden und Empfangen auch identisch sein.

Fußnote 7.1-19

Insbesondere darf jedes Steuersignal zur Vermeidung von Kurzschlüssen nur von einem der Partner erzeugt, von allen anderen jedoch nur ausgewertet werden.

Fußnote 7.1-20

Dieses Signal kann von externen Bausteinen ausgewertet werden.

Fußnote 7.1-21

Bei der Dateieingabe muß der richtige Pfad mit angegeben werden.

Fußnote 7.1-22

Vor einem eventuellen Neustart müssen Sie den Prozessor durch den Befehl RE im Befehls-Eingabefenster zurücksetzen.

Fußnote 7.1-23

U.U müssen Sie dazu leider den Simulator verlassen (Fehlermeldung: File empty).

Fußnote 7.1-24

Wie bereits gesagt, spricht man hier vom Mikrorechner-Modus.

Fußnote 7.1-25

Hier liegt der sog. Mikroprozessor-Modus vor.

Fußnote 7.1-26

Im Unterschied dazu besitzt der MC6809 ein kombiniertes Lese-/Schreibsignal R/W.

Fußnote 7.1-27

Während dieser Zeit arbeiten die seriellen Schnittstellen jedoch weiter.

Fußnote 7.1-28

Wir sprechen im weiteren vom Booten in Ermangelung eines besseren deutschen Begriffs.

Fußnote 7.1-29

Dies können mehrere Speicherbausteine, aber auch ein einziger 64-kbyte-Baustein sein.

Fußnote 7.1-30

Diese sind in den Registerdarstellungen der Anhänge zu KE6 und KE7 nachzulesen.

Fußnote 7.1-31

Diese Adresse ist (nach Tabelle 6.3-10 in KE6) die Anfangsadresse des RESET-Interruptvektors (Reset/Restart Vector). Spätestens in der Speicherzelle 0x003 muß ein Sprungbefehl zum Beginn des auszuführenden Programms stehen. Die unteren Wörter der Boot-Seite enthalten i.d.R. die Interrupt-Vektortabelle.

Fußnote 7.1-32

Die Seitenlänge 0 bedeutet einen Boot-Bereich von 32 Bytes, von denen 24 übertragen werden.

Fußnote 7.1-33

Verändern Sie vorher zur Kontrolle einige Wörter im Programmspeicher.

Fußnote 7.2-1

Die folgenden Ausführungen gelten weitgehend für alle Mitglieder der ADSP-21xx-Familie.

Fußnote 7.2-2

Das ist das Hardware-System, auf dem das Programm als Anwendung laufen soll.

Fußnote 7.2-3

Natürlich bieten auch die anderen DSP-Hersteller vergleichbare Systeme für ihre Prozessoren an.

Fußnote 7.2-4

Zur Erinnerung: Die eckigen Klammern bezeichnen optional angebbare Befehlsteile.

Fußnote 7.2-5

Sofern Sie diese Fehlermeldungen speichern wollen, müssen Sie sie durch einen DOS-Befehl in eine Datei umleiten.

Fußnote 7.2-6

Neben den hier aufgeführten Direktiven gibt es noch einige weitere, auf die wir nicht eingehen wollen.

Fußnote 7.2-7

Achtung: Hier kennzeichnen die eckigen Klammern keinen optionalen Parameter, sondern - wie in vielen höheren Programmiersprachen - die Feldlänge.

Fußnote 7.2-8

Legen Sie sich zunächst eine Sicherungskopie der Originaldatei an.

Fußnote 7.2-9

Den Fall, daß das Assembler-Modul vom C-Compiler erzeugt wird, wollen wir hier nicht weiter betrachten.

Fußnote 7.2-10

Die ausgegebenen Objektcode-Module werden vom Linker (s. Abschnitt 7.2.4) zu einem ausführbaren Programm zusammengefügt.

Fußnote 7.2-11

verkürzend oft mit 'OpCodes' bezeichnet.

Fußnote 7.2-12

Das Programmlisting ist auch die einfachste Form der Programm-Dokumentation.

Fußnote 7.2-13

Korrekt heißt es wohl Präprozessor.

Fußnote 7.2-14

Dadurch wird die gemischte Programmierung einer Anwendung in Assembler und C sehr erleichtert.

Fußnote 7.2-15

Einige Direktiven existieren sowohl in C- wie in Assembler-Notation (s.u.).

Fußnote 7.2-16

Zur Wirkung eines Macro-Aufrufes s. KE2.

Fußnote 7.2-17

Der Schrägstrich - Backslash - zeigt an, das die Macro-Definition in der nächsten Zeile fortgesetzt wird.

Fußnote 7.2-18

Assemblerbefehle werden durch ein Semikolon abgeschlossen; Kommentare in diesen Zeilen durch '{....}' geklammert.

Fußnote 7.2-19

Korrekt muß es wohl 'Präprozessor' heißen.

Fußnote 7.2-20

Das Segment muß in der Systemspezifikations-Datei zum System Builder beschrieben worden sein.

Fußnote 7.2-21

Dies liefert eine Alternative zur Angabe mehrerer Boot-Seiten über BOOT=0 ... 7.

Fußnote 7.2-22

Beachten Sie, daß hier die spitzen Klammern gesetzt werden müssen und nicht nur zur Beschreibung der Befehlssyntax dienen.

Fußnote 7.2-23

Dies kann auch eine Bibliothek von Macros sein.

Fußnote 7.2-24

Beachten Sie, daß die spitzen Klammern um den Dateinamen gesetzt werden müssen.

Fußnote 7.2-25

vgl. auch die C-Prozessor-Direktive #DEFINE.

Fußnote 7.2-26

Die Regeln zum Aufbau von symbolischen Konstanten werden wir im Abschnitt 7.2.3.4 beschreiben.

Fußnote 7.2-27

Dieser Switch sollte immer gesetzt werden, wenn der C-Compiler benutzt wird, da dieser stets kontext-sensitiv ist.

Fußnote 7.2-28

Dieser Switch ist daher mit der #DEFINE-Direktive vergleichbar.

Fußnote 7.2-29

Der Assembler erzeugt dennoch stets den richtigen OpCode, solange die Teiloperation korrekt angegeben wurden.

Fußnote 7.2-30

Zwischen Groß- und Kleinbuchstaben wird nur unterschieden, wenn beim Assembleraufruf der Switch '-c' gesetzt wird.

Fußnote 7.2-31

im Unterschied zum Simulator

Fußnote 7.2-32

Sie werden merken, daß diese Meldungen leider nicht sehr aussagekräftig sind.

Fußnote 7.2-33

vgl. die Assembler-Direktiven .EXTERNAL, .ENTRY, .GLOBAL.

Fußnote 7.2-34

RAM oder ROM, Daten- oder Programmspeicher, interner oder externer Speicher

Fußnote 7.2-35

vgl. die Assembler-Direktive .INIT.

Fußnote 7.2-36

bzw. Emulator

Fußnote 7.2-37

bzw. Emulator

Fußnote 7.2-38

Eine Reihe anderer Switches wird nur im Zusammenhang mit dem C-Compiler benötigt.

Fußnote 7.2-39

d.h. wenn sie nicht im gleichen Unterverzeichnis wie LD21 liegen,

Fußnote 7.2-40

Hierauf wollen wir nicht weiter eingehen.

Fußnote 7.2-41

Das Booten von Datenpuffern in den externen Speicher geschieht sinngemäß.

Fußnote 7.2-42

Auf eine genaue Erklärung der einzelnen Einträge wollen wir hier verzichten, da der Linker im Rahmen des Praktikums nur "Mittel zum Zweck" ist.

Fußnote 7.2-43

Genau betrachtet, erzeugt er stets alle drei Dateien, von denen aber jeweils nur die im Bild dargestellten von Bedeutung sind.

Fußnote 7.2-44

In dieser Datei '.BNM' sind - wie beschrieben - Programm- und Daten-Bytes gemeinsam gespeichert.

Fußnote 7.2-45

.BNM enthält das höherwertige, .BNL das niederwertige Byte.

Fußnote 7.2-46

Die Endung '.EXE' muß nicht angegeben werden, da sie vom PROM-Splitter als Voreinstellung genommen wird.

Fußnote 7.2-47

Der Simulator SIM2101 unterstützt keine Boot-Seiten mit weniger als 2048 Wörtern.

Fußnote 7.2-48

nur sinnvoll für Boot-Seiten mit weniger als 2048 Wörtern.

Fußnote 7.2-49

Dies ist für Prozessoren der ADSP-21xx-Familie unerläßlich, die über einen internen Programmspeicher geringerer Kapazität verfügen.

Fußnote 7.2-50

8 Boot-Seiten der Länge 512 (=2048 byte) passen in ein 16-kbyte-EPROM.

Fußnote 7.2-51

Natürlich kann sie der Benutzer auch selbst schreiben.

Fußnote 7.2-52

Jede Boot-Seite besteht aus 2048 32-bit-Wörtern, vgl. Abschnitt 7.1.4.

Fußnote 7.2-53

vgl. Abschnitt 7.1.4

Fußnote 7.2-54

vgl. die Direktive '.PORT'.

Fußnote 7.2-55

eine sog. I/O-Page, vgl. K1705, A1.10

Fußnote 7.2-56

s. Abschnitt 7.2.6.5.

Fußnote 7.2-57

Die Simulatoren SIM21xx für die anderen Mitglieder der DSP-Familie ADSP-21xx unterscheiden sich nur in den Funktionen für die jeweils implementierten Komponenten und Speichermodule.

Fußnote 7.2-58

Dies ist leider während der Präsenzphase des Praktikums der Fall.

Fußnote 7.2-59

Diese Dateien werden beim normalen Beenden des Simulators gelöscht, können aber nach einem Programmabbruch im Fehlerfall bestehen bleiben und sollten dann gelöscht werden.

Fußnote 7.2-60

gegeben durch den Zustand aller Register und Speicherbereiche, durch die Symbole und festgelegten Unterbrechungspunkte (Breakpoints). S. Befehl 'STATE'

Fußnote 7.2-61

Beenden des Programms mit 'Quit' unterdrückt die Abspeicherung der Fensterkonfiguration.

Fußnote 7.2-62

Dieser Switch sollte immer gesetzt werden, wenn der C-Compiler benutzt wird, da dieser stets kontext-sensitiv ist.

Fußnote 7.2-63

Es handelt sich um die vollständige Menge der C-Operatoren.

Fußnote 7.2-64

im Unterschied zum Assembler

Fußnote 7.2-65

Menü:Register, Eintrag: Control Register

Fußnote 7.2-66

Selbstverständlich kann anstelle des symbolischen Ausdrucks auch die absolute Adresse angegeben werden.

Fußnote 7.2-67

und der Einsendeaufgaben zu KE6

Fußnote 7.2-68

mit der Ausnahme, daß der Simulator nicht gerade ein Programm ausführen darf (Running).

Fußnote 7.2-69

vgl. auch Anhang C dieser KE

Fußnote 7.2-70

Wenn Sie einige oder alle der beschriebenen Befehle ausprobieren wollen, sollten Sie beide Fenster (Command Window, Command Output Window) öffnen.

Fußnote 7.2-71

Im Rahmen dieses Praktikums werden Sie nur eine kleine Anzahl von Befehlen benötigen. Den Rest beschreiben wir hier nur der Vollständigkeit halber.

Fußnote 7.2-72

Die Auswertung von Ausdrücken mit dem '?'-Operator bietet dem Benutzer die Möglichkeit, den Simulator wie einen "Taschenrechner" zu benutzen.

Fußnote 7.2-73

Das Suchen nach Marken geschieht aber besser durch den Befehl '? Symbol'

Fußnote 7.2-74

Diese Möglichkeiten funktionieren leider nur für Zahlen in dezimaler und hexadezimaler Darstellung.

Fußnote 7.2-75

vgl. Tabelle in Anhang C.

Fußnote 7.2-76

Für die Angabe des Bereichs stehen die beiden Möglichkeiten aus Abschnitt 7.2.6.3 zur Verfügung.

Fußnote 7.2-77

Auf einfache Weise können dadurch insbesondere Abtast- und Ausgabewerte eines Algorithmus der digitalen Signalverarbeitung in Form eines analogen Signals gezeigt werden.

Fußnote 7.2-78

vgl. die Assembler-Direktive '.INIT'.

Fußnote 7.2-79

Der durch den Breakpoint bezeichnete Befehl selbst wird nicht mehr ausgeführt.

Fußnote 7.2-80

Dies ist insbesondere bei Vergleichsausdr¨cken der Fall.

Fußnote 7.2-81

Der einfachste Ausdruck besteht aus der Angabe eines einzigen Registers. Eine Unterbrechung wird bei jeder Änderung des Registerwertes erzeugt.

Fußnote 7.2-82

vgl. die Tabelle im Anhang C.

Fußnote 7.2-83

Beim ADSP-2101 können als Interruptquellen die Signale IRQ0-2 sowie die SPORT-Signale SCLKi, RFSi, TFSi gewählt werden.

Fußnote 7.2-84

Insbesondere muß in SPORT#1 die Festlegung zwischen der Nutzung als serielle Schnittstelle (mit ihren Rahmen-Synchronisiersignalen) und der alternativen Nutzung (mit den Interrupteingängen IRQ0, IRQ1) getroffen werden. Das selektierte Rahmensignal muß außerdem als extern erzeugt definiert sein.

Fußnote 7.2-85

vgl. Tabelle im Anhang C.

Fußnote 7.2-86

Wenn Sie im Defaults Menu (Menu: MISC, Eintrag: Defaults) die Wahl Echo enabled getroffen haben, wird im Befehls-Ausgabefenster (Command Output Window) der jeweils als nächster auszuführende Befehl dargestellt.

Fußnote 7.2-87

Diese Angaben können zur Laufzeit-Optimierung des Programms herangezogen werden.

Fußnote 7.2-88

d.h. solchen mit vielen Verzweigungen im Flußdiagramm,

Fußnote 7.2-89

als ASCII-Zeichen '0' und '1' getrennt durch Leerzeichen oder Wagenrücklauf.

Fußnote 7.2-90

nicht das Schließen !

Fußnote 7.2-91

Start Keystroke Recording, Stop Keystroke Recording, Playback Keystroke File

Fußnote 7.2-92

Dies sollte kein Anwenderprogramm-Aufruf sein, da der Simulator selbst sehr viel Speicherplatz benötigt. Wenn Ihr PC keinen Erweiterungsspeicher (Extended Memory) besitzt, ist auch die Ausführung aller MS-Dos Kommandos nicht sichergestellt.

Fußnote 7.P-1

genauer eigentlich der Auffrischabstand.

Fußnote 7.P-2

Die folgenden NOPs dienen lediglich dazu, die vier Wörter für jeden Interruptvektor zu belegen. Sie werden nicht ausgeführt und können daher durch jeden anderen Befehl ersetzt werden.

Fußnote 7.3-1

das bereits in KE7, Abschnitt 7.2.1, kurz erwähnt wurde

Fußnote 7.3-2

eine Art minimales Betriebssystem

Fußnote 7.3-3

Darüber hinaus steht Im EPROM noch jede Menge Platz für eigene Anwendungsprogramme zu Verfügung.

Fußnote 7.3-4

oder auch Converter/Deconverter

Fußnote 7.3-5

Dies entspricht einer Abtastrate von max. 48 kHz.

Fußnote 7.3-6

Auf die Kopplung der Komponenten untereinander gehen wir in Abschnitt 7.3.2.3 ausführlicher ein.

Fußnote 7.3-7

Die Signale werden jeweils mit L für linker Kanal und R für rechter Kanal bezeichnet.

Fußnote 7.3-8

Die ausgewählten Kanäle müssen nicht aus dem selben Signalpaar stammen.

Fußnote 7.3-9

vgl. K1705, KE7

Fußnote 7.3-10

Sie sind paarweise vorhanden und wandeln die 16-bit-Zahlen nach dem bereits in KE7, Abschnitt 7.1.3, beschriebenen (logarithmischen) Verfahren A-Law bzw. m-Law in 8-bit-Zahlen um.

Fußnote 7.3-11

Auf die möglichen Datenformate gehen wir im nächsten Abschnitt genauer ein.

Fußnote 7.3-12

Dies ist einfach eine Summation der digitalen Werte.

Fußnote 7.3-13

Die Richtung 'Ein'- bzw. 'Aus'-ist hier vom AD1847 aus gesehen.

Fußnote 7.3-14

Darauf werden wir im Abschnitt 7.3.2.3 noch eingehen.

Fußnote 7.3-15

d.h. daß der zulässige Spannungsbereich an diesen Eingängen über- oder unterschritten wird.

Fußnote 7.3-16

Es werden nur vier Bereiche unterschieden und in 2 Bits codiert.

Fußnote 7.3-17

Genauere Informationen finden Sie im Datenblatt zum AD1847.

Fußnote 7.3-18

XX steht fürden Inhalt des adressierten 8-bit-Steuerregisters

Fußnote 7.3-19

Line 1, Line 2, AUX 1 und Line 1 gemischt mit Line Out

Fußnote 7.3-20

VdB = 20 log10V.

Fußnote 7.3-21

1,5 dB entsprechen einer Verstärkung von 1,1885; 22,5 dB einer Verstärkung von 13,335.

Fußnote 7.3-22

Beim Monobetrieb wird nur der linke Kanal gelesen und ein Wert auf beiden Kanälen ausgegeben.

Fußnote 7.3-23

s. Bild 7.3-2 und Datenblatt im Anhang.

Fußnote 7.3-24

16-bit-Zahlen werden vor der Kompression durch Abschneiden (Truncation)der unteren Bits auf 13 bzw. 14 Bits gekürzt, nach der Dekompression durch Auffüllen der unteren Bits mit 0 erweitert.

Fußnote 7.3-25

s. Abschnitt 7.3.2.3.

Fußnote 7.3-26

Ausnahme: Kettenschaltung von mehreren Codecs AD1847.

Fußnote 7.3-27

Beim DSP: 24 oder 32 Kanäle.

Fußnote 7.3-28

48 kHz

Fußnote 7.3-29

für den linken und den rechten Kanal

Fußnote 7.3-30

vgl. dazu Bild 6.3-14 in KE6

Fußnote 7.3-31

Wie beim ADSP-2101 ist die Startadresse beim Reset wiederum 0x0000.

Fußnote 7.3-32

Im Systemsteuer-Register gibt es für den gesamten externen Programmspeicher eine gemeinsame Festlegung der Wartezyklen.

Fußnote 7.3-33

vgl. Bild 7.1-13 in KE7.

Fußnote 7.3-34

Beispiele: AR=IO(0x0000), IO(0x0000)=MR

Fußnote 7.3-35

Interrupt Force and Clear, vgl. Abschnitt 6.3.4.2 in KE6.
Inhalt Fußnoten