(57)【特許請求の範囲】
【請求項１】
表示装置の表示を制御する表示制御回路において、
逐次入力されるデータを格納し、格納している前記データを入力されるクロック信号に従って前記表示装置へ送出するデータ転送回路と、
前記データ転送回路に未送出のデータが格納されている期間は入力される前記クロック信号を表示用クロック信号として前記表示装置へ送出し、未送出のデータが格納されていない期間は予め定められたレベルに固定した信号を表示用クロック信号として前記表示装置へ送出するクロックマスク回路と、
を備えたことを特徴とする表示制御回路。
【請求項２】
前記データ転送回路に未送出のデータが格納されている期間は前記クロック信号のクロック数をカウントするカウント動作を行い、未送出のデータが格納されていない期間はカウント動作を停止するクロックカウンタ回路と、
前記クロックカウンタ回路のカウンタ値が予め定められた範囲内の期間と範囲外の期間とでレベルを変えることによって水平同期信号を生成し、前記表示装置へ送出する水平同期信号生成回路と、
を更に備えたことを特徴とする請求項１記載の表示制御回路。
【請求項３】
前記データ転送回路に未送出のデータが格納されていない期間の前記クロック信号のクロック数をカウントするマスク期間カウンタ回路と、
前記クロックカウンタ回路のカウント範囲の上限値を当該上限値から前記マスク期間カウンタ回路のカウンタ値を減算した値に補正する補正回路と、
を更に備え、
前記クロックカウンタ回路は前記補正回路による補正後のカウント範囲内でカウント動作を行うことを特徴とする請求項２記載の表示制御回路。
【請求項４】
前記表示制御回路は前記データ転送回路に未送出のデータが格納されていない場合に行う動作を第１動作と第２動作との何れかに切り替えることが可能であって、
前記第１動作を示す情報及び前記第２動作を示す情報の一方を記録する動作設定回路を更に備え、
前記クロックマスク回路は、未送出のデータが格納されていない期間において、前記動作設定回路に前記第１動作を示す情報が記録されている場合には前記予め定められたレベルに固定した信号を表示用クロック信号として前記表示装置へ送出し、前記第２動作を示す情報が記録されている場合には入力される前記クロック信号を表示用クロック信号として前記表示装置へ送出することを特徴とする請求項１記載の表示制御回路。
【請求項５】
表示部と、前記表示部の表示を制御する表示制御部と、記録領域の一部に前記表示部に表示するデータを記録しているデータ記録部と、前記データ記録部から前記データを読み出して前記表示制御部へ送出するデータ読出部とを備えた表示システムにおいて、
前記表示制御部は、
前記データ読出部から逐次入力されるデータを格納し、格納している前記データを入力されるクロック信号に従って前記表示部へ送出するデータ転送部と、
前記データ転送部に未送出のデータが格納されている期間は入力される前記クロック信号を表示用クロック信号として前記表示装置へ送出し、未送出のデータが格納されていない期間は予め定められたレベルに固定した信号を表示用クロック信号として前記表示装置へ送出するクロックマスク部と、
を備えたことを特徴とする表示システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、表示装置の表示を制御する表示制御回路及び表示システムに関する。
【背景技術】
【０００２】
従来、地上波デジタル放送の各フレームのデータはメモリに記憶され、メモリに蓄積された各フレームのデータがＤＭＡ（Direct Memory Access）コントローラによって表示制御回路内のバッファ回路に転送されて一端蓄積される。表示制御回路は表示装置へクロック信号を送出するとともに、バッファ回路に蓄積された１ピクセル分のデータをクロック信号のエッジ（例えば、立ち上がりエッジ）で表示装置へ送出する。表示装置は、クロック信号のエッジで表示制御回路内のバッファ回路から入力されたデータを取り込み、取り込んだデータをディスプレイに表示する。
【０００３】
表示装置は表示制御回路内のバッファ回路に表示装置へ送出する未送出のデータがない状態であってもクロック信号のエッジでディスプレイの表示位置を更新していくことになる。このため、データの表示中に表示制御回路内のバッファ回路に未送出のデータがない状態が発生すると、データは本来表示されるべき表示位置から未送出のデータがない期間のクロック数分だけずれた表示位置に表示されることになる。その概略を図１０に示している。なお、以下において、バッファ回路に未送出のデータがない状態をアンダーフローという。
【０００４】
図１０（ａ）はアンダーフローが発生しなかった場合の表示画像の例であり、図１０（ｂ）はアンダーフローが発生した場合の表示画像の例である。図１０（ｂ）に示すように、アンダーフロー発生すると、アンダーフロー発生位置以降の表示画像の表示位置がずれることになる。
そこで、一般に、メモリに１フレーム分のデータを格納するメモリ領域を２つ設けたダブルバッファ構成が採用されている（例えば、特許文献１参照。）。ディスプレイへの表示対象になっている１フレーム分のデータをディスプレイに表示する間に、次の１フレーム分のデータを表示対象になっているデータが記憶されているメモリ領域とは別のメモリ領域に格納する。これにより、メモリに表示制御回路内のバッファ回路へ転送するデータが格納されていないことが起こらないようにして、バッファ回路にアンダーフローが発生しないようにしている。
【特許文献１】特開昭５８−３５６３７号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
ところが、例えば、ＤＭＡコントローラ以外のＣＰＵ（Central Processing Unit）やＣＧ（Character Generation）などがメモリアクセスすると、メモリからＤＭＡコントローラへのデータの転送速度が下がる。このような場合には、たとえメモリに表示制御回路内のバッファ回路へ転送するデータが格納されていてもバッファ回路にアンダーフローが発生してしまうことがあり、表示画像のずれの発生を防止することができるとは限らない。
【０００６】
そこで、本発明は、表示画像のずれの発生を防止することが可能な表示制御回路及び表示システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記目的を達成するために本発明の表示制御回路は、表示装置の表示を制御する表示制御回路において、逐次入力されるデータを格納し、格納している前記データを入力されるクロック信号に従って前記表示装置へ送出するデータ転送回路と、前記データ転送回路に未送出のデータが格納されている期間は入力される前記クロック信号を表示用クロック信号として前記表示装置へ送出し、未送出のデータが格納されていない期間は予め定められたレベルに固定した信号を表示用クロック信号として前記表示装置へ送出するクロックマスク回路と、を備える。
【発明の効果】
【０００８】
上記の表示制御回路によれば、表示制御回路はデータ転送回路に未送出のデータがある期間はクロック信号を表示用クロック信号として表示装置へ送出する。また、表示制御回路はデータ転送回路に未送出のデータがない期間はレベルを固定した信号を表示用クロック信号として表示装置へ送出し、表示用クロック信号のエッジをなくす。このため、入力される表示用クロック信号のエッジでデータを取り込み、取り込んだ表示データを表示していく表示装置では、データ転送回路に未送出のデータがない期間に表示位置を更新することがなく、表示画像にずれが生じることを防止することができる。
【０００９】
上記の表示制御回路において、前記データ転送回路に未送出のデータが格納されている期間は前記クロック信号のクロック数をカウントするカウント動作を行い、未送出のデータが格納されていない期間はカウント動作を停止するクロックカウンタ回路と、前記クロックカウンタ回路のカウンタ値が予め定められた範囲内の期間と範囲外の期間とでレベルを変えることによって水平同期信号を生成し、前記表示装置へ送出する水平同期信号生成回路と、を更に備えるようにしてもよい。
【００１０】
これによれば、表示用クロック信号が固定される期間は水平同期信号の生成の元になるクロックカウンタ回路のカウンタ値が更新されない。このため、データ転送回路に未送出のデータがない状態が発生しても表示装置では水平同期をとるタイミングがずれることがない。
上記の表示制御回路において、前記データ転送回路に未送出のデータが格納されていない期間の前記クロック信号のクロック数をカウントするマスク期間カウンタ回路と、前記クロックカウンタ回路のカウント範囲の上限値を当該上限値から前記マスク期間カウンタ回路のカウンタ値を減算した値に補正する補正回路と、を更に備え、前記クロックカウンタ回路は前記補正回路による補正後のカウント範囲内でカウント動作を行うようにしてもよい。
【００１１】
これによれば、クロックカウンタ回路はデータ転送回路に未送出のデータがない期間はカウント動作を停止するが、その期間のクロック数がカウントされ、クロックカウント回路のカウント範囲の上限はそのクロック数分だけ小さくなるように補正される。このため、データ転送回路に未送出のデータがない状態が発生しても表示装置では水平同期期間を一定にすることができる。特に、この表示制御装置は表示データを等速で更新する必要がある場合に有効である。
【００１２】
上記の表示制御回路において、前記表示制御回路は前記データ転送回路に未送出のデータが格納されていない場合に行う動作を第１動作と第２動作との何れかに切り替えることが可能であって、前記第１動作を示す情報及び前記第２動作を示す情報の一方を記録する動作設定回路を更に備え、前記クロックマスク回路は、未送出のデータが格納されていない期間において、前記動作設定回路に前記第１動作を示す情報が記録されている場合には前記予め定められたレベルに固定した信号を表示用クロック信号として前記表示装置へ送出し、前記第２動作を示す情報が記録されている場合には入力される前記クロック信号を表示用クロック信号として前記表示装置へ送出するようにしてもよい。
【００１３】
これによれば、データ転送回路に未送出のデータがない場合にクロック信号にマスクをかける第１動作とマスクをかけない第２動作を設定することができる。このため、第１動作と第２動作のいずれの場合にも同一の表示制御回路を使用することができ、大量生産によるコストパフォーマンスの向上が期待できる。
本発明の表示システムは、表示部と、前記表示部の表示を制御する表示制御部と、記録領域の一部に前記表示部に表示するデータを記録しているデータ記録部と、前記データ記録部から前記データを読み出して前記表示制御部へ送出するデータ読出部とを備えた表示システムにおいて、前記表示制御部は、前記データ読出部から逐次入力されるデータを格納し、格納している前記データを入力されるクロック信号に従って前記表示部へ送出するデータ転送部と、前記データ転送部に未送出のデータが格納されている期間は入力される前記クロック信号を表示用クロック信号として前記表示装置へ送出し、未送出のデータが格納されていない期間は予め定められたレベルに固定した信号を表示用クロック信号として前記表示装置へ送出するクロックマスク部と、を備える。
【００１４】
上記の表示システムによれば、表示制御部はデータ転送部に未送出のデータがある期間はクロック信号を表示用クロック信号として表示部へ送出する。また、表示制御部はデータ転送部に未送出のデータがない期間はレベルを固定した信号を表示用クロック信号として表示部へ送出し、表示用クロック信号のエッジをなくす。このため、入力される表示用クロック信号のエッジでデータを取り込み、取り込んだ表示データを表示していく表示部では、データ転送部に未送出のデータがない期間に表示位置を更新することがなく、表示画像にずれが生じることを防止することができる。
【発明を実施するための最良の形態】
【００１５】
≪第１の実施の形態≫
以下、本発明の第１の実施の形態について図面を参照しつつ説明する。
＜構成＞
本実施の形態の表示システムの構成について図１を参照しつつ説明する。図１は本実施の形態の表示システムの構成を示す構成図である。
【００１６】
表示システム１は、表示制御回路１１と表示装置１２とメモリ１３とＤＭＡコントローラ１４とを備える。なお、表示制御回路１１及び後述する表示制御回路２１、２２は一つの集積回路によりつくることが可能である。
表示制御回路１１は、ＦＩＦＯ（first-in first-out）回路１１１と、クロックマスク回路１１２と、水平同期期間設定レジスタ１１３と、クロックカウンタ回路１１４と、イネーブル信号生成回路１１５と、水平同期信号生成回路１１６と、水平同期カウンタ回路１１７と、垂直同期信号生成回路１１８とを備える。
【００１７】
ＦＩＦＯ回路１１１は、ＤＭＡコントローラ１４からメモリ１３に格納されているメモリデータＭＤａｔａが入力され、入力されたメモリデータＭＤａｔａを格納する。ＦＩＦＯ回路１１１は外部からピクセルクロック（クロック）ＰＣＬＫが入力され、クロックＰＣＬＫの立ち上がりエッジで１ピクセル分のデータを格納した順に表示データＤＤａｔａとして表示装置１２へ送出する。ＦＩＦＯ回路１１１は、表示装置１２へ未送出のデータがなくなったような場合には最後にＤＭＡコントローラ１４から入力されたデータを表示装置１２へ送出し続けることになる。
【００１８】
また、ＦＩＦＯ回路１１１は、格納しているデータに表示装置１２へ送出していないデータがないことを通知する通知信号ＵｎｄｅｒＦを生成し、生成した通知信号ＵｎｄｅｒＦをクロックマスク回路１１２及びクロックカウンタ回路１１４の夫々へ送出する。ここで、ＦＩＦＯ回路１１１に表示装置１２へ送出していないデータが格納されていない状態をアンダーフローということにする。ここでは、ＦＩＦＯ回路１１１はアンダーフローの期間は通知信号ＵｎｄｅｒＦをハイレベルとし、アンダーフローでない期間は通知信号ＵｎｄｅｒＦをローレベルにする。
【００１９】
クロックマスク回路１１２は、外部よりクロックＰＣＬＫが入力され、ＦＩＦＯ回路１１１から通知信号ＵｎｄｅｒＦが入力される。クロックマスク回路１１２は、通知信号ＵｎｄｅｒＦがローレベルのとき入力されるクロックＰＣＬＫを表示用クロックＰＣＬＫ’として表示装置１２へ送出する。クロックマスク回路１１２は、通知信号ＵｎｄｅｒＦがハイレベルのとき入力されるクロックＰＣＬＫにマスクをかけ、レベルをハイレベルに固定した表示用クロックＰＣＬＫ’を表示装置１２へ送出する。つまり、クロックマスク回路１１２は、ＦＩＦＯ回路１１１がアンダーフローの期間はクロックＰＣＬＫにマスクをかけ、ハイレベルに固定した表示用クロックＰＣＬＫ’を表示装置１２へ送出する。
【００２０】
水平同期期間設定レジスタ１１３は、クロックカウンタ回路１１４のカウント範囲の上限（以下、水平同期クロック数という。）が設定され保持するレジスタであり、保持している水平同期クロック数をクロックカウンタ回路１１４へ送出する。ここでは、水平同期期間設定レジスタ１１３に保持された水平同期クロック数を「２４７」とする。
クロックカウンタ回路１１４は、外部よりクロックＰＣＬＫが入力され、ＦＩＦＯ回路１１１から通知信号ＵｎｄｅｒＦが入力され、水平同期期間設定レジスタ１１３から水平同期クロック数が入力される。クロックカウンタ回路１１４は、カウンタ値をイネーブル信号生成回路１１５及び水平同期信号生成回路１１６の夫々へ送出する。
【００２１】
クロックカウンタ回路１１４は、通知信号ＵｎｄｅｒＦがローレベルのとき、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする。また、クロックカウンタ回路１１４は、通知信号ＵｎｄｅｒＦがハイレベルのときカウントアップ動作を停止する。つまり、クロックカウンタ回路１１４は、ＦＩＦＯ回路１１１がアンダーフローでない期間はカウントアップ動作を行い、ＦＩＦＯ回路１１１がアンダーフローの期間はカウントアップ動作を停止する。クロックカウンタ回路１１４は、カウンタ値「０」からカウンタ値「水平同期クロック数」までのカウントを繰り返し行う。
【００２２】
イネーブル信号生成回路１１５は、クロックカウンタ回路１１４からカウンタ値（以下、ピクセルカウンタ値という。）が入力される。イネーブル信号生成回路１１５は、ピクセルカウンタ値に基づきデータイネーブル信号ＤａｔａＥｎを生成し、生成したデータイネーブル信号ＤａｔａＥｎを表示装置１２へ送出する。データイネーブル信号ＤａｔａＥｎは表示装置１２に入力されている表示データＤｉｓｐＤａｔａが有効であるか否かを示す信号である。
【００２３】
ここでは、イネーブル信号生成回路１１５は、データイネーブル信号ＤａｔａＥｎを、ピクセルカウンタ値が予め定められた下限値「５」から上限値「２４４」までの値であれば表示データＤＤａｔａが有効であることを示すハイレベルとし、それ以外の値であれば表示データＤＤａｔａが有効でないことを示すローレベルとする。
水平同期信号生成回路１１６は、クロックカウンタ回路１１４からピクセルカウンタ値が入力される。水平同期信号生成回路１１６は、ピクセルカウンタ値に基づき水平同期信号Ｈｓｙｎｃを生成し、生成した水平同期信号Ｈｓｙｎｃを表示装置１２及び水平同期カウンタ回路１１７の夫々へ送出する。
【００２４】
ここでは、水平同期信号生成回路１１６は、水平同期信号Ｈｓｙｎｃを、ピクセルカウンタ値が予め定められた下限値「０」から上限値「１」までの値であればローレベルとし、それ以外の値であればハイレベルとする。水平同期信号Ｈｓｙｎｃがハイレベルからローレベルへ遷移するタイミングが１ラインの描画の開始タイミングである。
水平同期カウンタ回路１１７は、水平同期信号生成回路１１６から水平同期信号Ｈｓｙｎｃが入力される。水平同期カウンタ回路１１７は、カウント範囲の上限（以下、垂直同期パルス数という。）が予め設定され、内部保持している。水平同期カウンタ回路１１７は、水平同期信号Ｈｓｙｎｃの立ち上がりエッジでカウンタ値を１カウントアップし、カウンタ値を垂直同期信号生成回路１１８へ送出する。水平同期カウンタ回路１１７は、カウンタ値「０」からカウンタ値「垂直同期パルス数」までのカウントを繰り返し行う。
【００２５】
垂直同期信号生成回路１１８は、水平同期カウンタ回路１１７からカウンタ値（以下、同期カウンタ値という。）が入力される。垂直同期信号生成回路１１８は、同期カウンタ値に基づき垂直同期信号Ｖｓｙｎｃを生成し、生成した垂直同期信号Ｖｓｙｎｃを表示装置１２及びＤＭＡコントローラ１４の夫々へ送出する。
ここでは、垂直同期信号生成回路１１８は、垂直同期信号Ｖｓｙｎｃを、同期カウンタ値が予め定められた下限値「０」から上限値「１」までの値であればローレベルとし、それ以外の値であればハイレベルとする。垂直同期信号Ｖｓｙｎｃがハイレベルからローレベルへ遷移するタイミングが１フレームの描画の開始タイミングである。
【００２６】
表示装置１２は、ＦＩＦＯ回路１１１から表示データＤＤａｔａが入力され、クロックマスク回路１１２から表示用クロックＰＣＬＫ’が入力され、イネーブル信号生成回路１１５からデータイネーブル信号ＤａｔａＥｎが入力される。さらに、表示装置１２は、水平同期信号生成回路１１６から水平同期信号Ｈｓｙｎｃが入力され、垂直同期信号生成回路１１８から垂直同期信号Ｖｓｙｎｃが入力される。
【００２７】
表示装置１２は、データイネーブル信号ＤａｔａＥｎがハイレベルの期間、順次、表示用クロックＰＣＬＫ’の立ち上がりエッジで表示データＤＤａｔａを取り込み、取り込んだ表示データＤｉｓｐＤａｔａをディスプレイに表示する。また、表示装置１２は、水平同期信号Ｈｓｙｎｃの立ち下がりエッジで次のラインの描画に移行し、垂直同期信号Ｖｓｙｎｃの立ち下がりエッジで次のフレームの描画に移行する。
【００２８】
メモリ１３は、表示装置１２に表示するデータを格納する記憶装置であり、１フレーム分のデータを記憶するメモリ領域が２つ用意された構成になっている。なお、メモリ１３は、ＤＭＡコントローラ以外の図示していないＣＰＵやＣＧなどによってアクセスされることがある。
ＤＭＡコントローラ１４は、ＣＰＵを介さずにメモリ１３からデータの読み出しを行うものであり、メモリ１３からメモリデータＭＤａｔａを読み出して、読み出したメモリデータＭＤａｔａをＦＩＦＯ回路１１１へ転送する。なお、ＤＭＡコントローラ１４は、垂直同期信号生成回路１１８から入力される垂直同期信号Ｖｓｙｎｃの立ち下がりエッジでメモリ１３からメモリデータＭＤａｔａを読み出すメモリ領域を切り替える。
＜動作＞
（ＤＭＡコントローラとＦＩＦＯ回路の動作）
図１の表示システム１のＤＭＡコントローラ１４とＦＩＦＯ回路１１１の動作について図２を参照しつつ説明する。図２はＤＭＡコントローラ１４とＦＩＦＯ回路１１１の動作を示すタイミングチャートである。ただし、図２のタイミングチャートでは、ＦＩＦＯ回路１１１のフルフラグは全期間にわたってオーバーフローしていないことを示すローレベルになっているとする。
【００２９】
時間ｔ１において、ＤＭＡコントローラ１４がメモリ１３に対してメモリデータＭＤａｔａの送信要求を行う。
時間ｔ２において、ＦＩＦＯ回路１１１はクロックＰＣＬＫの立ち上がりエッジでメモリデータＭＤａｔａを表示データＤＤａｔａとして表示装置１２へ送出する（Ｆｉｆｏ  Ｐｏｐ）。
【００３０】
時間ｔ３において、ＦＩＦＯ回路１１１はクロックＰＣＬＫの立ち上がりエッジでメモリデータＭＤａｔａを表示データＤＤａｔａとして表示装置１２へ送出し（Ｆｉｆｏ  Ｐｏｐ）、ＦＩＦＯ回路１１１がアンダーフローになったとする。ＦＩＦＯ回路１１１は、エンプティフラグをオン、つまり、通知信号ＵｎｄｅｒＦをハイレベルに立ち上げる。時間ｔ４において、クロックＰＣＬＫの立ち上がりエッジでＦＩＦＯ回路１１１が表示装置１２へ送出する表示データＤＤａｔａは時間ｔ３で表示装置１２へ送出した表示データＤＤａｔａである。
【００３１】
時間ｔ５において、時間ｔ１におけるＤＭＡコントローラ１４の送信要求により、メモリ１３に格納されていたメモリデータＭＤａｔａがＤＭＡコントローラ１４を介してＦＩＦＯ回路１１１に格納される（Ｆｉｆｏ  Ｐｕｓｈ）。これにより、ＦＩＦＯ回路１１１はアンダーフローでなくなるので、ＦＩＦＯ回路１１１は、エンプティフラグをオフ、つまり、通知信号ＵｎｄｅｒＦをローレベルに立ち下げる。
【００３２】
時間ｔ６において、ＦＩＦＯ回路１１１はクロックＰＣＬＫの立ち上がりエッジでメモリデータＭＤａｔａを表示データＤＤａｔａとして表示装置１２へ送出する（Ｆｉｆｏ  Ｐｏｐ）。
（表示制御回路の動作）
図１の表示システム１の表示制御回路１１の動作について図３を参照しつつ説明する。図３は表示制御回路１１の動作を示すタイミングチャートである。
【００３３】
時間ｔ１０１から時間ｔ１０４の期間は、通知信号ＵｎｄｅｒＦがローレベルであるので、クロックマスク回路１１２は、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。また、通知信号ＵｎｄｅｒＦがローレベルであるので、クロックカウンタ回路１１４は、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする（「２４７」→「０」→「１」→・・・→「７」）。
【００３４】
時間ｔ１０１におけるクロックカウンタ回路１１４のカウンタ値のカウントアップによりピクセルカウンタ値が「０」になると、水平同期信号生成回路１１６は水平同期信号Ｈｓｙｎｃをローレベルに立ち下げる。時間ｔ１０２におけるクロックカウンタ回路１１４のカウンタ値のカウントアップによりピクセルカウンタ値が「２」になると、水平同期信号生成回路１１６は水平同期信号Ｈｓｙｎｃをハイレベルに立ち上げる。
【００３５】
時間ｔ１０３におけるクロックカウンタ回路１１４のカウンタ値のカウントアップによりピクセルカウンタ値が「５」になると、イネーブル信号生成回路１１５はデータイネーブル信号ＤａｔａＥｎをハイレベルに立ち上げる。
時間ｔ１０４におけるＦＩＦＯ回路１１１から表示装置１２へのメモリデータＭＤａｔａの送出により、ＦＩＦＯ回路１１１がアンダーフローになったとする。すると、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをハイレベルに立ち上げる。これにより、クロックマスク回路１１２は、入力されるクロックＰＣＬＫにマスクをかけ、ハイレベルに固定した表示用クロックＰＣＬＫ’を表示装置１２へ送出する。
【００３６】
時間ｔ１０５において、クロックカウンタ回路１１４は、通知信号ＵｎｄｅｒＦがハイレベルであるので、カウンタ値のカウントアップを行わない。
時間ｔ１０６において、メモリデータＭＤａｔａがメモリ１３からＤＭＡコントローラ１４を経由してＦＩＦＯ回路１１１に格納されると、ＦＩＦＯ回路１１１はアンダーフローではなくなるので、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをローレベルに立ち下げる。これにより、クロックマスク回路１１２は、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。
【００３７】
時間ｔ１０７から時間ｔ１０８までの期間は、通知信号ＵｎｄｅｒＦがローレベルであるので、クロックマスク回路１１２は、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。また、通知信号ＵｎｄｅｒＦがローレベルであるので、クロックカウンタ回路１１４は、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする（「７」→「８」・・・→「２４０」）。
【００３８】
時間ｔ１０８におけるＦＩＦＯ回路１１１から表示装置１２へのメモリデータＭＤａｔａの送出により、ＦＩＦＯ回路１１１がアンダーフローになったとする。すると、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをハイレベルに立ち上げる。これにより、クロックマスク回路１１２は、入力されるクロックＰＣＬＫにマスクをかけ、ハイレベルに固定した表示用クロックＰＣＬＫ’を表示装置１２へ送出する。
【００３９】
時間ｔ１０９において、クロックカウンタ回路１１４は、通知信号ＵｎｄｅｒＦがハイレベルであるので、カウンタ値のカウントアップを行わない。
時間ｔ１１０において、メモリデータＭＤａｔａがメモリ１３からＤＭＡコントローラ１４を経由してＦＩＦＯ回路１１１に格納されると、ＦＩＦＯ回路１１１はアンダーフローでなくなるので、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをローレベルに立ち下げる。これにより、クロックマスク回路１１２は、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。
【００４０】
時間ｔ１１１から時間ｔ１１３までの期間は、通知信号ＵｎｄｅｒＦがローレベルであるので、クロックマスク回路１１２は、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。また、通知信号ＵｎｄｅｒＦがローレベルであるので、クロックカウンタ回路１１４は、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする（「２４０」→「２４１」→・・・→「２４７」→「０」）。
【００４１】
時間ｔ１１２におけるクロックカウンタ回路１１４のカウンタ値のカウントアップによりピクセルカウンタ値が「２４５」になると、イネーブル信号生成回路１１５はデータイネーブル信号ＤａｔａＥｎをローレベルに立ち下げる。
時間ｔ１１３におけるクロックカウンタ回路１１４のカウンタ値のカウントアップによりピクセルカウンタ値が「０」になると、水平同期信号生成回路１１６は水平同期信号Ｈｓｙｎｃをローレベルに立ち下げる。
【００４２】
時間ｔ１１から時間ｔ１３までの期間、水平同期カウンタ回路１１７は水平同期信号Ｈｓｙｎｃの立ち上がりエッジでカウンタ値を１カウントアップする（「３３２」→「０」→「１」→・・・→「３３２」）。時間ｔ１１における水平同期カウンタ回路１１７のカウンタ値のカウントアップにより同期カウンタ値が「０」になると、垂直同期信号生成回路１１８は垂直同期信号Ｖｓｙｎｃをローレベルに立ち下げる。そして、時間ｔ１２における水平同期カウンタ回路１１７のカウンタ値のカウントアップにより同期カウンタ値が「２」になると、垂直同期信号生成回路１１８は垂直同期信号Ｖｓｙｎｃをハイレベルに立ち上げる。
＜効果＞
上述した本実施の形態の表示システム１では、クロックマスク回路１１２はＦＩＦＯ回路１１１がアンダーフローにある期間はクロックＰＣＬＫにマスクをかけてハイレベルに固定した表示用クロックＰＣＬＫ’を表示装置１２へ送出する。これにより、ＦＩＦＯ回路１１１がアンダーフローにある期間は表示用クロックＰＣＬＫ’に立ち上がりエッジがないため、表示装置１２はＦＩＦＯ回路１１１がアンダーフローにある期間に表示データＤＤａｔａを表示するピクセル位置が次のピクセル位置に移行することがない。このため、ＦＩＦＯ回路１１１にアンダーフローが発生した場合であっても、表示データＤＤａｔａは本来表示されるべきピクセル位置に表示される。
【００４３】
また、ＦＩＦＯ回路１１１にアンダーフローが発生してクロックマスク回路１１２がクロックＰＣＬＫにマスクをかけた期間、クロックカウンタ回路１１４はクロックＰＣＬＫのカウントアップ動作を停止する。このため、ディスプレイのあるラインを描画中にＦＩＦＯ回路１１１がアンダーフローになっても、そのあるラインの描画が完了する前に次のラインの描画に移行することがない。
≪第２の実施の形態≫
以下、本発明の第２の実施の形態について図面を参照しつつ説明する。ただし、第２の実施の形態は、第１の実施の形態に、ＦＩＦＯ回路にアンダーフローが発生しても水平同期期間を一定にする構成を付加したものである。なお、第２の実施の形態において、第１の実施の形態と同様の機能を有する構成要件には同じ符号を付し、第１の実施の形態の説明が適用できるためその説明を省略する。
＜構成＞
本実施の形態における表示システムの構成について図４を参照しつつ説明する。図４は本実施の形態の表示システムの構成を示す構成図である。
【００４４】
表示システム２は、表示制御回路２１と表示装置１２とメモリ１３とＤＭＡコントローラ１４とを備える。
表示制御回路２１は、ＦＩＦＯ回路１１１と、クロックマスク回路１１２と、水平同期期間設定レジスタ１１３ａと、マスク期間カウンタ回路２１１と、水平同期期間補正回路２１２と、クロックカウンタ回路１１４ａと、イネーブル信号生成回路１１５と、水平同期信号生成回路１１６と、水平同期カウンタ回路１１７と、垂直同期信号生成回路１１８とを備える。
【００４５】
なお、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦを第１の実施の形態ではクロックマスク回路１１２及びクロックカウンタ回路１１４の夫々へ送出するのに対して、第２の実施の形態ではクロックマスク回路１１２、クロックカウンタ回路１１４ａ及びマスク期間カウンタ回路２１１の夫々へ送出する。水平同期信号生成回路１１６は水平同期信号Ｈｓｙｎｃを第１の実施の形態では表示装置１２及び水平同期カウンタ回路１１７の夫々へ送出するのに対して、第２の実施の形態では表示装置１２、水平同期カウンタ回路１１７及びマスク期間カウンタ回路２１１の夫々へ送出する。
【００４６】
水平同期期間設定レジスタ１１３ａは、クロックカウンタ回路１１４ａのカウント範囲の上限（水平同期クロック数）が設定され保持するレジスタであり、保持している水平同期クロック数を水平同期期間補正回路２１２へ送出する。ここでは、水平同期期間設定レジスタ１１３ａに保持された水平同期クロック数を「２４７」とする。
マスク期間カウンタ回路２１１は、外部よりクロックＰＣＬＫが入力され、ＦＩＦＯ回路１１１から通知信号ＵｎｄｅｒＦが入力され、水平同期信号生成回路１１６から水平同期信号Ｈｓｙｎｃが入力される。
【００４７】
マスク期間カウンタ回路２１１は、水平同期信号Ｈｓｙｎｃの立ち下がりエッジでカウンタ値を「０」に戻す。マスク期間カウンタ回路２１１は、通知信号ＵｎｄｅｒＦがハイレベルのとき、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする。また、マスク期間カウンタ回路２１１は、通知信号ＵｎｄｅｒＦがローレベルのときカウントアップ動作を停止する。つまり、マスク期間カウンタ回路２１１は、１ラインを描画中にＦＩＦＯ回路１１１がアンダーフローにあるときのクロックＰＣＬＫの立ち上がりエッジを計数していることになる。
【００４８】
水平同期期間補正回路２１２は、水平同期期間設定レジスタ１１３ａから水平同期クロック数が入力され、マスク期間カウンタ回路２１１からカウンタ値（以下、マスククロック数ＭＮｕｍという。）が入力される。水平同期期間補正回路２１２は、水平同期クロック数からマスククロック数ＭＮｕｍを減算し、減算値をクロックカウンタ回路１１４ａへ送出する。
【００４９】
クロックカウンタ回路１１４ａは、外部よりクロックＰＣＬＫが入力され、ＦＩＦＯ回路１１１から通知信号ＵｎｄｅｒＦが入力され、水平同期期間補正回路２１２から減算値（以下、補正水平同期クロック数という。）が入力される。なお、補正水平同期クロック数はＦＩＦＯ回路１１１にアンダーフローが発生していれば随時更新されていくことになる。クロックカウンタ回路１１４ａは、カウンタ値（ピクセルカウンタ値）をイネーブル信号生成回路１１５及び水平同期信号生成回路１１６の夫々へ送出する。
【００５０】
クロックカウンタ回路１１４ａは、通知信号ＵｎｄｅｒＦがローレベルのとき、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする。また、クロックカウンタ回路１１４ａは、通知信号ＵｎｄｅｒＦがハイレベルのときカウントアップ動作を停止する。つまり、クロックカウンタ回路１１４ａは、ＦＩＦＯ回路１１１がアンダーフローでない期間はカウントアップ動作を行い、ＦＩＦＯ回路１１１がアンダーフローの期間はカウントアップ動作を停止する。クロックカウンタ回路１１４ａは、カウンタ値「０」からカウンタ値「補正水平同期クロック数」までのカウントを繰り返し行う。
＜動作＞
図４の表示システム２の表示制御回路２１の動作について図５を参照しつつ説明する。図５は表示制御回路２１の動作を示すタイミングチャートである。なお、水平同期信号Ｈｓｙｎｃを基に垂直同期信号Ｖｓｙｎｃを生成する動作は第１の実施の形態の場合と同様であり、第１の実施の形態の説明が適用できるためその説明を省略する。
【００５１】
時間ｔ２０１から時間ｔ２０４までの期間は、通知信号ＵｎｄｅｒＦがローレベルであるので、クロックマスク回路１１２は、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。また、通知信号ＵｎｄｅｒＦがローレベルであるので、クロックカウンタ回路１１４ａは、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする（「２４７」→「０」→「１」→・・・→「７」）。
【００５２】
時間ｔ２０１におけるクロックカウンタ回路１１４ａのカウンタ値のカウントアップによりピクセルカウンタ値が「０」になると、水平同期信号生成回路１１６は水平同期信号Ｈｓｙｎｃをローレベルに立ち下げる。このとき、水平同期信号Ｈｓｙｎｃの立ち下がりエッジでマスク期間カウンタ回路２１１は、これから描画するラインにおけるＦＩＦＯ回路１１１がアンダーフローになっている期間のクロックＰＣＬＫのクロック数を計数するために、カウンタ値（マスククロック数ＭＮｕｍ）を「０」に戻す。水平同期期間補正回路２１２は水平同期期間設定レジスタ１１３ａに保持されている水平同期クロック数「２４７」からマスククロック数ＭＮｕｍ「０」を減算し、補正水平同期クロック数「２４７」をクロックカウンタ回路１１４ａへ送出する。
【００５３】
時間ｔ２０２におけるクロックカウンタ回路１１４ａのカウンタ値のカウントアップによりピクセルカウンタ値が「２」になると、水平同期信号生成回路１１６は水平同期信号Ｈｓｙｎｃをハイレベルに立ち上げる。
時間ｔ２０３におけるクロックカウンタ回路１１４ａのカウンタ値のカウントアップによりピクセルカウンタ値が「５」になると、イネーブル信号生成回路１１５はデータイネーブル信号ＤａｔａＥｎをハイレベルに立ち上げる。
【００５４】
時間ｔ２０４におけるＦＩＦＯ回路１１１から表示装置１２へのメモリデータＭＤａｔａの送出により、ＦＩＦＯ回路１１１がアンダーフローになったとする。すると、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをハイレベルに立ち上げる。これにより、クロックマスク回路１１２は、入力されるクロックＰＣＬＫにマスクをかけ、ハイレベルに固定した表示用クロックＰＣＬＫ’を表示装置１２へ送出する。
【００５５】
時間ｔ２０５において、クロックカウンタ回路１１４ａは、通知信号ＵｎｄｅｒＦがハイレベルであるので、カウンタ値のカウントアップを行わない。
マスク期間カウンタ回路２１１は、通知信号ＵｎｄｅｒＦがハイレベルであるので、クロックＰＣＬＫの立ち上がりエッジでカウンタ値（マスククロック数ＭＮｕｍ）を１カウントアップする（「０」→「１」）。水平同期期間補正回路２１２は水平同期クロック数「２４７」からマスククロック数ＭＮｕｍ「１」を減算し、補正水平同期クロック数「２４６」をクロックカウンタ回路１１４ａへ送出する。これにより、クロックカウンタ回路１１４ａのカウント範囲の上限が「２４６」に更新される。
【００５６】
時間ｔ２０６において、メモリデータＭＤａｔａがメモリ１３からＤＭＡコントローラ１４を経由してＦＩＦＯ回路１１１に格納されると、ＦＩＦＯ回路１１１はアンダーフローでなくなるので、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをローレベルに立ち下げる。これにより、クロックマスク回路１１２は、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。
【００５７】
時間ｔ２０７から時間ｔ２０８までの期間は、通知信号ＵｎｄｅｒＦがローレベルであるので、クロックマスク回路１１２は、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。また、通知信号ＵｎｄｅｒＦがローレベルであるので、クロックカウンタ回路１１４ａは、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする（「７」→「８」・・・→「２４０」）。
【００５８】
時間ｔ２０８におけるＦＩＦＯ回路１１１から表示装置１２へのメモリデータＭＤａｔａの送出により、ＦＩＦＯ回路１１１がアンダーフローになったとする。すると、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをハイレベルに立ち上げる。これにより、クロックマスク回路１１２は、入力されるクロックＰＣＬＫにマスクをかけ、ハイレベルに固定した表示用クロックＰＣＬＫ’を表示装置１２へ送出する。
【００５９】
時間ｔ２０９において、クロックカウンタ回路１１４ａは、通知信号ＵｎｄｅｒＦがハイレベルであるので、カウンタ値のカウントアップを行わない。
マスク期間カウンタ回路２１１は、通知信号ＵｎｄｅｒＦがハイレベルであるので、クロックＰＣＬＫの立ち上がりエッジでカウンタ値（マスククロック数ＭＮｕｍ）を１カウントアップする（「１」→「２」）。水平同期期間補正回路２１２は水平同期クロック数「２４７」からマスククロック数ＭＮｕｍ「２」を減算し、補正水平同期クロック数「２４５」をクロックカウンタ回路１１４ａへ送出する。これにより、クロックカウンタ回路１１４ａのカウント範囲の上限が「２４５」に更新される。
【００６０】
時間ｔ２１０において、メモリデータＭＤａｔａがメモリ１３からＤＭＡコントローラ１４を経由してＦＩＦＯ回路１１１に格納されると、ＦＩＦＯ回路１１１はアンダーフローでなくなるので、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをローレベルに立ち下げる。これにより、クロックマスク回路１１２は、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。
【００６１】
時間ｔ２１１から時間ｔ２１３までの期間は、通知信号ＵｎｄｅｒＦがローレベルであるので、クロックマスク回路１１２は、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。また、通知信号ＵｎｄｅｒＦがローレベルであるので、クロックカウンタ回路１１４ａは、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする（「２４０」→「２４１」→・・・→「２４５」→「０」）。ここで、クロックカウンタ回路１１４ａのカウント範囲の上限は水平同期期間補正回路２１２の処理により「２４５」になっているため、クロックカウンタ回路１１４ａのカウント値は「２４５」から「０」になる。
【００６２】
時間ｔ２１２におけるクロックカウンタ回路１１４ａのカウンタ値のカウントアップによりピクセルカウンタ値が「２４５」になると、イネーブル信号生成回路１１５はデータイネーブル信号ＤａｔａＥｎをローレベルに立ち下げる。
＜効果＞
上述した本実施の形態の表示システム２によれば、第１の実施の形態の表示システム１の場合と同様、ＦＩＦＯ回路１１１にアンダーフローが発生しても表示画像の表示ずれを防止することができる。
【００６３】
また、ＦＩＦＯ回路１１１にアンダーフローが発生すると、クロックカウンタ回路１１４ａのカウントアップ動作は停止する。しかしながら、その停止している期間分のクロックＰＣＬＫの立ち上がりエッジのエッジ数をマスク期間カウンタ回路２１１でカウントし、クロックカウンタ回路１１４ａのカウント範囲の上限をマスク期間カウンタ回路２１１のカウンタ値分小さくなるように補正している。このため、ＦＩＦＯ回路１１１にアンダーフローが発生しても水平同期期間を一定にすることができる。
≪第３の実施の形態≫
以下、本発明の第３の実施の形態について図面を参照しつつ説明する。ただし、第１の実施の形態はＦＩＦＯ回路がアンダーフローにある場合には必ずクロックＰＣＬＫにマスクをかける。これに対して、第３の実施の形態はＦＩＦＯ回路がアンダーフローにある場合にクロックＰＣＬＫにマスクをかける動作モード（以下、マスク処理モードという。）とクロックＰＣＬＫにマスクをかけない動作モード（以下、非マスク処理モードという。）とを選択することができる。なお、第３の実施の形態において、第１の実施の形態と同様の機能を有する構成要件には同じ符号を付し、第１の実施の形態の説明が適用できるためその説明を省略する。
＜構成＞
以下、本実施の形態における表示システムの構成について図６を参照しつつ説明する。図６は本実施の形態の表示システムの構成を示す構成図である。
【００６４】
表示システム３は、表示制御回路３１と表示装置１２とメモリ１３とＤＭＡコントローラ１４とＣＰＵ１５とを備える。
表示制御回路３１は、ＦＩＦＯ回路１１１と、クロックマスク設定レジスタ３１１と、マスク信号生成回路３１２と、クロックマスク回路１１２ｂと、水平同期期間設定レジスタ１１３と、クロックカウンタ回路１１４ｂと、イネーブル信号生成回路１１５と、水平同期信号生成回路１１６と、水平同期カウンタ回路１１７と、垂直同期信号生成回路１１８とを備える。
【００６５】
なお、ＦＩＦＯ回路１１１は、通知信号ＵｎｄｅｒＦを第１の実施の形態ではクロックマスク回路１１２及びクロックカウンタ回路１１４の夫々へ送出するのに対して、第３の実施の形態ではマスク信号生成回路３１２及びＣＰＵ１５の夫々へ送出する。また、水平同期期間設定レジスタ１１３は水平同期クロック数を第１の実施の形態ではクロックカウンタ回路１１４へ送出するのに対して、第３の実施の形態ではクロックカウンタ回路１１４ｂへ送出する。
【００６６】
クロックマスク設定レジスタ３１１は、表示制御装置３１全体をマスク処理モード及び非マスク処理モードの何れで動作させるかを外部からの指定により設定するためのレジスタであり、レジスタ値をマスク信号生成回路３１２及びＣＰＵ１５の夫々へ送出する。ここでは、クロックマスク設定レジスタ３１１は１ビットのカウンタビットで構成され、マスク処理モードの場合にはレジスタ値として「１」が設定され、非マスク処理モードの場合にはレジスタ値として「０」が設定される。
【００６７】
マスク信号生成回路３１２は、クロックマスク設定レジスタ３１１からレジスタ値が入力され、ＦＩＦＯ回路１１１から通知信号ＵｎｄｅｒＦが入力される。マスク信号生成回路３１２は、レジスタ値が「１」（マスク処理モード）の場合には通知信号ＵｎｄｅｒＦをそのままマスク信号ＭＡＳＫとしてクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。また、マスク信号生成回路３１２は、レジスタ値が「０」（非マスク処理モード）の場合には通知信号ＵｎｄｅｒＦにマスクをかけ、レベルをローレベルに固定したマスク信号ＭＡＳＫをクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。
【００６８】
クロックマスク回路１１２ｂは、外部よりクロックＰＣＬＫが入力され、マスク信号生成回路３１２からマスク信号ＭＡＳＫが入力される。クロックマスク回路１１２ｂは、マスク信号ＭＡＳＫがローレベルのときクロックＰＣＬＫを表示用クロックＰＣＬＫ’として表示装置１２へ送出する。クロックマスク回路１１２ｂは、マスク信号ＭＡＳＫがハイレベルのとき入力されるクロックＰＣＬＫ’にマスクをかけ、レベルをハイレベルに固定した表示用クロックＰＣＬＫ’を表示装置１２へ送出する。つまり、クロックマスク回路１１２ｂは、マスク処理モードの場合ＦＩＦＯ回路１１１がアンダーフローである期間は入力されるクロックＰＣＬＫにマスクをかける。また、クロックマスク回路１１２ｂは、非マスク処理モードの場合ＦＩＦＯ回路１１１がアンダーフローであるか否かにかかわらず、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。
【００６９】
クロックカウンタ回路１１４ｂは、外部よりクロックＰＣＬＫが入力され、マスク信号生成回路３１２からマスク信号ＭＡＳＫが入力され、水平同期期間設定レジスタ１１３から水平同期クロック数が入力される。クロックカウンタ回路１１４ｂは、カウンタ値をイネーブル信号生成回路１１５及び水平同期信号生成回路１１６の夫々へ送出する。
クロックカウンタ回路１１４ｂは、マスク信号ＭＡＳＫがローレベルのとき、入力されるクロックＰＣＬＫの立ち上がりエッジでカウント値を１カウントアップする。また、クロックカウンタ回路１１４ｂは、マスク信号ＭＡＳＫがハイレベルのときカウントアップ動作を停止する。クロックカウンタ回路１１４ｂは、カウンタ値「０」からカウンタ値「水平同期クロック数」までのカウントを繰り返し行う。つまり、クロックカウンタ回路１１４ｂは、マスク処理モードの場合ＦＩＦＯ回路１１１がアンダーフローでない期間のみカウントアップ動作を行う。また、クロックカウンタ回路１１４ｂは、非マスク処理モードの場合ＦＩＦＯ回路１１１がアンダーフローであるか否かにかかわらずカウントアップ動作を行う。
【００７０】
ＣＰＵ１５は、クロックマスク設定レジスタ３１１からレジスタ値が入力され、ＦＩＦＯ回路１１１から通知信号ＵｎｄｅｒＦが入力される。ＣＰＵ１５は、入力されるレジスタ値が「１」（マスク処理モード）の場合にはＦＩＦＯ回路１１１にアンダーフローが発生してもアンダーフローの要因を取り除くためのアンダーフローエラー処理を行わない。ＣＰＵ１５は、入力されるレジスタ値が「０」（非マスク処理モード）の場合には通知信号ＵｎｄｅｒＦがハイレベルになるとアンダーフローエラー処理を行う。ここで、アンダーフローエラー処理は、例えば、ＤＭＡコントローラ１４のメモリ１３へのアクセスの優先度を高くする、表示データの作成プログラムを軽負荷な作成プログラムに変更する、表示以外のプログラムを停止する、などである。
＜動作＞
（マスク処理モード時の動作）
図６の表示システム３のマスク処理モード時の表示制御回路３１の動作について図７を参照しつつ説明する。図７はマスク処理モード時の表示制御回路３１の動作を示すタイミングチャートである。なお、水平同期信号Ｈｓｙｎｃを基に垂直同期信号Ｖｓｙｎｃを生成する動作は第１の実施の形態の場合と同様であり、第１の実施の形態の説明が適用できるためその説明を省略する。
【００７１】
ただし、クロックマスク設定レジスタ３１１には「１」（マスク処理モード）が設定されており、マスク信号生成回路３１２は通知信号ＵｎｄｅｒＦをそのままマスク信号ＭＡＳＫとしてクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。
時間ｔ３０１から時間ｔ３０４の期間は、通知信号ＵｎｄｅｒＦはローレベルであり、マスク信号生成回路３１２は、ローレベルのマスク信号ＭＡＳＫをクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。
【００７２】
クロックマスク回路１１２ｂは、入力されるマスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。また、クロックカウンタ回路１１４ｂは、マスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする（「２４７」→「０」→「１」→・・・→「７」）。
【００７３】
時間ｔ３０１におけるクロックカウンタ回路１１４ｂのカウンタ値のカウントアップによりピクセルカウンタ値が「０」になると、水平同期信号生成回路１１６は水平同期信号Ｈｓｙｎｃをローレベルに立ち下げる。時間ｔ３０２におけるクロックカウンタ回路１１４ｂのカウンタ値のカウントアップによりピクセルカウンタ値が「２」になると、水平同期信号生成回路１１６は水平同期信号Ｈｓｙｎｃをハイレベルに立ち上げる。
【００７４】
時間ｔ３０３におけるクロックカウンタ回路１１４ｂのカウンタ値のカウントアップによりピクセルカウンタ値が「５」になると、イネーブル信号生成回路１１５はデータイネーブル信号ＤａｔａＥｎをハイレベルに立ち上げる。
時間ｔ３０４におけるＦＩＦＯ回路１１１から表示装置１２へのメモリデータＭＤａｔａの送出により、ＦＩＦＯ回路１１１がアンダーフローになったとする。すると、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをハイレベルに立ち上げる。マスク信号生成回路３１２は、ハイレベルの通知信号ＵｎｄｅｒＦをそのままマスク信号ＭＡＳＫとしてクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。このとき、ＣＰＵ１５は、ハイレベルの通知信号ＵｎｄｅｒＦが入力されるが、クロックマスク設定レジスタ３１１からレジスタ値「１」（マスク処理モード）が入力されているので、アンダーフローエラー処理を行わない。
【００７５】
時間ｔ３０５において、クロックカウンタ回路１１４ｂは、マスク信号ＭＡＳＫがハイレベルであるので、カウンタ値のカウントアップを行わない。
時間ｔ３０６において、メモリデータＭＤａｔａがメモリ１３からＤＭＡコントローラ１４を経由してＦＩＦＯ回路１１１に格納されると、ＦＩＦＯ回路１１１はアンダーフローではなくなるので、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをローレベルに立ち下げる。マスク信号生成回路３１２は、ローレベルの通知信号ＵｎｄｅｒＦをそのままマスク信号ＭＡＳＫとしてクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。
【００７６】
時間ｔ３０７から時間ｔ３０８までの期間は、通知信号ＵｎｄｅｒＦがローレベルであり、マスク信号生成回路３１２は、ローレベルのマスク信号ＭＡＳＫをクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。
クロックマスク回路１１２ｂは、マスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。また、クロックカウンタ回路１１４ｂは、マスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする（「７」→「８」・・・→「２４０」）。
【００７７】
時間ｔ３０８におけるＦＩＦＯ回路１１１から表示装置１２へのメモリデータＭＤａｔａの送出により、ＦＩＦＯ回路１１１がアンダーフローになったとする。すると、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをハイレベルに立ち上げる。マスク信号生成回路３１２は、ハイレベルの通知信号ＵｎｄｅｒＦをそのままマスク信号ＭＡＳＫとしてクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。
【００７８】
時間ｔ３０９において、クロックカウンタ回路１１４ｂは、マスク信号ＭＡＳＫがハイレベルであるので、カウンタ値のカウントアップを行わない。
時間ｔ３１０において、メモリデータＭＤａｔａがメモリ１３からＤＭＡコントローラ１４を経由してＦＩＦＯ回路１１１に格納されると、ＦＩＦＯ回路１１１はアンダーフローではなくなるので、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをローレベルに立ち下げる。マスク信号生成回路３１２は、ローレベルの通知信号ＵｎｄｅｒＦをそのままマスク信号ＭＡＳＫとしてクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。
【００７９】
時間ｔ３１１から時間ｔ３１３までの期間は、通知信号ＵｎｄｅｒＦがローレベルであり、マスク信号生成回路３１２は、ローレベルのマスク信号ＭＡＳＫをクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。
クロックマスク回路１１２ｂは、マスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。また、クロックカウンタ回路１１４ｂは、マスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする（「２４０」→「２４１」→・・・→「２４７」→「０」）。
【００８０】
時間ｔ３１２におけるクロックカウンタ回路１１４ｂのカウンタ値のカウントアップによりピクセルカウンタ値が「２４５」になると、イネーブル信号生成回路１１５はデータイネーブル信号ＤａｔａＥｎをローレベルに立ち下げる。
時間ｔ３１３におけるクロックカウンタ回路１１４ｂのカウンタ値のカウントアップによりピクセルカウンタ値が「０」になると、水平同期信号生成回路１１６は水平同期信号Ｈｓｙｎｃをローレベルに立ち下げる。
（非マスク処理モード時の動作）
図６の表示システム３の非マスク処理モード時の表示制御回路３１の動作について図８を参照しつつ説明する。図８は非マスク処理モード時の表示制御回路３１の動作を示すタイミングチャートである。なお、水平同期信号Ｈｓｙｎｃを基に垂直同期信号Ｖｓｙｎｃを生成する動作は第１の実施の形態の場合と同様であり、第１の実施の形態の説明が適用できるためのその説明を省略する。
【００８１】
ただし、クロックマスク設定レジスタ３１１には「０」（非マスク処理モード）が設定されており、マスク信号生成回路３１２は通知信号ＵｎｄｅｒＦにマスクをかけて、レベルをローレベルに固定したマスク信号ＭＡＳＫをクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。
時間ｔ４０１から時間ｔ４０４の期間は、マスク信号生成回路３１２は、通知信号ＵｎｄｅｒＦにマスクをかけローレベルのマスク信号ＭＡＳＫをクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。
【００８２】
クロックマスク回路１１２ｂは、入力されるマスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。また、クロックカウンタ回路１１４ｂは、マスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする（「２４７」→「０」→「１」→・・・→「７」）。
【００８３】
時間ｔ４０１におけるクロックカウンタ回路１１４ｂのカウンタ値のカウントアップによりピクセルカウンタ値が「０」になると、水平同期信号生成回路１１６は水平同期信号Ｈｓｙｎｃをローレベルに立ち下げる。時間ｔ４０２におけるクロックカウンタ回路１１４ｂのカウンタ値のカウントアップによりピクセルカウンタ値が「２」になると、水平同期信号生成回路１１６は水平同期信号Ｈｓｙｎｃをハイレベルに立ち上げる。
【００８４】
時間ｔ４０３におけるクロックカウンタ回路１１４ｂのカウンタ値のカウントアップによりピクセルカウンタ値が「５」になると、イネーブル信号生成回路１１５はデータイネーブル信号ＤａｔａＥｎをハイレベルに立ち上げる。
時間ｔ４０４におけるＦＩＦＯ回路１１１から表示装置１２へのメモリデータＭＤａｔａの送出により、ＦＩＦＯ回路１１１がアンダーフローになったとする。すると、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをハイレベルに立ち上げる。マスク信号生成回路３１２は、クロックマスク設定レジスタ３１１からレジスタ値「０」（非マスク処理モード）が入力されているので、通知信号ＵｎｄｅｒＦにマスクをかけローレベルのマスク信号ＭＡＳＫをクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。クロックマスク回路１１２ｂは、ＦＩＦＯ回路１１１がアンダーフローになっているがマスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。
【００８５】
このとき、ＣＰＵ１５は、ハイレベルの通知信号ＵｎｄｅｒＦが入力され、クロックマスク設定レジスタ３１１からレジスタ値「０」（非マスク処理モード）が入力されているので、アンダーフローエラー処理を行う。
時間ｔ４０５において、クロックカウンタ回路１１４は、マスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする（「７」→「８」）。
【００８６】
時間ｔ４０６において、メモリデータＭＤａｔａがメモリ１３からＤＭＡコントローラ１４を経由してＦＩＦＯ回路１１１に格納されると、ＦＩＦＯ回路１１１はアンダーフローではなくなるので、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをローレベルに立ち下げる。マスク信号生成回路３１２は、通知信号ＵｎｄｅｒＦにマスクをかけローレベルのマスク信号ＭＡＳＫをクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。
【００８７】
時間ｔ４０７から時間ｔ４０８までの期間は、マスク信号生成回路３１２は、通知信号ＵｎｄｅｒＦにマスクをかけ、ローレベルのマスク信号ＭＡＳＫをクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。
クロックマスク回路１１２ｂは、マスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。また、クロックカウンタ回路１１４ｂは、マスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする（「８」→「９」・・・→「２３９」）。
【００８８】
時間ｔ４０８におけるＦＩＦＯ回路１１１から表示装置１２へのメモリデータＭＤａｔａの送出により、ＦＩＦＯ回路１１１がアンダーフローになったとする。すると、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをハイレベルに立ち上げる。マスク信号生成回路３１２は、クロックマスク設定レジスタ３１１からレジスタ値「０」（非マスク処理モード）が入力されているので、通知信号ＵｎｄｅｒＦにマスクをかけローレベルのマスク信号ＭＡＳＫをクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。クロックマスク回路１１２ｂは、ＦＩＦＯ回路１１１がアンダーフローになっているがマスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。
【００８９】
時間ｔ４０９において、クロックカウンタ回路１１４は、マスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする（「２３９」→「２４０」）。
時間ｔ４１０において、メモリデータＭＤａｔａがメモリ１３からＤＭＡコントローラ１４を経由してＦＩＦＯ回路１１１に格納されると、ＦＩＦＯ回路１１１はアンダーフローではなくなるので、ＦＩＦＯ回路１１１は通知信号ＵｎｄｅｒＦをローレベルに立ち下げる。マスク信号生成回路３１２は、通知信号ＵｎｄｅｒＦにマスクをかけローレベルのマスク信号ＭＡＳＫをクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。
【００９０】
時間ｔ４１１から時間ｔ４１３までの期間は、マスク信号生成回路３１２は、通知信号ＵｎｄｅｒＦにマスクをかけ、ローレベルのマスク信号ＭＡＳＫをクロックマスク回路１１２ｂ及びクロックカウンタ回路１１４ｂの夫々へ送出する。
クロックマスク回路１１２ｂは、マスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫをそのまま表示用クロックＰＣＬＫ’として表示装置１２へ送出する。また、クロックカウンタ回路１１４ｂは、マスク信号ＭＡＳＫがローレベルであるので、入力されるクロックＰＣＬＫの立ち上がりエッジでカウンタ値を１カウントアップする（「２４０」→「２４１」・・・→「２４７」→「０」）。
【００９１】
時間ｔ４１２におけるクロックカウンタ回路１１４ｂのカウンタ値のカウントアップによりピクセルカウンタ値が「２４５」になると、イネーブル信号生成回路１１５はデータイネーブル信号ＤａｔａＥｎをローレベルに立ち下げる。
時間ｔ４１３におけるクロックカウンタ回路１１４ｂのカウンタ値のカウントアップによりピクセルカウンタ値が「０」になると、水平同期信号生成回路１１６は水平同期信号Ｈｓｙｎｃをローレベルに立ち下げる。
（ＣＰＵの動作）
図６の表示システム１のＣＰＵ１５の動作について図９を参照しつつ説明する。図９はＣＰＵ１５の動作を示すフローチャートである。
【００９２】
ＣＰＵ１５はＦＩＦＯ回路１１１から入力される通知信号ＵｎｄｅｒＦを監視し、つまり、ＦＩＦＯ回路１１１でのアンダーフローの発生を監視する。そして、監視中にＣＰＵ１５が通知信号ＵｎｄｅｒＦのレベルがハイレベルになったこと、つまり、ＦＩＦＯ回路１１１にアンダーフローが発生したことを検知する（ステップＳ１０１）。ＣＰＵ１５はクロックマスク設定レジスタ１１８から入力されるレジスタ値により表示制御回路３１がマスク処理モードで動作しているか非処理マスク処理モードで動作をしているか判断する（ステップＳ１０２）。マスク処理モードで動作していると判断した場合には（Ｓ１０２：マスク処理モード）図９の処理を終了する。非マスク処理モードで動作していると判断した場合には（Ｓ１０２：非マスク処理モード）、ＣＰＵ１５はアンダーフローエラー処理を行い（ステップＳ１０３）、図９の処理を終了する。
＜効果＞
上述した本実施の形態の表示システム３によれば、ＦＩＦＯ回路１１１にアンダーフローが発生した場合にクロックＰＣＬＫにマスクをかけるマスク処理モードとマスクをかけない非マスク処理モードの双方に表示制御回路３１を利用することができ、大量生産によるコストパフォーマンスの向上が期待できる。
【００９３】
表示制御ソフトウェアを本発明の機能を搭載していない機種と同じ制御フローにし、アンダーフロー発生時の画面表示状態を本発明の機能を搭載しない機種と同じ状態にしたい場合には非マスクモードを選択することで実現できる。こうすることで、多品種で同じソフトウェアを適用し、同じ表示結果を得ることができるため、開発効率の向上も期待できる。
【００９４】
なお、第１から第３の各実施の形態では表示装置１２とのインターフェースとしてデジタルインターフェースの例を示したが、低振幅差動シリアルインターフェースに変換する場合でも本発明は有効である。また、表示データのアンダーフローの少し前の状態を入力し、ピクセルクロックの周波数を遅くすることも本質的に同義である。
≪補足≫
本発明は上記の第１から第３の実施の形態に限定されるものではなく、例えば、次のようなものであってもよい。
【００９５】
第３の実施の形態で説明したクロックマスク設定レジスタ３１１とマスク信号生成回路３１２とを第２の実施の形態の表示制御回路２１に組み込むようにしてもよい。
【産業上の利用可能性】
【００９６】
本発明は、表示装置のディスプレイに表示データを表示する表示制御装置、表示制御装置を含む表示システムに利用することが可能である。
【図面の簡単な説明】
【００９７】
【図１】第１の実施の形態の表示システムの構成を示す構成図。
【図２】図１の表示システムの動作を示すタイミングチャート。
【図３】図１の表示システムの動作を示すタイミングチャート。
【図４】第２の実施の形態の表示システムの構成を示す構成図。
【図５】図４の表示システムの動作を示すタイミングチャート。
【図６】第３の実施の形態の表示システムの構成を示す構成図。
【図７】図６の表示システムの動作を示すタイミングチャート。
【図８】図６の表示システムの動作を示すタイミングチャート。
【図９】図６のＣＰＵの動作を示すフローチャート。
【図１０】従来の問題を説明するための図。
【符号の説明】
【００９８】
１  表示システム
１１  表示制御回路
１２  表示装置
１３  メモリ
１４  ＤＭＡコントローラ
１１１  ＦＩＦＯ回路
１１２  クロックマスク回路
１１３  水平同期期間設定レジスタ
１１４  クロックカウンタ回路
１１５  イネーブル信号生成回路
１１６  水平同期信号生成回路
１１７  水平同期カウンタ回路
１１８  垂直同期信号生成回路
【図１】
0004833207.tif 000002
【図２】
0004833207.tif 000003
【図３】
0004833207.tif 000004
【図４】
0004833207.tif 000005
【図５】
0004833207.tif 000006
【図６】
0004833207.tif 000007
【図７】
0004833207.tif 000008
【図８】
0004833207.tif 000009
【図９】
0004833207.tif 000010
【図１０】
0004833207.tif 000011