March 30, 2012

Arduino と W5200 ( WIZ820IO )を接続する2

ちょっとまえにこんなことをやっていた。
それの続き。

まずはおさらい。

Wiz820ioのピンアサインはこれ。














Wiz820ioとArduinoの接続は以下の表の7本。
Arduino Wiz820IO
3.3V VIM3.3
GND GND
RESET nRESET
D10 nSS
D11 MOSI
D12 MISO
D13 SCLK













入手はココ
ソフトのArduino1.0用ライブラリのDLはココ

で、前回は接続してライブラリが動く、ところまで確認した。
課題として残っていたのは、
「Wiz820ioに負荷をかけると一時間程度で死んでしまう」という点だった。
今回はこれを解決する。

解決の糸口としては、
「ライブラリに問題があるんじゃね? by マイコン風雲録さん」
が有力な気がするので、ここから手を付ける。

まず、素のW5200ライブラリだとどんな感じなのか、もう少し詳しくチェックする。
ExamplesのWebServerをロードして、Linuxから
$ watch --interval=1 wget 192.168.1.177
で一秒に一回データを取りに行き続けることで負荷をかける。

結果:
12時間ぶっ続けで負荷をかけても異常なし。
あれ????
1月にやった時は確かに不安定だったんだけどな????
前回、今回の差分とすれば、母艦がWindowsかLinuxか、という点と気温ぐらいしか…
(Arduinoは1.0のままだし、WizNetもライブラリの更新とかしてない、タイムスタンプ的には。)
Linuxに切り替えるのも面倒だし、気温依存とか考えたくもないな…

よし。あれは気のせいだった!「勝ったッ!第3部完!」
いや、えー…気のせいじゃないと思うんだけどなぁ…

諦めきれずArduinoへの電源供給をACアダプタに切り替えて、再度実験したところ、
3時間弱、10630回アクセスした所でスタックした!!!!
おー。ACアダプタがキーなのかはわからんが、ともかく不具合は再現するな。
よーしよしよし。イイコだ。不安定だな!!!!

さすがにn=2で何かを語るのもあれなので、
そのまま、もう一回トライ。
おおおお、24時間たっても異常なし。

一番面倒なタイプの障害っぽい雰囲気。なんだこれ。。。
商用電源が揺らいだ、とかそういうのかなぁ?一応実験施設なので電源は安定してると思うんだが。

これ、シリアルコンソールつないでエラーだしておくと詳細分かる可能性があるな。
あと、W5200のresetをAVRのデジタルIOにつないでおいて、
スタックした場合にW5200のみリセットして初期化、とかそういうので切り分けてみようかな。

(追記:4/2)
とりあえず、34時間でスタックしたので、やっぱW5200だめっぽい。
特定個体の問題である可能性もあるので、もう一個買ってみよう。
というか、W5200ってリビジョン変わったりしてるんだろうか?

(追記:4/9)
とりあえず、W5100とならべて、10日ぐらいテストしてる。
http://mogtechblog.blogspot.jp/2012/04/arduino-w5200-wiz820io-3.html
もりもりW5200が固まるので難儀している。
ハズレ個体かもしれないので、他に買ってみるかなー。
なにか情報ないもんかなぁ。。。

No comments:

Post a Comment