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という実行ファイルがインストールされ、利用可能になります。
サーバはCosmo-Z起動時に自動的に実行されます。
クライアント・ソフトウェア
既存のソフトウェア
クライアントソフトウェアとしては、
が用意されています。
なお、Windows版コンソールアプリはLinux版の/cosmoz.elfをWindowsに移植したもので、シンプル波形キャプチャは、csz_captureを移植したものです。
Windows版アプリケーション開発
Windows版のアプリケーション開発方法については、下記のページをご覧ください。
ネットワーク接続の原理
Cosmo-ZのAPIにして備わっている波形メモリのリード/ライト、コントロールレジスタのリード/ライトなどの低レベル操作をTCP/IP越しに行えるようにすることで、Windows PCなどからCosmo-Z APIを介してZYNQのハードウェアにアクセスしています。
1回1回のレジスタアクセスや、メモリリード/ライトなどの動作を1つのパケットにして送受信しているのでパケットの数は多くなりますが、ローカルネットワークでは十分な体感速度を実現できます。