ようこそ!JQ2RVNのブログです。
PICを使っていろいろな物を作ろうと画策中です。
× [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 |
カレンダー
プロフィール
コールサイン:
JQ2RVN
性別:
男性
自己紹介:
PICの開発を勉強中です。
目標はPICTNCの高性能版を作ること。 まずは、本家を解析しています。
カテゴリー
最新記事
最新コメント
[04/23 Eolande]
[04/16 太田和巳(JF2UJG)]
[09/10 je7ifp]
[08/06 JQ2RVN]
[08/03 OVC]
最新トラックバック
ブログ内検索
最古記事
(05/18)
(05/19)
(05/19)
(05/20)
(05/21)
アクセス解析
|