PIC Logic Scope Adapter

Copyright(c) 1999 光永 法明
jm3wud [@] ever.sanda.gr.jp

1.概要説明

PIC Logic Scope Adapter は、PIC16F84 を使った、8ch のロジックスコープを 実現するアダプタです。出力はコンポジットビデオ信号ですので、ビデオ入力を もつテレビや、液晶モニタに表示することができます。 サンプリング周期は表示しながらの場合には、16kHz から 1Hz (16kHz, 8kHz, 4kHz, 2kHz, 1kHz, 200Hz, 100Hz, 20Hz, 10Hz, 2Hz, 1Hz) 、 表示を中断する場合には、PIC16F84のオッシレータ周波数の 1/12 (3命令で実現) となっています。一画面あたりの表示サンプル数は 8ch x 50 です。

単体では入力に何もつながれていない場合、あるいはハイインピーダンス状態の場合 内部プルアップのため入力は H となります。 入力2chを利用し、ロジックレベルにより、 1)ハイインピーダンス: LL, 2)Lレベル: HL, 3)Hレベル: LH, と変化する回路を付加することにより、ハイインピーダンス状態を表示することも 可能です。

2.動作説明

PIC16F84 の PORT-A の下位2ビットをビデオ信号の生成に、上位3ビットを スイッチ入力に利用しています。PORT-B は全ビットをロジック入力に 割り当てています。PIC16F84で復号同期信号と輝度信号(2値)を生成し、 トランジスタ1石で合成してビデオ信号としています。 スイッチは3つ用意し、サンプリング開始、中断、サンプリング周期変更に それぞれを割り当てています。

プログラムはメインルーチンと割り込みルーチンの2つからなっています。 メインルーチンは、割り込み設定など初期化処理を実行した後、 スイッチを監視し続けます。 サンプリング開始(SW1)と中断スイッチ(SW2)は反応を早くし、サンプリング周期変更 スイッチ(SW3)はチャタリングを防止する必要があります。 そこで、SW1,SW2 については PORT-A を直接読み込み、押されていれば サンプリング開始または停止をするようにしました。 SW3 については、割り込みルーチンで読み込むことでサンプリング間隔を長くし、 さらにスイッチが離されたことを検出して周期を変更するようにしました。

画面表示しながらのサンプリングは割り込みルーチン内で行ないます。 画面表示をしない場合のみ、SW1 が押されていることを検出したあとすぐに、 50回のサンプリングを行ないサンプリングを停止します。

割り込みルーチンは、タイマ割り込みを利用し約62.6μs毎に起動されます。 一度の起動で、同期信号の生成、1ライン分の映像信号の出力、1回のサンプリングを 行ないます。まず、

  1. タイマの再設定
  2. PORT-Bの読み込み
  3. 同期信号の生成
を行ないます。ここまでの処理は全てのラインで同じ処理時間で行ないます。つぎに、 映像表示期間のラインでは、
  1. 1ライン分のサンプリング結果の表示
  2. サンプリング周期を示す文字の1ライン分の表示 (1Hz - 16kHz の12段階を 0-9,A,b で表します)
を行ないます。このあとサンプリングが中断されていない場合には、 サンプリング周期に応じて、サンプリングデータの記録と メモリポインタの更新を行ないます。

3.概観図


中央が、PIC16F84, 左右が入力保護, 右上がビデオ信号合成です。 スイッチは左から、サンプリング開始、サンプリング周期変更 サンプリング中断です。


3チャンネルを発信器に接続した様子

そのときの表示画面(液晶ディスプレイ使用)

4.ブロック図

5.付録

この PIC Logic Scope Adapter についての投稿記事が トランジスタ技術 2002年 2月号 に掲載されました。ソースについては、そちらの ダウンロードサー ビス を御利用下さい。
戻る (本を出しました: はじめてのPICアセンブラ入門| センサとデジカメで遊ぶ電子工作入門)