DSP56K(4)

NAME
dsp56k - Interface de dispositivo DSP56001

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

CONFIGURAÇÃO
O dispositivo dsp56k é um dispositivo de caractere com número de dispositivo maior 55 e menor 0.

DESCRIÇÃO
O Motorola DSP56001 é processador digital de sinal totalmente programável encontrado em computadores Atari Falcon030 e compatíveis. O arquivo especial dsp56k é usado para controlar o DSP56001, e para enviar e receber dados usando a porta bi-direcional handshaked.

Para enviar um fluxo de dados pra o processador de sinal, usar write() para o dispositivo, e read() para receber o dados processado. O dado pode ser enviado ou recebido em quantidades de 8, 16, 24, or 32 bits no lado do host, mas somente enviar  em quantidades de 24 bits no DSP56001.

A seguintes chamada ioctl(2) é usada para controlar o dispositivo dsp56k :

DSP56K_UPLOAD
    zera o DSP56001 e carrega um programa. O terceiro argumento de ioctl() deve ser um ponteiro para um struct dsp56k_binary com membros bin apontando para um programa binário do DSP56001, e len seleciona o comprimento para o programa, countado em palavras de 24 bits.

DSP56K_SET_TX_WSIZE
    seleciona o tamanho da palavra de transmissão. São permitidos os valores entre 1 até 4, e é o número de bytes que irão ser enviados em um tempo para o DSP56001. Estas quantidades de dados irão ser preenchidos com bytes zero, ou truncados para ajustar o formato nativo de 24 bis do DSP56001.

DSP56K_SET_RX_WSIZE
    seleciona o tamanho da palavra de recebimento. São permitidos os valores entre 1 até 4, e é o número de bytes que irão ser recebidos em um tempo para o DSP56001. Estas quantidades de dados irão ser preenchidos com bytes zero, ou truncados para ajustar o formato nativo de 24 bis do DSP56001.

DSP56K_HOST_FLAGS
    lê e escreve o sinalizador do adapatador. Os sinalizadores do adaptador são 4 bits de propósitos gerais que podem ser lidos tanto pelo computador hospedeiro e pelo DSP56001. Os bits 0 e 1 podem ser escritos pelo adapatador, e os bits 2 e 3 podem ser escritos pelo DSP56001.

    Para acessar o sinalizador do host, o terceiro argumento de ioctl() deve ser um ponteiro para um struct dsp56k_host_flags. Se bit 0 ou 1 é selecionado no membro dir, o bit correspondente em out irá ser escrito para um sinalizador no host. O estado de todos os sinalizadores do host serão retornados no menor dos 4 bits do membro status.

DSP56K_HOST_CMD
    envia um comando de adaptador. São permitidos valores entre 0 até 31, e é um comando definido pelo usuário negociado pelo programa que executado no DSP56001.

ARQUIVOS
/dev/dsp56k

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

VEJA TAMBÉM
linux/include/asm-m68k/dsp56k.h, linux/drivers/char/dsp56k.c, http://dsp56k.nocrew.org, DSP56000/DSP56001 Digital Signal Processor User's Manual

TRADUÇÂO E REVISÃO PARA A LÍNGUA PORTUGUESA
André L. Fassone Canova <lonelywolf@blv.com.br> (tradução) Carlos Augusto Horylka <horylka@conectiva.com.br> (revisão)