zion -  dsp56k


Nom

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

Résumé

.nf #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 , s-1DSP56K_UPLOADs+1, struct dsp56k_upload * program ); int ioctl (int fd , s-1DSP56K_SET_TX_WSIZEs+1, int wsize ); int ioctl (int fd , s-1DSP56K_SET_RX_WSIZEs+1, int wsize ); int ioctl (int fd , s-1DSP56K_HOST_FLAGSs+1, struct dsp56k_host_flags * flags ); int ioctl (int fd , s-1DSP56K_HOST_CMDs+1, int cmd ); .fi

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() sur le périphérique, et pour en recevoir utilisez read(). 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 arguments de l'appel ioctl() 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 zéros, 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éraux 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() 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

Auteurs

Fredrik Noring <noring@nocrew.org>, lars brinkhoff <lars@nocrew.org>, Tomas Berndtsson <tomas@nocrew.org>.

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

Christophe Blaess, 2000-2003.

Poster un commentaire
Utilisateur
Mot de passe
 
Informaticien.be - © 2002-2024 AkretioSPRL  - Generated via Kelare
The Akretio Network: Akretio - Freedelity - KelCommerce - Votre publicité sur informaticien.be ?