【発明が解決しようとする課題】
【0007】
本発明者は所定周期毎にブロック単位でデータが供給されるバッファメモリの記憶容量をブロック単位のデータ量よりも小さくしてバッファメモリを制御することについて検討した。そのような制御形態として、容量を削減した2個のバッファメモリを交互に書込みと読み出しを切り替えるように並列動作させることは従来から考えられるが、これではバッファメモリのサイズは実施的に縮小されず効果がない。そこで、バッファメモリをFIFO(First-In First-Out)動作させる構成について本発明者は新たに検討した。記憶容量の小さなバッファメモリに書込みアドレスカウンタと読出しアドレスカウンタを設け、ホスト装置の動作に同期して供給されるデータを書込みアドレスカウンタをインクリメントしながら書込み、書込んだデータを表示動作に同期して読出しアドレスカウンタをインクリメントしながら読み出す操作を行う。このとき、読出しアドレスカウンタの値が書込みアドレスカウンタの値を追い越さないように双方のインクリメント動作を調停する。
【0008】
しかしながら、単にFIFOバッファの構成を採用しただけでは、書込みアドレスカウンタと読出しアドレスカウンタの調停のようなアドレスカウント動作の管理が煩雑になるという問題点がある。更に、表示データ等のようにそのデータ配列に意味のあるデータを扱う場合に、ESD(ElectroStatic Discharge)やクロストークノイズ等の原因でアドレスカウンタの値が不所望に変化して、書込みアドレスと読出しアドレスが一旦ずれてしまうと、その後ICがリセットされるまで各表示フレームで表示がずれて乱れるという問題点が見出された。
【0009】
上記アドレスカウンタのずれを防止すると共にカウント動作の管理を簡素化するという観点から、フレーム単位でアドレスカウンタを初期値にリセットする構成についても検討した。1フレーム期間[s] × 書込み速度[bps] = 1フレーム中の表示期間[s] × 読出し速度[bps]、と言う関係から、ICチップの占有面積削減を目的としてバッファメモリの記憶容量を1フレーム分のデータ容量よりも削減した場合、1フレーム分の画像データがバッファメモリに入りきらなくなり、1フレーム期間内にバッファメモリのアドレスカウンタがラップアラウンドに複数回インクリメント動作することになる。これにより、フレーム境界部分の書込みデータがバッファメモリの最下位側に格納されていると仮定すると、そのデータの読出しが完了される前に、次のフレームの書込みが開始される場合、書込みアドレスカウンタが初期値にリセットされてバッファメモリの最下位側から次のフレームデータの書込みが開始され、その結果、フレーム境界でデータ破壊が起きる虞のあることが明らかになった。このデータ破壊を回避するため、バッファメモリのアドレスカウンタのリセット動作を止めると、ノイズ等の外的要因でアドレスカウンタがずれた場合に、ずれが戻らずに誤表示が継続する問題を発生することについては、上述の通りである。その他に、フレーム境界でのデータ破壊を防止するには、フレーム間の帰線期間を延ばして、次のフレームのデータ書込み開始までの時間を長くすることが考えられるが、ドライバICを駆動するホスト装置に制約を与えることになりドライバICの価値が下がり、また、帰線期間を延ばすと相対的に表示期間が短くなってドライバICや液晶パネルに対する要求性能が無駄に高くなるというリスクがある。
【0010】
本発明の目的は、ブロック単位でデータが供給されるバッファメモリの記憶容量削減に当たって、アドレスカウンタの不所望な変化に起因して読出しデータのずれが継続することを防止すると共に、ブロック単位のデータがブロック境界付近で消失するのを防止することにある。
【0011】
本発明の前記並びにその他の目的と新規な特徴は本明細書の記述及び添付図面から明らかになるであろう。
【課題を解決するための手段】
【0012】
本願において開示される発明のうち代表的なものの概要を簡単に説明すれば下記の通りである。尚、本項において括弧内に記載した図面内参照符号などは理解を容易化するための一例である。
【0013】
〔1〕<バッファメモリへのブロック単位の並列的書込み及び読出しのラップアラウンド制御>
バッファメモリ装置は、所定周期の外部同期信号(Vsync_ex)に同期してブロック単位でデータ(DTdsp)が供給されるバッファメモリ(20)と、前記ブロック単位で供給されたデータを前記バッファメモリに順次書込み、書込まれたデータを書込み速度よりも速い速度で読出すアクセス回路(5)と、を有する。前記アクセス回路は、前記バッファメモリの書込みに用いる書込みアドレス(ADRwr)をラップアラウンドに順次生成する書込みアドレスカウンタ(35)と、前記バッファメモリの読出しに用いる読出しアドレス(ADRrd)をラップアラウンドに順次生成する読出しアドレスカウンタ(34)と、前記バッファメモリに書込む前記ブロック単位の先頭データの書込みに用いる書込み開始アドレス(ADRwr_s)を前記ブロック単位毎に順次更新して保持するアドレスレジスタ(37)と、を有する。前記読出しアドレスカウンタは、前記バッファメモリから前記ブロック単位の先頭データの読出しに用いる読み出し開始アドレスを、前記アドレスレジスタが保持する前記書込み開始アドレスとする。
【0014】
これによれば、アクセス回路はバッファメモリに書込んだデータを書込み速度よりも速い速度で読出すことができるからブロック単位でデータが供給されるバッファメモリの記憶容量の削減に資することができる。このとき、書込みアドレスカウンタ及び読出しアドレスカウンタはラップアラウンドで順次アドレスを生成し、ブロック単位毎に計数値を初期値にリセットすることを要しないからブロック単位のデータがブロック境界付近で消失することが防止される。更に、読出しアドレスカウンタはバッファメモリから読出すブロック単位のデータの読み出し開始アドレスを書込みアドレスカウンタの書込み開始アドレスに更新するから、ノイズ等の影響によって読み出しや書込み途中で読出しアドレスカウンタのカウント値又は書込みアドレスカウンタのカウント値が変化しても、その変化の影響は当該変化の発生したブロックの次のブロックのデータで止み、その影響がリセットされるまで延々と継続することを抑制することができる。
【0015】
〔2〕<計数イネーブル期間にクロック信号を計数してアクセスアドレスを生成>
項1において、前記書込みアドレスカウンタは前記外部同期信号の周期毎に計数動作が指示される期間に書込みクロック信号(CLKwr)を計数して書込みアドレスを生成し、前記読出しアドレスカウンタは前記外部同期信号に対して所定位相遅延した内部同期信号(Vsync_in)の周期毎に計数動作が指示される期間に読出しクロック信号(CLKrd)を計数して読出しアドレスを生成し、前記読出しクロック信号は書込みクロック信号よりも高い周波数を持つ。
【0016】
これによれば、書込み速度よりも読出し速度を高速化するための書込みアドレスカウンタと読出しアドレスカウンタのインクリメント動作の制御が容易に実現される。
【0017】
〔3〕<書込み制御回路と読出し制御回路>
項2において、アクセス回路は、前記書込みアドレスカウンタによる前記書込みクロック信号の計数サイクルに同期して、前記書込みアドレスを用いた書込み動作サイクルを発生する書込み制御回路(30)と、前記読出しアドレスカウンタによる前記読出しクロック信号の計数サイクルに同期して、前記読み出しアドレスを用いた読出し動作サイクルを発生する読出し制御回路(31)と、を有する。前記バッファメモリは、前記書込み動作サイクル毎に前記書込みアドレスに応ずる書込みアクセスアドレスによる書込み動作を行い、前記読出し動作サイクル毎に前記読出しアドレスに応ずる読み出しアクセスアドレスによる読出し動作を行う。
【0018】
これによれば、バッファメモリに対して書込みクロック信号の周波数に応ずる速度で書込みアクセスを行うことができ、バッファメモリに対して読出しクロック信号の周波数に応ずる速度で読出しアクセスを行うことができる。
【0019】
〔4〕<外部同期信号に同期して書込みアドレスカウンタが計数する書込み先頭アドレスを保持>
項2において、前記アドレスレジスタは、前記計数動作の指示に応答して計数動作を開始する前記書込みアドレスカウンタによる計数初期値を書込み開始アドレスとしてラッチする。
【0020】
これによれば、前記アドレスレジスタにブロックのデータの書込み開始アドレスを容易にラッチすることができる。
【0021】
〔5〕<内部同期信号に同期して書込み先頭アドレスを読出しアドレスカウンタにプリセット>
項4において、前記読出しアドレスカウンタは、前記読出しアドレスカウンタは、前記内部同期信号に同期して前記アドレスレジスタの書込み開始アドレスを前記読出し開始アドレスとしてプリセットする。
【0022】
これによれば、ブロックの先頭データの読出しアドレスとして読出しアドレスカウンタに書込み開始アドレスを容易にセットすることができる。
【0023】
〔6〕<ラップアラウンド値レジスタ>
項1において、前記アクセス回路は、設定値が書換え可能にされるラップアラウンド値レジスタを更に有する。前記書込みアドレスカウンタはその計数値が前記ラップアラウンド値レジスタの設定値に達した場合にその計数値を初期値に戻し、前記読出しアドレスカウンタはその計数値が前記ラップアラウンド値レジスタの設定値に達した場合にその計数値を初期値に戻す。
【0024】
これによれば、ラップアラウンド値レジスタの設定値次第で書込みアドレスカウンタ及び読出しアドレスカウンタのカウント幅を所望に決定することができる。
【0025】
〔7〕<ラップアラウンド値レジスタの設定上限値>
請求項6において、前記ラップアラウンド値レジスタの設定値は前記バッファメモリの記憶容量に応ずる値が上限値とされる、バッファメモリ装置。
【0026】
これによれば、ブロックのサイズなどに従ってバッファメモリの利用サイズをラップアラウンド値レジスタの値によって可変に設定することができる。
【0027】
〔8〕<バッファメモリへのブロック単位の並列的書込み及び読出しのラップアラウンド制御>
表示駆動デバイス(1)は、所定周期の外部フレーム同期信号(Vsync_ex)に同期してブロック単位で画像データ(DTdsp)が供給されるバッファメモリ(20)と、前記ブロック単位で供給された画像データを前記バッファメモリに順次書込み、書込まれたデータを書込み速度よりも速い速度で読出すアクセス回路(5)と、前記バッファメモリから読出された画像データを用いて表示タイミングに同期する表示駆動信号を出力する駆動回路(22)と、を有する。前記アクセス回路は、前記バッファメモリの書込みに用いる書込みアドレス(ADRwr)をラップアラウンドに順次生成する書込みアドレスカウンタ(35)と、前記バッファメモリの読出しに用いる読出しアドレス(ADRrd)をラップアラウンドに順次生成する読出しアドレスカウンタ(34)と、前記バッファメモリに書込む前記ブロック単位の先頭データの書込みに用いる書込み開始アドレス(ADRwr_s)を前記ブロック単位毎に順次更新して保持するアドレスレジスタ(37)と、を有する。前記読出しアドレスカウンタは、前記バッファメモリから前記ブロック単位の先頭データの読出しに用いる読出し開始アドレスを、前記アドレスレジスタが保持する書込み開始アドレスとする。
【0028】
これによれば、ブロック単位でデータが供給されるバッファメモリの記憶容量の削減に資することができる。このとき、ブロック単位のデータがフレーム境界のようなブロック境界付近で消失することが防止される。この書込みデータの消失防止には、フレーム間の帰線期間を長く設定したり、次のフレームのデータ書込み開始までの時間を長く設定することを要しないから、表示ドライバICを駆動するホスト装置への制約が増したり、ドライバICや液晶パネルに対する要求性能が過剰に高くなることもない。更に、ノイズ等の影響によって読み出しや書込み途中で読出しアドレスカウンタのカウント値又は書込みアドレスカウンタのカウント値が変化しても、それの変化の影響は当該変化の発生したブロックの次のブロックのデータで止み、その影響がリセットされるまで延々と継続することを抑制することができる。したがって、ノイズによる表示の乱れが継続するのを防止することができる。
【0029】
〔9〕<計数イネーブル期間にクロック信号を計数してアクセスアドレスを生成>
項8において、前記書込みアドレスカウンタは前記外部フレーム同期信号(Vsync_ex)の周期毎に計数動作が指示される期間に書込みクロック信号(CLKwr)を計数して書込みアドレスを生成し、前記読出しアドレスカウンタは前記外部フレーム同期信号に対して所定位相遅延した内部フレーム同期信号(Vsync_in)の周期毎に計数動作が指示される期間に読出しクロック信号を計数して読出しアドレスを生成する。前記読出しクロック信号は書込みクロック信号よりも高い周波数を持つ。
【0030】
これによれば、項2と同様の作用効果を奏する。
【0031】
〔10〕<書込み制御回路と読出し制御回路>
項9において、アクセス回路は、前記書込みアドレスカウンタによる前記書込みクロック信号の計数サイクルに同期して、前記書込みアドレスを用いた書込み動作サイクルを発生する書込み制御回路(30)と、前記読出しアドレスカウンタによる前記読出しクロック信号の計数サイクルに同期して、前記読み出しアドレスを用いた読出し動作サイクルを発生する読出し制御回路(31)と、を有する。前記バッファメモリは、前記書込み動作サイクル毎に前記書込みアドレスに応ずる書込みアクセスアドレスによる書込み動作を行い、前記読出し動作サイクル毎に前記読出しアドレスに応ずる読出しアクセスアドレスによる読出し動作を行う。
【0032】
これによれば、項3と同様の作用効果を奏する。
【0033】
〔11〕<外部フレーム同期信号に同期して書込みアドレスカウンタが計数する書込み先頭アドレスを保持>
項9において、前記アドレスレジスタは、前記計数動作の指示に応答して計数動作を開始する前記書込みアドレスカウンタによる計数初期値を書込み先頭アドレスとしてラッチする。
【0034】
これによれば、項4と同様の作用効果を奏する。
【0035】
〔12〕<内部フレーム同期信号に同期して書込み先頭アドレスを読出しアドレスカウンタにプリセット>
項11において、前記読出しアドレスカウンタは、前記内部フレーム同期信号に同期して前記アドレスレジスタの書込み開始アドレスを前記読出し開始アドレスとしてプリセットする。
【0036】
これによれば、項5と同様の作用効果を奏する。
【0037】
〔13〕<ラップアラウンド値レジスタ>
項8において、前記アクセス回路は、設定値が書換え可能にされるラップアラウンド値レジスタ(40)を更に有する。前記書込みアドレスカウンタはその計数値が前記ラップアラウンド値レジスタの設定値に達した場合にその計数値を初期値に戻し、前記読出しアドレスカウンタはその計数値が前記ラップアラウンド値レジスタの設定値に達した場合にその計数値を初期値に戻す。
【0038】
これによれば、項6と同様の作用効果を奏する。
【0039】
〔14〕<ラップアラウンド値レジスタの設定上限値>
項13において、前記ラップアラウンド値レジスタの設定値は前記バッファメモリの記憶容量に応ずる値が上限値とされる。
【0040】
これによれば、項7と同様の作用効果を奏する。
【0041】
〔15〕<タッチパネルコントロータをオンチップした半導体デバイス>
項8において、前記駆動回路が表示駆動信号を出力する表示動作の休止期間に、表示パネルに重ねられたタッチパネルに対するタッチ検出を行うタッチ検出コントローラ(12)を更に有し、1個の半導体基板に形成される。
【0042】
これによれば、表示動作とタッチ検出動作の一方が互いに他のノーズ源となることを考慮して表示動作と検出動作を排他的に行わなければならない制約に対して好適なバッファメモリ制御の実現に資することができる。