システム構成
目標を、ジョイステックとLCDディスプレイを接続して、キャラクタを
動かすことにしたので、2つのデバイスが必要です。
下記構成で、デバイスを接続し、動かすことにしました。
ジョイステック、LCDディスプレイともに手持ちがあったので
フラットケーブルを利用し、EB760に半田付けしたコネクタ
に接続する仕様にしました。
組込みLinuxを扱うときの、定番は、シリアルとEtherケーブルで
ボードと接続するカタチ。今回は、Windows2000ノートPCにcoLinux
を入れて使うことにします。また、シリアル接続では、これまた
定番のTeraTermProを利用します。
ジョイステック
ジョイスティックは、4つのマイクロスイッチがあり
それらの状態を読込むことにします。
また、手持ちのプッシュスイッチがあったので、2個を
接続することにしました。
EB760の回路図をみると、ポートJがLCDコントローラ
の出力ピンの横にあったので、使うことにします。
ポートJの各ビットを、以下のように利用しました。
- PTJ7 -> Joystick South
- PTJ6 -> Joystick East
- PTJ5 -> Joystick North
- PTJ4 -> Joystick West
- PTJ3 -> Left push switch
- PTJ2 -> Right push switch
LCDディスプレイ
以前、秋月電子から購入したLM32C041を使います。
CAT760は、ルネサスのSH−4を利用しているので
内蔵されているLCDコントローラを接続して、表示です。
LCDコントローラには、いろいろなモードがありますが
最も単純なTFT16ビットを使います。
この場合、各ビットは、以下のようになります。
- PTE7 -> LCD_CLK(external 25MHz)
- PTE6 -> LCD_DON
- PTE5 -> HSYNC(LCD_CL1)
- PTE4 -> DCLK(LCD_CL2)
- PTE3 -> LCD_M_DISP
- PTE2 -> VSYNC(LCD_FLM)
- PTE1 -> VEPWC
- PTE0 -> VCPWC
- PTC7 -> B1(LCD_DATA0)
- PTC6 -> B2(LCD_DATA1)
- PTC5 -> B3(LCD_DATA2)
- PTC4 -> B4(LCD_DATA3)
- PTC3 -> B5(LCD_DATA4)
- PTC2 -> G0(LCD_DATA5)
- PTC1 -> G1(LCD_DATA6)
- PTC0 -> G2(LCD_DATA7)
- PTD7 -> G3(LCD_DATA8)
- PTD6 -> G4(LCD_DATA9)
- PTD5 -> G5(LCD_DATA10)
- PTD4 -> R1(LCD_DATA11)
- PTD3 -> R2(LCD_DATA12)
- PTD2 -> R3(LCD_DATA13)
- PTD1 -> R4(LCD_DATA14)
- PTD0 -> R5(LCD_DATA15)
接続は、次のブロック図となります。
バックライトと液晶に交流信号を印加するために
多少、外付け回路が必要になります。
ブロック図とデータシートから必要な信号を抽出します。
右の信号横の括弧は、LCDディスプレイのピン番号です。
- PTE5 -> HSYNC(LCD_CL1) -> HSYNC(2)
- PTE4 -> DCLK(LCD_CL2) -> DCLK(4)
- PTE2 -> VSYNC(LCD_FLM) -> VSYNC(1)
- PTC7 -> B1(LCD_DATA0) -> B1(16)
- PTC6 -> B2(LCD_DATA1) -> B2(17)
- PTC5 -> B3(LCD_DATA2) -> B3(18)
- PTC1 -> G1(LCD_DATA6) -> G1(13)
- PTC0 -> G2(LCD_DATA7) -> G2(14)
- PTD7 -> G3(LCD_DATA8) -> G3(15)
- PTD4 -> R1(LCD_DATA11) -> R1(10)
- PTD3 -> R2(LCD_DATA12) -> R2(11)
- PTD2 -> R3(LCD_DATA13) -> R3(12)