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

Slides:



Advertisements
Similar presentations
Webmail IMP の日本語化 筑波大学 研究基盤総合センター 木村 博美. レジュメ IMP の紹介 作業の経過 日本語化の作業内容 今後.
Advertisements

システムプログラミング 第11回 シグナル 情報工学科 篠埜 功. 今回の内容 前回の補足( exit システムコールについ て) プロセス間通信 – シグナルの送信 --- 今回の内容 – パイプによる通信 – ソケットによる通信.
実践ロボットプログラミング LEGO Mindstorms NXT で目指せロボコン! WEB : 著者:藤吉弘亘,藤井隆司,鈴木裕利,石井成郎 :
【PCログイン認証ソリューション】 ARCACLAVIS Revoα(アルファ) ARCACLAVIS Revo αが解決します。 製品概要
多入力パルス波高分析システムの開発 環境計測 小栗 康平  京都府立大学 環境情報学科 環境計測 卒論発表会.
計算機システム概論・3回目 本日のトピック:割込みと入出力制御について 割込み制御について 問題点の明確化 割込みとは
オペレーティングシステム i386アーキテクチャ(3)
クラウドにおける ネストした仮想化を用いた 安全な帯域外リモート管理
UNIX Life KMSF M2 saburo.
HLab meeting 7/24/07 K. Shirotori.
COPPER/FINESSE System構築
システム構成とアプリケーション設定に基づく セキュリティ・ポリシ自動生成フレームワーク
Lightweight Language Weekend ls-lRシェル
システムプログラミング 第5回 情報工学科 篠埜 功 ヒアドキュメント レポート課題 main関数の引数 usageメッセージ
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
OSとコマンド OS:コンピュータを使うための基本プログラム コマンド:OS上で使用できる命令 OS本体であるカーネルの内部コマンド
通信処理のカーネル内競合を 検出するアスペクト指向 カーネルレベルロガー
柳澤 佳里* 光来 健一* 千葉 滋* *東京工業大学 情報理工学研究科 数理・計算科学専攻
研究基盤総合センター 応用加速器部門 木村博美
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング システムプログラミング プロセス間通信(パイプ) 担当:青木義満
担当:青木義満、篠埜 功 情報工学科 3年生対象 専門科目 システムプログラミング 第8回、第9回 シグナル処理 担当:青木義満、篠埜 功
第3回 CPUの管理と例外処理 OSによるハードウェアの管理 CPUの構成、動作 CPUの管理 例外処理、割り込み処理 コンテキストスイッチ
第5回 CPUの役割と仕組み3 割り込み、パイプライン、並列処理
割り込み.
割り込み.
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
シグナル通信 普通の割込みとソフトウェア割込み ソフトウェア割込みとシグナル キーボードからのシグナル 例外 (exception)
Tohoku University Kyo Tsukada
PC-LinuxとROOTを用いたCAMACデータ収集システム開発
CYRIC Hyperball2 technical memo
3 Macintoshの基本操作(3) 3.1 エイリアス エイリアスを作る ファイルなどの分身となるファイル アイコンを選択
柳澤 佳里 (学籍番号: 03M37311) 指導教官: 千葉 滋 東京工業大学 情報理工学研究科 数理・計算科学専攻
概要 Boxed Economy Simulation Platform(BESP)とその基本構造 BESPの設計・実装におけるポイント!
情報工学科 3年生対象 専門科目 システムプログラミング 第5回、第6回 ヒアドキュメント レポート課題 情報工学科 篠埜 功.
型付きアセンブリ言語を用いた安全なカーネル拡張
RT-Linuxを用いた 多入力パルス波高分析システムの開発
読み出し回路のアップグレードに向けた研究
関数とポインタ 値呼び出しと参照呼び出し swapのいろいろ 関数引数 数値積分
関数の定義.
GEM検出器用DAQ-Middleware
実行時情報に基づく OSカーネルのコンフィグ最小化
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
オペレーティングシステム イントロダクション
Linux リテラシ 2006 第5回 SSH と SCP CIS RAT.
全体ミーティング 6月6日 島本 大輔(M2) 2006年6月6日(火).
実践ロボットプログラミング LEGO Mindstorms EV3 で目指せロボコン!
オペレーティングシステム 第2回 割り込みとOSの構成
プログラミング基礎a 第10回 Javaによる図形処理入門(2) GUIの使い方
プログラミング基礎a 第12回 Java言語による図形処理入門(3) アニメーション入門
プログラミング基礎a 第11回 Java言語による図形処理入門(3) アニメーション入門
担当:青木義満 情報工学科 3年生対象 専門科目 システムプログラミング 第6回 システムプログラミング概要 プロセスの生成 担当:青木義満
2013年度 プログラミングⅡ ~ はじめてのプログラミング ~.
UNIX演習 情報ネットワーク特論.
情報処理 タイマの基礎 R8C タイマの基礎.
岩村雅一 知能情報工学演習I 第12回(C言語第6回) 岩村雅一
ソフトウェア保守のための コードクローン情報検索ツール
2014年度 プログラミングⅡ ~ はじめてのプログラミング ~.
UNIX演習 情報ネットワーク特論資料.
第5回 メモリ管理(2) オーバレイ方式 論理アドレスとプログラムの再配置 静的再配置と動的再配置 仮想記憶とメモリ階層 セグメンテーション
UNIX演習 情報ネットワーク特論資料.
UNIX演習 情報ネットワーク特論資料.
Windowsアプリケーション プログラミング
システムプログラミング 第6回 システムコールのエラーメッセージ ファイルシステム 情報工学科 篠埜 功.
プログラムの差分記述を 容易に行うための レイヤー機構付きIDEの提案
11.1 標準ライブラリ関数 11.2 関数呼び出しのオーバーヘッド 11.3 大域変数 11.4 プロトタイプ宣言 11.5 関数引数
ネットワーク・プログラミング デバイスドライバと環境変数.
強制パススルー機構を用いた VMの安全な帯域外リモート管理
Make の使い方.
岩村雅一 知能情報工学演習I 第12回(後半第6回) 岩村雅一
システムプログラミング 第11回 シグナル 情報工学科  篠埜 功.
Presentation transcript:

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

ユーザコードの例 test1.c #include <stdio.h> #include "daqlib.h" static int adc; #define GAIN 4096 /* 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 木村博美 筑波大学

test1.camac #define ADC n3 /* ADC の位置 */ #define READ f2,a0 /* データ読み出しとクリア */ #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 木村博美 筑波大学

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

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

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

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

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