PSoCでレシプロカル式周波数カウンタ
2008-05-22
さて何メガまで測れるのか?
2008-05-20
デュアル周波数カウンタの回路とプロジェクトファイル
2008-05-20
恥ずかしながら公開します。
前に公開した回路図では一部省略がありました。
9Vの電池を使うことを想定して、電池の電圧を表示できるようにしてあります。
さらに温度センサのLM35DZを使って温度を表示しています。
プロジェクトファイルは
http://briefcase.yahoo.co.jp/konyack2001
に置いてあります、PSoCというフォルダの
DualFcounter2946.lzh
です。かなりいい加減なコーディングです(汗)

9Vの電池を使うことを想定して、電池の電圧を表示できるようにしてあります。
さらに温度センサのLM35DZを使って温度を表示しています。
プロジェクトファイルは
http://briefcase.yahoo.co.jp/konyack2001
に置いてあります、PSoCというフォルダの
DualFcounter2946.lzh
です。かなりいい加減なコーディングです(汗)
続・1カウントの誤差について
2008-05-16

当然12,800,000Hzとなるはずだと思ってたんですが・・・。
何でやねん??1カウント多い。
配線ミスかプログラムのバグかと調べたあげく、ようやく前の記事の結論に達しました。

ちなみに74AC00は74HC132に、74AC393は74HC393に変更してあります。
配線も一部変更してます。
74ACシリーズは高速な分、グランドや電源ラインに注意が必要で、今回は撤退します^^;


入力に何も繋がないのに信号反転したカウンタ部は1Hzという表示が・・・。
これは想定内の結果で、前回の記事で入力がHレベルのままなら当然こうなります。
で、思いついたのが2つのカウント結果を比べて小さい方を採用すればいいんじゃないか。
でもなぁ、今回の実験ではゲートパルスと入力信号は同期しているけど、実際の周波数測定では非同期があたり前田のクラッカー(古^^;)なんだし、そこまでする必要があるのかどうか。
周波数カウンタにおける1カウントの誤差について
2008-05-16

ゲートパルスの幅が1秒ならその間に数えたパルス数が周波数になる。
さて真ん中の図のタイミングを考えてみる。
ゲートパルスの幅は1秒、入力の周期も1秒、すなわち周波数は1Hz。
ゲート出力は入力とゲートパルスのAND(論理積)なので、ゲート出力は図のようになりカウンタは2進む。
すなわち2Hzとカウントされてしまう。
下の図のタイミングでは1Hzとカウントされる。
図ではわかりやすくするために入力は1Hzとしたが、これが1KHzでも1MHzでも同じである。
要はゲートパルスと入力のタイミングによって1カウントの誤差が生ずることになる。
久々にPSoC周波数カウンタ・デュアル
2008-05-13

ストロベリー・リナックスのPSoCマイコンボードに組み込んだ。
PSoCの内蔵オシレータは精度がよくないので、秋月電子の高精度クリスタルモジュールを外部クロックとして使っている。ただ発振周波数が12.8MHzなので測定できるのは半分以下の約6MHzまでとなってしまう。
単純にカウンタ(プリスケーラ)を付けただけでは分解能が悪くなる、そこでカウンタの出力を読み込むことにした。

ここでは74AC00と74AC393を使ってみた、100MHz近くまで動作する高速ICである。
こんな高速なICだとグランドと電源周りをよほどしっかりしておかないとノイズに悩まされることになる。
最初、動作が不安定だったのでグランドや電源ラインを見直して何とか安定動作するようになった。
