Armadillo-440にタッチスクリーンディスプレイを接続する方法、そしてそのソフトウェアの対応方法を紹介します。
Armadillo-440液晶モデル開発セット(以降、「液晶モデル」)では、以下のデバイスがLCD拡張ボード経由でArmadillo-440に接続されています。
- 液晶:4.3インチ WQVGA
- タッチスクリーン:4線式抵抗膜方式
このHowtoでは以下の物を接続する場合を例に説明します。
- 液晶:10.4インチ VGA
- タッチスクリーン:4線式抵抗膜方式
大きく2つに分けてハードウェアのカスタマイズそしてソフトウェア対応について説明していきます。ハードウェアのカスタマイズは、液晶パネルの表示機能、バックライト電源提供、タッチスクリーン、そしてキーパッドについて順番に説明していきます。ソフトウェア対応は、液晶パネル、そしてタッチスクリーンのソフトウェア対応について説明していきます。
ハードウェアのカスタマイズ
Armadillo-440に液晶ディスプレイを接続する場合は、液晶モデルのように外部基板でコネクタ形状を変換します。また、液晶バックライト用の電源も別途用意します。
イメージとして、以下のようなカスタムインターフェース基板を作ることになります。
このHowtoの例に利用するデバイスの詳細は以下の通りです。
タッチスクリーンディスプレイ
製品型番 | FG100410DNCWBGT1 |
解像度 | 640 x 480 dot |
液晶パネルの種類 | TFT |
タッチスクリーンの種類 | 4線式抵抗膜方式 |
バックライトの種類 | CCFL蛍光管 |
インターフェースの種類 | 3.3V C-MOS 18bitパラレルRGBインターフェース |
電源電圧範囲 | 3.0V~3.6V |
消費電流(3.3V) | Typ. 420mA |
コネクタ | DF9C-31P-1V(32) (HIROSE) |
DC-ACインバータ(バックライト電源)
製品型番 | CXA-P10A-P |
出力開放電圧 | 1.5kV |
出力電力 | 9W |
入力電圧 | 5V |
液晶パネルの表示機能
アドバイス
Armadillo-440のLCDインターフェースは標準でパラレルインターフェースに対応していますので、パラレルインターフェースタイプの液晶パネルを選択するようにしてください。Armadillo-440で出力可能な最大解像度は800x600ピクセルなので、それ以下の解像度の液晶パネルを選択しましょう。
注意点
液晶パネルの電源をArmadillo-440の3.3V電源から供給する場合は、外部回路の消費電流が最大合計500mA以下になるようにしてください。詳細は、Armadillo-400シリーズハードウェアマニュアル「電源回路の構成」をご確認ください。
表示インターフェースの接続方法
今回利用する10.4インチ液晶(FG100410DNCWBGT1)には1mmピッチ面実装タイプのコネクタが付いています。このコネクタにArmadillo-440のCON11(LCDインターフェース)を繋ぐためにコネクタの形状を変換します。以下の回路図のように液晶パネルのコネクタからArmadillo-440のCON11と接続するFPC 0.5mmピッチコネクタに配線します。FPC 0.5mmピッチコネクタとArmadillo-440のCON11は液晶モデルに付属しているFFCケーブルを使用して接続します。
液晶パネルのバックライト
アドバイス
バックライト電源は液晶パネルのバックライトの種類に合わせて用意する必要があります。 液晶モデルでは、LEDバックライトタイプの液晶パネルを使用していますが、今回使用する液晶パネルは蛍光灯(CFL)バックライト方式の液晶パネルになります。 バックライト電源の選択では、Armadillo-440の電源電圧と同じ5V入力の物を選択すると、電源が統一できます。またCFLバックライト方式では、蛍光灯を駆動するために高圧電圧に変換する装置「インバータ」が必要で、インバータの出力電流は蛍光管の定格より余裕のあるものを選択しましょう。ただし今回使用した電源は都合により定格より少し下回っていますので定格通りの明るさで使用したい場合は、別の物を選択すると良いでしょう。
注意点
CFLバックライト駆動用のインバータは高圧電圧が発生しますので、ショートやけがなどに十分ご注意ください。
液晶パネルのバックライト電源供給
FG100410DNCWBGT1に電源を供給するように、以下の回路図のようにDC-ACインバータを配線します。
タッチスクリーン
アドバイス
4線式抵抗膜方式のタッチスクリーンはArmadillo-440に直接接続することが可能です。また、Armadillo内部のIC保護のためタッチスクリーンの信号には過電圧および過電流保護素子を入れることを推奨します。
FG100410DNCWBGT1のタッチスクリーンの接続方法
タッチスクリーンの信号とArmadillo-440は以下の回路図のように配線します。
キーパッドの接続方法
キーパッドの接続は液晶モデルと同じピンに接続しています。
ソフトウェア対応
上記のハードウェアのカスタマイズに合わせて、ソフトウェアも変更します。該当するファイルで定義されている設定項目を変更するだけで、簡単に新しいハードウェアに対応させることができます。
このHowtoでは、以下のカーネルバージョンを想定しています。
- Linuxカーネルバージョン: 2.6.26-at11
液晶パネル
液晶パネルに描画するには、フレームバッファドライバを使用します。ドライバのソースコードは以下のファイルです。
- linux/drivers/video/mxc/mxcfb.c
液晶モデルと異なる液晶パネルで正しく描画できるように、以下のタイミング情報を修正する必要があります。
- ドットクロック(ピコ秒)
- Xレゾリューション
- Yレゾリューション
- 左マージン
- 右マージン
- 上マージン
- 下マージン
- 水平同期
- 垂直同期
これらの項目に関しては以下のファイルに説明が載っているので参照してください。
- linux/Documentation/fb/framebuffer.txt
タイミング情報は、液晶パネルの製品マニュアルを参照して計算します。FG100410DNCWBGT1の設定値は既にカーネルに定義済みですので、今回はその情報を記載します。カーネルで設定する値(KERNEL)の計算方法は以下のようになります。
PDF | KERNEL ----------------+-------------- Clock 25.199MHz | 39683 ps/dot HORIZONTAL | VERTICAL -----------------------------------+---------------------------------------- PDF | KERNEL | DOTS | PDF | KERNEL | LINES -----------------------------------+---------------------------------------- Sync period ---- 800 | Sync period ---- 525 (60Hz) - Display period xres 640 | - Display period yres 480 --- | --- (non-display) 160 | (non-display) 45 - Sync w + Back P. ---- 160 | - Sync w + Back P. ---- 45 --- -- Front Porch right m. 0 | Front Porch lower m. 0 - Sync w + Back P. ---- 160 | Sync w + Back P. ---- 45 - Pulse w hsync 160 | - Pulse w vsync 45 Back Porch left m. 0 | Back Porch upper m. 0
上記の値を linux/drivers/video/mxc/mxcfb_modedb.c で定義されている mxcfb_modedb 配列に追加します。
{ /* name rfsh xres yres dotclk lm rm um lm hs vs */ "FG100410DNCWBGT1", 60, 640, 480, 39683, 0, 0, 0, 0, 45, 160, 0, /* sync */ FB_VMODE_NONINTERLACED, /* vmode */ 0, /* flag */ },
これでhermitで以下のように video のカーネルパラメータで定義したタイミングを指定できます。
setenv console=ttymxc0 video=mxcfb:FG100410DNCWBGT1,16bpp,enable
タッチスクリーン
タッチスクリーンのドライバはi.MX25に内蔵されているタッチスクリーンコントローラを利用してタッチ情報を取得します。このドライバはLinuxのインプットレイヤーに対応しているので、アプリケーションは /dev/input/event* のデバイスノードを使ってデータを取り出すことができます。ソースは以下のファイルになります。
- linux/drivers/input/touchscreen/imx_adc_ts.c
ダウンロード
回路図と部品表
例に利用していたハードウェアの回路図(PDF)と部品表を参考にしてください。
カーネルイメージ
準備中