忍者ブログ
ようこそ!JQ2RVNのブログです。 PICを使っていろいろな物を作ろうと画策中です。
[10] [9] [8] [7] [6] [5] [4] [3] [2] [1]
×

[PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。

今日はAX.25のSSIDについて書きます。

プロトコルの仕様書を読めばわかるのですが、英語なので・・・


AX.25において、送信元コールサイン、宛先コールサイン、デジコールサイン、
これらは7ビット構成でフォーマットも同じです。


最初の6バイトはコールサインが入っています。
ただし、ASCIIコードが左に1回シフトされています。
よって、基本的には最下位ビットは0になります。


つぎの1バイトにはSSIDが入っています。
ビットの構成は HRRSSSSF となります。

H ・・・ デジピート済みを表します。
RR ・・・ 予約
SSSS ・・・ SSID。これによりSSIDは0~15の値になります。
F ・・・ デジの最終地点を表します。



それぞれの解説していきます。

まず、SSSS。
受信の際にはSSIDバイトを1回右シフトして、0x0FのANDを取れば、
SSIDの数値を得ることができます。
逆に送信時には、SSIDを1回左シフトして、ORを取ります。


Fビット。
ここが1になっている場合、次のバイトはControl Fieldで、
さらに次はProtcolIDであるとわかります。

コールサイン部分を左にシフトするのは、実はこのためのようです。
つまり、最終ビットをみていって、1が出てきたら、アドレス類は終了だと判断できますから。
AX.25の場合、アドレスは7バイト固定なので、SSIDバイトをみればいいのですが、
昔の名残とか、そんなやつなんでしょうか??


最後にHビットです。
ここのフラグが1になっていれば、そのアドレスまではデジピートされていることがわかります。

デジピータは、先頭からスキャンしていき、このフラグが1になっているところを探します。
もし見つかったら、その次のバイトから7バイトが、
自局のコールサイン・エイリアス
に合致しているか調べます。
合致していたら、その部分をコールサイン置換するなりします。
そして、ひとつ前のアドレスのH=1をH=0に変更し、
自分のSSIDフィールドのHを1とします。

ちなみに、APRSなどのパケットでコールサインの後ろに'*'がついていることがありますが
これは、Hビットが1だった場合、コールサインの後に*をつけ、
人間の視覚上わかりやすくしています。


以上で、SSIDバイトの解析は終わりです。
PR

コメント


コメントフォーム
お名前
タイトル
文字色
メールアドレス
URL
コメント
パスワード
  Vodafone絵文字 i-mode絵文字 Ezweb絵文字


トラックバック
この記事にトラックバックする:


忍者ブログ [PR]
カレンダー
09 2017/10 11
S M T W T F S
1 2 3 4 5 6 7
8 9 10 11 12 13 14
15 16 17 18 19 20 21
22 23 24 25 26 27 28
29 30 31
プロフィール
コールサイン:
JQ2RVN
性別:
男性
自己紹介:
PICの開発を勉強中です。
目標はPICTNCの高性能版を作ること。
まずは、本家を解析しています。
最新コメント
[04/23 Eolande]
[04/16 太田和巳(JF2UJG)]
[09/10 je7ifp]
[08/06 JQ2RVN]
[08/03 OVC]
最新トラックバック
バーコード
ブログ内検索
アクセス解析