- 9565. ワンショットパルスの取り込み [Robo] 2006/02/10 22:00
- いつもお世話になっております。
いきなりですが質問させていただきます。
PICに接続するICからPICのクロックより遙かに短いパルス(25nsec)が出力され、それを取り込みたいのですが、INT割り込みで取り込む事はできるのでしょうか?
もしINT割り込みで取り込めないのなら、何かいい方法はないでしょうか?
- 9567. Re: ワンショットパルスの取り込み [Pulse] 2006/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: ワンショットパルスの取り込み [Robo] 2006/02/11 10:19
- 早速の回答有り難うございます。
>25nsecは短過ぎて無理かな。
やはりそうですか。INT割り込みはクロックと非同期ではかからないんですね。
>74AC123や74VHC123等で適当なパルス幅に整形すれば取り込めると思います。
通常ならば、アドバイスのようにICをもう一個載せてやればいいのですが、もう基板上にICを載せるスペースが無いので、PICだけで何とかならないものかと質問させていただきました。説明不足で申し訳ないです。
- 9574. Re: ワンショットパルスの取り込み [Robo] 2006/02/11 10:26
- 回答有り難うございます。
>そう、パルスの周期は?
周期は2msec程度なので、そこまで早くはないです
25nsecというのはPICだけではどうにもならない速度なんですね。pulseさんと[--]さんのアドバイスを参考に、「基板上にスペースを何とか作ってICを載せる方法」と、「25nsecのパルスを取り込まなくても何とかなる方法を考える」の二つの方向から挑戦したいと思います。どうも有り難うございました。
- 9588. Re: ワンショットパルスの取り込み [JO_O] 2006/02/12 06:53
- 毎度JOです。
PIC16FXXXであれば、
今回割り込みを使用されていないのであれば、タイマ0のプリスケーラを使用されてはいかがでしょうか?
プリスケーラをTMR0で使用して、分周比を1/2とすればタイマ0で捉えられそうですが、
入力はRA4、この場合プリスケーラは非同期カウンターとして動作しませんか?
オプションレジスタを B'XX1X0000'とします
BIT4の外部クロック論理切り替えは、目的とするパルスの極性にあわせる・・・・・
パルス入力の確認はタイマ0のカウントを読み込み、0でなければ「入力あり」
入力を確認したら、タイマ0のクリアと、オプションレジスタの再設定でクリアーされませんか??