DSP56K(4)

NOM
dsp56k - Périphérique d'interface DSP 56001

SYNOPSIS
#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);

CONFIGURATION
Le DSP 56001 est un périphérique de type caractère, ayant un numéro majeur valant 55 et un mineur 0.

DESCRIPTION
Le DSP 56001 Motorola est un processeur de signal numérique 24 bits entièrement programmable, que l'on trouve dans les ordinateurs compatibles avec l'Atari Falcon 030. Le fichier spécial dsp56k sert à commander le DSP 56001, pour envoyer ou recevoir des signaux sur le port hôte.

Pour envoyer un flux de signal vers le processeur, utilisez write(2) sur le périphérique, et pour en recevoir utilisez read(2). Les données peuvent être émises ou reçues par blocs de 8, 16, 24 ou 32 bits du côté hôte, mais seront toujours vues comme des blocs de 24 bits du côté du DSP 56001.

Les appels ioctl(2) suivants permettent de commander le périphérique dsp56k :

DSP56K_UPLOAD
    réinitialise le DSP 56001 et télécharge un programme. Le troisième argument de l'appel ioctl(2) doit être un pointeur sur une struct dsp56k_binary dont le champ bin pointe sur un programme DSP 56001 binaire. Le champ len doit contenir la longueur du programme en mots de 24 bits.

DSP56K_SET_TX_WSIZE
    configure la taille des mots émis. Les valeurs autorisées se trouvent dans l'intervalle 1 à 4, correspondant au nombre d'octets envoyés à la fois. Ces données seront soit complétées avec des octets nuls (« \0 »), soit tronquées pour s'aligner sur le format natif 24 bits du DSP 56001.

DSP56K_SET_RX_WSIZE
    configure la taille des mots reçus. Les valeurs autorisées se trouvent dans l'intervalle 1 à 4, correspondant au nombre d'octets reçus en une fois. Ces données seront soit complétées avec des zéros, soit tronquées pour s'aligner sur le format natif 24 bits du DSP 56001.

DSP56K_HOST_FLAGS
    Lire ou écrire les attributs d'hôte. Ces attributs sont représentés par 4 bits à usage général qui peuvent être lus aussi bien par l'ordinateur hôte que par le DSP 56001. Les bits 0 et 1 peuvent être fixés par l'hôte, et les bits 2 et 3 peuvent être écrits par le DSP 56001. Pour accéder aux attributs d'hôte, le troisième argument de l'appel ioctl(2) doit être un pointeur sur une struct dsp56k_host_flags. Si les bits 0 ou 1 sont à 1 dans le champ dir, le bit correspondant de out sera écrit dans les attributs d'hôte. L'état des attributs d'hôte sera renvoyé dans les quatre bits de poids faible du membre status.

DSP56K_HOST_CMD
    envoie une commande d'hôte. Les valeurs autorisés sont dans l'intervalle 0 à 31 et correspondent à un numéro de commande (définie par l'utilisateur) manipulé par le programme tournant sur le DSP 56001.

FICHIERS
/dev/dsp56k

VOIR AUSSI
<linux/include/asm-m68k/dsp56k.h>, linux/drivers/char/dsp56k.c, http://dsp56k.nocrew.org/, DSP56000/DSP56001 Digital Signal Processor User's Manual

TRADUCTION

Ce document est une traduction réalisée par Christophe Blaess <http://www.blaess.fr/christophe/> le 28 août 2000 et révisée le 17 décembre 2007.

L'équipe de traduction a fait le maximum pour réaliser une adaptation française de qualité. La version anglaise la plus à jour de ce document est toujours consultable via la commande : « LANG=C man 4 dsp56k ». N'hésitez pas à signaler à l'auteur ou au traducteur, selon le cas, toute erreur dans cette page de manuel.