dsp56k(4) Device Drivers Manual dsp56k(4)

dsp56k - dispozitiv de interfață cu 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);

Dispozitivul dsp56k este un dispozitiv de caractere cu numărul major 55 și numărul minor 0.

Motorola DSP56001 este un procesor de semnal digital pe 24 de biți complet programabil, care se găsește în calculatoarele compatibile Atari Falcon030. Fișierul special dsp56k este utilizat pentru a controla DSP56001 și pentru a trimite și primi date utilizând portul gazdă bidirecțional de trimitere-primire a semnalelor (datelor).

Pentru a trimite un flux de date către procesorul de semnal, utilizați write(2) către dispozitiv și read(2) pentru a primi datele procesate. Datele pot fi trimise sau primite în cantități de 8, 16, 24 sau 32 de biți pe partea gazdă, dar vor fi întotdeauna văzute ca cantități de 24 de biți în DSP56001.

Următoarele apeluri ioctl(2) sunt utilizate pentru a controla dispozitivul dsp56k:

reinițializează DSP56001 și încarcă un program. Al treilea argument ioctl(2) trebuie să fie un indicator la o struct dsp56k_upload cu membrii bin care indică un program binar DSP56001, iar len este configurat la lungimea programului, numărat în cuvinte de 24 de biți.
stabilește dimensiunea cuvântului de transmitere. Valorile admise sunt cuprinse între 1 și 4 și reprezintă numărul de octeți care vor fi trimiși deodată la DSP56001. Aceste cantități de date vor fi fie umplute cu octeți care conțin zero, fie trunchiate pentru a se potrivi cu formatul de date nativ de 24 de biți al DSP56001.
stabilește dimensiunea cuvântului de recepție. Valorile admise sunt cuprinse între 1 și 4 și reprezintă numărul de octeți care vor fi primiți odată de la DSP56001. Aceste cantități de date vor fi fie trunchiate, fie umplute cu un octet nul („\0”), pentru a se potrivi cu formatul de date nativ de 24 de biți al DSP56001.
citește și scrie fanioanele gazdei. Fanioanele gazdei sunt patru biți de uz general care pot fi citiți atât de calculatorul gazdă, cât și de DSP56001. Biții 0 și 1 pot fi scriși de către calculatorul gazdă, iar biții 2 și 3 pot fi scriși de către DSP56001.
Pentru a accesa fanioanele gazdei, al treilea argument ioctl(2) trebuie să fie un indicator la o structură dsp56k_host_flags. Dacă bitul 0 sau 1 este activat în membrul dir, bitul corespunzător din out va fi scris în fanioanele gazdei. Starea tuturor fanioanelor gazdă va fi returnată în cei patru biți inferiori ai membrului status.
trimite o comandă gazdei. Valorile admise sunt cuprinse între 0 și 31 și este o comandă definită de utilizator, gestionată de programul care rulează în 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

Traducerea în limba română a acestui manual a fost făcută de Remus-Gabriel Chelu <remusgabriel.chelu@disroot.org>

Această traducere este documentație gratuită; citiți Licența publică generală GNU Versiunea 3 sau o versiune ulterioară cu privire la condiții privind drepturile de autor. NU se asumă NICIO RESPONSABILITATE.

Dacă găsiți erori în traducerea acestui manual, vă rugăm să trimiteți un e-mail la translation-team-ro@lists.sourceforge.net.

2 mai 2024 Pagini de manual de Linux 6.8