ハードウエア設計方針
液晶パネル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の時)
Item | Symbol | Condtion | Min | Typ | Max | Unit |
電源電圧 | Vdd | ー | 3.0 | 3.3 | 3.6 | V |
液晶駆動用電源電圧 | Vcont | 25℃ | 1.65 | 1.95 | 2.25 | V |
入力信号電圧(highレベル) | Vih | highレベル | 0.8Vdd | ー | Vdd | V |
入力信号電圧(lowレベル) | Vil | lowレベル | 0 | ー | 0.2Vdd | V |
入力電流 | Iin | 入力電流 | -100 | ー | 100 | μA |
電源突入電圧 | Irush | 起動時 | 3.0A(Peak)×1ms | |||
クロック周波数(CLOCK) | Fcp | ー | ー | ー | 10.00 | MHz |
フレーム周波数(VSYNC) | Ffrm | ー | 70 | 75 | 80 | Hz |
消費電流 | Idd | 格子パターン | ー | 85 | 110 | mA |
消費電力 | Pdisp | 格子パターン | ー | 280 | 365 | mW |
LCDコネクタ
Pin No | Symbol | Description | Level |
1 | D7 | ディスプレイデータD7 | H(ON),L(OFF) |
2 | D6 | ディスプレイデータD6 | H(ON),L(OFF) |
3 | D5 | ディスプレイデータD5 | H(ON),L(OFF) |
4 | D4 | ディスプレイデータD4 | H(ON),L(OFF) |
5 | Vss | GND | ー |
6 | D3 | ディスプレイデータD3 | H(ON),L(OFF) |
7 | D2 | ディスプレイデータD2 | H(ON),L(OFF) |
8 | D1 | ディスプレイデータD1 | H(ON),L(OFF) |
9 | D0 | ディスプレイデータD0 | H(ON),L(OFF) |
10 | Vdd | 電源電圧(3.3V) | ー |
11 | Vdd | 電源電圧(3.3V) | ー |
12 | CP(CLOCK) | データー信号シフトクロック(画像クロック) | H → L |
13 | Vdd | 電源電圧(3.3V) | ー |
14 | LOAD(HSYNC) | データー信号ラッチクロック(水平同期信号) | H → L |
15 | Vss | GND | ー |
16 | DISP | ディスプレイオフ | H(ON),L(OFF) |
17 | Vss | GND | ー |
18 | Vcont | 液晶駆動用電源電圧 | ー |
19 | Vss | GND | ー |
20 | FRM(VSYNC) | 走査線駆動用同期信号(垂直同期信号) | H |
使用コネクタ:08-6210-020-340-800+(ELCO)
適合FFC or FPC :0.5mmピッチ
CFL(冷陰極管)コネクタ
No. | Symbol | Description |
1 | COLD | インバーター出力低圧側 |
2 | NC | ノーコネクト |
3 | NC | ノーコネクト |
4 | HOT | インバーター出力高圧側 |
使用コネクタ :EHR-4
適合コネクタ :B4B-EH,4S4B-EH,4B4B-EH-A(JST)
タイミング図

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

スイッチング特性(Vdd=3.3V時)
Item | Symbol | Min | Max | Unit |
CP周期 | tCCL | 100 | ns | |
CP”H”レベルパルス幅 | tWCHL | 40 | ns | |
CP”L”レベルパルス幅 | tWCLL | 40 | ns | |
CP立ち上がり時間 | trCP | 20 | ns | |
CP立ち下がり時間 | tfCP | 20 | ns | |
データーセットアップ時間 | tDS | 35 | ns | |
データーホールド時間 | tDH | 35 | ns | |
LOAD”H”レベルパルス幅 | tWLPH | 80 | ns | |
LOAD”L”レベルパルス幅 | tWLPL | 400 | ns | |
LOAD周期 | tLCL | 500 | ns | |
CP立下り→LOAD立下り 遅延時間 | tCDLD | 60 | ns | |
LOAD立下り→CP立上り 遅延時間 | tLDCR | 80 | ns | |
入力信号立ち上がり時間 | tr | 20 | ns | |
入力信号立ち下がり時間 | tf | 20 | ns | |
FRMデーターセットアップ時間 | tFS | 70 | ns | |
FRMデーターホールド時間 | tFH | 70 | ns |
インバーター仕様

入力コネクタの型番が間違っています。入力のコネクタに適合するコネクタは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 ピン番号 | 信号名 |
1 | *MCLR(CPUの7ピン) |
2 | 3.3v |
3 | GND |
4 | PGED3(CPUの13ピン)(J1コネクタの35ピン) |
5 | PGEC3(CPUの14ピン)(J1コネクタの36ピン) |
6 | 未接続 |
h
KCG075液晶パネル、入出力ピン、プログラム用ピン 以外のCPUのピンは、40ピンのJ1に接続されています。ここに40ピンのコネクタを使用し外部回路と接続ができます。この40ピンの信号を下表に示します。
J1 信号名 | ピン番号 | ピン番号 | J1 信号名 | |
GND | 40 | 39 | GND | |
PGED1/VREF+/CVREF+/AN0/RPB0/PMA6/RB0 | 38 | 37 | PGEC1/VREF-/CVREF-/AN1/RPB1/CTED12/RB1 | |
PGEC3/AN2/C2INB/RPB2/CTED13/RB2 | 36 | 35 | PGED3/AN3/C2INA/RPB3/RB3 | |
AN4/C1INB/RB4 | 34 | 33 | AN5/C1INA/RPB5/RB5 | |
PGEC2/AN6/RPB6/RB6 | 32 | 31 | PGED2/AN7/RPB7/CTED3//RB7 | |
AN8/RPB8/CTED10//RB8 | 30 | 29 | AN9/RPB9/CTED4/PMA7/RB9 | |
TMS/CVREFOUT/AN10/RPB10/CTED11//PMA13/RB10 | 28 | 27 | TDO/AN11/PMA12/RB11 | |
TCK/AN12/PMA11/RB12 | 26 | 25 | TDI/AN13/PMA10/RB13 | |
AN14/RPB14/CTED5/PMA1/RB14 | 24 | 23 | AN15/RPB15/OCFB/CTED6/PMA0/RB15 | |
GND | 22 | 21 | GND | |
RPF2/RF2 | 20 | 19 | RPF3/RF3 | |
RPF4/SDA2/PMA9/RF4 | 18 | 17 | RPF5/SCL2/PMA8/RF5 | |
RPF6/SCK1/INT0/RF6 | 16 | 15 | SCL1/RG2 | |
SDA1/RG3 | 14 | 13 | RPD0/RD0 | |
RPD8/RTCC/RD8 | 12 | 11 | RPD9/RD9 | |
RPD10/PMCS2/RD10 | 10 | 9 | RPD11/PMCS1/RD11 | |
3.3V | 8 | 7 | 3.3V | |
5V | 6 | 5 | 5V | |
12V | 4 | 3 | 12V | |
GND | 2 | 1 | GND |
部品表
記号 | 値/型番 | 内容 | 単価(円) | 個数 | 金額(円) | 備考 |
C1-C6, C8,C102,C104,C105 | 0.1u/ | Capacitor_SMD:1608 | 10 | 秋月 | ||
C7 | 10u | Capacitor_SMD:1608 | 1 | 10 | 秋月 | |
C9-C12 | 22p | 積層セラミックコンデンサ | 2 | |||
C101,C103 | 220u/25V | Capacitor_SMD:CP_Elec_8x10.5 | 10 | 2 | 20 | |
C106-C109 | 47u/ | Capacitor_SMD:CP_Elec_5x5.9 | 10 | 4 | ||
D1-D4, D101 | LED | LED_THT:LED_D3.0mm | 5 | |||
J1 | Conn_02x20_Odd_Even | ピンヘッダー_2x20ピン_P2.54mm_縦型 | 1 | |||
J2 | Conn_01x20 | フラットケープルコネクタ 20ピン0.5mmピッチ | 1 | |||
J3, J4 | Conn_01x02 | ピンヘッダー_2ピン_2.54mm_縦型 | 2 | |||
J5 | PICKIT | ピンヘッダー_6ピン_2.54mm_縦型 | 1 | |||
J6 | Conn_02x04_Odd_Even | ピンヘッダー_2*4ピン_2.54mm_縦型 | 1 | |||
J101 | Mini-DIN-6 | My_FootPrint_Library:miniDIN6 | 1 | |||
J102,J103 | 12V_SW,5V_SW | ピンヘッダー_2ピン_2.54mm_縦型 | 2 | |||
J104 | Inverter | JST:JST_XH_B2B-XH-A_1x02_P2.50mm_Vertical | 1 | |||
R1 | 10k | 1/6W抵抗 | 1 | |||
R2 | 10k | Resistor_SMD:R_1608 | 1 | |||
R3-R6 | R | 1/6W抵抗 | 4 | |||
R7-R10,R101 | 1K | 1/6W抵抗 | 5 | |||
RN1 | 10k | 4素子抵抗アレー | 1 | |||
U1 | PIC32MX370F512H | CPU | 1 | |||
U2 | LF33_TO252 | 三端子レギュレーター(3.3V) | 1 | |||
Y1 | 20MHz | プライマリー発信子 | 1 | |||
Y2 | セカンダリー発信子 | 1 | ||||
プリント基板 | 100mm×70mm | 1 | ||||
液晶パネル | KCG075 | 7.5インチ カラーSTN | 1 | |||
インバーター | TDK | 1 | ||||
ACアダプタ | 5V/2A , 12V/1.5A | 1 | ||||
アルミ | 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[] |
<引数> | 設定値 | 例 |
color | r(赤),g(緑),b(青),y(黄),m(マゼンタ),c(シアン),w(白),b(黒) | screen(r) |
y1 | 0=<y1<480 始点のy座標(整数) y1=0は液晶画面の最上部、y1=479は液晶画面の最下部 | dot(240,320,g) |
y2 | 0=<y2<480 終点のy座標(整数) y2=0は液晶画面の最上部、y2=479は液晶画面の最下部 | line_v(10,470,50,b) |
x1 | 0=<x1<640 始点のx座標(整数) x1=0は液晶画面の左端、x1=639は液晶画面の右端 | line(10,470,10,620,m) |
x2 | 0=<x2<640 終点のy座標(整数) x2=0は液晶画面の左端、x2=639は液晶画面の右端 | line_h(100,10,630,y) |
r | 1<r<640(整数) 円または輪の描画における半径を示す | circle(240,320,100,m) |
st[] | “文字列” | font7(5,5,k,”abcdefg”) |
周辺モジュール | 使用ソフトウエア |
Timer1 | |
Timer2 | lcd_function.c |
Timer3 | apli.c |
Timer4 | lcd_function.c |
Timer5 | |
Input Caputure1 | |
Input Caputure2 | |
Input Caputure3 | |
Input Caputure4 | |
Input Caputure5 | |
Output Compare1 | |
Output Compare2 | |
Output Compare3 | lcd_function.c |
Output Compare4 | lcd_function.c |
Output Compare5 | |
External Interrupt0 | |
External Interrupt1 | |
External Interrupt2 | |
External Interrupt3 | |
External Interrupt4 | |
PMP | lcd_function.c |
RTCC | |
DMA0 | lcd_function.c |
DMA1 | |
DMA2 | |
DMA3 | |
JTAG | |
Watch Dog Timer | |
UART1 | |
UART2 | |
UART3 | |
UART4 | |
SPI1 | |
SPI2 | |
I2C1 | |
I2C2 | |
Analog Compare1 | |
Analog Compare2 |