TCP/IPによるCosmo-Zへの低レベルリモート接続

2021年9月13日以降、Cosmo-ZのハードウェアをTCP/IPでリモート接続する機能が追加されました。

この機能を利用すると、Windows PCからCosmo-ZのAPIをリモートで操作することができ、Windows PC上でVisual C++、Visual C#などの開発環境を使って計測システムを開発することが可能になります。

Cosmo-Zサーバのインストール

リモート接続を有効にするには、Cosmo-Z上のZYNQ LinuxでCosmo-Zサーバ(cszserver)が動作している必要があります。このソフトウェアをインストールするにはCosmo-Zのアップデートを行ってください。

具体的には、使用しているハードウェアがCosmo-Zの場合は、rootユーザとなって、/rootで

root@cosmoz:~# update-cosmoz

と入力してください。

使用しているハードウェアがCosmo-Z Miniの場合は、rootユーザとなって、/rootで

root@cosmoz:~# update-cszmini

と入力してください。

アップデートを行うと、/usr/local/binにcszserverという実行ファイルがインストールされ、利用可能になります。

サーバの起動方法

サーバを起動するにはルートユーザとなって

root@cosmoz:~# cszserver 1069 &

と入力してください。1069というのは使用するポート番号です。

&を付けることによって、cszserverをバックグラウンドで動作させながらLinuxのシェルは別のコマンドを実行できるようになります。

現時点ではこのような方法で手動で起動することになっていますが、将来的にはシステムの起動時にサービスとして自動的に起動するようにする方針です。

クライアント・ソフトウェア

既存のソフトウェア

クライアントソフトウェアとしては、

が用意されています。

なお、Windows版コンソールアプリはLinux版の/cosmoz.elfをWindowsに移植したもので、シンプル波形キャプチャは、csz_captureを移植したものです。

Windows版アプリケーション開発

Windows版のアプリケーション開発方法については、下記のページをご覧ください。

ネットワーク接続の原理

Cosmo-ZのAPIにして備わっている波形メモリのリード/ライト、コントロールレジスタのリード/ライトなどの低レベル操作をTCP/IP越しに行えるようにすることで、Windows PCなどからCosmo-Z APIを介してZYNQのハードウェアにアクセスしています。

1回1回のレジスタアクセスや、メモリリード/ライトなどの動作を1つのパケットにして送受信しているのでパケットの数は多くなりますが、ローカルネットワークでは十分な体感速度を実現できます。