« XI-IV再び(70) | トップページ | AVR実験室(31) »

2012年1月 6日 (金)

AVR実験室(30)

3 1200Hz2200Hzの判別

Ax.25では、データ転送速度が1200bps1秒間に1200ビット)であることから、1/1200秒ごとに1ビットのデータを判別する必要があります。ということは、1200Hzでは1周期、2200Hzでは1.8周期で1ビット、つまり、ゼロクロスの回数はそれぞれ2回と3回となります。

先に説明した周波数検出の(1)の方法では、約0.8ミリ秒(=1/1200)の間にゼロクロスが2回以下なら1200Hz3回以上なら2200Hzと判別することになります。

また、(2)の方法では、ゼロクロスの間隔が、1200Hz2200Hzとの中間値である1700Hzに対応する約0.3ミリ秒(=1÷(1700×2))以上なら1200Hz、以下なら2200Hzと判別することとなります。

AVRマイコンには、タイマにより一定時間の間隔で割り込みがかかる機能と、アナログコンパレータでゼロクロスを検出したときに割込みがかかる機能があります。

(1)の方法の場合は、アナログコンパレータの割込み時にゼロクロスした回数を数えておき、0.8ミリ秒ごとのタイマ割込み時に数えていたゼロクロスの回数を取得して、周波数を判別することとなります。

(2)の方法の場合は、アナログコンパレータの割込み時に前回の割込みからの間隔を計測して、周波数を判別することとなります。

今回は、割込み処理ひとつで周波数判別できるので、(2)の方法を採用しました。
03detectfreq1222


|

« XI-IV再び(70) | トップページ | AVR実験室(31) »

ワンチップマイコン」カテゴリの記事

コメント

コメントを書く



(ウェブ上には掲載しません)


コメントは記事投稿者が公開するまで表示されません。



トラックバック


この記事へのトラックバック一覧です: AVR実験室(30):

« XI-IV再び(70) | トップページ | AVR実験室(31) »