GUI開発はここから始まる!~マイコン選定から開発ツール選びまで~
........
- 更新日
- 2024.07.10
- 公開日
- 2024.06.28
![](Item/CK000329_KV.webp)
初めて液晶を搭載した機器を設計する方向けの基板の要求仕様決定・部材選定に関して説明します。
液晶搭載においては、企画段階での製品仕様・表示内容の検討も重要な要素となります。
![CK000329_00.webp](Item/CK000329_00.webp)
INDEX
1. まず初めに、液晶表示のシステムを決めましょう
自社基板で描画を行う液晶表示システムを開発する場合、以下の4つのパターンが考えられます。
- マイコン(システムコントローラ)+描画用IC(GDCなど)
- マイコン(システムコントローラ兼描画)+液晶コントローラ(LCDC)
- マイコン(LCDC内蔵)
- プロセッサ(LCDC内蔵)
これらのパターンをブロック図で記載すると以下のようになります。
![CK000329_01.webp](Item/CK000329_01.webp)
それぞれのメリット・デメリット(各構成の特長は下表参照)
- 安価なマイコンを使用しており、ソフトウェア開発負荷/マイコン処理負荷を上げたくない場合は、①の構成がメリットあり
- 処理能力に余裕のあるマイコンを使用しており、基板改版を最低限とする場合は②の構成
- マイコン変更が可能で、基板面積を最低限にするのであれば③の構成
- プロセッサは、Linux搭載など性能が必要なアプリケーションで使用されることが多く、GUIのためだけに使用することは少ない
![CK000329_02.webp](Item/CK000329_02.webp)
2. マイコン選定ポイントを押さえておきましょう
先の構成検討を踏まえ、マイコン変更で対応する際のマイコン選定のポイントを解説します。
なお、描画用ICとLCDCに関しては、主にマイコンとのIFと液晶とのIF、対応解像度で選定を進めることになります。
マイコン選定のポイントは以下の3点です。
- 処理性能
- メモリ容量
- 対応解像度と描画機能
![CK000329_03.webp](Item/CK000329_03.webp)
処理性能
処理性能はシステム制御で必要となる処理性能+描画処理に必要となる処理性能が基本となります。
システム制御ではリアルタイム処理が必要になりますが、描画処理と同時に行うことを考えると、各処理を時分割で実行して問題ない処理性能か見積もる必要があります。どちらの処理もCPUだけで行うわけではないので、各々の処理を代替可能なハードウェアが搭載されているかも検討材料の一つになります。
![CK000329_04.webp](Item/CK000329_04.webp)
メモリ容量
メモリ容量は、描画処理で使用する画像・フォントデータの保存容量(ROMサイズ)と、表示データを作成する際に使用するフレームバッファ容量(RAMサイズ)がポイントとなります。先の記事でも記載しましたが、企画段階で表示解像度・表示内容/画面の遷移数・コンテンツのフォーマットなどを決め、内蔵ROM/RAMで賄えるのか、外付けROM/RAMを使用するのかの判断が必要となります。
対応解像度
対応解像度に関しては、上記の通り使用する液晶サイズと解像度になります。マイコンにより対応可能な解像度が異なりますので、使用する液晶が決まっている場合は、それに対応可能なマイコンを選択する必要があります。主なマイコンの対応解像度・インタフェースに関しては、後述する主要デバイス比較表をご参照ください。
描画機能
描画機能とは文字通り、マイコン内で表示データを作成するための機能です。多くのマイコンは描画用アクセラレータとして2D DMA、Resize(拡大/縮小)、Rotate(回転)、重ね合わせなどの機能をハードウェアとして持ち、実際の描画処理はGUI用ミドルウェアで実現しています。GUI用ミドルウェアの使い易さ、ライセンス費用なども検討ポイントとなります。一部のマイコンは2D GPUを搭載し、より高度な描画機能を提供しています。
3. マイコンを使用したGUI開発に必要な開発環境とは?
マイコンを使用したGUI開発で必要な開発環境は以下のようなものとなります。
![CK000329_06.webp](Item/CK000329_06.webp)
統合開発環境(IDE)
マイコンのソフトウェア開発に必要となる一般的な環境です。
エディタ、アセンブラ/コンパイラ/リンカ、シミュレータ、デバッガなどが統合された環境がマイコンメーカ、ツールメーカから提供されています。
マイコンメーカ提供のソフトウェアパッケージ
マイコンメーカが提供しているドライバ、サンプルソフトなどがパッケージ化されたものです。
各社提供の評価ボード(GUIを意識したものは液晶が搭載されているものもある)に対応しており、GUIのサンプルも提供されています。
液晶搭載評価ボード
製品実機の開発前は、マイコンメーカ製もしくは3rd party製の評価ボードを使用して開発します。
製品仕様によっては液晶を交換する必要があります。
GUI用ミドルウェア/開発ツール
描画を行うためのソフトウェアと専用の開発ツールです。
静止画を入れ替えるだけであれば、これらのものがなくても表示可能ですが、動きのあるメニュー表示やアニメーションなど画面内に複数のオブジェクトを持ち、それぞれを動かしたり、文字データを合成してセンサデータや時間情報などを表示する際は、GUI用ミドルウェアと開発ツールが重要です。
専用開発環境では、背景や各オブジェクト(画像・文字など)の配置、フォント変更、動きなどをGUI上で確認しながら開発することが可能となります。
その他
画像データを作成するためのデザインツール(Illustratorなど)や、フォントデータなども必要となります。
4. GUI用ミドルウェア/開発ツールの選び方
![CK000329_07.webp](Item/CK000329_07.webp)
先の表でも記載したように、一口にGUI用ミドルウェア/開発ツールと言っても多くの種類があります。
選定においては、マイコンメーカ推奨のものから選択することが多いと思いますが、以下の点に注意しましょう。
- マイコンのハードウェア要件 CPUコア、周波数
ROM/RAM容量、OSなど - ライセンス費用 開発ライセンス(開発環境ライセンス)
ランニングロイヤリティ - ライセンスモデル ライセンスの種類による制限事項など
- 技術サポート サポート提供元、サポート言語など
- 使い勝手 提供元のハンズオントレーニングなどで確認
オブジェクト配置、オブジェクト動作、テキスト設定(他言語切り替えなど)
タッチパネルなどの外部操作との連携
- 再現性 開発環境上での見た目と、実機表示での差異
代表的なものとして、表中に青字で記載したGUI用ミドルウェア/開発ツールを中心に簡単に紹介します。
各ツールのハードウェア要件は、紹介の最後にまとめとして記載しています。
Guiliani(ジュリアーニ)
- TES Electronics Solutions(独)が提供する組込みシステム向けGUIフレームワーク
- WYSIWYG PC Streaming Editor:Guiliani Streaming Editor(GSE)をフレームワークに同梱(シミュレータ内蔵)
- ライセンス形態(下表参照)
![CK000329_08.webp](Item/CK000329_08.webp)
Eclipse ThreadX GUIX(旧Microsoft Azure RTOS GUIX)
- Eclipse Foundationが提供するオープンソースの2D GUI設計環境とランタイム
- WYSIWYGデスクトップデザインツール:Azure RTOS GUIX StudioをMicrosoft Store経由で無償提供(2024年6月現在)
- Eclipse ThreadX RTOSと統合されており、同RTOSがサポートされているマイコン上で利用可能
- サポート:ルネサスエレクトロニクス株式会社によるサポート窓口(web)、株式会社グレープシステムによる国内有償サポート
- ライセンス形態はMITライセンス
emWIN
- SEGGERの提供するGUIプラットフォーム
- ロイヤリティ、量産ライセンス費用不要で使用可能
- ソースコード開示にはSEGGERとのライセンス契約が必要
- ライセンス形態(下表参照)
![CK000329_09.webp](Item/CK000329_09.webp)
TouchGFX
- ST Microeletronicsの提供するGUI開発ツール/フレームワーク
- 同社の提供するツールX-Cubeパッケージの一つX-Cube-TouchGFXとして提供される
- 提供物
- TouchGFX GENERATOR:GUIビルダ、TouchGFXアプリケーションの外観を作成可能
- TouchGFX DESIGNER :STM32用コード生成ツール STM32CubeMXプラグインで、STM32ベースのHW向け抽象化レイヤ(AL)を設定・生成可能
- TouchGFX ENGINE :UIアプリケーションを動作させるTouchGFX C++フレームワーク
各GUI用ミドルウェア/開発ツールの比較
各GUI用ミドルウェア/開発ツールで必要とするマイコンのリソース、OS等の環境を比較表にまとめました。
![CK000329_10.webp](Item/CK000329_10.webp)
5. まとめ
![CM_Summary.png](CM_Summary.png)
マイコンを使用するパターンを中心に選定ポイントを説明しました。描画ICやLCDCを使用したシステムもそれぞれにメリットはありますが、実際にマイコンを中心としたシステムの場合は、マイコンに描画させることが多い印象です。
マイコンの機能/性能だけでなく、GUI用ミドルウェア/開発ツールについてもチェックが必要ですが、別記事で紹介した通り、アプリケーションとして求められる表示の要件確認と合わせてご確認いただければと思います。先にも述べましたが、GUI用ミドルウェア/開発ツールに関しては可能であれば、一度触ってみることをお勧めします。
なお、リョーサンの液晶ユニットでは、描画コンテンツとマイコンの機能をメモリ空間として完全に分離させるためにマイコン+描画ICの構成としています。当構成とすることで部材は増えますが、マイコン自体はシステム制御に専念出来るので最低限の処理性能に最適化することが可能です。また、描画コンテンツを変更する際にマイコンのファームウェア変更を不要とすることも可能なため、システム制御の安定性も担保されます。こちらの構成にご興味のある方がいらっしゃいましたら、お気軽にお問い合わせください。
(執筆:木庭マサヒロ)