Presentation is loading. Please wait.

Presentation is loading. Please wait.

CC/7700,CC32を用いた データ収集システム 筑波大学 木村 博美 小松原 哲郎 (c)2007 木村博美 筑波大学.

Similar presentations


Presentation on theme: "CC/7700,CC32を用いた データ収集システム 筑波大学 木村 博美 小松原 哲郎 (c)2007 木村博美 筑波大学."— Presentation transcript:

1 CC/7700,CC32を用いた データ収集システム 筑波大学 木村 博美 小松原 哲郎 (c)2007 木村博美 筑波大学

2 CC/7700 東陽テクニカ社製 アクセス:I/Oポート CAMACサイクル: 制御は簡単 ~6μS (Read/Write)
~4μS (Control) 制御は簡単 (c)2007 木村博美 筑波大学

3 CC32 Wiener社製 アクセス:メモリーマップ CAMACサイクル: ~2μS 単独使用のみ 制御はやや複雑

4 OS: FreeBSD Generic kernel (c)2007 木村博美 筑波大学

5 LAM処理 Signal Wait/wakeup ドライバー内部 ドライバーからsignalで処理ルーチンを起動
前もって指定された処理を実行 (c)2007 木村博美 筑波大学

6 LAM遅延時間の測定 1~10kHz OSC1 Interrupt Reg. LAM Scaler CLR OSC2 count 1MHz

7 LAM処理(1) signal ユーザーコード Camac(...); (c)2007 木村博美 筑波大学 LAM CAMACクレート
モジュール クレートコントローラ 割り込み デバイス ドライバー 割り込み ハンドラー signal ユーザーコード Camac(...); (c)2007 木村博美 筑波大学

8 CC/7700 Signalで読み出し Celeron800MHz Celeron2.5GHz 46% 20uS

9 LAM処理(2) wakeup wait ユーザーコード (c)2007 木村博美 筑波大学 LAM CAMACクレート CAMAC
モジュール クレートコントローラ 割り込み デバイス ドライバー 割り込み ハンドラー wakeup wait ユーザーコード (c)2007 木村博美 筑波大学

10 CC/7700 Waitで読み出し Celeron800MHz Celeron2.5GHz 55% 13uS

11 LAM処理(3) (c)2007 木村博美 筑波大学 LAM CAMACクレート CAMAC モジュール クレートコントローラ 割り込み
コマンド リスト 割り込み ハンドラー データバッファ デバイス ドライバー (c)2007 木村博美 筑波大学

12 CC/7700 ドライバー内部で取り込み Celeron800MHz Celeron2.5GHz 74% 6.0uS

13 FreeBSDでデータ収集 ドライバー内部でデータ収集すれば可 LAM毎にコマンドリストを指定 データ収集以外ならsignalも使用可
データはドライバーでバッファリング LAM毎にコマンドリストを指定 ドライバーをリコンパイルさせたくない データ収集以外ならsignalも使用可 (c)2007 木村博美 筑波大学

14 ソフトウェア構成 データモニタ GUI (c)2007 木村博美 筑波大学 ドライバー CAMAC 本体 ユーザーコード ヒストグラム領域
(共有メモリー) (c)2007 木村博美 筑波大学

15 ユーザーコード 肝心な動作は全てユーザーコード 初期化 データ収集も処理(ヒストグラミング)も! 2つのテキストファイル
.camacファイルにCAMAC命令 .cファイルにCプログラム 初期化 init: -- .camacファイルで定義 init( ) -- .cファイルで定義 (c)2007 木村博美 筑波大学

16 ユーザーコード RUN STOP run: -- .camac run ( ) -- .c stop: -- .camac

17 ユーザーコード データ読み出し(LAM処理) データ処理 LAMn: -- .camac ドライバー内部で実行
event ( ) -- .c ドライバーで蓄積されたデータが渡される LAM1: N1,F2,A0 LAM2: N2,F2,A0 (c)2007 木村博美 筑波大学

18 ユーザーコード データ読み出し以外のLAM処理 LAMn( ) -- .c Signalで配送 int LAM1( ) {
Camac(...); return OK; } (c)2007 木村博美 筑波大学

19 ユーザコードの例 test1.c #include <stdio.h> #include "daqlib.h"
static int adc; #define GAIN /* ADC gain */ int init () /* 初期化 */ { /* ヒストグラム作成 */ adc = hist_new1("adc",GAIN); return OK; } int event (int data[],int n) /* イベント処理 */ hist_add1(adc, data[0]&(GAIN-1)); (c)2007 木村博美 筑波大学

20 test1.camac #define ADC n3 /* ADC の位置 */
#define READ f2,a /* データ読み出しとクリア */ #define INH f24,a0 /* inhibit */ init: /* モジュールの初期化 */ ADC,INH ADC,READ /* このデータは捨てられる */ ADC,f26,a13 /* enable LAM */ run: ADC,READ ADC,f26,a0 /* enable ADC */ stop: /* 割込み処理:ドライバー内部で実行される */ LAM3: /* ADC が N3 にあるので LAM3*/ ADC,READ /* このデータはバッファリングされる*/ (c)2007 木村博美 筑波大学

21 起動 % daqload test1 test1.c と test1.camac を使用 コンパイル ダイナミックリンク GUIを起動
データモニタを起動 (c)2007 木村博美 筑波大学

22 GUI RUN/STOP 切り替え ヒストグラム保存 ヒストグラム・クリア ユーザ定義 ボタン ヒストグラム ユーザ定義 一覧 エントリー
ログ表示 (c)2007 木村博美 筑波大学

23 (c)2007 木村博美 筑波大学

24 DAQの特徴 CAMACモジュールに依存しない CAMACに透過的にアクセス コマンドはdaqloadの1つだけ 柔軟な割り込み処理
ユーザ任せ CAMACに透過的にアクセス コマンドはdaqloadの1つだけ 柔軟な割り込み処理 特権不要 (c)2007 木村博美 筑波大学

25 Webで公開中 CCDAQ 検索 (c)2007 木村博美 筑波大学


Download ppt "CC/7700,CC32を用いた データ収集システム 筑波大学 木村 博美 小松原 哲郎 (c)2007 木村博美 筑波大学."

Similar presentations


Ads by Google