連続パルス波形の周期およびデューティ比の測定
Copyright(C)
4Feb2004
coskx
【1】 はじめに
この文書はAKI-H8/3048を用いたクロック波形の周期およびデューティ比の測定について解説している。
使用するのはITUch4のバッファを使用したインプットキャプチャである。ここではITUch4を用いたがITUch3でも同じことが出来る。
(ITUch0,1,2はバッファの機能がないので使えない)
サンプルプログラムのダウンロード
DownLoad |
【2】 AKI-H8/3048による連続パルス波形の周期およびHレベル区間長の測定
ある種のセンサはその出力を連続パルス波形(1と0が交互に出力される波形)で出力し,そのデューティ比で測定値を表現している。
デューティ比は「Hレベル区間長」/「パルス周期」であたえられる。
ここではITUch4のインプットキャプチャ機能を利用して,連続パルス波形の「Hレベル区間長」と「パルス周期」を測定している。
測定にはCPUクロックをあるいはその分周クロックを用いて,測定対象の「Hレベル区間長」と「パルス周期」が何クロックにあたるかを計測する。
このプログラムで「Hレベル区間長」と「パルス周期」を測定するには,被測定波形をTIOCA4とTIOCB4に同時に与えなければならない。
ITUch4のインプットキャプチャ機能を利用した連続パルス波形の「Hレベル区間長」と「パルス周期」の測定 |
/********************************************************** ITU4でinputcapture (周期とH区間長さを測定) 設定
Time Chart **********************************************************/ /*clockindex
0:φ,1:φ/2,2:φ/4,3:φ/8*/ /* 入力端子 測定したい波形を,以下の2つの端子に入力する #define readPeriod()
(ITU4.GRB) volatile unsigned short int
period=9999; main() #pragma interrupt
(int_IMIB4) |
割り込みベクタテーブル |
;************************************************************************
.ORG H'0000A4 ;
ITU4インプットキャプチャB割り込みベクタアドレス |
【3】 AKI-H8/3048による連続パルス波形の周期およびHレベル区間長の測定テストプログラム
「【2】」のプログラムの妥当性を検証するため,ITUch3からPWM連続波形を発生し,これの「Hレベル区間長」と「パルス周期」を測定することとした。測定中にシリアル接続されたPCのターミナルソフト(ここではハイパーターミナルを使用してテストした)でキー'D','U'の操作でITUch3のPWM信号のHレベル区間長を変更して,動作確認を行なった。プログラムリストの後半は,実行結果である。
実行結果の測定値では,周期およびHレベル区間長ともに,ITUch3が発生しているそれらと同じ値が得られている。
このプログラムを実行するときには次の3つの端子を結合する必要がある
(1)TIOCA4 測定用入力
(2)TIOCB4 測定用入力
(3)TIOCA3 PWM出力
ITUch4のインプットキャプチャ機能を利用した連続パルス波形の「Hレベル区間長」と「パルス周期」の測定 |
/********************************************************** ITU4でinputcapture (周期とH区間長さを測定) 設定
Time Chart **********************************************************/ /*clockindex
0:φ,1:φ/2,2:φ/4,3:φ/8*/ /* 入力端子 測定したい波形を,以下の2つの端子に入力する #define readPeriod()
(ITU4.GRB) /*検査用PWM出力*/ /*ITU channel3 でPWM出力*/ /*PWM出力*/ volatile unsigned short int
period=9999; main() #pragma interrupt
(int_IMIB4) /************************************************************ |
割り込みベクタテーブル |
;************************************************************************
.ORG H'0000A4 ;
ITU4インプットキャプチャB割り込みベクタアドレス |