Deprecated: Array and string offset access syntax with curly braces is deprecated in /mnt/hep_web/hep_web/member/ichikawa/dokuwiki/inc/init.php on line 563

Warning: Declaration of action_plugin_asciimath::register(&$controller) should be compatible with DokuWiki_Action_Plugin::register(Doku_Event_Handler $controller) in /mnt/hep_web/hep_web/member/ichikawa/dokuwiki/lib/plugins/asciimath/action.php on line 39

Warning: Declaration of action_plugin_indexmenu::register(&$controller) should be compatible with DokuWiki_Action_Plugin::register(Doku_Event_Handler $controller) in /mnt/hep_web/hep_web/member/ichikawa/dokuwiki/lib/plugins/indexmenu/action.php on line 18
daq:start [Ichikawa's wiki]

ユーザ用ツール

サイト用ツール


daq:start

====== 差分 ====== この文書の現在のバージョンと選択したバージョンの差分を表示します。

この比較画面にリンクする

両方とも前のリビジョン 前のリビジョン
次のリビジョン
前のリビジョン
daq:start [2014/09/22 12:52]
ichikawa
daq:start [2014/09/22 13:09] (現在)
ichikawa [VME]
ライン 8: ライン 8:
 VMEの方がCAMACより新しい。CAMACは業界内で作られたが、VMEはもともと産業用に作られた規格。 VMEの方がCAMACより新しい。CAMACは業界内で作られたが、VMEはもともと産業用に作られた規格。
  
-計算機(普通 Linux)上でプログラムがクレートコントローラを通してアクセスするには、専用のデバイスドライバを使う。+計算機(普通 Linux)上でプログラムがクレートコントローラを通してアクセスするには、専用のデバイスドライバを使う。(デバイスドライバとは、計算機が周辺機器を操作するための専用のプログラム。ユーザーは、自分のプログラムからデバイスドライバを通して周辺機器を操作する。)
  
 ===== CAMAC ===== ===== CAMAC =====
ライン 19: ライン 19:
 どのモジュールにアクセスするのかを区別するのに、モジュールに割り当てられたアドレスを使う。各モジュールの中にジャンパーピンがあって、それでアドレスを割り当てる。それ用のドライバをインストールした計算機とつなげば、各モジュールには、内部メモリーにアクセスするのと同じように、アドレスを使ってアクセスできる。 どのモジュールにアクセスするのかを区別するのに、モジュールに割り当てられたアドレスを使う。各モジュールの中にジャンパーピンがあって、それでアドレスを割り当てる。それ用のドライバをインストールした計算機とつなげば、各モジュールには、内部メモリーにアクセスするのと同じように、アドレスを使ってアクセスできる。
 モジュールのコントロールも、モジュール上のレジスターの値を(メモリーに書き込むように)変えることで実現する。 モジュールのコントロールも、モジュール上のレジスターの値を(メモリーに書き込むように)変えることで実現する。
 +具体的には、mmap()を使用してVMEアドレスを仮想メモリへマッピングしてアクセスする方法と、read(),​ write()を使用してアクセスする方法がある。
 +  * mmap()をすると、あとは、ポインタと同じように使える。
 +  * read(), write()を使う場合は、lseek()を使って、ファイルポインタを目的のアドレスにして行う。
 +が、下記のvmedrvのページにあるサンプル文を見た方がわかりやすい。
  
 デバイスドライバとしては、vmedrv[[http://​www.awa.tohoku.ac.jp/​~sanshiro/​kinoko/​vmedrv/​index.html]]が有名。 デバイスドライバとしては、vmedrv[[http://​www.awa.tohoku.ac.jp/​~sanshiro/​kinoko/​vmedrv/​index.html]]が有名。
 これは、Linux 上で SBS Technologies (Bit3) 社製 PCI-VME アダプタ (Model 616/​617/​618/​620) を使用するためのもの。 これは、Linux 上で SBS Technologies (Bit3) 社製 PCI-VME アダプタ (Model 616/​617/​618/​620) を使用するためのもの。
 +
 +転送の仕方には、
 +  * PIO: Programmed I/​O。いったん、CPUを通る。
 +  * DMA: Direct Memory Access。CPUを通さず、直接、内部メモリに移す
 +の2種類がある。DMAの方が速いが、動かしにくい?
 +
 +
  
daq/start.1411390324.txt.gz · 最終更新: 2014/09/22 12:52 by ichikawa