● 実験テーマ32
「PIC32MXによる、QVGA液晶を使用したオシロの実験」
■ 2013.5.22
・実験テーマ30の、モノクロGLCDによるオシロを、QVGA液晶に置換えて実験
してみる。(今回はタッチパネルは未使用です。)
・液晶の解像度が異なる(128*64に対し、320*240ドット)ので、それに伴い
以下の事項が違ってくると思う。
@ X,Y軸の座標指定が異なる。
A 1回の測定で取得するデータ数が異なる。
B 波形描画のためのデータ数が異なる。
C トリガレベルのバー表示位置が異なる。
・とりあえず、細かいことは抜きにして、後閑氏HPの、
dsPIC33F+QVGAオシロの例があるので、それを参考にして、@〜Cを
調整しながら進めていこうと思う。
・具体的な変更点は、以下が考えられる。
@ データバッファの領域(配列の要素数)を、192から512に変更
A 文字列表示は、直に""で囲んだ文字ストリングで指定している方式
から、メッセージテーブル方式に変更
B X,Y軸の座標は、解像度に合わせ、X方向は0から318ポイントまで
50ステップで、Y方向は0から239ポイントまで58ステップとして
座標表示する。
C トリガレベル描画位置は、センターレベルを、Y=116位置に描画し
そこから、±5レベルシフト/1ステップで各20ポイント毎にして
1ステップ→1ドット移動させ描画
D 波形描画の時、Y方向の電圧レベルの描画座標を、AD変換値を基に
変換が必要になるが、ざっと考えて
前回のモノクロGLCDの時は、Y方向のドット数が64のところ
10bit変換のMAX値は1024なので、変換のための割数は16であった
のに対し、
今回のQVGA液晶の場合は、240ドットになり、1024/240で
約4(実際は、4.4)になるはずである。
端数が出るが、アナログ的にゲインは変えられるので、目盛合わせ
はでき問題ないはずである。
■ 2013.5.23〜 2013.5.24
・一応ソースを書き上げたので、さっそくコンパイル。
コンパイルは一発でOK。
これでデバッグ準備はできた。
<動作確認>
@ イニシャルメッセージ:"Start Oscillo"はOK
A X,Y座標表示OK
B TRIGレベルと、時間軸レンジ表示もOK
C 一応、0.5ms/divレンジ、1kHzサイン波入力で、時間目盛は合っている。
以上は、正常な点だが、以下に不具合点と、対策を示す。
<不具合点と、対策>
@ 波形描画更新は、モノクロGLCDの時と同じ0.5秒にしてあるが、QVGA液晶だと何故か画面の
チラつきが目立つ。
→ 後閑氏の、dsPIC33Fオシロのソースをみると、1秒更新にしてあったので
これに合わすことにした。
(現在、更新毎に全画面クリアを実行しているのでチラつきはある程度しょうがないのか・・・・
波形描画のみクリア出来ればよいのだが、液晶がレイヤ毎の表示構造になっていないようで
無理な話か?)
A バッファ数と、トリガ判断との関係が不適当なのか?
速い時間軸レンジ(0.2ms/div以下)の時に、右端に余分なゴミデータ?が表示される時がある。
→ 現在これも基本的に、トリガ判断のルーチンを、
モノクロGLCDの時と同じにしているのが
いけないようで、 後閑氏の、dsPIC33Fオシロのソースのトリガ判断ルーチンの記述に変更したら
よくなった。
(ただ、後閑氏の記述は、オシロ描画と、タッチパネル処理をそれぞれ、1秒毎のT5割込み
と、0.05秒毎のT1割込みのみで、記述しているため、この辺を考慮して修正した。)
■ 2013.5.26
・大方、動作OKなようなので、今日は波形表示サンプルを数点取ってみた。
<最終回路図>
・こちらから、どうぞ→ 「PIC32MX_QVGAオシロ実験回路図」
<最終ソース>
・こちらから、どうぞ→ Scope_QVGA_PIC32MX_DIG_TRG.c
← 実験テーマ1に戻る TOP PAGEに戻る 実験テーマ33へ →