dsp56k(4)

НАИМЕНОВАНИЕ
dsp56k - устройство интерфейса 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);

НАСТРОЙКА
The dsp56k device is a character device with major number 55 and minor number 0.

ОПИСАНИЕ
Motorola DSP56001 — это полностью программируемый 24-битный цифровой сигнальный процессор, используемый в компьютерах Atari Falcon030 и совместимых с ними. Специальный файл dsp56k используется для управления DSP56001 и для посылки и получения данных через выбранный на узле (host) двунаправленный порт.

Для отправки потока данных сигнальному процессору, используйте write(2), а для получения обработанных данных — read(2). Данные могут быть посылаться и получаться узлом по 8, 16, 24 или 32 бита, а сигнальный процессор способен обрабатывать только по 24 бита.

Для управления устройством dsp56k используются следующие вызовы ioctl(2):

DSP56K_UPLOAD
    Обнуляет DSP56001 и загружает в него программу. Третьим аргументом ioctl(2) должен быть указатель на struct dsp56k_upload, в которое поле bin указывает на двоичную программу DSP56001, а в len задаётся длина программы (значение должно быть кратно 24-битным словам).

DSP56K_SET_TX_WSIZE
    sets the transmit word size. Allowed values are in the range 1 to 4, and is the number of bytes that will be sent at a time to the DSP56001. These data quantities will either be padded with bytes containing zero, or truncated to fit the native 24-bit data format of the DSP56001.

DSP56K_SET_RX_WSIZE
    sets the receive word size. Allowed values are in the range 1 to 4, and is the number of bytes that will be received at a time from the DSP56001. These data quantities will either truncated, or padded with a null byte ('\0'), to fit the native 24-bit data format of the DSP56001.

DSP56K_HOST_FLAGS
    Считывает и записывает флаги узла. Флаги узла — это четыре бита общего назначения, они могут быть считаны как узлом, так и процессором DSP56001. Нулевой и первый биты могут записываться узлом, а второй и третий пишутся устройством DSP56001.

    Для получения доступа к флагам узла третий аргумент ioctl(2) должен быть указателем на struct dsp56k_host_flags. Если нулевой и первый поля dir установлены в единичное значение, то соответствующий бит в поле out будет записан в флаг узла. Состояние всех флагов узла будет возвращено в младших четырёх битах поля status.

DSP56K_HOST_CMD
    Посылает команды узла. Допустимые величины находятся в диапазоне от 0 до 31, это определяемые пользователем команды, обрабатываемые программой, выполняющейся на DSP56001.

ФАЙЛЫ
/dev/dsp56k

СМОТРИТЕ ТАКЖЕ
linux/include/asm-m68k/dsp56k.h, linux/drivers/char/dsp56k.c, http://dsp56k.nocrew.org/, DSP56000/DSP56001 Digital Signal Processor User's Manual

ПЕРЕВОД
Русский перевод этой страницы руководства разработал(и) Yuri Kozlov <yuray@komyakino.ru>, Иван Павлов <pavia00@gmail.com> и Kirill Rekhov <krekhov.dev@gmail.com>

Этот перевод является свободной программной документацией; он распространяется на условиях общедоступной лицензии GNU (GNU General Public License - GPL, https://www.gnu.org/licenses/gpl-3.0.html версии 3 или более поздней) в отношении авторского права, но БЕЗ КАКИХ-ЛИБО ГАРАНТИЙ.

Если вы обнаружите какие-либо ошибки в переводе этой страницы руководства, пожалуйста, сообщите об этом разработчику(ам) по его(их) адресу(ам) электронной почты или по адресу списка рассылки русских переводчиков (<debian-l10n-russian@lists.debian.org>).