26pXT-6

LinuxによるUSB CAMAC
データ収集システムの構築
KEK オンライングループ、東陽テクニカA
仲吉一男、安 芳次、高梨充朗A 、藤井啓文、藤田陽一、五十嵐洋一、井上栄二、児玉英世

発表内容
1. 開発の背景/目的
2. ハードウエア概要
TOYO USBアダプタ仕様

3. ソフトウエア概要
4. プロトタイプ性能評価
5. まとめ2002/03/26

JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）2

開発の背景/目的!KEK オンライン/回路ではシリアルリンク（USB2.0, IEEE1394, IEEE1355）を用いた次世代DAQ システムを検討中!ポータブルなUSB CAMAC DAQの構築
TOYO CC/7700用USBアダプタ開発
2002/03/26

JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）3

ハードウエア構成/特徴!TOYO CC/7700 CAMAC CC!TOYO CC/7700 USBアダプタ←今回開発!USBポートをもつPC（x86系）" TOYO CC7700 はブロック転送をサポートしていないが、USBアダプタレベルでサポート" CC7700のコネクタに直接取り付けるため既存のシステムの構成を変える必要がない

2002/03/26

JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）4

TOYO USBアダプタ仕様!CAMAC データ転送!シングル転送（Status 付き/無し）!ブロック転送(Q-Ignore, Repeat, Stop, A-Scan)!CAMAC制御!Initialize(Z), Clear(C)!Set/Clear Inhibit!Status読み出し!Set/Clear LAM, LAM Status読み出し!その他!アダプタID読み出し
2002/03/26

JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）5

CC/7700 USBアダプタ構成! USB Chip Set(Cypress EZ-USB)
EZ-USB← プロトタイプで使用

インテリジェントなUSBコントローラ! 8051 互換CPU(24MHz)内蔵!

EZ-USB FX ← 製品版（EZ-USBの上位互換）
8051 互換CPU(48MHz)内蔵! DMA コントローラ! FIFO（64Byte）!

! CPLD(Xilinx Cool Runner)!

2002/03/26

低消費電力(バスパワード実現のため)
JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）6

CC/7700 USBアダプタ・プロトタイプ
EZ-USBTo USBTo CC/7700

CPLD
2002/03/26

JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）7

CC/7700 USBアダプタ
製品予想図（東陽テクニカより）

2002/03/26

JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）8

ソフトウエア構成/特徴!Linux Kernel2.4.0 以降!

開発にはRedHat7.2(linux2.4.7)を使用!USBアダプタ用デバイスドライバ(toyo.o)!CAMACライブラリ(camlib)
camopen(), camcls()! camac(), cdma(), …
!

"ドライバはUSBホットプラグ対応"KEK camlib と同じインターフェイス
2002/03/26

JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）9USB-CAMAC 転送プロトコル
CAMAC シングル転送（リード）OUT1Ctrl. Comm.

CAMAC NAF

IN1

Data

StatusCAMAC シングル転送（ライト）OUT1

Ctrl. Comm.

IN1Status

2002/03/26

CAMAC NAF

JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）

Data

10

USB-CAMAC 転送プロトコル(2)CAMAC ブロックリード（Q-Repeat/Q-Ignore）
OUT1
IN2
OUT1
IN1

Ctrl. Comm.

CAMAC NAF

Data #1
Ctrl. Comm.

・・・

N of Words
Data #N
64ByteStatusCAMAC ブロックリード（Q-Stop/Address Scan）
OUT1
IN2
OUT1
IN1
2002/03/26

Ctrl. Comm.

CAMAC NAF

Data #1・・・

Ctrl. Comm.

N of Words
Data #N(0Byte)

StatusJPS 第57回年次大会（立命館大びわこ・くさつキャンパス）11

USBによるCAMACシングル転送

2002/03/26

JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）12

プロトタイプ性能評価(Single Action)
16bit

24bit

Read(ms)

1.5

1.5

Write(ms)

1.5

1.5

Execution Time of CAMAC Single Transfer

2002/03/26

JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）13

プロトタイプ性能評価(Block Transfer)

2002/03/26

JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）14

プロトタイプ性能評価(Block Transfer)

Speed(KB/s) Overhead(ms)
Read

148

3.5

Write

178

3.5

CAMAC Block Transfer Speed and Overhead

2002/03/26

JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）15

まとめ! TOYO CC/7700 用USBアダプタを開発しLinuxによるUSB-CAMAC DAQ システムを構築した! プロトタイプ性能! CAMAC Single Action : ~1.5ms! CAMAC Block Transfer: ~150KB/s! 製品版性能（予想）! CAMAC Single Action : プロトタイプと同程度! CAMAC Block Transfer: プロトタイプより3倍向上! 今年5月頃に製品化の予定
2002/03/26

JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）16

USBアダプタドライバ、CAMACライブラリ! User’s Guide TOYO USB-CAMAC Library!

onlax2.kek.jp/~nakayosi/USB/uguide-toyo.html! TOYO USB-CAMAC Device Driver for Linux!

近日公開予定! TOYO USB-CAMAC Device Driver for Windows!

東陽テクニカより提供予定（Windows2000）! TOYO USB アダプタ仕様は公開予定

2002/03/26

JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）17

TOYO USBアダプタ・エンドポイント構成
転送方向

EP#

データ内容

Ctrl. IN0

割り当てなし1

シングルリード・データ、ステータス読み出し
LAMステータス読み出し
ステータス読み出し

2

ブロックリード・データ0

割り当てなし1

制御コマンド、NAF、、シングルライト・データ
制御コマンド、2

ブロックライト・データ

IN
Ctrl.OUT

OUT
2002/03/26

JPS 第57回年次大会（立命館大びわこ・くさつキャンパス）18