メイン Link (MAC) Layer Settings IEEE802.15.4でのセグメントエラーについて | 投稿するにはまず登録を |
題名 | 投稿者 | 日時 |
---|---|---|
» IEEE802.15.4でのセグメントエラーについて | ryoma | 2008/11/5 15:58 |
Re: IEEE802.15.4でのセグメントエラーについて | ryoma | 2008/12/3 15:25 |
フラット表示 | 前のトピック | 次のトピック |
投稿者 | スレッド |
---|---|
ryoma | 投稿日時: 2008/11/5 15:58 |
新米 登録日: 2007/11/30 居住地: 投稿: 5 |
IEEE802.15.4でのセグメントエラーについて IEEE802.15.4を用いて以下のようなシミュレーションを作成中ですが,
.nodesとseed値の組み合わせ(?)によってセグメントエラーが発生して困っております。 説明の簡単のため、以下の単語は読み替えて頂くようお願いします。 - 各デバイスのMODEについて PAN COORD: PANコーディネータ COORD : コーディネータ DEVICE : エンドデバイス === シミュレーション === - QualNet4.5.1を使用. - MACプロトコルはIEEE802.15.4にてnon-beaconモードを採用. - 通信範囲は251[m](radio_range値),txpower = -3[dB]. - 対象エリアは半径100[m]. - PAN COORD 1つを中心に COORD 29個をランダムに配置(計30個). - 各COORD がPAN COORDにシミュレーション開始10秒後にCBRパケットを約10秒間隔で1つずつ送信. - ルーティングプロトコルはAODVを使用. -- AODVの設定として,IEEE802.15.4のPOLL間隔(2Sに設定)に考慮するため,TRAVERSAL-TIMEを2Sに設定. === セグメントエラー状況 === - 100回ノード配置,seed値,を変更させて実行すると,30回ほどセグメントエラーとなる. - セグメントエラーの発生時期は,CBR転送前/転送中/転送後と様々. - また,COORDとなっているデバイスをDEVICEに設定する,または,各COORDがあらかじめPAN COORDの経路を知っているというStatic routeにすると多少セグメントエラーの回数は減少. === セグメントエラー詳細 === VC++にて,セグメントエラーの場所を特定すると, mac_802_15_4.cpp内の以下の関数であることがわかりました. BOOL Mac802_15_4ToParent(Node* node, int interfaceIndex, Message* p) { MacData802_15_4* mac; M802_15_4Header* wph; M802_15_4FrameCtrl frmCtrl; mac = (MacData802_15_4*) node->macData[interfaceIndex]->macVar; wph = (M802_15_4Header*) p->packet; frmCtrl.FrmCtrl = wph->MHR_FrmCtrl; Mac802_15_4FrameCtrlParse(&frmCtrl); if (((frmCtrl.dstAddrMode == M802_15_4DEFFRMCTRL_ADDRMODE16) && (wph->MHR_DstAddrInfo.addr_16 == mac->mpib.macCoordShortAddress)) || ((frmCtrl.dstAddrMode == M802_15_4DEFFRMCTRL_ADDRMODE64) && (wph->MHR_DstAddrInfo.addr_64 == mac->mpib.macCoordExtendedAddress))) { return TRUE; } else { return FALSE; } } この関数内の frmCtrl.FrmCtrl = wph->MHR_FrmCtrl; にて,セグメントエラーとなります. しかし,少なくともこの関数が呼ばれた時点の引数Message* pの指すp->packetは0x00000000となっており,これが原因のように思います. プログラムを追っては見たのですが,QualNet・VC++とも初心者のため,原因を究明することができませんでした. これに関し,原因または原因究明方法等お教え頂けたら幸いです. また,このエラーが発生する .config .app .nodesをNon-Beacon.zipとして添付しますので,そちらも参考にして頂けたら幸いです. Non-Beacon.zip |
フラット表示 | 前のトピック | 次のトピック |