【高コスパマイコン】PY32E407で挑む!HMIソリューション開発
今回はPuya製32ビットマイコン「PY32E407」を搭載した評価ボード(PY32E407V1xT-START-ETH V2)と2.8インチQVGA(320×240) TFT LCDモジュールを使用し、現実的なリソース制限とパフォーマンスのバランスを考慮したHMI(Human Machine Interface)ソリューション についてのご紹介です。
組み込み機器のHMI開発において、応答性の高いタッチGUIと動画再生を低コストに実現することは大きなテーマです。
本稿では、2.8インチQVGAタッチディスプレイ(ST7789V 液晶ドライバ+XPT2046 抵抗膜方式タッチIC)上での LVGLタッチGUI 実装(EEZ Studio からエクスポートしたCコードの実機組み込み)、および SDカード内に保存されたMJPEG動画(AVI)のリアルタイム・ソフトウェアデコード再生の技術仕様と実測検証成果を解説します。
1.Puya PY32E407 マイコンの概要と評価ボード
PY32E407は、ハードウェア浮動小数点演算ユニット(FPU)およびDSP命令を備えた ARM® Cortex®-M4Fコアを搭載するマイクロコントローラです。
PY32E407(型名: PY32E407V1ET7)主なスペック:
CPU コア:ARM Cortex-M4F, 最大動作周波数 170MHz内蔵Flash:512KB, 内蔵SRAM:144KB
パッケージ:LQFP100 (100ピン)
主なペリフェラル:10/100M Ethernet MAC, ESMC, USB-OTG, SDIO, CAN, SPI, CORDIC, ADC, Timerなど
評価ボード PY32E407V1xT-START-ETH V2 には、オンボードエミュレータ、Ethernet PHY、128 Mbit QSPI Flashが標準搭載されています。
2.ディスプレイモジュールのハードウェア構成(ST7789V + XPT2046)
本ソリューションで採用したディスプレイ部は、Arduino ヘッダ接続に対応した
「Waveshare Electronics 製「2.8inch TFT Touch Shield for Arduino (Rev 2.1)」 です。
LCD モジュール主要スペック:
ディスプレイサイズ:2.8 インチ, 解像度:QVGA(320×240ピクセル)
液晶ドライバIC(DDIC):ST7789V, 1.38 Mbit (172.8KB) 内蔵GRAM
タッチ方式・IC:4線式抵抗膜 / XPT2046
バス構成:4線式 SPIバス共用, LCD, Touch, SDを切替制御
3.LVGL GUI 構築と C ソースコードの実機組み込み検証
画面デザインには、ビジュアル GUI デザイナーである「EEZ Studio」 を使用しました。
画面デザインと実機組み込みフロー:
EEZ Studio によるビジュアルデザイン : ボタンやテキストラベル等のUIコンポーネントを配置し、C言語ソースコードをエクスポート
Cソースコードの直接プロジェクト統合 : エクスポートされたCソースファイルをPY32E407の組み込み開発環境(IAR)へ直接追加
実機ボードでの動作確認 : ビルド・書き込みを行い、ST7789V液晶およびXPT2046タッチパネル上での正確なグラフィック描画とタッチイベント処理を直接検証
4.内蔵SRAM制限を踏まえたMJPEG動画デコード再生(ハーフQVGA/15fps)
本システムにおける動画再生処理は、SDカード内の MJPEG(AVI)データを軽量モジュール「TJpgDec」 を用いてソフトウェアデコードしています。
メモリ制約と再生スペックの実態
解像度とフレームレート : 内蔵SRAM容量(144 KB)の制限上、動画サイズは ハーフQVGA(240×160 等)。
フレームレートは 約15fps での再生になります。
ワークメモリの軽量化 : 16×16ピクセル単位で逐次解凍・転送を行うことで、デコーダワークエリアを約4KB に抑え、LVGL バッファとの共存を実現しています。
5.メモリ消費量とリソース実測検証
ビルド成果物のメモリ分析により、PY32E407チップ上のメモリ・リソース配分は以下のようになっています。
容量対比使用率一覧
Flashメモリ(512KB):約300.9KB(残 211KB)、使用率58.8 %
SRAM(144 KB):約88.0 KB(残 56KB)、使用率61.1%
144KBのSRAMに対し、残り約56KBの領域はシステムスタックやFatFs、今後の通信処理用として保持されています。
6.まとめと今後の展望:PY32F53xへの展開
Puya PY32E407 は、170MHz Cortex-M4F と 144KB SRAM というコストと性能のバランスに優れた構成であり、ハーフQVGA/15fps程度の動画再生やシンプルな LVGLタッチHMI を低コストに実現する実用的なマイコンです。
今後は、より高解像度(フルQVGA/VGA)かつ高フレームレートな動画再生や、大容量グラフィックバッファを必要とする高度なHMIソリューションに向けて、さらに上位のハイエンドマイコン 「PY32F53x」 シリーズを活用した次世代HMI開発も予定しています。
今後にぜひご期待ください。
[動作概要]
1. UI TOP画面の各種(Calendar、ScreenA、ScreenB、Movie)ボタンを押すことで、表示画面の階層が遷移。
2. Movieボタンを押すことで、SDカードに保存されたMJPEGを再生。
[デモイメージ]
画像サイズ:260 x 136
フォーマット:MJPEG
FPS:約15fps
Arm および Cortex は、米国またはその他の地域におけるArm Limitedの登録商標です
Arm is a registered trademark of Arm Limited (or its subsidiaries) in the US and/or elsewhere
-
担当部署
デバイスソリューション事業本部
営業推進部
