PICのICSPとI2Cは同居できるか?(その後)

前回、同居できることは確認したので調子に乗っていろいろなデバイスをぶら下げつつ、最適なプルアップ抵抗値を実験によって調べてみた。

ということで、実際にぶら下げてみたのは、ストロベリーリナックスのI2CのLCDであるSB1602BとEEPROMと秋月で売っているリアルタイムクロックのRTC-8564NBの3つ。プログラムでは、まずEEPROMに16バイト書き込み、RTCを初期化(時刻をセット)し、その後EEPROMを読み出しつつ、RTCから時刻を読み出し、LCDに表示するというもの。アクセスを一定時間繰り返して、エラーとなった回数をチェックしてみた。

その結果がこれ。実験には結構時間がかかった(まぁずっと見ているわけではないので問題はないのだがw)ので、もうしたくないって感じ。

5Vの欄はPICkitを接続せず、外部から電源を供給したときのものである。通常PICkitを接続して5Vを指定しても4.7~4.8V位しか供給できないので、参考のためやってみた。ほぼ計算通りの値でよいことがわかったが、PIC内蔵プルアップでも意外と使えることがわかった。

3.3Vシステムでの実験もしたかったが、結構時間がかかるのでやめてしまった。というかPICkit2/3を低い電圧供給で動作させると、PICをうまく認識しなかったりすることがたびたびあったので、この辺の問題が解決しないと同居は困難かもしれない。誰かやってくれーw(他力本願)

(加筆7/4)長時間運転していないがPICkit2ではVdd電圧を下げても問題はないようだった。PICkit3ではMPLAB8から動作させると認識しないことがあるようだったので、最近公開されたPICkit3 scripting toolで動作させると、2.5Vまで下げても問題ないようだった。ハードウエアの問題と言うよりはPICkit関連ソフトウエアの問題か?

ただ、いろいろ実験してみて気がついたのだが、I2Cは結構外乱に弱い。蛍光灯のデスクランプをつけたとたんエラーが出たりとかもするので、結構要注意。まぁ学生実験とかで使用する分には問題のないレベルだと思われるので、教材にも使えるのではないかと思うというか、使う予定にしている。

製品に採用するような人はいないとは思うけど、一応念のため、この実験結果を使用するときは自己責任でw

動画も撮ってみた。

  1. トラックバックはまだありません。

コメントを残す

以下に詳細を記入するか、アイコンをクリックしてログインしてください。

WordPress.com ロゴ

WordPress.com アカウントを使ってコメントしています。 ログアウト / 変更 )

Twitter 画像

Twitter アカウントを使ってコメントしています。 ログアウト / 変更 )

Facebook の写真

Facebook アカウントを使ってコメントしています。 ログアウト / 変更 )

Google+ フォト

Google+ アカウントを使ってコメントしています。 ログアウト / 変更 )

%s と連携中

%d人のブロガーが「いいね」をつけました。