MACフレーム

■ENC28J60を使ったコントローラはバラックが組みあがった。ブレッドボード上で組むようにした、作った当人が言うのもなんだけど、だいぶ大雑把な感じで、本当にイーサネットにつないで大丈夫かしらんという不安がふつふつと湧き上がってくる。LANケーブルを挿した途端に火花が散るとかしたら嫌だな。

ATmega128/ENC28J60/PHY

 写真で見て解るとおり、ジャンパ線はびゅんびゅん飛んでるし、49.9Ω誤差1%という仕様を出すために20Ω1%と30Ω1%の抵抗器を強引にくっつけて50Ω抵抗を合成していたり、フェライトビーズでは扱えないのでインダクタンスを使ったりと、まあ、でたらめといったらでたらめ。

 デバイスの初期化では最初全二重を期待していたのだけど、ENC28J60には全/半の自動認識機能がないのだった。無いとどうなるかというと、接続相手に自動認識機能がある場合は、接続相手は半二重に設定されてしまう。全/半の区別が付かない場合はとりあえず安全策で半にされると理解している。で、実験環境では入手しやすい安いスイッチハブがあって、ご丁寧に自動認識機能付きであったりする。ていうか、今時全/半固定のスイッチって探す方が大変だよ。

イーサコネクト回路(部分)

 一応動作確認はしてみたかったので、MACアドレスはそこら辺に転がっていたNICから拝借。軽くpingを投げてそれを受信できるかどうかを確認したかったので、IPアドレスをどうしようとかは悩まない。ENC28J60のデータシートpicfunにある初期化手順を参考にして半二重、受信バッファ、動作フラグの初期設定をしてやってポーリング状態で待機させておく。
 テストに使うPCでは、arpコマンドを使って、バラックのあるデバイスを強制的に認識できるようにする。arp -sでMACアドレスとIPアドレスのマッピング情報をセットしてやれば、IPアドレスはでたらめでもPCからENC28J60デバイスへpingを投げられるようになる。
 知っている人は知っている世界ですけど、同一LAN内であれば、MACアドレスさえ解れば通信できます。IPアドレスなんて飾りです(嘘です)。
 で、えいやとpingを投げたら受信できました。本当か? と半信半疑で受信バッファをダンプ。したのはいいけど見方がよく解らん。

 読み下していくと、え、ほんとにこんなん受信したのかあ? と悲しくなるような内容だったんですが、それは実はAVR-GCCのバグなんだか仕様なんだかよくわかんない言語実装が原因で、たんなるforループが延々周り続けていたのが原因でした。ループカウンタが破壊されているっぽい。
 どうも、変数スタックの扱われ方が非組み込み系のGCCと違っているようで、なまじそちらを知っていると思わぬところで予期せぬ動きをされたりする。

 それはそれとして、プログラムを手直しして受信バッファをきちんと読み出せるようにしたらMACフレームを確認することができました。IPヘッダとICMPヘッダも乗っている模様。まだ送信は確認していませんが、受信ができているからたぶん、大丈夫かなあ。

Copyright (C) 2008-2015 Satosh Saitou. All rights reserved.
戻る
日記::一覧展開
2016.06
卒検突破 (2016.06.26)
急制動 (2016.06.05)
坂道発進 (2016.06.04)
2016.05
スラローム (2016.05.29)
一本橋 (2016.05.28)
半クラ (2016.05.22)
2015.12
2015.11
2015.08
2015.07
2015.06
2015.05
EF50mm F1.8 STM (2015.05.24)
Private Private (2015.05.17)
NTPを整備する (2015.05.02)
2015.04
2015.03
2015.02
潮つ路 (2015.02.22)
未見の星座展 (2015.02.07)
2015.01
PSYCO-PASS劇場版 (2015.01.18)
2014.12
DOMANI/シェル (2014.12.20)
PHPでDMC (2014.12.13)
jouornald (2014.12.07)
2014.11
五木田智央展 (2014.11.08)
2014.10
山口勝弘展 (2014.10.26)
コンタクト (2014.10.18)
ケース加工 (2014.10.11)
山形旅行で (2014.10.04)
2014.09
聖地巡礼 (2014.09.27)
SIAF 2014(3) (2014.09.20)
SIAF 2014(2) (2014.09.14)
SIAF 2014 (2014.09.13)
RaspberryPi B+ (2014.09.06)
2014.08
ヴァロットン (2014.08.09)
GODZILLA(2014) (2014.08.03)
絵画の在りか (2014.08.02)
2014.07
クロニクル1995 (2014.07.26)
SDHCカード集め (2014.07.20)
SDカード再び (2014.07.05)
2014.06
2014.05
駆動系の整備 (2014.05.25)
無限の可能性 (2014.05.24)
PIOON (2014.05.17)
2014.04
大洗 (2014.04.19)
2014.03
唯美主義 (2014.03.09)
写真の境界 (2014.03.02)
2014.02
星を賣る店 (2014.02.15)
日常/オフレコ (2014.02.01)
2014.01
ISCP (2014.01.11)
DOMANI/シェル賞 (2014.01.04)
2013.12
ターナー展 (2013.12.14)
2013.11
反重力 (2013.11.02)
2013.10
木の器 (2013.10.20)
2013.09
ヒステリシス (2013.09.28)
LOVE展 (2013.09.08)
宙色 (2013.09.07)
2013.08
3/4だった (2013.08.17)
福田美蘭展 (2013.08.11)
2013.07
Fedora19 (2013.07.20)
2013.06
Google Cloud Print (2013.06.30)
未来の記憶 (2013.06.16)
梅佳代展 (2013.06.15)
片岡珠子展 (2013.06.09)
椿会展 (2013.06.08)
空想の建物 (2013.06.02)
wiringPi (2013.06.01)
2013.05
2013.04
箱詰め終わる (2013.04.13)
母-娘、姉-妹 (2013.04.06)
2013.03
卒展めぐり (2013.03.30)
恵比寿映像祭 (2013.03.16)
XBeeで接続する (2013.03.10)
Fedora18 (2013.03.09)
Black (2013.03.03)
2013.02
Backupその後 (2013.02.24)
Backup (2013.02.17)
音と光 (2013.02.03)
実験工房 (2013.02.02)
2013.01
いろはにほう (2013.01.26)
燻製を作る (2013.01.19)
2012.12
外装に収める (2012.12.23)
MU (2012.12.22)
スモーク (2012.12.01)
2012.11
Whirl (2012.11.25)
MOTアニュアル (2012.11.18)
2012.10
MPL1151A1 (2012.10.07)
2012.09
(2012.09.16)
夢の光 (2012.09.08)
光のアート (2012.09.01)
2012.08
東京湾大回り (2012.08.26)
2012.07
.hack//VERSUS (2012.07.22)
具体展 (2012.07.21)
国吉康雄展 (2012.07.15)
2012.06
2012.05
DHT11 (2012.05.12)
2012.04
PHPでIPCを行う (2012.04.22)
DHCPを立てる (2012.04.14)
DNSを立てる (2012.04.08)
2012.03
IPv6を追加する (2012.03.17)
MTUを調整する (2012.03.11)
2012.02
ICO再び (2012.02.26)
Viewpoint (2012.02.25)
恵比寿・2 (2012.02.19)
イ・ブル展 (2012.02.18)
恵比寿・1 (2012.02.11)
2012.01
星霜 (2012.01.01)
2011.12
2011.11
美女採取 (2011.11.27)
アサーション (2011.11.20)
日常/ワケあり (2011.11.12)
XB24-BとXB24-ZB (2011.11.06)
2011.10
家電入れ替え (2011.10.23)
2011.09
湿度センサ (2011.09.25)
銀座線ライン (2011.09.17)
竜宮美術旅館 (2011.09.11)
2011.08
しろきもりへ (2011.08.27)
2011.07
免許更新 (2011.07.31)
2011.06
京橋、新橋 (2011.06.26)
シンセシス (2011.06.18)
撤収の準備 (2011.06.04)
2011.05
風穴 (2011.05.15)
PLATFORM (2011.05.14)
2011.04
水・火・大地 (2011.04.17)
2011.03
パーティクル (2011.03.19)
恵比寿映像祭 (2011.03.12)
カナリア (2011.03.06)
2011.02
『ソルト』 (2011.02.19)
豊島美術館 (2011.02.13)
2011.01
藝大先端2011 (2011.01.23)
幽体の知覚 (2011.01.01)
2010.12
PWMで赤外線 (2010.12.26)
2010.11
『水辺にて』 (2010.11.06)
2010.10
アショカの森 (2010.10.30)
補遺の庭 (2010.10.24)
2010.09
シッケテル展 (2010.09.26)
音を鳴らす (2010.09.12)
2010.08
ハーフ (2010.08.21)
発電所美術館 (2010.08.01)
2010.07
2010.06
『未来医師』 (2010.06.13)
会田誠巡り (2010.06.12)
2010.05
桑原漁港 (2010.05.16)
欲望のコード (2010.05.15)
『第9地区』 (2010.05.02)
2010.04
春の海 (2010.04.18)
春の錦帯橋 (2010.04.17)
『機龍警察』 (2010.04.11)
2010.03
虹ヶ浜 (2010.03.28)
菊川湖再び (2010.03.14)
『虐殺器官』 (2010.03.13)
梶取岬 (2010.03.07)
絵画の庭@NMAO (2010.03.06)
2010.02
湯野温泉 (2010.02.06)
2010.01
2009.12
菅野ダム行 (2009.12.20)
2009.11
neoneo展 part2 (2009.11.29)
2009.10
広島ノ顔@HMOCA (2009.10.18)
末武川ダム (2009.10.10)
2009.09
吉宝丸@広島 (2009.09.20)
2009.08
2009.07
下松 (2009.07.12)
T4 (2009.07.05)
2009.06
仙台 (2009.06.07)
蕪島 (2009.06.06)
2009.05
2009.03
2009.02
2009.01
2008.12
神津佐仮説 (2008.12.21)
AVR HTTPサーバ (2008.12.20)
風景るるる (2008.12.14)
2008.11
南志摩・宿浦 (2008.11.22)
志摩あたり (2008.11.01)
2008.10
『剣の名誉』 (2008.10.18)
2008.09
石内都 (2008.09.06)
2008.08
宮島・厳島 (2008.08.30)
精神の呼吸 (2008.08.24)
西国行き (2008.08.23)
ICMP Echo応答 (2008.08.16)
MACフレーム (2008.08.03)
2008.07
小さな世界 (2008.07.26)
早送り (2008.07.20)
屋上庭園・他 (2008.07.13)
夢みる世界 (2008.07.12)
2008.06
古都の残像 (2008.06.01)
2008.05
北陸行 (2008.05.30)
ないまぜ (2008.05.24)
SDカード再び (2008.05.11)
GPSロケーター (2008.05.04)
2008.04
2008.03
音が小さい (2008.03.30)
STILL/MOTION (2008.03.22)
IAMAS2008 (2008.03.16)
80.7MHz/81.3MHz (2008.03.09)
橋頭堡 (2008.03.01)
2008.02
1998.11
作成:2008.07.02
公開:2008.08.03

Valid XHTML 1.1

loading image reserved place