WiFi - WiFiコントロール

000h - W_ID - Wifi チップ ID (R)


0-15 チップ ID (1440h = NDS, C340h = NDS-lite)

DSとDSライトは互換性があるが、未使用ポートの使われ方が違う。
DSは 0xFFFF になるが、DSライトは0x0000になる。

004h - W_MODE_RST - Wifi ハードウェアモード / リセット (R/W)


0-11 未知
12-14 常に0
15 リセット

このレジスタの下位数ビットによってハードウェアモードを指定する。
上位ビットによって何か重要なことが行われるかもしれない。

The bottom few bits of this register specify a hardware mode, which seems to have little effect on the hardware itself, but may do something important
The top bit of this register, when set, wipes out a good deal of the settings associated with Wifi, including a number of settings that exist just below the surface and are hard to access.

006h - W_MODE_WEP - Wifi ソフトウェアモード / Wep モード (R/W)

0-2 WiFiソフトウェアモード指定 (ハードウェアに関連しているところもあるかも知れないが、今のところ見つかっていない)
3-5 WEPモード指定 0=WEPを使わない, 1=64bit WEP (48bit キー), and 3=128bit WEP (2と4もあるが、標準的なものではない)
6 未知
8-15 常に0


010h - W_IF - Wifi 割り込み要求フラグ (R/W)

0 受信完了時 (パケット受信と、RX fifo にデータが入れられた時)
1 送信完了時 (パケットが送信完了した時)
2 受信カウントアップ (パケットを受けた時) (RX fifo にデータが入れられた時には動作しない)
3 送信エラー (送信ヘッダが異常、もしくは他のエラー)
4 統計カウントオーバーフロー (値が増加した時のみ)
5 Ack統計カウントオーバーフロー (値が増加した時のみ)
6 受信開始 (パケットを受信開始し始める瞬間)
7 送信開始 (パケットを送信し始める瞬間)
8 ?
9 ? ...Port 05Ch 参照
10 ?
11 RF ウェイクアップ (RF システムが起動した時)
12 ?
13 ?
14 ビーコン(標識信号)タイムスロット (セーフゾーンにビーコンを送信し終わった時)
15 プレビーコンタイムスロット (ビーコンを送信し始める前) (タイミングが正しく設定されている時)

各ビットに '1' を書き込むことで解除する。


012h - W_IE - Wifi 割り込み有効フラグ (R/W)


0-15 有効フラグ。 W_IFと同じビット位置で設定する (0=無効, 1=有効)

MACアドレス

  • 018h - W_MACADDR_0 - MAC Address (R/W)
  • 01Ah - W_MACADDR_1 - MAC Address (R/W)
  • 01Ch - W_MACADDR_2 - MAC Address (R/W)
48bit MAC アドレス ファームウェア[036h]によって初期化されていなければならない。

  • 020h - W_BSSID_0 - BSSID (R/W)
  • 022h - W_BSSID_1 - BSSID (R/W)
  • 024h - W_BSSID_2 - BSSID (R/W)
48bit BSSID(Basic Service Set Identifier) はここに入れる。
(BSSID = 48ビットの数値。通常は、そのネットワークのアクセスポイントのMACアドレスと同じもの。)

032h - W_WEP_CNT - WEP エンジン有効 (R/W)


0-14 未知
15 WEP エンジン有効 (0=無効, 1=有効)


[例 I - bit15 有効/無効 送信/受信 パケットの WEP 処理]
[例 II - bit15 有効 WEP processing on packets which bear the WEP flag in the 802.11 ヘッダ]

044h - W_RANDOM - 乱数ジェネレータ (R)


0-10 乱数
11-15 未使用 (0)

乱数ジェネレータは33MHzの頻度でアップデートされる。

X = (X AND 1) XOR (X ROL 1)  ;(11bit 幅でローテーション)

ランダムシーケンスは、再始動時に 5FDh 個の違う値を作る。
ランダムレジスタからの読み込み時、以前にラッチした値がCPUに渡される。
そして、現在の乱数がラッチされる。

数千回に1回、ラッチが通常より4サイクル早く行われる。
そのため次の読み込みは、4サイクル古いものが使われる。







タグ:

+ タグ編集
  • タグ:

このサイトはreCAPTCHAによって保護されており、Googleの プライバシーポリシー利用規約 が適用されます。

最終更新:2007年12月09日 22:38
ツールボックス

下から選んでください:

新しいページを作成する
ヘルプ / FAQ もご覧ください。