電子書籍の厳選無料作品が豊富!

H8 3052Fのituを使ってラップカウントは出来るでしょうか?

あるパルス信号をTCNTでカウントする時にカウント動作を止めないで
その時のカウント数を読み出す事は出来るでしょうか?

パルス波形と正弦波の2つの信号波形があって、パルス信号をあるタイミングからカウントしていき、それと同時に正弦波の電圧をサンプリングして行った場合に、電圧を測定したPOINTのパルス波形のカウント数を調べたいです。
計測する期間は約2mSで、この期間内でなるべく多く正弦波の電圧をサンプリングしたいのですが、マニュアルを読んでもTCNTの動作、停止しか書いてないみたいでよく分かりません。

ご存知の方がいらっしゃいましたら教えて下さい。

A 回答 (1件)

> H8 3052Fのituを使ってラップカウントは出来るでしょうか?


ソフト次第ですね。
ラップカウントのみが目的なら、タイマ割り込みでのインクリメントカウンタをソフトで作成し、外部割り込みでインクリメントカウンタのデータを読み出すような方法が一般的だと思います。

> あるパルス信号をTCNTでカウントする時にカウント動作を止めないで
その時のカウント数を読み出す事は出来るでしょうか?
TCNT0~4は任意の任意のタイミングで読み出し可能で、この読み出し動作はカウント動作に影響を与えません。

A/D変換の所要時間は5.4uSと表記されていますので、2mSの間に200回以上のサンプリングは可能ですが、ご質問内容からは、サンプリング周期が一定でなくてもよいように読み取れますが、当方の勘違いでしょうか?
サンプリング周期不定のサンプリングデータに意味がどんな意味があるのか疑問に思っただけですので、気にしないでください。

2msの間に一定のサンプリング周期でサンプリングされる場合は、
パルス信号でフリップフロップを反転させ、それを割り込み割り込みに利用し、カウントアップだけの割込みルーチンを作成し、このデータをパルスカウンタとして使用する。
タイマ割り込みでA/D変換を開始しサンプリング。
全チャンネルをタイミングをずらせて使用するとより多くのサンプリングが可能ですね。

以上、的外れな回答ならごめんなさい。。。

この回答への補足

あるポイントからパルス信号のピークまでの時間を割り出す為に、電圧(v)と時間(t)のDATAを以下のような式に当てはめていくソフトを作りたいのです。

時間t
電圧v

*カッコの中の数字はサンプリング回数です

 d1= t(1)×V(t(1))
d2= V(t(1))

d1=d1+t(2)×(V(t(2))
d2=d2+V(t(2))
: :
: :
d1=d1+t(n)×(V(t(n))
d2=d2+V(t(n))
次々と足し込んでいき、 d1/d2とすればピークまでの時間がでるはず。

時間dataと電圧dataを1回サンプリングする毎に上記のような計算をしてd1およびd2にdataを溜め込んで行きたいのですが、四則演算させるとH8の処理時間がかかるので、2mSの間にどれくらいサンプリング出来るかは不明なのです。

補足日時:2008/07/25 12:01
    • good
    • 0
この回答へのお礼

ご回答ありがとうございます。

お礼日時:2008/07/25 12:01

お探しのQ&Aが見つからない時は、教えて!gooで質問しましょう!