イーサネットのENC28J60
NICチップを買ったぞ。もうあとには戻れない(2/25/08)
調査の原稿3本を事務所で手早く片付けて、今日は久しぶりに秋葉の秋月に寄る。 あれこれ考えていたが、やはり次期の開発対象は、ロボットでなくEtherNetにすることにした。EtherNet経由の電源コントローラは、家族の要望もあるし、部品も入手しやすい。ただしソフトウエアは相当な量になり自主開発は恐らく不可能で、ネット上のオープンソースに頼らざるを得ない。
色々調べた挙句、結局マイクロチップのENC28J60というSPIインタフェースを持ったNIC(ネットワークインタフェースコントローラ)チップ(\600)を2つも買ってしまった。あわせてパルストランスの付いたモジュラージャック(\300)も購入、合計¥900。DIPソケットというのが良い。PIC向けには色々ソフトが用意されているようだが、AVRは商売敵だから何も用意されていない。しかし、Webには、フリーのAVR版ドライバが結構出回っていて、スクラッチからコードを書かなくてすみそうである。
例によって2組買って¥2000近い投資。電子工作の世界ではもうあとにはもどれない高額の投資である。気の早いことに電源のON/OFFは秋月の25Aまで流せるSSRキットも準備してある。このヒートシンクをついでに買ってくる。これから少しづつ資料を集めていくことにしよう。今度の山は相当、難度が高いと思うが、やり甲斐のある目標であることには間違いない。
ボタン電池が空(から)になっている!(2/26/08)
久しぶりに温度ロガーを動かして、温度が正しく表示されないのに気がついた。もう電池がなくなったのか、いや、LEDは1秒ごとの点滅を少し暗くはなったが正しく繰り返し、PCにつないでみてもちゃんと応答して、時計も正確だ。
まさかと思いながら、ボタン電池で昇圧している温度センサーの電源電圧を測る。なんと、2Vしかない。MCUの電源電圧より低い。そんな馬鹿なとボタン電池を取り出して測ってみると信じられないことに、マイナス電圧が出ている。考えられることは、スイッチを切った後、MCUを通して流れる漏洩電流で、ボタン電池が昇天したことである。試しに、新しいボタン電池を入れて電源を切った後流れる電流を測ってみた。なんということだ。1.4mAも流れている。ボタン電池は、温度ICの動作電圧4.5V以上確保するため、Vccと、温度ICの電源の間に接続されており、電源スイッチを切っても、ここはつながったままである。冷静に考えれば、確かに電流が流れる可能性はあるが、これほどまでとは思わなかった。
皮肉なことに、電源スイッチを入れると、ボタン電池の消費電流はマイクロアンペア以下のほぼ0になる。切ったあと1.4mAも常時流れれば、200mAhくらいしかないボタン電池はあっという間に消耗してしまう道理である。USBのバスパワーが信号線を通して流れ込む経験をして学習したはずなのだが、半導体の難しさをまた認識させられた。こちらはハイインピーダンスの真空管、トランス育ちなので、どうもこのあたりが無神経になる。
双極双投のスライドスイッチを急遽、部品箱から見つけ出し、ロガーのボディにとりつけ、ボタン電池も電源を切ったときMCUから切れるようにする。こういうときは、ミニルータのおかげで、穴あけが大変楽になった。
USIインタフェースを使ったソフト(マスタ、スレーブとも)I2Cの完成(2/28/08)
最初の温度ロガーでUSIインタフェースを使ったマスター側のソフトウエアを開発し、このあいだのLCDドライバーでスレーブ側のソフトが完成したが、まだ双方で動くことは確認していなかった。コードを公開するからには、これは是非やっておかなければならない。まあ、両方ともAtmel社のアプリケーションノート(AVR310 、312)のソースがオリジナルだから、あまり威張れる筋合いではないが、AVRのソースにはマスターもスレーブにもバグがひとつづつあり、あのままでは2つとも動かない。それにあのコードは変数の名前が無闇に長く、とても読みにくい。まあ少しはお役に立てるだろう。
確定申告も、研修の資料の準備も終わったので、始めることにする。これまでのソースにソフトI2Cのマスターだけをテストするプログラムがあったので、それにLCD関係のテストに使ったコードをコピーして動かしてみる。いくつかのコンパイルエラーを直すだけで、これは一発で何の問題なく動作した。このあいだのUSB-SPIブリッジの時のパーフェクトゲームほどではないが、気分が良い。このUSB-SPIブリッジはこのテスト中、何もしないで自動的に38.4kbpsのUARTになることがわかった。賢い奴だ。
NIC(ネットワークコントローラ)の資料もだいぶ集まってきた。チップの日本語のデータシートがあるのがありがたい。その日本語も割りにしっかりしている。マイクロチップのユーザー対応がAtmelに比べると格段に優れていると言うウェブの評判どおりのようだ。
PICNICというPICを使った同種のボードを題材にした参考書も入手した(¥3200もしたが)。ざっと読んだ感じでは、レジスタの設定などやることは沢山ありそうだが、それほど難解ではない。特にシリアルのSPIインタフェースになっているので、パラレルでデータバスをハンドリングしなければならないNE2000互換のチップに比べれば開発は格段に楽なようだ。
やっぱりドリルスタンドが欲しい(2/29/08)
明日からまた2日間の志賀高原スキー行き。準備が済んだので、また地下のオーディオルームで電子工作である。LANコントローラのNIC基板を少しづつ作り始めた。まず、RJ45モジュラーソケットの固定から始めた。いつも思うのだが、なんでこういうソケット類のピン配置の規格は、どれもこれも、ばらばらなんだろう。こういうときのために買っておいた変換基板とも全くあわず頭にくる。
仕方なく、ユニバーサル基板に穴を開ける。前のDSUBは苦労したが、今度はミニルータに1ミリドリル刃がある。ところがこれがなかなか上手く行かない。刃が折れる心配より、正確な位置に刃を落とせない。センターポンチのようなもので穴を開けても穴が小さすぎ、どうしても少しずれる。しかもユニバーサル基板なので一旦ずれてあけると修正が殆ど不可能になり大穴になってしまう。
やっとのことでモジュラーソケットを取り付ける。8ピンのハーフピッチずれたところの1ミリ穴はうまく入ったが、固定用の変形穴は片側を失敗し大穴になってしまった。ただ、穴の位置を正確に基板に写すの方法を発見し(一旦紙にソケットを密着させて穴を開けた後、その紙を基板に当てる)たのは収穫だった。この方法で次は綺麗に開けてやる。やっぱりドリルスタンドが欲しくなってきた。
4×3.5センチの基板(この前のUSB-SPIブリッジ基板の残り)に、ソケットとNICチップを乗せて、全部の部品が載るか試してみる。うむ、何とか載りそうだ。この基板のモデルはオプティマイズのNICアダプタで、(http//optimize.ath.cx/spi_ether/spi_ether.htm) オプティマイズではNICチップが表面実装の小さいものに比べこちらはDIP版なのであれほど小さくは出来ないが、そこそこ小さくまとまりそうだ。
鈴商恐るべし(3/5/08)
講師を担当した2日連続の講座の前日だと言うのに、仕事帰りに秋葉原に寄る。準備は全部済んでいるし、スキーや、テキストの準備でこのところマイコンに遠ざかっていたので足が自然に向かってしまうのだ。NIC基板の部品を揃えるためである。
コンデンサや抵抗は千石電商で落ち着いて選び(秋月は慌しい)、クリスタルは秋月が千石の半額なので、秋月で買う。残るは、オプティマイズの回路図で唯一緒元のわからない部品、チップビーズである。秋月では¥2000もするセットでしか売っておらず、1つや2つのためにこれを買うのはばかげている。海外のページでは、フェライトコアに何回か銅線を巻くだけで良いというので、フェライトコアを探したら、ちゃんと千石の地下にあり、これを買う(@¥50)、いやさすがは秋葉原だ何でもあるなと感心して、時間があったので、近くの鈴商という部品屋を覗いてみた。昔はジャンク屋だったはずだが、小奇麗な専門パーツ店になっている。これがなんと驚くことにチップビーズをバラ売りしていたのである。
それも、1ミリ以下の豆粒のようなものから、何個もならんだフェライトアレイのようなものまで品揃えも豊富で、何を選べば良いのかわからないくらいだ。いや驚いた。恐るべし鈴商である。オプティマイズのWebの写真に近いものを選ぶ(10 ヶで¥100)。今のところ外観しか判断基準がない。まあ、EMI対策の部品なので余り大差はないだろうと楽観している。
| 固定リンク
「電子工作」カテゴリの記事
- 生存証明2(2022.10.19)
- 生存証明(2022.01.23)
- パソコン連動テーブルタップの修理を諦めて自作(2021.02.16)
- 半年ぶりのブログ更新に漕ぎつけた(2019.09.19)
- 研究所活動は停滞したままでCCDカメラ顕微鏡導入など(2019.02.08)
コメント