ようこそ!JQ2RVNのブログです。
PICを使っていろいろな物を作ろうと画策中です。
[1]
[2]
× [PR]上記の広告は3ヶ月以上新規記事投稿のないブログに表示されています。新しい記事を書く事で広告が消えます。
KISSプロトコル。
少し前に発売されたTinyTrak4でもファームの入れ替えで KISSプロトコルがサポートされるようになってます。 dsPICでTNCを作るとして、その出力をどうするか? つまりデータリンク層のプロトコルを何にするかって考えたとき、 やはり既存のものと共通化しておくべきだでしょう。 ならば、もっともシンプルなものになると思うので KISSプロトコルってことになるかな~って 実際にTNCをKISSモードにして確認したり、 Web上のドキュメントをみたりして調べた結果、 次のようなことがわかった。 データは0xC0で挟まれて流れてくる。 AX.25の0x7eに相当するものと考えて差し支えなし。 0xC0の次には、送信先(送信元も?)+コマンドが流れてくる。 これによって複数のTNCを区別したり、 TX DelayをKISS上から設定できたりするようだ。 基本は0x00で送られてくるっぽい。 そのあとに実際のデータが続く。 ただし、受信したデータがズラズラそのまんま。 つまり、アドレス(コールサインやらデジパスやら)のところも、 AX.25の規約のとおり、順番やら1ビットシフトも変えずに送られてくる。 (e.g.) アドレスの場合'J'=0x4a は 1ビット左シフトされた0x94で流れてくる。 CRCチェックはTNC側のお仕事。 受信した限りでは、CRCは付加されてこなかった。 Webドキュメントでは、CRC付きのものも解説されていたけれど、その区別は不明(要調査) 以上より、仕事の分担がわかりましたし、 非常にシンプルなフローでTNCを作れそうです。 したがって、これに沿ってTNCを製作していくつもりです PR
UIデジピートのコマンドをまとめてみます。
(間違えがあるかも・・・(^^;;) UIDIGI (書式)UIDIGI (ON|OFF) CALL1[,CALL2,[CALL3… CALLは4つまで(?)設定できる。 CALL1~4のいずれかとデジパスが一致していた場合、 デジピート済みフラグを付けて、MYCALLに置換する。 MYALIASとの違い。 CALLを複数設定できる。 MYCALLに置換する。 UITRACE (書式)UITRACE Name Nameを1つ設定できる。 デジパスがNameX-Y形式であればデジピートする。 ただし、Y=0ならばデジピートしない デジピートする時、 デジピート済みフラグを付けMYCALLを挿入し、 さらにそのあとにNameX-(Y-1)をつける。 (e.g.) TRACE3-2 → JQ2RVN-3*,TRACE3-1 パケットの長さが長くなるので、マイコンではややこしい。 受信バッファーから送信バッファーに転送するときに置換する? UIFLOOD (書式)UIFLOOD Name,(ID|NOID|FIRST) 一番ややこしい。 デジピート条件はUITRACEと似ている。 ただし、今までデジしてきたパスを削除してしまうか、 MYCALLを挿入しなかったりする。 (UITRACEだと、パケットが長くなるのでその対策?) IDの場合 デジピート済みリストを削除して、MYCALLと置換 そのあとに、NameX-(Y-1)を付ける (e.g) JA1QQQ*,TRACE3-2 → JQ2RVN-7*,TRACE3-1 NOIDの場合 MYCALLと置換せずに、Yの減算のみ行う。 (e.g.) JA1QQQ*,TRACE3-2 → JA1QQQ*,TRACE3-1 FIRSTの場合 最初のデジピート局であった場合のみMYCALLを挿入 つまり、X=YのときのみMYCALLがパケットに表れる (e.g.) TRACE3-3 → JQ2RVN*,TRACE3-2 (e.g.) JA1QQQ*,TRACE3-2 → JA1QQQ*,TRACE3-1 マイコンでどうするか、途方にくれそうな仕様(^^;; |
カレンダー
プロフィール
コールサイン:
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)
アクセス解析
|