dsp56k(4)

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_upload 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 0-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 einem Nullbyte (»\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

ÜBERSETZUNG
Die deutsche Übersetzung dieser Handbuchseite wurde von Martin Eberhard Schauer <Martin.E.Schauer@gmx.de> und Mario Blättermann <mario.blaettermann@gmail.com> erstellt.

Diese Übersetzung ist Freie Dokumentation; lesen Sie die GNU General Public License Version 3 (https://www.gnu.org/licenses/gpl-3.0.html) 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 die Mailingliste der Übersetzer: debian-l10n-german@lists.debian.org.