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)