emWin ディスプレイドライバ

 

ディスプレイドライバ

 ディスプレイドライバは特定のディスプレイコントローラファミリーとそれと関連したすべてのディスプレイに対応しています。ドライバーは必要に応じて環境設定ファイルを修正することができます。環境設定ファイルはハードウェアへのアクセスの仕方、コントローラへのアクセスの仕方といったドライバーに必要な情報をもつファイルのことです。

実行時に変更可能なドライバ

ディスプレイドライバ対応コントローラ対応 bits/pixel
GUIDRV_BitPlains コントローラなしで利用できます。 ディスプレイドライバのないTFTディスプレイである R32C/111を想定して開発されたドライバです。 1 - 8
GUIDRV_DCache ダブルキャッシュを管理するキャッシュドライバです。これはキャッシュデータをドライバからわけて管理し、描画の要求の前にデータを変換しておき直ぐに表示て切るようにしておきます。  1 (必要に応じて拡張できます)
GUIDRV_Dist 複数のコントローラをサポートするドライバ ディスプレイドライバに依存します
GUIDRV_FlexColor Epson S1D19122
FocalTech FT1509
Himax HX8301, HX8325A, HX8340, HX8347, HX8352, HX8353
Ilitek ILI9220, ILI9221, ILI9320, ILI9325, ILI9328, ILI9335, ILI9338, ILI9340,
   ILI9341, ILI9342, ILI9481
LG Electronics LGDP4531, LGDP4551
Novatek NT39122
OriseTech SPFD5408, SPFD54124C, SPFD5414D
Renesas R61505, R61516, R61526, R61580
Samsung S6D0117, S6E63D6
Sitronix ST7628, ST7637, ST7687, ST7712, ST7735
Solomon SSD1355, SSD1961, SSD1963, SSD2119
Syncoam SEPS525
16, 18
GUIDRV_IST3088 Integrated Solutions Technology IST3088, IST3257 4
GUIDRV_Lin emWin display driver supporting each display controller with linear addressable video memory with a direct interface. This means that the video RAM is directly addressable by the address lines of the CPU. The driver contains no controller specific code. So it can also be used for solutions without display controller which require a driver which only manages the video RAM. This driver supports nearly all built-in display controllers. 1, 2, 4, 8, 16, 24, 32
GUIDRV_S1D13748 Epson S1D13748 16
GUIDRV_S1D13781 Epson S1D13781 8
GUIDRV_S1D15G00 Epson S1D15G00 12
GUIDRV_SLin Epson S1D13305, S1D13700 (indirect interface only!)
Solomon SSD1848
Toshiba T6963
UltraChip UC1617
1, 2
GUIDRV_SPage Epson S1D15E05, S1D15E06, S1D15605, S1D15606, S1D15607, S1D15608,
   S1D15705, S1D15710, S1D15714, S1D15719, S1D15721
Integrated Solutions Technology IST3020
New Japan Radio Company NJU6676
Novatek NT7502, NT7534, NT7538, NT75451
Samsung S6B0719, S6B0713, S6B0724, S6B1713
Sino Wealth SH1101A
Sitronix ST7522, ST7565, ST7567, ST7591
Solomon SSD1303, SSD1305, SSD1805, SSD1815
Sunplus SPLC501C
UltraChip UC1601, UC1606, UC1608, UC1611, UC1701
1, 2, 4
GUIDRV_SSD1926 Solomon SSD1926 8

 

コンパイル時に変更可能なドライバ

Display driverSupported controllersSupported bits/pixel
GUIDRV_CompactColor_16 Ampire FSA506
Epson S1D13742, S1D13743, S1D19122
FocalTech 1509
Himax HX8301, HX8312A, HX8325A, HX8340, HX8347, HX8352, HX8352B, HX8353
Hitachi HD66766, HD66772, HD66789
Ilitek ILI9161, ILI9220, ILI9221, ILI9320, ILI9325, ILI9326, ILI9328, ILI9342,
   ILI9481
LG Electronics LGDP4531, LGDP4551
MagnaChip D54E4PA7551
Novatek NT39122, NT7573
OriseTech SPFD5408, SPFD54124C, SPFD5414D, SPFD5420A
Renesas R61505, R61509, R61516, R61526, R61580, R63401
Samsung S6D0110A, S6D0117, S6D0129, S6D04H0
Sharp LCY-A06003, LR38825
Sitronix ST7628, ST7637, ST7687, ST7712, ST7735, ST7787
Solomon SSD1284, SSD1289, SSD1298, SSD1355, SSD1961, SSD1963,
   SSD2119
Toshiba JBT6K71
16
GUIDRV_Fujitsu_16 Fujitsu MB87J2020 (Jasmine)
Fujitsu MB87J2120 (Lavender)
1, 2, 4, 8, 16
GUIDRV_Page1bpp Epson S1D10605, S1D15605, S1D15705, S1D15710, S1D15714, S1D15721,
   S1D15E05,S1D15E06, SED1520, SED1560, SED1565, SED1566, SED1567,
   SED1568, SED1569, SED1575
Hitachi HD61202
IST IST3020
New Japan Radio Company NJU6676, NJU6679
Novatek NT7502, NT7534, NT7538, NT75451
Philips PCF8810, PCF8811, PCF8535, PCD8544
Samsung KS0108B, KS0713, KS0724, S6B0108B, S6B0713, S6B0719,
   S6B0724, S6B1713
Sino Wealth SH1101A
Sitronix ST7522, ST7565, ST7567
Solomon SSD1303, SSD1805, SSD1815, SSD1821
ST Microelectronics ST7548, STE2001, STE2002
Sunplus SPLC501C
UltraChip UC1601, UC1606, UC1608, UC1701
1
GUIDRV_07X1 Novatek NT7506, NT7508
Samsung KS0711, KS0741, S6B0711, S6B0741
Sitronix ST7541, ST7571
Solomon SSD1854
STMicroelectronics STE2010
Tomato TL0350A
2
GUIDRV_1611 Epson S1D15E05, S1D15E06, S1D15719
UltraChip UC1610
UltraChip UC1611, UC1611s
2
2
4
GUIDRV_6331 Samsung S6B33B0X, S6B33B1X, S6B33B2X 16
GUIDRV_7529 Sitronix ST7529 1, 4, 5

 注:上記にないディスプレイドライバをお探しの場合、ポジティブワンにご連絡下さい。標準的なハードウェアのためのディスプレイドライバは開発を続けており、追加料金なしでご利用いただけるようになります。

 

CPU/ディスプレイコントローラインターフェース

ディスプレイコントローラによってCPUインターフェースも異なります。基本的に2つのインターフェースがあります。

  • ダイレクトインターフェース
  • インダイレクトインターフェース

 ダイレクトインターフェスがCPUのアドレスバスを使って直接ビデオメモリにアクセスするのに対して、インダイレクトインターフェースはディスプレイドライバとのもっと複雑なやりとりが必要になります。以下の4種の方法があります。

  • パラレルアクセス
  • 4ピンSPIインターフェース
  • 3ピンSPIインターフェース
  • I2cバスインターフェース

 

 つづいて上記のインターフェースとその環境設定方法について説明します。すべての設定を構築する必要はなく、ディスプレイドライバによって必要なものだけ構築すればいいことに注意して下さい。

 

ダイレクトインターフェース

 ディスプレイによっては(特に高解像度のディスプレイ)ダイレクトアドレスバスを必要とします。すなわち少なくとも14アドレスビットの接続が必要です。ダイレクトインターフェースではビデオメモリーがCPUによって直接アクセス可能になっています。つまりディスプレイの使用するアドレスバスはディスプレイコントローラに直接接続されています。ダイレクトインターフェースを構築するときに必要な情報は以下のことです。

  • ビデオメモリアクセスのための基準アドレス
  • レジスタアクセスのための基準アドレス
  • 隣接するビデオメモリ間の距離(通常1/2/4バイト)
  • 隣接するレジスタ間の距離(通常1/2/4バイト)
  • ビデオメモリへのアクセスタイプ(8/16/32ビット)
  • レジスタへのアクセスタイプ(8/16/32ビット)

典型的なブロック図

EmwinDriversInterfaceFullbus

 

インダイレクトインターフェース-パラレルバス

小さいディスプレイ用のコントローラのほとんどはCPUアクセスのためにインダイレクトインターフェースを利用します。インダイレクトインターフェースでは1アドレスビットのみ(通常A0)がLCDと接続します。またこれらのコントローラの中には動作スピードが遅いものが有り、そのためCPUの動作を安定化させるためにハードウェアデザイナーはLCDをアドレスバスに接続させるのではなくI/Oピンに接続させると判断するかもしれません。

典型的なブロック図

EmwinDriversInterfaceSimplebus

8(16)データビット、1アドレスビットと2,3本のコントロールラインが必要になります。それぞれのコントローラへの接続法を記した4つのマクロがLCDコントローラ側に必要になります。このマクロはLCDコントローラがCPUのアドレスバスに直接接続していれば1行足らずのものになりますが、LCDコントローラがI/Oピンに接続されている場合5-10行程度のものになります。

 

インダイレクトインターフェース-4ピンSPI

パラレルインターフェースでよく利用されます。A0、CLK、DATA、CSの4つを使用します。

典型的なブロック図

EmwinDriversInterfaceSpi4

:通信のためにポートピンを使用しているため動作が非常に遅くなります。ハードウェア側での通信の最適化が必要となります。

 

インダイレクトインターフェース-3ピンSPI

CLK、DATA、CSの3つを使用します。

典型的なブロック図

EmwinDriversInterfaceSpi3

 

インダイレクトインターフェース-I2Cバス

典型的なブロック図

EmwinDriversInterfaceI2c

 

emWinホームに戻る 


ディスプレイドライバ関連ページ 
SEGGER
RTOS&Middleware