(57)【特許請求の範囲】
【請求項１】
液晶ディスプレイ（ＬＣＤ）用のディスプレイ・データの水平スクロール方式であって：
ディスプレイ・コントローラ；
前記ディスプレイ・コントローラに結合され、ＬＣＤ上に表示される情報を表すデータを格納する複数のメモリ・ロウを有するメモリ；
前記メモリに結合され、前記メモリからデータを受け取り、かつより高い値またはより低い値のうち一方により選択的にデータを水平にシフトして、水平シフト・データを与える水平スクロール・シフト・レジスタ；
前記ディスプレイ・コントローラと前記水平スクロール・シフト・レジスタとに結合され、前記水平シフト・データを受け取り、かつ前記水平シフト・データをカラム・ドライバに転送し、ＬＣＤのカラムを駆動して、前記情報を表示させるデータ・バッファ；
ＬＣＤ上に表示される情報を水平にスクロールする量を表すスクロール値を受け取る水平スクロール・コントローラであって、前記水平スクロール・コントローラは、前記スクロール値の最上位ビット（ＭＳＢ）を受ける第１カウンタと、前記スクロール値の最下位ビット（ＬＳＢ）を受ける第２カウンタとによって構成され、前記第１カウンタは、ゼロに達するまでカウントダウンし、かつカウントダウン中に第１出力信号を前記水平スクロール・シフト・レジスタに与えて、前記より高い値によるデータの水平シフトを行い、前記第２カウンタは、前記第１カウンタがゼロに達した後ゼロに達するまでカウントダウンし、かつカウントダウン中に第２出力信号を水平スクロール・シフト・レジスタに与え、前記より低い値によるデータの水平シフトを行う、水平スクロール・コントローラ；
によって構成されることを特徴とする方式。
【請求項２】
前記水平スクロール・シフト・レジスタは、シフト・ビットのロウからなり、各シフト・ビットはセレクタおよびメモリ・デバイスからなり、各特定のシフト・ビットは、前記メモリから第１データ入力を受け取り、前記より低い値により前記ロウのうち特定のシフト・ビットの前のシフト・ビットの出力から第２データ入力を受け取り、前記より高い値により前記ロウのうち特定のシフト・ビットの前のシフト・ビットの出力から第３データ入力を受け取るべく結合され、各シフト・ビットの前記セレクタは、前記ディスプレイ・コントローラから制御信号を受け取り、かつ前記第１および第２カウンタから第１および第２出力信号を受け取るべくそれぞれ結合された３つの制御入力を有し、前記メモリから、若しくは前記より低い値により前記ロウにおける特定のシフト・ビットの前のシフト・ビットから、又は前記より高い値により前記ロウにおける特定のシフト・ビットの前のシフト・ビットから、受信制御信号と第１および第２出力信号とに応じて、データをメモリ・デバイスにロードし、前記データを水平シフト・データとして格納することを特徴とする請求項１記載の方式。
【請求項３】
各セレクタは、前記第１，第２および第３データ入力を受けて、前記３つの制御入力に応じて前記メモリ・デバイスに選択的に転送するマルチプレクサからなることを特徴とする請求項２記載の方式。
【請求項４】
各メモリ・デバイスは、フリップフロップからなることを特徴とする請求項２または請求項３記載の方式。
【請求項５】
前記第１および第２カウンタのそれぞれは、それぞれが前記カウンタの１ビットに結合された複数の入力と、出力とを有するＯＲゲートを含み、前記各出力は、前記第１および第２カウンタの第１および第２出力信号を与えることを特徴とする請求項１ないし４記載の方式。
【請求項６】
前記より低い値は「１」であることを特徴とする請求項１ないし５記載の方式。
【請求項７】
前記より高い値は「８」であることを特徴とする請求項１ないし６記載の方式。
【発明の詳細な説明】
【０００１】
【産業上の利用分野】
本発明は、液晶ディスプレイ（ＬＣＤ）用のディスプレイ・データの水平スクロール方式に関し、さらに詳しくは、例えば中国語文字などの図形文字をＬＣＤ上で水平スクロールする方式に関するが、それに限定されない。
【０００２】
【従来の技術】
現在、中国語文字ページャなどの多くのページャは、ユーザがメッセージ読み出しボタンを押す毎に、新たなメッセージをページ単位で表示する。新規メッセージまたは新規情報を出力するため、ディスプレイ内容を水平にスクロールすることはよりユーザ・フレンドリであり、望ましい。しかし、このようなスクロールは、ＬＣＤドライバではなくマイクロコントローラ・ユニット（ＭＣＵ）によって一般に制御される。このタスクのためにＭＣＵを利用することは、ディスプレイを１カラム(column)だけスクロールする場合でも、ランダム・アクセス・メモリ（ＲＡＭ）全体をＬＣＤドライバ内で書き直す必要がある。ＲＡＭは、ＬＣＤ上のどのピクセルがブランク（白）であり、どのピクセルが非ブランク（黒）であるかを表すビットマップ・データを格納する。これは、特にＲＡＭの（またＬＣＤの）カラム数が多い場合、ＲＡＭ全体を書き直すために多くのデータ・ライト・サイクルを一般に要するので、ＭＣＵの負担は特に大きくなることを意味する。
【０００３】
ＭＣＵの負担を軽減するため、ＭＣＵによって与えられる値に応じて（すなわち、０〜Ｎ−１の間の値のような水平スクロール値であって、ＮはＬＣＤのカラム数）、表示中にディスプレイ内容を水平スクロールするように、水平スクロール機能をＬＣＤドライバに組み込むことができる。これにより、ＭＣＵはスクロール中にスタンドバイ・モード（一般に、消費電力が少ない）になることができる。
【０００４】
【発明が解決しようとする課題】
水平スクロール機能をＬＣＤドライバに組み込むためには、以下の２つの従来の方法のうち一方を利用できる：
１）純粋な組み合わせ論理ゲートを利用して、水平スクロールを実現する方法。ただし、この構成では、入力ピンの数を、ディスプレイのカラム数（Ｎ）と２を底とするカラム数の対数（すなわち、ｌｏｇ２（Ｎ））との和に等しくする必要があり、しかも論理ブロックの出力ピンの数はディスプレイのカラム数（Ｎ）に等しいため、論理ブロックのサイズにより問題が生じる。例えば、ＬＣＤが１２８個のカラムを有する場合、純粋な組み合わせ論理ブロックは１２８＋ｌｏｇ２（１２８）＝１３５個の入力ピンと、１２８個の出力ピンとを有する。このような論理ブロックはＬＣＤドライバにおいて大量のシリコン面積を占め、そのため実用性がない。
【０００５】
２）ＬＣＤディスプレイに表示する前に、ディスプレイ内容の１ロウ(row) をシフトするためにＮ個のクロック・サイクルを必要とするように、純粋なシフト・レジスタを利用する方法。この方法は、最小限の回路しか必要としない。しかし、各カラム・スクロールのためにＲＡＭに格納されたディスプレイの全ビットマップ・データを書き直すためには、多数のクロック・パルスを必要とする。残念ながら、無線周波数干渉問題のため、ページャなどの通信装置のＬＣＤできわめて高い周波数クロック信号は許されない。そのため、この方法も実施するのは非実用的である。
【０００６】
従って、本発明は、従来技術の上記の問題点を克服する、あるいは少なくとも軽減するディスプレイ・データの水平スクロール方式を提供することを目的とする。
【０００７】
【課題を解決するための手段】
本発明は、液晶ディスプレイ（ＬＣＤ）用のディスプレイ・データの水平スクロール方式を提供し、この方式はディスプレイ・コントローラ，前記ディスプレイ・コントローラに結合され、かつＬＣＤ上に表示される情報を表すデータを格納する複数のメモリ・ロウを有するメモリ，前記メモリに結合され、前記メモリからデータを受け取り、かつより高いまたはより低い値のうちの一方により選択的にデータを水平にシフトして、水平シフト・データを与える水平スクロール・シフト・レジスタ，前記ディスプレイ・コントローラと前記水平スクロール・シフト・レジスタとに結合され、前記水平シフト・データを受け取り、かつ前記水平シフト・データをカラム・ドライバに転送して、ＬＣＤのカラムを駆動して情報を表示させるデータ・バッファ，ＬＣＤ上に表示される情報を水平スクロールする量を表すスクロール値を受ける水平スクロール・コントローラであって、前記水平スクロール・コントローラは、スクロール値の最上位ビット（ＭＳＢ）を受ける第１カウンタと、スクロール値の最下位ビット（ＬＳＢ）を受ける第２カウンタとによって構成され、前記第１カウンタは、ゼロに達するまでカウントダウンし、かつカウントダウン中に、第１出力信号を前記水平スクロール・シフト・レジスタに与え、前記より高い値によるデータの水平スクロールを表し、前記第２カウンタは、前記第１カウンタがゼロに達してからゼロに達するまでカウントダウンし、かつカウントダウン中に、第２出力信号を前記水平スクロール・シフト・レジスタに与え、前記より低い値によるデータの水平シフトを表す、水平スクロール・コントローラによって構成される。
【０００８】
好適な実施例では、水平スクロール・シフト・レジスタは、シフト・ビットのロウからなり、各シフト・ビットはセレクタおよびメモリ・デバイスからなり、各特定のシフト・ビットは、メモリから第１データ入力を受け取り、より低い値によりロウのうち特定のシフト・ビットの前のシフト・ビットの出力から第２データ入力を受け取り、より高い値によりロウのうち特定のシフト・ビットの前のシフト・ビットの出力から第３データ入力を受け取るべく結合され、各シフト・ビットのセレクタは、ディスプレイ・コントローラから制御信号を受け取り、かつ第１および第２カウンタから第１および第２出力信号を受け取るべくそれぞれ結合された３つの制御入力を有し、メモリから、あるいはより低い値によりロウにおける特定のシフト・ビットの前のシフト・ビットから、もしくはより高い値によりロウにおける特定のシフト・ビットの前のシフト・ビットから、受信制御信号と第１および第２出力信号とに応じて、データをメモリ・デバイスにロードし、このデータを水平シフト・データとして格納する。
【０００９】
好ましくは、各セレクタは、第１，第２および第３データ入力を受けて、３つの制御入力に応じてこれらの入力をメモリ・デバイスに選択的に転送するマルチプレクサによって構成される。
【００１０】
各メモリ・デバイスは、好ましくはフリップフロップによって構成される。一実施例では、各第１および第２カウンタは、それぞれがカウンタの１ビットに結合された複数の入力と、出力とを有するＯＲゲートを含み、それぞれの出力は第１および第２カウンタの第１および第２出力信号を与える。好ましくは、より低い値は「１」であり、より高い値は「８」である。
【００１１】
【実施例】
本発明によるＬＣＤドライバの水平スクロール機構の本実施例は、シフト・レジスタ方法を利用して、水平スクロール機能を実現する。ただし、各クロック・サイクルについて、ビットはこの水平シフト・レジスタ内で選択可能な値だけシフトできる。この例では、選択可能な値は、１だけシフトし、８だけシフトするように選ばれる。選択される特定のシフト値は、実際には柔軟性が高く、以下でさらに説明する。これら２つの特定のシフト値を選択することにより、Ｎビットを水平にシフトする（ここでＮはＬＣＤのカラムの数であり、またシフト・レジスタの長さ（ビット単位）でもある）ために必要なクロック・サイクル数は大幅に低減される。
【００１２】
一例では、Ｎが１２８であり、水平スクロール値ＨＳＶが１２７（すなわち、ＬＣＤパネル上で表示する前に、シフト・レジスタ内で１２８ビットを１２７回シフトする必要がある）場合：
ｉ）従来のシフト・レジスタでは、水平スクロールを完了するためには１２７クロック・サイクルが必要であり、
ｉｉ）新規シフト・レジスタでは、まずディスプレイ内容はシフト値８だけ１５回シフトされ、８ｘ１５＝１２０カラムをスクロールし、次にシフト値１だけ７回シフトされ、１ｘ７＝７カラムをスクロールし、そのため１２０＋７＝１２７スクロール値を与える。従って、必要なクロック・サイクル総数は、１２７ではなく、わずか１５＋７＝２２である。
【００１３】
図１に示すようにこの機構を実施するためには、外部ＭＣＵ２０は、必要な水平スクロール値ＨＳＶを表すコマンドを通信リンク２３を介して、ＬＣＤドライバ２１の一部をなすコマンド・デコーダ２２に送出する。水平スクロール値ＨＳＶはコマンド・デコーダ２２に格納され、ここで２進数に変換され、パラレル・ライン７８上で水平スクロール・コントローラ２４に転送される。
【００１４】
ディスプレイ・コントローラ２５は、ライン２９を介してＲＡＭ２６にクロック信号ＲＡＭＣＬＫを与え、ＲＡＭ２６は、ＬＣＤパネル２７上で表示すべき情報を表すビットマップ・データを格納する。ＲＡＭ２６からのビットマップ・データの完全なロウ（このロウはＮビット長）は、パラレル・ライン７７上で水平スクロール・シフト・レジスタ２８のパラレル入力に与えられる。同時に、ディスプレイ・コントローラ２５は、ライン３０を介してイネーブル信号ＬＯＡＤＲＡＭを、またライン３２を介してクロック信号ＳＣＬＫを水平スクロール・シフト・レジスタ２８に送出し、ＲＡＭロウ・データのＮビットを水平スクロール・シフト・レジスタ２８に書き込ませる。また、ディスプレイ・コントローラ２５は、ライン３３を介して送出されるイネーブル信号ＬＯＡＤを水平スクロール・コントローラ２４に与え、２進水平スクロール値ＨＳＶをコマンド・デコーダからロードさせる。
【００１５】
図２に示すように、水平スクロール・コントローラ２４は、２つに分離される７ビット・カウンタ３４と、本実施例では４ビット長４６，４７，４８，４９である最上位ビット（ＭＳＢ）カウンタ３５と、本実施例では３ビット長５０，５１，５２である最下位ビット（ＬＳＢ）カウンタ３６とを含む。ＭＳＢカウンタ３５およびＬＳＢカウンタ３６の両方はカウントダウン・カウンタであり、受信したクロック信号パルスに応じてカウントダウンする。ＭＳＢカウンタ３５は、ライン３８上でＡＮＤゲート３９からクロック信号パルスＣＬＫＭを受け取り、ＬＳＢカウンタ３６は、ライン４０上でＡＮＤゲート４１からクロック信号パルスＣＬＫＬを受け取る。ＡＮＤゲート３９は、ディスプレイ・コントローラ２５からライン３７上で水平スクロール・コントローラ２４によって受信されたクロック信号ＳＣＬＫを、一方の入力においてライン４２を介して受け取り、他方の入力は、以下でさらに詳しく説明するように、水平スクロール・コントローラ２４からシフト・バイ８(Shift-By-8)信号ＳＨＢＹ８を受け取るべくライン４３を介して結合される。また、ＡＮＤゲート４１は、一方の入力においてライン４４を介してクロック信号ＳＣＬＫを受け取り、他方の入力は、以下でさらに詳しく説明するように、水平スクロール・コントローラ２４からシフト・バイ１(Shift-by-1)信号ＳＨＢＹ１を受け取るべくライン４５を介して結合される。
【００１６】
イネーブル信号ＬＯＡＤがライン３３上で受信された後、２進水平スクロール値ＨＳＶがＭＳＢカウンタおよびＬＳＢカウンタにロードされると、ＭＳＢカウンタ３５はまずライン３８上で受信したクロック・パルスＣＬＫＭに応じてカウントダウンを開始する。以下で説明するように、ＬＳＢカウンタ３６はクロック・パルスＣＬＫＬを受信せず、従ってＭＳＢカウンタ３５がカウントを終了するまでカウントしない。１０進数で１２７、また２進数で１１１１１１１のノンゼロ水平スクロール値ＨＳＶの上記の例をとると、ＭＳＢカウンタ３５の４ビット４６〜４９は１１１１からカウントダウンする。各ビットは、ライン５３，５４，５５，５６を介して４入力ＯＲゲート５７の入力にそれぞれ結合される。ＯＲゲート５７の出力はＡＮＤゲート５８の入力に結合され、このＡＮＤゲート５８の他方の入力はインバータ５９を介してイネーブル信号ＬＯＡＤを受け取るべく結合される。従って、カウンタ３４が新たなＨＳＶをロードしておらず、ＭＳＢカウンタ３５がノンゼロ・カウント値を有している場合、ＡＮＤゲート５８の出力はハイになり、水平スクロール・コントローラ２４から出力されるシフト・バイ８信号ＳＨＢＹ８をハイにさせる。このシフト・バイ８信号ＳＨＢＹ８は、ライン６０を介して水平スクロール・シフト・レジスタ２８に送られ、シフト・バイ８動作をイネーブルする。
【００１７】
上で説明したように、このシフト・バイ８信号ＳＨＢＹ８はライン４３を介してＡＮＤゲート３９にも送られ、ＭＳＢカウンタ３５がカウントダウンするためにクロック・パルスＣＬＫＭを受け取ることを可能にする。このカウントダウン動作中に、シフト・バイ８信号ＳＨＢＹ８は、ＭＳＢカウンタ３５の内容がゼロに達するまでハイのままである。
【００１８】
さらに、ＡＮＤゲート５８の出力は、３入力ＡＮＤゲート６１の反転入力にも送られ、このＡＮＤゲート６１の出力は、水平スクロール・シフト・レジスタ２８のシフト・バイ１信号ＳＨＢＹ１を与える。明らかなように、シフト・バイ８信号ＳＨＢＹ８のハイ状態は、３入力ＡＮＤゲート６１の論理動作により、シフト・バイ１信号ＳＨＢＹ１をローにさせる。シフト・バイ１信号ＳＨＢＹ１信号のロー状態は、出力がクロック・パルスＣＬＫＬをＬＳＢカウンタ３６に与えるＡＮＤゲート４１により、ＬＳＢカウンタ３６の動作を禁止する。
【００１９】
ＭＳＢカウンタ３５がゼロに達すると、シフト・バイ８信号ＳＨＢＹ８はローになり、クロック・パルスＣＬＫＭを停止し、ＭＳＢカウンタ３５がさらにカウントするのを防いで、ゼロのままにする。また、ローになったシフト・バイ８信号ＳＨＢＹ８は、水平スクロール・シフト・レジスタ２８のシフト・バイ８動作を停止する。
【００２０】
同様に、ＬＳＢカウンタ３６の各ビット５０，５１，５２は、ライン６３，６４，６５をそれぞれ介して、３入力ＯＲゲート６２の入力に結合される。ＯＲゲート６２の出力は、ＡＮＤゲート６１の入力に結合され、このＡＮＤゲート６１の他方の入力は、上記のように、インバータ５９を介してイネーブル信号ＬＯＡＤと、シフト・バイ８信号ＳＨＢＹ８の反転とを受信すべく結合される。従って、ＬＳＢカウンタ３８の内容がゼロでない場合、ＯＲゲート６２はハイの出力を有し、それによりＡＮＤゲート６１はシフト・バイ１信号ＳＨＢＹ１についてハイ状態を出力する。また、このシフト・バイ１信号ＳＨＢＹ１は、ライン６６を介して水平スクロール・シフト・レジスタ２８に結合され、シフト・バイ１動作をイネーブルする。同時に、ＡＮＤゲート４１により、クロック・パルスＣＬＫＬはＬＳＢカウンタ３６に与えられ、ＬＳＢカウンタ３６はカウントダウンを開始する。ＭＳＢカウンタ３５と同様に、ＬＳＢカウンタ３６がゼロに達すると、シフト・バイ１信号ＳＨＢＹ１はローになり、ＬＳＢカウンタ３６の更なるカウントダウンを停止し、また水平スクロール・シフト・レジスタ２８のシフト・バイ１動作を停止する。
【００２１】
この時点で、水平シフト・データ・ロウは水平スクロール・シフト・レジスタ２８に格納され、またライン７５を介してディスプレイ・コントローラ２５によって与えられるラッチ信号ＬＡＴＣＨＣＬＫをディスプレイ・データ・バッファ７４が受信すると、パラレル・ライン３１を介してディスプレイ・データ・バッファ７４にラッチされる。このディスプレイ・データ・バッファ７４は、水平スクロール・シフト・レジスタ２８の出力（Ｎビット長）をラッチし、ＬＣＤカラム・ドライバ７６を介してデータをＬＣＤパネル２７に送る。上記の動作は、次のディスプレイ・ロウに対して反復される。
【００２２】
２つのＡＮＤゲート５８，６１（シフト・バイ８信号ＳＨＢＹ８およびシフト・バイ１信号ＳＨＢＹ１を出力する）のそれぞれは、イネーブル信号ＬＯＡＤの反転に結合された一方の入力を有することが明白である。これは、ＲＡＭからのデータが水平スクロール・シフト・レジスタ２８からロードされる最中に、また２つのカウンタ３５，３６にコマンド・デコーダ２２から水平スクロール値ＨＳＶがロードされる最中に、２つのカウンタ３５，３６によるカウントダウン動作、ならびに水平スクロール・シフト・レジスタ２８のシフト・バイ１またはシフト・バイ８動作を防ぐためである。
【００２３】
水平スクロール・コントローラ２４の動作を説明する一例として、ＨＳＶが１２７（すなわち、２進数で１１１１１１１）であり、Ｎ（カラム数）が１２８であると（ここでも）仮定する。そのとき、各カウンタおよび信号の値は次の通りである：
0004001659.tif 000002
ここで図３を参照して、水平スクロール・シフト・レジスタ２８をさらに詳細に示す。水平スクロール・シフト・レジスタ２８はＮビットからなり、そのうち４ビット、すなわちビット（ｉ）６８，ビット（ｉ−１）６７，ビット（ｉ＋１）６９，ビット（ｉ＋８）７０を示す。各ビットは、３つのデータ入力Ａ，Ｂ，Ｃと、３つの選択入力Ｘ，Ｙ，Ｚと、出力Ｏとを有する３方向セレクタ７１からなり、出力ＯはＤ型フリップフロップ７２のＤ入力Ｄに結合され、このＤ型フリップフロップ７２はクロック入力ＣＫおよび出力Ｑも有する。
【００２４】
各３方向セレクタ７１の第１データ入力Ａは、前のビットのＤ型フリップフロップ７２の出力Ｑに接続される。各３方向セレクタ７１の第２データ入力Ｂは、８番目の前のビットのＤ型フリップフロップ７２の出力Ｑに接続される。例えば、ビット（ｉ）６９のフリップフロップ７２の出力Ｑは、図３に示すように、ビット（ｉ＋８）７０のデータ入力Ｂに接続される。各３方向セレクタ７１の第３データ入力Ｃは、水平スクロール・シフト・レジスタ２８の各パラレル入力に結合され、ＲＡＭ２６から出力されているビットマップ・ロウの各ビットを受信する。
【００２５】
各３方向セレクタ７１の第１選択入力Ｘは、ライン６６からシフト・バイ１信号ＳＨＢＹ１を受信すべく接続される。各３方向セレクタ７１の第２選択入力Ｙは、ライン６０からシフト・バイ８信号ＳＨＢＹ８を受信すべく接続される。各３方向セレクタ７１の第３選択入力Ｚは、ライン３０を介してディスプレイ・コントローラ２５からイネーブル信号ＬＯＡＤＲＡＭを受信すべく接続される。
【００２６】
各セレクタ７１は、選択入力Ｘ，Ｙ，Ｚ上の信号に応じて、３つのデータ入力Ａ，Ｂ，Ｃのうち一つの信号を出力Ｏに選択的に転送する。従って、第１データ入力Ａ上の信号は、シフト・バイ１動作に対応するシフト・バイ１信号ＳＨＢＹ１がハイのときに選択され、第２データ入力Ｂ上の信号は、シフト・バイ８動作に対応するシフト・バイ８信号ＳＨＢＹ８がハイのときに出力Ｏに接続され、セレクタ７１の第３データ入力Ｃは、ＲＡＭからのデータ・ロード(load-data-from-RAM)動作に対応するイネーブル信号ＬＯＡＤＲＡＭがハイのときに選択される。
【００２７】
ライン６６からのシフト・バイ１信号ＳＨＢＹ１，ライン６０からのシフト・バイ８信号ＳＨＢＹ８およびライン３０からのイネーブル信号ＬＯＡＤＲＡＭのそれぞれは、４入力ＯＲゲート７３の一方の入力にそれぞれ結合され、この４入力ＯＲゲート７３の他方の入力は、ライン３２を介してクロック信号ＳＣＬＫを受信すべく結合される。ＯＲゲート７３の出力は、各フリップフロップ７２のクロック入力ＣＫに結合される。ＯＲゲート７３の動作は、ＲＡＭからのデータ・ロード動作，シフト・バイ８動作またはシフト・バイ１動作があるときはいつも、クロック・パルス（クロック信号ＳＣＬＫから導出される）がＮフリップフロップ７２に与えられることを保証することである。
【００２８】
各Ｎフリップフロップ７２の出力Ｑは、すべてのシフト動作が完了した後にデータをラッチするディスプレイ・データ・バッファ７４に結合される。第１ビットの入力は、シフト動作がラップアラウンド(wrap-around) 、すなわち回転するように、最後のビットの出力に接続される。上記のように、ディスプレイ・データ・バッファ７４は、パラレル・ライン７９上でデータをＬＣＤカラム・ドライバ７６に送り、このＬＣＤカラム・ドライバ７６はパラレル・ライン８０を介してＬＣＤパネル２７を駆動する。
【００２９】
よって、水平スクロール・コントローラ２４および水平スクロール・シフト・レジスタ２８ならびにＬＣＤドライバ２１の他の部分は、水平スクロール機構を（シリコン面積および所要クロック・サイクル数の両方の点で）効率的に構成することがわかる。シフトする特定の値の選択は柔軟性が高いことに留意されたい。例えば、Ｎ（ディスプレイのカラム数）が極めて大きく、例えば、２５６であるが、水平スクロールを行うために与えられたクロック・サイクル数が制限される場合、シフト・バイ８をシフト・バイ１６に変更でき、そのため必要な最大クロック・サイクル数（水平スクロール値が２５５のときに生じる）は：
シフト・バイ１６動作の１５クロック・サイクル
＋シフト・バイ１動作の１５クロック・サイクル
＝３０クロック・サイクル
となり、一方、シフト・バイ１６動作ではなくシフト・バイ８動作を利用した場合には、所要クロック・サイクル数は：
シフト・バイ９動作の３１クロック・サイクル
＋シフト・バイ１動作の７クロック・サイクル
＝３８クロック・サイクル
となる。
【００３０】
従って、Ｎの値が大きい場合には、シフト・バイ１６を選ぶほうが有利であることが分かる。ただし、シフト動作の値を増加することの欠点は、水平スクロール・シフト・レジスタの中継領域(routing area)が増加することである。従って、この方法について必要なシリコン面積とスピード（クロック・サイクル）との間で妥協することが常に必要であり、また利用可能なクロック・サイクル数に応じて慎重に選択する必要がある。
【００３１】
本発明の一つの特定の実施例のみについて詳しく説明してきたが、本発明の範囲から逸脱せずに、さまざまな修正および改善が当業者に可能であることが理解される。
【図面の簡単な説明】
【図１】ＬＣＤドライバにおける水平スクロール機構の一実施例を示す機能ブロック図である。
【図２】図１の機構において用いられる水平スクロール制御の詳細ブロック図である。
【図３】図１の機構において用いられる水平スクロール・シフト・レジスタの詳細ブロック図である。
【符号の説明】
２０  外部ＭＣＵ
２１  ＬＣＤドライバ
２２  コマンド・デコーダ
２３  通信リンク
２４  水平スクロール・コントローラ
２５  ディスプレイ・コントローラ
２６  ＲＡＭ
２７  ＬＣＤパネル
２８  水平スクロール・シフト・レジスタ
２９  ライン
３０，３１，３２，３３  ライン
３４  ７ビット・カウンタ
３５  最上位ビット（ＭＳＢ）カウンタ
３６  最下位ビット（ＬＳＢ）カウンタ
３７，３８，４０，４２，４３，４５  ライン
３９，４１  ＡＮＤゲート
４６，４７，４８，４９，５０，５１，５２  ビット
５３，５４，５５，５６，６０  ライン
５７  ４入力ＯＲゲート
５８  ＡＮＤゲート
５９  インバータ
６０，６３，６４，６５，６６  ライン
６１  ３入力ＡＮＤゲート
６２  ３入力ＯＲゲート
６３，６４，６５，６６  ライン
６７，６８，６９，７０  ビット
７１  ３方向セレクタ
７２  Ｎフリップフロップ
７３  ４方向ＯＲゲート
７４  ディスプレイ・データ・バッファ
７５  ライン
７６  ＬＣＤカラム・ドライバ
７７，７８  パラレル・ライン
【図１】
0004001659.tif 000003
【図２】
0004001659.tif 000004
【図３】
0004001659.tif 000005