NS-TPB v2 (Train Parallel Bus v2) 2.0.0-alpha10~ (draft)
関連情報
⚠️現在下書きです
概要
高原のなが、動力分散型の旅客列車用に使用する通信規格である。
R-BUSの拡張機能として開発を開始したため、R-BUSと通信の互換性はあるが、R-BUS規格に準拠しているかどうかは各車両で検証しなければならない(現状のNona実装はN15の制御が規格違反である)。 NS-TPB v1 との互換性をなるべく確保したが、一部挙動が変わった点がある。
(ちょっと複雑すぎるので、実装難易度を下げた互換モードを提供しようかと思っています)
制御信号情報(マイコン間での解釈)
前提条件
たとえば「A-B-C」のような編成を組んだ時、NS-TPBマイコンは各車両間の連結器を介して「A→B」「A←B」「B→C」「B←C」の通信をする。
車両の間に立って、前から後ろに行く信号と後ろから前に行く信号それぞれ別個に解釈する。たとえば「A→B」のとき、Aが送信側・Bが受信側となる。
なお、使用しない機能はパススルーする。
用語・特殊実装
全般的な用語
定義 | |
---|---|
A側 | 信号の送信側から受信側を見たときに左側 |
B側 | 信号の送信側から受信側を見たときに右側 |
制御権条件 | 自車が制御権を持つときのみ出力できる信号に○がついています。持たない時は必ずパススルーします。 |
後出し優先排他・自己保持制御
自車から送信する際は、送信ラッチを起動。
他車から新しい値を受け取ったら、送信ラッチをオフ。さらに反対側送信メモリをリセットする。
他車から0を受け取っている間はメモリを更新しない。
(現状のNona実装マイコンはメモリを使用していないため、修正予定)
オフパルス制御
オフパルス(複数回の瞬間的な立ち下がり信号)によってOn出力中の車両をOffにする制御。
なお、オフパルスでオフした場合はオフパルスを再生成するかパススルーするように気を付ける(全車両に確実に配信する)。
信号リスト
チャンネル | 制御権条件 | 内容 | 備考 |
---|---|---|---|
N1 | ○ | ブレーキ | 0以上1以下 TPBでは1を受信したとき最大レベルのブレーキが動作することを求める(1以外の値に対する挙動は自由)。 |
N2 | ○ | 進行方向 | 信号の送信側に進む際に1、信号の受信側に進む際に-1を与える。中立位置では0。 |
N3 | ○ | スロットル | 0以上1以下 |
N4 | ○ | 速度 | 0以上の実数 R-BUS v1.1で示した指針で設計 |
N5 - N14 | ○ | 使用しない領域 | 処理を加えずパススルーする |
N15 | ○ | 派生システム番号 マイコン入出力支援 | 1909または0のとき、チャンネル16以降の機能を有効化する |
N16 | 車両数 マイコン入出力支援 | 信号の送信側にいる車両数がわかる 車両1両ごとに+1する実装で実現 | |
N17 | ドア特殊扱い(A) | 0は全扉の開閉。その他の値は各々で定める。 後出し優先排他・自己保持制御 | |
N18 | ドア特殊扱い(B) | 上に同じ | |
N19 | 1号車側設定 | 1号車の側から-1が送られてくる。制御権側からの信号優先 | |
N20 | チャイム・メロディ種別 | 後出し優先排他・自己保持制御 | |
N21 | 故障情報 | 後出し優先排他・自己保持制御 定期的な再送出を推奨 | |
N22 | 表示器1 設定 | 後出し優先排他・自己保持制御 | |
N23 | 表示器2 設定 | 後出し優先排他・自己保持制御 | |
N24 | 表示器3 設定 | 後出し優先排他・自己保持制御 | |
N25 | 表示器4 設定 | 後出し優先排他・自己保持制御 | |
N26 | ○ | 追加制御用領域 1 | 制御権車両のみ書き込み |
N27 | ○ | 追加制御用領域 2 | 制御権車両のみ書き込み |
N28 | ○ | 追加制御用領域 3 | 制御権車両のみ書き込み |
N29 | ○ | 追加制御用領域 4 | 制御権車両のみ書き込み |
N30 | (予約) | ||
N31 | (予約) | ||
N32 | (予約) |
チャンネル | 制御権条件 | 内容 | 備考 |
---|---|---|---|
B1 | ○ | 車両起動(互換領域) | R-BUSとの互換領域 |
B2 | ! | 制御権 | 先出し優先の排他制御(なお、強制乗っ取りに対して脆弱な実装を推奨)。言い換えると、他者からB2信号を受けない場合に発信することができ、発信中はN1-N15, B1-B15(及びN26-N29)も発信できる。 |
B3 - B15 | ○ | 使用しない領域 | 処理を加えずパススルーする |
B16 | ドア開(A-S) | ドア状態ラッチのセットを行う | |
B17 | ドア閉(A-R) | ドア状態ラッチのリセットを行う ただし、セットが来ている間は閉じない | |
B18 | ドア開状況(A) | 開いているドアがある場合はOn 和を送信 | |
B19 | ドア開(B-S) | ドア状態ラッチのセットを行う | |
B20 | ドア閉(B-R) | ドア状態ラッチのリセットを行う ただし、セットが来ている間は閉じない | |
B21 | ドア開状況(B) | 開いているドアがある場合はOn 和を送信 | |
B22 | 客室照明 | 和 | |
B23 | 客室ヒーター | 和 | |
B24 | パンタグラフ上昇 | オフパルス制御 | |
B25 | 乗務員ブザー | ||
B26 | 非常通報・故障 | 和 | |
B27 | 非常ブレーキ請求 | Onの間、制御権所有の車両が自動でN1を1に設定するよう実装する。 また、編成分離を検出した際にOnにすることを推奨。 | |
B28 | チャイム・メロディ類起動 | ||
B29 | チャイム・メロディ類終了 | ||
B30 | エンジン起動 | オフパルス制御 | |
B31 | 走行用バッテリー | オフパルス制御 | |
B32 | (予約) |
設計の概要
NS-TPB / R-BUSの情報の渡し方
NS-TPBでは、信号がループして状態が固定されないように、次の信号の流れを原則としている。
- 前から来た信号に、自車状態の情報を加えて、後ろに渡す
- 後ろから来た信号に、自車状態の情報を加えて、前に渡す
前から来た情報を前に返したり、後ろから来た情報を後ろに返さないようにしてループを防ぎ、円滑な制御を実現する。
NS-TPBの特徴
車両数カウンタを利用した編成分離時の自動ブレーキ実装を推奨している。R-BUSの仕様策定段階で外された機能である「貫通ブレーキの要件を満たさない」部分を緩和している。
v1系からの変更点
扉の開閉について
常時リセットを流すことによってOn/Offのみで扉の開閉が可能になるように変更した(v2唯一の破壊的変更)。
「扉が開かないことは仕方がない」という方針による変更である。
R-BUS規格への適合対策
制御権が通っているときは制御権車が0または1909のときだけ起動する(制御権が通っていないときは1909を通してもよいようである)。
標準実装を定義しない
高原のなによる実装はNona実装と呼ぶこととなった。実装例であり、これを必ず使う必要はない。
TPB に関して今後の検討内容
無線通信規格の検討
Nona実装において、OpマイコンでセットしてSvマイコンで書き込まずに取り出すデータを無線化するシステムは考慮に入れても良いと考えている。