(57)【要約】【課題】オープンプロトコルを採用した場合でも、データの機密性を向上させることができるシリアル通信システムを提供する。【解決手段】第１の通信装置（１）と第２の通信装置（２）との間でデータを逐次的に送受信するシリアル通信システム（１００）であって、第１の通信装置と第２の通信装置とは、それぞれ、所与のシード値に基づいて乱数を発生する乱数発生器（１−１１、２−１１）と、この乱数発生器が発生した乱数に基づいて通信速度を決定する通信条件決定部（１−１２、２−１２）とを備え、第１の通信装置の乱数発生器（１−１１）と第２の通信装置の乱数発生器（２−１１）とは、同一のシード値に基づいて、互いに同期して乱数を発生し、第１の通信装置の通信条件決定部（１−１２）と第２の通信装置の通信条件決定部（２−１２）とは、乱数発生器（１−１１、２−１１）がそれぞれ発生した乱数に基づいて、それぞれ共通の規則に則って通信速度を決定する。【選択図】  図１
2019118012.tif 000002
【特許請求の範囲】
【請求項１】
第１の通信装置と第２の通信装置との間でデータを逐次的に送受信するシリアル通信システムであって、
前記第１の通信装置と前記第２の通信装置とは、それぞれ、
所与のシード値に基づいて乱数を発生する乱数発生器と、
この乱数発生器が発生した乱数に基づいて通信速度を決定する通信条件決定部と、
データを相手装置に送信する送信回路と、
前記相手装置からデータを受信する受信回路と、
前記通信条件決定部によって決定された通信速度でデータを送信または受信するように前記送信回路と前記受信回路を制御する通信制御回路と
を備え、
前記第１の通信装置の前記乱数発生器である第１の乱数発生器と前記第２の通信装置の前記乱数発生器である第２の乱数発生器とは、同一のシード値に基づいて、互いに同期して乱数を発生し、
前記第１の通信装置の前記通信条件決定部である第１の通信条件決定部と前記第２の通信装置の前記通信条件決定部である第２の通信条件決定部とは、前記第１の乱数発生器と前記第２の乱数発生器とがそれぞれ発生した乱数に基づいて、それぞれ共通の規則に則って通信速度を決定する
ことを特徴とするシリアル通信システム。
【請求項２】
請求項１に記載されたシリアル通信システムにおいて、
前記第１の通信条件決定部と前記第２の通信条件決定部とは、前記第１の乱数発生器と前記第２の乱数発生器とがそれぞれ発生した乱数に基づいて、それぞれ通信速度およびこの通信速度でデータを送受信する通信時間を決定し、
前記第１の通信装置の前記通信制御回路である第１の通信制御回路と前記第２の通信装置の前記通信制御回路である第２の通信制御回路とは、決定された前記通信時間の間、前記通信速度でデータを送受信するように、それぞれ前記第１の通信装置の前記送信回路および前記受信回路と前記第２の通信装置の前記送信回路および前記受信回路とを制御することを特徴とするシリアル通信システム。
【請求項３】
請求項２に記載されたシリアル通信システムにおいて、
前記第１の通信装置の前記乱数発生器と前記第２の通信装置の前記乱数発生器とは、それぞれ、前記通信時間が経過するまでに新たな乱数を発生し、
前記第１の通信条件決定部と前記第２の通信条件決定部とは、前記新たな乱数に基づいて前記通信時間が経過する毎に前記通信速度および前記通信時間を更新することを特徴とするシリアル通信システム。
【請求項４】
請求項１に記載されたシリアル通信システムにおいて、
前記第１の通信条件決定部は、前記第１の通信装置が前記第２の通信装置に対してデータを送信すると、前記第１の乱数発生器が発生した新たな乱数に基づいて前記通信速度を更新し、
前記第２の通信条件決定部は、前記第２の通信装置が前記第１の通信装置からデータを受信すると、前記第２の乱数発生器が発生した新たな乱数に基づいて前記通信速度を更新し、
前記第１の通信装置の前記通信制御回路である第１の通信制御回路は、前記第２の通信装置に対して所定の通信速度でデータを送信するように前記第１の通信装置の前記送信回路を制御する一方、前記データを送信した後に、前記第１の通信条件決定部が更新した新たな通信速度で前記第２の通信装置からの応答を受信するように前記第１の通信装置の前記受信回路を制御し、
前記第２の通信装置の前記通信制御回路である第２の通信制御回路は、前記第１の通信装置から受信したデータに対する応答を、前記第２の通信条件決定部が更新した新たな通信速度で送信するように前記送信回路を制御することを特徴とするシリアル通信システム。
【請求項５】
請求項１乃至４のいずれか１項に記載されたシリアル通信システムにおいて、
前記第１の通信装置および前記第２の通信装置とは、それぞれ、電源の供給が開始されてから所定の時間が経過するまでの間は、互いに所定の共通する通信速度でデータを送受信することを特徴とするシリアル通信システム。
【請求項６】
所与のシード値に基づいて乱数を発生する乱数発生器と、
この乱数発生器が発生した乱数に基づいて通信速度を決定する通信条件決定部と、
データを相手装置に送信する送信回路と、
前記相手装置からデータを受信する受信回路と、
前記通信条件決定部によって決定された通信速度でデータを送信または受信するように前記送信回路と前記受信回路を制御する通信制御回路と
を備えたシリアル通信装置。
【請求項７】
請求項６に記載されたシリアル通信装置において、
前記通信条件決定部は、前記乱数発生器が発生した乱数に基づいて、通信速度およびこの通信速度でデータを送受信する通信時間を決定し、
前記通信制御回路は、前記通信条件決定部によって決定された前記通信時間の間、前記通信速度でデータを送受信するように前記送信回路と前記受信回路とを制御する
ことを特徴とするシリアル通信装置。
【請求項８】
請求項７に記載されたシリアル通信装置において、
前記乱数発生器は、前記通信時間が経過するまでに新たな乱数を発生し、
前記通信条件決定部は、前記通信時間が経過する毎に、前記新たな乱数に基づいて前記通信速度および前記通信時間を更新する
ことを特徴とするシリアル通信装置。
【請求項９】
請求項６に記載されたシリアル通信装置において、
前記通信条件決定部は、前記送信回路によってデータを送信すると、前記乱数発生器が発生した新たな乱数に基づいて前記通信速度を更新し、
前記通信制御回路は、前記送信回路によって前記データを送信した後に、前記通信条件決定部が更新した新たな通信速度でデータを受信するように前記受信回路を制御することを特徴とするシリアル通信装置。
【請求項１０】
請求項６に記載されたシリアル通信装置において、
前記通信条件決定部は、前記受信回路によってデータを受信すると、前記乱数発生器が発生した新たな乱数に基づいて前記通信速度を更新し、
前記通信制御回路は、前記受信回路が受信した前記データに対する応答を、前記通信条件決定部が更新した新たな通信速度で送信するように前記送信回路を制御することを特徴とするシリアル通信装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、シリアル通信システムおよび通信装置に関する。
【背景技術】
【０００２】
従来より、ビルディング管理やファクトリオートメーションの機器制御システムにおける通信には、２つの機器を接続する伝送路を使用してデータを1ビットずつ連続的に送受信するシリアル通信が用いられている。このようなシリアル通信には、かつてはベンダーごとに独自の伝送方式やプロトコルが用いられていたが、今日では、市場のニーズがベンダー独自の伝送方式からオープンなものへと移行しており、ビルディング制御システムにおいても、ＢＡＣｎｅｔ  ＭＳ／ＴＰやＭＯＤＢＵＳ（登録商標）等のオープンシリアル通信プロトコルが使用されるようになっている（例えば、特許文献１）。
【０００３】
ところで、空調制御コントローラ等の制御機器にあっては、より高度な制御を実現するために様々な工夫が凝らされており、制御機器に付加価値を与える有益なデータ（例えば、バルブアクチュエータの通電時間、動作時間、動作量、動作回数、反復回数など）は、限られた関係者のみがアクセスできるようにしたいという要請がある。伝送方式やプロトコルがベンダー独自のものである場合には、第三者にデータを傍受される可能性は極めて低く、データの機密性が保証されていた。
【０００４】
しかしながら、オープンプロトコルを採用した場合には、オープンになっているデータ読み込みサービスを利用してこれらの情報に容易にアクセスでき、また、通信メッセージを傍受して解読することも可能となるため、データの機密性を担保することが難しくなっている。
【先行技術文献】
【特許文献】
【０００５】
【特許文献１】特許第５８０５８４４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００６】
そこで、本発明は、オープンプロトコルを採用した場合でも、データの機密性を向上させることができるシリアル通信システムを提供することを目的とする。
【課題を解決するための手段】
【０００７】
上述した目的を達成するために、本発明に係るシリアル通信システムは、第１の通信装置（１、４）と第２の通信装置（２、５）との間でデータを逐次的に送受信するシリアル通信システム（１００、２００）であって、前記第１の通信装置と前記第２の通信装置とは、それぞれ、所与のシード値に基づいて乱数を発生する乱数発生器（１−１１、２−１１、４−１１、５−１１）と、この乱数発生器が発生した乱数に基づいて通信速度を決定する通信条件決定部（１−１２、２−１２、４−１２、５−１２）と、データを相手装置に送信する送信回路（１−１４、２−１４、４−１４、５−１４）と、前記相手装置からデータを受信する受信回路（１−１５、２−１５、４−１５、５−１５）と、前記通信条件決定部によって決定された通信速度でデータを送信または受信するように前記送信回路と前記受信回路を制御する通信制御回路（１−１３、２−１３、４−１３、５−１３）とを備え、前記第１の通信装置の前記乱数発生器である第１の乱数発生器（１−１１、４−１１）と前記第２の通信装置の前記乱数発生器である第２の乱数発生器（２−１１、５−１１）とは、同一のシード値に基づいて、互いに同期して乱数を発生し、前記第１の通信装置の前記通信条件決定部である第１の通信条件決定部（１−１２、４−１２）と前記第２の通信装置の前記通信条件決定部である第２の通信条件決定部（２−１２、５−１２）とは、前記第１の乱数発生器（１−１１、４−１１）と前記第２の乱数発生器（２−１１、５−１１）とがそれぞれ発生した乱数に基づいて、それぞれ共通の規則に則って通信速度を決定することを特徴とする。
【０００８】
本発明に係るシリアル通信システムにおいては、前記第１の通信条件決定部（１−１２）と前記第２の通信条件決定部（２−１２）とは、前記第１の乱数発生器（１−１１）と前記第２の乱数発生器（２−１１）とがそれぞれ発生した乱数に基づいて、それぞれ通信速度およびこの通信速度でデータを送受信する通信時間を決定し、前記第１の通信装置の前記通信制御回路である第１の通信制御回路（１−１３）と前記第２の通信装置の前記通信制御回路である第２の通信制御回路（２−１３）とは、決定された前記通信時間の間、前記通信速度でデータを送受信するように、それぞれ前記第１の通信装置の前記送信回路（１−１４）および前記受信回路（１−１５）と前記第２の通信装置の前記送信回路（２−１４）および前記受信回路（２−１５）とを制御するようにしてもよい。
【０００９】
ここで、前記第１の通信装置の前記乱数発生器（１−１１）と前記第２の通信装置の前記乱数発生器（２−１１）とは、それぞれ、前記通信時間が経過するまでに新たな乱数を発生し、前記第１の通信条件決定部（１−１２）と前記第２の通信条件決定部（２−１２）とは、前記新たな乱数に基づいて前記通信時間が経過する毎に前記通信速度および前記通信時間を更新するようにしてもよい。
【００１０】
また、本発明に係るシリアル通信システムにおいて、前記第１の通信条件決定部（４−１２）は、前記第１の通信装置（４）が前記第２の通信装置（５）に対してデータを送信すると、前記第１の乱数発生器（４−１１）が発生した新たな乱数に基づいて前記通信速度を更新し、前記第２の通信条件決定部（５−１２）は、前記第２の通信装置が前記第１の通信装置からデータを受信すると、前記第２の乱数発生器（５−１１）が発生した新たな乱数に基づいて前記通信速度を更新し、前記第１の通信装置の前記通信制御回路である第１の通信制御回路（４−１３）は、前記第２の通信装置に対して所定の通信速度でデータを送信するように前記第１の通信装置の前記送信回路（４−１４）を制御する一方、前記データを送信した後に、前記第１の通信条件決定部（４−１２）が更新した新たな通信速度で前記第２の通信装置からの応答を受信するように前記第１の通信装置の前記受信回路（４−１５）を制御し、前記第２の通信装置の前記通信制御回路である第２の通信制御回路（５−１３）は、前記第１の通信装置から受信したデータに対する応答を、前記第２の通信条件決定部（５−１２）が更新した新たな通信速度で送信するように前記送信回路（５−１４）を制御するようにしてもよい。
【００１１】
また、本発明に係るシリアル通信システムにおいて、前記第１の通信装置（１）および前記第２の通信装置（２）とは、それぞれ、電源の供給が開始されてから所定の時間が経過するまでの間は、互いに所定の共通する通信速度でデータを送受信するようにしてもよい。
【００１２】
また、本発明に係るシリアル通信装置（１、２、４、５）は、所与のシード値に基づいて乱数を発生する乱数発生器（１−１１、２−１１、４−１１、５−１１）と、この乱数発生器が発生した乱数に基づいて通信速度を決定する通信条件決定部（１−１２、２−１２、４−１２、５−１２）と、データを相手装置に送信する送信回路（１−１４、２−１４、４−１４、５−１４）と、前記相手装置からデータを受信する受信回路（１−１５、２−１５、４−１５、５−１５）と、前記通信条件決定部によって決定された通信速度でデータを送信または受信するように前記送信回路と前記受信回路を制御する通信制御回路（１−１３、２−１３、４−１３、５−１３）とを備えている。
【００１３】
上述したシリアル通信装置（１、２）において、前記通信条件決定部（１−１２、２−１２）は、前記乱数発生器（１−１１、２−１１）が発生した乱数に基づいて、通信速度およびこの通信速度でデータを送受信する通信時間を決定し、前記通信制御回路（１−１３、２−１３）は、前記通信条件決定部（１−１２、２−１２）によって決定された前記通信時間の間、前記通信速度でデータを送受信するように前記送信回路（１−１４、２−１４）と前記受信回路（１−１５、２−１５）とを制御するようにしてもよい。
【００１４】
このとき、上記シリアル通信装置（１、２）において、前記乱数発生器（１−１１、２−１１）は、前記通信時間が経過するまでに新たな乱数を発生し、前記通信条件決定部（１−１２、２−１２）は、前記通信時間が経過する毎に、前記新たな乱数に基づいて前記通信速度および前記通信時間を更新するようにしてもよい。
【００１５】
また、上述したシリアル通信装置（４）において、前記通信条件決定部（４−１２）は、前記送信回路（４−１４）によってデータを送信すると、前記乱数発生器（４−１１）が発生した新たな乱数に基づいて前記通信速度を更新し、前記通信制御回路（４−１３）は、前記送信回路（４−１４）によって前記データを送信した後に、前記通信条件決定部（４−１２）が更新した新たな通信速度でデータを受信するように前記受信回路（４−１５）を制御するようにしてもよい。
【００１６】
また、上述したシリアル通信装置（５）において、前記通信条件決定部（５−１２）は、前記受信回路（５−１５）によってデータを受信すると、前記乱数発生器（５−１１）に発生した新たな乱数に基づいて前記通信速度を更新し、前記通信制御回路（５−１３）は、前記受信回路（５−１５）が受信した前記データに対する応答を、前記通信条件決定部（５−１２）が更新した新たな通信速度で送信するように前記送信回路（５−１４）を制御するようにしてもよい。
【発明の効果】
【００１７】
本発明によれば、乱数に基づいて通信速度を変更するので、シリアル通信におけるデータの機密性を担保することが可能となる。
【図面の簡単な説明】
【００１８】
【図１】図１は、本発明の第１の実施の形態に係るシリアル通信システムの構成を説明する図である。
【図２Ａ】図２Ａは、第１の実施の形態に係るシリアル通信システムにおける通信装置の通信条件決定部の構成例を示す図である。
【図２Ｂ】図２Ｂは、第１の実施の形態に係るシリアル通信システムにおける通信装置の通信条件決定部の構成例を示す図である。
【図３】図３は、第１の実施の形態に係るシリアル通信システムにおける通信装置の構成を説明する図である。
【図４】図４は、第１の実施の形態に係るシリアル通信システムにおける通信装置の動作を説明するフローチャートである。
【図５】図５は、第１の実施の形態に係るシリアル通信システムの構成を説明する図である。
【図６】図６は、第１の実施の形態に係るシリアル通信システムの動作を説明するシーケンス図である。
【図７】図７は、本発明の第２の実施の形態に係るシリアル通信システムの構成を説明する図である。
【図８】図８は、第２の実施の形態に係るシリアル通信システムにおけるマスターの構成を説明する図である。
【図９】図９は、第２の実施の形態に係るシリアル通信システムにおけるスレーブ装置の構成を説明する図である。
【図１０】図１０は、第２の実施の形態に係るシリアル通信システムにおけるマスターの動作を説明するフローチャートである。
【図１１】図１１は、第２の実施の形態に係るシリアル通信システムにおけるスレーブ装置の動作を説明するフローチャートである。
【図１２】図１２は、第２の実施の形態に係るシリアル通信システムの動作を説明するシーケンス図である。
【発明を実施するための形態】
【００１９】
以下に本発明の実施の形態について、図面を参照して説明する。
［第１の実施の形態］
本発明の第１の実施の形態に係るシリアル通信システムの構成を図１乃至図３に示す。本実施の形態に係るシリアル通信システム１００は、伝送路３によって互いに接続された第１の通信装置１と第２の通信装置２との間でデータを逐次的に送受信するシリアル通信システムである。
【００２０】
図１に示すように、第１の通信装置１と第２の通信装置２とは、それぞれ、所与のシード値に基づいて乱数を発生する乱数発生器１−１１、２−１１と、この乱数発生器が発生した乱数に基づいてボーレート値を決定する通信条件決定部１−１２、２−１２と、データを相手装置（第１の通信装置１にとっては第２の通信装置２、第２の通信装置２にとっては第１の通信装置１）に送信する送信回路１−１４、２−１４と、相手装置からデータを受信する受信回路１−１５、２−１５と、それぞれの通信条件決定部１−１２、２−１２によって決定されたボーレート値でデータを送信または受信するように各送信回路１−１４、２−１４と各受信回路１−１５、２−１５をそれぞれ制御する通信制御回路１−１３、２−１３とを備えている。
また、第１の通信装置１と第２の通信装置２とは、それぞれ、例えば、センサを含む制御装置その他の情報処理装置（図示せず。）から与えられたり、外部から受信して復調したりしたデータを一時記憶するレジスタ１−１６、２−１６を備えている。
【００２１】
本実施の形態に係るシリアル通信システムにおいては、通信速度を表す値として、デジタルデータをアナログデータに変換し、アナログ回線でシリアル転送する際の単位として用いられる「ボーレート値」を用いる。
【００２２】
ここで、第１の通信装置１の乱数発生器（第１の乱数発生器）１−１１と第２の通信装置２の乱数発生器（第２の乱数発生器）２−１１は、いずれも、それぞれ与えられたシード値ｎに基づいて確定的な計算によって求められる擬似乱数列による乱数（疑似乱数）を発生する疑似乱数発生器である。第１の乱数発生器１−１１と第２の乱数発生器２−１１にそれぞれ同じシード値ｎを設定して初期状態を同じにすることによって、これら２つの乱数発生器１−１１、２−１１は同一の疑似乱数列を生成する。したがって、両者を互いに同期させる、すなわち、同じタイミングで同じシード値の乱数を生成させることによって、乱数として同一の値を得ることができる。
なお、このような乱数発生器は、デジタル回路を用いてハードウェア的に実装することもできるが、演算装置とコンピュータプログラムとによってソフトウェア的に実現してもよい。
【００２３】
第１の通信条件決定部１−１２と第２の通信条件決定部２−１２とは、第１の乱数発生器１−１１と第２の乱数発生器２−１１とがそれぞれ発生した乱数に基づいて、それぞれ共通の規則に則ってボーレート値を決定する。ここでいう「規則」とは、乱数発生器１−１１、２−１１が発生した乱数の値とあらかじめ用意されたボーレート値の候補との関係である。これを第１の通信条件決定部１−１２を例に説明するならば、次のようになる。
【００２４】
例えば、ボーレート値の選択候補として、８つのボーレート値が用意されている場合には、疑似乱数列の範囲をボーレート値の候補の数と同じ８つに区切り、乱数の各区間に対してボーレート値の候補を対応づけたテーブルを用意する。具体的には、図２Ａに示すように、第１の通信条件決定部１−１２は、乱数発生器１−１１が発生する乱数を０乃至７のいずれかの整数に変換する関数を実行する演算回路１−１２−１と、あらかじめ用意されたボーレート値の候補、例えば、［１２００，２４００，４８００，９６００，１９２００，３８４００，７６８００，１１５２００］をこれら０乃至７の整数と対応付けて記憶したテーブル１−１２−２を備えている。
【００２５】
ここで演算回路１−１２−１は、引数の整数部分を返す関数“Ｉｎｔ（）”に、乱数発生器１−１１によって生成された乱数の値“Ｒｎｄ（ｎ）”に“８”を乗じた値を与えることで、０乃至７の何れかの整数を出力する。ただし、乱数発生器１−１１がシード値ｎに基づいて生成する疑似乱数列｛Ｒｎｄ（ｎ）｝の範囲が０より大きく１以下（０，１］であるとする。第１の通信条件決定部１−１２は、テーブル１−１２−２を参照して、演算回路１−１２−１から出力される０乃至７のいずれかの整数に対応するボーレート値を出力する。なお、演算回路１−１２−１は、論理回路の組み合わせによって専用回路として実現することもできるが、汎用の演算処理回路とコンピュータプログラムとによって実現することもできる。
以上が第１の通信条件決定部１−１２の構成例であるが、第２の通信条件決定部２−１２も同様の構成を有している。
【００２６】
本実施の形態においては、第１の通信条件決定部１−１２と第２の通信条件決定部２−１２とは、ボーレート値に加え、そのボーレート値でデータを送受信する時間、すなわち通信時間を、第１の乱数発生器１−１１と第２の乱数発生器２−１１とがそれぞれ発生した乱数に基づいてそれぞれ決定する。これを第１の通信条件決定部１−１２を例に説明するならば、次のようになる。
【００２７】
上述したボーレート値の場合と同様に、例えば、通信時間の選択候補として、４つの通信時間が用意されている場合には、疑似乱数列の範囲を通信時間の候補の数と同じ４つに区切り、乱数の各区間に対して通信時間の候補を対応づけたテーブルを用意する。具体的には、図２Ｂに示すように、第１の通信条件決定部１−１２は、乱数発生器１−１１が発生する乱数を０乃至３のいずれかの整数に変換する関数、すなわち、“Ｉｎｔ（４＊Ｒｎｄ（ｎ））”を実行する演算回路１−１２−３と、あらかじめ用意された通信時間の候補、例えば、［１，５，１０，３０］をこれら０乃至３の整数と対応付けて記憶したテーブル１−１２−４を備えている。
このような構成を有することによって、第１の通信条件決定部１−１２は、テーブル１−１２−４を参照して、演算回路１−１２−３から出力される０乃至３のいずれかの整数に対応する通信速度を出力する。
以上が第１の通信条件決定部１−１２の構成例であるが、第２の通信条件決定部２−１２も同様の構成を有している。
【００２８】
第１の通信装置１の送信回路１−１４および受信回路１−１５と、第２の通信装置２の送信回路２−１４および受信回路２−１５とは、それぞれ、例えば、伝送路３に接続されたモデムである。これらの送信回路１−１４、２−１４および受信回路１−１５、２−１５は、例えば、位相変調方式によってデジタルデータをアナログデータに変換して送受信する。
【００２９】
第１の通信装置１の通信制御回路１−１３と第２の通信装置２の通信制御回路２−１３は、専用のハードウェアで構成することもできるが、汎用の演算装置とプログラムとで実現することもできる。
【００３０】
次に、図３および図４を参照して、第１の通信装置１の動作を説明する。なお、乱数発生器１−１１には、あらかじめシード値ｎが設定されているものとする。このシード値ｎは、第２の通信装置２の乱数発生器２−１１に設定されたシード値と同じ値である。また、通信条件決定部１−１２には、図２Ａおよび図２Ｂを参照して説明したテーブル１−１２−２、１−１２−４があらかじめ用意されているものとする。これらのテーブル１−１２−２、１−１２−４と同一のテーブルが、第２の通信装置２の通信条件決定部２−１２にも用意されている。
【００３１】
第１の通信装置１は、電源が投入されると（Ｓ１０：Ｙｅｓ）、装置の動作が安定するまで所定の時間（Ｘ秒）が経過するのを待ち、電源投入からＸ秒が経過したら（Ｓ１２：Ｙｅｓ）、通信を開始する。通信するにあたっては、まず、乱数発生器１−１１が決定性アルゴリズムによる確定的な計算によって、擬似乱数列を構成する値を算出する（Ｓ１１）。この値が、乱数発生器１−１１が発生した乱数となる。乱数を発生すると、通信条件決定部１−１２は、その値に基づいてボーレート値と通信時間とを設定する（Ｓ１３）。通信制御回路１−１３は、通信条件決定部１−１２によって決定された通信時間の間は、通信条件決定部１−１２によって決定されたボーレート値で送受信を行うように送信回路１−１４と受信回路１−１５とを制御する（Ｓ１４）。その間、レジスタ１−１６に一時記憶されたデータは、送信回路１−１４によって所定のボーレート値でアナログデータに変換（変調）されて伝送路３に送出される一方、受信回路１−１５によって伝送路３から受信され所定のボーレート値で復調されたデータは、レジスタ１−１６に一時記憶される。
【００３２】
乱数発生器１−１１は、通信条件決定部１−１２が決定した通信時間が経過するまでに新たな乱数を発生し、通信条件決定部１−１２は、この新たな乱数に基づいて新たなボーレート値と通信時間とを決定する。本実施の形態においては、通信制御回路１−１３が通信時間を管理し、現在の通信時間が経過するより所定の時間（Ｙ秒）前に乱数発生器１−１１に新たな乱数の発生を指示する（Ｓ１６）。そして、現在の通信時間が経過したら（Ｓ１７：Ｙｅｓ）、通信を終了しない限り（Ｓ１８：Ｎｏ）、新たな乱数に基づいて新たなボーレート値および通信時間を設定して（Ｓ１３）、シリアル通信によるデータの送受信を行う（Ｓ１４）。このようにして通信時間が経過する毎にボーレート値および通信時間を更新してデータを送受信する。
【００３３】
次に、本実施の形態に係るシリアル通信システムの動作を、図５および図６を参照して説明する。図５に示すように、本実施の形態に係るシリアル通信システム１００は、第１の通信装置１がマスターとなり、複数の第２の通信装置２−１、２−２、・・・、２−Ｎと通信するマスター・スレーブ型のシリアル通信システムである。
本実施の形態においては、マスターとなる第１の通信装置１の電源と、スレーブとなる第２の通信装置２−１、２−２、・・・、２−Ｎの電源とが同一であるものとする。
【００３４】
まず、時刻「Ａ」に電源が投入されると、各装置が一斉に立ち上がり、電源投入からＸ秒が経過するまでに、マスターとなる第１の通信装置１は、スレーブとなる第２の通信装置２−１、２−２、・・・、２−Ｎのそれぞれと、予め決められたボーレート値（例えば、９６００ｂｐｓ）でメッセージを送受信してお互いを認識する。
【００３５】
電源投入からＸ秒が経過した時刻「Ｂ」に、各通信装置は、乱数発生器が発生する乱数に基づいて、ボーレート値と通信時間を設定する。このとき、第１の通信装置１およびＮ台の第２の通信装置２−１、２−２、・・・、２−Ｎにおいて、いずれの乱数発生器にも同一のシード値が与えられ、いずれの通信条件決定部にも同一のテーブルが用意されているので、ボーレート値と通信時間とは各通信装置間で同じ値となる。図６に示す例によれば、最初の変更後のボーレート値および通信時間は、それぞれ１２００ｂｐｓおよび３０秒である。したがって、シリアル通信システム１００を構成する第１の通信装置１と第２の通信装置２−１、２−２、・・・、２−Ｎとは、その後３０秒間は、ボーレート値１２００ｂｐｓでデータの送受信を行うことができる。
【００３６】
時刻「Ｂ」から３０秒後の時刻「Ｃ」において、第１の通信装置１およびＮ台の第２の通信装置２−１、２−２、・・・、２−Ｎは、各装置の乱数発生器が発生する乱数の値と通信条件決定部に用意されたテーブルに基づいて、ボーレート値および通信時間を変更する。図６に示す例によれば、時刻「Ｃ」においてボーレート値は、それまでの１２００ｂｐｓから７６８００ｂｐｓに変更される。また、このボーレート値での通信時間は１秒が選択される。上述した理由により、このボーレート値と通信時間は、第１の通信装置１およびＮ台の第２の通信装置２−１、２−２、・・・、２−Ｎに共通である。
【００３７】
時刻「Ｃ」から１秒が経過すると、再び第１の通信装置１およびＮ台の第２の通信装置２−１、２−２、・・・、２−Ｎは、各装置の乱数発生器が発生する乱数の値と通信条件決定部に用意されたテーブルに基づいて、ボーレート値および通信時間を選択し、時刻「Ｄ」でこれらを変更する。図６に示す例によれば、時刻「Ｄ」においてボーレート値は３８４００ｂｐｓに、通信時間は１０秒にそれぞれ変更される。
【００３８】
このように、本実施の形態に係るシリアル通信システムにおいては、各通信装置が共通のシード値に基づいて、互いに同期して乱数を発生し、それぞれ発生した乱数に基づいて、それぞれテーブルに規定された共通の規則に則ってボーレート値と通信速度を決定する。したがって、シリアル通信システムを構成する通信装置１、２−１、２−２、・・・２−Ｎは、ほぼ同時に同じボーレート値と通信時間とに変更するので、互いにデータの送受信が可能になる一方、変更されたボーレート値を外部からは把握することは極めて困難であるため、オープンプロトコルを採用した場合でも、データの機密性を向上させることができる。
【００３９】
［第２の実施の形態］
次に、本発明の第２の実施の形態について、図７乃至図１２を参照して説明する。
図７に示すように、第２の実施の形態に係るシリアル通信システム２００は、第１の通信装置４をマスターとし、複数の第２の通信装置５−１、５−２、・・・、５−Ｎをスレーブとするマスター・スレーブ型のシリアル通信システムである点、および乱数に基づいてボーレート値を変更する点で、上述した第１の実施の形態と同様である。しかしながら、第１の実施の形態に係るシリアル通信システム１００は、各通信装置が共通の電源に接続されていることを前提として、ボーレート値および通信時間を乱数に基づいて変更したのに対し、本実施の形態に係るシリアル通信システム２００は、各通信装置が同一の電源に接続されていることを前提とせず、また、マスターからのリクエストメッセージにスレーブが応答する時のボーレート値を変更することを特徴とする。
【００４０】
まず、マスターとなる第１の通信装置４の構成は次のとおりである。
図８に示すように、第１の通信装置４は、所与のシード値に基づいて乱数を発生する乱数発生器４−１１と、この乱数発生器が発生した乱数に基づいてボーレート値を決定する通信条件決定部４−１２と、データを相手装置、すなわち、スレーブとなる第２の通信装置５−１、５−２、・・・、５−Ｎに伝送路３を介して送信する送信回路４−１４と、スレーブとなる第２の通信装置５−１、５−２、・・・、５−Ｎからデータを受信して復調する受信回路４−１５と、通信条件決定部４−１２によって決定されたボーレート値でデータを受信するように各送信回路１−１４、２−１４と各受信回路１−１５、２−１５をそれぞれ制御する通信制御回路１−１３、２−１３とを備えている。また、第１の通信装置４は、例えば、センサを含む制御装置その他の情報処理装置（図示せず。）から与えられたり、外部から受信して復調したデータを一時記憶するレジスタ４−１６を備えている。
【００４１】
このうち、乱数発生器４−１１は、与えられたシード値に基づいて確定的な計算によって求められる擬似乱数列による乱数（疑似乱数）を発生する疑似乱数発生器であるが、本実施の形態においては、スレーブとなる第２の通信装置５−１、５−２、・・・、５−Ｎに対応してユニークなＮ個（Ｎは３以上の自然数。）のシード値ｎ１、ｎ２、・・・、ｎＮが与えられている。Ｎ個のシード値をユニークなものとするために、例えば、第２の通信装置５−１、５−２、・・・、５−Ｎのアドレスをシード値ｎ１、ｎ２、・・・、ｎＮとしてもよい。
このような乱数発生器４−１１は、通信を行おうとする第２の通信装置５−ｉに対応してシード値をその都度変更してもよいが、第２の通信装置５−１、５−２、・・・、５−Ｎに対応して複数個設けるようにしてもよい。
【００４２】
通信条件決定部４−１２は、あらかじめ用意されたボーレート値の候補、例えば、［１２００，２４００，４８００，９６００，１９２００，３８４００，７６８００，１１５２００］をこれら０乃至７の整数と対応付けて記憶したテーブルを備えている。通信条件決定部４−１２は、第１の実施の形態において説明した通信条件決定部１−１２（図２Ａ参照。）と同様に、乱数の値Ｒｎｄ（ｎｉ）を０乃至７のいずれかの整数に変換する関数Ｉｎｔ（８＊Ｒｎｄ（ｎｉ））と、これらの整数とボーレート値の候補とを対応づけたテーブルを備えている。したがって、乱数発生器４−１１が発生した乱数の値に応じて０乃至７の整数をインデックスとして、テーブルを参照してボーレート値を決定することができる。
【００４３】
送信回路４−１４は、レジスタ４−１６に一時記憶されたデータを、所定のボーレート値（例えば、９６００ｂｐｓ）でアナログデータに変換して伝送路３に送出する。
受信回路４−１５は、スレーブとなる第２の通信装置５−１、５−２、・・・、５−Ｎからアナログ信号を受信して、通信条件決定部４−１２によって決定されたボーレート値でデジタルデータに復調する。
【００４４】
通信制御回路４−１３は、第２の通信装置５−ｉに対して所定のボーレート値でデータを送信するように送信回路４−１４を制御する一方、データを送信した後に通信条件決定部４−１２が更新した新たな通信速度で第２の通信装置５−ｉからの応答を受信するように受信回路４−１５を制御する。また、通信制御回路４−１３は、送信回路４−１４からいずれかの第２の通信装置５−ｉ（ｉは１以上Ｎ以下の整数。以下、任意の第２の通信装置を「５−ｉ」で表すことがある。）にメッセージを送信したとき、乱数発生器４−１１に、この第２の通信装置５−ｉに対応するシード値ｎｉに基づく乱数の値を、決定性アルゴリズムによる確定的な計算によって算出させる。その結果、通信条件決定部４−１２は、第１の通信装置４が第２の通信装置５−ｉに対してデータを送信すると、乱数発生器４−１１が発生した新たな乱数に基づいてボーレート値を更新する。
【００４５】
一方、スレーブとなる第２の通信装置５−ｉの構成は次のとおりである。
図９に示すように、第２の通信装置５−ｉは、所与のシード値ｎｉに基づいて乱数を発生する乱数発生器５−１１と、この乱数発生器が発生した乱数に基づいてボーレート値を決定する通信条件決定部５−１２と、データを第１の通信装置４に送信する送信回路５−１４と、第１の通信装置４からデータを受信する受信回路５−１５と、通信条件決定部５−１２によって決定されたボーレート値でデータを送信するように送信回路５−１４を制御する通信制御回路５−１３とを備えている。また、第２の通信装置５−ｉは、例えば、センサを含む制御装置その他の情報処理装置（図示せず。）から与えられたデータや、外部から受信して復調したデータを一時記憶するレジスタ５−１６を備えている。
【００４６】
ここでも乱数発生器５−１１は、与えられたシード値に基づいて確定的な計算によって求められる擬似乱数列による乱数（疑似乱数）を発生する疑似乱数発生器である。乱数発生器５−１１の所与のシード値ｎｉは、他の第２の通信装置の乱数発生器に与えられたシード値とは異なる値である。このシード値ｎｉは、第１の通信装置の乱数発生器４−１１にも与えられている。
通信条件決定部５−１２は、第１の通信装置４の通信条件決定部４−１２と同様に、乱数の値Ｒｎｄ（ｎｉ）を０乃至７のいずれかの整数に変換する関数Ｉｎｔ（８＊Ｒｎｄ（ｎｉ））と、これらの整数とボーレート値の候補とを対応づけたテーブルを備えている。また、通信条件決定部５−１２は、第２の通信装置５−ｉが第１の通信装置４からデータを受信すると、乱数発生器５−１１が発生した乱数に基づいてボーレート値を更新する。
【００４７】
送信回路５−１４は、レジスタ４−１６に一時記憶されたデータを、通信条件決定部５−１２によって決定されたボーレート値でアナログデータに変換して伝送路３に送出する。
受信回路５−１５は、マスターとなる第１の通信装置４からアナログ信号を受信して、所定のボーレート値（例えば、９６００ｂｐｓ）でデジタルデータに復調する。
【００４８】
通信制御回路５−１３は、送信回路５−１４および受信回路５−１５を制御して、マスターとなる第１の通信装置４とのデータの送受信を行う。本実施の形態においては、この通信制御回路５−１３は、受信回路５−１５が第１の通信装置４からリクエストメッセージを受信したとき、乱数発生器５−１１に乱数の値を算出させる。その結果、通信条件決定部５−１２が新たな乱数の値に基づいてボーレート値を更新するので、通信制御回路５−１３は、マスターとなる第１の通信装置４から受信したリクエストメッセージに対する応答を、通信条件決定部５−１２が更新した新たなボーレート値で送信するように送信回路５−１４を制御する。
【００４９】
次に、マスターとなる第１の通信装置４およびスレーブとなる第２の通信装置５−ｉそれぞれの動作について図１０および図１１を参照して説明する。
まず、第１の通信装置４は、図１０に示すように、電源が投入されると（Ｓ２０：Ｙｅｓ）、スレーブとなる第２の通信装置５−１、５−２、・・・、５−Ｎとの同期を確立する。具体的には、所定のボーレート値（例えば、９８００ｂｐｓ）でスレーブとなる第２の通信装置５−１、５−２、・・・、５−Ｎに対して順番にメッセージを送信して（Ｓ２１）応答を待つ（Ｓ２２）。このとき、受信回路４−１５のボーレート値は、所定のボーレート値（例えば、９８００ｂｐｓ）である。第２の通信装置５−ｉから応答を受信しなければ（Ｓ２２：Ｎｏ）、次の周期で再度メッセージを送信して（Ｓ２１）応答を待つ（Ｓ２２）。第２の通信装置５−ｉから応答を受信することができれば（Ｓ２２：Ｙｅｓ）、第２の通信装置５−ｉとの同期が確立される。これ以降は、スレーブとなる第２の通信装置５−ｉにメッセージを送信する毎に、乱数発生器４−１１が発生する乱数に基づいて受信のためのボーレート値を変更する。
【００５０】
すなわち、第１の通信装置４は、第２の通信装置５−ｉに所定のボーレート値でメッセージを送信すると（Ｓ２３）、乱数発生器４−１１にシード値ｎｉに基づいて乱数を発生させ（Ｓ２４）、この乱数の値に応じたボーレート値を設定し（Ｓ２５）、このボーレート値で応答を受信する（Ｓ２６）。
通信を続ける場合（Ｓ２７：Ｎｏ）は、次のスレーブとなる他の第２通信装置のとの同期が確立されていれば（Ｓ２８：Ｙｅｓ）、ステップＳ２３に戻り、その他の第２通信装置に対して所定のボーレート値でメッセージを送信し（Ｓ２３）、同期が確立されていなければ（Ｓ２８：Ｎｏ）、ステップＳ２１に戻り、所定のボーレート値でメッセージを送信して（Ｓ２１）、同期を確立する。
【００５１】
一方、スレーブとなる第２の通信装置５−ｉの動作を図１１に示す。
第２の通信装置５−ｉは、電源が投入されると（Ｓ３０：Ｙｅｓ）、マスターとなる第１の通信装置４からのメッセージを所定のボーレート値（例えば、９８００ｂｐｓ）で待つ（Ｓ３１）。このメッセージを受信したときに（Ｓ３１：Ｙｅｓ）、第１の通信装置４に対して所定のボーレート値（例えば、９８００ｂｐｓ）で応答することによって（Ｓ３２）、同期が確立される。
【００５２】
同期が確立された後は、マスターとなる第１の通信装置４からメッセージを受信するたびに（Ｓ３３：Ｙｅｓ）、乱数を発生し（Ｓ３４）、この乱数の値に応じたボーレート値を設定し（Ｓ３５）、このボーレート値で応答を送信する（Ｓ３６）。以後、このステップＳ３３からステップＳ３６の手順を、通信を終了するまで（Ｓ３７：Ｙｅｓ）繰り返す。
【００５３】
次に、本実施の形態に係るシリアル通信システム２００の動作を、図１２を参照して説明する。
まず、マスターとなる第１の通信装置４とスレーブ１となる第２の通信装置５−１とは、それぞれ電源が投入されると、時刻「Ｇ」においてマスターからスレーブ１にメッセージが所定のボーレート値（例えば、９８００ｂｐｓ）でスレーブ１に送信される。このメッセージに対してスレーブ１は、所定の共通のボーレート値（例えば、９８００ｂｐｓ）で応答して、マスターとスレーブ１との間の同期を確立する。その後は、マスターとスレーブ１との間では、マスターからスレーブ１に対してメッセージを所定のボーレート値で送信し、このメッセージに対する応答を、それぞれ共通の乱数の値に基づいて決定されたボーレート値で送受信する。例えば、時刻「Ｊ」において、マスターからスレーブ１にボーレート値９６００ｂｐｓでメッセージが送信されると、マスターおよびスレーブ１のボーレート値がそれぞれ変更されて、スレーブ１からマスターへの応答は、ボーレート値７６８００ｂｐｓで送受信される。
【００５４】
また、マスターとなる第１の通信装置４とスレーブＮとなる第２の通信装置５−Ｎとは、スレーブＮの電源投入後の時刻「Ｉ」において、マスターからスレーブ１にボーレート値９６００ｂｐｓでメッセージが送信され、このメッセージに対してスレーブＮは、所定の共通のボーレート値（例えば、９８００ｂｐｓ）で応答して、マスターとスレーブＮとの間の同期を確立する。その後は、マスターとスレーブＮとの間では、マスターからスレーブＮに対してメッセージを所定のボーレート値（例えば、９８００ｂｐｓ）で送信し、このメッセージに対する応答を、それぞれ共通の乱数の値に基づいて決定されたボーレート値で送受信する。例えば、時刻「Ｌ」において、マスターからスレーブＮにボーレート値９６００ｂｐｓでメッセージが送信されると、マスターおよびスレーブＮのボーレート値がそれぞれ変更されて、スレーブＮからマスターへの応答は、ボーレート値４８００ｂｐｓで送受信される。
【００５５】
一方、スレーブ２については、時刻「Ｈ」の時点でも電源は投入されていない。したがって、例えば時刻「Ｈ」の時点でマスターがスレーブ２にメッセージを送信しても、電源が投入されていないスレーブ２からは応答はない。所定の時間内に応答が得られない場合には、他のスレーブ、例えば、スレーブＮに対してメッセージを送信する。図１２において、マスターとスレーブ２との同期が確立されるのは、スレーブ２の電源が投入された後にマスターがメッセージを送信する時刻「Ｋ」以降となる。
【００５６】
すなわち、マスター（第１の通信装置４）とスレーブ２（第２の通信装置５−２）とは、スレーブ２の電源投入後の時刻「Ｋ」において、マスターからスレーブ２にボーレート値９６００ｂｐｓでメッセージが送信され、このメッセージに対して、スレーブ２は、所定の共通のボーレート値（例えば、９８００ｂｐｓ）で応答することによって、マスターとスレーブ２との間の同期を確立する。その後は、マスターとスレーブ２との間では、マスターからスレーブ２に対してメッセージを所定のボーレート値（例えば、９８００ｂｐｓ）で送信し、このメッセージに対する応答を、それぞれ共通の乱数の値に基づいて決定されたボーレート値で送受信する。例えば、時刻「Ｍ」において、マスターからスレーブ２にボーレート値９６００ｂｐｓでメッセージが送信されると、マスターおよびスレーブ２のボーレート値がそれぞれ変更されて、スレーブ２からマスターへの応答は、ボーレート値１９２００ｂｐｓで送受信される。
【００５７】
以上のように、本実施の形態においては、マスターとスレーブの電源が同一ではない場合でも、同期確立後は、マスターからのメッセージを送信する毎に、スレーブｉはマスターに応答を送信する際のボーレート値を、マスターは、スレーブｉから応答を受信する際のボーレート値を、乱数の値に基づいて変更するので、オープンプロトコルを採用した場合でも、データの機密性を向上させることができる。
【符号の説明】
【００５８】
１００、２００…シリアル通信システム、１、４…第１の通信装置（マスター）、２、５…第２の通信装置、１−１１、２−１１、４−１１、５−１１…乱数発生器、１−１２、２−１２、４−１２、５−１２…通信条件決定部、１−１３、２−１３、４−１３、５−１３…通信制御回路、１−１４、２−１４、４−１４、５−１４…送信回路、１−１５、２−１５、４−１５、５−１５…受信回路、１−１６、２−１６、４−１６、５−１６…レジスタ、３…伝送路。
【図１】
2019118012.tif 000003
【図２Ａ】
2019118012.tif 000004
【図２Ｂ】
2019118012.tif 000005
【図３】
2019118012.tif 000006
【図４】
2019118012.tif 000007
【図５】
2019118012.tif 000008
【図６】
2019118012.tif 000009
【図７】
2019118012.tif 000010
【図８】
2019118012.tif 000011
【図９】
2019118012.tif 000012
【図１０】
2019118012.tif 000013
【図１１】
2019118012.tif 000014
【図１２】
2019118012.tif 000015