ESP-IDFを使ってみる

Logic Analyzer


こちらにESP32で動作 するLogic Analyzerが公開されています。
Logic AnalyzerとはGPIOのON/OFFを視覚的に表示してくれるツールです。
リポジトリ内のlogic_analyzer_exampleをビルドしてESP32に書き込むと、ESP32はWebSocketサーバーとし て動作しま す。
menuconfigでルーターのSSID、パスワードとサンプリングに使用するGPIOを選択します。


以下ではGPIO22をサンプリングに使用します。



ブラウザーを起動してアドレスバーにAnalyzerのESP32のIPアドレスを指定すると以下の初期画面が表示されます。


別のESP32(測定用ESP32)に1秒周期でGPIOをON/OFFするファームを書き込んで、測定用ESP32のGPIOと、 AnalyzerのGPIO22をケーブルでつなぎます。
Startボタンを押すと、5000Hzで10000回のサンプリングを行い、その結果を表示します。


測定用ESP32のON/OFF周期を100ミリ秒にすると、以下の様になります。


測定用ESP32のON/OFF周期を10ミリ秒にすると、以下の様になります。


これだと、時間が良く分からないので、サンプリング周期を5000Hz(1/5000秒)から50000Hz(1/50000秒)に変更します。
これで、1/50000秒*10000回=1/5秒間のサンプリングを行います。




通信速度が500KHzのCANHの信号を100000Hzでサンプリングしてみました。
500KHzのパルスに対して100KHzでサンプリングするので、ごく一部だけが表示されます。


そこで、サンプリング周波数を1MHzに変更してみました。
1/1000000秒のサンプリングを10000回行うので、サンプリングのトータル時間は1/100秒となります。


サンプリング周波数を10MHzに変更してみました。
1/10000000秒のサンプリングを10000回行うので、サンプリングのトータル時間は1/1000秒となります。
高周波数のパルスをサンプリングする場合、サンプリング周波数を大きくする(サンプリング間隔を小さくする)必要が有りますが、
サンプリング出来る回数の上限が決まっているので、サンプリングのトータル時間は短くなります。


これを見ると、オシロスコープが高価な理由が良く分かります。