BEZEICHNUNG¶
dsp56k - DSP56001-Schnittstelle
ÜBERSICHT¶
#include <asm/dsp56k.h>
ssize_t read(int fd, void *data, size_t length);
ssize_t write(int fd, void *data, size_t length);
int ioctl(int fd, DSP56K_UPLOAD, struct dsp56k_upload *program);
int ioctl(int fd, DSP56K_SET_TX_WSIZE, int wsize);
int ioctl(int fd, DSP56K_SET_RX_WSIZE, int wsize);
int ioctl(int fd, DSP56K_HOST_FLAGS, struct dsp56k_host_flags *flags);
int ioctl(int fd, DSP56K_HOST_CMD, int cmd);
KONFIGURATION¶
Die »dsp56k«-Schnittstelle ist ein zeichenorientiertes Gerät mit
der Major-Nummer 55 und der Minor-Nummer 0.
BESCHREIBUNG¶
Der Motorola DSP56001 ist ein voll programmierbarer digitaler Signalprozessoer
mit einer Wortbreite von 24 Bit, der in mit dem Atari Falcon030 kompatiblen
Computern eingebaut ist. Die Gerätedatei
dsp56k wird verwendet, um
den DSP56001 zu steuern und über den bidirektionalen Handshake-Port Daten
zu senden und zu empfangen.
Um einen Datenstrom an den Signalprozessor zu senden, rufen Sie
write(2)
für das Gerät auf; mit
read(2) rufen Sie verarbeitete Daten
ab. Die Daten können vom Wirtsrechner (Host) als Vielfache von 8, 16, 24,
oder 32 Bit gesendet oder empfangen werden, der DSP56001 sieht aber immer
Vielfache von 24 Bit.
Das
dsp56-Gerät wird mit den folgenden
ioctl(2)-Aufrufen
gesteuert:
- DSP56K_UPLOAD
- setzt den DSP56001 zurück und lädt ein Programm.
Das dritte Argument von ioctl(2) muss ein Zeiger auf eine struct
dsp56k_binary mit den Komponenten bin und len sein.
Erstere weist auf ein DSP56001-Binärprogramm; letztere gibt die
Programmlänge in 24-Bit-Wörtern an.
- DSP56K_SET_TX_WSIZE
- setzt die Wortgröße der an den DSP56001 zu
übertragenden Daten in Bytes. Zulässige Werte liegen im Bereich
von 1 bis 4. Diese Datenmengen werden entweder mit Null-Bytes
aufgefüllt oder auf das native 24-Bit-Datenformat des DSP56001
gekürzt.
- DSP56K_SET_RX_WSIZE
- setzt die Wortgröße der vom DSP56001 zu
empfangenden Daten in Bytes. Zulässige Werte liegen im Bereich von 1
bis 4. Diese Datenmengen werden entweder gekürzt oder mit Null-Bytes
('\0') aufgefüllt, um sie an das native 24-Bit-Datenformat des
DSP56001 anzupassen.
- DSP56K_HOST_FLAGS
- liest und schreibt die Host-Schalter (Flags). Das sind vier
Allzweck-Bits, die sowohl vom Host als auch dem DSP56001 gelesen werden
können. Die Bits 0 und 1 können vom Host geschrieben werden; die
Bits 2 und 3 vom DSP56001.
Für den Zugriff auf die Host-Schalter muss das dritte Argument von
ioctl(2) ein Zeiger auf eine struct dsp56k_host_flags sein.
Ist Bit 0 oder 1 in der dir-Komponente gesetzt, wird das
entsprechende Bit in out in die Host-Schalter geschrieben. Der
Zustand aller Host-Schalter wird in den unteren vier Bits der
status-Komponente zurückgegeben.
- DSP56K_HOST_CMD
- sendet einen Host-Befehl. Die zulässigen Werte liegen
im Bereich von 0 bis 31. Sie werden vom auf dem DSP56001 laufenden
Programm als benutzerdefinierter Befehl behandelt.
DATEIEN¶
/dev/dsp56k
SIEHE AUCH¶
linux/include/asm-m68k/dsp56k.h,
linux/drivers/char/dsp56k.c,
http://dsp56k.nocrew.org/
DSP56000/DSP56001 Digital Signal Processor User's Manual
KOLOPHON¶
Diese Seite ist Teil der Veröffentlichung 3.42 des Projekts Linux-
man-pages. Eine Beschreibung des Projekts und Informationen, wie Fehler
gemeldet werden können, finden sich unter
http://www.kernel.org/doc/man-pages/.
ÜBERSETZUNG¶
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard
Schauer <Martin.E.Schauer@gmx.de> erstellt.
Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public
License Version 3 oder neuer bezüglich der Copyright-Bedingungen. Es wird
KEINE HAFTUNG übernommen.
Wenn Sie Fehler in der Übersetzung dieser Handbuchseite finden, schicken
Sie bitte eine E-Mail an <debian-l10n-german@lists.debian.org>.