ハードウエア設計方針

液晶パネルKCG075(7.5インチ STN液晶)を表示するためにインターフェースボードを設計する。

KCG075の仕様は下記に示す。

この液晶パネルは640ドット(H)×480ドット(V)で、各ドットがRGBの3色で構成されているので、表現できる色は、R(赤)、G(緑),B(青),Y(黄),M(マゼンタ),C(シアン),W(白),B(黒) の8色である。

この仕様から液晶パネルのクロックが10MHz(最大)なので、汎用CPUで制御が出来そうである。

汎用CPUとして、マイクロチップ社のPIC32MX370F512Hとする。このCPUには、内臓RAMとして128kBの容量があり、ビデオRAMとして使用可能である。(液晶パネルのビデオ容量=640ドット*480ドット*3色=921600ビット=112.5kB)

液晶パネル(KCG075)仕様

構造

  • LCD         :透過型ドットマトリクスカラーSTN
  • デューティー比    :1/482 duty
  • バックライトシステム :CFL(2灯)
  • 偏光板        :グレアタイプ
  • 周辺回路       :バイアス回路、ランダマイズ回路、DC/DCコンバータ

機械的使用

  • 外形寸法    :195.2mm(W)×137.5mm(H)×7.5mm(D)
  • アクティブエリア:151.66mm(W)×113.74mm(H)
  • 有効表示領域  :153.7mm(W)×115.8mm(H)
  • ドット構成   :640×(R,G,B)dots (W) × 480dots (H)
  • ドット寸法   :0.059mm(W) × 0.217mm(H)
  • ドットピッチ  :0.079mm(W) × 0.237mm(H)
  • 表示モード   :ノーマリーブラック
  • 質量      :250g

電気的絶対最大定格

  • 電源電圧(Vdd)      :6V
  • 液晶駆動用電源電圧(Vcont) :Vdd
  • 入力信号電圧        :Vdd
  • フレーム周波数       :85Hz

電気的特性(Vdd=3.3Vの時)

ItemSymbolCondtionMinTypMaxUnit
電源電圧Vdd3.03.33.6V
液晶駆動用電源電圧Vcont25℃1.651.952.25V
入力信号電圧(highレベル)Vihhighレベル0.8VddVddV
入力信号電圧(lowレベル)Villowレベル00.2VddV
入力電流Iin入力電流-100100μA
電源突入電圧Irush起動時3.0A(Peak)×1ms
クロック周波数(CLOCK)Fcp10.00MHz
フレーム周波数(VSYNC)Ffrm707580Hz
消費電流Idd格子パターン85110mA
消費電力Pdisp格子パターン280365mW

LCDコネクタ

Pin NoSymbolDescriptionLevel
1D7ディスプレイデータD7H(ON),L(OFF)
2D6ディスプレイデータD6H(ON),L(OFF)
3D5ディスプレイデータD5H(ON),L(OFF)
4D4ディスプレイデータD4H(ON),L(OFF)
5VssGND
6D3ディスプレイデータD3H(ON),L(OFF)
7D2ディスプレイデータD2H(ON),L(OFF)
8D1ディスプレイデータD1H(ON),L(OFF)
9D0ディスプレイデータD0H(ON),L(OFF)
10Vdd電源電圧(3.3V)
11Vdd電源電圧(3.3V)
12CP(CLOCK)データー信号シフトクロック(画像クロック)H → L
13Vdd電源電圧(3.3V)
14LOAD(HSYNC)データー信号ラッチクロック(水平同期信号)H → L
15VssGND
16DISPディスプレイオフH(ON),L(OFF)
17VssGND
18Vcont液晶駆動用電源電圧
19VssGND
20FRM(VSYNC)走査線駆動用同期信号(垂直同期信号)H

      使用コネクタ:08-6210-020-340-800+(ELCO)

      適合FFC or FPC :0.5mmピッチ

CFL(冷陰極管)コネクタ

No.SymbolDescription
1COLDインバーター出力低圧側
2NCノーコネクト
3NCノーコネクト
4HOTインバーター出力高圧側

     使用コネクタ :EHR-4

     適合コネクタ :B4B-EH,4S4B-EH,4B4B-EH-A(JST)

タイミング図

OLYMPUS DIGITAL CAMERA

上手から液晶パネルへのデーター(D0~D7)はX1ラインからX480ラインまで出力しその後、空のラインを2つ送る必要がある。

OLYMPUS DIGITAL CAMERA

スイッチング特性(Vdd=3.3V時)

ItemSymbolMinMaxUnit
CP周期tCCL100ns
CP”H”レベルパルス幅tWCHL40ns
CP”L”レベルパルス幅tWCLL40ns
CP立ち上がり時間trCP20ns
CP立ち下がり時間tfCP20ns
データーセットアップ時間tDS35ns
データーホールド時間tDH35ns
LOAD”H”レベルパルス幅tWLPH80ns
LOAD”L”レベルパルス幅tWLPL400ns
LOAD周期tLCL500ns
CP立下り→LOAD立下り 遅延時間tCDLD60ns
LOAD立下り→CP立上り 遅延時間tLDCR80ns
入力信号立ち上がり時間tr20ns
入力信号立ち下がり時間tf20ns
FRMデーターセットアップ時間tFS70ns
FRMデーターホールド時間tFH70ns

インバーター仕様

OLYMPUS DIGITAL CAMERA

入力コネクタの型番が間違っています。入力のコネクタに適合するコネクタはXAP-02V-1(JST)でした。

またコンタクトはBXA-001T-P0.6です。

回路図

KCG075 Display Interface の回路図を下に示します。

KCG075液晶パネルの駆動は、PIC32MX370F512Hの周辺機能であるPARALLEL MASTER PORT(PMP)を使用して、タイミングを生成する。PMD0(cpu 60ピン),PMD1(cpu 61ピン),PMD2(cpu 62ピン),PMD3(cpu 63ピン),PMD4(cpu 64ピン),PMD5(cpu 1ピン),PMD6(cpu 2ピン),PMD7(cpu 3ピン),PMWR(cpu 52ピン:CLOCK)、RF1(cpu 59ピン:HSYNC), RD6(cpu 54ピン:VSYNC), RF0(cpu 58ピン:Vcont), RD7(cpu 55ピン:DISP) の 13ポートを使用する。

入力に4つのポート(RD1,RD2,RD3,RD5)を割り当て、ピンヘッダーに接続した。ピンヘッダーから線を引き出し外部にスイッチなどを設けることができる。

出力に4つのポート(RG6,RG7,RG8,RG9)を割り当て、LEDを接続した。デバッグ用に利用可能である。

KCG075 Display Interfaceは、5V/12Vの出力するACアダプタを使用し、5Vから3端子レギュレータで3.3Vを生成し、CPU、液晶パネルに供給する。また12Vは液晶パネルのバックライトである冷陰極管を駆動するインバーターに使用する。ACアダプタからの電源は、ピンヘッダー(J102,J103)によるショートピンによって、内部回路に供給されている。このショートピンを外し、ピンヘッダーから線を引き出し外部に電源スイッチを設けることができる。

PIC32MX370F512Hの周辺機能であるADC用の電源は、J3,J4とショートピンでCPUで使用している3.3V、GNDに接続している。高精度なアナログデジタル変換を望む場合は、ショートピンを外し、専用の電源を接続することができる。

PIC32MX370F512Hは第一のクロック(Y1:20MHz)で動作させているが、2つのクロックで動作させる場合は、Y2に希望する水晶発振子(HC-49/S型パッケージのクリスタル)と発信に必要なコンデンサC11,C12も実装してください。

外部回路との通信で、SDA1(J1の14ピン),SCL1(J1の15ピン)のI2Cを使用する場合は、R5,R6に最適なプルアップ抵抗を実装してください。同様にSDA2(J1の18ピン),SCL2(J1の17ピン)のI2Cを使用する場合は、R3,R4に最適なプルアップ抵抗を実装してください。

kcg075_display_interface_sch

コネクタ(J5)のヘッダーピンにPIKCKITなどを接続して、PIC32MX370F512Hのプラグラムを書き込むことができます。

J5 ピン番号信号名
*MCLR(CPUの7ピン)
3.3v
GND
PGED3(CPUの13ピン)(J1コネクタの35ピン)
PGEC3(CPUの14ピン)(J1コネクタの36ピン)
未接続

h

KCG075液晶パネル、入出力ピン、プログラム用ピン 以外のCPUのピンは、40ピンのJ1に接続されています。ここに40ピンのコネクタを使用し外部回路と接続ができます。この40ピンの信号を下表に示します。

J1 信号名ピン番号ピン番号J1 信号名
GND4039GND
PGED1/VREF+/CVREF+/AN0/RPB0/PMA6/RB03837PGEC1/VREF-/CVREF-/AN1/RPB1/CTED12/RB1
PGEC3/AN2/C2INB/RPB2/CTED13/RB23635PGED3/AN3/C2INA/RPB3/RB3
AN4/C1INB/RB43433AN5/C1INA/RPB5/RB5
PGEC2/AN6/RPB6/RB63231PGED2/AN7/RPB7/CTED3//RB7
AN8/RPB8/CTED10//RB83029AN9/RPB9/CTED4/PMA7/RB9
TMS/CVREFOUT/AN10/RPB10/CTED11//PMA13/RB102827TDO/AN11/PMA12/RB11
TCK/AN12/PMA11/RB122625TDI/AN13/PMA10/RB13
AN14/RPB14/CTED5/PMA1/RB142423AN15/RPB15/OCFB/CTED6/PMA0/RB15
GND2221GND
RPF2/RF22019RPF3/RF3
RPF4/SDA2/PMA9/RF41817RPF5/SCL2/PMA8/RF5
RPF6/SCK1/INT0/RF61615SCL1/RG2
SDA1/RG31413RPD0/RD0
RPD8/RTCC/RD81211RPD9/RD9
RPD10/PMCS2/RD10109RPD11/PMCS1/RD11
3.3V873.3V
5V655V
12V4312V
GND21GND

部品表

記号値/型番内容単価(円)個数金額(円)備考
C1-C6, C8,C102,C104,C1050.1u/Capacitor_SMD:160810秋月
C710uCapacitor_SMD:160810秋月
C9-C1222p積層セラミックコンデンサ2
C101,C103220u/25VCapacitor_SMD:CP_Elec_8x10.510220
C106-C10947u/Capacitor_SMD:CP_Elec_5x5.9104
D1-D4, D101LEDLED_THT:LED_D3.0mm5
J1Conn_02x20_Odd_Evenピンヘッダー_2x20ピン_P2.54mm_縦型1
J2Conn_01x20フラットケープルコネクタ 20ピン0.5mmピッチ1
J3, J4Conn_01x02ピンヘッダー_2ピン_2.54mm_縦型2
J5PICKITピンヘッダー_6ピン_2.54mm_縦型1
J6Conn_02x04_Odd_Evenピンヘッダー_2*4ピン_2.54mm_縦型1
J101Mini-DIN-6My_FootPrint_Library:miniDIN61
J102,J10312V_SW,5V_SWピンヘッダー_2ピン_2.54mm_縦型2
J104InverterJST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical1
R110k1/6W抵抗1
R210kResistor_SMD:R_16081
R3-R6R1/6W抵抗4
R7-R10,R1011K1/6W抵抗5
RN110k4素子抵抗アレー
U1PIC32MX370F512HCPU
U2LF33_TO252三端子レギュレーター(3.3V)1
Y120MHzプライマリー発信子
Y2セカンダリー発信子1
プリント基板100mm×70mm1
液晶パネルKCG0757.5インチ カラーSTN1
インバーターTDK1
ACアダプタ5V/2A , 12V/1.5A1
アルミ1

プリント基板

プリント基板を製作しました

表面実装する部品は、CPU(PIC32MX370F512H)と20ピンプラットケーブルコネクタです。

そのほかに、組み立て後 変更する可能性が少ないCPU用カップリングコンデンサ、電源回路に用いる電解コンデンサ、セラミックコンデンサ、3端子レギュレータなどをチップ部品を使用しました。

その他の部品は、変更が自由にできるリード部品対応で設計しました。

また、ユニバーサル基板の部分も少しですが追加しました。

ソフトウエア

液晶表示方法

KCG075のデーター(D0~D7)は、下図のように、1ライン目の1画素(RGB)、2画素(RGB)、3画素(RG)を表している。

水平方向の画素数が640画素から640画素×3色/8bit=240バイトで1ラインを描画できる。

水平方向の画素数が480画素から、1ライン240バイトのデーターを480ライン分転送することにより、液晶パネル1画面分を描画可能である。

液晶パネルを駆動する信号は下図のPIC32MX370F512Hの周辺モジュールを使用して生成する。

①Timer2で33.74kHzのタイマーを発生させる。

②OC4(output compare4)でPWMを発生させ、RCのローパスフィルタで直流電圧にし、Vcontに入力する。

③OC3(output compare3)でHSYNCを発生させる。

描画関数

<描画内容><描画関数><引数>
画面全体を色をつけるlcd_screen(color)color
点を描画するlcd_dot(y1,x1,color)y1,x1,color
水平の実線を引くlcd_line_h(y1,x1,x2,color)y1,x1,x2,color
水平の破線を引くlcd_dashed_line_h(y1,x1,x2,color)y1,x1,x2,color
垂直の実線を引くlcd_line_v(y1,y2,x1,color)y1,y2,x1,color
垂直の破線を引くlcd_dashed_line_v(y1,y2,x1,color)y1,y2,x1,color
斜めの実線を引くlcd_line(y1,y2,x1,x2,color)y1,y2,x1,x2,color
斜めの破線を引くlcd_dashed_line(y1,y2,x1,x2,color)y1,y2,x1,x2,color
四角を描画するlcd_rectangle(y1,y2,x1,x2,color)y1,y2,x1,x2,color
円を描画するlcd_circle(y1,x1,r,color)y1,x1,r,color
1ドット幅の輪を描画するlcd_ring(y1,x1,r,color)y1,x1,r,color
縦7ドットの英数字を描画するlcd_font7(y1,x1,color,st[])y1,x1,color,st[]
縦12ドットの英数字を描画するlcd_font12(y1,x1,color,st[])y1,x1,color,st[]
縦18ドットの英数字を描画するlcd_font18(y1,x1,color,st[])y1,x1,color,st[]
縦24ドットの英数字を描画するlcd_font24(y1,x1,color,st[])y1,x1,color,st[]
縦12ドットの漢字を描画するlcd_kanji_font12(y1,x1,color,st[])y1,x1,color,st[]
<引数>設定値
colorr(赤),g(緑),b(青),y(黄),m(マゼンタ),c(シアン),w(白),b(黒)screen(r)
y10=<y1<480 始点のy座標(整数) y1=0は液晶画面の最上部、y1=479は液晶画面の最下部dot(240,320,g)
y20=<y2<480 終点のy座標(整数) y2=0は液晶画面の最上部、y2=479は液晶画面の最下部line_v(10,470,50,b)
x10=<x1<640 始点のx座標(整数) x1=0は液晶画面の左端、x1=639は液晶画面の右端line(10,470,10,620,m)
x20=<x2<640 終点のy座標(整数) x2=0は液晶画面の左端、x2=639は液晶画面の右端line_h(100,10,630,y)
1<r<640(整数) 円または輪の描画における半径を示すcircle(240,320,100,m)
st[]“文字列” font7(5,5,k,”abcdefg”)

周辺モジュール使用ソフトウエア
Timer1
Timer2lcd_function.c
Timer3apli.c
Timer4lcd_function.c
Timer5
Input Caputure1
Input Caputure2
Input Caputure3
Input Caputure4
Input Caputure5
Output Compare1
Output Compare2
Output Compare3lcd_function.c
Output Compare4lcd_function.c
Output Compare5
External Interrupt0
External Interrupt1
External Interrupt2
External Interrupt3
External Interrupt4
PMPlcd_function.c
RTCC
DMA0lcd_function.c
DMA1
DMA2
DMA3
JTAG
Watch Dog Timer
UART1
UART2
UART3
UART4
SPI1
SPI2
I2C1
I2C2
Analog Compare1
Analog Compare2

ソフトウエア