検索エンジン(google Yahoo Goo MSN Excite Infoseek …)で サーチ

検索エンジン(google Yahoo Goo MSN Excite Infoseek …)で
サーチされ PDF ファイル を直接ダウンロードされた方へ
http://Marsit.info が 下 記 ホ ー ム ペ ー ジ の 入 口 で す 。
下記の
メインページへ
アニメで観る
サブページへ
国からの委託研究報告
カードセキュリティ
提案アニメーション
ダウンロード
特許明細書など
のダウンロード
総務省への開発提案と評価
公開用
管理;14RD−31
平成15 年度課題対応新技術研究開発事業
委 託 業 務 研 究 開 発 成 果 報 告 書
テーマ名; ホームネットワーク構築ユニットに関する研究開発
平成16年2月
株式会社ニッシン
研究開発成果報告書
目
次
ページ
1.委託事業の名称
・・・・・・・・・・・・・・・・
1
(1)委託事業実施の背景と委託事業の概要
・・・・・・・・・・・・・・・・
1
(2)委託業務の国が提示した課題との整合性
・・・・・・・・・・・・・・・・
1
(1)技術の内容と新規性・独創性又は改善性
・・・・・・・・・・・・・・・・
2
(2)技術の目標
・・・・・・・・・・・・・・・・
3
(3)実施計画日程
・・・・・・・・・・・・・・・・
6
・・・・・・・・・・・・・・・・
6
(2)当該年度の技術目標値を達成するための課題と解決方法 ・・・・・・・・
7
(3)当該年度の解決方法の具体的実施内容(実績) ・・・・・・・・・・・・・・・・
7
2.委託事業実施の背景と委託事業の概要
3.委託業務全体の内容と目標
4.当該年度の委託業務の内容と目標
(1)当該年度の技術目標値
(4)研究成果
はじめに
・・・・・・・・・・・・・・・・
10
その他 ・・・・・・
11
エンド・ユーザ編
――
Marsit Network が利用できる分野
――
試作品
・・・・・・・・・・・・・・・・
14
――
エンド・ユーザ編のまとめ
・・・・・・・・・・・・・・・・
15
その他 ・・・・・・
16
・・・・・・・・・・・・・・・・
19
その他 ・・・・・・
20
ハードウェア編
――
試作基板
――
機能スイッチの設定
ソフトウェア編
――
自己中心アドレスの通信プロトコル
――
μCPUのマルチタスク作成法
・・・・・・・・・・・・・・・・
22
――
FIFOメモリのBIOS
・・・・・・・・・・・・・・・・
26
――
伝送路端子における状態遷移図
・・・・・・・・・・・・・・・・
29
――
アプリケーション基板間の信号伝播
・・・・・・・・・・・・
31
・・・・・・・・・・・・・・・・
32
当該年度の委託業務のまとめ
・・・・・・・・・・・・・・・・
33
今後の事業化への展開
・・・・・・・・・・・・・・・・
34
5.事業化目標を取り巻く環境変化
6.総括
平成 15 年度課題対応新技術研究開発事業
研究開発成果報告
1. 委託業務の名称「ホームネットワーク構築ユニットに関する研究開発」
技術分野
技術分野
②情報通信
技術区分
(i)ネットワークがすみずみまで行き渡った社会に向けた
「高速・高信頼情報通信システム」技術
技術開発課題 ホームネットワーク構築技術
2. 委託業務実施の背景と委託業務の概要
(1)委託業務実施の背景と委託業務の概要
LSIの技術革新とダウンサイジングにより、1980 年代パソコンの殆どのハード部分は、現在、
1チップμCPU に組み込まれています。しかし、現在でもネットワークは、未だにパソコン内部
のプログラムにより通信デバイスLSIを制御して、ネットワークを構築するとの概念から抜けて
いません。このパソコン内部のプログラムで通信制御される従属的なLSIの代わりに、ネットサ
ーバの全機能を内蔵させ独立した1チップμCPU を開発しました。1チップμCPU にすることに
より、主に家庭の電気・ガス・水道の各計量器に取り付けて、自動検針や遠隔故障診断を業者が一
括管理できるネットワークシステムを容易に構築できます。さらには家庭内の各種の電気製品や器
具に組み込んでホームネットワーク構築も可能です。
開発する1チップμCPU コンピュータを実装した Marsit Unit に、アプリケーション基板を付加
して、ホームネットのノ
ホームネットのノード構成 (Marsit Unit +アプリケーション基板 )
ードを構成します。
なお、委託業務の終了
後、ネットワーク構築企
応用
端子
の要望に応じて、
電源端子
(1)基本アルゴリズムの
②
③
伝
μCPU
送
端
家電や
産業機器の基板
分岐や終端器は
MPU 基板が不要
Marsit Unit(CPU)基板
子
(3)1チップμCPU を搭
MPU
①
ドライバ IC
(2)プログラム内蔵の
1チップμCPU 単体
(応用層・プレゼン層・セション層)
設定用スイッチ
業および家電メーカなど
ソフトプログラム
アプリケーション(MPU)基板
MPU
(物理層・データリンク層・ネットワーク層・トランスポート層)
載した Marsit Unit
(4)Marsit Unit とアプリケーション基板のセット
の4通りの販売を目指しています。
ホームネットワーク構築を実現させ、開発製品販売でデファクト化を進めるためにユニットに関
する研究開発を行いました。
(2)委託業務の国が提示した課題との整合性
国が提示した課題「ホームネットワーク構築技術」は、完全なる分散サーバである1チップμCPU
を接続してネットワークを構築し、アプリケーション基板を作成し、ホームネットワーク構築のプ
レゼンテーションを行い、ホームネットワーク構築方法を具体的に提示できるので整合性がありま
す。
1
3.委託業務全体の内容と目標
(1)技術の内容と新規性・独創性又は改善性
①技術の内容
ネットワーク構築用の専用コンピュータを作るとのコンセプトでネットワークを見直し、次の5
項目の基本アルゴリズム理論が完成しました。これらを1チップμCPU に組み込みました。
1)ポイント・ツー・ポイント接続部材間にトークンを巡回させ完全にデータ競合を回避させること
2)新規トークン巡回にて伝送路をパイプラインと同等の多重型の高速通信にすること
3)接続ノード数を無制限にするためLANの階層接続とし、簡単なルーティングにすること
4)故障しているノードまたは伝送路の不具合部材を表示し、取換えできる機構とすること
5)受信ノード側のフォーマットヘッダーで、強固で簡素な通信セキュリティを構築すること
詳細は下記の通りです。
1)データ競合の完全回避
ネットワークは伝送路と構築ノードに分けられます。構築が容易に理解できる形態として、
構築ノード間を1本の伝送路で接続するポイント・ツー・ポイントとしました。しかし、ノー
ド間をバス接続してもデータ競合の完全回避が実現し電力線通信伝送路に応用しました。
2)パイプライン処理
トークンが到来した入力端子を出力に変更し、トークンを送出した出力端子を直ちに入力に変
更する機構にし、現在の端子が出力であるならば常時データを送信可能とすることで、多くの
ノードが同時に異なるデータを送信でき、パイプライン処理と同等になりました。
パイプライン処理効果があるトークンを明確にするため、以後トリガー・トークンと呼びます。
3)LANの階層接続
「1つのトリガー・トークンが巡回する部材で構成されたネットワークは1つのLANである」と明
確に定めることができます。LANとLANの接続をWAN接続と呼びます。WANのルーテ
ィングは、各々の番号を積み重ねて行います。即ち、有線電話の番号体系(最小は2∼3桁の
内線番号、局内の 4∼8桁の番号、地域を示す2∼5桁の番号、国を示す 2 桁番号)と同様に、
2桁の番号を必要な桁数だけ積み重ねて特定の相手に送信します。
この考え方で構築した無制限にネットワークに接続可能な分散型のルーティングサーバを
MARS = Message Access and Repeat Server と命名し、日本国の特許審査で認められました。
なお、MARS は、世界知的所有権機関(WIPO)で公開され認められた略称となっています。
4)故障部材の検出
トリガー・トークンを送信した部材は、受信部材が直ちに[確認信号]を返送したか否かで、受信部
材の故障検出を行います。
[確認信号]の返答が無ければ、緑色 LED を消灯させ赤色 LED を点灯させて、トリガー・トークン
を再送します。このトリガー・トークンの再送は[確認信号]の返答が到来するまで行われ、故障が除
去されるまで続きます。この機構によって、故障している Marsit Unit や伝送路にポイント・
ツー・ポイントで接続されている正常な Marsit Unit の赤色 LED が点灯し、他の正常な Marsit
Unit は故障箇所の方向が緑色 LED の点滅で表示されるようになりました。
5)通信セキュリティ
本ネットワークの受信ノード側から見れば、遠くから来たデータは多くの番号桁で構成され、
近距離のLANは少ない番号桁で構成されています。従って、受信側の Marsit Unit が拒否す
るか否かを選択することが可能となります。
2
実用例として、2ビットのディップスイッチで下記の受信拒否ができました。
一つの家庭内のネットワーク・・・・すべての制御情報を受信
マンションなどの共同住宅・・・・・・許可されたアプリケーション基板のみ制御情報を受信
更に遠くのユニットからの通信・・パソコンにのみ情報を表示し制御情報を受信拒否
②技術の新規性・独創性又は改善性
最近ホームネットワークは情報家電(又はデジタル家電)やネット家電の用語に分化されて
います。情報家電はTV・VTRなどの画像を中心とした高速系で、ネット家電は低速系で白
物家電とインターネットを結び付けるものです。本研究開発は地理的地域が限られている家庭
内とし、白物家電・電灯・スイッチ・センサーなど何百もの部材間の制御系としました。
トリガー・トークンを利用する簡単なアルゴリズムで主たるネットワークサーバを設置する必要がな
く、地域限定であるが何千もの部材を接続できる Marsit プロトコルを、1チップマイコンに組
み込めました。従って、安価でありネットワーク技術の専門知識を必要としないメンテナンス
性の高いネットワークが構築できることは他に類を見ない新規性・改善性があります。
なお、すべての「基本アルゴリズム」は国際特許出願後、順次国内特許権を取得していますが、
ロゴ
を使用することで、特許権を開放いたします。
(2)技術の目標
①技術目標値
完全なる分散型ネットワークサーバを1チップμCPU に組み込み、すべての技術目標値を実現
しました。機能別に研究開発着手前の技術目標を列挙します。
1)データ競合の完全回避の実証
ポイント・ツー・ポイント伝送路において往路用または復路用のトリガー・トークンを巡回させ、デ
ータ転送用のパイプラインが自動作成されること。
2)異転送速度が混在するパイプラインの実証
非同期型のシリアル通信(近年名称は調歩型同期通信)の伝送路電線2本で転送速度として、
62.5Kbps, 31.25Kbps, 9.6Kbps の三種類を混在させても、データ転送に支障が無いこと。
なお、9.6Kbps はエコーネットに利用されている電力線通信速度です。
3)LANの階層接続による無制限なノード数接続
階層接続のトランスポートプロトコルを Marsit Unit に組み込む。また、他のプロトコルと
の整合が取れていて多層接続に問題がないこと。
4)不具合部材の表示
正常にネットワークが働いている時に、任意の伝送路コネクタを外すことで、人為的に伝送
路の故障を起こした場合、直ちに、不具合個所を示す赤色LEDが点灯し、再び接続すると、
緑色LEDが点灯すること。
任意の Marsit Unit を撤去しても、任意の伝送路に Marsit Unit を挿入追加しても、取り換え
作業中は不具合個所を示す赤色LEDが点灯し、再び接続すると緑色LEDが点灯すること。
5)受信拒否による通信セキュリティ
家庭内機器の制御データ送受信と、パソコン同士の文書データ送受信の混在ネットワークで
も受信拒否による通信セキュリティが確保されていること。
具体的には、階層接続が2層以下の母屋と離れ家屋で構成されるホームネットが多数接続さ
れている3層の近隣ネットや4層以上の広域地域ネットを想定し、同一世帯内であれば家庭内
機器が制御され、一方パソコン同士は外部であってもすべて送受信されることです。
3
6)無線伝送路を考慮した Marsit Unit
ホームネットワークは、無線伝送路にする研究が進んで来ました。無線伝送路でのネットワ
ーク・プロトコルの問題点は、データ競合を完全回避する方法と故障部材検出です。
この解決として、トリガー・トークンの巡回と[確認信号]及びデータ送信条件を工夫することで理
論的に実現可能な見通しが立ったので、Marsit Unit に組み込んで上記問題点を検証すること。
7)入出力接点端子を有するアプリケーション基板
基本的なホームネットワーク構築見本基板の製作。
家庭内に点在する各種のスイッチ情報で、電灯や白物家電の制御が行えること。
8)RS-232C および USB 端子を有するアプリケーション基板
RS-232C は、情報・制御の基本的な主・従の関係がある通信で、住宅設備機器に使われて
いる最も多い形態です。USB は、パソコンを主に、機器類を従にした通信形態で、パソコン・
デジカメ・プリンタなどが接続可能で、また、一般LANにも接続が可能です。
そのために RS-232C および USB 端子を有するアプリケーション基板の開発。
②技術目標値の妥当性
技術目標に挙げた全項目の基礎理論は、既に国際特許で認められており、また東芝のμCPU
と外部通信デバイス等を使って実験室での検証に成功しており、これらを1チップμCPUに組
み込みネットワークを構成することは技術的に実現可能であると考えられ、技術目標値の妥当性
がありました。
また、事業化では富士通(株)や他の複数の大手電機メーカから照会があり、具体的に、富士通
(株)に本研究開発での試作品を用いて、更に詳細な評価を検討して貰うことにしました。
1チップCPUを主に家庭の電気・ガス・水道の各計量器に取り付けて、自動検針や遠隔故障
診断を業者が一括管理できるネットワークシステムを容易に構築できます。更に、家庭内の各種
の電気製品や器具に組み込んでホームネットワーク構築も可能であり、その市場性は大きく期待
できます。
基礎理論に関する国際特許および商標登録は下記です。
国際特許 PCT/JP95/00653(国際公開番号WO96/31968日本国,平成8年特許530169号)
発明の名称「転送識別と調停機構を有するコンピュータ用ネットワーク」
国際特許 PCT/JP99/04284(国際公開番号WO01/11829日本国,特願2001-515584号)
発明の名称「トークンによる調停機構を有するコンピュータ用ネットワーク」
国際特許 PCT/JP00/07394(国際公開番号WO02/35774日本国,特願2002-538624号)
発明の名称「データ多重化ネットワーク機構」
国際特許 PCT/JP02/04186(国際公開番号WO03/09222)
発明の名称「ネットワークのセキュリティ機構」
ロゴ
日本国商標登録番号 第4699218号、国際商標登録番号814432
申請中の57ヶ国
AG, AL, AM, AN, AT, AU, BG, BT, BX, BY, CH, CN, CU, CY, CZ, DE,
DK, EE, ES, FI, FR, GB, GE, GR, HU, IE, IS, IT, KE, KR, LI, LS, LT, LV, MA, MC, MD,
MK, MN, MZ, NO, PL, PT, RO, RU, SE, SG, SI, SK, SL, SZ, TM, TR, UA, US, YU, ZM
商品及び役務の区分
7類=機械及び工作機械、原動機、農業用器具など
9類=科学用,光学用,測定用,検査用などの機器、制御用の電気機器、自動販売機など
10類=医療用機器及び医療用品
11類=照明用,調理用などの装置
4
37類=工事サービス
③技術目標値を達成するための課題と解決方法
技術目標は、研究目標と開発目標に分けられます。
技術の目標 ①技術目標値 1)∼5)の研究課題に対して、次の手段で解決しました。
◎
1チップμCPU のプログラムの開発試行
◎
Marsit Unit 基板のハード設計と試作
◎
1チップμCPU のプログラムの開発
技術の目標 ①技術目標値 6)の理論研究課題に対して、次の手段で解決しました。
◎
1チップμCPU のプログラムの開発
バス型伝送路におけるデータ競合を完全回避する方法は、トリガー・トークンに送り先ノード番号を
付加することで解決しました。無線伝送路としてSMK社の電力線 DS-SS 基板をモジュール
に仕上げて Marsit Unit 基板に取り付けられる様にしました。
技術の目標 ①技術目標値 7)8)の開発課題に対して、次の手段で解決しました。
◎
「接点入出力」「RS232C」「USB」の機能付きのアプリケーション基板を開発しました。
◎
USB の開発は市販の RS232C-USB の変換器を取付けられる様にしました。
◎
上記の動作プログラムはアセンブラ言語にて製作することで容量を減らし、MPU を使わ
ずにμCPUに内蔵させて、原価低減を図りました。
なお、技術目標を、機能別の構築とするならば、ハード部分・ソフト部分・混在しているファー
ム部分に分けられます。各々についての当初の課題を示します。
◎ハード部分:
ホームネットワーク構築ユニット基板・アプリケーション基板
製品価格はハード部材費に大きく依存するため、原価低減を目指した設計・試作。
◎ソフト部分:
ユニット基板のμCPU・アプリケーション基板のMPU
ハードウェアにインストールが容易なμCPU用やMPU用のプログラムを製作。
◎ファーム部分:
ICE(In Circuit Emulator:ソフト開発試行)の利用
インストールするプログラムは、ICEを利用してアセンブラ言語にてリアルタイムOSを
製作。なお、RS232C や USB の開発にはパソコンで動作するプログラムの製作が必要。
④解決方法の具体的実施内容
年
度
平成14年度
実 施 項 目
実 施 内 容
① ソフト開発試行
1チップμCPU の開発用ICEによる疑似実現
② 基板の設計試作
Marsit Unit 基板の設計試作
③ プログラム開発
μCPU 用のプログラム
④ 評価
ネットワーク構築理論(アルゴリズム)の評価
⑤ 市場調査
市場が欲しているアプリケーションの調査
② 基板の設計試作
デモ用 Marsit Unit 基板/アプリケーション基板
の設計試作
平成15年度
③ プログラム開発
Marsit Unit 基板の完成/デモ用のプログラム
④ 評価
ホームネットワーク構築用 Marsit Unit の評価
⑤ 市場調査
デファクト化に向けての市場調査
5
(3)実施計画日程
全体の実施計画日程表
平成14年度
実 施 項 目
平成15年度
7 8 9 10 11 12 1 2 3 4 5 6 7 8 9 10 11 12 1
① ソフト開発試行
② 基板の設計試作
③ プログラム開発
④ 評価
⑤ 市場調査
まとめ
報告書作成
4.当該年度の委託業務の内容と目標
(1)当該年度の技術目標値
全体の技術目標値 1)∼8)の中で、当該年度の開発技術目標値は5)∼7)で、8)につい
ては単独の開発技術目標値から外し、7)のアプリケーション基板への搭載で解決しました。
5)通信セキュリティ
ホームネットワークは、電気などの計量器を接続した地域ネットワークにも接続されます。
家庭内ネットワークでの制御機器に対して、同一家庭内(1階層)から発送された指示データ
で制御可能とし、2階層のWANへは受信/拒否を受信 Marsit Unit で決め、3階層以上のW
ANでは RS-232C 接続パソコン以外での受信ができない強固なセキュリティを確保する。
6)無線伝送路を考慮した Marsit Unit
前年度の委託研究開発事業によって、アプリケーションと家電品などを 9600bps で通信する
ことが有効との結論に到達し、電灯線で最大何台まで同時通信が可能かの実用性限界接続数の
調査。
7)入出力接点端子を有するアプリケーション基板
デモンストレーションの効果を高めるため、「4つの入力接点端子」「機械式リレーまたは
同等品を搭載した2つの出力端子」及び「RS-232C 端子」を搭載した220台を試作し、5)
通信セキュリティの実現を確認するため、4階層の擬似ホームネットワーク構築。
8)RS-232C および USB 端子を有するアプリケーション基板
前年度に RS-232C 端子付き検証用基板を開発しました。金沢市の㈱アイ・オー・データ機器や諏訪
市のインターフェース㈱が USB-RS232C 変換モジュールを市販しました。これらの製品によって、USB
端子に変換でき、MPUの開発用ICEによる疑似実現の研究開発を省略。
6
(2)当該年度の技術目標値を達成するための課題と解決方法
技術目標値を達成するための課題と解決方法は、下記の3項目に集約されます。
■課題:ハードウェアによる試作
○
Marsit Unit の心臓部である1チップμCPU が搭載された基板の製作。
○
擬似家電品とACコードのみによって接続するアプリケーション基板の試作。
○
入出力接点および RS-232C 端子を有するアプリケーション基板の試作。
■課題:ソフトウェアによる試作
○
前年度で得た開発用ICE(イン・サーキット・エミュレータ:ソフト開発試行)の利用技術で、μCPU
用プログラムを作成。
■課題:デモンストレーションによるデファクト化の推進
○
試作したユニットの接続によるホームネットワーク構築のデモンストレーション。
○
機能評価を試作ユニットにフィードバックして、デファクト化の推進。
(3)当該年度の解決方法の具体的実施内容(実績)
1)設計
イ)概念設計(平成15年6月∼7月)
・目的
ACM (Access Control Message) code の見直し。
・内容
2ページ「ホームネットのノード構成図」における①②③のデータ転送規定コード
で、「アプリケーション基板 ⇒ Marsit Unit 基板同士 ⇒ アプリケーション基板」
間のデータおよび信号の転送形式や仕様を見直し決定した。
・方法
機能評価をフィードバックして、研究者自身が考察を繰り返す手法。
・実施機関
・成果
㈱ニッシン
ACM (Access Control Message) code は、通信プロトコルを規定するだけでなく、
ノイズに対して信号伝播エラーの誤り検出精度を高める効果が得られた。また、ポイ
ント・ツー・ポイント型の伝送路ではトリガー・トークンのコードに宛先を記載する必要が無
かったが、バス型伝送路用として宛先を付加したトリガー・トークンのコードを追加したため、
電力線通信伝送路が実現できた。
ロ)基本・詳細設計(ハードウェア:平成15年6月∼11月)
・目的
Marsit Unit 基板およびアプリケーション基板の設計。
・内容
アートワークを含むハードウェアの基板設計。
・方法
ハードウェア担当者が基板外注先を指導して仕上げた。内容はアプリケーション基
板に入出力端子およびRS232C端子を入れ、Marsit Unit基板に自己アドレスを設定する
スイッチを設けた。更に、電力線通信モジュールを設計した。
・実施機関
㈱ニッシン
・協力機関
ファインテック㈱(再委託先)
・成果
昨年度は自己アドレスをアプリケーション基板に設けていたが、Marsit Unit基板に
設けることにより、分岐器などの場合にはアプリケーション基板を接続する必要が無
くなった。また、電力線通信モジュールを購入し開発基板に接続する当初計画であっ
たが、電力線通信DS-SS部品のみ購入してモジュール設計をしたため、詳細な制御が
行える効果が得られた。
7
ハ)基本・詳細設計
(プログラミング:平成15年6月∼12月)
・目的
技術目標値 5)∼7)の実現
・内容
プログラミングはアセンブラで行い高速動作を実現させた
・方法
μCPUの開発用ICEを使ってプログラミングを行う
・実施機関
・成果
㈱ニッシン
すべての開発をアセンブラ言語で開発したことで、CPUの容量に余裕が生まれ、
アプリケーション基板にMPUを実装せずとも機能の実現できた。また、概念設計で
見直されたACM (Access Control Message) code を具体的な通信プロトコルを実現
するプログラミングを行うことで、試作したデモ用ハードを安定して動作させる成果
が得られた。
ニ)考察と結論及び今後の進め方
Marsit Unit基板とアプリケーション基板に分けてネットワークのアルゴリズムを実現
させたことは、ユビキタス社会におけるホームネットワーク構築の雛型になると考えられ
る。しかしながら、アプリケーションを実現するプログラムを製品毎に組み込むならば、
ネットワークの動的な変化に製品が追いつかないことが生じる。例を挙げれば、TVを購
入したユーザがTVの制御器を変更させたり、新しくVTRを購入しTVと接続したネッ
トワーク構築を希望する課題である。
この課題は、アプリケーション・プログラムを新規製品だけでなく既設製品に自動ダウ
ンロードさせることで解決する。よって、今後は「ホームネットワーク運営におけるプロ
グラムの自動ダウンロードの研究開発」が必要になると考えられる。
2)試作
イ)名称
デモ用ハード基板(平成15年7月∼平成16年1月)
・目的
電灯とスイッチの関係を情報通信として擬似ホームネットワークの構築
・内容
ベースとなるMarsit Unit 220台、アプリケーション基板220台、電力線モジ
ュール22台を試作した。
・方法
㈱ロジサイエンスに基板実装を外注した。
・実施機関
㈱ニッシン
・協力機関
㈱ロジサイエンス
・成果
試作した内220台の内Marsit Unit 3台、アプリケーション基板3台、および、
電力線モジュール2台は、プログラミングや電力線通信モジュールの設計見直しに利
用することで、より良いデモ用ハード基板に仕上げることができた。その結果、電源
電圧低下もLEDで目視することが可能になり、製品に仕上げた時のメンテナンスに
おける簡素で有効な回路が得られた。なお、デモンストレーションでは、安定した動
作が実現した。
ロ)考察と結論及び今後の進め方
デモ基板によって、擬似ホームネットワーク構築が一目瞭然になりアピールする効果が
高かった。今後もネットワークはデモンストレーションをすることによって、ユビキタス
社会の一翼を担う必要があると考える。
8
3)評価
イ)名称
機能評価(平成15年11月∼平成16年1月)
・目的
ホームネットワークで実現すべき機能の調査
・内容
擬似ホームネットワーク構築をして、実現機能評価や未実現機能の評価を行った。
・方法
研究開発企業および情報通信学会FITフォーラムにてデモンストレーションをした。
・実施機関
㈱ニッシン
・協力機関
富士通東日本ディジタル・テクノロジ㈱、情報科学技術フォーラム、創価大学工学
部、SMK㈱、インターフェース㈱、富士通㈱あきる野テクノロジーセンター
・成果
基板単独での動作試験によって、約2%の不具合基板が発見された。正常な基板で
ネットワークを構築し、基本となるアルゴリズムによって、データ転送がスムーズに
動作し、100Vの家電を模した電球のON/OFF制御が簡単にできることが確認された。ま
た、データ転送状況が目視できる様にとの要望があり、プログラミングの詳細設計に
フィードバックすることで実現した。
ロ)考察と結論及び今後の進め方
製品の不良率を下げることは、製造の作り込みで解決できる。基本となるアルゴリズムが
完成域に到達した感がある。
今後は、ホームネットワーク構築は、あらゆる家庭製品・センサー・スイッチのネットワ
ークであり、通信プロトコルを発展させなければならない。特に、多くのコンテンツを取り
入れられるようにしなければならないと考えられる。
4)事業化の目標に関する調査
イ)名称
デファクト化の推進(平成15年10月∼平成15年1月)
・目的
デファクト化を推進させること
・内容
ホームネットワークで実現すべき機能を調査して開発の完成度を高めた。
・方法
ホームネットワークで実現すべき機能の調査をするために擬似ホームネットワーク
でデモンストレーションを行い、評価を得て、本研究開発に評価をフィードバックさ
せ完成度を高めるプレゼンテーションをして意見交換により市場動向調査を行った。
・実施機関
㈱ニッシン
・協力機関
富士通東日本ディジタル・テクノロジ㈱、情報科学技術フォーラム、SMK㈱、
インターフェース㈱、富士通ネットワークテクノロジーズ㈱福岡事業所、
SIIナノテクノロジー㈱、富士通㈱あきる野テクノロジーセンター
・成果
本アルゴリズムはシンプルであり、ホームネットワーク構築に最適であるとの高い
技術評価が得られた。なお、富士通㈱LSI事業部の8∼32ビットのμCPUに組み
込む通信プロトコルとしてMarsit Netを顧客に紹介し、協力してデファクト化を進め
ることが提案された。
ロ)考察と結論及び今後の進め方
本委託事業の終了後、ネットワーク構築企業および家電メーカなどの要望に応じて、
(1)基本アルゴリズムのソフトプログラム
(2)プログラム内蔵の1チップμCPU 単体
(3)1チップμCPU を搭載した Marsit Unit
(4)Marsit Unit とアプリケーション基板のセット
の4通りの販売を目指しています。
9
販売製品である「(1)基本アルゴリズムのソフトプログラム」は、1チップμCPU のメー
カ、又はμCPU を購入し製品に組み込んでいるメーカに販売する計画で、これによりデフ
ァクト化が進むと考えています。
富士通㈱LSI事業部は、自社のμCPU に組み込める通信プロトコルとして顧客にプレ
ゼンテーションするとの具体策が提案されました。従って、事業化の第1歩は、プレゼンテ
ーション資料を我々研究開発員が作成し、富士通㈱LSI事業部にプレゼンテーションを委
ねることになります。
今後のデファクト化の進め方は、富士通㈱以外のLSIメーカに対しても同様の働き掛け
を行います。勿論、特許によって独占するのではなく、ロゴ
が記載された製品
はすべてネットワークとして接続可能であるとの技術的裏づけを保証できる体制を考えて
います。
5)その他
イ)名称
工程会議(平成15年6月∼平成16年1月)
・目的
進捗管理
・方法
毎月25日ごろを目標に、研究員全員が集合して進捗管理の情報交換
・実施機関
・成果
㈱ニッシン
今年度は、時間的な余裕を持って実施計画を立てたつもりであったが、平成15年
5月27日の東北地震によって、購入先からμCPUの入荷が2ヶ月遅れる事態にな
りました。しかし、進捗管理を厳しくし、総合試験の人数を増加させたりすることで
遅れを解消することができました。
(4)研究成果
はじめに
研究開発成果を利用するエンド・ユーザは一般家庭に住んでいる人々であり、Marsit Network
の仕組みを知る必要がありません。
エンド・ユーザに提供するものは有形の商品であり、販売者は仕組みを理解する必要あります。
更に、商品製造者はハードウェアの概略を理解することで、自社商品が Marsit Network に接続可
能か調べる必要があります。
既にμCPUを使用して自社製品を製造している企業の研究者は、ハードウェアの追加部品、
及び、どのようなプログラムを追加することで Marsit Network に接続可能か見極め、付加価値の
上昇に対する原価コストを調べて Marsit Network を採用するか否かを決定します。
上記のように、ネットワーク構築の研究開発成果を利用する人々にとって、関心の的が異なり
ます。よって、利用する立場で分類し、研究開発成果を報告します。
10
エンド・ユーザ編
――
Marsit Network が利用できる分野
――
次の条件を満たす場合に利用できます。
○
1回のデータ転送量が1∼200バイト程度であること
動画・写真などのファイル転送などは不適です。
データ転送量が小さいことは、高速データ転送速度(ボーレート)が必要ない分野です。
○
データ転送応答性(レスポンス)が高いことが必要な場合
送信元から宛先にデータが届く時間が、人間の感覚で瞬時とされる分野です。
上記の条件を満たす分野は、家庭内設備(電灯・風呂・冷暖房器・給水ポンプ・防犯機器など)の
制御や白物家電のホームネットワークになります。
産業用に目を向けると、プラント制御などに最適なネットワークです。
本研究開発で実験したホームネットワーク構築を下図で示します。
◇白物家電の ON/OFF
白物家電や電灯を動作点灯させる ON スイッチ、停止させる OFF スイッチを別々に複数個設
けていても、ネットワークによって ON/OFF スイッチ情報を家電や電灯に流せた。また、家電品
や電灯をグループ分けすることにより、一つの ON/OFF スイッチによって、複数台の機器を制御
できた。詳細制御器としてパソコンを利用した場合は、キーボードと画面による制御ができた。
◇パソコン通信
制御データは、ON/OFF 以外として、パソコン同士の文字列通信を行った。この通信は一つの家
庭内だけでなく、共同住宅を想定して通信実験をした。なお、パソコンによる ON/OFF 制御情報
は、自宅内しか有効でないような強固なセキュリティを構築した。
実験したホームネットワーク構築
インターネット
選択機器
をON
不要機器
をOFF
書斎
寝室
リビング
キッチン
全機器
詳細制御
施錠・断線
警報器
(パソコン)
玄関
居間機器詳細制御器
目覚時や帰宅時に必要機器をON
台所機器詳細制御器
就寝時や外出時に不要機器をOFF
クーラー・風呂・冷蔵庫などの温度設定は「詳細制御器」で行う。
11
――
Marsit の通信形態
――
Marsit Node の構成は、「アプリケーション機器」と「Marsit Unit」を
コネクタで接続されたものです。
Marsit Node 構成
アプリケー
○
アプリケーション機器は、前ページの様々な機器です。
○
1つの Marsit Unit に、伝送路を最大3本接続できます。
○
データは、任意のアプリケーション機器間を下記の様に流れます。
送信元
ション機器
コネクタ
接続
Marsit Unit
宛先
伝送路接続用コネクタ
データは Marsit Unit 間で転送が繰り返されます。
Marsit Unit 間で転送は伝送路を通過します。伝送路接続の形態は大きく2つに分けられます。
① ポイント・ツー・ポイント接続
○ 直線接続
Marsit Unit の接続コネクタ同士を、
1本の伝送路電線で接続します。
○ 分岐器接続
分岐器
直線接続だけでは、アプリケーション機器が
点在しているときに接続が不便です。
分岐器を用いて、伝送路を分岐します。
分岐器には、アプリケーション機器を接続しません。
② バス接続
分岐器を用いずに直接伝送路で分岐する方法です。
○ データ転送応答性(レスポンス)が低下します。
○ 伝送路として無線が利用できます。
無線は、隣家にも流れますのでセキュリティ
確保が困難になります。
バス型伝送路
本研究開発では無線系として電力線通信にしました。
ポイント・ツー・ポイントとバス
を接続する Marsit Unit
データを送信するタイミング
データ送信のタイミングを擬人化して説明します。
人間の口と耳は正面を向いていますが、Marsit Unit
では、逆向きになっています。
(トリガー・トークンの伝播)
○ 何時でも隣人に喋れます。
隣人が喋っていてもデータを聞けます。
○ 振り向くには、トリガー・トークンと呼ぶ合図が必要です。
○ 端の人は、合図を受けると振り向き喋ってから、
隣人に合図した後で、もう一度振り向きます。
合図後に
振り向く
合図を
次に伝達
○ バス接続では、接続されている人々の中で一人だけが伝送路へ喋ることができます。
データ転送応答性(レスポンス)が低下する理由です。
12
――
Marsit Node 数とセキュリティ
――
前ページの Marsit Net は、閉鎖された一つのホーム
閉鎖されたネットワーク
ネットワークで、アプリケーション機器を63台接続
できます。更に、接続機器を増やす方法を説明します。
閉鎖されたネットワークの定義は
ア
イ
ウ
エ
12
15
77
46
一つのトリガー・トークンの巡回範囲です。
閉鎖されたネットワーク
閉鎖されたネットワーク
閉鎖されたネットワーク
カ
キ
ク
サ
シ
ス
タ
チ
ツ
21
77
24
20
26
77
05
33
77
WAN接続
閉鎖されたネットワーク内
の Marsit Unit の WAN 端子を
閉鎖されたネットワーク
閉鎖されたネットワーク
ポイント・ツー・ポイントで
ナ
ニ
ヌ
ハ
ヒ
フ
接続する。
14
77
47
13
63
77
○ Marsit Node 数の計算
一つの閉鎖されたネットワークに接続可能な最大アプリケーション機器数 ・・・・
下の階層に接続可能な最大アプリケーション機器数
更に下の階層に接続可能な最大アプリケーション機器数
(63-1)×63 ・・・・
63 台
3906 台
(3906-63)×63 ・・・・ 24219 台
階層数に制限がありませんので、無制限に接続することができます。
アドレス形態
データを送信するには、Marsit Unit のアドレスが決定されている必要があります。
アドレスは、閉鎖された自宅のホームネットワークを中心にし、遠くになるに従って桁数を増や
されます。なお、アドレスを表すデジタル信号として0∼7の数字を使う8進数としました。
○ 自宅にアプリケーション機器「サ・シ・ス」がある家族の場合を示します。
◇ 中心となるアドレス「サ =20」「シ =26」「ス =77」
◇ 隣の機器のアドレス「ア -77=12」「イ -77=15」「ウ -77=77」「エ -77=46」
隣の機器のアドレス「ナ -26=14」「ニ -26=77」「ヌ -26=47」
◇ 兄弟関係の機器のアドレス「カ -77-12=21」「キ -77-12=77」「ク -77-12=24」
兄弟関係の機器のアドレス「タ -77-46=05」「チ -77-46=33」「ツ -77-46=77」
◇ 更に遠くの機器のアドレス「ハ -77-46-33=13」「ヒ -77-46-33=63」「フ -77-46-33=77」
○ 自宅にアプリケーション機器「カ・キ・ク」がある家族の場合を例示します。
◇ 中心となるアドレス「カ =21」「キ =24」「ク =77」
◇ 隣の機器のアドレス「ア -77=12」「イ -77=15」「ウ -77=77」「エ -77=46」
◇ 兄弟関係の機器のアドレス「サ -77-15=20」「シ -77-15=26」「ス -77-15=77」
不正アクセスを防止するセキュリティ
アドレスの桁数と 77 の記載位置を考慮して受信拒否するセキュリティを開発しました。
13
――
試作品
――
基板発注した試作品は、ロゴ
及び
をシルク印刷しています。また、電力
線通信モジュール DS-SS は、ユニバーサル基板に手半田で部品実装しました。
伝送路状態表示 LED として、緑色・赤色の2種類を設け、Marsit Unit や伝送路に故障や断線があ
れば、目に見える形として表示されます。この LED の点滅により警報器を鳴らす様にすれば、保守
が更に容易になります。なお、窓センサーなどの防犯装置と連動させる実験も行いました。
故障を判断するLEDの点灯仕組み
12ページのトリガー・トークンの伝播図において、合図後に振り向きますので、合図を受け取った人は、
「確認した」と伝えることができます。もし、「確認した」との通知がなければ、故障と判断して、
赤色 LED を点灯させます。なお、各々の Marsit Unit はトリガー・トークンが一定時間受信できなければ、勝
手にトリガー・トークンを出します。この機構でトークン監視用ネットワークサーバが不要になりました。
汎用制御器用
RS-232C 端子
RS-232C
USB変換
パソコンなど
USB端子
スイッチ
入力
アプリケ
ーション
基板
宛先設定
リレー
出力
コネクタ接続
設定スイッチ
μCPU
基板
伝送状態
DS−SS
通信モジュール
表示 LED
接続
ケーブル
電力線通信伝送路(無線伝送路)
有線伝送路
14
WAN/分岐用
の接続端子
――
エンド・ユーザ編のまとめ
――
ネットワーク構築に必要不可欠な物は Marsit Unit で、設定スイッチによって機能分化されます。
○ Marsit Node はアプリケーション機器を接続できるもので3種類になります。
終端ノード、2端子ノード、WAN 接続ノードになります。
WAN 接続ノードは、ノード数を増やすのに必要な機能であります。ホームネットワーク構築
においては、2端子ノードの需要が最大であると予想されます。本研究開発では、多くの機能が
実現できることを検証する必要があったため、16 ビットのμCPUにしました。今後は、エコノ
ミータイプとして、終端ノードと2端子ノードを8ビットのμCPUで作成し製造原価低減を図
る必要があると思われます。
○ アプリケーション機器としてパソコンを利用する場合。
最近のパソコンは、RS232C 端子の実装が減り、USB 端子が全盛です。本研究開発ではアプリ
ケーション機器の見本基板を RS232C 端子に変換コネクタを装着することで USB 接続できるよ
うにしました。
○ 伝送路はポイント・ツー・ポイント型とバス型に分けられます。
バス型は、従来のイーサネット(富士ゼロックス社の登録商標:正式規格 IEEE802.3)LAN
や制御用シーケンサに利用されているトークンバス(正式規格 IEEE802.4)です。
バス型の長所は自由にノードの追加や撤去が行えることで、欠点は転送応答性(レスポンス)
が遅いことです。欠点をカバーする従来の方法はトークンリング(正式規格 IEEE802.5)であり
ますが、バス型の長所である自由にノードの追加や撤去が行えません。
本研究開発の当初は、Marsit Node を Marsit Unit とアプリケーション機器に分けて接続するこ
とで、機器の追加撤去が自由に行えると共に、ポイント・ツー・ポイント型によって、トークン
リングの長所を融合させることでした。
研究成果は、更に進み、ポイント・ツー・ポイント型であっても自由に Marsit Unit の追加や撤
去が行える様になりました。また、Marsit Unit 故障や伝送路不具合事故があれば、直ちに、正常
な Marsit Unit が故障箇所を示せる様になりました。
バス型として有線式と無線式の「電力線通信モジュール」を研究開発しました。研究開発終了
時点で総括すると、バス型の長所と考えられていた追加撤去が自由に行えることは、伝送路の切
断検出ができない欠点の裏返しに過ぎないことが判明しました。
なお、無線系バスとしての「電力線通信モジュール」は、広く一般家庭にホームネットワーク
が広がった場合、隣接家屋とのセキュリティを保証するのが困難であることが判明しました。こ
れは、現在問題になりつつある無線LANにおいて家屋外からの不正アクセスを防止できないこ
とと同じ問題です。
ユビキタス社会に入り、殆どの家庭でホームネットワークを構築する場合は、無線LANや電
力線通信を使うバス型の欠点がクローズアップされると考えられます。
○ ノードのアドレスの管理
ノードのアドレスとして、全世界で異なる MAC アドレスやインターネットの IPv6 などがあり
ますが、何れも全世界を統一管理する組織で運営しています。それに対して Marsit Unit のアドレ
スは、自分の家庭を中心とするアドレス構成で、管理サーバやアドレス統一管理組織を作る必要
ありません。どちらが好まれるかは、今後の普及によって結論が得られるであろう。
15
ハードウェア編
――
試作基板
――
1チップμCPUの機能を生かして多くの実験が可能になるような設計にしています。
通信ポート UART を4個使うため、5個が実装されている富士通マイコン MB90F583CA にしました。
伝送路にドライバ SP485 を、RS232C にドライバ SP232 を、LED の点灯にバッファ HC541 を、アプリ
ケーション基板の 5V リレー駆動にトランジスタを用いて、信号変換を行いました。
伝送路は 6 極4芯用の電話用モジュラーケーブルを利用し、2芯を通信線に2芯を 7V 電源供給に
し、三端子レギュレータで 5V の定電圧をCPUに供給しました。なお、7V 電源で LED を直列に入れ
たリレーを駆動させる回路にすることで、供給された電源電圧の低下を目視できるようにしました。
Marsit Unit 基板とアプリケーション基板の接続は、40pin コネクタで接続します。都築電産㈱の
TF-Writer を 40pin コネクタに接続して、マイコン MB90F583CA にプログラムを書込みます。
電力線通信モジュールは、ユニバーサル基板で作成しました。
モジュールの駆動は、マイコン MB90F583CA の汎用 I/O ポートを用います。従って、ソフトウェア
によって、電力線通信モジュールのデータバス・コントロールバスを作成する必要があります。
マイコン MB90F583CA の汎用 I/O ポートと電力線通信ユニットの接続に 20pin コネクタを使い、ユ
ニットにパルストランスを用いて直接 AC100V の電力線に接続しています。
出力・状態 表示LED
ドライバ
SP232
HC541
Marsit Unit 基板(65×90mm)
40pin 雌コネクタ
40pin 雄コネクタ
UNIT
プルアップ抵抗群
接点コネクタ
リレー
三端子レギュレータ
29M05
電源
コネクタ
機能設定Dip SW
Pulse
trans
D4 6
D5 7
D6 8
D7 9
X
X
X
(TEST)
NC
L2
NC
L1
NC
Vcc 18
ソケット
流用
電力線通信モジュール
16
ドライバ
SP485
電話用
ソケット
ドライバ
SP485
電源ジャンパ
電話用
ドライバ
SP485
電源ジャンパ
18 本線で接続
PST600
20pin コネクタ
-RES 15
(OSC)
-CS 10
-WR 11
-RD 12
TEN 13
REN 14
TDR 16
RDR 17
D0 1
D1 2
D2 3
D3 4
GND 5
20pin コネクタ と
電圧レギュレータ
流用
7V 電源
電話用
ソケット
流用
伝送路
電源ジャンパ
リレー
MB90F583CA
(100pin)
μCPU
HC541
機能設定用 SW
取付けビス
宛先設定Dip SW
発振器
8MHz
4入力トグルSW
アプリケーション基板(65×68mm)
Marsit
APP1
RS-232C
コネクタ
(D-Sub 9pin)
――
試作基板回路
――
電源回路と伝送路回路
MB90F583CA
外側2線が電源
SP485
モジュラー
UART out
6極4芯
コネクタ
内側2線が信号
UART in
Pxx
en
電源ジャンパ
ピンにて接続
RST
PST600
29M05
DC
Vcc
7V
7V
スイッチ・LED・リレー回路
RY
Vcc
MB90F583CA
I/O Port
HC541
5V 用
LED
I/O Port
LED
I/O Port
HC541
LED
アプリケーションの
I/O P47
接続基板種類判定回路
I/O P46
プログラム初期化時に
I/O P45
P47∼P44 を読み込む。
I/O P44
基板種類を記憶し、
Vcc
出力に切替て LED 表示
22kΩ×4
9pin
1
2
RS232C 回路
3
Vcc
MB90F583CA
DSR P43
22kΩ
SP232
2.2kΩ
4
5
6
DTR P42
7
TxD P41
8
RxD P40
9
17
――
ピンアサイン表
――
MB90F583CA
Marsit Unit
ピッチ 0.5mm
*内部 pull up
電力線
モジュール
端子
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
D0
D1
D2
D3
GND
D4
D5
D6
D7
-CS
-WR
-RD
TEN
REN
-RES
TDR
RDR
Vcc
NC
NC
取出し
Marsit
Unit
P10
P11
P12
P13
GND
P14
P15
P16
P17
P00
P01
P02
P03
P04
-RES
P72
P71
Vcc
NC
NC
91
92
93
94
95
96
97
98
83
84
85
86
87
75
27
26
特殊ピンの処理
0.1μF=Gnd C
22K=Vcc -HST
RESET_sw -RST
32.768KHz X0A
水晶発信子 X1A
8MHz 発信器 X0
NC X1
25
50
75
77
78
80
81
CPU No.
L1/B in SIN3 36
L1/B out SOT3 37
L3/W in SIN4 41
L3/W out SOT4 42
L1/B_dir P80
45
L3/W_dir P81 46
L2/E_dir P82 51
MD_SW0
MD0
47
MD_SW1
MD1
48
MD_SW2
MD2
49
(MD0∼MD1 は
10K で pull-up)
SEL_L1/ P84
53
SEL_ /B P85
54
SEL_use P86
55
SEL_test P87
56
L2/E in SIN2 57
L2/E out SOT2 58
LED_L1R P90
65
LED_L1G P91
66
LED_L3R P92
67
LED_L3G P93
68
LED_L2R P94
69
LED_L2G P95
70
LED_A
P96
71
LED_B
P97
72
My_adrs0 P00 * 83
My_adrs1 P01
84
My_adrs2 P02 * 85
My_adrs3 P03 * 86
My_adrs4 P04 * 87
My_adrs5 P05 * 88
SEL_PRO0 P06 * 89
SEL_PRO1 P07 * 90
RateRS0 P10 * 91
RateRS1 P11 * 92
RateL1/ P12 * 93
Rate /B P13 * 94
RateL3/ P14 * 95
Rate /W P15 * 96
RateL2/ P16 * 97
Rate /E P17 * 98
pull_up1 P71
26
pull_up2 P72
27
pull_dw1 TX
63
pull_dw1 RX
64
コネクタ 40pin
アプリケーション
2.54mm
(P47-44=LLLH)
(XG4C-4031)雄
+7V
31 P74/DAO1
30 P73/DAO0
75
-RST
32
AVcc
33,28 AVRH,DVRH
29,34,35 AVss 等
24
P47
23 P46/ADTG
22 P45/SCK1
20
P44/SOT1
19 P43/SIN1
18 P42/SCK0
17 P41/SOT0
16 P40/SIN0
44 P57/AN7
43 P56/AN6
39 P53/AN3
38 P52/AN2
9,40,79
Vss
15 P37/CLK
14 P36/RDY
13 P35/-HAK
12 P34/HRQ
11 P33/-WRH
10 P32/-WRL
8 P31/-RD
7 P30/ALE
9,40,79
Vss
6 P27/A23
5 P26/A22
4 P25/A21
3 P24/A20
2 P23/A19
1 P22/A18
100 P21/A17
99 P20/A16
21,82
Vcc
61 P64/PPG0
60 P63/PPG1
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
NC ピン
52=P83/
59=P62/
62=P65/
73,74,76=PA0∼PA2
18
雌(XG4H-4031-1)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
+7V
DAO1(P74 Ry1)
DAO0(P73 Ry0)
RES_L
⇒NC
ADVcc ⇒Vcc
AVRH=DVRH ⇒Vcc
AVRL=ADVss⇒Vss
(P47)
LED7
(P46)
LED6
(P45)
LED5
(P44)
LED4
DSR0
(LED3)
DTR0
(LED2)
TXD0
(LED1)
RXD0
(LED0)
inD (P57/AN7)
inC (P56/AN6)
inB (P53/AN3)
inA (P52/AN2)
Vss
SW17
SW16
SW15
SW14
SW13
SW12
SW11
SW10
Vss
SW07
SW06
SW05
SW04
SW03
SW02
SW01
SW00
Vcc
Board-type J4
Board-type J3
――
機能スイッチの設定
接続例↑=1
――
P87,…,84 MD2,1,0 RST
P07,06,…,01,00
P17,16,…,11,10
↓↑↑↑
↓=0
書込時
端子:タイプ ↑↑↓↑ 電灯線 自己アドレス
(書込時は、 P01,P00=↑↓)
ボーレート設定
00:電灯線未使用
(W,L2 共に使用)
01:L2 を使用
主設定
0-:基板単体のテスト
1-:L1/B,-,−:終端ノード
は
従設定 00 は BUS04
ボーレート P86:9.6/19.2
10:W を使用
L1/B,W,−:W付終端ノード
電灯線通信時の設定
P05:31/62
使用端子別ボーレート
11:W,L2 未使用
10:L1/B,-,L2:2端子ノード
L1/B,W,L2:2端子W付ノード 従設定(L1/B の Bus)
00:PtoP 接続
11:L1/B,-,E:E付終端ノード
kbps
L1/B
L3/W
L2/E RS232C
00:
9.6
01-11:BUS1-3
01:
31.25
31.25
31.25
4.8
P87 は電源投入時に判定し、投入後 P87="0"にて
10:
62.5
62.5
62.5
9.6
11:
83.3
83.3
83.3
19.2
L1/B,L3,L2:分岐器
トリガ・トークン送出状態を赤 LED で表示
通信無 通信無
2.4
Marsit 基板の種類(基本6種)
1) 1端子ノード L1,-,-(終端器) 又は L1,-,E(E 付終端器)
基板:ノード/分岐器
2) 2端子ノード L1,-,L2
RS232C
3) 広域端子付ノード L1,W,-(終端器)
L1,W,L2(2端子)
L1/B
4) 分岐器 L1,L3,L2
L3/−/W
5) Bus 伝送路形 上記の L1 を B1/B2/B3 のいずれかに変える。
CPU 基板
LED 配置
6) 電灯線通信 L1=電灯線伝送路, W,L2 の1つが追加使用可能
伝送路用 LED について
赤色=接続部品の不良
緑色=接続方向部品は正常
赤点滅=データの転送中を示す
緑点滅=接続方向部品に不良がある
L2/−/E
P96
P95
P90,91 P92,93 P94,95
アプリケーション基板のSW配置
P56
P53
P52
INP3
INP2
INP1
INP0
接続例↑=0,↓=1
P57
RS-232C
RS-232C のインデックス
P47,46,45,44,43,42,41,40
DTR
DSR
TXD
RXD
LED(DS10-DS3)
P37,36,35,34,…,30
P27,26,25,24,…,20
P64,63
接続例
接続例↑=1
RY1=P74
RY2=P73
↓=0
セキュリテイ
宛先/中継
選択
宛先/(自己)
JS2,JS1
1
0
P63(JS1)はデータブロック分離選択 J3=0:低速用(安全性優先) J3=1:高速用(送受同時では分離不安定)
P64(JS2)は RS-232C 利用時の ACM ヘッダー選択
J4=1:基板 DIP_SW 追加
19
J4=0:ACM 付 RS-232C データ
ソフトウェア編
――
自己中心アドレスの通信プロトコル
――
13 ページの WAN 接続図を再掲し、従来の概念と一番異なる自己中心アドレスを説明します。
「サシス」の家族から見れば“タ”のアドレスは「タ -77-46=05」です。
ア
12
「タチツ」の家族から見れば“サ”のアドレスは「サ -77-16=20」です。
“サ”から“タ”の機器への制御例です。
カ
21
◇サの動作
宛先/自番:data を送信
キ
77
ク
24
サ
20
シ
26
イ
16
ス
77
ウ
77
タ
05
エ
46
チ
33
ツ
77
-77-46=05/20:data
ナ
14
“タの=05”は、家族内の宛先番号です。
ニ
77
ヌ
47
ハ
13
ヒ
63
フ
77
◇サ⇒スは、先頭アドレスが-77 なので転送される。
◇スの処理
先頭アドレスの記号が=でないので、WAN へ転送する。
◇イの処理
WAN から受信した時、先頭から=までをずらし、
自己番号-16 を記入する。
-77-46=05/20:data
廃棄
◇イ⇒エは、先頭アドレスの 46 へ転送される。
自己番号を追記
-46=05-16/20:data
◇エの処理
先頭アドレスの記号が=でないので、WAN へ転送する。
◇ツの処理
WAN から受信した時、先頭から=までをずらし、
自己番号-77 を記入する。
廃棄
◇ツ⇒タは、先頭アドレスの 05 へ転送される。
◇タの処理
-46=05-16/20:data
自己番号を追記
=05-77-16/20:data
先頭アドレスの記号が=なので、自己宛として受け取る。
なお、/20 によって、20 から送信した制御データが次に記載されていることが判る。
◇タの返送処理
返送は /xx を=xx にしてずらし、
=05-77-16/20:data
自己番号/05 とメッセージを記入すると
廃棄
自己番号
「宛先/自番:message」を作成したことになります。 -77-16=20/05:message
自己中心アドレスでも、電話帳やドメイン名の様な普遍的なアドレスから算出できます。
家族「アイウエ」の普遍的なアドレスが *12*34*56 の場合、各々の普遍アドレスを示します。
「ア *12*34*56=12」「イ *12*34*56=16」「ウ *12*34*56=77」「エ *12*34*56=46」
「カ *12*34*56*12=21」「キ *12*34*56*12=77」「ク *12*34*56*12=24」
「サ *12*34*56*16=20」「シ *12*34*56*16=26」「ス *12*34*56*16=77」
「タ *12*34*56*46=05」「チ *12*34*56*46=33」「ツ *12*34*56*46=77」
「ナ *12*34*56*16*26=14」「ニ *12*34*56*16*26=77」「ヌ *12*34*56*16*26=47」
「ハ *12*34*56*46*33=13」「ヒ *12*34*56*46*33=63」「フ *12*34*56*46*33=77」
普遍アドレス帳によって、「サ⇒タ」の 宛先/自番 である-77-46=05/20 を算出します。
宛先の普遍アドレス
「タ *12*34*56*46=05」
自番の普遍アドレス
「サ *12*34*56*16=20」 ③
①消去
算出法 ①先頭から連続同数字ならば消去
②自番の=までを-77/ に変更
②「-77/20」 ③宛先の *を- に変え / の前に挿入
③「-77-46=05/20」
20
――
見直した ACM (Access Control Message) code
――
ACM (Access Control Message) code を、UART のフォームを考慮して、見直しました。
UART は、無信号時 H レベルで、スタートビットでLレベルにして、データを第0ビットから送
信し、データ部の7∼9ビット分を送信後、H レベルのストップビットの時間計測で終了です。
もし、UART の送信フォームの性質上、非常に短いLレベルのノイズが伝送路に乗ったならば、受
信 UART はスタートビットとして認識し、H レベルのビット列として受信し、最後に H レベルの正
常なストップビットが来たことになります。即ち、8ビットならば“11111111”の正常受信データに
なります。この間違いを正すには、送信側の UART が常に H 又は L レベルの信号を出し、プルアッ
プ抵抗などでの高インピーダンスを無くすことです。しかし、Marsit Unit は、伝送路の送受信状態を
トリガー・トークンで切換る方式ですので、高インピーダンス状態が必ず発生し、ハードウェアでの解決は困
難になります。
ソフトウェアでの短時間ノイズ除去方法
高インピーダンス後に送信する最初のコードは、トリガー・トークンです。コードの第0ビットを L レベル
にすることで、短時間のノイズが伝送路に乗った場合にエラーとして除去することができました。
バス型のトークンは宛先が必要
ポイント・ツー・ポイント型のトリガー・トークンは、12 ページの擬人化の通り、次の Unit が接続されて
いれば、トリガー・トークンを隣に渡せます。ところが、バス型になると多くの Unit が目の前にいるため、
簡単な合図で無く、声を掛けて返事を待つことが必要です。電力線通信を行うためにバス型のトリガー・
トークンを新たに作成しなければなりませんでした。なお、Unit の追加や撤去を自由に行える様にするの
に参加希望を募ることや、返答に次にトリガー・トークンを渡す Unit 次番で答える様にしました。
転送用フォーマット(ACM:Access Control Message のコードで分類)
ACM 部
転送フォーマット=ACM+data
コードの先頭 2bit
①
②
③
残り6bit
ルーティング部
データ部
備 考
00∼11
1 00,01,10 01_0ooo ルート・グループ・補助・送元 ユーザのデータ LAN 内のグルーフへ送信
コード 0ooo は任意数の
00∼11
1 00,01,10 01_1ooo ルート・グループ・送元・追加 ユーザのデータ LAN 内のグルーフへ送信
補助コメントを挿入
00∼11
0 00,01,10 10_0ooo ルート・宛先・補助・送元
ユーザのデータ ピア・ツー・ピアの送信
コード 1ooo は ooo で
00∼11
0 00,01,10 10_1ooo ルート・宛先・送元・追加
ユーザのデータ ピア・ツー・ピアの送信
決められたコメントデータ
01,10
0 10,01 11_0ooo 補助・送元
ユーザのデータ 隣接ノードへの送信
を追加
01,10
0 10,01 11_1ooo 送元・追加
ユーザのデータ 隣接ノードへの送信
コードの? はパリティ用
11
0
11
00_1111 補助・送元
ID・データ
LAN内接続調査コマンド 伝送路 L1, L2, W の各
00∼10
0
00_1111 ルート・補助・送元
(ID・データ)
広域先接続調査の依頼 端子に接続されている
1
11
00_1110 ルート・返送・調査元
ID・データ
広域先接続データを示す Marsit Unit の接続調査
11
00_0011
アドレス
自己メモリ読出しコマンド MPU に直接接続して
11
00_0100
アドレス・データ
読出したデータを示す
いるμCPU 内部 RAM
11
00_0101
アドレス・データ
自己メモリ書込みコード との読み書き
01,10
1
00_1011 宛先・送元
アドレス
他のメモリ読出しコマンド MPU が属する LAN 内
0
11
00_1100 宛先・送元
アドレス・データ
読出したデータを示す
のμCPU 内部 RAM
01,10
1
00_1101 宛先・送元
アドレス・データ
他のメモリ書込みコード とのリモート読み書き
1
00_0001 宛先・次先・送元
Bus 用トリガートークン
1
00_1001 検索・代行
Bus 参加希望の検索
システム用であり
1
00_1000 送元
Bus 参加希望の返答
すべて自動で信号の
1
00_0110 送元
PtoP 用トリガートークン
交換が行われる
1
00_0111 送元
WAN 用トリガートークン
1
00_0010 送元/(Bus)返送・次番
ACK(acknowledge)信号
1
00_1010
予備
①③欄の 2bit 意味:01=L1(又は BL)伝送端子 10=L2 伝送端子 00=WAN 端子 11= L1, L2 又はμCPUメモリの自動判断
伝送路上のコードは、②欄の 1bit+6bit の7ビットを作成後2倍して8ビットにして送信。正常受信は偶数で右シフトする。
21
――
μCPUのマルチタスク作成法
――
Marsit Unit 基板の心臓部は、富士通 MB90F583C の1チップマイコンで開発します。
MB90F583C は、フラッシュ ROM タイプですが、マスク ROM タイプに移植が容易にできることを考
慮して、マルチタスクを構築します。
例として、3個のタスク(T1, T2, T3)を並列処理するマルチタスク作成法を示します。
各々のタスクは、下記の如く
タスク T1 は、初期設定 T1S0:の実行後、T1S1:と T1S2:のステップを繰返し、
タスク T2 は、条件が整うのを T2S1:で監視し、条件が整うと T2S2:をステップで実行し、
タスク T3 は、条件を T3S1:で調べ、T3S2:、又は、T2S3:と T2S4 を実行する場合です。
START
START
T1S1: program
JMP 判断,T1L1
RET
T1L1: MOVW RW3,#T1S2
RET
T2S1: program
JMP 判断,T2L1
MOVW RW3,#T2S2
RET
T2L1: MOVW RW3,#T2S3
RET
T1S2: program
MOVW RW3,#T2S1
RET
T2S2: program
MOVW RW3,#T2S1
RET
START
T3S0: program
MOVW RW3,#T3S1
RET
T3S1: program
MOVW RW3,#T3S2
RET
T3S2: program
MOVW RW3,#T3S1
RET
T2S3: program
MOVW RW3,#T2S4
RET
T2S4: program
MOVW RW3,#T2S1
RET
作成の基本
F2MC-16 用
マルチタスクは右図の様に、CALL T1、 CALL T2、CALL T3 と順次タス
マルチタスクの基本
Main: ;ループ
MAINs: ;初期設定
クを呼び出し、JMP Main で繰り返します。こ
MOV
RP,#01
の方法でタスク T1,T2,T3 は順次呼び出され、
MOVW
RW3,#T1SO
MOV
RP,#02
MOVW
RW3,#T2S1
MOV
RP,#03
MOVW
RW3,#T3S1
CALL
T1
CPU 実行速度が速ければ、並列処理と見なさ
CALL
T2
れます。
CALL
T3
JMP
Main
順次呼び出されるタスク T1、T2、T3 は、CALL
に続く word で決まるため、T1、T2、T3 をタス
MAIN: ;ループ
ク内で変更させることにより、タスク内のステッププログラムを自由に変
MOV
RP,#01
えることができます。なお、プログラムRAM内にあれば、プログラムに
CALL
@RW3
書かれている機械語を変更するのは簡単です。
MOV
RP,#02
CALL
@RW3
MOV
RP,#03
CALL
@RW3
JMP
MAIN
富士通 F2MC-16 マイコンはプログラムをROMに書くのが標準で、レジ
スタはバンク切換ですので、タスク毎にレジスタバンクを切替て、タスク内実
行アドレス先頭をレジスタ RW3 とすれば簡単にマルチタスクが構築でき
ます。(右図と上図で完成しています)
22
動作実行速度に合わせたリアルタイムプログラムにするテクニック(一般説明)
前頁では、3個の T1、T2、T3 のタスクを順次呼び出すことで。3個の
プログラムが同時処理している様にできました。更に、4個のタスクを同
時処理している様にするには、前頁の3個の CALL @RW3 を7個にすれば可
能です。
しかし、追加するタスク T5,T6,T7,T8 は、T1,T2,T3 に比べて、動作速度
が遅くても構わないもの――例えば、ボーレートの低い転送処理、スイッ
チが押されたか否かの判断など――ならば、加重できます。
加重動作速度付き
MAIN:
;ループ
MOV
RP,#01
CALL
@RW3
MOV
RP,#02
CALL
@RW3
MOV
RP,#03
右の MAIN では、
CALL
@RW3
タスク T5 が呼び出される回数はタスク T1,T2,T3 の2回に 1 度、
MOV
RP,#00
タスク T6 が呼び出される回数はタスク T1,T2,T3 の4回に 1 度、
DEC
Rn ;レジスタ
タスク T7 が呼び出される回数はタスク T1,T2,T3 の8回に 1 度、
MOV
A,Rn
RORC
A
BC
ML5
RORC
A
BC
ML6
RORC
A
BC
ML7
タスク T8 が呼び出される回数はタスク T1,T2,T3 の8回に 1 度、
となります。
低速タスクは高速タスク呼び出しの 1/8∼1/2 にするプログラムが右図の
破線で囲まれた部分です。
低速タスクの呼び出し回数を合計すると1になり、逆に、低速タスクの
ML8: ;8 ループに1回
呼び出し回数合計が1になるならばプログラムで実現できます。
右図の場合は
1/8+1/8+1/4+1/2=1
となっています。
F2MC16L(MB90F583C の CPU 部)のレジスタとメモリ空間について
富士通 MB90F583C の CPU は、24 ビットのメモリ空間を 8bit, 16bit,
32bit で構成の専用・汎用レジスタでアクセス可能としています。
専用レジスタ(一部のみ記載)
AH
RP,#07
CALL
@RW3
JMP
MAIN
ML7: ;8 ループに1回
MOV
RP,#06
CALL
@RW3
JMP
MAIN
ML6: ;4 ループに1回
32bit
Areg
MOV
AL
アキュムレータ
1byte データを AL に記載では、
上位が 0 の word データとする
プログラムカウンタ
PC
メモリ空間 24bit は、
ユーザスタックポインタ
USP
バンクレジスタ+PC,USP とする。
MOV
RP,#05
CALL
@RW3
JMP
MAIN
ML5: ;2 ループに1回
MOV
RP,#04
バンクレジスタ
DTB (デフォルト 00H)汎用レジスタ RW0,RW1,RW4,RW5 を 24bit 化
CALL
@RW3
バンクレジスタ
ADB (デフォルト FFH)汎用レジスタ RW2,RW6 を 24bit 化
JMP
MAIN
バンクレジスタ
USB (デフォルト 00H)汎用レジスタ RW3,RW7 及びユーザスタックポインタ USP を 24bit 化
プロセッサステータス
PS
割込優先 ILM, 汎用レジスタバンク RP, フラグ CCR(Neg,Zero,Carry など)
汎用レジスタ(メモリ 000180H∼00037FH をレジスタバンク RP で 32 個に分解しアドレス区分でグループ化)
RL0=
RW1
RW0
000183H∼0180H+RP×10H
RW4=
R1
R0
000189H∼0188H+…
RL1=
RW3
RW2
000187H∼0184H+RP×10H
RW5=
R3
R2
00018BH∼018AH+…
RL2=
RW5
RW4
00018BH∼0188H+RP×10H
RW6=
R5
R4
00018DH∼018CH+…
RL3=
RW7
RW6
00018FH∼018CH+RP×10H
RW7=
R7
R6
00018FH∼018EH+…
23
通信速度とメインループ実行時間(実プログラム)
加重動作速度付き
○富士通 90F583 のタイマー設定
電源投入時
■ PPG_1 タイマー
T8 呼出から始まる
メインループの巡回速度を規定するために、PPG1 を使用する。
WBTS で SR フラグ
WBTS で SR フラグ
検出まで NOP
検出まで NOP
CLRB, Tn 処理
WBTS で SR フラグ
検出まで NOP
LMAIN: ;ループ
WBTS
PPG_SRF1
CLRB
PPG_SRF1
1ループに1回
CLRB,Tn 処理
Tn は、T1,T2,T3 及びループ毎に T4,T5,T6,T7 が1つ選択される。
メインループは 1周 113μsec で動作させています。
RP,#01 の T1 呼出
1ループに1回
RP,#02 の T2 呼出
1ループに1回
■ PPG_0 タイマー
RP,#03 の T3 呼出
PPG0 は 8msec 毎に PPG0 用フラグ SRF0 が立てられる様に設定する。
4ループに1回
RP,#04 の T4 呼出
4ループに1回
■ 16 ビットリロードタイマー
RP,#05 の T5 呼出
伝送路の高速通信(62.5bps 以上)を行うために使用する。
なお、汎用通信(62.5bps 以下)は UART 専用プリスケーラを使用する。
予備の通信ポートを含め、下記は設定するプログラム名である。
伝送路用
端子 L1/B
端子 L3/-/W
端子 L2/-/E
4ループに1回
RP,#06 の T6 呼出
8ループに1回
RP,#07 の T7 呼出
8ループに1回
9.6 kbps *
S01B:
S01W:
S01E:
31.25kbps *
S03B:
S03W:
S03E:
62.5 kbps *
S06B:
S06W:
S06E:
62.5kbps
S06Bt:
S06Wt:
S06Et:
各実行タスク
S08Bt:
S08Wt:
S08Et:
T1-T3 は 113μs 毎
125.0kbps
S12Bt:
S12Wt:
S12Et:
L1 の伝送路関係
250.0kbps
S25Bt:
S25Wt:
S25Et:
L2 の伝送路関係
83.3kbps
*
RP,#07 の T8 呼出
JMP LMAIN
L3 の伝送路関係
T4-T6 は 452μs 毎
RS-232C 用
汎用出力 LED 用
UART_1
UART_0
RS232C の受信
S00R:
S00Q:
RS232C の送信
予備
2.4kbps
*
S02R:
S02Q:
4.8kbps
*
S04R:
S04Q:
T7-T8 は 904μs 毎
9.6kbps
*
S09R:
S09Q:
パケット処理
19.2kbps
*
S19R:
S19Q:
31.25kbps
S31R:
S31Q:
62.5kbps
S62R:
S62Q:
参考:設定用初期化プログラムは上記を用意しているが、
基板 SW で選択可能なものは、各端子に4種あり * を付けた。
24
I/O 処理
を行なう。
○インターバル
Mars Unit に使用されるデータ・フレームは自由であり、データ長の記載もありません。
データ無
データ1
データ無
データ2
データ無
データ3
データ無
伝送路信号
データ無のインターバル時間によって、データブロックの切れ目を判断します。
受信で
データ無し時間<受信インターバル時間
のとき、連続データとみなし、
データ無し時間>受信インターバル時間
のとき、データブロックの切れ目とみなします。
必ず、送信インターバル時間>受信インターバル時間
にします。
2stop_bit の RS-232C 通信線における信号は、2.4kbps の場合 4.5ms,19.2kbps の場合 0.57ms 毎に
1byte のデータが送信されます。従って、9.6kbps の場合 Marsit のOSでは、2ms の無信号が連続す
るインターバル時間でデータブロックの切れ目にできます。
しかし、パソコンではマルチタスク処理のためデータ送信時に 50∼60ms の未送信時間が存在しま
す。また、RS-232C の受信バッファデータをファイルに移すのに 100∼120ms 掛り、その間に受信デー
タ取りこぼしが生じます。更に、送受信を同時に行いますと、送信バッファ・受信バッファのファイ
ル交換に 200∼240ms 掛かります。これはOSの問題ですので RS-232C 通信速度に関係が殆どありま
せん。連続データの長さに関係し 250byte での測定値です。
よって、Marsit では不確定なパソコンと接続することを考慮し、ワークエリア INTV に記載するこ
とで、ユーザの所有するパソコンの利用に対応可能にします。
110ms÷452μs/loop=243loop(= F3H)
J3="0"
INTV
初期値
J3="1"
350ms÷452μs/loop=774loop(=306H)
受信
送信
受信
送信
80ms÷452μs/loop=177loop(= B1H)
243
774
177
376
170ms÷452μs/loop=376loop(=178H)
Marsit の1ループ時間は 113μs ですが、RS-232C 用は4周1アクセスで 113×4=452μs です。
Marsit 間の伝送路の場合は、受信=3loop, 送信=4loop のインターバル時間に設定します。
31.25kbps=320μs/byte が伝送路に UART 信号が連続して流れているとき、
メインループは、320μ÷113μ=2.8 周 即ち、2∼3周に1回データを受信できます。
従って、伝送路に UART 信号が連続して流れていても1∼2周はデータ受信無し状態が続きます。
受信時に、3周分のデータ無し状態が続くのは、
31.25kbps の信号状態で 3-(2.8-1)周 ⇒ 132μs のインターバル(UART の stop-start 間)が
生じるとき(4bit 時間分以上の隙間が空いたとき)になります。
88.3kbps の信号状態ならば 3-(120/113-1)周 ⇒ 332μs のインターバルが
生じるとき(2.7byte 時間分以上の隙間が空いたとき)になります。
31.25kbps の信号を受信して直ちに 83.3kbps で転送しても正しく連続データとみなせます。
なお、伝送路で 9.6kbps の場合は、9.6kbps でのデータをパケットとしてバッファに溜めてから、
高速伝送路に送出させ、正しく、データのブロックを検出します。
25
――
FIFOメモリのBIOS
――
Marsit Unit は、データ列の受信・転送・送信を行うのに、FIFO(first in first out)のメモリを作成
しました。なお、伝送路上のデータ・フレームは自由であり、データ長の記載もありません。
データ無
データ1
データ無
データ2
データ無
データ3
データ無
伝送路信号
例えば、伝送路信号列「データ1」「データ2」「データ3」を FIFO バッファに順次書込、
「デ
ータ1」「データ2」「データ3」を順次読出しまたは廃棄などの処理を BIOS で行います。
FIFO バッファの構造とシンボル
FIFO バッファ構造
シンボル
載
実際のメモリマップ
FAT テーブルに書込みや読出場所を記
xxFF
xxxxx0
xxFF は FIFO の名称
FAT テーブル
読出し
xxMM00
…
書込み
…
メモリに書込んだデータを
読出しで取出す
FIFO 領域
(データ保存領域)
xxNNFF
テーブルには、下記のフラグとアドレスが記憶されます。
フラグ :〔書込制御〕= 書込みプログラムを番号化して制御し、書込みデータの連続性を保証する。
:〔読出制御〕= 読出しプログラムを番号化して制御し、読出しデータの連続性を保証する。
パケット長:1つのブロックデータを2箇所に時間を変えて送信する場合があるので、データ保存領
域より小さい非固定パケット長とします。(500byte 以下であれば、パケット長は自由)
FAT テーブル
プログラム
リクエスト
WQ
RQ
FIFO 領域
上位1バイト
始
終
書込
NOP 数
Max Now
読出先頭
再読出
アドレス
判定
Index 管理
ACMadrs Data Max WID
RID
Index
ReadAD
No. 0
WriteAD
(If ACMadrs=0000h then 書込データが追突した)
Index
ReadAD
No. 1
WriteAD
Index
ReadAD
No. 2
Index
・
WriteAD
・
・
No. 8,12,20,64
ReadAD
WriteAD
(再読出判定の Data≠00h ならば、[ACMadrs]←Data, Data←00h として再読出可能にする)
FIFO 用 BIOS
RACM ブロックデータの先頭 ACM の最大4バイト分を汎用レジスタ R0∼R3 に読出す。
RINC 読出しデータを汎用レジスタ R0 に記入し、次の読出し番地を決める。(ブロック更新を含む)
WINC 汎用レジスタ R0 の値をバッファ FIFO 領域に書込む。
WNOP ブロックデータ書込中で書込むデータがない時に呼び出す。自動連続データ切目処理となる。
WEND 呼び出すと、連続データ切目処理が実行される。
26
BIOS の詳細
Index 管理に記載された WID 番号で、書込ブロック No. が示されます。
No.WID に該当するアドレス(Wad)に 1byte のデータを書込、アドレスを増加します。(CALL WINC)
なお、書込場所が読出開始場所(ACMadrs)に到達しますと、ACMadrs に 0000H を書込読出可能
なブロックデータが無効になったことを示します。
データ列の最終データを書込み後は、書込ブロック No. を1つ増加します。(CALL WEND)
書込ブロック No. の増加時、データ書込場所を4byte 単位で丸めギャップを作ります。なお、
データを決められた回数書込み不能の場合は、自動的にギャップを作成します。(CALL WNOP)
書込み済
読出開始で書込未追突アドレス
書込み中
未書込み
WID
=ACMadrs
データ書込みアドレス
No.WID-1
読出し方向
No.WID
No.WID+1
Rad
書込方向
Wad
No.RID-1
データ読出しアドレス
No.RID
No.RID+1
新規データ書込場所
ACM 読出し
読出済
読出中
RID
未読出
Index 管理に記載された RID 番号で、読出ブロック No. が示されます。
No.RID に該当するブロックデータ(アドレスは ACMadrs)の ACM を読出します。(CALL RACM)
なお、ACMadrs=0000H の場合は、RID を増加させ ACMadrs を正規の値にします。
No.RID に該当するアドレス(Rad)から1バイトのデータを読出します。(CALL INCR)
なお、ブロックデータ最後や書込打切りの場合はフラグで示し、新たな ACMadrs や RID を作成し
ます。但し、再読出 data≠00H の場合は、ACM←再読出 data, 再読出 data←00H になり、
複数の端子から同値データ送出が可能になる。
FIFO 用 BIOS の使い方
すべてのデータはレジスタ(Areg,8bit=R0∼R7,16bit=RW0∼RW7、但し RW3 はマルチタスクで使用)
に記入して
BIOS を呼び出します。BIOS からの戻りはレジスタおよびフラグに記載されます。
RACM:Ent,
R5←タスク番号
RW0←#FAT テーブル先頭
Exit, R0 ∼R3=RW4∼5=RL2←読出データ R4←有効な読出データ数(0∼4)
CY/NC=利用有効/無効(他のタスクが読出中) Z/NZ=データ有効/無効
RINC:Ent,
R5←タスク番号
Exit, R0←読出データ
RW0←#FAT テーブル先頭
CY/NC=利用有効/無効(他のタスクが読出中)
Z/NZ=データ有効/無効
WINC:Ent,
R5←タスク番号
N/P=データ連続中/データブロック終了
RW0←#FAT テーブル先頭
R0←書込データ
Exit, CY/NC=利用有効/無効(他のタスクが書込み中、以下同じ)
WNOP:Ent,
R5←タスク番号
RW0←#FAT テーブル先頭
Exit, CY/NC=利用有効/無効
WEND:Ent,
R5←タスク番号
Z/NZ=書込み済/書込不可
Z/NZ=強制終了完了/データ連続書込中
RW0←#FAT テーブル先頭
Exit, CY/NC=利用有効/無効
Z/NZ=実行完了/実行不可能
27
FIFO 用 BIOS プログラムの使用方法
データブロックの読出し
データブロックを書込む
CALL RACM
読出開始の決定
有
データ処理方法
判断データ不足
無
書込データ
CALL WINC
CALL RINC
YES
CALL WNOP
ブロック終了
処理中
フラグ判断
削除は読出のみ
転送はデータを書込む
データ連続で待機
NO
データ連続中
フラグ判断
CALL WEND
ブロック終了
(内部で
WEND を呼出し)
FIFO 用 BIOS プログラムのフロー
汎用レジスタ R0(1byte)の値を RW0 にて示され
る FIFO に記入する。
WINC:
; [[RW0]+]←R0
連続データ切目の検出処理。一定回数呼出され
Step1: ;該当 FIFO への書込権限の設定
ると、データブロック終了を行なう。
Step2: ;[[RW0]]←R0
WNOP:
Step3: ;次回の書込番地を1増加
; 連続データ列の自動終了判断
Step1: ;該当 FIFO の処理権限をチェック
;追突検出があれば FCLR へ
Step2: ;一定回数呼出されたかのチェック
;一定回数呼出されたならば強制終了
書込済データを1つのブロックとしてまとめ、
パケットにする。
WEND:
強制終了プログラム
; データのパケット化をする
Step1: ;該当 FIFO の処理権限をチェック
Step2: ;次回の書込番地を4byte 単位で決定
追突検出(ACMadrs=次書込アドレス)した時の処理
Step3: ; 書込 WID を1増加
FCLR: RACM の未実行では読出 RNXT へ
;追突検出があれば FCLR へ
RACM,RINC の実行中は ACMadrs←0000
汎用レジスタ R0(1byte)に RW0 にて示される
RID の1増加のサブルーチン
FIFO の記憶データを読出す。
RNXT: If WID=RID then ACMadrs←0000
RINC:
else Inc(RID) ACMadrs←先頭アドレス
; R0←[[RW0]+]
Step1: ;該当 FIFO への読出権限の設定
Step2: ;未読出データ無ならば Step5 へ
汎用レジスタ RL2(4byte)に RW0 にて示される
Step3
FIFO の記憶データをコピーする。
;R0←[[RW0]]
Step4: ;次回の読出番地を1増加,RET
RACM:
; R0,R1,R2,R3←[ACMadrs] R4←0∼4
Step5: ;FIFO に書込中ならば RET
Step1: ;該当 FIFO への読出権限のチェック
Step6: ;ACMadrs=0000 や再読出 data=00 の
Step2: ;ACMadrs=0000 の時 RNXT へ
判定で、
Step3: ;RL2←[[RW0]]
再読出ブロック作成、又は、RNXT へ
Step4: ;有効なデータ数を計算し R4 に記入
28
――
伝送路端子における状態遷移図
対応する COMB を bit 状況設定
――
76543210
L1/B1/B2/B3
"1"=出力 "0"=入力
ボーレート
"1"=トークン送出の依頼有り
受信トークンの送出を依頼する端子番号
初期は入力状態
緑 LED は 30ms 点灯
RCHK: 信号の到来待ち・緑 LED 消灯
誤り
トークン
宛先
主に出力状態
③時間受信無
有
SCKb: 送信予定データの有無
有
RDAn:
受信データ
処理
(赤 LED)
カウンタ③
RTK1:
Code=06H,47H,41H,09H
自己 COMB:1≠"1"の時
L,E の時 COMB:32 より
転送先の COMB:1←"1"
W の時 COMB:1←"1"
B の時
データ送出
(赤 LED)
全部廃棄
≠
=
端子を出力に
P13="0"で赤点灯
SIFT: B の時
(ノード削除)
次先に次々先
のデータ移動
次々先に自己
番号を記入
RCVA←送元番号
連続受信
端子を入力から出力に
"11"+自己番号送信
RTK7: インターバル時間待ち
CHK09: B の時
参入希望検索
ANS48 受信
STK2: B の時
B_Type+宛先
の送出
STK4: 全送出後 COMB:10←"00"
PtoP 型で
Bus 型の時 送信予定
データ有
RTK6:
時々実行
STK3: "11"+自己番号送信
送信予定データの有無
ACK コード(42H)送信
Code 表
L,E の時="06H"
W の時="47H"
B の時="41H"
参加検索="09H"
赤 LED 消灯ならば緑 LED 点灯
RTK4: COMB:0←"1"
無
No
STK1: Code(06H,41H,47H)の送出
RTK3: 受信 1byte
RTK5:
カウンタ②
SETO:
(STK1_41
の受信)
転送先の
COMB:1
←"1"
自己"1"除く
不連続
LED 点灯
トークン
正常:緑
故障:赤
データ
ユーザ:赤
system:無
Yes
L,E,W の時
カウンタ③
(Chk09 (Snd42
の受信) の受信)
ANS48: ACK42:
を送信
表記入
カウンタ③
COMB:1=?="1" or
②時間 token 未送
カウンタ②
受信=?=自己番号
連続データ
無
SCKc: 判定
SDAn:
RTK2: B の時
RDST:
次宛先
出力状態
SCKa: 転送予定データの有無
信号判定
データ
Bus 用 BTAD+0,+1
STK5: 端子を出力から入力に切替
タイマー起動=カウンタ①
STK6: ①時間内に受信信号の有無
SND42:送信
Code_42H
返信_送元
終番_次先
カウンタ②
無
赤 LED 点灯
緑 LED 消灯
タイムアップ
①②③は Token
消失対策の時間
29
有
赤 LED 消灯
受信
○バス型におけるトリガー・トークンの送受信
ネットワーク全体が分散管理システムであり、アクティブノード管理も分散させた。
巡回管理表:4種の番号が記載されている
自己番号=IDCT+0
次先番号=BTAD+0
次々先番号=BTAD+1
検索番号=BTAD+2
自己
宛先
10
25
37
11 ∼
25
37
43
26 ∼
37
43
10
38 ∼
各ノードは、自己∼次先 の範囲で新規参加を検索する。
43
10
25
44 ∼
ノード 31 の電源投入初期値は右表。
31
31
例:下の接続状態では、右の巡回管理表ができる
10
25
37
43
31
Bus 伝送路 ノード番号使用ビット数=6
ノードの新規参加/撤去に応じ、常に右表を作成する。
次宛先
検索
31
31
プログラムジョブ単位
STK2: B用トリガートークンの送出
自己≠次先
例 25
37
43
25 ∼
自己宛先でない場合
Code_41H−次先_37−自己_25
自己=次先
例 25
25
SND42: ACK41 の受信処理
25
25
37
37
25
43
何も送信しない
10
38 ∼
自己宛先の場合
Code_41H−次々先_37−自己_25
Snd_42−返送 25−終番_43
(37 はトークンを 保有する)
ACK42: Snd42 の受信処理
送元を次々先に記入
25
※1
37
43
26 ∼
※1 自己=次先 の時のみ実行する
SIFT: 無返事の処理
自己≠次先 の場合
送出前
25
自己=次先 の場合
37
43
25 ∼
ノード削除
処理後
25
送出前
25
37
+1
次ノード検索準備
25
43
25
25
処理後
25
25
25
38
25
(STK2: を再度行う)
CHK09: 新規参加ノードの検索
自己≠次先
例 25
25
37
43
31
ANS48: CHK09 の検索に参加希望を伝える
Code_09H−検索_31−代行_37
自己宛先でない場合
自己=次先 の場合は Code_41 を実行
自己宛先の場合は、巡回管理表を作成し
31
Ans48 の受信処理
検索先
25
31
37
何も送信しない
25
返答する
37
31
Ans_48−送元_31
を挿入する
なお、無受信の場合は、検索ノードを 自己∼宛先 の範囲で1増加
30
31
――
アプリケーション基板間の信号伝播
――
試作したアプリケーション基板はタイプ="0001"で、下記の様にスイッチ⇒リレーの信号伝播をさ
せた。
P52
スイッチの変化による動作
RS232C 端子
S1:通信宛先の RY2 が反転
S1
P53
S2
S3
P56
S4
P57
DSR
LED P47,46,45,44,43,42,41,40
Y4 Y3 Y2 Y1
P37,36,35,34,…,30
DTR
TXD
RXD
S2:通信宛先の RY1 が反転
S3:通信宛先の Y3 が反転
BIT 状態 ↑=1
P27,26,25,24,…,20
↓=0
S4:通信宛先の変化無
P64,P63
上記通信宛先の状態表示
宛先の Y3,RY1,RY2 が
セキュリテイ
宛先 B/中継 B
選択
P74
RY1
宛先 A/(自己)
P73
RY2
LED の Y3,Y2,Y1 に表示され
JS2,JS1
LED の Y4 が反転する
RS232C のインターバル時間調整
ACM 部の自動追加と削除
00:自己 LAN 内
00:中継1段上($77)+中継 B+宛先 A(0段兄弟の WAN)
01:1段上 WAN 迄
01:中継 B+宛先 A(1段上/下の WAN)
10:1段下 WAN 迄
10:S4="0"で宛先 B、S4="1"で宛先 A、
11:0段兄弟 WAN 迄
11:S4="0"で宛先 B、S4="1"で宛先 A のグループ
電力線通信の場合、電源投入時状態が自己アドレスになる
指示データ作成(スイッチ操作側)
指示データ作動(宛先側)
データ作成(スイッチ状況転送用)
受信 data 表示処理(7bit="0"の時)
data(7bit="0")
76543210
S1
S3
S2
S4
変化後の値
前2
前1
前4
前3
変化前の値
XOR 演算
"0"
XOR 演算
送信
作成 data 76543210
Y4 Y3 Y2 Y1
OR 演算
S4 変化は data="00000000"
LED の変化
返送データ作動(スイッチ操作側)
返送データ作成(宛先側)
受信 data 表示処理(7bit="1"の時)
RY1
リレーの変化
自動作成
データ作成(作動状態転送用)
data(7bit="1")
76543210
Y4 Y3 Y2 Y1
RY1
Y4 は XOR 演算
Y3,Y2,Y1 は転
Y4 Y3 Y2 Y1
送
RY1
RY2
返信
作成 data 76543210
RY2
"1"
転送
7bit="0"の表示処理後に自動作成
指示データおよび返送データをパソコンなどで作成して RS232C 端子で送信すること可能
31
RY2
5. 事業化目標を取り巻く環境変化
ホームネットワーク構築の研究は、1970年代から何度となく登場し、消え去る歴史が繰り返
されてきました。本委託研究の開始時においても、インターネットの発展によりユビキタス社会へ
突入すると考えられ、ホームネットワーク構築が大きくクローズアップされました。しかしながら、
我々の委託研究開発を除き、現在、ホームネットワークは情報家電(デジタル家電)やネット家電
の用語に刷り変わってきました。
○情報家電の技術
情報家電はTV・VTRなどの画像を中心とした高速系である。
イーサネット(富士ゼロックス社の登録商標:正式規格 IEEE802.3)の転送速度が、10Mbps か
ら 100Mbps になり、高速データ転送の信頼性が実証された。従って、高速データ転送を2つの家
電間で行う開発は、必ず成功するようになった。しかし、ホームネットワーク構築に適用する場合
は、現在の事務所で構築されているイーサネットLANと同等またはそれ以上の設備投資が必要と
なり、一般家庭に普及することは困難と考えられる。
○ネット家電の技術
ネット家電は低速系で白物家電とインターネットを結び付けるものである。即ち、ホームネット
ワーク家電ではなく、インターネットのプロトコル IPv4 や IPv6 を受信できる家電であり、互いの
家電同士を接続するホームネットワークではありません。現パソコンのインターネット通信機能を
白物家電にインストールする必要があり高価な白物家電しかネットワークに組込めないので、一般
家庭に普及することは困難と考えられる。
○本委託研究開発の技術
本研究は宅内の白物家電や住宅設備などの低速制御系のホームネットワーク構築に対応するもの
であり、ユーザにとっては、ネットサーバ不要な安価なシステムとしてメリットが高いと、殆どの
出張先から評価されました。また、本委託業務はホームネットワーク構築ユニットの研究開発であ
り、ホームネットワーク構築の運営においては、不良箇所の検出、セキュリティの確保、宅内の機
器間の相互接続など、多くの特徴があります。
ソフトウェア技術は、考え方のアルゴリズムや通信プロトコルの構成技術、及び、プログラミン
グ技術に大きく分けられます。
情報家電やネット家電と大きく違うところは、アルゴリズムの違いであり、IPv4 や IPv6 のイン
ターネット・イーサネット・トークンリング・トークンバス・デバイスネット・アドホックネット・
エコーネット・IO ネットなどと基本的な構成が異っています。
本研究開発として2年間を掛けて、今までのネットワークと異なるアルゴリズムから出発し、通
信プロトコルを完成させ、検証できるアプリケーション基板を試作しました。
○ダウンサイジングの技術
平成16年になって、富士通㈱から IPv4 や IPv6 のプロトコルを1チップμCPUに内蔵可能な
32 ビットLSIが発売されました。発売元であるLSI事業部に出張して、事業化について検討し
たところ、価格の点で既に普及している8ビットLSIで Marsit Unit を実現させることが、デファ
クト化になるとの結論に至りました。一家に一つの 32 ビットLSIでインターネットに接続し、家
庭内は安価な8ビットLSIでホームネットワーク構築するスタイルが理想とされました。勿論、
インターネット接続をしなくてもホームネットワーク構築ができます。
32
6. 総括
当該年度の技術目標値を達成するための課題と解決については、滞りなく完了しました。なお、前
年度のポイント・ツー・ポイントのネットワークと大きく異なるバス型のネットワークをも取り入れ
る目的で、コードを見直し全体の整合を図ったため、未来のユビキタス社会の創造に向けて前進する
ことができました。
解決方法の計画に関し、課題毎に分けて総括します。
■課題:ハードウェアによる試作
○
Marsit Unit の心臓部である1チップμCPU が搭載された基板の製作。
○
擬似家電品とACコードのみによって接続するアプリケーション基板の試作。
○
入出力接点および RS-232C 端子を有するアプリケーション基板の試作。
まとめ:
できるだけシンプルな過去の基礎技術を駆使する様な試作を試みました。実際には、設計上で
数個の抵抗を回路に盛り込むのが抜けましたが、217 個の試作品を製作する前に訂正したことに
より、安定した試作品が完成しました。
なお、電力線通信モジュールは 20 個製作し、擬似家電品として 100V 電灯をACコードのみ
の接続で、離れたところから ON/OFF の制御ができました。
電灯の ON/OFF 制御は、他の Marsit Node に実装された入力接点だけでなく、RS-232C による
パソコンからの制御や、RS-232C とUSB変換器を挿入することで、現在の汎用パソコンから
の制御やパソコン同士の通信も安定したネットワーク構築ができました。
■課題:ソフトウェアによる試作
○
前年度で得た開発用ICE(イン・サーキット・エミュレータ:ソフト開発試行)の利用技術で、μCPU
用プログラムを作成。
まとめ:
プログラミングは、前年度で得た開発用ICEの利用技術で行いました。
ソフトウェアは、プログラミング作業よりも設計思想が必要で、特に通信においては通信プロ
トコルを作成することが必要になります。一般のソフトウェア開発は、完成されている通信プロ
トコルに合わせて実現させることです。しかし、本研究開発は通信プロトコルを作成することで
あり、作成思想として新しいアルゴリズムを基にしています。従って、細部については、本研究
開発の独自性を発揮することで、多くの通信プロトコルを作成しました。
■課題:デモンストレーションによるデファクト化の推進
○
試作したユニットの接続によるホームネットワーク構築のデモンストレーション。
○
機能評価を試作ユニットにフィードバックして、デファクト化の推進。
まとめ:
ホームネットワーク構築の提案は、1970年代から何度となく登場し消え去って来ました。
遠隔操作を始め通信業界の従来の技術でも構築が可能なためです。例えば、原子力発電所内の
制御や無人の変電所などの技術を使えばできます。しかし、一般家庭に普及することはありま
せんでした。多くの企業訪問をした結果、主たるネットワークサーバがなくてもホームネット
ワーク構築できることや伝送路断線などのメンテナンスの簡略化が高く評価されましたが、最
後は、やはり製造原価を低減させることに尽きるとの感触を得ました。
33
今後の事業化への展開
本研究開発に着手した時の事業化計画は、ネットワーク構築企業および家電メーカなどの要望に
応じて、(1)基本アルゴリズムのソフトプログラム
(3)1チップμCPU を搭載した Marsit Unit
(2)プログラム内蔵の1チップμCPU 単体
(4)Marsit Unit とアプリケーション基板のセット
の4通りの販売を目指していました。
本研究開発は 16 ビットμCPUを利用したホームネットワーク構築ユニット Marsit Unit の研究
開発であり、一般家電機器および計器類の接続が可能です。16 ビットμCPUを使って 20∼31 ペ
ージに記載したような BIOS 作成方法を用いることで、既存の制御系のプログラミング手法である
トロンなどの手法やC言語を用いた場合より早い実行速度が得られました。
現在一般家庭にある電気機器、例えば、クーラー・TV・洗濯機・風呂設備・電子レンジ・冷蔵
庫・時計・シーリングライト・介護用機器など多くの機器は主に 8 ビットのμCPUを内蔵してい
ます。これらの機器をネットワーク接続する最少の追加部品は、17 ページに記載したモジュラー
6極4芯コネクタ2個、バッファ SP485 を2個、及び抵抗 10 個で済みます。これらの部品の価格
は、本研究開発時の購入額で合計 390 円です。この場合はμCPU内蔵機器のメーカーに通信プロ
トコルをライセンス供与して広くデファクト化する方法が有利です。一方μCPUを内蔵していな
い機器メーカには、今回開発の Marsit Unit を購入頂くことになります。Marsit Unit の製造原価は、
本研究開発の購入額から積算すると1台 8000 円ですが、デファクト化が進んで平成 20 年度に全
家庭の1%に普及するとすれば、ユニット販売台数が月産 50 万台で、量産効果により製品価格が
3000 円ほどになり、年商 180 億円が見込まれます。
動作速度の遅い8ビットμCPUによるユニットの実現性は、本研究開発で動作している3路の
伝送路および RS232C の異なる4種類の通信を同時に行うリアルタイム・タクト処理ではなく、エ
コノミータイプとして2路の伝送路方式、または 1 路の伝送路および RS232C 方式など、同時に
使える機能を 2 種類の通信に限定することで理論上可能と考えられます。従って、今後は Marsit
の通信プロトコルを移植するエコノミータイプの研究開発を早期に実施して検証し、通信プロトコ
ルの供与が必要であることを申し上げます。
現在、ユビキタス社会の到来にともないエンドユーザーの立場に立ったホームネットワークの活
用方法の提案が求められている状況にあると思われます。
34