2019年度 Cosmo-Z 大規模拡張計画
2019.9.27
2019年秋、Cosmo-Zを本当に使いやすい「FPGAディジタル計測器」とするため、大規模な機能拡張を進めています。
新しいCosmo-Zを利用するため、従来の基板を改造したり、ハードウェア自体をアップグレードする必要はありません。
ユーザは追加の費用を負担することなく、ソフトウェアをアップデートするだけで新しい機能がご利用いただけるようになります。なぜならばCosmo-Zの計測回路はFPGAで作られていて、FPGAの構成はboot.binという1つのファイルに入っているためです。
アップデートの提供は、ネットワークにつないだ状態でLinuxのコンソールからアップデートのためのコマンドを打つだけで簡単に行えます。新しいアップデートがリリースされるたびに、ユーザはアップデートコマンドを打つだけで、常に最新のCosmo-Zをご利用いただくことができるようになります。
ユーザインタフェース
システム全体の操作性を決めるユーザインタフェースは、OSを問わずLinuxやWindowsから操作できるよう、Webアプリとして設計しています。
今までのWebインタフェースとは異なり、新しいWebインタフェースは、オシロのような「つまみ」やボタンで操作し、オシロスコープの感覚で操作できるようになっています。また、なんといっても反応の素早さとリアルタイム性は従来の比ではありません。
このような操作性を実現するため、Javascript+HTML5+Canvasを用いて一からWebインタフェースのライブラリを開発することにいたしました。また、高速で遅延の少ない通信を実現するため、Cosmo-ZのCPUとの通信にはWebSocketを用いています。このため、極めて短い遅延でデータを受信し、毎秒100フレーム以上の表示が可能です。
ストレスを感じることなくオシロ感覚でリアルタイムな波形を観察することができるようになります。
また、放射線計測のためのMulti-Channel-Analyzer(MCA)も、Webアプリに統合されています。
FPGA回路
Cosmo-Zの最大の特徴は、「FPGAを自由にカスタマイズでき、自分専用のフィルタやトリガを入れられる」ことです。このメリットを実現するため、新しいCosmo-ZのFPGAの設計は
- Vivado BlockDesignを用いた近代的な設計への移行
- Cosmo-ZとCosmo-Z Miniのソースの共通化
- gitによるリビジョン管理
を進めています。
現在開発中のCosmo-Zの設計を開いてみると、大きくCPU部と信号処理部があります。
この中の信号処理部を開いてみると、ADCやメモリ、トリガ回路、DMA部、粒子検出器などがあり、これらのモジュール間は標準的なAXI Streamバスで接続されています。
フィルタ部とトリガ部はさらに階層になっていて、これらの中身を書き換えることでユーザが容易にオリジナル回路を組み込むこととができるようにもなっています。
これらの回路はgitでも入手可能なようになります。
OS
最新の安定版である、Ubuntu 18.04 LTSへの移植を進めており、セキュリティやPythonとの親和性が向上されます。
また、イメージファイルはMinimalなサイズで提供されますが、初回起動時に最大サイズのパーティションに拡張されるため、小さなサイズのイメージでSDカードをフルに使い切ることができるようになります。
ソフトウェア
多くの機能はWebアプリから操作することができますが、一部の細かい設定は依然としてLinuxのコンソールからコマンドで設定する必要があります。
これまでのCosmo-Zは、/cosmoz.elf という1つのファイルにすべての機能を詰め込んでいましたが、2019年度大規模拡張では単機能の様々なコマンドを用意して提供することにいたします。
ユーザがそのソースを見ることで容易にAPI関数の使用方法を知ることができるようになるとともに、1つ1つのコマンドのソースをシンプルにし、メインテナンスが容易になるメリットがあります。また、お客様用のカスタム機能として追加した機能や有料のIPを操作するプログラムも、本体のソフトウェアからは分離されたソフトウェアとして提供されるので、最新版の管理がしやすくなるというメリットがあります。
用意しているコマンド (2019年9月27日現在)
システム管理系 |
csz_vesion csz_xadc csz_config |
FPGAバージョン管理 温度・電圧モニタ コンフィグ情報の表示 |
ADC操作系 | csz_adc | ADCデバイス操作 |
信号キャプチャ系 |
csz_capture csz_fft csz_hist |
生波形キャプチャ FFT ヒストグラム表示 |
イベントキャプチャ系 | csz_eventcap | イベントキャプチャ |
トリガ操作 | csz_trig | トリガ操作 |
放射線処理回路系 |
csz_inv csz_tfa csz_blr csz_cfg csz_shaper csz_mca |
入力反転 波形成形(TFA) 波形成形(ベースライン回復) 波形成形(タイミング抽出) 台形波形成形 マルチチャネルアナライザ |
サーバ系 | csz_wscapture | WebSocketサーバ |
コマンド操作例
アップデートの入手方法
新しいアップデートは、2019年10月1日ごろからアップデートとしてリリースされます。
Cosmo-ZおよびCosmo-Z Miniが対象で、追加の費用なく入手できます。