[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 の中にドライバのソースファイルがあるので, これらを参考にするしかない(スキルのある人はこれだけソースがあれば十分なのでしょう。私は無いですが ;-)。
システム構成
- ハードウエア構成
- Kinetic SCSI CAMAC Crate Controller Model 3929
- Logitec USB-SCSI Cable LUB-SC
- PC(Pentium II 300MHz)
- ソフトウエア構成
LASER5 Linux6.2(カーネルは 2.4.0-test10 にアップデート)
- LASER5 Linux6.2(カーネルは 2.4.0 にアップデート)
システム性能
- CAMAC ブロック転送スピード: 〜610KB/s @ 8K word transfer
- CAMAC single action 時間: 〜5ms @ word transfer
以下のモジュールを使って CAMAC ブロック転送, シングルアクションのスピードを
測定しました。
- メモリモジュール(8K x 16bit)
- スイッチレジスタ
参考文献・資料
- Linux デバイスドライバ, オライリージャパン, ISBN4-900900-73-7
- USB Hardware &Software 日本語版, インフォクリエイツ, ISBN4-900741-95-7
- Programming Guide for Linux USB Device Drivers
- 連載「プログラミング工房」, Linux Magazine 2000年 10-12月号, アスキー
- 特集「入出力インターフェイス技法の研究」, インターフェイス 1992年 5月号, CQ 出版
- 特集「USB 対応機器&デバイスドライバの作成法」, インターフェイス 1998年 11月号, CQ 出版
- 特集「USB ターゲット機器の設計法」, インターフェイス 2000年 3月号, CQ 出版
- 「USB-SCSI アダプタの製作」, 佐藤節夫(KEK), トランジスタ技術 2000年 6月号, CQ 出版
目次
開発動機
|予備知識(USB, Linux でのサポート状況)
|Linux における USB デバイスドライバのフレームワーク
|USB 必要な概念/用語
|参考文献・資料