トップページ > SH-2基板 > W5300編

インターフェース誌 付録SH-2基板 W5300でFTP編 by 浜本正樹

 間違いのご指摘、ご意見などがございましたら、「掲示板」へご遠慮なく書き込んで下さい。

2010年10月21日

(株)エムシーエムの、「WIZnet W5300使用TCP/IPボード」を購入してつなげてみた。部品も実装されていて¥2,200円という、とってもリーズナブルな価格だ。そのうえ、説明書やサンプルソースがWEBで公開してあり、いたれりつくせり。
それにくらべると、弊社のモータドライバなどの商品説明は貧弱だなあ。がんばらなくてわ。

MACアドレスとIPアドレスなどを書き込んで、パソコンからPINGが通った。

SH7144ボードには3.3Vの電源ICが載っており、その3.3VをW5300ボードにもつなげて使っていたが、手を近づけると、もわ〜っと熱い。5Vの安定化電源は0.35Aを表示している。電源ICは最大1Aなので余裕だと思うのだけど、おそるおそる使っているのもイヤなので、W5300ボード専用に3.3Vの電源ICをつけてあげた(写真の左上)。どちらもほんのり程度の熱さで、安心安心。 SH7144もW5300も、もう少し消費電流が少ないと良いと思う。

2010年11月11日

 CPUの内蔵ROMでデバッグしていたが、なんせFlashROMは最低100回までしか書き込みが保証されていない。そのうちへたってきてしまうのではないかと気が気でない。
 (株)エムシーエムさんでSRAMと74LV08を扱っているというので購入した。あいかわらず、リーズナブルな価格だ。
 前回はプロにお願いしてハンダ付けしてもらったが、お伺いするついでの予定がないので、思い切って自分でハンダ付けに挑戦してみることにした。
 YouTubeで「ハンダ付け 表面実装」で検索し、いくつかの動画を参考にした。 べたべたっとハンダを盛ってから、吸い取り線で吸い取った。はじめてにしては、まあまあかな。 それなりにちゃんと動いているようだし。

SRAMの実装
2011年12月3日

SH2+W5300基板に、FTPクライアントのプログラムを組み込んでみた。
FTPプロトコルに関しては 68user's page様のページなどを参考にさせていただいた。

FTPサーバーにはNekosgiFtpdをインストールして、ファイルの送受信してみた。
問題なく送信(STOR)も受信(RETR)も出来た。WindowsXpでも、Windows7でも問題なく送受信出来た。
NekosogiFtpdは設定がわかりやすく、ログも表示されるので、とても使い勝手がよいと思います。 Windows7の64bitでも問題なく動作するようです。(Windows7@ウィキ)

次に、WindowsXpに標準装備のIIS(Internet Information Services)のFTPサーバーをセットアップして、送受信してみた。
こちらも問題なく送信(STOR)も受信(RETR)も出来た。
WindowsXpのIISのFTPサイトを開始するとき、最初にエラーとなることが多い。なぜだろう。
1回目にエラーとなっても、2回目にはなぜか正常にすぐに開始できる。


次に、Windows7にIISのFTPサーバーをセットアップして、送受信してみた。
こちらはなぜかうまくいかない。
原因をさぐるために、Microsoft Network Monitor 3.4をダウンロードしてインストールしてみた。
Network Monitorは以前は有料だったようだが、最近は無料でダウンロードできる。
私のような貧乏プログラマーにはありがたい。

ファイルをFTPで受信する手順としては、68user's page様のページに記述があるように、
 1. PORTコマンドを送信して、データを受信するポート番号をサーバーへ知らせる
 2.サーバーから 「200 PORT command successful.」の応答がある。
 3.RETRコマンドを送信して、受信するファイル名をサーバーへ知らせる。
 4.サーバーはconnectして、「150 Opening ASCII mode data connection ・・・」を応答する。
 5.サーバーはファイルのデータを指定されたポート番号へ送信する。

WindowsXpのIISのFTPサーバーも、nekosogiFtpdも同じ手順だ。
しかし、Windows7のIISのFTPサーバーでは下記の手順となるようだ。
  1. PORTコマンドを送信して、データを受信するポート番号をサーバーへ知らせる
 2.サーバーから 「200 PORT command successful.」の応答があるが、
  同時に指定されたポート番号にconnectする。
 3.RETRコマンドを送信して、受信するファイル名をサーバーへ知らせる。
 4.サーバーは「125 Data connection already open; Transfer starting.」を応答する。
 5.サーバーはファイルのデータを指定されたポート番号へ送信する。

最初に作成したFTPクライアントのプログラムでは、RETRコマンドなどを送信後、「150」の応答を待つようにしていた。
Windows7のIISのFTPサーバーは、いつまでたっても「150」を送信してこないため、その後のデータを取りこぼしてしまっていた。
RETRコマンドなどを送信後は「150」または「125」の応答で先へ進むように変更したら、Windows7のFTPサーバーでもXpのFTPサーバーでもnekosogiFtpdでも正常に送受信できるようになった。

おそらくWindows7のIISのFTPサーバーも定められた規程の範囲内で応答しているのだろうが、できればXpと同じにしてもらいたいものだ。
Visual Studioなんかも、バージョンアップすると全く使い勝手が変わってしまうので、オジさんにはついていくのが大変だよ。


トップページ > インターフェース誌付録SH-2基板 > W5300編
NORTi編
HOS編


エスペランサ トップページへ ()