図面 (/)

技術 シリアル通信システム、通信制御装置および電子装置

出願人 ルネサスエレクトロニクス株式会社
発明者 吉田洋一
出願日 2014年11月13日 (6年1ヶ月経過) 出願番号 2014-230697
公開日 2016年5月26日 (4年7ヶ月経過) 公開番号 2016-095629
状態 特許登録済
技術分野 情報転送方式 入出力制御 小規模ネットワーク(3)ループ,バス以外 小規模ネットワーク2:バス方式
主要キーワード データ格納用レジスタ モータモジュール 掃除用ロボット ホスト制御装置 シャーシ基板 変動パラメータ IFモジュール 差動バス
関連する未来課題
重要な関連分野

この項目の情報は公開日時点(2016年5月26日)のものです。
また、この項目は機械的に抽出しているため、正しく解析できていない場合があります

図面 (20)

課題

システム構成を柔軟または容易に変更可能なシリアル通信システムを提供する。

解決手段

例えば、モータモジュールMDLm[1]は、第1および第2シリアルバスに接続された際に、第1信号を第2シリアルバスBS2[1]へ送信する。次いで、モータモジュールMDLm[1]は、候補となるアドレスを含んだ第1命令を第1シリアルバスBS1[1]へ送信しながら、当該第1命令に対する肯定応答を受信しないアドレスを探索する。そして、モータモジュールMDLm[1]は、探索結果となるアドレスを第2シリアルバスへ送信する。一方、制御ユニットTLUは、第1信号を受信した際に、第1シリアルバスとの間の通信を停止するスリープ状態遷移し、探索結果となるアドレスを第2シリアルバスから受信する。

概要

背景

特許文献1には、取り外し可能なスレーブユニットの中のどのスレーブユニットがI2C(Inter-IntegratedCircuit)バスに接続されているかを動的に決定する方式が示されている。具体的には、マイクロ制御装置は、スレーブユニットの各型式と、その各アドレスとの関係を表すテーブルを予め保持している。マイクロ制御装置は、当該テーブルに基づいて各アドレスを含んだ命令を、順次、I2Cバスに送信し、スレーブユニットからの応答の有無に応じて、スレーブユニットの存在有無を認識する。

概要

システム構成を柔軟または容易に変更可能なシリアル通信システムを提供する。例えば、モータモジュールMDLm[1]は、第1および第2シリアルバスに接続された際に、第1信号を第2シリアルバスBS2[1]へ送信する。次いで、モータモジュールMDLm[1]は、候補となるアドレスを含んだ第1命令を第1シリアルバスBS1[1]へ送信しながら、当該第1命令に対する肯定応答を受信しないアドレスを探索する。そして、モータモジュールMDLm[1]は、探索結果となるアドレスを第2シリアルバスへ送信する。一方、制御ユニットTLUは、第1信号を受信した際に、第1シリアルバスとの間の通信を停止するスリープ状態遷移し、探索結果となるアドレスを第2シリアルバスから受信する。

目的

効果

実績

技術文献被引用数
1件
牽制数
0件

この技術が所属する分野

ライセンス契約や譲渡などの可能性がある特許掲載中! 開放特許随時追加・更新中 詳しくはこちら

請求項1

第1および第2シリアルバスと、前記第1および第2シリアルバスに結合され、アドレスを含んだ第1命令を前記第1シリアルバスへ送信する制御ユニットと、それぞれ、前記第1および第2シリアルバスに着脱可能であり、前記第1および第2シリアルバスに接続された状態で自身のアドレスを含んだ前記第1命令を前記第1シリアルバスから受信した場合に、肯定応答を前記第1シリアルバスへ送信する複数の電子装置と、を備え、前記複数の電子装置のそれぞれは、前記第1および第2シリアルバスに接続された際に、第1信号を前記第2シリアルバスへ送信する第1処理と、前記第1信号を送信したのち、候補となるアドレスを含んだ前記第1命令を前記第1シリアルバスへ送信しながら、当該第1命令に対する前記肯定応答を受信しないアドレスを探索する第2処理と、前記第2処理の探索結果となるアドレスを前記第2シリアルバスへ送信する第3処理と、を実行し、前記制御ユニットは、前記第1信号を受信した際に、前記第1シリアルバスとの間の通信を停止するスリープ状態遷移し、前記探索結果となるアドレスを前記第2シリアルバスから受信する、シリアル通信システム

請求項2

請求項1記載のシリアル通信システムにおいて、前記複数の電子装置のそれぞれは、前記第1命令を前記第1シリアルバスへ送信する命令送信部と、前記第1命令を前記第1シリアルバスから受信する命令受信部と、を備え、前記制御ユニットは、前記第1命令を前記第1シリアルバスへ送信する命令送信部を備え、前記第1命令を前記第1シリアルバスから受信する命令受信部を備えない、シリアル通信システム。

請求項3

請求項2記載のシリアル通信システムにおいて、前記第1シリアルバスは、I2C規格に基づくI2Cバスであり、前記複数の電子装置のそれぞれは、前記I2C規格上のマスタ状態スレーブ状態の両方で動作可能であり、前記制御ユニットは、前記I2C規格上のマスタ状態のみで動作可能である、シリアル通信システム。

請求項4

請求項3記載のシリアル通信システムにおいて、前記複数の電子装置のそれぞれは、前記第2処理において、前記第1信号を前記第2シリアルバスへ送信したのち、前記マスタ状態で動作するためのスタートコンディションを前記第1シリアルバスへ送信し、自身が前記マスタ状態となった場合に前記アドレスの探索を行い、前記制御ユニットは、前記第1信号を受信した場合には、前記スリープ状態に遷移し、前記探索結果となるアドレスの受信を完了した場合には、前記スリープ状態から復帰し、前記スタートコンディションを前記第1シリアルバスへ送信する、シリアル通信システム。

請求項5

請求項3記載のシリアル通信システムにおいて、前記複数の電子装置のそれぞれは、前記第3処理において、前記探索結果となるアドレスを前記第2シリアルバスへ送信すると共に、当該アドレスの送信タイミングと同期して、前記第1シリアルバスに含まれるクロック配線クロック信号を送信し、前記制御ユニットは、前記クロック配線から受信した前記クロック信号に同期して、前記探索結果となるアドレスを前記第2シリアルバスから1ビットずつ受信する、シリアル通信システム。

請求項6

請求項1記載のシリアル通信システムにおいて、前記シリアル通信システムは、さらに、前記第1および第2シリアルバスを複数備え、前記制御ユニットは、前記複数の第1シリアルバスにそれぞれ結合される複数の第1シリアルインタフェースと、前記複数の第2シリアルバスにそれぞれ結合される複数の第2シリアルインタフェースと、を備え、前記複数の第1シリアルインタフェースの少なくとも一部は、前記第1命令を前記第1シリアルバスへ送信する命令送信部を備え、前記第1命令を前記第1シリアルバスから受信する命令受信部を備えない、シリアル通信システム。

請求項7

請求項6記載のシリアル通信システムにおいて、前記制御ユニットは、前記複数の電子装置のそれぞれに対して、前記複数の電子装置をそれぞれ識別する装置識別子を含んだ第2命令を発行するホスト制御装置と、前記ホスト制御装置との間で通信を行うホストインタフェースと、前記複数の第1および第2シリアルインタフェースと、アドレス管理用メモリと、を備える通信制御装置と、を有し、前記アドレス管理用メモリは、前記装置識別子と、前記複数の第1シリアルバスをそれぞれ識別するバス識別子と、当該バス識別子で識別される前記第1シリアルバス内でのアドレスと、の対応関係を保持し、前記通信制御装置は、前記ホスト制御装置から前記第2命令を受信した際に、前記アドレス管理用メモリの対応関係に基づいて、所定のアドレスを含んだ前記第1命令を所定の前記第1シリアルバスへ送信し、前記探索結果となるアドレスを前記第2シリアルバスから受信した際に、当該アドレスを前記アドレス管理用メモリに登録する、シリアル通信システム。

請求項8

請求項1記載のシリアル通信システムにおいて、前記第2シリアルバスは、1本のGPIOバスである、シリアル通信システム。

請求項9

請求項1記載のシリアル通信システムにおいて、前記第2シリアルバスは、差動データ伝送する差動バスである、シリアル通信システム。

請求項10

第1および第2シリアルバスに着脱が可能な複数の電子装置を前記第1シリアルバスを介して制御する通信制御装置であって、前記第1シリアルバスに前記複数の電子装置が接続された状態で、前記複数の電子装置のいずれかのアドレスを含んだ第1命令を前記第1シリアルバスへ送信することで当該電子装置を制御する第1シリアルインタフェースと、前記第2シリアルバスに前記複数の電子装置が接続された状態で、前記複数の電子装置のいずれかからの信号を受信する第2シリアルインタフェースと、前記第1および第2シリアルインタフェースを制御する制御部と、を有し、前記複数の電子装置のそれぞれは、前記第1および第2シリアルバスに接続された際に、第1信号を前記第2シリアルバスへ送信したのち、前記第1シリアルバスを用いて自身で使用可能なアドレスを探索し、当該探索結果となるアドレスを前記第2シリアルバスへ送信し、前記通信制御装置は、前記第1信号を受信した際に、前記第1シリアルバスとの間の通信を停止するスリープ状態に遷移し、前記探索結果となるアドレスを前記第2シリアルバスから受信する、通信制御装置。

請求項11

請求項10記載の通信制御装置において、前記第1シリアルインタフェースは、前記第1命令を前記第1シリアルバスへ送信する命令送信部を備え、前記第1命令を前記第1シリアルバスから受信する命令受信部を備えない、通信制御装置。

請求項12

請求項11記載の通信制御装置において、前記第1シリアルバスは、I2C規格に基づくI2Cバスであり、前記第1シリアルインタフェースは、前記I2C規格上のマスタ状態のみで動作可能であり、前記制御部は、前記第2シリアルインタフェースで前記第1信号を受信した場合には、前記第1シリアルインタフェースを前記スリープ状態に遷移させ、前記第2シリアルインタフェースで前記探索結果となるアドレスの受信を完了した場合には、前記スリープ状態から復帰し、前記マスタ状態で動作するためのスタートコンディションを前記第1シリアルインタフェースを介して前記第1シリアルバスへ送信する、通信制御装置。

請求項13

請求項11記載の通信制御装置において、前記第1および第2シリアルインタフェースは、それぞれ、複数の前記第1および第2シリアルバスにそれぞれ対応して複数設けられ、前記複数の第1シリアルインタフェースの少なくとも一部は、前記命令送信部を備え、前記命令受信部を備えない、通信制御装置。

請求項14

請求項13記載の通信制御装置において、前記通信制御装置は、さらに、ホスト制御装置との間で通信を行うホストインタフェースと、アドレス管理用メモリと、を備え、前記ホスト制御装置は、前記複数の電子装置のそれぞれに対して、前記複数の電子装置をそれぞれ識別する装置識別子を含んだ第2命令を発行し、前記アドレス管理用メモリは、前記装置識別子と、前記複数の第1シリアルバスをそれぞれ識別するバス識別子と、当該バス識別子で識別される前記第1シリアルバス内でのアドレスと、の対応関係を保持し、前記制御部は、前記ホスト制御装置から前記第2命令を受信した際に、前記アドレス管理用メモリの対応関係に基づいて、所定のアドレスを含んだ前記第1命令を所定の前記第1シリアルインタフェースを介して前記第1シリアルバスへ送信し、前記探索結果となるアドレスを前記第2シリアルバスから受信した際に、当該アドレスを前記アドレス管理用メモリに登録する、通信制御装置。

請求項15

請求項10記載の通信制御装置において、前記第2シリアルバスは、1本のGPIOバスである、通信制御装置。

請求項16

第1および第2シリアルバスに着脱が可能な電子装置であって、前記第1シリアルバスに接続された状態で、アドレスを含んだ第1命令を前記第1シリアルバスから受信し、当該アドレスが自身のアドレスの場合に、肯定応答を前記第1シリアルバスへ送信する第1シリアルインタフェースと、前記第2シリアルバスへ信号を送信する第2シリアルインタフェースと、前記第1および第2シリアルインタフェースを制御する制御部と、を備え、前記制御部は、前記第1および第2シリアルバスに接続された際に、第1信号を前記第2シリアルインタフェースを介して前記第2シリアルバスへ送信する第1処理と、前記第1信号を送信したのち、候補となるアドレスを含んだ前記第1命令を、前記第1シリアルインタフェースを介して前記第1シリアルバスへ送信しながら、当該第1命令に対する前記肯定応答を受信しないアドレスを探索する第2処理と、前記第2処理の探索結果となるアドレスを前記第2シリアルインタフェースを介して前記第2シリアルバスへ送信する第3処理と、を実行する、電子装置。

請求項17

請求項16記載の電子装置において、前記第1シリアルインタフェースは、前記第1命令を前記第1シリアルバスへ送信する命令送信部と、前記第1命令を前記第1シリアルバスから受信する命令受信部と、を備える、電子装置。

請求項18

請求項17記載の電子装置において、前記第1シリアルバスは、I2C規格に基づくI2Cバスであり、前記第1シリアルインタフェースは、前記I2C規格上のマスタ状態とスレーブ状態の両方で動作可能であり、前記制御部は、前記第2処理において、前記第1信号を前記第2シリアルバスへ送信したのち、前記マスタ状態で動作するためのスタートコンディションを前記第1シリアルインタフェースを介して前記第1シリアルバスへ送信し、自身が前記マスタ状態となった場合に前記アドレスの探索を行う、電子装置。

請求項19

請求項18記載の電子装置において、前記制御部は、前記第3処理において、前記探索結果となるアドレスを前記第2シリアルバスへ送信すると共に、当該アドレスの送信タイミングと同期して、前記第1シリアルインタフェースを介して前記第1シリアルバスに含まれるクロック配線にクロック信号を送信する、電子装置。

請求項20

請求項16記載の電子装置において、前記第1および第2シリアルインタフェースと、前記制御部とは、同一の半導体チップ上に形成され、前記電子装置は、前記半導体チップが実装される配線基板と、前記配線基板に実装され、一端に前記第2シリアルバスが結合され、他端に固定電圧が供給される外部スイッチと、を備え、前記第2シリアルインタフェースは、前記外部スイッチのオンオフを制御することで、前記第1信号の送信と前記探索結果となるアドレスの送信を行う、電子装置。

技術分野

0001

本発明は、シリアル通信システム通信制御装置および電子装置に関し、例えば、シリアルバスにおけるプラグアンドプレイの方式に関する。

背景技術

0002

特許文献1には、取り外し可能なスレーブユニットの中のどのスレーブユニットがI2C(Inter-IntegratedCircuit)バスに接続されているかを動的に決定する方式が示されている。具体的には、マイクロ制御装置は、スレーブユニットの各型式と、その各アドレスとの関係を表すテーブルを予め保持している。マイクロ制御装置は、当該テーブルに基づいて各アドレスを含んだ命令を、順次、I2Cバスに送信し、スレーブユニットからの応答の有無に応じて、スレーブユニットの存在有無を認識する。

先行技術

0003

特表2002−534734号公報

発明が解決しようとする課題

0004

例えば、ロボット等の制御を担う制御システムは、通常、モータモジュールセンサモジュール等といった各種被制御モジュール(電子装置)を多数用いて構成される。具体的な構成として、例えば、マイクロコンピュータ等の制御ユニットと各種被制御モジュールとをシリアルバスで接続し、制御ユニットがシリアルバスを介して各種被制御モジュールを制御するような方式が挙げられる。シリアルバスには、例えば、広く普及しているI2Cバス等を用いることができる。

0005

このような制御システムでは、例えば、開発段階において、シリアルバスに接続する各種被制御モジュールの組合せを変更したり、あるいは、開発後において、シリアルバスに接続する被制御モジュールを新規に追加して機能拡張を図ったり、といったように、システム構成を柔軟に変更可能であることが望まれる。加えて、システム構成を容易に変更可能であることも望まれる。例えば、被制御モジュールをシリアルバスに接続する度に、ユーザに複雑な設定作業等を要求するような方式では、システム構成を容易に変更することが困難となる。

0006

システム構成を容易に変更可能にするためには、プラグアンドプレイ機能を用いることが有益となる。I2Cバスでプラグアンドプレイ機能を実現する場合、例えば、特許文献1のような方式を用いることが考えられる。ただし、特許文献1の方式は、接続が想定される被制御モジュールの型式やアドレスを予めテーブルに保持しておき、このテーブルに定めた範囲内において、被制御モジュールの着脱を可能にする技術である。このように、着脱可能な被制御モジュールに制限が加わると、プラグアンドプレイ機能が不十分となり、システム構成の変更に際し、柔軟性が低下する恐れがある。

0007

また、I2Cバスには、アドレス空間(例えば7ビット)等で定まる数の被制御モジュールを接続できるが、実際上は、各被制御モジュールを所定の制御周期内に制御する必要があるため、接続可能な被制御モジュール数に制約が生じる。このように、実際上の被制御モジュール数に制約が生じることでも、システム構成の変更に際し、柔軟性が低下する。

0008

後述する実施の形態は、このようなことを鑑みてなされたものであり、その他の課題と新規な特徴は、本明細書の記述及び添付図面から明らかになるであろう。

課題を解決するための手段

0009

一実施の形態によるシリアル通信システムは、第1および第2シリアルバスと、制御ユニットと、複数の電子装置と、を備える。制御ユニットは、第1および第2シリアルバスに結合され、アドレスを含んだ第1命令を第1シリアルバスへ送信する。複数の電子装置は、それぞれ、第1および第2シリアルバスに着脱可能であり、第1および第2シリアルバスに接続された状態で自身のアドレスを含んだ第1命令を第1シリアルバスから受信した場合に、肯定応答を第1シリアルバスへ送信する。ここで、複数の電子装置のそれぞれは、第1〜第3処理を実行する。当該電子装置は、第1処理において、第1および第2シリアルバスに接続された際に、第1信号を第2シリアルバスへ送信する。当該電子装置は、第2処理において、第1信号を送信したのち、候補となるアドレスを含んだ第1命令を第1シリアルバスへ送信しながら、当該第1命令に対する肯定応答を受信しないアドレスを探索する。当該電子装置は、第3処理において、第2処理の探索結果となるアドレスを第2シリアルバスへ送信する。一方、制御ユニットは、第1信号を受信した際に、第1シリアルバスとの間の通信を停止するスリープ状態遷移し、探索結果となるアドレスを第2シリアルバスから受信する。

発明の効果

0010

前記一実施の形態によれば、シリアル通信システムにおいて、システム構成を柔軟または容易に変更可能になる。

図面の簡単な説明

0011

本発明の実施の形態1よるシリアル通信システムにおいて、その概略構成例を示す回路ブロック図である。
I2Cバスでのデータフォーマットの一例を示す概略図である。
図1のシリアル通信システムにおいて、プラグアンドプレイの動作方法の一例を示す説明図である。
図3に続く動作方法の一例を示す説明図である。
図4に続く動作方法の一例を示す説明図である。
図1のシリアル通信システムにおいて、プラグアンドプレイの動作方法の他の一例を示す説明図である。
図6に続く動作方法の一例を示す説明図である。
図7に続く動作方法の一例を示す説明図である。
図1のシリアル通信システムを適用した車両型ロボットの模式的な構成例を示す外形図である。
本発明の実施の形態2による通信制御装置において、その主要部の構成例を示すブロック図である。
本発明の実施の形態2による電子装置において、その主要部の構成例を示すブロック図である。
図11の電子装置において、フルI2Cインタフェース周りの主要部の構成例を示すブロック図である。
図10の通信制御装置において、簡易I2Cインタフェース周りの主要部の構成例を示すブロック図である。
図10および図13の通信制御装置において、アドレス管理部の処理内容の一例を示すフロー図である。
図11および図12の電子装置において、アドレス探索部の処理内容の一例を示すフロー図である。
本発明の実施の形態3によるシリアル通信システムにおいて、その主要部の構成例を示す概略図である。
図16の比較例として検討したシリアル通信システムにおいて、その主要部の構成例を示す概略図である。
本発明の実施の形態4によるシリアル通信システムにおいて、その主要部の構成例を示す概略図である。
本発明の実施の形態5によるシリアル通信システムにおいて、その主要部の構成例を示す概略図である。

実施例

0012

以下の実施の形態においては便宜上その必要があるときは、複数のセクションまたは実施の形態に分割して説明するが、特に明示した場合を除き、それらは互いに無関係なものではなく、一方は他方の一部または全部の変形例、詳細、補足説明等の関係にある。また、以下の実施の形態において、要素の数等(個数数値、量、範囲等を含む)に言及する場合、特に明示した場合および原理的に明らかに特定の数に限定される場合等を除き、その特定の数に限定されるものではなく、特定の数以上でも以下でも良い。

0013

さらに、以下の実施の形態において、その構成要素(要素ステップ等も含む)は、特に明示した場合および原理的に明らかに必須であると考えられる場合等を除き、必ずしも必須のものではないことは言うまでもない。同様に、以下の実施の形態において、構成要素等の形状、位置関係等に言及するときは、特に明示した場合および原理的に明らかにそうでないと考えられる場合等を除き、実質的にその形状等に近似または類似するもの等を含むものとする。このことは、上記数値および範囲についても同様である。

0014

また、実施の形態の各機能ブロックを構成する回路素子は、特に制限されないが、公知のCMOS(相補型MOSトランジスタ)等の集積回路技術によって、単結晶シリコンのような半導体基板上に形成される。

0015

以下、本発明の実施の形態を図面に基づいて詳細に説明する。なお、実施の形態を説明するための全図において、同一の部材には原則として同一の符号を付し、その繰り返しの説明は省略する。

0016

(実施の形態1)
《シリアル通信システムの構成》
図1は、本発明の実施の形態1よるシリアル通信システムにおいて、その概略構成例を示す回路ブロック図である。図1に示すシリアル通信システムは、制御ユニットCTLUと、複数(ここでは4個)のバスシステムBSYS[1]〜BSYS[4]と、を備える。バスシステムBSYS[1]は、I2Cバス(第1シリアルバス)BS1[1]およびGPIO(General Purpose Input/Output)バス(第2シリアルバス)BS2[1]と、複数の被制御モジュール(電子装置)と、を備える。同様に、バスシステムBSYS[2]〜BSYS[4]も、それぞれ、I2CバスBS1[2]〜BS1[4]およびGPIOバスBS2[2]〜BS2[4]と、複数の被制御モジュールと、を備える。

0017

本明細書では、複数のI2CバスBS1[1]〜BS1[4]のそれぞれを代表して、I2Cバス(第1シリアルバス)BS1と称し、複数のGPIOバスBS2[1]〜BS2[4]のそれぞれを代表して、GPIOバス(第2シリアルバス)BS2と称する。また、複数のバスシステムBSYS[1]〜BSYS[4]のそれぞれを代表して、バスシステムBSYSと称する。複数の被制御モジュール(電子装置)のそれぞれは、対応するI2CバスBS1およびGPIOバスBS2にコネクタ等を介して着脱可能となっている。

0018

図1では、I2CバスBS1[1]およびGPIOバスBS2[1]に、複数(ここではm個)のセンサモジュールMDLs[1]〜MDLs[m]と、複数(ここではn個)のモータモジュールMDLm[1]〜MDLm[n]と、が接続された例が示されている。図示は省略しているが、バスシステムBSYS[2]〜BSYS[4]にも、それぞれ、複数の被制御モジュール(電子装置)が適宜接続されている。

0019

制御ユニットCTLUは、ホストコントローラホスト制御装置)HCTLと、通信IFモジュール(通信制御装置)MDLifと、を備える。通信IFモジュールMDLifは、マイクロコントローラ等を代表とする制御デバイスMCUcを備える。制御デバイスMCUcは、複数のI2CバスBS1[1]〜BS1[4]にそれぞれ結合される複数のI2Cインタフェース(第1シリアルインタフェース)と、複数のGPIOバスBS2[1]〜BS2[4]にそれぞれ結合される複数のGPIOインタフェース(第2シリアルインタフェース)GIF[1]〜GIF[4]と、を備える。

0020

図1の例では、複数のI2Cインタフェースは、3本のI2CバスBS1[1]〜BS1[3]にそれぞれ結合される3個の簡易I2CインタフェースIIFs[1]〜IIFs[3]と、I2CバスBS1[4]に結合される1個のフルI2CインタフェースIIFfと、で構成される。本明細書では、簡易I2CインタフェースIIFs[1]〜IIFs[3]のそれぞれを代表して、簡易I2CインタフェースIIFsと称し、簡易I2CインタフェースIIFsおよびフルI2CインタフェースIIFfを総称して、I2CインタフェースIIFと称する。また、GPIOインタフェースGIF[1]〜GIF[4]のそれぞれを代表して、GPIOインタフェースGIFと称する。

0021

ここで、フルI2Cインタフェースとは、I2C規格上のマスタ状態スレーブ状態の両方で動作可能なインタフェースを表す。一方、簡易I2Cインタフェースとは、マスタ状態のみで動作可能であり、スレーブ状態では動作できないインタフェースを表す。図2は、I2Cバスでのデータフォーマットの一例を示す概略図である。I2CバスBS1は、クロック信号SCLを伝送するクロック配線と、データ信号SDAを伝送するデータ配線と、を備える。

0022

I2C規格では、命令を送信したいI2CインタフェースIIFは、図2に示すように、クロック信号SCLが‘H’レベルの期間でデータ信号SDAを‘H’レベルから‘L’レベルに遷移させることで、I2CバスBS1へスタートコンディションSTCを送信する。当該I2CインタフェースIIFは、I2C規格の調停機能を経て、自身が送信したスタートコンディションSTCが有効であることを確認できた場合に、マスタ状態で動作する。一方、I2CバスBS1からスタートコンディションSTCを受信したI2CインタフェースIIFは、スレーブ状態で動作する。

0023

マスタ状態のI2CインタフェースIIFは、スレーブ状態のI2CインタフェースIIFに向けて、スレーブアドレスDDを含んだ命令(第1命令)を送信することができる。具体的には、当該命令(第1命令)は、図2に示すように、7ビット等のスレーブアドレスADDと、それに続く1ビットの読み書き選択信号(R/W)と、当該選択信号で書き込み命令を選択した場合のデータDTと、を含んでいる。

0024

一方、スレーブ状態のI2CインタフェースIIFは、自身のスレーブアドレスADDを含んだ命令(第1命令)を受信した場合に、肯定応答ACKをI2CバスBS1へ送信する。具体的には、図2に示すように、スレーブ状態のI2CインタフェースIIFは、読み書き選択信号(R/W)を受信したのち、肯定応答ACKを送信し、マスタ状態のI2CインタフェースIIFは、それを受信する。なお、データ信号SDAのデータ配線は、ワイヤードアンド接続で構成されており、マスタ状態のI2CインタフェースIIFは、肯定応答ACK(‘L’レベル)を受信できない場合、否定応答NAK(‘H’レベル))を受信する。

0025

マスタ状態のI2CインタフェースIIFは、書き込み命令を選択した場合で、スレーブ状態のI2CインタフェースIIFから肯定応答ACK(‘L’レベル)を受信した場合、8ビット等のデータDTを送信する。スレーブ状態のI2CインタフェースIIFは、当該データDTを受信した場合、肯定応答ACKを送信する。一方、マスタ状態のI2CインタフェースIIFが読み出し命令を選択した場合、スレーブ状態のI2CインタフェースIIFは、肯定応答ACK(‘L’レベル)に続いて、8ビット等のデータDTを送信する。マスタ状態のI2CインタフェースIIFは、当該データDTを受信した場合、肯定応答ACKを送信する。

0026

そして、マスタ状態のI2CインタフェースIIFは、マスタ状態を終了する際には、クロック信号SCLが‘H’レベルの期間でデータ信号SDAを‘L’レベルから‘H’レベルに遷移させることで、I2CバスBS1へストップコンディションSPCを送信する。これによって、I2CバスBS1は、開放される。

0027

このように、I2C規格では、マスタ状態のI2CインタフェースIIFのみが命令(第1命令)をI2CバスBS1へ送信し、スレーブ状態のI2CインタフェースIIFは、当該命令をI2CバスBS1から受信する。したがって、前述したフルI2CインタフェースIIFfは、命令(第1命令)を送信する命令送信部と、命令(第1命令)を受信する命令受信部と、を備えるに対して、簡易I2CインタフェースIIFsは、命令送信部のみを備えることになる。

0028

センサモジュールMDLs[1]〜MDLs[m]のそれぞれは、マイクロコントローラ等を代表とする制御デバイスMCUmと、センサSENと、を備える。同様に、モータモジュールMDLm[1]〜MDLm[n]のそれぞれは、制御デバイスMCUmとモータMTとを備える。制御デバイスMCUmは、図示は省略されているが、フルI2Cインタフェース(第1シリアルインタフェース)とGPIOインタフェース(第2シリアルインタフェース)とを備える。これらの被制御モジュールがI2CバスBS1[1]およびGPIOバスBS2[1]に接続された場合、当該フルI2CインタフェースおよびGPIOインタフェースは、それぞれ、I2CバスBS1[1]およびGPIOバスBS2[1]に結合される。

0029

ホストコントローラ(ホスト制御装置)HCTLは、図示は省略するが、マイクロコントローラ等を代表とする制御デバイスを備える。ホストコントローラHCTLは、所定の制御プログラム等に基づいて、複数の被制御モジュールを制御するための制御命令(第2命令)を発行する。当該制御命令(第2命令)には、例えば、複数の被制御モジュールをそれぞれ識別する装置識別子や、データの書き込み/読み出し種別等が含まれる。ホストコントローラ(ホスト制御装置)HCTLは、特に限定はされないが、SPI(Serial Peripheral Interface)バス等を介して通信IFモジュールMDLifに結合される。

0030

通信IFモジュールMDLifは、ホストコントローラHCTLからの制御命令(第2命令)を、I2CバスBS1への命令(第1命令)に変換しながら、ホストコントローラHCTLと、バスシステムBSYS(すなわち複数の被制御モジュール)との間の通信を仲介する。この際に、通信IFモジュールMDLifの制御デバイスMCUc内の各I2CインタフェースIIFは、マスタ状態で動作し、複数の被制御モジュールの制御デバイスMCUm内のI2Cインタフェースは、スレーブ状態で動作する。

0031

そして、通信IFモジュールMDLifは、ホストコントローラHCTLからSPIバス等を介して受信した制御命令(第2命令)を、その装置識別子に応じて、SPIバスよりも低速なバスであるI2CバスBS1に振り分け、当該I2CバスBS1へ命令(第1命令)を送信する。また、通信IFモジュールMDLifは、I2CバスBS1へ読み出し命令を送信した場合、これに応じて複数の被制御モジュールから送信されたデータDTを受信し、それをSPIバス等を介してホストコントローラHCTLに送信する。

0032

このようなシリアル通信システムにおいて、制御デバイスMCUc,MCUmを構成するマイクロコントローラ等は、汎用品である場合、通常、フルI2CインタフェースIIFfを1個または2個程度しか搭載していない。これは、I2Cバスの思想が、基本的に、1個のI2Cバスに制御対象となる全ての被制御モジュールを結合することを想定しているためである。また、マイクロコントローラ等にフルI2CインタフェースIIFfを多く搭載すると、回路規模コストの著しい増大を招くためである。

0033

ただし、少数のフルI2CインタフェースIIFfでは、ロボット等を代表とする、多数の被制御モジュール(モータ/センサモジュール等)の制御を行うシステムに、十分に対応できない恐れがある。例えば、多関節マニピュレータを想定すると、十分に滑らかな動きを実現するためには、制御ユニットCTLUが10ms以下の制御周期で各被制御モジュールを制御する必要がある。I2Cバスの通信速度を100kbpsとして当該制御周期を実現する場合、1本のI2Cバスに結合可能な被制御モジュール数は、10個程度となる。一方、多関節マニピュレータでは、数十個を超える数の被制御モジュールが必要とされる場合がある。

0034

このように多数の被制御モジュールを制御する場合、例えば、それぞれ1個または2個のフルI2CインタフェースIIFfを搭載した制御デバイスを複数設け、複数の制御デバイスで並列制御を行う方式を用いることが考えられる。ただし、この場合、複数の制御デバイスを設けることによるコスト等の増大や、複数の制御デバイス間での同期制御に伴う制御の複雑化等が懸念される。

0035

そこで、図1に示したように、簡易I2CインタフェースIIFsを搭載することが有益となる。例えば、1個の簡易I2CインタフェースIIFsは、1個のフルI2CインタフェースIIFfと比較して、半分またはそれ以下の回路規模で構成される。また、マイクロコントローラは、本質的に、制御される側(スレーブ側)ではなく制御する側(マスタ側)である。したがって、実用上の観点から、簡易I2CインタフェースIIFsを、マスタ状態のみで動作するインタフェースとすることが有益となる。

0036

また、図1のようなシリアル通信システムでは、システム構成を柔軟または容易に変更可能であることが求められる場合がある。例えば、ロボット等の制御システムを開発する場合を想定する。この場合、開発者は、図1に示すように、開発用の端末PCを用いてホストコントローラHCTLに格納される制御プログラムを適宜変更しながらシステム開発を進めていく。その過程では、バスシステムBSYSにおいて、各種被制御モジュールの着脱が頻繁に生じる場合がある。

0037

ここで、被制御モジュールをバスシステムBSYSに接続した際には、通常、当該被制御モジュールのアドレス割り付け初期パラメータの設定等といったように、当該被制御モジュールを制御可能な状態にするための設定作業が必要とされる。被制御モジュールをバスシステムBSYSに接続する毎に、このような複雑な設定作業が要求されると、開発者の利便性が図り難い。また、開発段階に限らず、完成後でも、バスシステムBSYSに新たな被制御モジュールを加えて機能拡張を図りたいような場合がある。このような場合も同様に、ユーザに対して複雑な設定作業を要求しないことが望まれる。そこで、I2CバスBS1でプラグアンドプレイ機能を実現することが有益となる。

0038

《シリアル通信システムのプラグアンドプレイ動作[1]》
図3図4および図5は、図1のシリアル通信システムにおいて、プラグアンドプレイの動作方法の一例を示す説明図である。図3の例では、まず、I2CバスBS1[1]およびGPIOバスBS2[1]にモータモジュールMDLm[2]が新規に接続される(ステップS101)。新規に接続されたモータモジュールMDLm[2]には、別途設けた電源配線等から電源電圧が供給される。

0039

電源電圧の供給に伴い、モータモジュール(電子装置)MDLm[2]の制御デバイスMCUmは、初期化シーケンスを実行する。制御デバイスMCUmは、この初期化シーケンスの中で、フルI2CインタフェースIIFfをスレーブ状態に制御し、GPIOインタフェースGIFを出力状態に制御する。この際に、既にバスに接続済みの被制御モジュール(例えばモータモジュールMDLm[1]等)および通信IFモジュール(通信制御装置)MDLifは、GPIOインタフェースGIF,GIF[1]を入力状態に設定している。

0040

また、GPIOバスBS2[1]の電位は、ここでは、プルダウン抵抗により接地電位GND(‘L’レベル)に設定されている。ただし、GPIOバスBS2[1]の電位は、プルアップ抵抗により電源電位(‘H’レベル)に設定されてもよい。GPIOインタフェースは、通常、このようなプルダウン抵抗/プルアップ抵抗を予め設定する機能を備えている。これにより、GPIOバスBS2[1]では、ワイヤードロジック図3の例では、ワイヤードオア)が構築される。

0041

続いて、図4に示すように、新規に接続されたモータモジュールMDLm[2]は、初めに、GPIOインタフェースGIFを介してGPIOバスBS2[1]に‘H’レベルを送信する(ステップS102)。通信IFモジュールMDLifは、GPIOインタフェースGIF[1]を介してGPIOバスBS2[1]の電位を監視しており、‘H’レベルを検出することで、被制御モジュールが新規に接続されたことを認識する(ステップS103)。

0042

通信IFインタフェースMDLifは、GPIOバスBS2[1]の電位が‘H’レベルに変化したことを検出すると、当該GPIOバスに対応するI2CバスBS1[1]の簡易I2CインタフェースIIFs[1]を、スリープ状態に遷移させる(ステップS104)。スリープ状態の簡易I2CインタフェースIIFs[1]は、I2CバスBS1[1]との間の通信を停止する。特に限定はされないが、制御デバイスMCUcは、スリープ状態の有効/無効を制御するレジスタフラグを立て、これに応じて、簡易I2CインタフェースIIFs[1]は、自身の動作を無効に制御する。

0043

次に、モータモジュールMDLm[2]は、接続したI2CバスBS1[1]に対し、自身がマスタ状態で動作するためのマスタ宣言信号(すなわち図2のスタートコンディションSTC)を、フルI2CインタフェースIIFfを介して送信する(ステップS105)。この時点で、通信IFモジュールMDLifの簡易I2CインタフェースIIFs[1]はスリープ状態であるため、当該マスタ宣言信号を無視する。他の被制御モジュール(モータモジュールMDLm[1]等)のフルI2CインタフェースIIFfは、このマスタ宣言信号を受信し、マスタ状態のI2Cインタフェースが新たに設定されたことを認識する。

0044

続いて、図5に示すように、モータモジュールMDLm[2]は、候補となるアドレスを含んだ命令(第1命令)を、フルI2CインタフェースIIFfを介してI2CバスBS1[1]へ送信しながら、当該命令に対する肯定応答ACKを受信しないアドレスを探索する(ステップS106)。具体的には、モータモジュールMDLm[2]は、まず、予め定められた初期値のアドレスを含んだ命令をI2CバスBS1[1]へ送信し、肯定応答ACKを受信した場合には、アドレスの変更(例えばインクリメント等)を行い、当該アドレスを含んだ命令を再度送信する。モータモジュールMDLm[2]は、このような探索処理を行った結果、I2CバスBS1[1]で重複しないアドレスを決定することができる。

0045

次に、モータモジュールMDLm[2]は、この決定したアドレスを、GPIOインタフェースGIFを介してGPIOバスBS2[1]へ送信する(ステップS107)。そして、通信IFモジュールMDLifのGPIOインタフェースGIF[1]は、この決定したアドレスを受信する(ステップS108)。具体的には、例えば、通信IFモジュールMDLifと被制御モジュールとの間で、予め通信速度やプリアンブル等といったGPIOインタフェースの通信規則プログラム等で定めておき、この通信規則に基づいてアドレスを通知することができる。

0046

なお、他の被制御モジュール(モータモジュールMDLm[1]等)は、プログラム等により、この通知されたアドレスを無視するように構成されている。ただし、他の被制御モジュールが新規に接続された被制御モジュールのアドレスを知る必要がある場合には、通信IFモジュールMDLifの場合と同様にして、通知されたアドレスを受信するように構成することも可能である。

0047

通信IFモジュールMDLifは、モータモジュールMDLm[2]から通知されたアドレスの受信を完了すると、スリープ状態から復帰し、I2CバスBS1[1]へマスタ宣言信号を送信する(ステップS109)。モータモジュールMDLm[2]は、当該マスタ宣言信号を受信し、スレーブ状態に遷移する(ステップS110)。これによって、制御ユニットCTLUは、新規に接続されたモータモジュールMDLm[2]を含めて、全ての被制御モジュールにI2CバスBS1[1]を介して通信を行うことができる。

0048

このようにして通信が可能になると、制御ユニットCTLUは、モータモジュールMDLm[2]内に予め保持されている各種情報をI2CバスBS1[1]を介して取得することができる。当該各種情報の中には、例えば、モータモジュールかセンサモジュールかといった種別情報や、ホストコントローラHCTLの制御プログラムがどのような関数変数を用いて制御命令(第2命令)を与えることが可能であるか、といった命令情報等が含まれる。命令情報は、モータモジュールであれば、モータを回転されるための関数や、当該関数で用いる固定パラメータの値や、当該関数で用いる変動パラメータ(例えば回転速度等)の設定可能範囲等が挙げられる。

0049

例えば、図1に示したようなシステムの開発段階において、制御ユニットCTLUは、新規に接続された被制御モジュールから取得した各種情報を、開発用の端末PCに反映させる。具体的には、制御ユニットCTLUは、例えば、取得した各種情報を、被制御モジュールの装置識別子に関連付けて、開発用の端末PCの画面上に表示させる。これによって、開発者にとって利便性が高い開発環境を構築できる。

0050

《シリアル通信システムの主要な効果等》
以上、図1のシリアル通信システムで図3図5に示したようなプラグアンドプレイ動作を行うことで、代表的には、システム構成を柔軟または容易に変更することが可能になる。例えば、ユーザは、被制御モジュール(電子装置)をI2CバスBS1およびGPIOバスBS2に接続した際に、アドレス割り付けを代表とする設定作業を行う必要がない。その結果、システム構成を容易に変更することが可能になる。また、I2CバスBS1およびGPIOバスBS2に接続可能な被制御モジュールの種類や個数も特に制限されることがない。その結果、システム構成を柔軟に変更することが可能になる。

0051

ここで、比較例として、例えば、特許文献1の方式を用いることが考えられる。当該方式では、まず、制御ユニットは、新たに被制御モジュールが接続されたことを何らかの方法で認識する。そして、制御ユニットは、予め定めたテーブルに保持されている全てのアドレス(図2のスレーブアドレスADD)を順にバスシステムBSYSに送信しながら、被制御モジュールの存在有無を認識する。

0052

ただし、当該方式では、基本的に1本のI2Cバスを使用することを想定しており、さらに、新規に接続可能な被制御モジュールがテーブルによって制限されるため、システム構成の変更に際しての柔軟性が低下する恐れがある。また、新規に被制御モジュールが接続されたことを、どのように制御ユニットに認識されるかに関して、工夫が必要とされる。さらに、制御ユニットは、新規に接続された被制御モジュールのアドレスを認識する際に、テーブル内の全てのアドレスをバスシステムBSYSに送信する必要がある。この場合、特に被制御モジュールの数が増加すると、多くの所要時間が必要となるため、ユーザの利便性が低下し、システム構成の変更に際しての容易性が低下する恐れがある。

0053

一方、本実施の形態1の方式では、被制御モジュールは、制御ユニット(制御デバイスMCUc)に対して、GPIOバスBS2を用いて、自身が新規に接続されたことに加えて、自身で定めたアドレスを通知する。具体的には、制御ユニットではなく被制御モジュールが、I2CバスBS1を用いて自身で使用可能なアドレスを探索し、その探索結果を制御ユニットに通知する。これによって、特許文献1のように、全てのアドレスを探索する必要がないため、アドレスの探索時間を短縮することができる。

0054

ただし、この際に、特に、多数の被制御モジュールに対応するために設けられた制御ユニット内の簡易I2CインタフェースIIFsは、スレーブ状態で動作することができない。そこで、簡易I2CインタフェースIIFsは、I2CバスBS1との間の通信を停止するため、スリープ状態に遷移し、この状態で、探索結果となるアドレスをGPIOバスBS2を利用して受信する。このような方式を用いることで、前述した特許文献1の問題を解決でき、システム構成を柔軟または容易に変更することが可能になる。

0055

なお、図1の例では、ホストコントローラ(ホスト制御装置)HCTLおよび通信IFモジュール(通信制御装置)MDLifは、それぞれ異なる制御デバイス(2個のマイクロコントローラ等の半導体チップ)を用いて構成されたが、共通の制御デバイスで構成されてもよい。ただし、それぞれ異なる制御デバイスで構成することで、ユーザの利便性をより高められる場合がある。すなわち、ホストコントローラHCTLは、例えば、Arduino(登録商標基板やRaspberry Pi(登録商標)基板等を代表とする広く普及している装置で構成することができる。この場合、ユーザは、慣れしんだ開発環境を用いて所望の制御システムの開発等を行うことが可能になる。

0056

また、ここでは、第2シリアルバスとして、GPIOバスBS2を用いたが、必ずしも、これに限定されるものではなく、通信に際して、特にアドレス等の指定が不要なシリアルバスであればよい。ただし、GPIOバスBS2は、1本の配線で構成でき、かつ、ワイヤードロジックも使用可能であるため、第2シリアルバスに適用して特に有益となる。なお、GPIOバスBS2は、このようにプラグアンドプレイ機能で使用されるほかに、例えば、接続完了後通常動作時に、被制御モジュールが割り込み信号を送信する際に使用されてもよい。

0057

さらに、ここでは、簡易I2CインタフェースIIFsでプラグアンドプレイ機能を実現する場合の動作例を示したが、フルI2CインタフェースIIFfでプラグアンドプレイ機能を実現する場合も、同様の方式を用いることができる。この際に、フルI2CインタフェースIIFfは、スレーブ状態で動作可能であるため、場合によっては、ステップS107におけるアドレスの送信をI2CバスBS1[1]を介して行うこともできる。ただし、簡易I2CインタフェースIIFsとの間で処理の統一化を図る観点では、図3図5の処理を用いる方が望ましい。

0058

《シリアル通信システムのプラグアンドプレイ動作[2]》
図6図7および図8は、図1のシリアル通信システムにおいて、プラグアンドプレイの動作方法の他の一例を示す説明図である。前述した図3図4および図5では、ある時点で1個の被制御モジュールが新規に接続される場合を想定したが、ある時点で複数の被制御モジュールが新規に接続される場合も生じ得る。具体的には、例えば、既に複数の被制御モジュールが搭載されているユニットを、コネクタ等を介してバスに接続するような場合が挙げられる。このような場合であっても、概略的には、図3図4および図5の方式を用いることが可能である。

0059

具体的には、まず、図6に示すように、モータモジュールMDLm[2]およびセンサモジュールMDLs[2]が新規に接続された場合を想定する(ステップS101)。図4の場合と同様に、モータモジュールMDLm[2]およびセンサモジュールMDLs[2]は、共に、GPIOインタフェースGIFを介して‘H’レベルを送信する(ステップS102)。そして、図4の場合と同様に、通信IFモジュールMDLifは、GPIOインタフェースGIF[1]を介して‘H’レベルを検出し(ステップS103)、GPIOインタフェースGIF[1]をスリープ状態に遷移させる(ステップS104)。

0060

ここで、モータモジュールMDLm[2]およびセンサモジュールMDLs[2]は、図4の場合と異なり、I2C規格の調停機能に基づき、いずれか一方のみがマスタ状態に遷移し、他方はスレーブ状態に遷移する(ステップS105)。図6の例では、モータモジュールMDLm[2]の方がマスタ状態に遷移している。この状態で、マスタ状態で動作するモータモジュールMDLm[2]は、図5の場合と同様に、アドレスの探索処理を行い、その結果、I2CバスBS1[1]で重複しないアドレスを決定する(ステップS106)。

0061

次いで、図7に示すように、モータモジュールMDLm[2]は、図5の場合と同様に、決定したアドレスをGPIOバスBS2[1]を介して送信し(ステップS107)、通信IFモジュールMDLifは、当該アドレスを受信する(ステップS108)。アドレスの受信が完了すると、通信IFモジュールMDLifは、図5の場合と同様に、I2CバスBS1[1]にマスタ宣言信号(スタートコンディションSTC)を送信し、スリープ状態から復帰して、マスタ状態に遷移する(ステップS109)。

0062

一方、ステップS107の動作が行われる前に、センサモジュールMDLs[2]は、GPIOバスBS2[1]が競合しないように、GPIOインタフェースGIFからの‘H’レベルの送信を停止し、ハイインピーダンスの出力等を行う(ステップS106)。センサモジュールMDLs[2]は、例えば、スレーブ状態に遷移した際(ステップS105)に、当該‘H’レベルの送信を停止すればよい。

0063

また、通信IFモジュールMDLifからマスタ宣言信号が送信されると(ステップS109)、モータモジュールMDLm[2]は、図5の場合と同様に、スレーブ状態に遷移する(ステップS110)。さらに、ここでは、モータモジュールMDLm[2]を含めた各被制御モジュールは、フルI2CインタフェースIIFf内のレジスタに、バス接続完了フラグ等を備えている。バス接続完了フラグは、自身のアドレスを通信IFモジュールMDLifに認識させたか否か(すなわち、バス接続が完了したか否か)を表す。モータモジュールMDLm[2]は、例えば、ステップS110でスレーブ状態に遷移する際に、当該バス接続完了フラグにフラグを立てる。

0064

次いで、図8に示すように、モータモジュールMDLm[2]は、ステップS110でスレーブ状態に遷移すると共に、GPIOインタフェースGIFを入力状態に設定する(ステップS111)。一方、スレーブ状態で動作しているセンサモジュールMDLs[2]は、ステップS109において、バス接続完了フラグが立っていない状態で、通信IFモジュールMDLifからのマスタ宣言信号(スタートコンディションSTC)を受信する。これに応じて、センサモジュールMDLs[2]は、GPIOインタフェースGIFを介して‘H’レベルを送信する(ステップS112)。

0065

その後は、図3図4および図5のモータモジュールMDLm[2]の場合と同様の動作が行われ、センサモジュールMDLs[2]のバス接続も完了する。センサモジュールMDLs[2]は、バス接続が完了した際には、図7のステップS110で述べたように、バス接続完了フラグにフラグを立て、ステップS111で述べたように、GPIOインタフェースGIFを入力状態に設定する。

0066

《シリアル通信システムの適用例》
図9は、図1のシリアル通信システムを適用した車両型ロボットの模式的な構成例を示す外形図である。図9に示す車両型ロボットでは、4個のタイヤが取り付けられたシャーシ基板CB上に、制御ユニットCTLUと、センサモジュールMDLsと、モータモジュールMDLmと、が搭載されている。センサモジュールMDLsやモータモジュールMDLmは、コネクタ等を介してシャーシ基板CBに着脱可能となっている。

0067

シャーシ基板CBは、I2CバスBS1およびGPIOバスBS2を備える。制御ユニットCTLU、センサモジュールMDLsおよびモータモジュールMDLmは、このI2CバスBS1およびGPIOバスBS2を介して互いに接続される。特に限定はされないが、モータモジュールMDLmは、タイヤの回転速度や、タイヤの舵角等を制御し、センサモジュールMDLsは、障害物の有無等を検出する。制御ユニットCTLUは、センサモジュールMDLsの検出結果に応じて、モータモジュールMDLmを制御することで、車両型ロボットの移動を制御する。

0068

なお、ここでは、車両型ロボットに含まれる代表的な被制御モジュールの例を示したが、実際には、当該車両型ロボットの用途(例えば、搬送用ロボット掃除用ロボット等)に応じて、さらに、数多くの被制御モジュールが搭載される場合がある。そして、制御ユニットCTLUは、このような多くの被制御モジュールを所定の制御周期内に制御する必要がある。例えば、このようなロボットの開発段階や開発後の機能拡張段階等において、本実施の形態1のプラグアンドプレイ機能を用いることで、ユーザの利便性を向上させること等が可能になる。

0069

以上、本実施の形態1のシリアル通信システム、通信制御装置および電子装置を用いることで、代表的には、システム構成を柔軟または容易に変更することが可能になる。

0070

(実施の形態2)
本実施の形態2では、実施の形態1で述べた通信IFモジュール(通信制御装置)および被制御モジュール(電子装置)の詳細について説明する。

0071

《通信IFモジュール(通信制御装置)の構成および動作》
図10は、本発明の実施の形態2による通信制御装置において、その主要部の構成例を示すブロック図である。図10に示す通信IFモジュール(通信制御装置)MDLifは、例えば、配線基板PCB1上に、マイクロコントローラ等の制御デバイス(半導体チップ)MCUcが実装された構成となっている。また、配線基板PCB1には、図示は省略しているが、ホストコントローラHCTLに接続するためのコネクタや、バスシステムBSYS[1]〜BSYS[4]に接続するためのコネクタ等も実装されている。

0072

制御デバイスMCUcは、図1に示したように、第1シリアルインタフェースとなる簡易I2CインタフェースIIFs[1]〜IIFs[3](IIFs[3]の図示は省略)およびフルI2CインタフェースIIFfと、第2シリアルインタフェースとなるGPIOインタフェースGIF[1]〜GIF[4]と、を備える。これに加えて、制御デバイスMCUcは、SPIインタフェース(ホストインタフェース)SIFと、データ格納用レジスタREGdと、制御部CTLcと、セレクタSELと、アドレス管理用メモリMEMと、を備える。

0073

前述したように、各I2Cインタフェース(第1シリアルインタフェース)IIFは、概略的には、バスシステムBSYS内の複数の被制御モジュール(電子装置)のいずれかのアドレスを含んだ命令(第1命令)をI2Cバス(第1シリアルバス)BS1へ送信することで当該被制御モジュールを制御する。また、各GPIOインタフェース(第2シリアルインタフェース)GIFは、概略的には、複数の被制御モジュールのいずれかからの信号を受信する。

0074

SPIインタフェース(ホストインタフェース)SIFは、ホストコントローラ(ホスト制御装置)HCTLとの間で、SPIバスBS3を介してシリアル通信を行う。ホストコントローラHCTLは、前述したように、バスシステムBSYS内の複数の被制御モジュールのそれぞれに対して、複数の被制御モジュールをそれぞれ識別する装置識別子を含んだ制御命令(第2命令)を発行する。SPIインタフェースSIFは、当該制御命令を受信し、データ格納用レジスタREGdに保持する。

0075

制御部CTLcは、データ分配部DDSとアドレス管理部ADMを備え、各I2CインタフェースIIFおよび各GPIOインタフェースGIFの制御を含めて、制御デバイスMCUc全体の動作を制御する。制御部CTLcは、主に、プロセッサによるプログラム処理等によって構成される。

0076

アドレス管理部ADMは、アドレス管理用メモリMEMを用いて、バスシステムBSYS内の複数の被制御モジュールのアドレスを管理する。具体的には、アドレス管理用メモリMEMは、制御命令(第2命令)に含まれる装置識別子と、各I2CバスBS1(各I2CインタフェースIIF)をそれぞれ識別するバス識別子と、当該バス識別子で識別されるI2CバスBS1内でのスレーブアドレスADDと、の対応関係を保持する。

0077

アドレス管理部ADMは、図5のステップS107等に示したように、被制御モジュールからGPIOバス(例えばBS2[1])を介して、決定したスレーブアドレスADDを受信した際に、当該スレーブアドレスADDと、当該GPIOバスに対応するI2Cバス(BS1[1])のバス識別子と、の対応関係をアドレス管理用メモリMEMに登録する。この際に、アドレス管理部ADMは、アドレス管理用メモリMEM上で、当該被制御モジュールのアドレス情報を所定の装置識別子に対応付けると共に、当該装置識別子をSPIインタフェースSIFを介してホストコントローラHCTLに通知する。

0078

データ分配部DDSは、ホストコントローラHCTLから制御命令を受信した際に、アドレス管理用メモリMEMの対応関係に基づいて、所定のスレーブアドレスADDを含んだ命令(第1命令)を所定のI2CインタフェースIIFを介してI2CバスBS1へ送信する。具体的には、データ分配部DDSは、データ格納用レジスタREGdに保持された制御命令(第2命令)の装置識別子を認識し、アドレス管理用メモリMEMの対応関係に基づいてセレクタSELを制御し、当該制御命令を複数のI2CインタフェースIIFのいずれかに送信する。この際に、データ分配部DDSは、装置識別子をスレーブアドレスADDに変換する処理も行う。

0079

また、制御部CTLcは、I2CバスBS1での読み出し命令に応じた各被制御モジュールからのデータDTをI2CインタフェースIIFで受信した際に、当該データDTを、SPIインタフェースSIFを介してホストコントローラHCTLに送信する。

0080

《モータモジュール(電子装置)の構成および動作》
図11は、本発明の実施の形態2による電子装置において、その主要部の構成例を示すブロック図である。ここでは、被制御モジュール(電子装置)がモータモジュールMDLmである場合を例とする。図11に示すモータモジュールMDLmは、例えば、配線基板PCB2上に、マイクロコントローラ等の制御デバイス(半導体チップ)MCUmと、モータMTと、が実装された構成となっている。また、配線基板PCB2には、図示は省略しているが、I2CバスBS1およびGPIOバスBS2に接続するためのコネクタや、、モータMTを駆動するためのモータドライバ等も実装されている。

0081

制御デバイスMCUmは、図1に示したように、第1シリアルインタフェースとなるフルI2CインタフェースIIFfと、第2シリアルインタフェースとなるGPIOインタフェースGIFと、を備える。これに加えて、制御デバイスMCUmは、制御部CTLmを備える。前述したように、フルI2CインタフェースIIFfは、概略的には、アドレスを含んだ命令(第1命令)をI2Cバス(第1シリアルバス)BS1から受信し、当該アドレスが自身のアドレスの場合に、肯定応答ACTをI2CバスBS1へ送信する。また、GPIOインタフェースGIFは、概略的には、GPIOバスBS2へ信号を送信する。

0082

制御部CTLmは、モータ制御部MCTLおよびアドレス探索部ADSを備え、フルI2CインタフェースIIFfおよびGPIOインタフェースGIFの制御を含めて、制御デバイスMCUm全体の動作を制御する。制御部CTLmは、主に、プロセッサによるプログラム処理等によって構成される。モータ制御部MCTLは、フルI2CインタフェースIIFfで受信した命令(第1命令)に応じて、モータドライバ等を介してモータMTを制御する。アドレス探索部ADSは、実施の形態1で述べたように、アドレス探索処理を代表に、プラグアンドプレイに伴う各種処理を行う。

0083

《フルI2Cインタフェースの構成および動作》
図12は、図11の電子装置において、フルI2Cインタフェース周りの主要部の構成例を示すブロック図である。ここでは、被制御モジュール(電子装置)のフルI2Cインタフェースを例に説明するが、通信IFモジュールMDLifのフルI2Cインタフェースも同様の構成および動作となる。

0084

図12に示すフルI2CインタフェースIIFfは、スレーブアドレスレジスタREGa、比較部CMP、送受信データ用シフトレジスタSREG、ACK検出回路ACDT、スタートコンディション検出回路STDT、ストップコンディション検出回路SPDTバス状態検出回路BSDT、および通信制御回路CCTLfを備える。さらに、フルI2CインタフェースIIFfは、データ用送信バッファFDoおよびデータ用受信バッファBFDiと、クロック用送信バッファBFCoおよびクロック用受信バッファBFCiと、を備える。

0085

データ用送信バッファBFDoおよびデータ用受信バッファBFDiは、制御デバイスMCUmの外部端子PNsdに結合され、クロック用送信バッファBFCoおよびクロック用受信バッファBFCiは、制御デバイスMCUmの外部端子PNscに結合される。外部端子PNsdは、I2CバスBS1のデータ配線(SDA)に結合され、外部端子PNscは、I2CバスBS1のクロック配線(SCL)に結合される。マスタ状態で動作する場合、フルI2CインタフェースIIFfは、クロック用送信バッファBFCoを介して、I2CバスBS1のクロック配線(SCL)に所定のクロック信号(fCLK)を送信する。クロック用受信バッファBFCiは、I2CバスBS1のクロック配線上のクロック信号SCLを受信する。

0086

スレーブアドレスレジスタREGaは、スレーブ状態で動作する際の自身のスレーブアドレスADDを保持する。送受信データ用シフトレジスタSREGは、クロック用受信バッファBFCiで受信したクロック信号SCLに同期してシフト動作を行うことで、パラレルデータとシリアルデータとの間の変換を行う。送受信データ用シフトレジスタSREGは、データ送信時には、保持しているパラレルデータを1ビットずつデータ用送信バッファBFDoへ送信し、データ受信時には、データ用受信バッファBFDiで受信したシリアルデータ(データ信号SDA)を1ビットずつ取り込む。

0087

比較部CMPは、スレーブ状態で動作する際に、送受信データ用シフトレジスタSREGに取り込んだデータ信号SDAと、スレーブアドレスレジスタREGaに保持されたスレーブアドレスADDと、を比較し、命令(第1命令)が自身宛てか否かを判別する。ACK検出回路ACDTは、データ用受信バッファBFDiで受信したデータ信号SDAの中から、図2肯定信号ACK(または否定信号(NAK))を検出する。

0088

スタートコンディション検出回路STDTおよびストップコンディション検出回路SPDTは、データ用受信バッファBFDiで受信したデータ信号SDAおよびクロック用受信バッファBFCiで受信したクロック信号SCLを監視し、それぞれ、図2のスタートコンディションSTCおよびストップコンディションSPCを検出する。バス状態検出回路BSDTは、スタートコンディション検出回路STDTおよびストップコンディション検出回路SPDTの検出結果に基づき、I2CバスBS1の開放有無の判別や、スタートコンディションSTCが競合した際の調停(自身がマスタ状態になれたか否かの判別)等を行う。

0089

通信制御回路CCTLfは、制御レジスタ群REGBKを備え、当該制御レジスタ群REGBKに含まれる各種制御レジスタ設定値に基づいて、フルI2CインタフェースIIFf全体を制御する。制御レジスタ群REGBKには、マスタ状態であるかスレーブ状態であるかを識別するフラグFLG1と、インタフェースの有効/無効を制御するフラグFLG2と、スタートコンディションSTCを送信する際のフラグFLG3と、バス接続完了フラグFLG4と、が含まれる。

0090

フラグFLG1は、バス状態検出回路BSDTの検出結果に基づき制御される。フラグFLG2は、図4のステップS104等に示したように、スリープ状態に遷移させる際に使用される。フラグFLG3は、図5のステップS109等に示したように、スタートコンディションSTCを送信する際に使用される。バス接続完了フラグFLG4は、図7のステップS110等に示したように、バス接続の完了有無を判別する際に使用される。

0091

また、フルI2CインタフェースIIFfは、制御デバイスMCUm内の内部バスIBSを介して、GPIOインタフェースGIFやアドレス探索部ADS等に結合される。GPIOインタフェースGIFは、制御デバイスMCUmの外部端子PNioを介して、GPIOバスBS2に結合される。

0092

《簡易I2Cインタフェースの構成および動作》
図13は、図10の通信制御装置において、簡易I2Cインタフェース周りの主要部の構成例を示すブロック図である。図13に示す簡易I2CインタフェースIIFsは、送受信データ用シフトレジスタSREGと、ACK検出回路ACDTと、通信制御回路CCTLsと、データ用送信バッファBFDoおよびデータ用受信バッファBFDiと、クロック用送信バッファBFCoおよびクロック用受信バッファBFCiと、を備える。すなわち、図13の簡易I2CインタフェースIIFsは、図12のフルI2CインタフェースIIFfと比較して、スレーブ状態の動作のみで使用される各回路部を備えない構成となっている。

0093

通信制御回路CCTLsは、図12の場合と同様に、制御レジスタ群REGBKを備える。ただし、制御レジスタ群REGBKは、図12の場合と比較して、マスタ状態であるかスレーブ状態であるかを識別するフラグFLG1を備えない。なお、前述した図12の制御レジスタ群REGBKは、実際には、更に多くのレジスタ(フラグ)を備え、その中には、スレーブ状態のみで使用されるレジスタ(フラグ)も多く含まれる。図13の制御レジスタ群REGBKでは、このスレーブ状態のみで使用されるレジスタ(フラグ)が削除されている。これに応じて、図13の通信制御回路CCTLsでは、図12の通信制御回路CCTLfと比較して、当該削除されたレジスタ(フラグ)に基づく処理を行う各回路部が削除されている。

0094

また、簡易I2CインタフェースIIFsは、制御デバイスMCUc内の内部バスIBSを介して、GPIOインタフェースGIFやアドレス管理部ADM等に結合される。アドレス管理部ADMは、アドレス管理用メモリMEMにアクセス可能となっている。GPIOインタフェースGIFは、制御デバイスMCUcの外部端子PNioを介して、GPIOバスBS2に結合される。

0095

《通信IFモジュール(通信制御装置)のアドレス管理処理》
図14は、図10および図13の通信制御装置において、アドレス管理部の処理内容の一例を示すフロー図である。アドレス管理部ADMは、まず、ステップS201において、各GPIOインタフェースGIFを監視し、いずれかのGPIOインタフェースGIFで‘H’レベル(第1信号)を受信した際に、ステップS202に移行する。アドレス管理部ADMは、ステップS202において、新規に接続された被制御モジュールが存在することを認識する。

0096

次いで、アドレス管理部ADMは、‘H’レベルを受信したGPIOインタフェースGIFに対応するI2CインタフェースIIFをスリープ状態に遷移させる(ステップS203)。具体的には、アドレス管理部ADMは、図13のフラグFLG2を立てる。これにより、当該I2CインタフェースIIFは、I2CバスBS1との間の通信を停止し、待機する。そして、アドレス管理部ADMは、当該GPIOインタフェースGIFでデータ(すなわちスレーブアドレスADD)を受信するまで、ステップS203の待機を継続する(ステップS204)。

0097

アドレス管理部ADMは、対象のGPIOインタフェースGIFでデータ(スレーブアドレスADD)を受信すると、当該受信データを新規に接続された被制御モジュールのスレーブアドレスADDとして認識し、アドレス管理用メモリMEMに登録する(ステップS205)。その後、アドレス管理部ADMは、スリープ状態から復帰し、I2CインタフェースIIFを介して対象のI2CバスBS1にマスタ宣言信号(すなわちスタートコンディションSTC)を送信し、マスタ状態に戻る(ステップS206)。具体的には、アドレス管理部ADMは、図13のフラグFLG2を消去し、フラグFLG3を立てる。

0098

《被制御モジュール(電子装置)のアドレス探索処理》
図15は、図11および図12の電子装置において、アドレス探索部の処理内容の一例を示すフロー図である。アドレス探索部ADSは、I2CバスBS1およびGPIOバスBS2に接続された際に、まず、‘H’レベル(第1信号)をGPIOインタフェースGIFを介してGPIOバスBS2へ送信する(ステップS301(第1処理))。次いで、アドレス探索部ADSは、フルI2CインタフェースIIFfを介してI2CバスBS1へマスタ宣言信号を送信する(ステップS302)。

0099

続いて、アドレス探索部ADSは、自身がマスタ状態であるか否かを判別する(ステップS303)。具体的には、アドレス探索部ADSは、図12のバス状態検出回路BSDTの検出結果に基づき判別を行う。マスタ状態である場合、アドレス探索部ADSは、候補となる自身のスレーブアドレスADDを含んだ命令(第1命令)を、フルI2CインタフェースIIFfを介してI2CバスBS1へ送信する(ステップS304)。具体的には、アドレス探索部ADSは、例えば、図2に示した、スレーブアドレスADDおよび読み書き選択信号(R/W)(例えば書き込み命令)を送信する。

0100

アドレス探索部ADSは、当該命令(第1命令)に応じて、肯定応答ACKを受信した場合(ステップS305)には、候補とするスレーブアドレスADDを適宜変更し(例えば1だけインクリメントし)、ステップS304の処理に戻る(ステップS310)。アドレス探索部ADSは、このステップS304,S305,S310の処理(第2処理)によって、命令(第1命令)に対する肯定応答ACKを受信しないスレーブアドレス(すなわち重複しないスレーブアドレス)ADDを探索する。

0101

ステップS304で肯定応答ACKを受信しない場合、アドレス探索部ADSは、現在のスレーブアドレスADD(すなわち探索結果となるスレーブアドレス)を、GPIOインタフェースGIFを介してGPIOバスBS2へ送信する(S306(第3処理))。その後、アドレス探索部ADSは、GPIOインタフェースGIFを出力状態から入力状態へ変更する(ステップS307)。また、アドレス探索部ADSは、通信IFモジュールMDLifからのマスタ宣言信号を受信し、バス接続完了フラグ(図12のFLG4)を立て、スレーブ状態に戻る。

0102

一方、アドレス探索部ADSは、ステップS303において、マスタ状態でない場合には、GPIOバスBS2への‘H’レベルの送信を停止し、通信IFモジュールMDLifからのマスタ宣言信号を受信するまでスレーブ状態で待機する(ステップS309)。そして、アドレス探索部ADSは、通信IFモジュールMDLifからのマスタ宣言信号を受信した場合には、再度、ステップS301の処理から実行する。

0103

以上、本実施の形態2の通信制御装置および電子装置を用いることで、実施の形態1で述べた各種効果と同様の効果が得られる。その中でも、特に、図12および図13に示したように、簡易I2CインタフェースIIFsを用いることによる回路面積およびコストの低減効果や、図10に示したように、ホストコントローラHCTLと通信IFモジュールMDLifとを分離することによる効果が得られる。すなわち、ホストコントローラHCTLからの制御命令(第2命令)を通信IFモジュールMDLifで自動的に分配する構成によって、ユーザは、ホストコントローラHCTLの開発環境のみを用いて、所望の制御システムを開発でき、ユーザの利便性(言い換えれば開発の容易性)が向上する。

0104

(実施の形態3)
《シリアル通信システムの構成(変形例[1])》
図16は、本発明の実施の形態3によるシリアル通信システムにおいて、その主要部の構成例を示す概略図である。図17は、図16の比較例として検討したシリアル通信システムにおいて、その主要部の構成例を示す概略図である。図16および図17では、通信IFモジュールMDLifと、複数の被制御モジュール(ここではモータモジュールMDLm[1],MDLm[2],…)とが、GPIOバスBS2を介して接続された構成例が示されている。

0105

各GPIOインタフェースGIFは、図17に示すように、通常、インタフェース内で、初期設定によりプルアップ抵抗/プルダウン抵抗(ここではプルダウン抵抗Ri)を接続することができる。ここで、例えば、モータモジュールMDLm[1]内のGPIOインタフェースGIFが、送信バッファBFGoを介して‘H’レベルを送信した場合を想定する。この場合、当該送信バッファBFGoから各モジュール(MDLif,MDLm[1],MDLm[2],…)内のプルダウン抵抗Riに電流が流れるため、特に、被制御モジュールの数が多くなると、消費電力や送信バッファBFGoの駆動能力等が問題となる恐れがある。

0106

そこで、図16では、被制御モジュール(モータモジュールMDLm[1],MDLm[2],…)の配線基板PCB2上に、外部スイッチSWと外部抵抗Reとが実装されている。外部抵抗Reは、場合によって省くことも可能である。外部スイッチSWは、一端にGPIOバスBS2が結合され、他端に外部抵抗Reを介して電源電圧(固定電圧)VDDが供給される。そして、各被制御モジュール内のGPIOインタフェースGIFは、送信バッファBFGoを介して外部スイッチSWのオンオフを制御することで、GPIOバスBS2における通信を行う。

0107

これにより、例えば、モータモジュールMDLm[1]内のGPIOインタフェースGIFが、送信バッファBFGoを介して‘H’レベルを送信した場合、図17の場合と異なり、通信IFモジュールMDLif内のプルダウン抵抗Riのみに電流が流れる。その結果、消費電力を低減でき、送信バッファBFGoの駆動能力の問題も特に生じない。

0108

(実施の形態4)
《シリアル通信システムの構成(変形例[2])》
図18は、本発明の実施の形態4によるシリアル通信システムにおいて、その主要部の構成例を示す概略図である。図18では、通信IFモジュールMDLifと、被制御モジュール(ここではモータモジュールMDLm)とが、I2CバスBS1およびGPIOバスBS2を介して接続された構成例が示されている。通信IFモジュールMDLif内の制御デバイスMCUcは、I2CバスBS1のデータ配線(SDA)およびクロック配線(SCL)にそれぞれ結合される外部端子PNsdおよび外部端子PNscと、GPIOバスBS2に結合される外部端子PNio1と、に加えて、外部端子PNio2を備える。

0109

外部端子PNio2は、通信IFモジュールMDLifの配線基板PCB1を介して外部端子PNscに接続される。また、通信IFモジュールMDLifの制御デバイスMCUcは、ハードウェア、あるいはハードウェアとソフトウェアの組合せによって構成されるシフトレジスタSREG2を備える。シフトレジスタSREG2は、GPIOバスBS2からGPIOインタフェースGIFを介して受信したシリアルデータを、外部端子PNio2で受信したクロック信号SCLに同期して取り込む。

0110

一方、被制御モジュール(モータモジュールMDLm)の制御デバイスMCUmにおいて、図11の制御部CTLm内のアドレス探索部ADSは、例えば、次のような処理を行う。すなわち、アドレス探索部ADSは、図15のステップS306等で探索結果となるスレーブアドレスADDをGPIOバスBS2へ送信すると共に、その送信タイミングと同期して、フルI2CインタフェースIIFfを介してI2CバスBS1に含まれるクロック配線にクロック信号SCLを送信する。これにより、通信IFモジュールMDLifは、当該スレーブアドレスADDをシフトレジスタSREG2に取り込むことができる。

0111

このような方式を用いることで、シリアル通信システムにおける配線数を特に増大させることなく、1本のGPIOバスBS2を用いて等価的に同期通信を行うことが可能になる。その結果、シリアル通信システムの小型化または低コスト化が図れる。また、同期通信であるため、GPIOバスBS2を用いた通信の信頼性をより高められる場合がある。

0112

(実施の形態5)
《シリアル通信システムの構成(変形例[3])》
図19は、本発明の実施の形態5によるシリアル通信システムにおいて、その主要部の構成例を示す概略図である。図19では、通信IFモジュールMDL2ifと、バスシステムBSYS[1]〜BSYS[4]内の被制御モジュールとが、I2CバスBS1[1]〜BS1[4]および差動バスBS4[1]〜BS4[4]を介して接続された構成例が示されている。ここでは、被制御モジュールの構成を、バスシステムBSYS[1]内のモータモジュールMDL2m[1]を代表例に説明する。

0113

通信IFモジュールMDL2ifの配線基板PCB1上には、4個の差動バスドライバDFV[1]〜DFV[4]が実装される。4個の差動バスドライバDFV[1]〜DFV[4]は、それぞれ、制御デバイスMCUcのGPIOインタフェースGIF[1]〜GIF[4]から送信されたシングルデータを差動データに変換して差動バスBS4[1]〜BS4[4]へ送信する。また、その逆に、4個の差動バスドライバDFV[1]〜DFV[4]は、それぞれ、差動バスBS4[1]〜BS4[4]から受信した差動データを、シングルデータに変換してGPIOインタフェースGIF[1]〜GIF[4]へ送信する。

0114

同様に、モータモジュールMDL2m[1]の配線基板PCB2上には、差動バスドライバDFVが実装される。差動バスドライバDFVは、制御デバイスMCUmのGPIOインタフェースGIF(図示は省略)から送信されたシングルデータを差動データに変換して差動バスBS4[1]へ送信する。また、その逆に、当該差動バスドライバDFVは、差動バスBS4[1]から受信した差動データを、シングルデータに変換してGPIOインタフェースGIF(図示は省略)へ送信する。なお、差動バスドライバDFVは、代表的には、RS485規格に基づく構成が挙げられる。

0115

前述したように、ロボット等の制御システムでは、多数の被制御モジュールがバスに接続されるため、バスの配線長が長くなり得ることに加えて、モータMT等が発生するノイズがバスに重畳する恐れもある。そこで、このような場合であっても、GPIOインタフェースGIFを用いた通信を高い信頼性で行うため、図19に示したような差動バスBS[1]〜BS[4]を用いることが有益となる。

0116

以上、本発明者によってなされた発明を実施の形態に基づき具体的に説明したが、本発明は前記実施の形態に限定されるものではなく、その要旨を逸脱しない範囲で種々変更可能である。例えば、前述した実施の形態は、本発明を分かり易く説明するために詳細に説明したものであり、必ずしも説明した全ての構成を備えるものに限定されるものではない。また、ある実施の形態の構成の一部を他の実施の形態の構成に置き換えることが可能であり、また、ある実施の形態の構成に他の実施の形態の構成を加えることも可能である。また、各実施の形態の構成の一部について、他の構成の追加・削除・置換をすることが可能である。

0117

例えば、ここでは、第1シリアルバスとしてI2CバスBS1を用いたが、必ずしもI2CバスBS1に限定されるものではない。すなわち、I2CバスBS1の場合と同様に、マスタ状態かスレーブ状態かで動作し、アドレスを指定してシリアル通信を行うバスであれば同様に適用可能である。

0118

(付記)
本実施の形態によるシリアル通信システムのプラグアンドプレイ方法は、第1および第2シリアルバスと、制御ユニットと、複数の電子装置と、を用いる。制御ユニットは、第1および第2シリアルバスに結合され、アドレスを含んだ第1命令を第1シリアルバスへ送信する。複数の電子装置は、それぞれ、第1および第2シリアルバスに着脱可能であり、第1および第2シリアルバスに接続された状態で自身のアドレスを含んだ第1命令を第1シリアルバスから受信した場合に、肯定応答を第1シリアルバスへ送信する。ここで、複数の電子装置のそれぞれは、第1および第2シリアルバスに接続された際に、第1信号を第2シリアルバスへ送信する。制御ユニットは、第1信号を受信した際に、第1シリアルバスとの間の通信を停止する。複数の電子装置のそれぞれは、候補となるアドレスを含んだ第1命令を第1シリアルバスへ送信しながら、当該第1命令に対する肯定応答を受信しないアドレスを探索し、当該探索結果となるアドレスを第2シリアルバスへ送信する。制御ユニットは、当該探索結果となるアドレスを第2シリアルバスから受信する。

0119

BS1 I2Cバス
BS2 GPIOバス
BSYSバスシステム
CTLU制御ユニット
GIF GPIOインタフェース
HCTLホストコントローラ
IIFf フルI2Cインタフェース
IIFs簡易I2Cインタフェース
MCU制御デバイス
MDLif通信IFモジュール
MDLmモータモジュール
MDLsセンサモジュール
MTモータ
SEN センサ

ページトップへ

この技術を出願した法人

この技術を発明した人物

ページトップへ

関連する挑戦したい社会課題

関連する公募課題

ページトップへ

おススメ サービス

おススメ astavisionコンテンツ

新着 最近 公開された関連が強い技術

この 技術と関連性が強い技術

関連性が強い 技術一覧

この 技術と関連性が強い人物

関連性が強い人物一覧

この 技術と関連する社会課題

関連する挑戦したい社会課題一覧

この 技術と関連する公募課題

関連する公募課題一覧

astavision 新着記事

サイト情報について

本サービスは、国が公開している情報(公開特許公報、特許整理標準化データ等)を元に構成されています。出典元のデータには一部間違いやノイズがあり、情報の正確さについては保証致しかねます。また一時的に、各データの収録範囲や更新周期によって、一部の情報が正しく表示されないことがございます。当サイトの情報を元にした諸問題、不利益等について当方は何ら責任を負いかねることを予めご承知おきのほど宜しくお願い申し上げます。

主たる情報の出典

特許情報…特許整理標準化データ(XML編)、公開特許公報、特許公報、審決公報、Patent Map Guidance System データ