以下、図面を参照しながら、本発明の実施の形態について説明する。なお、同一の構成要素には同一の参照番号を付して、説明を省略する。
図1は、本発明の一実施形態に係るデータ転送回路を用いたシステムの概要を示す図である。本実施形態は、本発明を表示制御回路に適用したものである。
図1に示すように、このシステム1は、CPU2と、SDRAM(Synchoronous DRAM)3と、SDRAMコントローラ4と、本実施形態としての表示制御回路5と、LCDコントローラ6と、LCDパネル7とを具備する。
SDRAM3は、SDRAMコントローラ4に接続及び制御されており、その一部が表示領域(フレームメモリ領域)として利用され、他の一部が作業領域として利用される。
SDRAMコントローラ4は、CPUバスB1を介してCPU2に接続され、画像データバスB2を介して表示制御回路5及びLCDコントローラ6に接続されている。CPU2は、CPUバスB1及びSDRAMコントローラ4を介してSDRAM3にアクセス可能であり、表示制御回路5及びLCDコントローラ6は、画像データバスB2及びSDRAMコントローラ4を介してSDRAM3にアクセス可能である。
なお、CPUバスB1に、通信回路等が更に接続されても良い。
LCDコントローラ6は、SDRAM3のフレームメモリ領域内の画像データを、フレームレート(本実施形態においては、30fpsのインターレース方式とする)に応じたタイミングで読み出し、読み出した画像データに基づいて、LCDパネル7を駆動し、LCDパネル7に画像を表示させる。なお、SDRAM3のフレームメモリ領域は、固定であっても良いし、可変であっても良い。SDRAM3のフレームメモリ領域が可変である場合には、CPU2がフレームメモリ領域を特定する情報をLCDコントローラ6の設定レジスタ等に書き込むようにしても良い。
表示制御回路5は、SDRAM3内の画像データ転送を行う。
図2は、表示制御回路5の内部構成の概要を示す図である。図2に示すように、表示制御回路5は、レジスタ群11と、ステートマシン12と、RAM13と、DMA(Direct Memory Access)コントローラ14と、透過処理演算部15とを具備する。ステートマシン12は、順序回路と組合せ回路で構成可能である。なお、表示制御回路5を半導体集積回路として構成することとしても良い。
レジスタ群11は、CPU2からアクセス可能な複数のレジスタである。レジスタ群11は、CPU2のアドレス空間(例えば、I/Oアドレス空間等)にマッピングされることでCPU2からアクセス可能としても良いし、他の方法でCPU2からアクセス可能としても良い。本実施形態においては、レジスタ群11は、CPU2のアドレス空間にマッピングされているものとする。
図3は、レジスタ群11の一例を示す図である。図3においては、第1〜第5の5つの32ビットレジスタを示している。第1〜第5のレジスタは、アドレス0x00、0x04、0x08、0x0C、及び、0x10に、それぞれマッピングされている。第1〜第4のレジスタは、CPU2からリード/ライト可能であり、第5のレジスタは、CPU2からリード可能である。第1〜第5のレジスタの初期値は、0x0000である。
図4(a)は、第1のレジスタ(レジスタ名「ibitblt_INTSTAT」)のビットフィールドを示す図である。表示制御回路5は、後で説明するように、2つの系統の画像データ転送を並列に行うことが可能である。各系統は、1つ又はリンクされた複数のチャネル(テーブル(データ構造体)であり、後で説明する)で表される。第1のレジスタのビット0は、第1の系統の画像データ転送(以下、「BLT0」という)が完了したか否かを表す。BLT0が完了した場合には、ステートマシン12は、第1のレジスタのビット0に「1」を書き込む。CPU2は、第1のレジスタのビット0を読み出すことで、BLT0が完了したか否かを知ることができる。また、CPU2は、第1のレジスタのビット0に「1」を書き込むことで、第1のレジスタのビット0をクリアすることができる。さらに、BLT0が完了した場合には、ステートマシン12は、完了したBLT0の最後のチャネルのチャネル番号を、第1のレジスタのビット13−8に書き込む。CPU2は、第1のレジスタのビット13−8を読み出すことで、完了したBLT0の最後のチャネルのチャネル番号を知ることができる。
同様に、第1のレジスタのビット16は、第2の系統の画像データ転送(以下、「BLT1」という)が完了したか否かを表す。BLT1が完了した場合には、ステートマシン12は、第1のレジスタのビット16に「1」を書き込む。CPU2は、第1のレジスタのビット16を読み出すことで、BLT1が完了したか否かを知ることができる。また、CPU2は、第1のレジスタのビット16に「1」を書き込むことで、第1のレジスタのビット16をクリアすることができる。さらに、BLT1が完了した場合には、ステートマシン12は、完了したBLT1の最後のチャネルのチャネル番号を、第1のレジスタのビット29−24に書き込む。CPU2は、第1のレジスタのビット29−24を読み出すことで、完了したBLT1の最後のチャネルのチャネル番号を知ることができる。
図4(b)は、第2のレジスタ(レジスタ名「ibitblt_INTENB」)のビットフィールドを示す図である。第2のレジスタのビット0は、BLT0において割込み要因(後で説明する)が発生した場合に、ステートマシン12がCPU2に割込み信号を出力するか否かを設定するためのビットである。CPU2は、第2のレジスタのビット0に「1」を書き込むことで、BLT0において割込み要因が発生した場合に、ステートマシン12がCPU2に割込み信号を出力するように設定することができる。また、CPU2は、第2のレジスタのビット0に「0」を書き込むことで、BLT0において割込み要因が発生した場合に、ステートマシン12がCPU2に割込み信号を出力しないように設定することができる。
同様に、第2のレジスタのビット1は、BLT1において割込み要因が発生した場合に、ステートマシン12がCPU2に割込み信号を出力するか否かを設定するためのビットである。CPU2は、第2のレジスタのビット1に「1」を書き込むことで、BLT1において割込み要因が発生した場合に、ステートマシン12がCPU2に割込み信号を出力するように設定することができる。また、CPU2は、第2のレジスタのビット1に「0」を書き込むことで、BLT1において割込み要因が発生した場合に、ステートマシン12がCPU2に割込み信号を出力しないように設定することができる。
図5(a)は、第3のレジスタ(レジスタ名「ibitblt0_DMAENB」)のビットフィールドを示す図である。CPU2は、第3のレジスタのビット5−0に、BLT0の開始チャネル番号を書き込み、第3のレジスタのビット7に「1」を書き込むことで、BLT0を表示制御装置5に開始させることができる。ステートマシン12は、BLT0を開始すると、実行中のチャネル番号を第3のレジスタのビット5−0に書き込む。CPU2は、第3のレジスタのビット5−0を読み出すことで、BLT0のどのチャネルが実行されている最中であるかを知ることができる。
図5(b)は、第4のレジスタ(レジスタ名「ibitblt1_DMAENB」)のビットフィールドを示す図である。CPU2は、第4のレジスタのビット5−0に、BLT1の開始チャネル番号を書き込み、第4のレジスタのビット7に「1」を書き込むことで、BLT1を表示制御装置5に開始させることができる。ステートマシン12は、BLT1を開始すると、実行中のチャネル番号を第3のレジスタのビット5−0に書き込む。CPU2は、第4のレジスタのビット5−0を読み出すことで、BLT1のどのチャネルが実行されている最中であるかを知ることができる。
図5(c)は、第5のレジスタ(レジスタ名「ibitblt_TRGCNT」)のビットフィールドを示す図である。ステートマシン12は、BLT0、BLT1を実行するタイミングを図るため、種々のトリガ信号(例えば、タイマ回路からのタイマ信号、LCDコントローラ6からの垂直同期信号、水平同期信号等)の入力を受け付け、これらの信号をカウントすることができる。ステートマシン12は、BLT0の実行中のチャネルのトリガ信号のカウント値を第5のレジスタのビット15−0に書き込み、BLT1の実行中のチャネルのトリガ信号のカウント値を第5のレジスタのビット31−16に書き込む。CPU2は、これらのビットフィールドを読み出すことにより、BLT0、BLT1の実行されている最中のチャネルのトリガ信号のカウント値を知ることができる。
次に、チャネルについて説明する。先に触れたように、チャネルは、テーブル(データ構造体)であり、RAM13(図2参照)に格納される。本実施形態においては、RAM13は、最大64個のチャネルを格納可能であるものとする。なお、RAM13は、CPU2からリード/ライトアクセス可能である。RAM13は、CPU2のアドレス空間(例えば、I/Oアドレス空間等)にマッピングされることでCPU2からアクセス可能としても良いし、他の方法(例えば、レジスタ群11〜ステートマシン12経由等)でCPU2からアクセス可能としても良い。本実施形態においては、1つのチャネルは、32ビット×8ワードで構成されるものとする。
図6及び図7は、チャネルの第1〜第8のワードのビットフィールドを示す図である。
図6に示すように、第1のワードのビット23(名称「LINKEN」)は、当該チャネルに関する画像データ転送終了後に他のチャネルに関する画像データ転送を行うか否かを表すビットであり、このビットが「0」の場合には、当該チャネルに関する画像データ転送終了により、BLT0又はBLT1が完了となる。一方、このビットが「1」の場合には、第1のワードのビット21−16(名称「LINKCHN」)によって表されるチャネルに関する画像データ転送が引き続いて行われる。
第1のワードのビット13−12は、SDRAM3(図1参照)に格納されている画像データのフォーマットを表す。第1のワードのビット13−12が「0b11」の場合には、SDRAM3に格納されている画像データのフォーマットは、32bpp(bit per pixel)のARGB(αチャネル(αブレンド)付きRGB)フォーマットとなる。
図8(a)は、32bppのARGBフォーマットを示す図である。このフォーマットの場合、図8(a)に示すように、8ビット符号無し整数型(unsigned integer)のA(α値)、8ビットのR(赤)、8ビットのG(緑)、及び、8ビットのB(青)の計32ビットで1ピクセルが表される。このフォーマットの場合には、1ピクセルが処理単位となる。
再び図6を参照すると、第1のワードのビット13−12が「0b10」の場合には、SDRAM3に格納されている画像データのフォーマットは、32bppのAYCbCr(αチャネル付きYCbCr)フォーマットとなる。
図8(b)は、32bppのAYCbCrフォーマットを示す図である。このフォーマットの場合、図8(b)に示すように、8ビットのA(α値)、8ビットのCb又はCr、及び、8ビットのYの計24ビットで1ピクセルが表されるが、ワードアラインのため、AとCb又はCrとの間に未使用の8ビット領域を確保している。また、このフォーマットの場合には、2ピクセルが処理単位となる。
再び図6を参照すると、第1のワードのビット13−12が「0b01」の場合には、SDRAM3に格納されている画像データのフォーマットは、16bppのYCbCrフォーマットとなる。
図8(c)は、16bppのYCbCrフォーマットを示す図である。このフォーマットの場合、図8(c)に示すように、8ビットのCb又はCr、及び、8ビットのYの計16ビットで1ピクセルが表される。このフォーマットの場合には、2ピクセルが処理単位となる。
再び図6を参照すると、第1のワードのビット9−8(名称「MODE」)は、画像データ転送のモードを表す。第1のワードのビット9−8が「0b10」の場合には、後述する第7のワードに格納されている塗り潰しパターンデータ(Fill Pattern Data)で転送先の領域を塗り潰す(Fillする)。
また、第1のワードのビット9−8が「0b01」の場合には、転送元の画像データと転送先の画像データとに透過(Transparency)処理を行う。その場合には、DMAコントローラ14(図2参照)が、転送元の画像データ及び転送先の画像データをSDRAM3(図1参照)から読み出して透過処理演算部15(図2参照)に送り、透過処理演算部15が、
Rblended={(255−α)・Rforeground+α・Rbackground}/256 …(1)
Gblended={(255−α)・Gforeground+α・Gbackground}/256 …(2)
Bblended={(255−α)・Bforeground+α・Bbackground}/256 …(3)
の演算を行う。
ここで、αは、転送元の画素データのα値であり、Rforegroundは、転送元の画素データのR(赤)成分であり、Rbackgroundは、転送先の画素データのR(赤)成分であり、Rblendedは、転送先に書き込まれる画素データのR(赤)成分である。同様に、Gforegroundは、転送元の画素データのG(緑)成分であり、Gbackgroundは、転送先の画素データのG(緑)成分であり、Gblendedは、転送先に書き込まれる画素データのG(緑)成分であり、Bforegroundは、転送元の画素データのB(青)成分であり、Bbackgroundは、転送先の画素データのB(青)成分であり、Bblendedは、転送先に書き込まれる画素データのB(青)成分である。
従って、転送元の画素データのα値が0(0x00)の場合には、完全不透過(転送元の画素データそのまま)となり、転送元の画素データのα値が255(0xFF)の場合には、完全透過(転送先の画素データそのまま)となる。
再び図6を参照すると、第1のワードのビット9−8が「0b00」の場合には、転送元の画像データを転送先に単にコピー(Copy)する。
第1のワードのビット6−4(名称「TRGSRC」)は、当該チャネルに関する画像データ転送のタイミングを図るために選択するトリガ信号を表す。第1のワードのビット6−4が「0b101」の場合には、ステートマシン12は、外部信号入力ポートに入力される信号(例えば、タイマ信号等)の立ち上がりエッジ(Positive Edge)をカウントする。また、第1のワードのビット6−4が「0b100」の場合には、ステートマシン12は、外部信号入力ポートに入力される信号(例えば、タイマ信号等)の立ち下がりエッジ(Negative Edge)をカウントする。また、第1のワードのビット6−4が「0b011」の場合には、ステートマシン12は、水平同期信号(HSYNC)信号をカウントする。また、第1のワードのビット6−4が「0b010」の場合には、ステートマシン12は、偶数フィールド及び奇数フィールドの両方の垂直同期信号(VSYNC EVEN or ODD)信号をカウントする。また、第1のワードのビット6−4が「0b001」の場合には、ステートマシン12は、奇数フィールドの垂直同期信号(VSYNC ODD)信号をカウントする。また、第1のワードのビット6−4が「0b000」の場合には、ステートマシン12は、偶数フィールドの垂直同期信号(VSYNC EVEN)信号をカウントする。
図7を参照すると、第1のワードのビット1(名称「ADRCTRL」)は、転送元及び転送先アドレスを変化させる方向を表す。第1のワードのビット1が「1」の場合、転送元及び転送先アドレスはインクリメントされ、第1のワードのビット1が「0」の場合、転送元及び転送先アドレスはデクリメントされる。
第1のワードのビット0(名称「INTENB」)は、当該チャネルに関するデータ転送完了時に割込み要因を発生させるか否かを表す。ステートマシン12は、第1のワードのビット0が「1」の場合、当該チャネルに関するデータ転送完了時に割込み要因を発生させ、第1のワードのビット0が「0」の場合、当該チャネルに関するデータ転送完了時に割込み要因を発生させない。
第2のワードのビット15−0(名称「TRGCNT」)は、当該チャネルに関するデータ転送を開始する前にカウントすべきトリガ信号の数を表す。ステートマシン12は、第2のワードのビット15−0に設定された数と同数のトリガ信号をカウントした後に、当該チャネルに関するデータ転送をDMAコントローラ14に開始させる。
第3のワードのビット15−0(名称「WSIZE」)は、当該チャネルに関するデータ転送の水平方向のデータサイズを表し、第4のワードのビット15−0(名称「HSIZE」)は、当該チャネルに関するデータ転送の垂直方向のデータサイズを表す。第5のワードのビット15−0(名称「SROFFSIZE」)は、転送元の画像データのラインとラインとの間のオフセットを表し、第6のワードのビット15−0(名称「DSOFFSIZE」)は、転送先の画像データのラインとラインとの間のオフセットを表す。
第7のワードのビット31−0(名称「SRADR」)は、転送元の先頭アドレスを表す。なお、先に説明した第1のワードのビット9−8(名称「MODE」)の値が「0b10」(Fill)の場合には、第7のワードのビット31−0は、アドレスではなく、転送先を塗り潰すパターンデータ(Fill Pattern Data)として用いられる。
第8のワードのビット31−0(名称「DSADR」)は、転送先の先頭アドレスを表す。
次に、表示制御回路5の動作について、具体例を挙げて説明する。第1の具体例として、アイコンの点滅表示を行う場合について説明する。
まず、CPU2(又はCPUバスB1に接続された他の回路)が、SDRAM3(図1参照)内に画像データを書き込む。また、CPU2が、RAM13(図2参照)内にチャネルを書き込む。
図9は、SDRAM3内に書き込まれた画像データの例を示す図である。なお、SDRAM3は表示体ではなく記憶回路であり、SDRAM3内に書き込まれるのは画像データであるが、ここでは、理解の容易のため、画像データによって表される画像をSDRAM3内に示している。
また、ここでは、SDRAM3内のアドレスaddr0を先頭アドレスとする横サイズx0、縦サイズy0の矩形領域が表示領域(フレームメモリ領域)として設定されており、この矩形領域内の画像データに基づく画像が、LCDパネル7(図1参照)に表示されるものとする。
また、SDRAM3内のアドレスaddr2を先頭アドレスとする横サイズx1、縦サイズy1の矩形領域には、アイコン画像データが格納されている。しかし、この矩形領域は表示領域(フレームメモリ領域)ではないので、この矩形領域内のアイコン画像データに基づくアイコン画像がLCDパネル7に表示されることはない。なお、このアイコン画像データの背景(辺縁部)のα値は、「0xFF」であるものとし、アイコン画像データの前景(中央付近部)のα値は、「0x00」であるものとする。
図10及び図11は、RAM13内に書き込まれたチャネルの例を示す図である。
図10に示すように、チャネル0には、LINKENとして「1」が、LINKCHNとして「1」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x1」が、HSIZEとして「y1」が、SROFFSIZEとして「off2」が、DSOFFSIZEとして「off1」が、SRADRとして「addr3」が、DSADRとして「addr1」が、それぞれ格納されている。
ここで、「off1」は、図9に示すAとBとの和であり、「off2」は、図9に示すCとDとの和であり、「addr1」は、表示領域(フレームメモリ領域)内のアドレスである。
また、チャネル1には、LINKENとして「1」が、LINKCHNとして「0」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x1」が、HSIZEとして「y1」が、SROFFSIZEとして「off2」が、DSOFFSIZEとして「off1」が、SRADRとして「addr4」が、DSADRとして「addr1」が、それぞれ格納されている。
また、チャネル2には、LINKENとして「0」が、LINKCHNとして「0」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d0」が、WSIZEとして「x1」が、HSIZEとして「y1」が、SROFFSIZEとして「off1」が、DSOFFSIZEとして「off2」が、SRADRとして「addr1」が、DSADRとして「addr3」が、それぞれ格納されている。
また、チャネル3には、LINKENとして「0」が、LINKCHNとして「0」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d0」が、WSIZEとして「x1」が、HSIZEとして「y1」が、SROFFSIZEとして「off1」が、DSOFFSIZEとして「off2」が、SRADRとして「addr1」が、DSADRとして「addr4」が、それぞれ格納されている。
また、チャネル4には、LINKENとして「0」が、LINKCHNとして「0」が、FORMATとして「0b11」が、MODEとして「0b01」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d0」が、WSIZEとして「x1」が、HSIZEとして「y1」が、SROFFSIZEとして「off2」が、DSOFFSIZEとして「off2」が、SRADRとして「addr2」が、DSADRとして「addr3」が、それぞれ格納されている。
次に、CPU2は、レジスタ「ibitblt0_DMAENB」のビット5−0に「0d2」を、レジスタ「ibitblt0_DMAENB」のビット7に「1」を、レジスタ「ibitblt1_DMAENB」のビット5−0に「0d3」を、レジスタ「ibitblt1_DMAENB」のビット7に「1」を、それぞれ書き込む。なお、レジスタ「ibitblt0_DMAENB」のビット7及びレジスタ「ibitblt1_DMAENB」のビット7に「1」を書き込むことを、CPU2以外のタイマ回路等が行うようにしても良い。
これを受けて、ステートマシン12は、チャネル2に関する画像データ転送及びチャネル3に関する画像データ転送をDMAコントローラ14に並列して行わせる。チャネル2及びチャネル3のMODEは「0x00」(Copy)であるので、アドレスaddr1を先頭アドレスとする横サイズx1、縦サイズy1の矩形領域の画像データが、アドレスaddr3を先頭アドレスとする横サイズx1、縦サイズy1の矩形領域及びアドレスaddr4を先頭アドレスとする横サイズx1、縦サイズy1の矩形領域にコピーされる。
図12(a)は、チャネル2に関する画像データ転送及びチャネル3に関する画像データ転送終了後のSDRAM3を示す図である。
次に、CPU2は、レジスタ「ibitblt0_DMAENB」のビット5−0に「0d4」を、レジスタ「ibitblt0_DMAENB」のビット7に「1」を、それぞれ書き込む。
これを受けて、ステートマシン12は、チャネル4に関する画像データ転送をDMAコントローラ14に行わせる。チャネル4のMODEが「0x01」(Transparency)であるので、アドレスaddr2を先頭アドレスとする横サイズx1、縦サイズy1の矩形領域の画像データが、アドレスaddr3を先頭アドレスとする横サイズx1、縦サイズy1の矩形領域に透過(Transparency)コピーされる。
図12(b)は、チャネル4に関する画像データ転送終了後のSDRAM3を示す図である。
次に、CPU2は、レジスタ「ibitblt0_DMAENB」のビット5−0に「0d0」を、レジスタ「ibitblt0_DMAENB」のビット7に「1」を、それぞれ書き込む。
ステートマシン12は、チャネル0のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル0のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル0に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr3を先頭アドレスとする横サイズx1、縦サイズy1の矩形領域の画像データが、アドレスaddr1を先頭アドレスとする横サイズx1、縦サイズy1の矩形領域にコピーされる。
図13(a)は、チャネル0に関する画像データ転送後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル0のLINKENが「1」であり、LINKCHNが「1」であるので、チャネル1に関する処理を行う。ステートマシン12は、チャネル1のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル1に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr4を先頭アドレスとする横サイズx1、縦サイズy1の矩形領域の画像データが、アドレスaddr1を先頭アドレスとする横サイズx1、縦サイズy1の矩形領域にコピーされる。
図13(b)は、チャネル0に関する画像データ転送後のSDRAM3を示す図である。
ステートマシン12は、チャネル1のLINKENが「1」であり、LINKCHNが「0」であるので、チャネル0及びチャネル1に関する処理を繰り返し行う。これにより、アイコン画像の点滅表示が実現される。
このように、本実施形態によれば、CPU2がチャネルをRAM13に書き込むことで、表示制御回路5のデータ転送機能の拡張を容易に行うことができ、アイコンの点滅表示を容易に実現することができる。また、アイコンの点滅表示を行っている間(ステートマシン12が、チャネル0及びチャネル1に関する処理を繰り返し行っている間)には、CPU2は何らの処理も行う必要がないので、アイコンの点滅表示を行っている間のCPU2の負荷を軽減するとともに、システム1全体の消費電力を低減することが可能である。
また、本実施形態によれば、2つの系列の画像データの転送を並列して行うことが可能である。本例においては、チャネル2によって構成される1つの系列と、チャネル3によって構成されるもう1つの系列とを並列して行う場合について説明したが、各々の系列がリンクされた複数のチャネルによって構成されることとしても良い。また、本実施形態においては、2つの系列の画像データの転送を並列して行うように実装しているが、3つ以上の系列の画像データの転送を並列して行うように実装することも可能である。
なお、本実施形態においては、SDRAM3が、表示領域(フレームメモリ領域)及び作業領域の両方として利用されることとしているが、表示領域(フレームメモリ領域)として利用されるメモリと作業領域として利用されるメモリを別個に設けても良い。
次に、表示制御回路5の動作の第2の具体例として、ワイプ(Wipe)表示を行う場合について説明する。
まず、CPU2が、SDRAM3(図1参照)内に画像データを書き込むとともに、RAM13(図2参照)内にチャネルを書き込む。
図14は、SDRAM3内に書き込まれた画像データの例を示す図である。なお、SDRAM3は表示体ではなく記憶回路であり、SDRAM3内に書き込まれるのは画像データであるが、ここでは、理解の容易のため、画像データによって表される画像をSDRAM3内に示している。
また、ここでは、SDRAM3内のアドレスaddr10を先頭アドレスとする横サイズx2、縦サイズy2×12の矩形領域が表示領域(フレームメモリ領域)として設定されており、この矩形領域内の画像データに基づく画像が、LCDパネル7(図1参照)に表示されるものとする。本例では、表示領域には、網掛け画像データが書き込まれているものとする。なお、アドレスaddr10と表示領域内のアドレスaddr11との間の縦サイズ、アドレスaddr11と表示領域内のアドレスaddr12との間の縦サイズ、アドレスaddr12と表示領域内のアドレスaddr13との間の縦サイズ、アドレスaddr13と表示領域内のアドレスaddr14との間の縦サイズ、アドレスaddr14と表示領域内のアドレスaddr15との間の縦サイズ、アドレスaddr15と表示領域内のアドレスaddr16との間の縦サイズ、アドレスaddr16と表示領域内のアドレスaddr17との間の縦サイズ、アドレスaddr17と表示領域内のアドレスaddr18との間の縦サイズ、アドレスaddr18と表示領域内のアドレスaddr19との間の縦サイズ、アドレスaddr19と表示領域内のアドレスaddr20との間の縦サイズ、及び、アドレスaddr20と表示領域内のアドレスaddr21との間の縦サイズは、それぞれy2であるものとする。
また、SDRAM3内のアドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2×12の矩形領域には、画像データが格納されている。しかし、この矩形領域は表示領域(フレームメモリ領域)ではないので、この矩形領域内の画像データに基づく画像がLCDパネル7に表示されることはない。なお、アドレスaddr30とこの矩形領域内のアドレスaddr31との間の縦サイズ、アドレスaddr31とこの矩形領域内のアドレスaddr32との間の縦サイズ、アドレスaddr32とこの矩形領域内のアドレスaddr33との間の縦サイズ、アドレスaddr33とこの矩形領域内のアドレスaddr34との間の縦サイズ、アドレスaddr34とこの矩形領域内のアドレスaddr35との間の縦サイズ、アドレスaddr35とこの矩形領域内のアドレスaddr36との間の縦サイズ、アドレスaddr36とこの矩形領域内のアドレスaddr37との間の縦サイズ、アドレスaddr37とこの矩形領域内のアドレスaddr38との間の縦サイズ、アドレスaddr38とこの矩形領域内のアドレスaddr39との間の縦サイズ、アドレスaddr39とこの矩形領域内のアドレスaddr40との間の縦サイズ、及び、アドレスaddr40とこの矩形領域内のアドレスaddr41との間の縦サイズは、それぞれy2であるものとする。
図15〜図17は、RAM13内に書き込まれたチャネルの例を示す図である。
図15に示すように、チャネル0には、LINKENとして「1」が、LINKCHNとして「1」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr30」が、DSADRとして「addr10」が、それぞれ格納されている。
ここで、「off3」は、図14に示すEとFとの和であり、「off4」は、図14に示すGとHとの和である。
チャネル1には、LINKENとして「1」が、LINKCHNとして「2」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr31」が、DSADRとして「addr11」が、それぞれ格納されている。
チャネル2には、LINKENとして「1」が、LINKCHNとして「3」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr32」が、DSADRとして「addr12」が、それぞれ格納されている。
チャネル3には、LINKENとして「1」が、LINKCHNとして「4」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr33」が、DSADRとして「addr13」が、それぞれ格納されている。
また、図16に示すように、チャネル4には、LINKENとして「1」が、LINKCHNとして「5」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr34」が、DSADRとして「addr14」が、それぞれ格納されている。
チャネル5には、LINKENとして「1」が、LINKCHNとして「6」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr35」が、DSADRとして「addr15」が、それぞれ格納されている。
チャネル6には、LINKENとして「1」が、LINKCHNとして「7」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr36」が、DSADRとして「addr16」が、それぞれ格納されている。
チャネル7には、LINKENとして「1」が、LINKCHNとして「8」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr37」が、DSADRとして「addr17」が、それぞれ格納されている。
また、図17に示すように、チャネル8には、LINKENとして「1」が、LINKCHNとして「9」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr38」が、DSADRとして「addr18」が、それぞれ格納されている。
チャネル9には、LINKENとして「1」が、LINKCHNとして「10」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr39」が、DSADRとして「addr19」が、それぞれ格納されている。
チャネル10には、LINKENとして「1」が、LINKCHNとして「11」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr40」が、DSADRとして「addr20」が、それぞれ格納されている。
チャネル11には、LINKENとして「0」が、LINKCHNとして「0」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr41」が、DSADRとして「addr21」が、それぞれ格納されている。
次に、CPU2は、レジスタ「ibitblt0_DMAENB」のビット5−0に「0d0」を、レジスタ「ibitblt0_DMAENB」のビット7に「1」を、それぞれ書き込む。
ステートマシン12は、チャネル0のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル0のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル0に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr10を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図18(a)は、チャネル0に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル0のLINKENが「1」であり、LINKCHNが「1」であるので、チャネル1に関する処理を行う。ステートマシン12は、チャネル1のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル1に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr31を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr11を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図18(b)は、チャネル1に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル1のLINKENが「1」であり、LINKCHNが「2」であるので、チャネル2に関する処理を行う。ステートマシン12は、チャネル2のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル2に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr32を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr12を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図19(a)は、チャネル2に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル2のLINKENが「1」であり、LINKCHNが「3」であるので、チャネル3に関する処理を行う。ステートマシン12は、チャネル3のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル3に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr33を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr13を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図19(b)は、チャネル3に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル3のLINKENが「1」であり、LINKCHNが「4」であるので、チャネル4に関する処理を行う。ステートマシン12は、チャネル4のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル4に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr34を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr14を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図20(a)は、チャネル4に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル4のLINKENが「1」であり、LINKCHNが「5」であるので、チャネル5に関する処理を行う。ステートマシン12は、チャネル5のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル5に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr35を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr15を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図20(b)は、チャネル5に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル5のLINKENが「1」であり、LINKCHNが「6」であるので、チャネル6に関する処理を行う。ステートマシン12は、チャネル6のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル6に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr36を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr16を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図21(a)は、チャネル6に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル6のLINKENが「1」であり、LINKCHNが「7」であるので、チャネル7に関する処理を行う。ステートマシン12は、チャネル7のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル7に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr37を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr17を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図21(b)は、チャネル7に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル7のLINKENが「1」であり、LINKCHNが「8」であるので、チャネル8に関する処理を行う。ステートマシン12は、チャネル8のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル8に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr38を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr18を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図22(a)は、チャネル8に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル8のLINKENが「1」であり、LINKCHNが「9」であるので、チャネル9に関する処理を行う。ステートマシン12は、チャネル9のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル9に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr39を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr19を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図22(b)は、チャネル9に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル9のLINKENが「1」であり、LINKCHNが「10」であるので、チャネル10に関する処理を行う。ステートマシン12は、チャネル10のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル10に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr40を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr20を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図23(a)は、チャネル10に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル10のLINKENが「1」であり、LINKCHNが「11」であるので、チャネル11に関する処理を行う。ステートマシン12は、チャネル11のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル11に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr41を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr21を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図23(b)は、チャネル11に関する画像データ転送終了後のSDRAM3を示す図である。
このように、本実施形態によれば、CPU2がチャネルをRAM13に書き込むことで、表示制御回路5のデータ転送機能の拡張を容易にし、ワイプ(Wipe)表示を容易に実現することができる。また、ワイプ(Wipe)表示を行っている間(ステートマシン12が、チャネル0〜チャネル11に関する処理を行っている間)には、CPU2は何らの処理も行う必要がないので、ワイプ(Wipe)表示を行っている間のCPU2の負荷を軽減するとともに、システム1全体の消費電力を低減することが可能である。
また、本具体例では、垂直同期信号(VSYNC EVEN)に同期して画像データ転送を行うようにしているので、画面のちらつきを抑制することができる。
次に、表示制御回路5の動作の第3の具体例として、ブラインド(Blind)表示を行う場合について説明する。
まず、CPU2が、SDRAM3(図1参照)内に画像データを書き込むとともに、RAM13(図2参照)内にチャネルを書き込む。
図24は、SDRAM3内に書き込まれた画像データの例を示す図である。なお、SDRAM3は表示体ではなく記憶回路であり、SDRAM3内に書き込まれるのは画像データであるが、ここでは、理解の容易のため、画像データによって表される画像をSDRAM3内に示している。
また、ここでは、SDRAM3内のアドレスaddr10を先頭アドレスとする横サイズx2、縦サイズy2×12の矩形領域が表示領域(フレームメモリ領域)として設定されており、この矩形領域内の画像データに基づく画像が、LCDパネル7(図1参照)に表示されるものとする。本例では、表示領域には、網掛け画像データが書き込まれているものとする。なお、アドレスaddr10と表示領域内のアドレスaddr11との間の縦サイズ、アドレスaddr11と表示領域内のアドレスaddr12との間の縦サイズ、アドレスaddr12と表示領域内のアドレスaddr13との間の縦サイズ、アドレスaddr13と表示領域内のアドレスaddr14との間の縦サイズ、アドレスaddr14と表示領域内のアドレスaddr15との間の縦サイズ、アドレスaddr15と表示領域内のアドレスaddr16との間の縦サイズ、アドレスaddr16と表示領域内のアドレスaddr17との間の縦サイズ、アドレスaddr17と表示領域内のアドレスaddr18との間の縦サイズ、アドレスaddr18と表示領域内のアドレスaddr19との間の縦サイズ、アドレスaddr19と表示領域内のアドレスaddr20との間の縦サイズ、及び、アドレスaddr20と表示領域内のアドレスaddr21との間の縦サイズは、それぞれy2であるものとする。
また、SDRAM3内のアドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2×12の矩形領域には、画像データが格納されている。しかし、この矩形領域は表示領域(フレームメモリ領域)ではないので、この矩形領域内の画像データに基づく画像がLCDパネル7に表示されることはない。なお、アドレスaddr30とこの矩形領域内のアドレスaddr31との間の縦サイズ、アドレスaddr31とこの矩形領域内のアドレスaddr32との間の縦サイズ、アドレスaddr32とこの矩形領域内のアドレスaddr33との間の縦サイズ、アドレスaddr33とこの矩形領域内のアドレスaddr34との間の縦サイズ、アドレスaddr34とこの矩形領域内のアドレスaddr35との間の縦サイズ、アドレスaddr35とこの矩形領域内のアドレスaddr36との間の縦サイズ、アドレスaddr36とこの矩形領域内のアドレスaddr37との間の縦サイズ、アドレスaddr37とこの矩形領域内のアドレスaddr38との間の縦サイズ、アドレスaddr38とこの矩形領域内のアドレスaddr39との間の縦サイズ、アドレスaddr39とこの矩形領域内のアドレスaddr40との間の縦サイズ、及び、アドレスaddr40とこの矩形領域内のアドレスaddr41との間の縦サイズは、それぞれy2であるものとする。
図25〜図27は、RAM13内に書き込まれたチャネルの例を示す図である。
図25に示すように、チャネル0には、LINKENとして「1」が、LINKCHNとして「1」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d0」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr30」が、DSADRとして「addr10」が、それぞれ格納されている。
ここで、「off3」は、図24に示すEとFとの和であり、「off4」は、図24に示すGとHとの和である。
チャネル1には、LINKENとして「1」が、LINKCHNとして「2」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d0」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr34」が、DSADRとして「addr14」が、それぞれ格納されている。
チャネル2には、LINKENとして「1」が、LINKCHNとして「3」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d0」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr38」が、DSADRとして「addr18」が、それぞれ格納されている。
チャネル3には、LINKENとして「1」が、LINKCHNとして「4」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr31」が、DSADRとして「addr11」が、それぞれ格納されている。
また、図26に示すように、チャネル4には、LINKENとして「1」が、LINKCHNとして「5」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d0」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr35」が、DSADRとして「addr15」が、それぞれ格納されている。
チャネル5には、LINKENとして「1」が、LINKCHNとして「6」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d0」が、WSIZEとして「x2」が、HSIZEとして「y0」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr39」が、DSADRとして「addr19」が、それぞれ格納されている。
チャネル6には、LINKENとして「1」が、LINKCHNとして「7」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr32」が、DSADRとして「addr12」が、それぞれ格納されている。
チャネル7には、LINKENとして「1」が、LINKCHNとして「8」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d0」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr36」が、DSADRとして「addr16」が、それぞれ格納されている。
また、図27に示すように、チャネル8には、LINKENとして「1」が、LINKCHNとして「9」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d0」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr40」が、DSADRとして「addr20」が、それぞれ格納されている。
チャネル9には、LINKENとして「1」が、LINKCHNとして「10」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr33」が、DSADRとして「addr13」が、それぞれ格納されている。
チャネル10には、LINKENとして「1」が、LINKCHNとして「11」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d0」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr37」が、DSADRとして「addr17」が、それぞれ格納されている。
チャネル11には、LINKENとして「0」が、LINKCHNとして「0」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d0」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr41」が、DSADRとして「addr21」が、それぞれ格納されている。
次に、CPU2は、レジスタ「ibitblt0_DMAENB」のビット5−0に「0d0」を、レジスタ「ibitblt0_DMAENB」のビット7に「1」を、それぞれ書き込む。
ステートマシン12は、チャネル0のTRGCNTが「0d0」であるので、直ちに、チャネル0に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr10を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
次に、ステートマシン12は、チャネル0のLINKENが「1」であり、LINKCHNが「1」であるので、チャネル1に関する処理を行う。ステートマシン12は、チャネル1のTRGCNTが「0d0」であるので、直ちに、チャネル1に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr34を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr14を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
次に、ステートマシン12は、チャネル1のLINKENが「1」であり、LINKCHNが「2」であるので、チャネル2に関する処理を行う。ステートマシン12は、チャネル2のTRGCNTが「0d0」であるので、直ちに、チャネル2に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr38を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr18を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図28(a)は、チャネル2に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル2のLINKENが「1」であり、LINKCHNが「3」であるので、チャネル3に関する処理を行う。ステートマシン12は、チャネル3のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル3に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr31を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr11を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
次に、ステートマシン12は、チャネル3のLINKENが「1」であり、LINKCHNが「4」であるので、チャネル4に関する処理を行う。ステートマシン12は、チャネル4のTRGCNTが「0d0」であるので、直ちに、チャネル4に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr35を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr15を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
次に、ステートマシン12は、チャネル4のLINKENが「1」であり、LINKCHNが「5」であるので、チャネル5に関する処理を行う。ステートマシン12は、チャネル5のTRGCNTが「0d0」であるので、直ちに、チャネル5に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr39を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr19を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図28(b)は、チャネル5に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル5のLINKENが「1」であり、LINKCHNが「6」であるので、チャネル6に関する処理を行う。ステートマシン12は、チャネル6のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル6に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr32を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr12を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
次に、ステートマシン12は、チャネル6のLINKENが「1」であり、LINKCHNが「7」であるので、チャネル7に関する処理を行う。ステートマシン12は、チャネル7のTRGCNTが「0d0」であるので、直ちに、チャネル7に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr36を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr16を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
次に、ステートマシン12は、チャネル7のLINKENが「1」であり、LINKCHNが「8」であるので、チャネル8に関する処理を行う。ステートマシン12は、チャネル8のTRGCNTが「0d0」であるので、直ちに、チャネル8に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr40を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr20を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図29(a)は、チャネル8に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル8のLINKENが「1」であり、LINKCHNが「9」であるので、チャネル9に関する処理を行う。ステートマシン12は、チャネル9のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル9に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr33を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr13を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
次に、ステートマシン12は、チャネル9のLINKENが「1」であり、LINKCHNが「10」であるので、チャネル10に関する処理を行う。ステートマシン12は、チャネル10のTRGCNTが「0d0」であるので、直ちに、チャネル10に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr37を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr17を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
次に、ステートマシン12は、チャネル10のLINKENが「1」であり、LINKCHNが「11」であるので、チャネル11に関する処理を行う。ステートマシン12は、チャネル11のTRGCNTが「0d0」であるので、直ちに、チャネル11に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr41を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr21を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図29(b)は、チャネル11に関する画像データ転送終了後のSDRAM3を示す図である。
このように、本実施形態によれば、CPU2がチャネルをRAM13に書き込むことで、表示制御回路5のデータ転送機能の拡張を容易に行うことができ、ブラインド(Blind)表示を容易に実現することができる。また、ブラインド(Blind)表示を行っている間(ステートマシン12が、チャネル0〜チャネル11に関する処理を行っている間)には、CPU2は何らの処理も行う必要がないので、ブラインド(Blind)表示を行っている間のCPU2の負荷を軽減するとともに、システム1全体の消費電力を低減することが可能である。
次に、表示制御回路5の動作の第4の具体例として、スライド−イン(Slide−in)表示を行う場合について説明する。
まず、CPU2が、SDRAM3(図1参照)内に画像データを書き込むとともに、RAM13(図2参照)内にチャネルを書き込む。
図30は、SDRAM3内に書き込まれた画像データの例を示す図である。なお、SDRAM3は表示体ではなく記憶回路であり、SDRAM3内に書き込まれるのは画像データであるが、ここでは、理解の容易のため、画像データによって表される画像をSDRAM3内に示している。
また、ここでは、SDRAM3内のアドレスaddr10を先頭アドレスとする横サイズx2、縦サイズy2×12の矩形領域が表示領域(フレームメモリ領域)として設定されており、この矩形領域内の画像データに基づく画像が、LCDパネル7(図1参照)に表示されるものとする。本例では、表示領域には、網掛け画像データが書き込まれているものとする。なお、アドレスaddr10と表示領域内のアドレスaddr11との間の縦サイズ、アドレスaddr11と表示領域内のアドレスaddr12との間の縦サイズ、アドレスaddr12と表示領域内のアドレスaddr13との間の縦サイズ、アドレスaddr13と表示領域内のアドレスaddr14との間の縦サイズ、アドレスaddr14と表示領域内のアドレスaddr15との間の縦サイズ、アドレスaddr15と表示領域内のアドレスaddr16との間の縦サイズ、アドレスaddr16と表示領域内のアドレスaddr17との間の縦サイズ、アドレスaddr17と表示領域内のアドレスaddr18との間の縦サイズ、アドレスaddr18と表示領域内のアドレスaddr19との間の縦サイズ、アドレスaddr19と表示領域内のアドレスaddr20との間の縦サイズ、及び、アドレスaddr20と表示領域内のアドレスaddr21との間の縦サイズは、それぞれy2であるものとする。
また、SDRAM3内のアドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2×12の矩形領域には、画像データが格納されている。しかし、この矩形領域は表示領域(フレームメモリ領域)ではないので、この矩形領域内の画像データに基づく画像がLCDパネル7に表示されることはない。
図31〜図33は、RAM13内に書き込まれたチャネルの例を示す図である。
図31に示すように、チャネル0には、LINKENとして「1」が、LINKCHNとして「1」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr30」が、DSADRとして「addr21」が、それぞれ格納されている。
ここで、「off3」は、図30に示すEとFとの和であり、「off4」は、図30に示すGとHとの和である。
チャネル1には、LINKENとして「1」が、LINKCHNとして「2」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2×2」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr30」が、DSADRとして「addr20」が、それぞれ格納されている。
チャネル2には、LINKENとして「1」が、LINKCHNとして「3」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2×3」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr30」が、DSADRとして「addr19」が、それぞれ格納されている。
チャネル3には、LINKENとして「1」が、LINKCHNとして「4」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2×4」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr30」が、DSADRとして「addr18」が、それぞれ格納されている。
また、図32に示すように、チャネル4には、LINKENとして「1」が、LINKCHNとして「5」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2×5」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr30」が、DSADRとして「addr17」が、それぞれ格納されている。
チャネル5には、LINKENとして「1」が、LINKCHNとして「6」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2×6」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr30」が、DSADRとして「addr16」が、それぞれ格納されている。
チャネル6には、LINKENとして「1」が、LINKCHNとして「7」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2×7」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr30」が、DSADRとして「addr15」が、それぞれ格納されている。
チャネル7には、LINKENとして「1」が、LINKCHNとして「8」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2×8」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr30」が、DSADRとして「addr14」が、それぞれ格納されている。
また、図33に示すように、チャネル8には、LINKENとして「1」が、LINKCHNとして「9」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2×9」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr30」が、DSADRとして「addr13」が、それぞれ格納されている。
チャネル9には、LINKENとして「1」が、LINKCHNとして「10」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2×10」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr30」が、DSADRとして「addr12」が、それぞれ格納されている。
チャネル10には、LINKENとして「1」が、LINKCHNとして「11」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2×11」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr30」が、DSADRとして「addr11」が、それぞれ格納されている。
チャネル11には、LINKENとして「0」が、LINKCHNとして「0」が、FORMATとして「0b11」が、MODEとして「0b00」が、TRGSRCとして「0b000」が、ADRCTRLとして「1」が、INTENBとして「0」が、TRGCNTとして「0d15」が、WSIZEとして「x2」が、HSIZEとして「y2×12」が、SROFFSIZEとして「off3」が、DSOFFSIZEとして「off4」が、SRADRとして「addr30」が、DSADRとして「addr10」が、それぞれ格納されている。
次に、CPU2は、レジスタ「ibitblt0_DMAENB」のビット5−0に「0d0」を、レジスタ「ibitblt0_DMAENB」のビット7に「1」を、それぞれ書き込む。
ステートマシン12は、チャネル0のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル0のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル0に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域の画像データが、アドレスaddr21を先頭アドレスとする横サイズx2、縦サイズy2の矩形領域にコピーされる。
図34(a)は、チャネル0に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル0のLINKENが「1」であり、LINKCHNが「1」であるので、チャネル1に関する処理を行う。ステートマシン12は、チャネル1のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル1に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2×2の矩形領域の画像データが、アドレスaddr20を先頭アドレスとする横サイズx2、縦サイズy2×2の矩形領域にコピーされる。
図34(b)は、チャネル1に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル1のLINKENが「1」であり、LINKCHNが「2」であるので、チャネル2に関する処理を行う。ステートマシン12は、チャネル2のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル2に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2×3の矩形領域の画像データが、アドレスaddr19を先頭アドレスとする横サイズx2、縦サイズy2×3の矩形領域にコピーされる。
図35(a)は、チャネル2に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル2のLINKENが「1」であり、LINKCHNが「3」であるので、チャネル3に関する処理を行う。ステートマシン12は、チャネル3のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル3に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2×4の矩形領域の画像データが、アドレスaddr18を先頭アドレスとする横サイズx2、縦サイズy2×4の矩形領域にコピーされる。
図35(b)は、チャネル3に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル3のLINKENが「1」であり、LINKCHNが「4」であるので、チャネル4に関する処理を行う。ステートマシン12は、チャネル4のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル4に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2×5の矩形領域の画像データが、アドレスaddr17を先頭アドレスとする横サイズx2、縦サイズy2×5の矩形領域にコピーされる。
図36(a)は、チャネル4に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル4のLINKENが「1」であり、LINKCHNが「5」であるので、チャネル5に関する処理を行う。ステートマシン12は、チャネル5のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル5に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2×6の矩形領域の画像データが、アドレスaddr16を先頭アドレスとする横サイズx2、縦サイズy2×6の矩形領域にコピーされる。
図36(b)は、チャネル5に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル5のLINKENが「1」であり、LINKCHNが「6」であるので、チャネル6に関する処理を行う。ステートマシン12は、チャネル6のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル6に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2×7の矩形領域の画像データが、アドレスaddr15を先頭アドレスとする横サイズx2、縦サイズy2×7の矩形領域にコピーされる。
図37(a)は、チャネル6に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル6のLINKENが「1」であり、LINKCHNが「7」であるので、チャネル7に関する処理を行う。ステートマシン12は、チャネル7のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル7に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2×8の矩形領域の画像データが、アドレスaddr14を先頭アドレスとする横サイズx2、縦サイズy2×8の矩形領域にコピーされる。
図37(b)は、チャネル7に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル7のLINKENが「1」であり、LINKCHNが「8」であるので、チャネル8に関する処理を行う。ステートマシン12は、チャネル8のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル8に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2×9の矩形領域の画像データが、アドレスaddr13を先頭アドレスとする横サイズx2、縦サイズy2×9の矩形領域にコピーされる。
図38(a)は、チャネル8に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル8のLINKENが「1」であり、LINKCHNが「9」であるので、チャネル9に関する処理を行う。ステートマシン12は、チャネル9のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル9に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2×10の矩形領域の画像データが、アドレスaddr12を先頭アドレスとする横サイズx2、縦サイズy2×10の矩形領域にコピーされる。
図38(b)は、チャネル9に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル9のLINKENが「1」であり、LINKCHNが「10」であるので、チャネル10に関する処理を行う。ステートマシン12は、チャネル10のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル10に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2×11の矩形領域の画像データが、アドレスaddr11を先頭アドレスとする横サイズx2、縦サイズy2×11の矩形領域にコピーされる。
図39(a)は、チャネル10に関する画像データ転送終了後のSDRAM3を示す図である。
次に、ステートマシン12は、チャネル10のLINKENが「1」であり、LINKCHNが「11」であるので、チャネル11に関する処理を行う。ステートマシン12は、チャネル11のTRGCNTが「0d15」であるので、トリガ信号(ここでは、チャネル1のTRGSRCが「0b000」であるので、VSYNC EVEN)を15回カウントした後、すなわち0.5秒後に、チャネル11に関する画像データ転送をDMAコントローラ14に開始させる。これにより、アドレスaddr30を先頭アドレスとする横サイズx2、縦サイズy2×12の矩形領域の画像データが、アドレスaddr10を先頭アドレスとする横サイズx2、縦サイズy2×12の矩形領域にコピーされる。
図39(b)は、チャネル11に関する画像データ転送終了後のSDRAM3を示す図である。
このように、本実施形態によれば、CPU2がチャネルをRAM13に書き込むことで、表示制御回路5のデータ転送機能の拡張を容易に行うことができ、スライド−イン(Slide−in)表示を容易に実現することができる。また、スライド−イン(Slide−in)表示を行っている間(ステートマシン12が、チャネル0〜チャネル11に関する処理を行っている間)には、CPU2は何らの処理も行う必要がないので、スライド−イン(Slide−in)表示を行っている間のCPU2の負荷を軽減することが可能である。
なお、本具体例においては、縦方向のスライド−イン(Slide−in)表示について説明したが、同様に、横方向のスライド−イン(Slide−in)表示も可能である。また、文字を縦又は横方向に透過処理付きのスライド−イン(Slide−in)表示させることで、テロップを実現することもできる。
1 システム、2 CPU、3 SDRAM、4 SDRAMコントローラ、5 表示制御回路、6 LCDコントローラ、7 LCDパネル、11 レジスタ群、12 ステートマシン、13 RAM、14 DMAコントローラ、15 透過処理演算部