● 実験テーマ35
「PIC32MX_自作オシロ_V3:第2章」 (Scope_V3のソフトバージョンアップ版)
■ 2013.7.15
・ソフトバージョンを、Ver.1.02とし、以下の機能を追加しました。
@ HOLD機能
最初、外付のタクトSWにてこの機能を予定していましたが、結局タッチ・ボタン化しました。
なので、このタクトSWは外しました。
A SINGLEトリガモード機能
画面デザイン等の関係で、この機能の為に増設した、READY_SWは、外部タクトSWにし
ました。
※ 詳細は、自作オシロ_V3_Soft_Ver.1.02の、仕様を参照してください。
こちらからどうぞ→ 「自作オシロ_V3_Soft_Ver.1.02_仕様_130719」
・まず、HOLD機能追加だけやってみた。
難なくOK!!
・次に、SINGLEトリガ機能を追加したが、これが思うように行かなかった。
<調査>
・AUTO/SINGLE切替SWを、SINGLEにすると、シングルモード関数の、whileループに
入ってくることを確認
→ ここで、READY_SWを押すと、このループを抜けるはずだが抜けないで、何故か
HOLD_SWを押すと(この時点では、未だタクトSW使用)抜ける??
→ HOLD_SWとREADY_SWの、ポート配線は間違ってないことを確認
またソフトでの割付もOK
→ ただ、電気的には、READY_SWが押されて無い時の、Hi電圧が、他のSWよりも
若干低い。
プルアップは、全てPIC内部のプルアップ設定にしてあるが、READY_SWの
Hi電圧だけ、2.08Vと低目である。
もしこのポートがTTL入力でないとすると、Hiと認識されないレベルであり、ちょっと
気になるところである。
・どうもダメな、READY_SW入力に使っている、RC13ポートは、OSC(RTC用の水晶)入力
とのマルチ機能ピンになっているので、そこら辺に影響されてレベルが十分上がらない
のかもしれない?
まあ、外部プルアップにすればよいのかもしれないが、全て内部プルアップで済ませたい
ので、試しに空きピンのRG7を使ってみることにする。
(同じRGグループの、RG6は、TRIG_MODE_SWで使っており、問題なく動いているので・・)
→ このポート変更で、Hi電圧が若干上がり、READY_SWを押すと、whileループを抜ける
ようになった。
■ 2013.7.16
・どうも、CN割込み処理を増やすと、(SW追加等)
ADC(T3)割込み(レベル7)
タッチ用T1割込み(レベル2)
CN割込み(レベル1)
の、3レベルの多重割込みが、うまく行かないようで、プログラムが正しくRUNしないようである。
(READY_SWが読めなかったことを別にすれば、昨日からこの兆候があった。)
・ここで決めた。
HOLD_SWは、タッチボタン化することにした。
また、READY_SWもタッチ化したいところだが、画面上に丁度良い置き場所が見当たらない
ので、READY_SWだけは、そのまま外部のタクトSWのままにした。
但し、READY_SW ON待ちの時の、READY_SW読込は、何もCN割込みでやる必要は無い
ので、単純なレベルセンス読みにした。
これが実現すれば、レベルセンスSW以外は、全てタッチ操作になる。
多重割込みは、2レベルまでにした方がよさそうである。
・早速タッチ化のため、ボタンレイアウトを決めた。
原則として、隣り合わせのボタン配置にはしないようにした。
ボタンが小さいので、ダブルタッチの可能性があるからだ。
■ 2013.7.18
・HOLD_SWのタッチ化は問題なく行った。
・次に、READY_SWをレベルセンス読みに変更してみた。
<試行結果等>
@ READY_SWのリードは、単純ループの中でのレベルセンスでも当然うまく行く。
A ただ、やはり単純高速ループの中で、割込みが頻繁に入ると、誤動作するようなので、SINGLEモード時
は、タッチ禁止(T1 OFF)にすることにした。
前回のオシロ_V2の時と同じで、AUTO時の設定で、SINGLEモード実行という仕様にした。)
B そしてAUTOモードに戻した時に、T1 ONにするようにした。
C あと、トリガレベル設定範囲を上下広げないと、0V付近からの現象が見られないので変更することにした。
→ ソフト修正し、現行:612〜412 (5STEP)を、712〜312
( 5STEP)にした。
・結局このような修正で、SINGLEトリガも動くようになった。
■ 2013.7.24 (更新)
・アナログアンプ部の、GAIN校正の手順を簡単にまとめてみました。
<簡易GAIN校正手順>
・校正は、ACモードで行う。
入力は、1kHzサイン波とする。
@ まず、入力をAGNDに落とし、0V入力とし、ZEROポテンショにて、画面中央に輝線合わせる。
A 電圧軸レンジを、1.5V/Dにし、3Vp-pサイン波入力にて、振幅が、2目盛フルになるように、
VR3を回して調整する。
B 電圧軸レンジを、0.75V/Dにし、3Vp-pサイン波入力にて、振幅が、4目盛フルになるように、
VR4を回して調整する。
C 電圧軸レンジを、0.5V/Dにし、1Vp-pサイン波入力にて、振幅が、2目盛フルになるように、
VR5を回して調整する。
D 電圧軸レンジを、0.25V/Dにし、1Vp-pサイン波入力にて、振幅が、4目盛フルになるように、
VR6を回して調整する。
尚、GAINポテンショの位置は以下の通りです。
<最終回路図>
・こちらから、どうぞ→ 「Scope_V3_Soft_Ver.1.02回路図 1/2(デジタル部)」
(尚、シート2/2:アナログ部の回路は、実験テーマ34と同じなので、そちらを参照してください)
<最終ソース>
・こちらから、どうぞ→ Scope_V3_Soft_Ver1.02.c
※ 尚、この他に、QVGAグラフィックライブラリ(colorlcd_libdsPICVH.c,
colorlcd_libdsPICVH.h, ASCII12dot.h)
と、タッチパネルライブラリ(Touch_XT2046_Lib.c,
Touch_XT2046_Lib.h)が必要ですが、
それらは、実験テーマ31、33に公開済なので、そちらを参照してください。
← 実験テーマ1に戻る TOP PAGEに戻る 実験テーマ36へ →