6・2・2 データ送信
データは標準に従いシリアル非同期形式で送信される。図6・4に示すように、1バイトごとに、スタートビット→データビットの順番で送信される。データを送らないときはHレベルになっており、データを送り始める合図として、1ビット分の論理値0が送られる。これをスタートビットという。リスナはデータが0に変化したことを合図として、受信を始める。
図6・4 データ送信フォーマット
次に8ビットデータを送る。送る順番は下位ビットからである。アルファベットだけを送るのならば、7ビットあればすべてのデータを送れる。そのため、7ビットモードをサポートしている場合もある。(普通日本では、8ビットが使われる。)
ストップビットは、1バイト分の通信の終了を知らせる1ビット分の論理値1である。
ここで電圧と論理値などの関係について触れておく。NMEA 0183の古いバージョンの規格との互換性を保つために、信号において、待機中、符号、論理値1、OFF、ストップビットを表す場合は-150V〜+0.5Vを用い、動作中、スペース、論理値0、ON、スタートビットをあらわす場合は+4.0V〜+15.0Vを用いることが前もって定義されている。
以下のパラメータが用いられる。
ボーレート 38400bps(標準の通信の場合は4800bps)
データビット 8(D7=0)
パリティビット なし
ストップビット 1
bpsというのは1秒間に何ビットのデータを送るかを表す数値である。日本では、データ8ビット+スタートビット+ストップビットが1組で、1バイトのデータを送るために10ビットを送ることになる。したがって、1秒間に送れるバイト数はこのbpsの10分の1で、4800bpsなら1秒間に約480文字送れる計算になる。
6・2・3 データフォーマットプロトコル
トーカのデータはプリントできるアスキ型で、位置、衛星情報などが含まれている。典型的なメッセージは11〜最大79文字長さで、20ms毎に1回以上送信する。(標準の通信の場合は20〜79文字、1秒に1回程度送信する。)
(1)文字
全ての送信データはASCII型である。最上位ビットD7は常にゼロである。
(A)予約文字
予約文字としてある特定のフォーマットに用いられる文字の一覧を表6・1に示す。“^”文字(HEX 5E)を除き、これらはデータフィールドでは使ってはいけない。
表6・1 予約文字
アスキー表示 |
16進数表示 |
10進数表示 |
説明 |
<CR> |
0D |
13 |
キャリッジリターン |
<LF> |
0A |
10 |
ラインフィード(文末を示す。) |
$ |
24 |
36 |
文の開始を示す。 |
* |
2A |
42 |
チェックサムフィールドの範囲を示す。 |
, |
2C |
44 |
フィールドの範囲を示す。 |
! |
21 |
33 |
未使用(将来の使用を予定) |
/ |
5C |
92 |
未使用(将来の使用を予定) |
^ |
5E |
94 |
アスキー文字を16進数で表現していることを示す。 |
~ |
7E |
126 |
未使用(将来の使用を予定) |
|
(B)有効文字
印刷可能なすべてのASCII文字(HEX 20〜HEX 7E)から予約文字を除いた文字が有効文字である。有効文字を表6・2に一覧として示す。
表6・2 有効文字
アスキー表示 |
16進数表示 |
10進数表示 |
スペース |
20 |
32 |
予約文字 |
21 |
33 |
"" |
22 |
34 |
# |
23 |
35 |
予約文字 |
24 |
36 |
% |
25 |
37 |
& |
26 |
38 |
' |
27 |
39 |
( |
28 |
40 |
) |
29 |
41 |
予約文字 |
2A |
42 |
+ |
2B |
43 |
予約文字 |
2C |
44 |
- |
2D |
45 |
. |
2E |
46 |
/ |
2F |
47 |
0 |
30 |
48 |
1 |
31 |
49 |
2 |
32 |
50 |
3 |
33 |
51 |
4 |
34 |
52 |
5 |
35 |
53 |
6 |
36 |
54 |
7 |
37 |
55 |
8 |
38 |
56 |
9 |
39 |
57 |
: |
3A |
58 |
; |
3B |
59 |
< |
3C |
60 |
= |
3D |
61 |
> |
3E |
62 |
? |
3F |
63 |
@ |
40 |
64 |
A |
41 |
65 |
B |
42 |
66 |
C |
43 |
67 |
D |
44 |
68 |
E |
45 |
69 |
F |
46 |
70 |
G |
47 |
71 |
H |
48 |
72 |
I |
49 |
73 |
J |
4A |
74 |
K |
4B |
75 |
L |
4C |
76 |
M |
4D |
77 |
N |
4E |
78 |
O |
4F |
79 |
P |
50 |
80 |
Q |
51 |
81 |
R |
52 |
82 |
S |
53 |
83 |
T |
54 |
84 |
U |
55 |
85 |
V |
56 |
86 |
W |
57 |
87 |
X |
58 |
88 |
Y |
59 |
89 |
Z |
5A |
90 |
[ |
5B |
91 |
予約文字 |
5C |
92 |
] |
5D |
93 |
予約文字 |
5E |
94 |
_ |
5F |
95 |
` |
60 |
96 |
a |
61 |
97 |
b |
62 |
98 |
c |
63 |
99 |
d |
64 |
100 |
e |
65 |
101 |
f |
66 |
102 |
g |
67 |
103 |
h |
68 |
104 |
i |
69 |
105 |
j |
6A |
106 |
k |
6B |
107 |
l |
6C |
108 |
m |
6D |
109 |
n |
6E |
110 |
o |
6F |
111 |
p |
70 |
112 |
q |
71 |
113 |
r |
72 |
114 |
s |
73 |
115 |
t |
74 |
116 |
u |
75 |
117 |
v |
76 |
118 |
w |
77 |
119 |
x |
78 |
120 |
y |
79 |
121 |
z |
7A |
122 |
{ |
7B |
123 |
| |
7C |
124 |
} |
7D |
125 |
予約文字 |
7E |
126 |
予約文字 |
7F |
127 |
|
(C)未定義文字
予約文字と有効文字以外のASCIIの値(文字)は、除外され、いかなる時にも送信されることはない。ただし、IEC 68859-1で定義された8ビット文字を送信する必要のある場合は、予約文字“^”(HEX 5E)の1文字に2文字追加し、3文字の形式で表し送信する。
例えば、“127.5°”と送る場合、“°”(HEX F8)は有効文字ではないので、“127.5^F8”と送信する。予約文字<CR><LF>を送るためには、“^0D^OA”と送信し、“^”自身を送るためには“^5E”と送信する。
(D)文字記号
単位、データフィールドの型、センテンスの型等を表す特有な文字をアルファベット1文字に置き換えて表す場合がある。それらの文字記号は、表6・3のように送信される。
表6・3 記号として用いられる場合の文字の意味の例
記号 |
意味 |
A |
状態を表す記号 yes、データ有効、警告フラッグクリア、自動、アンペア(A: 電流の単位) |
a |
AからZあるいはaからzまでのアルファベット文字を表す不定文字 |
B |
バール(bar: 圧力の単位、1000mb=100kPa(パスカル))、ボトム |
C |
摂氏(℃:温度)、コースアップ |
c |
有効な文字、計算できる |
D |
度(°:角度) |
E |
エラー、東、エンジン |
F |
ファトムズ(fm: fathoms主に水深を測る場合の単位、1fm=1.828766m) |
f |
フィート(ft: 1ft=0.30479m) |
G |
大圏、緑色 |
g |
良い |
H |
コンパスの船首方位、ヘッドアップ、ヘルツ(Hz: 周波数の単位)、湿度 |
h |
時間、16進数 |
I |
インチ(inch: 1inch=0.0254m) |
J |
入力動作の終了 |
K |
キロメータ(km)、時速(km/h) |
k |
キログラム(kg) |
L |
左、ローカル、ロストターゲット |
l |
緯度、リットル(l)、流量(l/s) |
M |
メータ(m)、秒速(m/s)、磁気、マニュアル、体積(m3) |
m |
分、メッセージ |
N |
海里(nm: 1nm=1852m)、ノット(kt)、北、ノースアップ、ニュートン(N: 力の単位) |
n |
数字、アドレス |
P |
紫色、占有(“$”に続く場合のみ)、位置計測センサ、パーセント(%)、パスカル(Pa) |
Q |
質問、捕捉されているターゲット |
R |
右、羅針方位、赤色、相対的、参照、レーダートラッキング、回転数(RPM: 1分あたりの回転数) |
S |
南、マイル(mi: 1mi=1609.31m)、時速(mi/h)、シャフト |
s |
秒(s) |
T |
時間差、真、トラック、追跡されたターゲット |
t |
テスト |
U |
推測航法による予測 |
u |
符号(マイナスであれば“−”(HEX 2D) |
V |
データ無効、否定、警告フラッグセット、マニュアル、ボルト(V: 電圧の単位) |
W |
西、水(海水、領海、水面)、転舵開始 |
x |
数字を表す変数 |
y |
経度 |
Z |
時刻 |
|
|