KiNOKO-DAQ 関連情報 掲示板

このスレッドに記事を投稿する
前のスレッド | 次のスレッド | 掲示版ホーム

VMEスケーラモジュールについて
2005 年 10 月 12 日 16 時 54 分
投稿者: 矢沢準士

はじめまして。名古屋大学の矢沢と申します。
今回、豊伸電子 V004: VME 150MHz スケーラーモジュール を動かそうと思い、Kinoko Module Driver リファレンスの読み出しスクリプト例を使い、TinyKinokoを実行してみました。その結果どのchも以下の一定値が出ました。

### [VmeScaler] ###
scaler 1 536870911
### [VmeScaler] ###

モジュールを外した状態でも同じ結果が出ることから、モジュールが認識されていないか、値がクリアーされていないのではないかと考えて以下のことを行いましたが、いずれも解決にはいたりませんでした。
モジュールのディップスイッチを全てon、crateのアドレスを0x00000000にして実行。
値がクリアーされていないと考え、on run_beginにclearを挿入した状態と on triggerにclearを挿入した状態で実行。

これについて何か助言などございましたらよろしくお願いします。



2005 年 10 月 14 日 2 時 37 分
投稿者: 榎本 三四郎


VME の各モジュールは,通常,モジュール上のジャンパによって設定されるアドレスにより,他のモジュールと識別されます.ソフトウェアは,このアドレスを使って,特定のモジュールに命令を送ったり,データを読み出したりします.そのため,モジュール上でジャンパによって設定されるアドレスと,ソフトウェアで指定するアドレスは,厳密に一致している必要があります.

ソフトウェア側の設定は,モジュールドライバリファレンスの例をそのまま使うと,
crate.installModule(scaler, 0x00400400);
の部分により,0x00400400 となります.したがって,正しく動作させるためには,この部分をジャンパ設定と同じ 0x00000000 にするか,モジュール上のジャンパを 0x00400400 にするかのどちらかが必要です.念のため,アドレスを0x00400400としたモジュール上のジャンパの写真を添付しておきます.

ちなみに,536870911 という数字は,16進数で 0x1FFFFFF です.このモジュールは29bitなので,つまりこれは全てのデータビットが1になっていることを示しています.VMEでは,不正なアドレスが指定された場合など,データのない場所からの読み出しは1を返すので,この値はこれにより理解できます.

添付ファイル: V004-AddressSetting.jpg (86.5 kb)



2005 年 10 月 18 日 14 時 54 分
投稿者: 矢沢準士

遅くなってすみません。アドバイスありがとうございました。

送っていただいた写真とこちらのモジュールとを確認したところ、豊伸電子のV004で同じ型番のものなのですがverが違っているらしく、ジャンパの数が異っていました。
取扱説明書によると、アドレスは24bitに対応しているようです。

写真のように設定して、アドレスを0x0000bbbb,0x00bbbb,0xbbbb,0x00bbbb00,などと指定してみましたが、うまくいきませんでした。また、そのときに返された値は
### [VmeScaler] ###
scaler 1 536805631
### [VmeScaler] ###
となっていました。
よろしければ、この設定の場合のアドレスを教えていただけませんか。

添付ファイル: V6010031.JPG (25.2 kb)



2005 年 10 月 20 日 1 時 39 分
投稿者: 榎本 三四郎


ボードのバージョンについて、豊伸電子に問い合わせたところ、やはりだいぶ仕様が変わっているようです。残念ながら、既存のコードでは動作しません。

現在、新しいボードに対応するために、KiNOKO のコードを修正していますが、完成させるためにはさらに情報が必要なため、現在ふたたび豊伸電子に問い合わせ中です。

いちおう、現在開発中のコードを添付しておきます。
添付のファイルを kinoko/src/kernel/lib-common/room 以下に展開して、kinoko/src で make とすれば変更が反映されます。豊伸電子からの返信がありしだい完成版を作成します。

アドレス設定についてですが、添付していただいた写真では基板の文字が判読できず、一意には決まりませんが、おそらく、0x00bbbb00 か 0x00dddd00 のどちらかだと思います。



2005 年 10 月 20 日 1 時 41 分
投稿者: 榎本 三四郎

ファイルを添付するのを忘れてました。すいません。


添付ファイル: module-Hoshin_V004.tgz (958 byte)



2005 年 10 月 20 日 18 時 48 分
投稿者: 榎本 三四郎


新しいバージョンのモジュール用の Kinoko Module Driver を作成しました。手元にこのモジュールがないので、テストしていただけると助かります。計数値が 65536 を越えたところで若干処理が変わるので、できれば 65536 を越えたところでもちゃんと数えているかも見てください。

アップデートの仕方は、前の投稿に書いたとおりです。
スクリプトの側も、アドレス設定以外は特に変更なく使えるはずです。


添付ファイル: module-Hoshin_V004.tgz (988 byte)



2005 年 10 月 24 日 16 時 43 分
投稿者: 矢沢準士

作っていただいたKinoko Module Driverで無事に計測できるようになりました。
計数値が65536 を越えても正常に動いています。

clearを組み込んだところ機能していなかったのでmodule-Hoshin_V004.hhを確認したところ、39行がregReset = 0x0000008となっていました。0x00000008と変更したら正しく機能しましたので一度ご確認ください。



2005 年 10 月 25 日 21 時 52 分
投稿者: 榎本 三四郎

動作報告、ありがとうございます。
新しいモジュールドライバは、指摘していただたいた修正を行って、次の KiNOKO のリリースに含めたいと思います(たぶんもうすぐ)。


このスレッドに記事を投稿する