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)