EN JA
DSP56K(4)
DSP56K(4) Linux Programmer's Manual 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);

設定

dsp56k デバイスは、メジャー番号 55、マイナー番号 0 のキャラクター・デバイスである。

説明

Motorola DSP56001 は、Atari Falcon030 互換のコンピュータで使われているフルプログラマブルな 24 ビットのデジタルシグナルプロセッサーである。スペシャルファイル dsp56k は、DSP56001 の制御と双方向ハンドシェイクホストポートでのデータの送受信のために使われる。

データストリームをシグナルプロセッサーに送信するためには、デバイスに対して write(2) を使うこと。処理されたデータを受信するためには、 read(2) を使うこと。ホスト側では、データは 8, 16, 24, 32 ビット単位で送受信できるが、 DSP56001 内では、24 ビット単位で扱われる。

次の ioctl(2) コールが dsp56k デバイスを制御するために使われる。

DSP56K_UPLOAD
DSP56001 をリセットし、プログラムをアップロードする。 ioctl(2) の 3 番目の引き数は、構造体 struct dsp56k_binary へのポインタでなければならない。構造体のメンバー bin は DSP56001 バイナリプログラムを指し、構造体のメンバー len は 24 ビットワードで数えたプログラムの長さに設定されていなければならない。
DSP56K_SET_TX_WSIZE
送信ワードサイズを設定する。設定できる値は 1 〜 4 の範囲で、このバイト数分だけ 1 度に DSP56001 に送信する。このデータ単位は、DSP56001 本来の 24 ビットデータ形式に合わせるため、ゼロのバイトで埋められたり、切り詰められたりする。
DSP56K_SET_RX_WSIZE
受信ワードサイズを設定する。設定できる値は 1 〜 4 の範囲で、このバイト数分だけ 1 度に DSP56001 から受信する。このデータ単位は、DSP56001 本来の 24 ビットデータ形式に合わせるため、切り詰められたり、NULL バイト ('\0') で埋められたりする。
DSP56K_HOST_FLAGS
ホストフラグを読み書きする。ホストフラグは、一般的な目的で使うことのできるビットで、ホストコンピュータと DSP56001 の両方から読むことができる。ビット 0 と 1 は、ホストによって書き込むことができ、ビット 2 と 3 は、DSP56001 によって書き込むことができる。
 
ホストフラグにアクセスするためには、 ioctl(2) の 3 番目の引き数が構造体 struct dsp56k_host_flags へのポインタでなければならない。この構造体のメンバー dir のビット 0 または 1 が設定されると、メンバー out の対応するビットの値がホストフラグに書き込まれる。すべてのホストフラグの状態は、構造体のメンバー status の下から 4 ビットとして返される。
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

この文書について

この man ページは Linux man-pages プロジェクトのリリース 3.51 の一部である。プロジェクトの説明とバグ報告に関する情報は http://www.kernel.org/doc/man-pages/ に書かれている。
2012-08-05 Linux