DSP56K(4) | Ficheros especiales | DSP56K(4) |
dsp56k - interfaz con el dispositivo DSP56001
#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);
El dispositivo dsp56k es un dispositivo de caracteres con número mayor 55 y número menor 0.
El Motorola DSP56001 es un procesador de señales digitales de 24 bits totalmente programable que se encuentra en computadores compatibles con Atari Falcon030. El fichero especial dsp56k se utiliza para controlar el DSP56001, y para enviar y recibir datos usando el puerto de host bidireccional mediante la técnica de handshaking.
Para enviar un flujo de datos al procesador de señales, utilice write() con el dispositivo, y read() para recibir datos procesados. Los datos pueden ser enviados o recibidos en cantidades de 8, 16, 24, o 32 bits por parte del host, pero siempre serán interpretados como cantidades de 24 bits por el DSP56001.
Las siguientes llamadas ioctl(2) pueden utilizarse para controlar el dispositivo dsp56k:
Para acceder a estas banderas del host, el tercer argumento a ioctl() debe ser un puntero a una estructura dsp56k_host_flags. Si el bit 0 o el bit 1 están activos en el miembro dir, el bit correspondiente en out será escrito en las banderas del host. El estado de todas las banderas será devuelto en los cuatro bits de orden inferior del miembro status.
/dev/dsp56k
Fredrik Noring <noring@nocrew.org>, lars brinkhoff <lars@nocrew.org>, Tomas Berndtsson <tomas@nocrew.org>.
linux/include/asm-m68k/dsp56k.h, linux/drivers/char/dsp56k.c, http://dsp56k.nocrew.org/, DSP56000/DSP56001 Digital Signal Processor User's Manual
1 marzo 2000 | Linux |