PIC初心者用掲示板

★★ 質問する前に下記をチェック ★★
(PICに関する疑問は必ず解決するはず)
←←←「電子工作の実験室」へ
←←←← 

■最新ツリー一覧

□このツリー付近のツリー一覧

★新規ツリー作成

◆ 9565. ワンショットパルスの取り込み [Robo2006/02/10 22:00


9565. ワンショットパルスの取り込み [Robo2006/02/10 22:00
いつもお世話になっております。
いきなりですが質問させていただきます。

PICに接続するICからPICのクロックより遙かに短いパルス(25nsec)が出力され、それを取り込みたいのですが、INT割り込みで取り込む事はできるのでしょうか?
もしINT割り込みで取り込めないのなら、何かいい方法はないでしょうか?

9567. Re: ワンショットパルスの取り込み [Pulse2006/02/11 01:20
>PICに接続するICからPICのクロックより遙かに短いパルス(25nsec)が出力され、それを取り込みたいのですが、INT割り込みで取り込む事はできるのでしょうか?

25nsecは短過ぎて無理かな。

>もしINT割り込みで取り込めないのなら、何かいい方法はないでしょうか?

74AC123や74VHC123等で適当なパルス幅に整形すれば取り込めると思います。

9568. Re: ワンショットパルスの取り込み [[--]2006/02/11 06:07
パルスをDフリップフロップ(7474など)のクロック入力に入れる。
D入力はH。
パルスが入るとQがH。
それをPICの入力ポートでチェックあるいは割り込み。
入力したらDフロの/CLRにつなげた出力ポートに
リセットパルスを出してDフロをクリア。
次パルスを待つ。
Q出力を相手回路にBUSYとして返すことも可能。
てなことも考えられます。

9569. Re: ワンショットパルスの取り込み [[--]2006/02/11 06:17
そう、パルスの周期は?
連続して来る場合、正確に数を数えたいなら、
カウンタを付加かなぁ。

上に書いたDフロのCLKにパルスを入力した場合、
マイコンがクリアパルスを出している間の入力パルスは
とらえられません。
/SET入力でパルスをとらえ、DをLにしたCLK入力の
エッジでクリアとするほうが良いかも。

9573. Re: ワンショットパルスの取り込み [Robo2006/02/11 10:19
早速の回答有り難うございます。

>25nsecは短過ぎて無理かな。

やはりそうですか。INT割り込みはクロックと非同期ではかからないんですね。

>74AC123や74VHC123等で適当なパルス幅に整形すれば取り込めると思います。

通常ならば、アドバイスのようにICをもう一個載せてやればいいのですが、もう基板上にICを載せるスペースが無いので、PICだけで何とかならないものかと質問させていただきました。説明不足で申し訳ないです。

9574. Re: ワンショットパルスの取り込み [Robo2006/02/11 10:26
回答有り難うございます。

>そう、パルスの周期は?

周期は2msec程度なので、そこまで早くはないです
25nsecというのはPICだけではどうにもならない速度なんですね。pulseさんと[--]さんのアドバイスを参考に、「基板上にスペースを何とか作ってICを載せる方法」と、「25nsecのパルスを取り込まなくても何とかなる方法を考える」の二つの方向から挑戦したいと思います。どうも有り難うございました。

9588. Re: ワンショットパルスの取り込み [JO_O2006/02/12 06:53
毎度JOです。
PIC16FXXXであれば、
今回割り込みを使用されていないのであれば、タイマ0のプリスケーラを使用されてはいかがでしょうか?
プリスケーラをTMR0で使用して、分周比を1/2とすればタイマ0で捉えられそうですが、
入力はRA4、この場合プリスケーラは非同期カウンターとして動作しませんか?
オプションレジスタを B'XX1X0000'とします
BIT4の外部クロック論理切り替えは、目的とするパルスの極性にあわせる・・・・・
パルス入力の確認はタイマ0のカウントを読み込み、0でなければ「入力あり」
入力を確認したら、タイマ0のクリアと、オプションレジスタの再設定でクリアーされませんか??