SS(スペクトラム拡散)モデム
|
2.4G帯の専用バンドを使用したSSモデムである。 無線区間最大400Kbps、RS-232Cインターフェース区間最大230Kbpsの転送レートを持ち、ピンポン方式で動作する。 チップ長最大127のSAWコンボルバ方式を用いており、メジャーとなっているIC方式のチップ長11のものに比べて、圧倒的に高品質のデータ転送が可能である。 |

プロトコル: RS−232C、無手順、非同期半二重
信号レベル: RS−232C標準叉はTTLレベル
転送速度: 9600/19200/38400/57600/115.2Kbps
モ ー ド: データ8ビット/スタートビット1/ストップビット1/ノンパリティ
入出力端子: 8PMiniDIN
電源電圧: DC5V叉はDC7〜12V
消費電流: 210mA typical/300mA max.
電源端子: molex 2p: DC5V 又は
Chg_Jack: DC7 〜 12V
基板外形: 140:L×80:W×35:H(mm)
重 量: 200(g)
入出力ケーブル: DSUB9P 又は DSUB25P
例えば通信ソフトが有れば、2台のパソコン間でファイルのやり取りが出来る。
アプリケーション・プログラムを準備すれば複数同士の接続も可能である。
余分なインターフェースやケーブルが不要のため、機器組み込みに便利である。
標準ロジックのDC5Vの他に7〜12Vの端子があるのでACアダプタ等も使える。
PN/PLL等IFの内部設定はRS-232Cを通して行う。
余分なスイッチ等が無いので小型化が可能になった。
又、組込み後も内部を開けないで設定変更が可能である。
無線区間のデータはパケットでやり取りされている。
このパケット長は2K/1K/512/256/128/64/32/16バイトの中から選択できる。
従って、電波の伝播状況に応じた効率の良い通信が行える。
ACK/NACK時や短いデータの場合は自動的に縮小される。
電波の伝播状況により発生する可能性の有るデータの重複などを次の手法で軽減している。
Key ID(フレーム及びパケットIDの組み合わせ)を管理することによる。
下図は2端末間の送受信のやり取りの模式である。

t1:データ送信区間(同期区間+パケット長に依存)
t2:受信立ち上がり区間
t3:有効データ受信区間
データ送信区間に於いて意味のあるデータ転送区間は、相手側装置(ハード)の受信立ち上がり区間以降である。
従って相手側の受信立ち上がり区間に相当する間は、AGC安定及び同期用データとして、“1010…”のトグル繰り返しデータを送出する。(MKK標準)
この時間はそのまま伝送スループットの低下につながるため、極力短く出来るよう回路設計を行っている。
データ転送効率を上げる手段として、パケット長を長くすることが本システムでは可能であるが、あまり長くするとフェージングや他の障害の影響を受け易くなる。
受信の立ち上がりを待つ間持続する。
パターンは31ビットM系列符号とし、次ぎの通りとする。(MKK)
0001101110101000010010110011111
詳細はMKKのRCR STD−33参照
詳細は次項の通信手順の後半に記述する。
下図はデータ送受信の手順の概要を示す。

RTS on/off: 制御線のスイッチ(データのやり取り無し)
DATA: データ本体(PC側)又はデータパケット(無線側)
ACK: 肯定応答パケット(‘OK’)
NACK: 否定応答パケット(‘NG’)
LOCAL: PCとI/F間のみの制御コマンド
データとの区別をする為、頭に特徴的フラグを付加
(‘#LOCAL$ $ #’)
無線部分の通信手順を以下に示す。
PC2側が既に何かの信号を受信してPNが一致していれば、これが終了するまでPC1側からの信号は受け付けできない。
また、エラーが無い場合はPC2に受信データを送出する。
1)パケット長が継続時(最大パケット長)より短くなったとき。
最後のパケット長は普通短くなるので判断できる。
例えば1バイトのみのデータ等は1回で終了と認識する。
2)送り手からのタイムアウトを検出したとき。
偶然にデータ長がパケット長の整数倍であったときなどに機能する。
無線回線のエラーで中断した場合(エラー再送でも回復出来なかった場合)は、アプリケーションで判断する必要がある。
以上が手順であるが、インターフェースを除いてPC間のみに着目した場合、PC同士は無手順であるのが特徴である。
Key IDは、送信フレームID(TXID)1バイトと、パケットID(PID)1バイトからなり、次のように動作する。
TXID: 新規データが送出される毎に+1する。
エラーによるリトライ時は変化しない。
PID: パケット送出毎に+1する。
リトライ時にも更新される。
解説)データ転送時に、データ本体が相手に受信されない場合に於いては救済の余地はないが、返信のACK/NACKの受信のみに支障を来たした場合には、システム全体の手順に例外措置を取っても何とかしたい。
そこで、受信側でこれらのIDを次のように監視する。
・データ着信時にTXID/PIDをみて、前回のデータ着信時のそれと比較して、TXIDが異なっている場合は新規データとみなし、ACKを返すと共にRS232Cにデータを出力する。
・TXIDが同じ場合はPIDが異なっていれば、リトライの再送データと判断して、同様の処理をする。
・これ以外の場合は通信回線に重大なエラーがあって、続行しても正常なデータの伝達が出来ていないものと判断できる。
この処理は、受信時に返しているACKが正確に相手に届いていないようなケースに有効となる。
TXID |
PID |
||
パケット長 以下のデータ |
データ更新時 |
+1 |
0クリア |
リトライ時 |
変化せず |
+1 |
|
パケット長 以上のデータ |
データ更新時 |
+1 |
0クリア |
データ継続時 |
変化せず |
0クリア |
|
リトライ時 |
変化せず |
+1 |
|
機器の設定はローカルコマンドで行う。
設定可能なコマンド/パラメータは次ぎの通りである。
実行方法
コマンドの実行は通常RS-232Cで接続された端末を通して行う。
コマンドの内容はこの後の説明を参照するが、2種類の方法がある。
例えばテスト送受信でバイナリのパターン‘10101010’を送りたい場合、
#Local$TRX$AA# と入力する。
1.PN符号
コマンド:#Local$PNDAT$パラメータ#
パラメータ以外は半角ASCIIコード
パラメータ:(帰還タップ8ビット+初期値8ビット)×4=16バイト
帰還タップの位置と初期ロードデータの組み合わせになる。
下記に代表的な設定例を送受2組分示す。尚、この値はデフォールトの設定データとして、システムROMに書き込まれている。
タップ |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
初期値 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
タップ |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
初期値 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
タップ |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
0 |
初期値 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
タップ |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
初期値 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
上記データとペアを組む設定。
タップ |
0 |
1 |
1 |
0 |
0 |
0 |
0 |
0 |
初期値 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
タップ |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
初期値 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
タップ |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
初期値 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
1 |
タップ |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
初期値 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
PNのデフォールト値ペアの決定はDIP-SW1で行う。
ON端末/OFF端末
2.PLL1/2
1:2nd局発用
コマンド:#Local$PLL1D$パラメータ1#
パラメータ1:プリスケーラの16ビットと、分周比の19ビットの頭に5ビット長0fillを付加した24ビット(合計わせた5バイトをMSBから入れる。
1stプリスケーラ |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1st分周比 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
1 |
0 |
0 |
1 |
0 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
2:1st局発用
コマンド:#Local$PLL2D$パラメータ2#
パラメータ2:プリスケーラの16ビットと、分周比の19ビットの頭に5ビットを0で埋めた24ビットの合わせた5バイトをMSBから入れる。
2ndプリスケーラ |
0 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
0 |
1 |
0 |
1 |
0 |
0 |
1 |
2nd分周比 |
0 |
0 |
0 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
1 |
1 |
1 |
0 |
0 |
0 |
0 |
1 |
0 |
0 |
0 |
0 |
0 |
0 |
3.チップ長
コマンド:#Local$CHIPL$パラメータ#
パラメータ:チップ長イメージの031又は063又は127をASCII3バイトで入れる。
4.RS232C転送レート
コマンド:#Local$RSSPD$パラメータ#
パラメータ:転送レートイメージの096/192/384/576/115をASCII3バイトで入れる。
5.SS転送レート
コマンド:#Local$SSSPD$パラメータ#
パラメータ:転送レートイメージの13K/26K/51K/103/206をASCII3バイトで入れる。
転送レートはRS-232C側とは独立して設定できるが、RS232Cより高い転送速度を設定する必要がある。
6.固定パターンデータによる連続送信/受信モード
コマンド:#Local$TRXTG$パラメータ#
パラメータ:繰り返しデータ8ビットのイメージ(バイナリ1バイト)
HEX表記をする。
このコマンドを送り込んだ直後から、送信側では固定データによる繰り返しパケットが送信される。
送信のOFF時間は転送速度に関わらず、約0.5秒間の固定である。パケットのデータ構成は本仕様書通り(MKKのルール内)である。
受信したデータはそのまま受信側のRS-232Cから送出される。
受信側では送信キャラクタのOK/NGの判断は行わない。但し、データ本体を除くパケット単位でのエラー検出は通常通り行い、エラー数/パケット数の累積個数はカウントされ、メモリに記憶される。
このカウントデータの読み出し/リセットはローカルコマンドによって行う。
このカウントは通常のパケットと同じ扱いを受け、区別なく累積されるので、テストを行う前/後にカウント値のリセットを行っておくとよい。
受信/送信はDIPスイッチの1で決定(電源を切らないで設定)する。
ON:受信/OFF:送信
「通常モード」に戻す場合はリセットスイッチを押す。
7.設定内容の読み出し
コマンド:#Local$DREAD$パラメータ#
パラメータ:1バイトの任意データ(何でも良い)
設定内容の全てをRS-232Cから出力。出力フォーマットはコマンド表記。
8.通信記録の読み出し
コマンド:#Local$EREAD$パラメータ#
パラメータ:1バイトの任意データ(何でも良い)
エラーパケット数/通信パケット数をRS-232Cから出力(ASCII)
9.通信記録のリセット
コマンド:#Local$RESET$パラメータ#
パラメータ:1バイトの任意データ(何でも良い)
10.リトライ回数の設定
コマンド:#Local$RETRY$パラメータ#
パラメータ:1〜9の数値(ASCII)
エラー時の再送回数を設定
11.パケット長の設定
コマンド:#Local$PAKET$パラメータ#
パラメータ:016/032/064/128/256/512/1KB/2KBの数値イメージの文字(ASCII)
★Default(出荷時設定)への復帰
間違ってローカルコマンドを実行し、動作不能に陥った場合に行う。
DIP-SWを全てONにしてリセットを行った後、今度は全てOFFにしてリセットを行う。(転送速度などの設定で発生した場合、コマンドによる復帰は不能)
ブロック図

アナログインターフェース端子(FPGA)
信号名 |
入出力 |
仕 様 |
TXD |
入力 |
送信データ |
RTS |
入力 |
受信制御線 |
TXLE |
出力 |
受信データ検出でLに制御 |
RXD |
出力 |
受信データ |
CTS |
出力 |
送信制御線 |
PND |
入力 |
PN設定データ(信号仕様参照) |
PNC |
入力 |
PN設定クロック(信号仕様参照)PLLと共用 |
PNLE |
入力 |
PN設定イネーブル(信号仕様参照) |
PLLD |
入力 |
PLL設定データ(信号仕様参照) |
PLLC |
入力 |
PLL設定クロック(信号仕様参照)PNと共用 |
PLLE1 |
入力 |
PLL1イネーブル(信号仕様参照) |
PLLE2 |
入力 |
PLL2イネーブル(信号仕様参照) |
T/R |
出力 |
送受信切替(H:送信) |
DV0−1 |
分周比設定/下表参照 |
|
CP0−1 |
チップ長設定/下表参照 |
|
PW0−1 |
送信出力設定/別表参照 |
|
D7 |
仕様未定義 |
データ転送速度設定
DV0 |
DV1 |
CP0 |
CP1 |
分周比 |
チップ長 |
SS転送 |
RS232C |
L |
L |
L |
L |
1/1 |
31 |
412Kbps |
115.2Kbps |
L |
L |
H |
L |
1/1 |
63 |
206K |
115.2K |
L |
L |
L |
H |
1/1 |
127 |
103K |
57.6K |
H |
L |
L |
L |
1/2 |
31 |
206K |
115.2K |
H |
L |
H |
L |
1/2 |
63 |
103K |
57.6K |
H |
L |
L |
H |
1/2 |
127 |
51K |
38.4K |
L |
H |
L |
L |
1/4 |
31 |
103K |
57.6K |
L |
H |
H |
L |
1/4 |
63 |
51K |
38.4K |
L |
H |
L |
H |
1/4 |
127 |
26K |
19.2K |
H |
H |
L |
L |
1/8 |
31 |
51K |
38.4K |
H |
H |
H |
L |
1/8 |
63 |
26K |
19.2K |
H |
H |
L |
H |
1/8 |
127 |
13K |
9.6K |
V25CPU端子
端子/信号名 |
入出力 |
仕 様 |
TXD0 |
出力 |
CH0送信データ(無線側) |
RXD0 |
入力 |
CH0受信データ |
CTS0 |
入力 |
CH0受信データ制御 |
TXD1 |
出力 |
CH1送信データ(PC側) |
RXD1 |
入力 |
CH1受信データ |
CTS1 |
入力 |
CH1受信データ制御 |
CRTL(外部制御) |
出力 |
MREQ/RW/IOSTB |
PT0−7 |
入力 |
DIP−SW/外部入力 |
P00 |
出力 |
DATA1/2用タイミングクロック |
P01 |
出力 |
PN設定データ出力 |
P02 |
出力 |
PNデータロード信号 |
P03 |
出力 |
送受切替え |
P04 |
出力 |
PLL設定データ出力 |
P05 |
出力 |
PLL1データロード信号 |
P06 |
出力 |
PLL2データロード信号 |
P07(ClockOut) |
出力 |
外部出力(外部は全て準備のみ) |
P10(NMI) |
入力 |
デバッグ用 |
P11(INTP0) |
入力 |
仕様未定義(割込用) |
P12(INTP1) |
入力 |
外部割り込み |
P13(INTP2) |
入力 |
予備 |
P14(INT) |
入力 |
予備 |
P15(TOUT) |
入力 |
予備 |
P16(SCK0) |
出力 |
CH0受信データ制御(RTS) |
P17(READY) |
入力 |
予備 |
P20 |
出力 |
EEROM:CS |
P21 |
出力 |
EEROM:CLK |
P22 |
出力 |
EEROM:DI |
P23 |
入力 |
EEROM:DO |
P24 |
出力 |
予備 |
P25 |
出力 |
外部制御 |
P26 |
入力 |
外部入力 |
P27 |
出力 |
CH1受信データ制御(RTS) |
送信出力設定
PW0 |
PW1 |
内 容 |
L |
L |
最小パワー |
H |
L |
中間パワー/低め |
L |
H |
中間パワー/高め |
H |
H |
最大パワー |