鈴商dotLCD 〜中間まとめ後半
CTRL端子CTRL端子に直結しているQ10はとりあえずFETの記号をつかいましたが、正体にあまり自信がありません。鈴商付属の回路図ではトランジスタの回路図が描いてありました。3月19日の記事の時点では、この素子の入力インピーダンスが高いかどうか判断できなかったので、制御テスト基板Ver.1ではシリアルに1kの抵抗を挿入しました。 PICで5Vを出力したときの抵抗の両端の電圧をテスターで測ってみたところ、ほぼ0Vだったのでこのトランジスタの入力インピーダンスは十分高いようです。よって制御テスト基板Ver.2ではマイコンのポート直結としました。 肝心のCTRL端子の役割ですが、DC/DCコンバータのスイッチです。CTRL端子に5Vを入力するとDC/DCコンバータがONとなりVEEを生成します。CTRL端子に0Vを入力するとDC/DCコンバータがOFFとなり液晶表示が消えます。DC/DCコンバータをOFFにすると消費電力を小さく抑えることが出来ます。テスト基板ではあまり考えていませんでしたが、マイコンから制御することを考えると、マイコンの初期化中はポートがハイインピーダンスとなり信号が不定になるので、信号がアクティブハイであることを考えるとプルダウンしておくのが定石でしょうか。 SHL端子SHL端子はSHL端子という名前がついていますが、MSM5299CやMSM5298のSHL端子とはあまり関係がなさそうです。モジュール上のSHL端子は、液晶モジュールの制御IC用GNDというほうがしっくりときます。回路図上ではモジュールのGND端子と区別するためにこれをGND-2としました。液晶モジュール上の消費電流のほとんどはQ10を通りGNDへ抜けるDC/DCコンバータ用のもので、GND-2へ流れ込む電流は大きくないので、おそらくPICならポートをSHL端子に直結してドライブできるでしょう。今回の私の回路ではGNDに直結して済ませました。 DISP OFF端子DISP OFF端子は負論理で表示をOFFにする端子です。すなわち信号Lで表示が消え、信号Hで表示がなされます。マイコンのI/Oを節約する場合はプルアップ、逆にマイコンから制御を行う場合はプルダウンしておくほうがよいかもしれません。今回のテスト基板では特に考慮していませんが、液晶の保護の観点からはDISP OFF制御をするべきなのかもしれません。 メインの制御端子今まで触れた端子はマイコンのI/O節約を考える場合は5VまたはGNDに固定してしまってもかまわないものでしたが、LOAD,IO0,CP,DFの4本の制御端子とD0,D1,D2,D3の4本のデータバスは必ず制御が必要になります。LOAD信号(CL1)シフトレジスタに格納された表示データをラッチするための入力端子でロードパルスの立ち下がりシフトレジスタに格納された表示データをラッチします。LOAD信号は各ラインのはじめにおくる正のパルスです。LOAD信号線はセグメントドライバMSM5299CのLOAD端子に入力されるだけでなく、コモンドライバMSM5298のCP端子への入力も兼ねています。 また、これは私の予想ですがセグメントドライバMSM5299C内部のEL,ER端子を用いたカスケード接続時のF/F制御で、データの区切りにLOAD端子の入力を利用しているようです。 この信号は俗にCL1と呼ばれるようです。 IO0信号(FRAME)IO0信号は各フレームのはじめおくる正のパルスです。IO0端子はラインドライバMSM5298のシフトレジスタへの入力です。MSM5298のシフトレジスタはMSM5298のCP端子に入力されるLOAD信号の立ち上がりによってシフトされます。(コモンドライバMSM5298のCP端子に入力される信号はモジュールのCP端子に入力されるCP信号ではないことに注意。)コモンドライバのシフトレジスタのクロックの極性は、セグメントドライバMSM5299CのLOAD端子の入力極性と逆である立ち上がりエッジでシフトです。よって、IO0信号は1ライン目のLOAD信号の立ち上がりより先にHighとし、2ライン目のLOAD信号の立ち上がりより先にLowとします。 この信号は俗にFRAMEと呼ばれるようです。 D0,D1,D2,D3セグメントドライバMSM5299C内部のシフトレジスタの4bit幅のデータ入力バスです。CP信号の立ち下がりエッジでロード/シフトされます。このモジュールのようにEL/ER端子を使ってカスケード接続されている場合は続けてデータをおくることが出来ます。CP信号(CL2)前述したとおりセグメントドライバMSM5299C内部のシフトレジスタのデータをシフトするためのクロック信号です。立ち下がりエッジでデータをシフトします。CP信号はコモンドライバのCP端子には入力されないことに注意が必要です。この信号は俗にCL2と呼ばれているようです。 液晶の保護この液晶モジュール上で使われているトランジスタは(見た目からわかる限り)3種類のみで、Q10のタイプはQ10ひとつのみです。それ以外のトランジスタはコントラスト調整部にみられた2種類のみなので、(コントラスト調整部の回路があっていると仮定すると)いままでの部分で用途不明のQ2,Q3のトランジスタはそれぞれPNP,NPNであると特定できます。Q2,Q3のトランジスタの役割に関してはあまり自信がありませんが、おそらく液晶保護のためにVEE出力につけられた電解コンデンサから電荷を引き抜くためのものではないかと思います。 DC/DCコンバータをOFFにするためにCTRL端子にLowを入力するとQ10がOFFになります。すると、Q3のベースの電位が上がりQ3がONします。Q3がONするとQ2のベースが390kを通じて引っ張られてQ2がONします。Q2がONすると120kを通じてVEE出力につながった33μFの電解コンデンサに蓄えられた電荷が放電されます。とおもいます。 DC/DCコントロールICであるBA9700AFには10番端子としてPOWER SWがあります。CTRL端子の役割がDC/DCのON/OFFだけならば、わざわざQ10のFETを追加しなくても、この端子を利用すれば足りてしまいます。そこをあえて外部スイッチを設けているということは、液晶の電源OFF時にはVEEの電荷を引き抜かなければならないということを暗に示しているのではないかとも読めます。 ソースコード解説前述したとおり、PIC16Fシリーズ単体ではRAMが圧倒的に足りないため、今回のプログラムでは1ラインだけデータをRAM上に保持して残りの行はすべて1ライン目と同じデータを書き込むようにしました。よって、がんばっても表示されるのは縦じまだけです。タクトスイッチはマイコンから液晶のコントラストを調整するテストのためにつけました。タクトスイッチを押すと液晶のコントラストが変わり、その値をPIC内部のEEPROMに保存します。その状態で電源を切ると、次回起動時に保存したコントラストで表示がスタートします。 |
コメント(0)
トラックバック(1)
トラックバックされた記事
FPGAでグラフィックス液晶モジュール用の信号を生成する(その1)
今回は鈴商で販売されているグラフィック液晶(384x192ドット、モノクロ)を...
2007/7/3(火) 午後 7:09 [ dinop.com ]
トラックバック先の記事
- トラックバック先の記事がありません。






