スポンサーリンク

ESP32-WROVER-BとMAX V CPLDが載った電子ペーパー実験基板の動作を確認。無事動作しました!

スポンサーリンク

for English ver.

電子ペーパーをESP32-WROVER-Bで制御する基板を作るシリーズ、前回は部品の実装をしました。今回は、動作テストを行います。

スポンサーリンク

CPLDにプログラムを書き込み

まずは、MAX V CPLDに、プログラムを書き込みます。このCPLDは、ESP32からSPIで電子ペーパーを制御したり表示データを送信したりできるようにするための、プロトコル変換を行います。

以前実験していたボードとは、ピンアサインが違うので、PinPlannerで配置を変更します。

基板のJTAGのところにテストピンを押し当てて、書き込みます。

「AutoDetect」ボタンを押すと、5M160ZE64と正常にCPLDが認識されました。続いて「Start」でプログラムを書き込みます。右上の緑色のステータスバーがどんどんのびで100%になりました。プログラムも正常に書き込みできました。

スポンサーリンク

ESP32にプログラムを書き込み

Arduino IDEからテストのプログラムを転送してみます。

USBシリアル変換ICに安価なCH340を使っているので、最大転送速度が460800bpsですが、正常にプログラムが書き込むことができました。

スポンサーリンク

基板のバグ修正

ブートモードの設定ミス

なぜかブートモードが0x17になっていました。回路図を見るとIO4がプルダウンでなくて、プルアップしていました。このままでも動作はしたのですが、基板を修正してプルダウンに変更しました。

基板を修正したところ、0x13でブートするようになりました。

シリアル2が使えない

ESP32にはハードウェアのシリアルが0〜2までの3つあります。そのうち0はプログラムの書き込みに使っていて、1はESP32の内部で使っているためユーザーは利用できません。残る2(IO16,17)を。GPSとの通信に使おうと思ったのですが、なぜか通信できません。GPIOとしても利用できませんでした。

ESP32-WROVERのデータシートを見るとシリアル2のIO16とIO17はNC (未接続)になっていました。どうやら、シリアル2はESP32内部のPS-RAMに接続されて使用されていて、ユーザーは利用できないようです。

仕方がないので、GPSはIO25,26のソフトウェアシリアルで利用することにします。

パワーGOODのLEDが光らない

電子ペーパー用のDCCDコンバータICには、DCDCコンバータが動作を開始し、それぞれの出力電圧全てが規定の電圧に達した場合には、それがわかるのようにPOWER GOODの信号が出力されます。今回、その信号にLEDをつないでいたのですが、電源を入れても光りませんでした。

全ての出力電圧をチェックしましたが、全て正常にも関わらずLEDが光らなかったので、回路を調べたところ、POWER GOODの信号は電流を吐き出すタイプではなく、オープンドレインの吸い込みタイプでした。

LEDの極性を反対にして、配線を変更したところ、正常に光るようになりました。

スポンサーリンク

電子ペーパーを接続して表示のテスト

それぞれの機能単位での動作確認ができたので、最終的に電子ペーパーを接続して、表示ができるかのテストです。以前作った、アニメーションを表示するプログラムでテストしたいと思います。

さて、結果は…

アニメーションが表示されて、動作テストは無事成功しました!!!

ハードウェアが完成したので、次はソフトウェアをこの実験ボードに合わせて改良していきたいと思います。

コメント