dsp56k - устройство интерфейса DSP56001
НАЗВАНИЕdsp56k - устройство интерфейса DSP56001
СИНТАКСИС
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);
КОНФИГУРАЦИЯ
Устройство dsp56k является символьным устройством с
главным числом 55 и второстепенным числом 0.
ОПИСАНИЕ
Motorola DSP56001 - это полностью программируемый
24-битный цифровой процессор сигналов используемый в
компьютерах Atari Falcon030 и совместимых с ними.
Специальный файл dsp56k используется для управления
DSP56001 и для посылки и получения данных, используя
двунаправленный порт.
Для того чтобы послать данные процессору сигналов,
используйте write(), а для получения обработанных данных
read(). Данные могут быть посланы и получены машиной в 8,
16, 24, или 32-битной форме, а процессором сигналов только
в 24-битной форме.
Следующие вызовы ioctl(2) используются для управления
устройством dsp56k:
DSP56K_UPLOAD
обнуляет DSP56001 и загружает программу. Третьим
аргументом ioctl() должен быть указатель на struct
dsp56k_binary с членами bin указывающими на
двоичную программу DSP56001, и len установленную на
длину программы сосчитанную кратно 24 битам.
DSP56K_SET_TX_WSIZE
устанавливает размер передаваемых слов. Допустимые
значения находятся в пределах от 1 до 4, и будет
являться числом байт посылаемых за раз для
DSP56001. Эти частички информации будут заполнены
нулевыми байтами или преобразованы в формат
24-битных данных.
DSP56K_SET_RX_WSIZE
устанавливает размер принимаемых слов. Допустимые
значения находятся в диапазоне от 1 до 4, и
являются числом байт принимаемых за один раз от
процессора DSP56001. Эти частички информации так
же будут обработаны, чтобы соответствовать
24-битному формату DSP56001.
DSP56K_HOST_FLAGS
Считывает и записывает флаги машины. Флаги машины
это четыре бита так сказать общего назаначения,
которые могут быть считаны как машиной, так и
процессором DSP56001. Биты первый и нулевой
пишутся машиной, а второй и третий пишутся
устройством DSP56001. Для получения доступа к
флагам машины третий аргумент ioctl() должен быть
указателем на struct dsp56k_host_flags. Если
первый или нулевой бит переменной dir установлены в
единичное значение, то соответствующий бит в
переменной out будет записан в флаг машины.
Значение всех флагов машины будет возвращено в
младшие четыре бита переменной status.
DSP56K_HOST_CMD
посылает команды. Допустимые величины находятся в
диапазоне от 0 до 31, они могут быть определены
пользователем.
ФАЙЛЫ
/dev/dsp56k
АВТОРЫ
Fredrik Noring , lars brinkhoff
, Tomas Berndtsson .