76
© 2009 Microchip Technology Inc. DS39731A_JP - p. 43-1 グラフィック コントローラ モジュール (GFX) 43 セクション 43. グラフィック コントローラ モジュール (GFX) ハイライト 本セクションには下記の主要項目を記載しています。 43.1 はじめに ...................................................................................................................... 43-2 43.2 モジュールのレジスタ ................................................................................................ 43-4 43.3 動作 ........................................................................................................................... 43-27 43.4 ディスプレイ コントローラ ...................................................................................... 43-34 43.5 グラフィック処理ユニット (GPU) ............................................................................ 43-49 43.6 割り込み .................................................................................................................... 43-65 43.7 ディスプレイ電源シーケンシング ............................................................................ 43-67 43.8 省電力モード時の動作 .............................................................................................. 43-68 43.9 リセットの影響 ......................................................................................................... 43-69 43.10 ディスプレイ インターフェイスのタイミング ......................................................... 43-70 43.11 レジスタマップ ......................................................................................................... 43-74 43.12 関連アプリケーション ノート .................................................................................. 43-75 43.13 改訂履歴 .................................................................................................................... 43-76 注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジ ナルの英語版をご参照願います。

セクション 43. グラフィック コントローラ モジュール (GFX)ww1.microchip.com/downloads/jp/DeviceDoc/39731A_JP.pdf43.1.1 GFX モジュールの特長 GFX モジュールは下記の3

  • Upload
    others

  • View
    3

  • Download
    0

Embed Size (px)

Citation preview

  • 注意 : この日本語版文書は参考資料としてご利用ください。最新情報は必ずオリジナルの英語版をご参照願います。

    セクション 43. グラフィック コントローラ モジュール (GFX)

    Parallel Master

    Port (PMP)

    13

    グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    ハイライト

    本セクションには下記の主要項目を記載しています。

    43.1 はじめに ...................................................................................................................... 43-243.2 モジュールのレジスタ ................................................................................................ 43-443.3 動作 ........................................................................................................................... 43-2743.4 ディスプレイ コントローラ ...................................................................................... 43-3443.5 グラフィック処理ユニット (GPU) ............................................................................ 43-4943.6 割り込み .................................................................................................................... 43-6543.7 ディスプレイ電源シーケンシング ............................................................................ 43-6743.8 省電力モード時の動作 .............................................................................................. 43-6843.9 リセットの影響 ......................................................................................................... 43-6943.10 ディスプレイ インターフェイスのタイミング ......................................................... 43-7043.11 レジスタマップ ......................................................................................................... 43-7443.12 関連アプリケーション ノート .................................................................................. 43-7543.13 改訂履歴 .................................................................................................................... 43-76

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-1

  • PIC24F ファミリ リファレンス マニュアル

    43.1 はじめにアナログ駆動回路を内蔵したグラフィック コントローラ (GFX) モジュールは、ディスプレイ パネルと直接接続して画面内の各画素を制御します。このモジュールは垂直線、水平線、矩形、画面上の異なる位置間での矩形領域のコピー、テキストの描画、圧縮データの伸張を高速にレンダリングします。高速レンダリングの実行にはコマンド FIFO を使用します。グラフィック コントローラのハードウェアは、CPU に負荷をかけずにレンダリングを実行します。ソフトウェアでステータスをポーリングするか割り込みを使用する事により、一連の図形を連続してレンダリングできます。

    43.1.1 GFX モジュールの特長GFX モジュールは下記の 3 種類のディスプレイ パネルをサポートします。• モノクロ STN• カラー STN• カラー TFT垂直および水平同期信号タイミングがプログラマブルであるため、各種ディスプレイのタイミング要件を満たす事ができます。GFX モジュールは下記の特長を備えます。• グラフィック ハードウェア アクセラレータ

    - 文字グラフィック処理ユニット (CHRGPU)- 矩形コピー グラフィック処理ユニット (RCCGPU)- 伸張処理ユニット (IPU)

    • 256 色のルックアップ テーブル (CLUT)• 1/2/4/8/16 bpp (bits per pixel) の色深度をサポート• プログラマブルなディスプレイ解像度• 下記のディスプレイ インターフェイスをサポート

    - 4/8/16 ビット モノクロ STN- 4/8/16 ビット カラー STN- 9/12/18/24 ビット カラーTFT (18 および 24 ビットのディスプレイは 16 ビット 5-6-5

    RGB カラー フォーマットとして接続 )図 43-1 に、GFX モジュールのピン出力と画像バッファ源を示します。一部のデバイスではシステム RAM をデバイスに外付けする事もできます。詳細は該当するデバイスのデータシートを参照してください。

    DS39731A_JP - p. 43-2 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    図 43-1: グラフィック モジュールのピン出力とブロック図

    PIC24F GraphicsController Module

    To D

    ispl

    ay

    Gla

    ss

    System RAM

    VSYNC

    GCLK

    GEN

    GPWR

    HSYNC

    GD

    GPU CommandInterface

    Registersand Control

    Interface

    CHRGPURCCGPU IPU

    Memory Request Arbiter

    Display ModuleInterface

    CLUT

    Graphics Controller Clock (G1CLK)

    Display Interface Clock (DISPCLK)

    System Clock

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-3

  • PIC24F ファミリ リファレンス マニュアル

    43.2 モジュールのレジスタGFX モジュールは下記の制御およびステータス レジスタを備えます。• G1CMDL および G1CMDH – GPU コマンド LOW/HIGH レジスタ ( レジスタ 43-1、レジスタ 43-2 参照 )これらのレジスタは 32 ビットのコマンド フィールドを形成します。これらのレジスタに書き込んだコマンドはコマンド FIFO へ転送されます。

    • G1CON1 – ディスプレイ制御レジスタ 1 ( レジスタ 43-3 参照 )このレジスタは、GFX モジュールの有効化 / 無効化、割り込みを生成するウォーターマーク レベル ( コマンド FIFO に格納中のコマンド数 ) の設定、GPU 動作の色深度 (bpp) の設定に使用します。このレジスタは、16 段コマンド FIFO に格納中のコマンドのステータスも保持します。

    • G1CON2 – ディスプレイ制御レジスタ 2 ( レジスタ 43-4 参照 )このレジスタは、モジュールに接続するディスプレイ パネルのタイプ、ディスプレイの色深度 (bpp)、出力の同時スイッチングによるノイズを低減するためのディスプレイ データの浮動制御、テストモード時に表示するテストパターンの設定に使用します。

    • G1CON3 – ディスプレイ制御レジスタ 3 ( レジスタ 43-5 参照 )このレジスタはディスプレイ電源信号、ディスプレイ クロックの極性と有効化 / 無効化、垂直および水平同期、データイネーブル信号の制御に使用します。

    • G1STAT – ステータス レジスタ ( レジスタ 43-6 参照 )このレジスタは GPU、垂直 / 水平ブランキング、コマンド ウォーターマーク レベル指定、コマンド FIFO のステータスを格納します。

    • G1IE – 割り込みイネーブル レジスタ ( レジスタ 43-7 参照 )このレジスタは、グラフィック モジュールから CPU への各種割り込み要因のイネーブルビットを格納します。

    • G1IR – 割り込みステータス レジスタ ( レジスタ 43-8 参照 )このレジスタは、グラフィック モジュールからの各種割り込み要因のステータスを格納します。

    • G1W1ADRL、G1W1ADRH – GPU ワークエリア 1 先頭アドレスレジスタ LOW/HIGH ( レジスタ 43-9、レジスタ 43-10 参照 )これらのレジスタは、ワークエリア 1 (GPU が動作するメモリ空間 ) の先頭アドレスを定義します。全ての GPU は、これら 2 つのレジスタを使用してワークエリアを定義します。

    • G1W2ADRL、G1W2ADRH – GPU ワークエリア 2 の先頭アドレスレジスタ LOW/HIGH (レジスタ 43-11、レジスタ 43-12 参照 )これらのレジスタは、ワークエリア 2 (GPU が動作するメモリ空間 ) の先頭アドレスを定義します。IPU と RCCGPU は、これら 2 つのレジスタを使用してワークエリア 2 を定義します。

    • G1PUW – GPU ワークエリア幅レジスタ ( レジスタ 43-13 参照 )このレジスタは、GPU ワークエリア 1 および 2 の幅 ( 画素数 ) を定義します。

    • G1PUH – GPU ワークエリア高さレジスタ ( レジスタ 43-14 参照 )このレジスタは、GPU ワークエリア 1 および 2 の高さ ( 画素数 ) を定義します。

    • G1DPADRL、G1DPADRH – ディスプレイ バッファ先頭アドレスレジスタ LOW/HIGH ( レジスタ 43-15、レジスタ 43-16 参照 )これらのレジスタは、ディスプレイ バッファの先頭アドレスを定義します。

    • G1DPW – ディスプレイ バッファ幅レジスタ ( レジスタ 43-17 参照 )このレジスタは、ディスプレイ バッファの幅 ( 画素数 ) を定義します。

    • G1DPH – ディスプレイ バッファ高さレジスタ ( レジスタ 43-18 参照 )このレジスタは、ディスプレイ バッファの高さ ( 画素数 ) を定義します。

    • G1DPWT – ディスプレイ全幅レジスタ ( レジスタ 43-19 参照 )このレジスタは、ディスプレイの全幅 ( 画素数 ) を定義します。TFT ディスプレイでは非表示の垂直ブランキングが必要であるため、このパラメータは実際の表示画素数より大きくなる場合があります。

    DS39731A_JP - p. 43-4 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    • G1DPHT – ディスプレイ全高レジスタ ( レジスタ 43-20 参照 )このレジスタは、ディスプレイの全高 ( 画素数 ) を定義します。TFT ディスプレイでは非表示の水平ブランキングが必要であるため、このパラメータは実際の表示画素数より大きくなる場合があります。

    • G1ACTDA – アクティブ ディスプレイ領域レジスタ ( レジスタ 43-21 参照 )このレジスタは、最初の可視ラインを描画する前のライン数と、最初の可視画素を描画する前のディスプレイ クロック数を制御します。

    • G1HSYNC – 水平同期制御レジスタ ( レジスタ 43-22 参照 )このレジスタは、水平同期パルス幅と水平同期信号の開始タイミングを制御します。

    • G1VSYNC – 垂直同期制御レジスタ ( レジスタ 43-23 参照 )このレジスタは、垂直同期パルス幅と垂直同期信号の開始タイミングを制御します。

    • G1DBLCON – ディスプレイ ブランキング制御レジスタ ( レジスタ 43-24 参照 )このレジスタは、垂直ブランキングの開始から最初のラインを表示するまでのライン数と、各ラインの最初の画素を表示するまでのディスプレイ クロック数を制御します。

    • G1CLUT – 色変換ルックアップ テーブル (CLUT) 制御レジスタ ( レジスタ 43-25 参照 )このレジスタは CLUT イネーブルビット、CLUT 読み書きイネーブルビット、CLUT 読み出しトリガビット、読み書きする CLUT エントリのアドレスを格納します。このレジスタは CLUT 読み書きビジービットも格納します。

    • G1CLUTWR – CLUT メモリ書き込みデータレジスタ ( レジスタ 43-26 参照 )このレジスタは、G1CLUT レジスタで指定したアドレスの CLUT メモリに書き込むデータを指定します。

    • G1CLUTRD – CLUT メモリ読み出しデータレジスタ ( レジスタ 43-27 参照 )このレジスタは、G1CLUT レジスタで指定したアドレスの CLUT メモリから読み出したデータを格納します。

    • G1MRGN – 割り込み先行レジスタ ( レジスタ 43-28 参照 )このレジスタでは、垂直および水平ブランキング割り込みをブランキング開始よりどれだけ先行させて生成するのかを DISPCLK サイクル数で指定します。

    • G1CHRX、G1CHRY – 文字表示位置X/Y座標レジスタ(レジスタ43-29、レジスタ43-30参照)これらのレジスタは、CHRGPU が画像バッファにレンダリングする文字の X および Y 座標を指定します。

    • G1IPU – 伸張処理ステータス レジスタ ( レジスタ 43-31 参照 )このレジスタは、伸張処理関連の各種ステータスビットを格納します。

    • G1DBEN – データ I/O ピン イネーブル レジスタ ( レジスタ 43-32 参照 )このレジスタは、各 I/O ピンをディスプレイ コントローラ向けに切り換えるかどうかを設定します。

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-5

  • PIC24F ファミリ リファレンス マニュアル

    レジスタ 43-1: G1CMDL: GPU コマンド LOW レジスタ

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    GCMD15 GCMD14 GCMD13 GCMD12 GCMD11 GCMD10 GCMD9 GCMD8bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    GCMD7 GCMD6 GCMD5 GCMD4 GCMD3 GCMD2 GCMD1 GCMD0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-0 GCMD: GPU コマンド低位ビットこの G1CMDL と下記の G1CMDH の組み合わせ (GCMD) により 32 ビットコマンドを定義します。この下位ワードレジスタだけに書き込んでも、32 ビットコマンド (GCMD) はコマンドFIFO へ転送されません。コマンド FIFO への転送については下記の G1CMDH レジスタの説明を参照してください。

    レジスタ 43-2: G1CMDH: GPU コマンド HIGH レジスタ

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    GCMD31 GCMD30 GCMD29 GCMD28 GCMD27 GCMD26 GCMD25 GCMD24bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    GCMD23 GCMD22 GCMD21 GCMD20 GCMD19 GCMD18 GCMD17 GCMD16bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-0 GCMD: GPU コマンド高位ビットこのG1CMDHと上記のG1CMDLの組み合わせ (GCMD)により 32ビットコマンドを定義します。この上位ワードレジスタに 1 ワードを書き込むと、32 ビットコマンド (GCMD) がコマンド FIFO へ転送されます。G1CMDH へのバイト書き込みは可能ですが、上位バイトに書き込んだ時にだけコマンドが FIFO へ転送されます。このレジスタの下位バイトへの書き込みは、G1CMDHビットの内容を更新するだけで、コマンドは FIFO へ転送されません。

    DS39731A_JP - p. 43-6 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    レジスタ 43-3: G1CON1: ディスプレイ制御レジスタ 1

    R/W-0 U-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    G1EN — G1SIDL GCMDWMK4 GCMDWMK3 GCMDWMK2 GCMDWMK1 GCMDWMK0bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R-0 R-0 R-0 R-0 R-0

    PUBPP2 PUBPP1 PUBPP0 GCMDCNT4 GCMDCNT3 GCMDCNT2 GCMDCNT1 GCMDCNT0bit 7 bit 0

    凡例 :R = 読み出し可能ビット

    W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15 G1EN: モジュール イネーブルビット1 = ディスプレイ モジュールを有効化する0 = ディスプレイ モジュールを無効化する

    bit 14 未実装 :「0」として読み出しbit 13 G1SIDL: アイドル時停止ビット

    1 = アイドルモードではディスプレイ モジュールは停止する0 = アイドルモードでもディスプレイ モジュールは停止しない

    bit 12-8 GCMDWMK: コマンド FIFO ウォーターマーク ビットCMDLVIF 割り込みをトリガして CMDLV フラグをセットするコマンド ウォーターマーク レベルを設定します。

    GCMDWMK > 10000 = 予約済み10000 =FIFO内のコマンド数が16から15に変化した時にCMDLVIF割り込みをトリガし、CMDLVフラグ

    をセットします。01111 =FIFO内のコマンド数が15から14に変化した時にCMDLVIF割り込みをトリガし、CMDLVフラグ

    をセットします。•••00001 =FIFO内のコマンド数が1から0に変化した時にCMDLVIF割り込みをトリガし、CMDLVフラグを

    セットします。00000 =CMDLVIF 割り込みをトリガせず、CMDLV フラグもセットしません。

    bit 7-5 PUBPP: GPU 色深度設定ビット下記以外は予約済みです。100 =16 bpp011 =8 bpp010 =4 bpp001 =2 bpp000 =1 bpp

    bit 4-0 GCMDCNT: コマンド FIFO 占有ステータスビットFIFO がフルの場合、FIFO へのコマンド書き込みは無視されます。10000 = FIFO は 16 個のコマンドを格納している01111 = FIFO は 15 個のコマンドを格納している•••00001 = FIFO は 1 個のコマンドを格納している00000 = FIFO はコマンドを格納していない

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-7

  • PIC24F ファミリ リファレンス マニュアル

    レジスタ 43-4: G1CON2: ディスプレイ制御レジスタ 2R/W-0 R/W-0 R/W-0 R/W-0 U-0 U-0 R/W-0 R/W-0

    DPGWDTH1 DPGWDTH0 DPSTGER1 DPSTGER0 — — DPTEST1 DPTEST0bit 15 bit 8

    R/W-0 R/W-0 R/W-0 U-0 U-0 R/W-0 R/W-0 R/W-0

    DPBPP2 DPBPP1 DPBPP0 — — DPMODE2 DPMODE1 DPMODE0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-14 DPGWDTH: STN ディスプレイ パネル データ幅ビット11 = 予約済み10 = 16 ビット幅01 = 8 ビット幅00 = 4 ビット幅TFT モードでは、これらのビットは効果を持ちません。TFT ディスプレイ パネルのデータ幅は常に16 ビットとみなされます。

    bit 13-12 DPSTGER: ディスプレイ データタイミング 浮動制御ビット詳細は 43.4.4「ディスプレイ データの浮動制御」を参照してください。11 = ディスプレイ データを下記グループごとに遅延する

    ビットグループ 0: 0 4 8 12 – 遅延なしビットグループ 1: 1 5 9 13 – ½ GPUCLK サイクルの遅延ビットグループ 2: 2 6 10 14 – 1 GPUCLK サイクルの遅延ビットグループ 3: 3 7 11 15 – 1½ GPUCLK サイクルの遅延

    10 = ディスプレイ データの偶数ビットを 1 GPUCLK サイクル遅延し、奇数ビットを遅延しない01 = ディスプレイ データの奇数ビットを ½ GPUCLK サイクル遅延し、偶数ビットを遅延しない00 = ディスプレイ データタイミングを全て GPUCLK エッジで同期する

    bit 11-10 未実装 :「0」として読み出しbit 9-8 DPTEST: ディスプレイ テストパターン ジェネレータビット

    テストパターンを使用すると、メモリ インターフェイスとディスプレイ バッファをセットアップしなくても簡単にディスプレイ パネルとのインターフェイスをテストできます。11 = 境界線10 = 縦縞01 = 黒画面00 = 通常表示 ( テストパターンは OFF)

    bit 7-5 DPBPP: ディスプレイ色深度設定ビットこの設定は PUBPP (G1CON1) ビットでの GPU 色深度設定と一致する必要があります。100 = 16 bpp011 = 8 bpp010 = 4 bpp001 = 2 bpp000 = 1 bppその他の設定 = 予約済み

    bit 4-3 未実装 :「0」として読み出しbit 2-0 DPMODE: ディスプレイ パネル タイプビット

    011 = カラー STN 型010 = モノクロ STN 型001 = TFT 型000 = ディスプレイ OFFその他の設定 = 予約済み

    DS39731A_JP - p. 43-8 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    レジスタ 43-5: G1CON3: ディスプレイ制御レジスタ 3U-0 U-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0

    — — — — — — DPPINOE DPPOWERbit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    DPCLKPOL DPENPOL DPVSPOL DPHSPOL DPPWROE DPENOE DPVSOE DPHSOEbit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-10 未実装 :「0」として読み出しbit 9 DPPINOE: ディスプレイ出力ピン イネーブルビット

    DPPINOE はマスタ出力イネーブルビットです。GDBEN、DPENOE、DPPWROE、DPVSOE、DPHSOE で関連するピンを有効にするには、このビットをセットする必要があります。1 = ディスプレイ出力ピンを有効にする0 = ディスプレイ出力ピンを無効にする無効にすると、これらの信号に使用しているピンは、同じピンを使う他のモジュールに割り当てられます。DPPINOE がセット状態の時、GDBEN を使用して特定データ信号を有効化 / 無効化できます。

    bit 8 DPPOWER: ディスプレイ電源シーケンサ制御ビット 詳細はセクション 43.7「ディスプレイ電源シーケンシング」を参照してください。1 = ディスプレイ電源シーケンサ制御ポート (GPWR) を「1」にセットする0 = ディスプレイ電源シーケンサ制御ポート (GPWR) を「0」にクリアする

    bit 7 DPCLKPOL: ディスプレイ パネル クロック (GCLK) 極性ビット1 = ディスプレイは GCLK の立ち上がりエッジでデータをラッチする0 = ディスプレイは GCLK の立ち下がりエッジでデータをラッチする

    bit 6 DPENPOL: ディスプレイ イネーブル信号 (GEN) 極性ビットTFT モード (DPMODE (G1CON2) = 001) の場合1 = アクティブ HIGH (GEN)0 = アクティブ LOW (GEN)STN モード (DPMODE (G1CON2) = 010または 011) の場合 1 = GEN をディスプレイのシフトクロック入力へ接続する ( シフトクロック モード )0 = GEN をディスプレイの MOD 入力へ接続する ( ライン / フレーム トグルモード )

    bit 5 DPVSPOL: ディスプレイ垂直同期 (VSYNC) 極性ビット1 = アクティブ HIGH (VSYNC)0 = アクティブ LOW (VSYNC)

    bit 4 DPHSPOL: ディスプレイ水平同期 (HSYNC) 極性ビット1 = アクティブ HIGH (HSYNC)0 = アクティブ LOW (HSYNC)

    bit 3 DPPWROE: ディスプレイ電源シーケンサ制御ポート (GPWR) イネーブルビット1 = GPWR ポートは有効 (DPPOWER (G1CON3) ビットでピンを制御する )0 = GPWR ポートは無効 ( ピンは通常の I/O ピンとして使用可能 )

    bit 2 DPENOE: ディスプレイ イネーブルポート (GEN) イネーブルビット1 = GEN ポートは有効0 = GEN ポートは無効

    bit 1 DPVSOE: ディスプレイ垂直同期ポート イネーブルビット1 = VSYNC ポートは有効0 = VSYNC ポートは無効

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-9

  • PIC24F ファミリ リファレンス マニュアル

    bit 0 DPHSOE: ディスプレイ水平同期ポート イネーブルビット1 = HSYNC ポートは有効0 = HSYNC ポートは無効

    レジスタ 43-5: G1CON3: ディスプレイ制御レジスタ 3 ( 続き )

    レジスタ 43-6: G1STAT: ステータス レジスタ

    R-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0

    PUBUSY — — — — — — —bit 15 bit 8

    R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0

    IPUBUSY RCCBUSY CHRBUSY VMRGN HMRGN CMDLV CMDFUL CMDMPTbit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15 PUBUSY: 処理ユニット ビジー ステータスビットこのビットは IPUBUSY、RCCBUSY、CHRBUSY ビットの論理和 (OR) と等価です。1 = 少なくとも 1 つの処理ユニットがビジー0 = 処理ユニットはいずれもビジーではない

    bit 14-8 未実装 :「0」として読み出しbit 7 IPUBUSY: 伸張処理ユニット ビジー ステータスビット

    1 = IPU はビジー0 = IPU はビジーではない

    bit 6 RCCBUSY: 矩形コピー グラフィック処理ユニット ビジー ステータスビット1 = RCCGPU はビジー0 = RCCGPU はビジーではない

    bit 5 CHRBUSY: 文字グラフィック処理ユニット ビジー ステータスビット1 = CHRGPU はビジー0 = CHRGPU はビジーではない

    bit 4 VMRGN: 垂直ブランキング ステータスビット1 = ディスプレイ インターフェイスは垂直ブランキング期間中である0 = ディスプレイ インターフェイスは垂直ブランキング期間中ではない

    bit 3 HMRGN: 水平ブランキング ステータスビット1 = ディスプレイ インターフェイスは水平ブランキング期間中である0 = ディスプレイ インターフェイスは水平ブランキング期間中ではない

    bit 2 CMDLV: コマンド ウォーターマーク レベル ステータスビットコマンド FIFO 内のコマンド数が GCMDWMK (G1CON1) レジスタビットで設定したウォーターマーク値に等しかった状態から減少した事を示します。

    1 = FIFO 内のコマンド数が GCMDWMK の設定値から減少した0 = FIFO 内のコマンド数は GCMDWMK の設定値以上である

    bit 1 CMDFUL: コマンド FIFO フル ステータスビット1 = コマンド FIFO はフル0 = コマンド FIFO はフルではない

    bit 0 CMDMPT: コマンド FIFO エンプティ ステータスビット1 = コマンド FIFO はエンプティ0 = コマンド FIFO はエンプティではない

    DS39731A_JP - p. 43-10 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    レジスタ 43-7: G1IE: 割り込みイネーブル レジスタ

    R/W-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0

    PUIE — — — — — — —bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    IPUIE RCCIE CHRIE VMRGNIE HMRGNIE CMDLVIE CMDFULIE CMDMPTIEbit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15 PUIE: 処理ユニット動作完了割り込みイネーブルビット1 = PU 動作完了割り込みを有効にする0 = PU 動作完了割り込みを無効にする

    bit 14-8 未実装 :「0」として読み出しbit 7 IPUIE: 伸張処理ユニット動作完了割り込みイネーブルビット

    1 = IPU 動作完了割り込みを有効にする0 = IPU 動作完了割り込みを無効にする

    bit 6 RCCIE: 矩形コピー グラフィック処理ユニット動作完了割り込みイネーブルビット1 = RCCGPU 動作完了割り込みを有効にする0 = RCCGPU 動作完了割り込みを無効にする

    bit 5 CHRIE: 文字グラフィック処理ユニット動作完了割り込みイネーブルビット1 = CHRGPU 動作完了割り込みを有効にする0 = CHRGPU 動作完了割り込みを無効にする

    bit 4 VMRGNIE: 垂直ブランキング割り込みイネーブルビット1 = 垂直ブランキング期間割り込みを有効にする0 = 垂直ブランキング期間割り込みを無効にする

    bit 3 HMRGNIE: 水平ブランキング割り込みイネーブルビット1 = 水平ブランキング期間割り込みを有効にする0 = 水平ブランキング期間割り込みを無効にする

    bit 2 CMDLVIE: コマンド ウォーターマーク割り込みイネーブルビット1 = コマンド ウォーターマーク割り込みを有効にする0 = コマンド ウォーターマーク割り込みを無効にする

    bit 1 CMDFULIE: コマンド FIFO フル割り込みイネーブルビット1 = コマンド FIFO フル割り込みを有効にする0 = コマンド FIFO フル割り込みを無効にする

    bit 0 CMDMPTIE: コマンド FIFO エンプティ割り込みイネーブルビット1 = コマンド FIFO エンプティ割り込みを有効にする0 = コマンド FIFO エンプティ割り込みを無効にする

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-11

  • PIC24F ファミリ リファレンス マニュアル

    レジスタ 43-8: G1IR: 割り込みステータス レジスタR/W-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0

    PUIF — — — — — — —bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    IPUIF RCCIF CHRIF VMRGNIF HMRGNIF CMDLVIF CMDFULIF CMDMPTIFbit 7 bit 0

    凡例 :R = 読み出し可能ビット

    W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15 PUIF: 処理ユニット動作完了割り込みフラグビットPUIF ビットは IPUIF、RCCIF、CHRIF ビットの論理和 (OR) と等価です。1 = 1つまたは複数のPUがコマンド実行を完了した(このビットはソフトウェアでクリアする必要があり

    ます )0 = 全ての PU がアイドル状態またはコマンド実行中

    bit 14-8 未実装 :「0」として読み出しbit 7 IPUIF: 伸張処理ユニット動作完了割り込みフラグビット

    1 = IPU はコマンド実行を完了した ( このビットはソフトウェアでクリアする必要があります )0 = IPU はアイドル状態またはコマンド実行中

    bit 6 RCCIF: 矩形コピー グラフィック処理ユニット動作完了割り込みフラグビット1 = RCCGPU はコマンド実行を完了した ( このビットはソフトウェアでクリアする必要があります )0 = RCCGPU はアイドル状態またはコマンド実行中

    bit 5 CHRIF: 文字グラフィック処理ユニット動作完了割り込みフラグビット1 = CHRGPU はコマンド実行を完了した ( このビットはソフトウェアでクリアする必要があります )0 = CHRGPU はアイドル状態またはコマンド実行中

    bit 4 VMRGNIF: 垂直ブランキング割り込みフラグビット1 = ディスプレイ インターフェイスは垂直ブランキング期間中である ( このビットはソフトウェアでク

    リアする必要があります )0 = ディスプレイ インターフェイスは垂直ブランキング期間中ではない

    bit 3 HMRGNIF: 水平ブランキング割り込みフラグビット1 = ディスプレイ インターフェイスは水平ブランキング期間中である ( このビットはソフトウェアでク

    リアする必要があります )0 = ディスプレイ インターフェイスは水平ブランキング期間中ではない

    bit 2 CMDLVIF: コマンド ウォーターマーク割り込みフラグビット1 = コマンド ウォーターマーク レベルに達している ( このビットはソフトウェアでクリアする必要があ

    ります )0 = コマンド ウォーターマーク レベルにはまだ達していない

    bit 1 CMDFULIF: コマンド FIFO フル割り込みフラグビット1 = コマンド FIFO はフル ( このビットはソフトウェアでクリアする必要があります )0 = コマンド FIFO はフルではない

    bit 0 CMDMPTIF: コマンド FIFO エンプティ割り込みフラグビット1 = コマンド FIFO はエンプティ ( このビットはソフトウェアでクリアする必要があります )0 = コマンド FIFO はエンプティではない

    DS39731A_JP - p. 43-12 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    レジスタ 43-9: G1W1ADRL: GPU ワークエリア 1 先頭アドレスレジスタ LOWR/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    W1ADR15 W1ADR14 W1ADR13 W1ADR12 W1ADR11 W1ADR10 W1ADR9 W1ADR8bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    W1ADR7 W1ADR6 W1ADR5 W1ADR4 W1ADR3 W1ADR2 W1ADR1 W1ADR0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-0 W1ADR: GPU ワークエリア 1 先頭アドレス低位ビットワークエリアの先頭アドレスはメモリ内の偶数バイトアドレスに配置する必要があります。

    レジスタ 43-10:G1W1ADRH: GPU ワークエリア 1 先頭アドレスレジスタ HIGHU-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0

    — — — — — — — —bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    W1ADR23 W1ADR22 W1ADR21 W1ADR20 W1ADR19 W1ADR18 W1ADR17 W1ADR16bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-8 未実装 : 「0」として読み出しbit 7-0 W1ADR: GPU ワークエリア 1 先頭アドレス高位ビット

    ワークエリアの先頭アドレスはメモリ内の偶数バイトアドレスに配置する必要があります。

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-13

  • PIC24F ファミリ リファレンス マニュアル

    レジスタ 43-11:G1W2ADRL: GPU ワークエリア 2 先頭アドレスレジスタ LOWR/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    W2ADR15 W2ADR14 W2ADR13 W2ADR12 W2ADR11 W2ADR10 W2ADR9 W2ADR8bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    W2ADR7 W2ADR6 W2ADR5 W2ADR4 W2ADR3 W2ADR2 W2ADR1 W2ADR0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-0 W2ADR: GPU ワークエリア 2 先頭アドレス低位ビットワークエリアの先頭アドレスはメモリ内の偶数バイトアドレスに配置する必要があります。

    レジスタ 43-12:G1W2ADRH: GPU ワークエリア 2 先頭アドレスレジスタ HIGHU-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0

    — — — — — — — —bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    W2ADR23 W2ADR22 W2ADR21 W2ADR20 W2ADR19 W2ADR18 W2ADR17 W2ADR16bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-8 未実装 :「0」として読み出しbit 7-0 W2ADR: GPU ワークエリア 2 先頭アドレス高位ビット

    ワークエリアの先頭アドレスはメモリ内の偶数バイトアドレスに配置する必要があります。

    DS39731A_JP - p. 43-14 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    レジスタ 43-13:G1PUW: GPU ワークエリア幅レジスタU-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0

    — — — — — PUW10 PUW9 PUW8bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    PUW7 PUW6 PUW5 PUW4 PUW3 PUW2 PUW1 PUW0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-11 未実装 :「0」として読み出しbit 10-0 PUW: GPU ワークエリア幅ビット ( 画素数 )

    レジスタ 43-14:G1PUH: GPU ワークエリア高さレジスタU-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0

    — — — — — PUH10 PUH9 PUH8bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    PUH7 PUH6 PUH5 PUH4 PUH3 PUH2 PUH1 PUH0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-11 未実装 :「0」として読み出しbit 10-0 PUH: GPU ワークエリア高さビット ( 画素数 )

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-15

  • PIC24F ファミリ リファレンス マニュアル

    レジスタ 43-15:G1DPADRL: ディスプレイ バッファ先頭アドレスレジスタ LOWR/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    DPADR15 DPADR14 DPADR13 DPADR12 DPADR11 DPADR10 DPADR9 DPADR8bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    DPADR7 DPADR6 DPADR5 DPADR4 DPADR3 DPADR2 DPADR1 DPADR0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-0 DPADR: ディスプレイ バッファ先頭アドレス低位ビットディスプレイ バッファの先頭アドレスはメモリ内の偶数バイトアドレスに配置する必要があります。

    レジスタ 43-16:G1DPADRH: ディスプレイ バッファ先頭アドレスレジスタ HIGHU-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0

    — — — — — — — —bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    DPADR23 DPADR22 DPADR21 DPADR20 DPADR19 DPADR18 DPADR17 DPADR16bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-8 未実装 :「0」として読み出しbit 7-0 DPADR: ディスプレイ バッファ先頭アドレス高位ビット

    ディスプレイ バッファの先頭アドレスはメモリ内の偶数バイトアドレスに配置する必要があります。

    DS39731A_JP - p. 43-16 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    レジスタ 43-17:G1DPW: ディスプレイ バッファ幅レジスタU-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0

    — — — — — DPW10 DPW9 DPW8bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    DPW7 DPW6 DPW5 DPW4 DPW3 DPW2 DPW1 DPW0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-11 未実装 :「0」として読み出しbit 10-0 DPW: ディスプレイ フレーム幅ビット ( 画素数 )

    レジスタ 43-18:G1DPH: ディスプレイ バッファ高さレジスタU-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0

    — — — — — DPH10 DPH9 DPH8bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    DPH7 DPH6 DPH5 DPH4 DPH3 DPH2 DPH1 DPH0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-11 未実装 :「0」として読み出しbit 10-0 DPH: ディスプレイ フレーム高さビット ( 画素数 )

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-17

  • PIC24F ファミリ リファレンス マニュアル

    レジスタ 43-19:G1DPWT: ディスプレイ全幅レジスタU-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0

    — — — — — DPWT10 DPWT9 DPWT8bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    DPWT7 DPWT6 DPWT5 DPWT4 DPWT3 DPWT2 DPWT1 DPWT0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-11 未実装 :「0」として読み出しbit 10-0 DPWT: ディスプレイ全幅ビット ( 画素数 )

    レジスタ 43-20:G1DPHT: ディスプレイ全高レジスタU-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0 R/W-0

    — — — — — DPHT10 DPHT9 DPHT8bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    DPHT7 DPHT6 DPHT5 DPHT4 DPHT3 DPHT2 DPHT1 DPHT0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-11 未実装 :「0」として読み出しbit 10-0 DPHT: ディスプレイ全高ビット ( 画素数 )

    DS39731A_JP - p. 43-18 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    レジスタ 43-21:G1ACTDA: アクティブ ディスプレイ領域レジスタR/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    ACTLINE7 ACTLINE6 ACTLINE5 ACTLINE4 ACTLINE3 ACTLINE2 ACTLINE1 ACTLINE0bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    ACTPIX7 ACTPIX6 ACTPIX5 ACTPIX4 ACTPIX3 ACTPIX2 ACTPIX1 ACTPIX0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-8 ACTLINE: 先頭アクティブライン ( 最初に表示するライン ) 以前のライン数ビット通常は ACTLINE = VENST (G1DBLCON) です。このレジスタを使用すると、アクティブラインのタイミングを柔軟に設定できます。TFT モード (DPMODE ビット (G1CON2) = 001) での最小値は 2、STN モード (DPMODE ビット (G1CON2) = 010、011、100) での 最小値は 「0」です。

    bit 7-0 ACTPIX: 先頭アクティブ画素 ( 最初に表示する画素 ) 以前の画素数ビット (DISPCLK サイクル数で指定 )通常は ACTPIX = HENST (G1DBLCON) です。このレジスタを使用すると、アクティブ画素のタイミングを柔軟に設定できます。この値は DISPCLK サイクル数として処理される事に注意してください。この値は DPGWDTH (G1CON2) によって決まります。詳細は図 43-12 を参照してください。

    レジスタ 43-22:G1HSYNC: 水平同期制御レジスタR/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    HSLEN7 HSLEN6 HSLEN5 HSLEN4 HSLEN3 HSLEN2 HSLEN1 HSLEN0bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    HSST7 HSST6 HSST5 HSST4 HSST3 HSST2 HSST1 HSST0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-8 HSLEN: HSYNC パルス幅コンフィグレーション ビット (DISPCLK サイクル数で指定 ) HSYNC 信号を出力するには、DPHSOE (G1CON3) をセットする必要があります。最小値 は 「1」です。

    bit 7-0 HSST: HSYNC 開始遅延コンフィグレーション ビット (DISPCLK サイクル数で指定 )この値は水平ブランキング開始から HSYNC がアクティブになるまでの DISPCLK サイクル数です。

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-19

  • PIC24F ファミリ リファレンス マニュアル

    レジスタ 43-23:G1VSYNC: 垂直同期制御レジスタR/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    VSLEN7 VSLEN6 VSLEN5 VSLEN4 VSLEN3 VSLEN2 VSLEN1 VSLEN0bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    VSST7 VSST6 VSST5 VSST4 VSST3 VSST2 VSST1 VSST0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-8 VSLEN: VSYNC パルス幅コンフィグレーション ビット ( ライン数で指定 )VSYNC 信号を出力するには、DPVSOE (G1CON3) をセットする必要があります。最小値は 「1」です。

    bit 7-0 VSST: VSYNC 開始遅延コンフィグレーション ビット ( ライン数で指定 )この値は、垂直ブランキング開始から VSYNC がアクティブになるまでのライン数です。

    レジスタ 43-24:G1DBLCON: ディスプレイ ブランキング制御レジスタR/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    VENST7 VENST6 VENST5 VENST4 VENST3 VENST2 VENST1 VENST0bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    HENST7 HENST6 HENST5 HENST4 HENST3 HENST2 HENST1 HENST0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-8 VENST: 垂直ブランキング開始から先頭表示ラインまでのライン数コンフィグレーション ビット

    この値は、垂直ブランキング開始からフレームの最初の表示ラインまでのライン数です。

    bit 7-0 HENST: 水平ブランキング開始から先頭表示画素までの DISPCLK サイクル数コンフィグレーション ビットこの値は、水平ブランキング開始から各表示ラインの最初の表示画素までの DISPCLK サイクル数です。

    DS39731A_JP - p. 43-20 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    レジスタ 43-25:G1CLUT: 色変換ルックアップ テーブル制御レジスタR/W-0 R-0 U-0 U-0 U-0 U-0 R/W-0 R/W-0

    CLUTEN CLUTBUSY — — — — CLUTTRD CLUTRWENbit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    CLUTADR7 CLUTADR6 CLUTADR5 CLUTADR4 CLUTADR3 CLUTADR2 CLUTADR1 CLUTADR0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15 CLUTEN: 色変換ルックアップ テーブル (CLUT) イネーブル制御ビット1 = 色変換ルックアップ テーブルは有効0 = 色変換ルックアップ テーブルは無効

    bit 14 CLUTBUSY: 色変換ルックアップ テーブル ビジー ステータスビット1 = CLUT エントリに読み書きアクセスしている0 = CLUT エントリに読み書きアクセスしていない

    bit 13-10 未実装 :「0」として読み出しbit 9 CLUTTRD: 色変換ルックアップ テーブル読み出しトリガビット

    CLUTRWEN が有効な場合、このビットをセットすると CLUTADR ビット (G1CLUT) で設定した CLUT アドレスへの読み出しアクセスがトリガされます。1 = CLUT 読み出しトリガは有効 (G1CLUTRD レジスタ内のデータを読み出した後に、このビットを

    ソフトウェアでクリアする必要があります )0 = CLUT 読み出しトリガは無効

    bit 8 CLUTRWEN: 色変換ルックアップ テーブル読み書きイネーブル制御ビットこのビットは、CLUT 内のエントリを読み書きする時にセットし、ディスプレイ コントローラがCLUT を使用する時にクリアする必要があります。詳細はセクション 43.3.4.1「CLUT エントリの読み書き」を参照してください。1 = 色変換ルックアップ テーブルの読み書きは有効 (ディスプレイ コントローラはCLUTへアクセスできません )0 = 色変換ルックアップ テーブルの読み書きは無効 (ディスプレイ コントローラはCLUTへアクセスできます )

    bit 7-0 CLUTADR: 色変換ルックアップ テーブル メモリアドレス ビット

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-21

  • PIC24F ファミリ リファレンス マニュアル

    レジスタ 43-26:G1CLUTWR: CLUT メモリ書き込みデータレジスタR/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    CLUTWR15 CLUTWR14 CLUTWR13 CLUTWR12 CLUTWR11 CLUTWR10 CLUTWR9 CLUTWR8bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    CLUTWR7 CLUTWR6 CLUTWR5 CLUTWR4 CLUTWR3 CLUTWR2 CLUTWR1 CLUTWR0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-0 CLUTWR: 色変換ルックアップ テーブル メモリ書き込みデータビットこのレジスタに 1 ワードまたは上位バイトを書き込むと、CLUTADR ビットで設定したアドレスのCLUT メモリへデータが書き込まれます。このレジスタに下位バイトだけを書き込んだ場合、G1CLUTWR ビットの内容は更新されますが、CLUT メモリにデータは書き込まれません。ディスプレイのパワーアップおよびパワーダウン時には、直前にこのレジスタに書き込まれたデータを使用して GPWR 信号のタイミングが制御されます。詳細はセクション 43.7「ディスプレイ電源シーケンシング」を参照してください。

    レジスタ 43-27:G1CLUTRD: CLUT メモリ読み出しデータレジスタR-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0

    CLUTRD15 CLUTRD14 CLUTRD13 CLUTRD12 CLUTRD11 CLUTRD10 CLUTRD9 CLUTRD8bit 15 bit 8

    R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0

    CLUTRD7 CLUTRD6 CLUTRD5 CLUTRD4 CLUTRD3 CLUTRD2 CLUTRD1 CLUTRD0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-0 CLUTRD: 色変換ルックアップ テーブル メモリ読み出しデータビットこのレジスタは、CLUTADR (G1CLUT) ビットで設定したアドレスの CLUT メモリから直前に読み出したデータを格納します。CLUT メモリの読み出しは、CLUTTRD (G1CLUT) ビットが「0」から「1」に変化した時にトリガされます。

    DS39731A_JP - p. 43-22 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    レジスタ 43-28:G1MRGN: 割り込み先行レジスタR/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    VBAMGN7 VBAMGN6 VBAMGN5 VBAMGN4 VBAMGN3 VBAMGN2 VBAMGN1 VBAMGN0bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    HBAMGN7 HBAMGN6 HBAMGN5 HBAMGN4 HBAMGN3 HBAMGN2 HBAMGN1 HBAMGN0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-8 VBAMGN: 垂直ブランキング先行ビットこのビットでは、垂直ブランキング割り込みの生成を垂直ブランキング開始よりどれだけ先行させるのかを DISPCLK サイクル数で指定します。

    bit 7-0 HBAMGN: 水平ブランキング先行ビットこのビットでは、水平ブランキング割り込みの生成を水平ブランキング開始よりどれだけ先行させるのかを DISPCLK サイクル数で指定します。

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-23

  • PIC24F ファミリ リファレンス マニュアル

    レジスタ 43-29:G1CHRX: 印字位置 X 座標レジスタU-0 U-0 U-0 U-0 U-0 R-0 R-0 R-0

    — — — — — CURPOSX10 CURPOSX9 CURPOSX8bit 15 bit 8

    R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0

    CURPOSX7 CURPOSX6 CURPOSX5 CURPOSX4 CURPOSX3 CURPOSX2 CURPOSX1 CURPOSX0bit 7 bit 0

    凡例 :R = 読み出し可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-11 未実装 :「0」として読み出しbit 10-0 CURPOSX: 現在の文字位置 X 座標ビット

    レジスタ 43-30:G1CHRY: 印字位置 Y 座標レジスタU-0 U-0 U-0 U-0 U-0 R-0 R-0 R-0

    — — — — — CURPOSY10 CURPOSY9 CURPOSY8bit 15 bit 8

    R-0 R-0 R-0 R-0 R-0 R-0 R-0 R-0

    CURPOSY7 CURPOSY6 CURPOSY5 CURPOSY4 CURPOSY3 CURPOSY2 CURPOSY1 CURPOSY0bit 7 bit 0

    凡例 :R = 読み出し可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-11 未実装 :「0」として読み出しbit 10-0 CURPOSY: 現在の文字位置 Y 座標ビット

    DS39731A_JP - p. 43-24 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    レジスタ 43-31:G1IPU: 伸張プロセッサ ステータス レジスタU-0 U-0 U-0 U-0 U-0 U-0 U-0 U-0

    — — — — — — — —bit 15 bit 8

    U-0 U-0 R-0 R-0 R-0 R-0 R-0 R-0

    — — HUFFERR(2) BLCKERR(2) LENERR(2) WRAPERR(2) IPUDONE(1,2) BFINAL(1,2)

    bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-6 未実装 :「0」として読み出しbit 5 HUFFERR: 未定義ハフマン符号遭遇ステータスビット (2)

    1 = 未定義符号に遭遇した0 = 未定義符号には遭遇していない

    bit 4 BLCKERR: 未定義ブロックコード遭遇ステータスビット (2)

    1 = 未定義ブロックに遭遇した0 = 未定義ブロックには遭遇していない

    bit 3 LENERR: ブロック長不一致ステータスビット (2)

    1 = ブロック長の不一致を検出した0 = ブロック長の不一致は検出していない

    bit 2 WRAPERR: 折り返しエラー ステータスビット (2)

    1 = 折り返しエラーに遭遇した0 = 折り返しエラーには遭遇していない

    bit 1 IPUDONE: IPU 伸張ステータスビット (1,2)

    1 = 伸張した0 = まだ伸張していない

    bit 0 BFINAL: 最終ブロック遭遇ステータスビット (1,2)

    1 = 最終ブロックに遭遇した0 = 最終ブロックには遭遇していない

    Note 1: IPUDONE および BFINAL ステータスビットは、伸張に成功した後にセットされます。2: 全ての IPU ステータスビットは、毎回の伸張後のステータスを示します。伸張コマンド

    (IPU_DECOMPRESS) を実行するたびに全てのステータスビットが自動的にクリアされます。

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-25

  • PIC24F ファミリ リファレンス マニュアル

    レジスタ 43-32:G1DBEN: データ I/O ピン イネーブル レジスタR/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    GDBEN15 GDBEN14 GDBEN13 GDBEN12 GDBEN11 GDBEN10 GDBEN9 GDBEN8bit 15 bit 8

    R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0 R/W-0

    GDBEN7 GDBEN6 GDBEN5 GDBEN4 GDBEN3 GDBEN2 GDBEN1 GDBEN0bit 7 bit 0

    凡例 :R = 読み出し可能ビット W = 書き込み可能ビット U = 未実装ビット、「0」として読み出し

    -n = POR 時の値 1 = ビットをセット 0 = ビットをクリア x = ビットは未知

    bit 15-0 GDBEN: ディスプレイ データ出力ピン イネーブルビット1 = 対応するディスプレイデータ (GD) ピンは有効0 = 対応するディスプレイデータ (GD) ピンは無効DPPINOE (G1CON3) がセット状態である時、GDBEN を使用して特定データ信号の有効化 /無効化を行えます。

    DPPINOE GDBENx (x = 0 ~ 15)1 1 GDBENx に関連付けられたディスプレイ データ信号 (GD) は有効1 0 GDBENx に関連付けられたディスプレイ データ信号 (GD) は無効0 ドントケア GDBENx に関連付けられたディスプレイ データ信号 (GD) は有効

    DS39731A_JP - p. 43-26 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    43.3 動作以下では、グラフィック コントローラ モジュールの動作の概要を説明します。その後に、このモジュールがサポートする 3 種類のディスプレイ モードの実装例を示します。

    43.3.1 機能の概要グラフィック コントローラ モジュールは、モジュール レジスタを介してプロセッサからコマンドを受け取るコマンド インターフェイス、3 つのグラフィック処理ユニット (GPU)、ディスプレイ コントローラ、メモリ競合制御部により構成されます。

    ディスプレイ コントローラは指定されたディスプレイ バッファのデータを使用して表示を常時更新し、各種 GPU はメモリにアクセスします。ディスプレイ バッファと GPU のワークエリアは、同一メモリアドレスを共有するように設定できます。常に 1 つの GPU だけがアクティブになれます。全ての処理ユニットは 1 つの 16 段コマンド FIFO を共有するため、これらの処理ユニットをスケジューリングするための特別なソフトウェア ルーチンは不要です。

    ディスプレイ コントローラの各種パラメータは、使用するディスプレイの更新レート、解像度、色深度の仕様値に基づいて設定します。

    グラフィック コントローラ モジュールは下記の 3 つの GPU を備えます。• 矩形コピー グラフィック処理ユニット (RCCGPU) – この処理ユニットは指定色で塗りつぶした矩形を描画します。矩形のサブセットとして点、垂直線、水平線も描画できます。ラスタ処理と透明色を使用した処理による矩形のコピーや変更も可能です。

    • 文字グラフィック処理ユニット (CHRGPU) – この処理ユニットは文字列をレンダリングします。背景色および文字表示色の選択と領域マスキングの有効化 / 無効化が可能です。レンダリングには透明背景色も使用できます。

    • 伸張処理ユニット (IPU) – この処理ユニットは、メモリに保存された圧縮データを伸張します。データの圧縮にはロスレス DEFLATEアルゴリズム (RFC 1951 に準拠、固定ハフマン符号 ) を使用します。

    ディスプレイ コントローラは、パラレル RGB バスを備えた TFT ディスプレイ、モノクロ STNディスプレイ、カラーSTN ディスプレイをサポートします。STN ディスプレイには 16 レベルのディザ処理ユニットを使用します。TFT および STN ディスプレイには必要に応じて CLUTを利用できます。

    43.3.2 画素アドレッシングディスプレイ バッファ内の各画素のアドレッシングは色深度の設定によって異なります。図43-2 と図 43-3 に、色深度設定の異なる画素アドレッシング方法を示します。

    Note: DEFLATE – “Compressed Data Format Specification” version 1.3; May 1998,RFC 1951, IETF

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-27

  • PIC24F ファミリ リファレンス マニュアル

    図 43-2: 1 bpp および 2 bpp での画素アドレッシング

    図 43-3: 4/8/16 bpp での画素アドレッシング

    色深度 = 1 bpp、1 メモリ ワードアドレスは 16 画素に対応

    m = n × 16

    メモリ ワードアドレス

    MSb LSb

    DPADR + 0 15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0DPADR + 1 31 30 29 28 27 26 25 24 23 22 21 20 19 18 17 16DPADR + 2 47 46 45 44 43 42 41 40 39 38 37 36 35 34 33 32DPADR + 3 63 62 61 60 59 58 57 56 55 54 53 52 51 50 49 48

    ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ... ...DPADR + n m + 15 m + 14 m + 13 m + 12 m + 11 m + 10 m + 9 m + 8 m + 7 m + 6 m + 5 m + 4 m + 3 m + 2 m + 1 m + 0

    色深度 = 2 bpp、1 メモリワード アドレスは 8 画素に対応

    メモリワード

    アドレスMSb LSb

    DPADR + 0 7 6 5 4 3 2 1 0DPADR + 1 15 14 13 12 11 10 9 8DPADR + 2 23 22 21 20 19 18 17 16DPADR + 3 31 30 29 28 27 26 25 24

    ... ... ... ... ... ... ... ... ...DPADR + n m + 7 m + 6 m + 5 m + 4 m + 3 m + 2 m + 1 m + 0

    m = n × 8

    色深度 = 4 bpp、1 メモリワード アドレスは 4 画素に対応

    メモリワード

    アドレス MSb LSb

    DPADR + 0 3 2 1 0DPADR + 1 7 6 5 4

    ... ... ... ... ...DPADR + n m + 3 m + 2 m + 1 m

    m = n × 4

    色深度 = 8 bpp、1 メモリワード アドレスは 2 画素に対応

    メモリワード

    アドレス MSb LSb

    DPADR + 0 1 0DPADR + 1 3 2

    ... ... ...DPADR + n m + 2 M

    m = n ×2

    色深度 = 16 bpp、1 メモリワード アドレスは 1 画素に対応

    メモリワード

    アドレス MSb LSb

    DPADR + 0 0DPADR + 1 1

    ... ...DPADR + n n

    DS39731A_JP - p. 43-28 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    GPU はコマンドを処理し、PUBPP (G1CON1) の色深度設定を使用してディスプレイ バッファに書き込みます。ディスプレイ コントローラは、DPBPP (G1CON2) の色深度設定を使用してディスプレイ バッファを読み出します。ここで重要なのは、GPU が使用する色深度 (PUBPP) とデータ表示に使用する色深度 (DPBPP) を一致させる必要があるという事です。アプリケーションによっては、ソフトウェアでレンダリングした画像を異なる色設定を使用して別のメモリ内で処理する場合があります。このようにソフトウェア処理された画像を表示するには、使用する色深度に合わせて DPBPP を設定し、ディスプレイ バッファアドレス (DPADR) をその画像のアドレスへ切り換えるか、あるいはその画像データを現在のDPADR アドレスへコピーする必要があります。

    43.3.3 画像座標と画素アドレスの関係画像をディスプレイ バッファにコピーするには 2 つの方法があります (GPU を使用するか、ソフトウェアによる手動コピー )。いずれの方法でも、画像の画素座標とディスプレイ バッファ内の画素アドレス間の対応付けは、色深度設定とディスプレイ バッファの「メモリピッチ」によって決まります。メモリピッチとは、ディスプレイ バッファ内のある画素のアドレスから次行の同一列の画素までのバイトアドレス数 ( オフセット ) として定義されます。式 43-1 に、ディスプレイ バッファのメモリピッチの計算式を示します。

    式 43-1:

    図 43-4: 画像画素のアドレッシング例

    メモリピッチ = ( ディスプレイ幅 × 色深度 )/8

    Note: グラフィック コントローラ モジュールは 16 の倍数画素のディスプレイ幅をサポートします。サポートされる最小ディスプレイ幅は 32 画素です。16 ビット インターフェイスを備えた MSTN ディスプレイの場合、サポートされる最小ディスプレイ幅は 48 画素です。

    Example:64x24 Display with 1 bpp Color Depth

    X

    Y

    MSb

    P0 P1 P2 P3

    LSb

    DPADR + 0

    Memory Word Address

    P64 P65 P66 P67DPADR + 8P128 P129 P130 P131DPADR + 16

    ... ... ... ......P320 P321 P322 P323DPADR + 40P384 P385 P386 P387DPADR + 48

    P4 ... P59 P60P68 ... P123 P124P132 ... P187 P188

    ... ... ... ...P324 ... P379 P380P388 ... P443 P444

    P61 P62 P63P125 P126 P127P189 P190 P191

    ... ... ...P381 P382 P383P445 P446 P447

    P448 P449 P450 P451DPADR + 56P512 P513 P514 P515DPADR + 64P576 P577 P578 P579DPADR + 72P640 P641 P642 P643DPADR + 80

    ... ... ... ......

    P452 ... P507 P508P516 ... P571 P572P580 ... P635 P636P644 ... P699 P670

    ... ... ... ...

    P509 P510 P511P573 P574 P575P637 P638 P639P671 P672 P673

    ... ... ...P1408 P1409 P1410 P1411DPADR + 176P1472 P1473 P1474 P1475DPADR + 184

    P1412 ... P1467 P1468P1476 ... P1531 P1532

    P1469 P1470 P1471P1533 P1534 P1535

    Memory Pitch

    59

    17

    A 59x17 image can be manually copied in the display buffer by calculating the pixel address of the upper left corner of the image pixel placed at pixel location, P386. where:

    DPADR is the display buffer start address

    0 1 2 3 4 ... 59 60 61 62 63012...56789

    10...2223

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-29

  • PIC24F ファミリ リファレンス マニュアル

    図 43-4 に、DPADR を先頭アドレスとするディスプレイ バッファに 64x24 画素のディスプレイを初期化した例を示します。この場合のメモリピッチは (64×1)/8 = 8 です。59 x17 画素の画像をディスプレイ バッファ内のP386 (2,6)にコピーする場合、 ディスプレイ バッファの先頭アドレスから P386 までの画素アドレス オフセットは式 43-2 により求まります。

    式 43-2:

    上式に値を代入すると、オフセット値として (8×6) + (2/8) = 48 が得られます ( 結果の小数部は無視、小数部は 1 bpp での座標 (2,6) 画素のビット位置を決定します )。従って、ディスプレイバッファにコピーした画像の左上隅画素のアドレスは DPADR + 48 です。

    m× n ディスプレイ( mは16の倍数 )の画素アドレスの計算方法を図43-5に示します。 例として m= 320、n = 240 のディスプレイを想定します。画像の左上隅の画素を X = 3/Y = 3 に配置する場合、その相対画素アドレスは、表の X = 3/Y = 3 セル内の式を使用して計算できます。m = 320 の場合、(320 × 3) + 3 = 963 が求まります。この値から、画素アドレス オフセットは式 43-3 により計算できます。

    式 43-3:

    色深度を 4 bpp に設定した場合、この画素のアドレスは DPADR + (963×4/8) と計算でき、この場合も小数部を無視するため、DPADR + 481 として求まります。

    図 43-5: X,Y 座標と画素アドレスの対応表

    画素アドレス オフセット = ( メモリピッチ × Y 座標値 ) + (X 座標値 × 色深度 /8)

    画素アドレス オフセット = 相対画素アドレス × 色深度 /8

    X

    0 1 2 3 ... m – 3 m – 2 m – 10 0 1 2 3 ... m – 3 m – 2 m – 1

    1 m m + 1 m + 2 m + 3 ... m + (m – 3) m + (m – 2) m + (m – 1)

    2 m*2 (m * 2) + 1 (m * 2) + 2 (m * 2) + 3 ... (m * 2) + (m – 3) (m * 2) + (m – 2) (m * 2) + (m – 1)

    3 m*3 (m * 3) + 1 (m * 3) + 2 (m * 3) + 3 ... (m * 3) + (m – 3) (m * 3) + (m – 2) (m * 3) + (m – 1)

    ... ... ... ... ... ... ... ... ...

    n – 3 m*(n – 3) (m * (n – 3)) + 1 (m * (n – 3)) + 2 (m * (n – 3)) + 3 ... (m * (n – 3)) + (m – 3) (m * (n – 3)) + (m – 2) (m * (n – 3)) + (m – 1)

    n – 2 m*(n – 2) (m * (n – 2)) + 1 (m * (n – 2)) + 2 (m * (n – 2)) + 3 ... (m * (n – 2)) + (m – 3) (m * (n – 2)) + (m – 2) (m * (n – 2)) + (m – 1)

    n – 1 m*(n – 1) (m * (n – 1)) + 1 (m * (n – 1)) + 2 (m * (n – 1)) + 3 ... (m * (n – 1)) + (m – 3) (m * (n – 1)) + (m – 2) (m * (n – 1)) + (m – 1)

    画像の座標と画素アドレスの関係

    Y

    m = ディスプレイ幅 ( 画素数 )n = ディスプレイ高 ( 画素数 )

    DS39731A_JP - p. 43-30 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    43.3.4 色変換ルックアップ テーブル (CLUT)ディスプレイ コントローラでは、メモリ内のディスプレイ バッファから画素を表示する際に、必要に応じて内蔵の 256 エントリ色変換ルックアッ テーブル (CLUT) を使用できます。CLUTを有効にした場合、ディスプレイ バッファ内の各画素のデータは CLUT の色インデックスとして使用されます。色インデックスは、その画素の表示に使用する色値を格納した CLUT エントリのアドレスを指します。CLUT のエントリ数はディスプレイの色深度 (DPBPP) 設定によって決まります。表 43-1 に、DPBPP の設定と CLUT エントリ数の関係を示します。

    エントリは必ずインデックス 0 から始まり、インデックス n-1 で終わります。DPBPP を 2 bppに設定した場合、CLUT の有効エントリ数は 4 です。これらのエントリは 0 ~ 3 のインデックスに割り当てられます。

    TFT および CSTN 型ディスプレイの場合、DPBPP の設定やディスプレイ インターフェイス内のビット数に関係なく、CLUT の各エントリは常に 16 ビット幅です。MSTN 型ディスプレイの場合、各エントリは常に 4 ビット幅 (16 階調 ) です。

    CLUT 出力は、DPGWDTH (G1CON2) ビットで設定したディスプレイ データバス幅を使用し、PMODE (G1CON2) ビットで設定したディスプレイ タイプに応じたディスプレイピンへ割り当てられます。色データの割り当てはセクション 43.3.6「RGB マッピング」を参照してください。

    CLUT エントリはモジュールのリセット時に初期化されず、リセット前の値の保持も保証されません。従って、アプリケーションは CLUT の使用を開始する前に内容を書き込む必要があります。

    表 43-1: ディスプレイ色深度 (bpp) 設定と CLUT エントリ数の関係DPBPP CLUT エントリ数 (n)

    1 22 44 168 25616 256

    Note: DPBPP を 16 bpp に設定した場合、画素データの下位 8 ビットだけが CLUT の色インデックスとして使用され、画素データの上位 8 ビットは無視されます。この場合、ディスプレイ バッファに消費するメモリ量が増えるだけで、画像のクオリティは改善されません。従って、ディスプレイ バッファに 16 bpp データを格納する場合、CLUT を無効にする事を推奨します。CLUT は 256 エントリの内蔵テーブルを使用します。このテーブルはシステムメモリには割り当てられず、アクセスには CLUT を制御する特殊コンフィグレーション レジスタ (SFR) を使用します。

    表 43-2: CLUT からのカラー (RGB) およびモノクロ ( 輝度 ) 出力

    出力タイプ

    15 14 13 12 11 10 9 8 7 6 5 4 3 2 1 0

    RGB R4 R3 R2 R1 R0 G5 G4 G3 G2 G1 G0 B4 B3 B2 B1 B0

    輝度 使用せず M3 M2 M1 M0

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-31

  • PIC24F ファミリ リファレンス マニュアル

    43.3.4.1 CLUT エントリの読み書きソフトウェアで CLUT エントリを読み書きするには、CPU から CLUT へのアクセスを有効にする必要があります。CLUT を CPU からのアクセス向けに設定した場合、ディスプレイ コントローラは CLUT エントリにアクセスできなくなります。このため、表示の障害を避けるために、CLUT の読み書き操作は同期期間中に実行する必要があります。TFT モードの場合、CLUTの操作を行うには垂直および水平ブランキング期間中が最適です。この期間中、画面は更新されません。しかし STN モードでは画面は常時更新されます。この場合、CLUT の内容を操作する際にディスプレイ画面を OFF にする事により障害を回避できます。CLUT エントリを読み書きする際は下記の手順を守る必要があります。

    CLUT にエントリを書き込む場合

    1. CLUTADR (G1CLUT) ビットをセットします。2. CLUTRWEN (G1CLUT) ビットをセットします。3. データを G1CLUTWR レジスタに書き込みます。4. CLUTBUSY (G1CLUT) ステータスビットを読み出して確認します。このビットが

    「0」であればデータは正常に書き込まれた事を意味し、「1」であればビットがクリアされるまでステータスを読み出し続けます。

    5. 次のデータを書き込むには、手順 1 へ戻ります。6. 全てのデータを書き込んだ後に、CLUTRWEN をクリアします。CLUT からエントリを読み出す場合

    1. CLUTADR ビットをセットします。2. CLUTRWEN ビットをセットします。3. CLUTTRD ビットをセットして CLUT からのデータフェッチを開始します。4. CLUTTRD ビットをクリアします。5. CLUTBUSY ステータスビットを読み出して確認します。このビットが「0」であればデー

    タはレディ状態である事を意味し、「1」の場合このビットがクリアされるまでステータスを読み出し続けます。

    6. G1CLUTRD レジスタからデータを読み出します。7. CLUT から次のデータを読み出すには、手順 1 へ戻ります。8. 全てのデータを読み出した後に、CLUTRWEN をクリアします。CLUT エントリの読み書きを終えた後に、ディスプレイ コントローラが CLUT エントリへアクセスできるようにするために、CLUTRWEN をクリアする事が重要です。

    43.3.5 ディザ処理MSTN および CSTN モードでは、ディザ処理が常に有効です。

    DS39731A_JP - p. 43-32 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    43.3.6 RGB マッピングCLUT を使用しない TFT モードでは、メモリ内の画素値は表 43-3 のように 16 ビット RGB データバス インターフェイスへ割り当てられます。

    CLUT を有効にした場合もこの割り当ては同じですが、生成色は画素値に対応する CLUT インデックスに割り当てられた色データによって決まります。例として 1 bpp モードでインデックス 0 に「白」の値を設定し、インデックス 1 に「黒」の値を設定した場合、CLUT を有効にすると画面に表示される画像の白と黒が反転します。

    CSTNおよびMSTNモードでは、この割り当てはSTNディスプレイのデータバス幅と出力データのタイミング シーケンスによって異なります。詳細はセクション 43.4.2「STN ディスプレイ インターフェイス」を参照してください。

    表 43-3: TFT モードにおけるメモリ画素値の RGB データバスへの割り当て

    色 メモリ値 RedGD

    GreenGD

    BlueGD

    1 bppBlack 0 00000 000000 00000

    White 1 11111 111111 11111

    2 bppBlack 00 00000 000000 00000

    Dark Gray 01 01000 010000 01000

    Light Gray 10 11000 110000 11000

    White 11 11111 111111 11111

    4 bppBlack 0000 00000 000000 00000

    Dark Blue 0001 00000 000000 10000

    Dark Red 0010 10000 000000 00000

    Dark Magenta 0011 10000 000000 10000

    Dark Green 0100 00000 100000 00000

    Dark Cyan 0101 00000 100000 10000

    Dark Yellow 0110 10000 100000 00000

    Gray 0111 10000 100000 10000

    Black 1000 00000 000000 00000

    Blue 1001 00000 000000 11111

    Red 1010 11111 000000 00000

    Magenta 1011 11111 000000 11111

    Green 1100 00000 111111 00000

    Cyan 1101 00000 111111 11111

    Yellow 1110 11111 111111 00000

    White 1111 11111 111111 11111

    8 bppD D D D

    16 bppD D D D

    © 2009 Microchip Technology Inc. DS39731A_JP - p. 43-33

  • PIC24F ファミリ リファレンス マニュアル

    43.4 ディスプレイ コントローラディスプレイ コントローラは、ディスプレイ バッファから連続的にデータを読み出し、ディスプレイの仕様に合わせて設定されたディスプレイ クロック、垂直 / 水平同期信号、イネーブル信号を使用して、読み出したデータをディスプレイへ出力します。同期信号タイミング、信号極性、フレームレートはディスプレイの仕様によって決まります。ディスプレイ コントローラの各種レジスタには、これらの仕様を満たすように適切な値を設定する必要があります。TFT型と STN 型のディスプレイ (DPMODE で設定 ) では信号の生成方式が異なります。以下では、ディスプレイのタイプ別に例を示しながらレジスタの設定方法を説明します。

    43.4.1 TFT ディスプレイ インターフェイスTFT ディスプレイのアクティブ フレームの生成に使用する代表的なタイミング パラメータを図 43-6 に示します。

    図 43-6: TFT ディスプレイのアクティブ フレーム生成タイミング

    Active Pixels

    GEN

    HSYNC

    VSYNC GEN 9

    5

    1

    3

    6

    7

    2

    1.HSST2.HSLEN3.Horizontal Back Porch4.Horizontal Front Porch5.HENST6.DPW7.DPWT or

    Horizontal Period8.ACTPIX

    9.VSST10.VSLEN11.Vertical Back Porch12.Vertical Front Porch13.VENST14.DPH15.DPHT or

    Vertical Period16.ACTLINE

    4

    8

    1011

    12

    13

    1415

    16Vertical Blanking

    Vertical Blanking

    Hor

    izon

    tal B

    lank

    ing

    Hor

    izon

    tal B

    lank

    ing

    Vertical Blanking

    Hor

    izon

    tal B

    lank

    ing

    DS39731A_JP - p. 43-34 © 2009 Microchip Technology Inc.

  • © 2009 M

    icrochip Technology Inc.D

    S39731A

    _JP - p. 43-35

    セク

    ショ

    ン43. グ

    ラフ

    ィッ

    ク コ

    ント

    ロー

    ラ モ

    ジュ

    ール

    (GFX)

    cal Blanking

    P(0) P(1) P(2) P(3)

    Vertical Back Porch

    Horizontal Back Porch

    Where:h = DPHw = DPWL = Line DataP = Pixel Data

    グラフィックコントローラ

    モジュール(GFX)

    43

    図 43-7 に信号の詳細なタイミングを示します。

    43-7: TFT ディスプレイのタイミング シーケンス

    VSST

    HSYNC

    VSYNC

    GEN

    GD Verti

    HSYNC

    GEN

    GD P(0) P(1) P(2) P(3) P(4) P(8) ... P(w-3)P(w-2)P(w-1)

    GCLK

    L(1) ... L(h-2) L(h-1)

    VSLEN

    DPH

    DPHT

    Vertical Front Porch

    HorizontalFront PorchHSLEN

    HSST DPWT

    L(2)

    HENST

    L(0)

    Vertical Back Porch

    VENST

    Vertical Blanking

    P(5) P(6) P(7)

    DPW

    Horizontal Back Porch

    Horizontal BlankingHorizontal Blanking

  • PIC24F ファミリ リファレンス マニュアル

    フレームレートはディスプレイの全幅と全高から計算できます。全幅 / 全高は水平周期 / 垂直周期とも呼ばれます。

    式 43-4:

    水平および垂直周期はディスプレイの仕様から下式により求まります。

    式 43-5:

    式 43-6:

    表 43-4 に、各種ディスプレイ信号に関連するディスプレイ コントローラのパラメータを示します。

    垂直方向および水平方向のパラメータは、それぞれ垂直カウンタ (0 ~ DPHT – 1 でループ ) と水平カウンタ (0 ~ DPWT – 1 でループ ) に基づきます。従って、先頭ラインが先頭アクティブライン、先頭画素が先頭アクティブ 画素である場合、ACTPIX および ACTLINE パラメータは共に「0」に設定する必要があります。

    TFT ディスプレイの場合、ACTPIX と ACTLINE の値はディスプレイの仕様値 ( 同期パルス幅、フロントポーチ、バックポーチ ) によって決まります。一般的に、HENST / VENST の値はACTPIX / ACTLINE の値と同じです。2 組のパラメータが用意されているのは、設定の柔軟性を高めるためです。

    垂直および水平のフロンポーチとバックポーチが仕様書で指定されている場合、HSYNC およびVSYNC 信号のタイミング パラメータは下式により決まりす。式 43-7:

    式 43-8:

    ディスプレイは HSYNC および VSYNC 信号のタイミングに基づいてデータをサンプリングするため、これらの信号の GEN に対するタイミングとデータの内容はディスプレイの仕様を満たす必要があります。

    HSYNC 信号に対しては、HSLEN と水平バックポーチが規定されます。従って HSST は水平フロントポーチ以下に制限されます。

    式 43-9:

    式 43-10:

    同様に VSYNC 信号に対しては、VSLEN と垂直バックポーチが規定されます。従って VSST は垂直フロントポーチ以下に制限されます。

    式 43-11:

    式 43-12:

    表 43-4: ディスプレイ信号のタイミング制御パラメータ

    ディスプレイ信号 タイミング制御に使用するパラメータ

    HSYNC HSST, HSLENVSYNC VSST, VSLEN

    GEN HENST, VENST, DPWGD ACTPIX, ACTLINE

    フレームレート = GCLK 周波数 /(DPWT × DPHT)

    DPWT = DPW + HSLEN + 水平バックポーチ + 水平フロントポーチ

    DPHT = DPH + VSLEN + 垂直バックポーチ + 垂直フロントポーチ

    水平ブランキング = 水平フロントポーチ + HSLEN + 水平バックポーチ

    垂直ブランキング = 垂直フロントポーチ + HSLEN + 垂直バックポーチ

    HSST ≤ 水平フロントポーチ

    HENST = HSST + HSLEN + 水平バックポーチ

    VSST ≤ 垂直フロントポーチ

    VENST = VSST + VSLEN + 垂直バックポーチ

    DS39731A_JP - p. 43-36 © 2009 Microchip Technology Inc.

  • セクション 43. グラフィック コントローラ モジュール (GFX)グラフィック

    コントローラ

    モジュール

    (GFX)

    43

    ACTPIX と ACTLINE は、それぞれ HENST と VENST と同じ値に設定できます。水平および垂直ブランキング期間が規定される場合、上式を変形して各種パラメータに要求されるタイミングを計算します。アクティブ画素とアクティブラインのタイミングを調整する必要がある場合、ACTPIX と ACTLINE の設定値を変更します。

    表 43-5 に QVGA TFT ディスプレイの設定例を示します。このディスプレイの仕様書に基づくパラメータは下記の通りです。

    • ディスプレイ クロック周期 – 183 ns• 水平周期 – 280 クロック• 水平フロントポーチ – 10 クロック• 水平バックポーチ – 20 クロック• 水平同期パルス – 10 クロック• 垂直周期 – 326 クロック• 垂直フロントポーチ – 2 ライン• 垂直バックポーチ – 1 ライン• 垂直同期パルス – 3 ライン

    表 43-5: QVGA TFT ディスプレイの設定例

    パラメータ レジスタ レジスタビット 値 内容

    ディスプレイのタイプ G1CON2 DPMODE 001 TFT 型ディスプレイを使用する

    ディスプレイ データバスを有効にする

    G1DBEN GDBEN 0xFFFF ディスプレイは全ての 16 ビット データラインを使用するため、全てのデータパスピンを有効にする

    ディスプレイ データバス幅

    G1CON2 DPGWDTH x TFT モードでは無視 (TFT モードでは、データバス幅は常に 16 ビットとみなされます )

    ディスプレイ幅 G1DPW DPW 240 アクティブ フレーム幅

    ディスプレイ高 G1DPH DPH 320 アクティブ フレーム高さ

    ディスプレイ全幅 G1DPWT DPWT 280 ディスプレイの仕様書に基づく

    ディスプレイ全高 G1DPHT DPHT 326 ディスプレイの仕様書に基づくディスプレイ クロック サンプリング エッジ

    G1CON3 DPCLKPOL 0 ディスプレイは立ち下がりエッジでデータをサンプリングする

    データイネーブル信号の使用

    G1CON3 DPENOE 1 ディスプレイはデータイネーブル信号 (GEN)を使用する ( ディスプレイがこの信号を使用しない場合、DPENOE を「0」に設定して対応するピンを他の機能向けに解放します )

    データイネーブル信号のアクティブレベル

    G1CON3 DPENPOL 1 信号はアクティブ HIGH

    VSYNC 信号の使用 G1CON3 DPVSOE 1 VSYNC 信号の使用を有効にするHSYNC 信号の使用 G1CON3 DPHSOE 1 HSYNC 信号の使用を有効にする

    VSYNC 信号のアクティブレベル

    G1CON3 DPVSPOL 0 信号はアクティブ LOW

    HSYNC 信号のアクティブレベル

    G1CON3 DPHSPOL 0 信号はアクティブ LOW

    ア�