マイコンユーザーのさまざまな疑問に対し、マイコンメーカーのエンジニアがお答えしていく本連載。58回目は、中級者の方からよく質問される「マイコンにLCDドライバ/コントローラーが搭載されていない場合のLCD表示(グラフィックを含む)の方法」についてです。
素朴な疑問から技術トラブルなどマイコンユーザーのあらゆる悩みに対し、マイコンメーカーのエンジニアが回答していく連載「Q&Aで学ぶマイコン講座」。
今回は、中級者から多く寄せられる質問です。
マイコンに液晶ディスプレイ(以下LCD:Liquid Crystal Display)ドライバ/コントローラーが搭載されていない場合は、どのようにLCDをドライブすればよいですか? また、ドットマトリクスタイプのLCDやTFT-LCD(Thin-Film-Transistor Liquid Crystal Display)などをつないでグラフィックを表示させることはできますか?
マイコンにLCDドライバ/コントローラーが搭載されていない場合は、中間電位が出力できないため、マイコンが直接LCDをドライブすることはできません。外部にラダー抵抗をつないで中間電位を作れば、GPIO(汎用IO)からラダー抵抗経由でLCDを駆動することはできますが、SEG信号やCOM信号の交流波形を作るために、常にソフトウェアで制御しなければなりません。表示している最中に他の割り込みが発生した場合、LCDのドライブが中断され、表示が乱れてしまいます(図1(a))
そのため、LCDドライバICを介してLCDをドライブする必要があります。一般的に、マイコンとLCDドライバICとのインタフェースにはシリアル通信が使われます(図1(b))
ドットマトリクスタイプのLCDやTFT-LCDには、LCDドライバ/コントローラーを内蔵したタイプが多く、マイコンと直接接続することができます。この場合、マイコンとのインタフェースにはパラレル通信(図1(c))か同期信号を備えたRGBインタフェース(図1(d))が使われます。
また、ドットマトリクスタイプのLCDやTFT-LCDにグラフィックを表示したい場合は、グラフィックデータの入った外付けメモリを付ける方法があります。高速でデータにアクセスできるマイコンであれば、グラフィックを表示することが可能です。
STマイクロエレクトロニクスの32ビットマイコンSTM32F103ライン(以下、STM32F103)*1)に搭載されているUSART(Universal synchronous asynchronous receiver transmitter)やFSMC(Flexible Static Memory Controller)をDMA(Direct Memory Access)と併用することで、上記全ての場合に対応できます。使用例を図1(a)〜(d)に示します。
また、参考までに、STM32F4シリーズ(以下、STM32F4)*2)やSTM32L4+シリーズ(以下、STM32L4+)*3)に搭載されているTFT-LCDコントローラーの使用例も図1(e)に示します。
参考ページ:*1)STM32F103ライン
*2)STM32F4シリーズ
*3)STM32L4+シリーズ
本記事はマイコンの機能に関する記事なので、LCDやTFT-LCDの構造、動作原理などの詳細については、専門書やインターネット記事、ブログなどを参考にしてください。
Copyright © ITmedia, Inc. All Rights Reserved.