|
META TOPICPARENT |
name="WebHome" |
ITk strip QA (CCE)
ALiBaVaセットアップの使い方。
-- Shigeki Hirose - 2020-09-28 |
|
> > | 少々面倒なのだが、新しいPCでは原因不明のノイズが大きくDAQがまったくできないので、DAQは古いPCで行い、データの解析は新しいPCで行う。それぞれpc21、atlaspc21という名前がついているが、たいへんややこしいので以下旧PC、新PCと呼ぶ。 |
| PC起動時
PCなどが完全にシャットダウンされている状態から測定の準備をするには、以下の操作が必要。 |
|
< < |
- PCを起動する
- ターミナルを3つ開く。1つはラズパイにログイン(いまはALiBaVa用PCからはssh atlasj@192.168.1.2でログインできる)。1つはGPIB通信スクリプト用。1つはALiBaVa用。
|
> > |
- 旧PCと新PCを起動する
- 操作は基本的に新PCから行う。新PCターミナルを3つ開く。1つはラズパイにログイン(いまはALiBaVa用PCからはssh atlasj@192.168.1.2でログインできる)。1つは旧PCにログインしてGPIB通信スクリプトを走らせる。1つは新PC上でオンラインモニターを走らせる。
|
|
-
- ラズパイにログインしたら、/home/atlasj/work/stripQA/に移動し、まずcat /var/samba/trh/temp.datで温湿度を確認する。一番右の時刻を見て、現在時刻になっているようならOK。なっていなければスクリプトが止まっているので、sudo i2cget -y 1 0x35 0xDFで設定を通した後、nohup sudo python thermohydrometer.py &で温湿度モニタースクリプトを起動する(nohupをつけるとログアウト後もスクリプトを走らせているプロセスが生き続ける)。[注意] 起動直後は/var/samba/trhが存在しないので、sudo mount.cifs //130.87.243.248/shared /var/samba/ -o user=smbuser を実行する必要がある。(パスワードを聞かれるが、何も入力せずenterでよい)
|
|
< < |
-
- sudo chmod 777 /dev/ttyUSB*で一般ユーザーもttyUSBを通した読み込み・書き込みをできるようにする
- ttyUSBのインデックスは、USBケーブルを抜き差ししたり、PCを再起動すると変わってしまうことがある。/home/atlasj/StripQAに移動し、python agilent34410_test.py が走るか試す。走らなかった場合は、以下の手順を試す。
|
> > |
-
- 旧PCにログインする。ユーザーはatlasjではなくstripであることに注意!ログインしたら、まずsudo chmod 777 /dev/ttyUSB*で一般ユーザーもttyUSBを通した読み込み・書き込みをできるようにする。
- 新PC用のターミナルで/home/atlasj/StripQA/buildに行き、"source bin/script/setup.sh"を実行。
|
|
< < |
-
-
- 一度GPIB-USBを抜いて、ls /dev/ttyUSB*を実行し、何番のttyUSBが存在するかを調べる。
- GPIB-USBを差してls /dev/ttyUSB*を実行する。増えたttyUSBが、GPIB-USBが使っているものの可能性が高いので、python/config.pyの中にあるdevice_path()の戻り値を適切に書き換える。
- python agilent34410_test.pyを実行し、電流値を読み込めたら成功。
|
| |
|
< < |
-
- 必ずPCを起動した後に行うこと。でないとPCとのコミュニケーションがうまくいかずにエラーができる。
- ALiBaVa 用ターミナルで/home/atlasj/StripQAに行き、sudo ./ALiBaVa.shを実行してALiBaVa GUIを開く。
- この時にエラーが出たら、通信できていない。その場合は、ALiBaVaの電源を抜く→10秒待って再度差す→30秒待つ、を試してみる(どうやら、PCより先にALiBaVaが起動していると通信がうまくできないらしい)。
|
> > |
-
- 必ず、旧PCを起動した後に行うこと。でないと旧PCとのコミュニケーションがうまくいかずにエラーができる。
- 旧PCにログインしているターミナルでalibava-guiコマンドを実行。エラーなくGUIが立ち上がればよい。以後、GUIは使わないので、File → Quitで終了。
- この時にエラーが出たら、通信できていない。その場合は、以下の"エラーが出た時の対処"を実行する。
|
|
< < |
-
- ALiBaVa が起動したら、以下の設定をする。
- File → Openをクリックし、"kazu_tsukuba.ini"を開く。
- Run Typesにある"RS Run"をクリック。
- Max. no of eventsを100000にする。(未照射の場合は50000)
測定前の準備
少々面倒なのだが、新しいPCでは原因不明のノイズが大きくDAQがまったくできないので、DAQは古いPCで行い、データの解析は新しいPCで行う。 |
| 測定をする
1. 治具にMini & MD8をセットする。バッチ番号、ウェハー番号の記録を忘れずに!金属プレートの上にチェッキングソースを載せる。
- Mini & MD8ボードのコネクタがきちんとつながっているかは、横からのぞき込むとわかる。
2. 恒温槽のふたを閉め、PMTのHVを上げる。
- 恒温槽を閉める前のチェックリスト。
- センサーのバッチ番号とウェハー番号を記録したか?
- チェッキングソースを治具に載せたか?
- 850 Vまで上げる。スケーラーでトリガーレートが~300 Hzになっていることを確認する(DAQがせいぜい200 Hz程度なので、それ以上になっていれば問題ない)。
- しっかり遮光されているので恒温槽が開いている間にHVが印加されていても基本的に問題はない。
3. 恒温槽の温度を-20 degCに設定して「定時運転」を押し、-20 degCになるまで待つ。
- 温度はラズパイ上でcat /var/samba/trh/temp.dat で確認できる(左から3つ目が温度[degC]、4つ目が湿度[%])。
|
|
< < | 4. -20 degCまで下がったら、GPIB通信用スクリプトを起動。
- /home/atlasj/StripQAに行き、python CCE_measurement_controller.py [batch number] [irrad or nonirrad] [operator]を実行。
|
> > | 4. -20 degCまで下がったら、一度バイアス電圧を700 Vまで上がることを確認する。
- もしブレークダウンしたら、その電圧を記録。その電圧が550 Vを十分に超えていたら、30分程度待ってから、ブレークダウンした電圧より50 V低い電圧まで測定する。これにはスクリプトの書き換えが必要なので、やり方がわからなければエキスパートを呼ぶ。550 Vを超えていない場合、あるいはエキスパートがすくに対応できない時には、このサンプルは諦めて別のサンプルの測定に移る。
|
|
> > | 5. 新PCで/home/atlasj/StripQA/runに行き、monitor.pyを実行。
- 「PC起動時」にあるようにsetup.shをsourceしていれば、monitor.pyがコマンドとして認識されているはず。
6. GPIB通信用スクリプトを起動。
- 旧PCで/home/atlasj/StripQAに行き、python CCE_measurement_controller.py [batch number] [irrad or nonirrad] [operator]を実行。
|
|
-
- [batch number]には、サンプルのバッチ番号を入れる。
- [irrad or nonirrad]には、照射済みセンサーの場合はirrad、未照射センサーの場合はnonirradと入力する。
- [operator]には自分を識別できる文字列を入れる(空白は受け付けないので注意。CERNアカウント名や研究室のアカウント名で良い)
- スクリプトを実行すると、約2分かけて徐々に最大印加電圧(照射済みなら-700 V、未照射なら-500 V)までVbiasが上がるので、その間電流計に注意する。-20 degCの場合、照射済みなら大体18 uA @ -700 V、未照射済みなら大体2 uA @ -500 Vぐらい。
|
|
< < |
- もし異常があれば、すぐにctrl + Cで止める!Vbiasは自動的に落ちるようになっているが、ちゃんと落ちているかすぐに確認し、もし落ちていなければ手で徐々に下げて落とす。
5. Vbiasが上がったら、ALiBaVa GUIの方でLogDataをクリックし、ファイル名を指定。このとき、必ず左のボックスからalibava_dataをクリックして保存すること!これをしないと、デフォルトの保存先にデータが保存されてしまう。
- ファイル名はVPXxxxxx_yyyV.datという形にする。xxxxxはバッチ番号、yyyはVbiasの絶対値。.datをお忘れなく!
6. StartをクリックしてDAQを始める。
- オンラインモニターのところで、SignalタブのChip 2を選択し、左図のようになれば恐らくデータが取れている(negativeの分布の立ち上がりが緩い)。
7. 測定が終わったら、CCE_measurement_controller.pyのターミナルでENTERをクリックするとVbiasが下がる。以下、5-6を繰り返す。
- 途中経過を見たければ、新しいターミナルを開いて/home/atlasj/StripQAに行き、root -lでROOTを立ち上げてから、.x mutsuto_macro.C("alibava/data/[filename]", [Vbias])とやると、解析を走らせられる。[filename]はALiBaVaで保存したファイル名、[Vbias]はVbiasの絶対値。
8. すべての測定が終了したら、必ずVbiasが下がっていることを確認し(6517AのVOLTAGE SOURCE OPERATEランプが消灯している)、解析を走らせる。
- python analysis.dat [path to data file]; 引数には、data以下にあるファイルを指定する。
|
> > |
- もし異常があれば、すぐにctrl + Cで止める!(ゆっくり2回)Vbiasは自動的に落ちるようになっているが、ちゃんと落ちているかすぐに確認し、もし落ちていなければ手で徐々に下げて落とす。
- 問題なく最大印可電圧まで上げれば、自動的に測定が開始される。
以上で、残りの手順は自動的に走り、すべての測定点(照射済みサンプルであれば700 V → 600 V → 500 V → 400 V → 300 V)が測定される。万が一途中でエラーが出た時には、「エラーが出た時の対処」を試す。
7. すべての測定が終了したら、必ずVbiasが下がっていることを確認し(6517AのVOLTAGE SOURCE OPERATEランプが消灯している)、恒温槽の設定を20 degCにして温める。約15 degCまで上がったら、サンプルを取り出して次のサンプルに移る。
エラーが出た時の対処
注意:Error: value -1.0000000000e+00,1.0000000000e+00 cannot be interpreted as doubleというエラーは問題ないので無視すること!(本当は直した方が良いし、簡単に直せるはずなんですけどねぇ、ただの怠惰ですすみません。。。) |
|
> > | 稀に、旧PCとAlibavaとの通信がうまくいかなくなってエラーが起きることがある。例えば、
03/24/2021 - 05:48:15 PM | Error [virtual int USBserial::open(const std::string&):67 Permission denied] Cannot open the device
03/24/2021 - 05:48:15 PM | Error [virtual int DAQmanager::open(const char*):96 Permission denied] Something failed when opening the device
process (8638) Error: value -1.0000000000e+00,1.0000000000e+00 cannot be interpreted as double
03/24/2021 - 05:48:15 PM | *** Sending Beetle configuration
03/24/2021 - 05:48:15 PM | Error [int Alibava::send_control(unsigned char):1264 Bad file descriptor] Failed sending control word 3
03/24/2021 - 05:48:15 PM | Error [int Alibava::beetle_header():350 Bad file descriptor] Failed sending [[BeetleConfig][BeetleConfig]]. rc=Write Error
03/24/2021 - 05:48:15 PM | Error [int Alibava::send_control(unsigned char):1264 Bad file descriptor] Failed sending control word 9
03/24/2021 - 05:48:15 PM | Error [int Alibava::do_acquisition(short unsigned int, Alibava::StateCode):756 Bad file descriptor] Failed sending command 9 with rc=Write Error
03/24/2021 - 05:48:15 PM | Error [virtual int [[DataRun][DataRun]]::loop(std::ostream&):60 Bad file descriptor] Error Write Error while acquiring. See messages above.
03/24/2021 - 05:48:15 PM | *** Reseting the board
03/24/2021 - 05:48:15 PM | Error [int Alibava::send_control(unsigned char):1264 Bad file descriptor] Failed sending control word ff
03/24/2021 - 05:48:15 PM | Error [int Alibava::software_reset():257 Bad file descriptor] Failed sending the software reset. rc=Write Error
### [[UnLoading][UnLoading]] Python module...
Finalizing Python
Error: /tmp/alibava-gui-status.txt seems incorrect; maybe alibava-gui was incorrectly finished or this file does not exist.
このようなエラーが出た時には、データを取得できずにCCE_measurement_controller.pyが終了する。この場合、以下の手順を試す。
1. まず、ターミナルの表示を遡り、何Vの測定中にこのエラーが出たかを記録する。
2. ALiBaVa の電源を抜く→10秒待って再度差す→30秒待つ。
3. 旧PCでsudo chmod 777 /dev/ttyUSB*を実行し、alibava-guiコマンドからGUIを立ち上げる。この時にエラーが出なければOK。File → QuitでGUIを終了。
4. 手順1で、エラーが最初から(照射済みサンプルであれば700 Vの測定中に)起きていたようであれば、再度python CCE_measurement_controller.py [batch number] [irrad or nonirrad] [operator]を実行して測定をやり直す。途中の測定点で起きていた場合には、その測定点からやり直せる。そのために、ls -ltr /home/strip/StripQA/dataを実行し、ラン番号を調べる。例えば、VPX32422_003とあったら、その測定はVPX32422に対するラン番号3であったことを意味する。python CCE_measurement_controller.py [batch number] [irrad or nonirrad] [operator] [run number]([run number]が先ほどまでなかった引数)を実行する。 |
| その他の情報
参考資料 |