#お始めに#
組み込みシステムで高い利益を出すためには、提案のそれぞれに最適で最も費用対効果が高いソリューションを使用することが重要になります。一方で、選択したデバイスや周辺機器を最終的なシステムに適切に実装する上で、構成上の課題にいくつもぶつかることにもなります。ディスプレイも例外ではありません。最高の画像品質を確保するため、システムインテグレーター、ハードウェアデザイナー、組み込みシステムエンジニアは、ディスプレイのデータシートとオペレーティングシステムのディスプレイAPIをよく研究しなければなりません。
この5回にわたるブログ記事連載では、LVDSディスプレイの基礎的な概念とLinuxにおける設定方法について説明し、さらに、LVDSディスプレイを利用した設計を成功させるために知っておくべきハードウェア関連の項目について見ていきます。長い連載となりますが、ぜひお付き合いください。デバイスを選択し、適応させ、エンジニアリングするプロセス全体について理解し、完璧なディスプレイ付きソリューションを実現させるための、優れた実例となるはずです。
まずこの初回記事では、いくつかの文献を紹介し、様々なシナリオにおいて、LCDデバイスのタイミングをデバイスのソフトウェア定義に変換する方法について説明していきます。また、LVDSシグナリングについても、少し説明したいと思います。
#ディスプレイのタイミングを理解#
通常の電気的な要件(電圧と電流)に加え、ディスプレイには最適な画像体験を提供するのに必要な要件がもう1つあります。それはタイミングです。ディスプレイというものは、画素を列と行(垂直方向と水平方向の線)に分けたマトリクスにほかなりません。1秒の間に何度もリフレッシュして全画素の色を個々に変えることで、映したい画像を表示させます。タイミング要件には、画素の色をどのようにつけるかを決定するものが厳密に定義されています。つまり、ディスプレイ内部コントローラーの周波数や垂直方向および水平方向信号の持続時間を指定しているのです。
ディスプレイは通常、上から下へ(垂直方向)および左から右へ(水平方向)へと描画されます。すべてのフレームは一番左上のピクセルから開始され、その右のピクセルへと続きます。1行分が終わると、次の行の一番左のピクセルから始まるこのプロセスが繰り返され、一番右下のピクセルに到達するまで続きます。
通常、ディスプレイには2つの異なる期間があります。「ディスプレイ」期間は、ピクセルが描かれる状態です。「ブランク」期間は、ラインとフレームの間の期間で、主に同期の目的で使用されます。
この例では、三菱電機の7インチディスプレイAA070ME01ADA11を使用します。このディスプレイのタイミングは、上記の通りです。
この7インチの800x480ディスプレイは、単一チャネルLVDSインターフェースと最大24ビットのカラーマッピングを使用します。カラーマッピングは、LVDSの差動信号が、どのようにして特定の色に変換されるのかを定義するものです。24ビットのカラーマッピングでは、24ビット(つまり3バイト)を使って全画素の色を示します。つまり、最大2^24種の異なる色(画素あたり16,777,216色)を利用できる、ということになります。カラーマッピングについては、後ほど詳しく言及します。
通常、ディスプレイ製造元は、すべての画素がどのように描かれ、そしてそれがどのようにレファレンスに利用するタイミング要件チャートに示されるのかを説明しようとします。しかし当然ながら、このタイミング要件が、組み込みデバイスが理解できるデバイス定義へと置き換えられる仕組みも理解する必要があります。
このタイミングチャートとデータから分かることは以下の通りです。
画素は、画素クロック期間で定義され、1クロック期間ごとに1つの画素が描かれる。
アクティブ時間が、ディスプレイの解像度を示す。これは偶然の一致ではありません。ディスプレイ時間は、画素を描く期間にほかならないからです。言い換えれば、ディスプレイが描く画素数の合計を定義します。
tV(トータル垂直期間)およびtH(トータル水平期間)は、少なくともアクティブとブランク双方のタイミングを含む。
水平方向の各ラインの最初には、描画に利用できないtHBがあり、これが水平ブランク期間になります。
垂直ラインは、水平ラインの合計数で定義される。前の行を描き終えると次の行に移動することは既にお話しました。
垂直方向の各ラインの最初には、描画に利用できないtVBがあり、これが垂直ブランク期間になります。
#結論#
この記事では、LCDの基礎と正確な画像を描くために必要なタイミングについて、簡単に紹介しました。