楽天市場
[無料でホームページを作成] [通報・削除依頼]

USB出力の周波数カウンター


前回、HID方式のシリアルアダプターの検討でPIC12F1501を使用しました。

PIC12F1501はCLCやNCOを搭載していますので、NCOを使用したHID出力の周波数カウンターができないか検討しました。


考えかた。
①HIDの問い合わせの間に所定の時間NCOを作動させ入力パルス数を計測する。これを複数回実施して一秒間の入力パルス数を計測する。
注意)この方法では低周波側の計測が行えない、また発振周波数が計測期間中安定していることが前提。
②パルス数の計測時間を優先させ、HIDの問い合わせ間隔(最大255ms)を調整する。
③入力パルス数の計測はHID通信と干渉しないように非同期処理となる割り込みは使用しない。
④ホストに転送するデータは4バイト
※パルス計測のアルゴリズムに関しては"PIC10F322 専用周波数カウンター"のページも参照してください。

<回路図>
img_20150401-010030.png


<配線図>
img_20150401-010106.jpg



PORTA,0 計測信号入力
PORTA,1 D-
PORTA,2 D+
PORTA,3 SE0
PORTA,4 計測信号のモニター出力
PORTA,5 24MHzクロック



img_20150401-010133.png



img_20150401-010201.jpgimg_20150401-010216.jpg


<ホストプログラム>
img_20150401-010256.jpg


<信号計測に関して>
①実験の結果1回のパルス計測時間を25msとし、パルス計測を40回行って一秒間の入力パルス数を計測するように定めました。 (25ms以上では計測に失敗したため。)
②HIDの問い合わせ間隔は1回の計測時間の倍の50msと定めました。
③発振周波数が計測期間中安定していると仮定しておよそ80Hzが計測の下限です。




ダウンロードはこちらから

https://drive.google.com/file/d/1AcfuPlv1n9uCMpXBg0TernJpKl68G6Qt/view?usp=sharing