LM32C041制御3(簡易オシロスコープ)             ホームページに戻る

   前回までで、LM32C041の基本的な制御がつかめたのでもう少し実用的なものとして、簡易なオシロに挑戦しました。

  

   サンプリング周波数:アナログ1ch(ch0)としてA/D変換時間(70us)+α  10kHz(100us)

                タイマ2のCTC動作による割込処理 T2CK=16M/8=2M、OCR2=200 ∴2M/200=10kHz

  A/D変換基準クロック:データシートによると10ビット精度で最大クロックは200kHzであるが、今回CPU

            クロックが16MHzのためプリスケーラとの関係から250kHz(16M/64)とした

            (精度は若干落ちるが後で圧縮処理するので問題ないと考えた)

   電圧軸:フルスケールVcc  1023digit → 200digit  Vcc=5V 25mV/digit 

   表示領域:時間軸:300x電圧軸:200 

   基本的な流れ:@データを300サンプリングSRAMに保存

         ASRAMデータから1lineごとのデータ作成し表示処理

  目盛線:波形を見やすくするため40ドットごとに表示(横:4ms、縦:1V)

  トリガ:とりあえず固定レベルの上昇に設定(将来調整可能としたい)

  

 実行結果 

LCD_OSC.JPG - 21,604BYTES  LCD_OSC1.JPG - 18,273BYTES

   ソース1                     ソース2

   約1.7V(AC)を入力表示させたところ、バックを白にした方が落ち着いた感じです。

   いろいろやっているうちに、ポートCの5と3に30Vラインを接触させ2ポート壊してしまった。

 

 機能追加

  サンプリング周波数の可変(10k、5k、2.5k、1.25kHz)

       トリガーレベル調整(7段階+連続モード)

       画面に文字表示(サンプリングf)

   ケースに収納

      LCD_OSC3.JPG - 39,297BYTES  

    見づらいが画面左下に’Sf: 5kHz’を表示、トリガレベル:1

 LM32C041_1.GIF - 16,864BYTES    

 ソース3

 最大サンプリング周波数は10kHz(ロジックスコープであれば、もう少しあげられる)と実用範囲は少ないですが、ちょっとした観測には使えます。