• ベストアンサー
※ ChatGPTを利用し、要約された質問です(原文:PIC18F4550について)

PIC18F4550についての疑問点

このQ&Aのポイント
  • PIC18F4550の回路基盤製作において、駆動周波数のXTAL選択についてわからない点があります。
  • 3台のPICを用いてI2C通信を行い、半導体リレーで信号線をスイッチングし、PICの切り替えを行いたいと考えています。
  • これらの疑問についてご教示いただけると助かります。

質問者が選んだベストアンサー

  • ベストアンサー
  • kazusone
  • ベストアンサー率54% (33/61)
回答No.2

私はこの品種を使ったことも使う予定もありませんので以下が正しいかどうかは、ご自身で確認するしかありません。 データシートのfigure2-1から、20MHzの外部発振子を使う場合、PLLDIV=100,CPUDIV=00,FOSC0=1と設定すればいいと思います。 半導体リレーより、アナログスイッチのほうが良いでしょう。但し、線路特性がI2Cの規格を外さないよう、回路に詳しい方に相談することをお勧めします。 I2Cはマルチマスター可能ですから、私なら、わざわざ半導体リレーでバスを分離しないと思います。更に、マルチマスターを必要としない構成で設計すると思います。

tiradical
質問者

お礼

回答が大変遅くなり誠に申し訳ありません。 的確なアドバイスありがとうございました。 ご指摘通り設定することで、48MHzで駆動することができました。 ありがとうございました。

その他の回答 (1)

  • kazusone
  • ベストアンサー率54% (33/61)
回答No.1

データシートに使用可能な水晶のスペックが書かれていますよ。 4MHzの整数倍(CONFIG1Lレジスタで選択できるもの)なら何でも良いでしょう。データシートのクロックの項を見れば判るように、一旦4MHzに分周して、PLLで96MHzに変換します。質問の20MHzを利用したケースでは、20MHz/5=4MHz、4MHzをPLLに通して96MHz、96MHzを2分周して48MHzを生成するのだと思います。 I2Cはメカリレーには厳しいし、双方向バスなのはご存知でしょうか? I2C用のアイソレーターがあるはずなので調べてみてください。

参考URL:
http://www.analog.com/en/prod/0%2C2877%2CADuM1251%2C00.html
tiradical
質問者

補足

大変丁寧なご回答ありがとうございます。 >質問の20MHzを利用したケースでは、20MHz/5=4MHz、4MHzをPLLに通して96MHz、96MHzを2分周して48MHzを生成するのだと思います。 上記の場合のCONFIG1Lレジスタの設定は下記でよろしいのでしょうか?どうにも自信が無くて申し訳ないです。 bit7,6,5,4,3,2,1,0 -,-,0,0,0,1,0,0 >I2C用のアイソレーターがあるはずなので調べてみてください。 アイソレータというものについて勉強不足で全く知りませんでした。これから勉強したいと思います。 現在行いたいことを下に書きました。 PIC18Fを4個をI2Cで接続し、各PIC間でデータの送受信をしたいと考えております。マスタ2個、スレーブ2個の構成です。各マスタからスレーブを操作し、データはマスタ(1)→スレーブ(2)→マスタ(2)と送信したいと考えております。そうすると、マスタが複数になるためI2C通信ができないと考えました。そこでI2Cバスにマスタが一つとなるようI2Cバス内のマスタの接続を一つにしたいため、下記の構成を試みようと思っております。 PIC(マスタ(1)側)--------------PIC(マスタ(2)側) i2C|-----半導体リレー-----------|i2C I/O|---------| (リレー制御用I/O) このような構成ができるかどうか自体不明なのですが、できるのであればどのようなリレーを使用すれば可能でしょうか?それともマルチマスタと呼ばれるものを用いればよいのでしょうか?(マルチマスタについても資料が無く困っています)コンパイラはC18を使用しています。 よろしければご回答していただけませんでしょうか。 よろしくお願いいたします。

関連するQ&A