[KEK Online Group][Nakayoshi's Page] → [CAMAC-USB Device Driver]

Last Modified: May. 09, 2001
CAMAC-USB デバイスドライバの開発
- Linux から USB-SCSI 経由で CAMAC にアクセスする -



目次



進捗状況
はじめに
この「USB による CAMAC デバイスドライバの開発」は、KEK 技術部専門課程研修として行なわれている。講師は素核研オンライングループの安 芳次氏である。
開発動機
本システム開発の目的は「ユーザビリティ」の追求である. 小規模な原子核・素粒子実験のデータ収集(DAQ)システムでは, デスクトップ PC とバスアダプタを使用して CAMAC や VME と データ転送を行なうスタイルが一般的である. 従って DAQ で使用可能な PC はおのずと限定(専用カードをインストール済み か, もしくは新たにインストールする必要があるという意味で)されていた. しかし, ほぼデファクトスタンダードとなりつつある USB を利用することで 上述のような専用カードを必要とせず USB ポートを持つ PC から DAQ が可能となる. より具体的なイメージとしては, 本システムの ソフトウエア(USB-CAMAC ドライバおよび CAMAC ライブラリ)を インストールすれば NOTE PC や専用カードがインストールされて いない, いわゆる普通の PC を使って CAMAC DAQ システムが可能となる. ユーザは, 専用カードのインストールやインストール後の 割り込み番号に衝突がないか等の確認作業から開放される.
予備知識
USB(Universal Serial Bus) は1994 年に Compaq, Intel, Microsoft, NEC によってスタートした。その特徴は(1)Plug&Play (2)低価格 (3)最大12Mbps の転送レートなどが挙げられる。USB 対応機器は、マウスやキーボードから CDR、MO、スキャナ、ネットワークカードと多種多様であり Windows や Mac では問題なく使用できる。現在のUSB 仕様は、USB1.1 であるが USB2.0 の仕様も決っており今後の発展に期待がもてる。USB2.0 の最大転送速度は USB1.1 の 40倍の 480Mbps である。
カーネル 2.4.0 がリリースされたので、これまで開発に使用していた 2.4.0-test10 からカーネルをアップグレード した。これで安心して開発を進めることができる。 Linux での USB に関連する情報は、http://www.linux-usb.org/で得ることができる。Linux での USB デバイスドライバに関するドキュメントはProgramming Guide for Linux USB Device Driversくらいしか見当たらない。/usr/src/linux/drivers/usb の中にドライバのソースファイルがあるので, これらを参考にするしかない(スキルのある人はこれだけソースがあれば十分なのでしょう。私は無いですが ;-)。
システム構成

システム性能
以下のモジュールを使って CAMAC ブロック転送, シングルアクションのスピードを 測定しました。

参考文献・資料



目次
開発動機 |予備知識(USB, Linux でのサポート状況) |Linux における USB デバイスドライバのフレームワーク |USB 必要な概念/用語 |参考文献・資料