ハードウエアの整合性チェック

 手元にあるLCDディスプレイのデータシートから
 パラメータを抜き出し、検討しました。

 LCDディスプレイは、CRTコントローラの出力
 信号に似た信号を受けるように設計されているので
 次のパラメータを見ます。
  • 垂直同期信号(VSYNC)
  • 水平同期信号(HSYNC)
  • ドットクロック(DCLK)
  • RGB信号
 データシートに記述された数値を読んで、CAT760の  ハードウエアとSH-4内蔵LCDコントローラの動作  を検討します。

垂直同期信号

 垂直ラインは、最低251H必要となっています。  このHは、Horizontal Lineの意味で、1ラインを指します。  表示するのは、240H(240ライン)ですが、表示の  タイミングを取るために、余分なライン数を加えることに  なっています。垂直帰線区間と、ひとくくりします。  垂直同期信号のため、最低3H(3ライン)は電圧レベルが  Lです。そして表示開始前に4H(4ライン)、表示終了後  に4H(4ライン)を入れます。これは、表示の1〜240  Hは、固定ですが、3H、4H、4Hは最低限確保するカウ  ント値になっています。  上の図を、少し変形して、次のようにします。  (フロントポーチとバックポーチを0にします。)  こうすると、SH-4のLCDコントローラがもつ  レジスタへの設定値がわかりやすくなります。

水平同期信号

 水平1ラインの出力時間は、最低379D必要です。  このDは、Dot clockの意味で、1クロックを指します。  水平同期信号のため、最低3D(3クロック)は電圧レベル  がLです。表示開始前に48D(48クロック)、表示終了  後に8D(8クロック)を入れます。これは、表示320D  を固定にしたとしても、3D、48D、8Dは最低確保する  クロック値になっています。  上の図を、少し変形して、次のようにします。  (フロントポーチとバックポーチを0にします。)  こうすると、SH-4のLCDコントローラがもつ  レジスタへの設定値がわかりやすくなります。

ドットクロック

 水平、垂直を合せて、1回の画像表示に必要となるドット  数は、最低379x251=95129になります。  利用するLCDディスプレイでは、垂直同期信号の周期は  12.5ms〜20.0msと規定されています。  この周期の最大値と最小値から、ドットクロックの範囲を  計算できます。   95129 / 12.5ms = 7610.32 kHz = 7.61032 MHz   95129 / 20.0ms = 4756.45 kHz = 4.75645 MHz  これで、ドットクロックは、4.7MHz〜7.6MHz  であれば、充分となります。  この範囲にある5MHzを採用したとすると、1周期は200ns  になります。10MHzを採用したとすると、1周期は100ns  になります。  ドットクロックの周期は、データシートで最小100nsですが、  7.6MHzが最高なので、実際に与えるクロックの周期は  130nsが最高になります。  この値以上であれば、よいことになります。  何故、この計算をしたかというと、LCDコントローラが  出力できるドットクロックにあるかを検証するためです。  また、LCDディスプレイの論理レベルは、5.0Vを基準  としているのに、SH-4では3.3Vを基準とします。  電圧変換バッファICで、このレベル差を埋めます。  今回は、74HCT541を利用しました。これで、3.3V→5.0V変換  をします。ICを入れると、遅延時間が発生するため、繰返し  周期が決まってしまいます。そこで、1周期を求めました。

再計算

 ドットクロックの最高値が130nsと求められたので、CAT760  のLCDコントローラが、これを満足する信号を出力可能  かを検討します。  SH-4(SH7760)のデータシートを読むと、外部から与えられる クロックを分周し、ディスプレイのドットクロックとして出力  可能と記されています。  この分周比は、1:1、1:2、1:4、1:8、1:16で、CAT760には  外部から25MHzがLCDコントローラに入力されています。  分周比と外部に出力するドットクロックの関係は、以下と  なります。
  • 1:1 -> 25.0000MHz
  • 1:2 -> 12.5000MHz
  • 1:4 -> 6.2500MHz
  • 1:8 -> 3.1250MHz
  • 1:16 -> 1.5625MHz
 分周比を、1:4とすると、6.25MHzになるので、LCD  ディスプレイのドットクロックの範囲4.7MHz〜7.6MHz  に入ることがわかります。  これで、LCDコントローラから出力するドットクロック  を、ディスプレイに接続できることを検証できました。

RGB信号

 RGB信号は、それぞれ3ビットずつ入力します。  このとき、LCDディスプレイ内部では、ドットクロック  を利用して、RGBの合計9ビットを記憶(ラッチ)します。  ラッチするには、クロックの↓のエッジを使います。  このエッジからどれだけ前にデータが確定しているかと  どれだけ後までデータに変化がないかを規定されています。  これらを満たさないと、正しく表示できないのです。  エッジからどれだけ前にデータが確定しているかと示す時間  をセットアップタイムと呼びます。  エッジからどれだけ後までデータに変化がないかを示す時間  をホールドタイムと呼びます。  セットアップタイムが30ns、ホールドタイムが20nsです。  ドットクロックの周期を130nsとすると、↑と↓のエッジ間が  65ns程度になります。通常は、↑でデータを出力するため、  ドットクロックの↑から30ns遅れて出力されても、   65ns-30ns=35ns  程度前にはデータが確定しているので、セットアップタイムを  満足します。また、ドットクロックの↑でデータを出力すると  なれば、↓から65ns(最小)はデータに変化がありません。  従って、ホールドタイムを満足することになります。  これは、7.6MHzを採用したときで、ドットクロックに6.25MHz  を採用すると、実際のセットアップタイム、ホールドタイムは  大きくなるので、データシートに規定された値を満足します。

DIPスイッチ設定

 SH-4の内蔵LCDコントローラに、25MHzのクロックを  入力しないと、表示ができません。  マニュアルに従って、DIPSW(SW1)の4ビット目を  ONにします。  これを忘れて、まったくLCDに表示できないで、焦りました。(^^;

戻る