特許第6802072号(P6802072)IP Force 特許公報掲載プロジェクト 2022.1.31 β版

知財求人 - 知財ポータルサイト「IP Force」

▶ NECプラットフォームズ株式会社の特許一覧

<>
  • 特許6802072-データ入出力制御装置および制御方法 図000002
  • 特許6802072-データ入出力制御装置および制御方法 図000003
  • 特許6802072-データ入出力制御装置および制御方法 図000004
  • 特許6802072-データ入出力制御装置および制御方法 図000005
  • 特許6802072-データ入出力制御装置および制御方法 図000006
  • 特許6802072-データ入出力制御装置および制御方法 図000007
  • 特許6802072-データ入出力制御装置および制御方法 図000008
  • 特許6802072-データ入出力制御装置および制御方法 図000009
  • 特許6802072-データ入出力制御装置および制御方法 図000010
< >
(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】6802072
(24)【登録日】2020年11月30日
(45)【発行日】2020年12月16日
(54)【発明の名称】データ入出力制御装置および制御方法
(51)【国際特許分類】
   G06F 13/38 20060101AFI20201207BHJP
【FI】
   G06F13/38 330A
   G06F13/38 310B
   G06F13/38 340C
【請求項の数】10
【全頁数】19
(21)【出願番号】特願2017-5183(P2017-5183)
(22)【出願日】2017年1月16日
(65)【公開番号】特開2018-116356(P2018-116356A)
(43)【公開日】2018年7月26日
【審査請求日】2019年12月16日
(73)【特許権者】
【識別番号】000227205
【氏名又は名称】NECプラットフォームズ株式会社
(74)【代理人】
【識別番号】100109313
【弁理士】
【氏名又は名称】机 昌彦
(74)【代理人】
【識別番号】100124154
【弁理士】
【氏名又は名称】下坂 直樹
(72)【発明者】
【氏名】樋渡 直樹
【審査官】 吉田 歩
(56)【参考文献】
【文献】 特開2003−069639(JP,A)
【文献】 米国特許出願公開第2003/0053458(US,A1)
(58)【調査した分野】(Int.Cl.,DB名)
G06F 13/38
(57)【特許請求の範囲】
【請求項1】
シリアル通信方式を用いて外部との通信を行う複数台の端末と、それぞれの前記端末とデータの送受信を行う1台のホストを接続し、それぞれの前記端末が同時に送信した同一内容の端末データのうちの最初に到着した前記端末データのみを前記ホストに送信し、前記端末データに応じて前記ホストが返送したホストデータを受信し、受信した当該ホストデータを複製して分配出力するデータ中継手段と、
それぞれの前記端末に対応して配備され、前記データ中継手段が分配出力する前記ホストデータを蓄積し、送信指示を受けると、蓄積した前記ホストデータを、接続している前記端末に送信するバッファメモリ手段と
を備え、
前記データ中継手段は、分配出力した前記ホストデータがそれぞれの前記端末に対応する前記バッファメモリ手段に蓄積され、かつ、前記端末データが全ての前記端末から到着したことを識別すると、前記バッファメモリ手段に前記送信指示を出力する
ことを特徴とするデータ入出力制御装置。
【請求項2】
前記データ中継手段は、
前記複数台の端末からの受信データラインを接続してそれぞれの端末から同一内容の前記端末データを受信し、最初に到着した前記端末データのみを前記ホストと接続した送信データラインを介して送信し、前記複数台の端末の全ての端末から前記端末データを受信すると、前記端末データが全ての前記端末から到着したことを示す端末データ受信完了通知を出力する端末データ制御回路と、
前記ホストからの受信データラインを接続し、前記ホストから前記ホストデータを受信すると当該ホストデータを複製して前記バッファメモリ手段に分配出力し、前記端末データ制御回路が出力する前記端末データ受信完了通知を受信すると前記送信指示を前記バッファメモリ手段に出力するホストデータ制御回路と
を含むことを特徴とする請求項1に記載のデータ入出力制御装置。
【請求項3】
前記端末データ制御回路は、
前記複数台の端末のそれぞれの端末に対応して配備され、当該端末からの受信データラインを接続し、当該端末が送信する前記端末データの受信を検知して端末データ受信通知を出力する端末データインタフェース部と、
前記ホストへの送信データラインを接続するホストデータインタフェース部と、
前記端末データインタフェース部を介して前記端末データを受信し、最初に到着した前記端末データのみを選択し、前記ホストデータインタフェース部を介して当該選択した端末データを送信する端末データ選択部と、
それぞれの前記端末データインタフェース部が出力する前記端末データ受信通知を受信し、前記複数台の端末の全ての端末から前記端末データを受信したことを識別すると前記端末データ受信完了通知を出力する端末データ受信完了通知部と、
を備えることを特徴とする請求項2に記載のデータ入出力制御装置。
【請求項4】
前記ホストデータ制御回路は、
前記ホストからの受信データラインを接続するホストデータインタフェース部と、
前記ホストから前記ホストデータを受信すると当該ホストデータを複製して前記バッファメモリ手段に分配出力し、分配出力した前記ホストデータがそれぞれの前記端末に対応する前記バッファメモリ手段に蓄積された旨を通知する分配出力完了通知を出力するホストデータ複製部と、
前記分配出力完了通知と前記端末データ受信完了通知を受信すると前記送信指示を前記バッファメモリ手段に出力するホストデータ送信制御部と
を備えることを特徴とする請求項2または請求項3に記載のデータ入出力制御装置。
【請求項5】
前記ホストデータ送信制御部は、前記送信指示を前記バッファメモリ手段に出力すると、前記端末データ受信完了通知と前記分配出力完了通知を削除し、前記複数台の端末のそれぞれの端末からの前記端末データの到着に関する情報のリセットを指示するリセット通知を前記端末データ制御回路に出力する
ことを特徴とする請求項4に記載のデータ入出力制御装置。
【請求項6】
前記複数台の端末のそれぞれの端末に対応して配備された前記バッファメモリ手段に、対応する前記端末の動作速度の動作クロック信号をそれぞれ供給する動作クロック供給回路を更に備え、
前記ホストとの間の動作速度を、前記端末の動作速度の最も遅い動作速度に設定し、
前記バッファメモリ手段は、前記送信指示を受けると、蓄積した前記ホストデータを、接続している前記端末の動作速度に対応する動作クロック信号に乗せ換えて送信する
ことを特徴とする請求項1乃至請求項5のいずれかの請求項に記載のデータ入出力制御装置。
【請求項7】
シリアル通信方式を用いて外部との通信を行う複数台の端末のそれぞれの端末が同時に送信する同一内容の端末データのうちの最初に到着した前記端末データのみをホストに送信し、
前記端末データに応じて前記ホストが返送したホストデータを受信し、受信した当該ホストデータを複製して分配出力し、
それぞれの前記端末に対応して配備されたバッファメモリに、分配出力された前記ホストデータを蓄積し、
分配出力した前記ホストデータをそれぞれの前記端末に対応する前記バッファメモリに蓄積し、かつ、前記端末データが全ての前記端末から到着したことを識別すると、前記バッファメモリに蓄積している前記ホストデータを、接続している前記端末に送信する
ことを特徴とするデータ入出力制御方法。
【請求項8】
前記複数台の端末のそれぞれの端末からの前記端末データの受信に際して、
それぞれの前記端末が送信する前記端末データの受信を検知して端末データ受信通知を出力し、
前記端末データ受信通知に基づいて前記複数台の端末の全ての端末から前記端末データが到着したことを示す端末データ受信完了通知を出力し、
前記端末データに応じて前記ホストが返送したホストデータの受信に際して、
前記ホストから前記ホストデータを受信すると当該ホストデータを複製してそれぞれの前記バッファメモリに分配して出力し、
分配出力した前記ホストデータがそれぞれの前記端末に対応する前記バッファメモリに蓄積された旨を通知する分配出力完了通知を出力し、
前記端末データ受信完了通知と前記分配出力完了通知の両方が出力された時に、それぞれの前記バッファメモリに蓄積している前記ホストデータを、接続している前記端末に送信する
ことを特徴とする請求項7に記載のデータ入出力制御方法。
【請求項9】
それぞれの前記バッファメモリに蓄積している前記ホストデータを接続している前記端末に送信すると、出力された前記端末データ受信完了通知と前記分配出力完了通知を削除し、前記複数台の端末のそれぞれの端末からの前記端末データの到着に関する情報をリセットする
ことを特徴とする請求項8に記載のデータ入出力制御方法。
【請求項10】
前記複数台の端末のそれぞれの端末に対応して配備された前記バッファメモリに、対応する前記端末の動作速度の動作クロック信号をそれぞれ供給し、
前記ホストとの間の動作速度を、前記端末の動作速度の最も遅い動作速度に設定し、
前記バッファメモリに蓄積している前記ホストデータを接続している前記端末に送信する際に、接続している前記端末の動作速度に対応する動作クロック信号に乗せ換えて前記ホストデータを送信する
ことを特徴とする請求項7乃至請求項9のいずれかの請求項に記載のデータ入出力制御方法。
【発明の詳細な説明】
【技術分野】
【0001】
本発明は、データ入出力制御装置および制御方法に関し、特に、ホストと複数の端末がシリアル通信する環境におけるデータ入出力制御装置および制御方法に関する。
【背景技術】
【0002】
一般に、電子機器に実装された基板内及び基板間におけるデバイス間での信号の通信方式として、I2C(Inter-Integrated Circuit)通信方式やSPI(Serial Peripheral Interface)通信方式などのシリアル通信方式が広く利用されている。また、このようなシリアル通信方式はマスタ−スレーブ間通信においても使用されており、この場合は少なくとも一つ以上の端末と一つ以上のホストとの組み合わせによって構成される。例えば、大規模システムを扱う基板に実装された端末側のデバイスである複数のDSP(Digital Signal Processor)が、ホスト側のデバイスである同一データを保持している複数のROM(Read Only Memory)から起動データを読み出す通信形態が考えられる。
【0003】
デバイス間でシリアル通信を行うデバイスの組み合わせが複数存在し、それぞれが1対1で同一データを通信するような場合、低消費電力化、回路規模削減、部品点数削減の観点から、ホスト側のデバイスの数を削減することが望ましいとされている。
【0004】
通常、シリアル通信方式においてデバイスを削減する方法としては、デバイス間のシリアル接続をバス接続方式とすることで実現している。バス接続方式では、1台のホストに対して複数台の端末が、一つの伝送路上で接続されている状態となっており、ホストは各端末と順番に通信を行う。
【0005】
このようなシリアル通信を用いた通信システムが特許文献1乃至特許文献3に開示されている。
【0006】
特許文献1は、センサとマイクロプロセッサとの間の通信をI2C通信のみならずSPI通信も可能なように構築した通信システムに関する技術である。I2CデバイスおよびSPIデバイスの双方をマスタとした通信システムでは、I2C通信とSPI通信とが非同期で動作するため、I2C通信の信号とSPI通信の信号とが衝突するおそれがある。そこで、特許文献1は、I2CデバイスおよびSPIデバイスの双方をマスタとした通信システムにおいて、選択回路を配備して、I2C通信の信号とSPI通信の信号とが衝突するおそれがないようにした通信システムを開示する。
【0007】
特許文献2は、マスタから複数のスレーブに対して、I2Cバスを用いたシリアル通信によって発行された同時複数制御を指示するコマンドによって、複数のスレーブを同時制御可能にしたシリアル通信システムを開示する。特許文献2が開示する技術によれば、複数の機能から成る制御プログラムを各スレーブに予め記憶しておき、マスタが複数のスレーブに対して、実行すべき制御プログラムの機能に対応するプログラムステップを、シリアル通信を介して指定する。そして、複数のスレーブの各々が指定されたプログラムステップを同時に実行することで、マスタが複数のスレーブに対して実行させるべき機能を同時に制御することができる。
【0008】
特許文献3は、親ノードと、通信回線を介して親ノードにマルチドロップ接続されてコマンド信号を受信する複数の子ノードとがポーリング/セレクティング方式でシリアル通信を行う技術を開示する。特許文献3は、親ノードと通信速度が互いに異なる複数の子ノードとが効率よく通信を行うことができる通信システムを実現する。特許文献3が開示する技術では、親ノードが各子ノードの通信速度に関する情報を記憶し、通信速度の速い子ノード宛の信号から順に高い優先度を予め設定する。そして、親ノードがバッファに格納された送信待ち信号に対して優先度に基づいて設定された送信順位に従って信号を送信することで、通信速度の速い子ノード宛の信号が優先的に送信されて効率的な通信が行われる。
【先行技術文献】
【特許文献】
【0009】
【特許文献1】特開2016-4388号公報
【特許文献2】特開2008-217757号公報
【特許文献3】特開2010-258811号公報
【発明の概要】
【発明が解決しようとする課題】
【0010】
1台のホストに対して複数台の端末が一つの伝送路上で接続されるバス接続方式では、ホストが複数台の端末とシリアル通信を行う場合、ホストと各端末との通信は逐次処理となる。そのため、ホストは通信中の端末との通信処理の完了を待たなければならず、次の端末と通信を開始するまでに待ち時間が発生し、ホストと接続される端末数が増えるに連れて通信に掛かる時間が増加するという課題があった。
【0011】
図1は、本発明の課題を説明するためのシリアル通信環境の構成例を示すブロック図である。例えば、図1に示すような1台のホスト200に複数台の端末101〜10nがそれぞれバス接続された構成でシリアル通信を行う場合、ホスト200が端末101と通信を行っている間は、その他の端末102〜10nはホスト200と通信をすることが出来ない。そして、端末101の通信処理が完了するのを待ってから次の端末がホスト200と通信を行う。そのため、ホスト200と接続される端末の数が増えた場合、全体としての処理時間は、端末の数が増えるにつれて、ホスト200が一つの端末との通信に掛かる時間ずつ増加することになる。このことは、複数台の端末が同一内容の端末データを1台のホストに送信し、ホストから各端末に同一内容のホストデータを返送する形態のシリアル通信を行う環境においてもいえる。
【0012】
特許文献1は、I2CデバイスおよびSPIデバイスの双方をマスタとした通信システムにおいて、I2C通信の信号とSPI通信の信号とが衝突するおそれがないようにした通信システムを開示する。しかし、特許文献1は複数台の端末と1台のホストがシリアル通信を行う場合の処理時間を短縮することには言及していない。
【0013】
特許文献2は、マスタから複数のスレーブを同時制御可能にして処理時間を短縮するシリアル通信システムを開示する。特許文献2では、制御プログラムを予め記憶した各スレーブに、実行すべき制御プログラムの機能に対応するプログラムステップをマスタから指示する。そして、複数のスレーブの各々が指示されたプログラムステップを同時に実行するように構成している。しかし、特許文献2が開示する通信システムは、逆方向の通信である、複数のスレーブから1つのマスタ方向の同時通信に関しては言及していない。
【0014】
特許文献3は、親ノードと通信速度が互いに異なる複数の子ノードとの通信に際し、親ノードのバッファに格納された送信待ち信号に対して、子ノードの通信速度に応じた優先度で送信する通信システムを開示する。しかし、特許文献3が開示する通信システムは、逆方向の通信である、複数の子ノードから1つの親ノード方向の同時通信および処理時間の短縮に関しては言及していない。
【0015】
本発明は、複数台の端末と1台のホストが同一内容のデータでシリアル通信を行う環境において、ホストと各端末の相互間の通信における全体としての処理時間を最小限に抑えて通信することを可能とするデータ入出力制御装置および制御方法を提供する。
【課題を解決するための手段】
【0016】
上記の目的を実現するために、本発明の一形態であるデータ入出力制御装置は、シリアル通信方式を用いて外部との通信を行う複数台の端末と、前記端末のそれぞれの前記端末とデータの送受信を行う1台のホストを接続し、それぞれの前記端末が同時に送信した同一内容の端末データのうちの最初に到着した前記端末データのみを前記ホストに送信し、前記端末データに応じて前記ホストが返送したホストデータを受信し、受信した当該ホストデータを複製して分配出力するデータ中継手段と、それぞれの前記端末に対応して配備され、前記データ中継手段が分配出力する前記ホストデータを蓄積し、送信指示を受けると、蓄積した前記ホストデータを、接続している前記端末に送信するバッファメモリ手段とを含み、前記データ中継手段は、分配出力した前記ホストデータがそれぞれの前記端末に対応する前記バッファメモリ手段に蓄積され、かつ、前記端末データが全ての前記端末から到着したことを識別すると、前記バッファメモリ手段に前記送信指示を出力することを特徴とする。
【0017】
また、本発明の別の形態であるデータ入出力制御方法は、シリアル通信方式を用いて外部との通信を行う複数台の端末のそれぞれの端末が同時に送信する同一内容の端末データのうちの最初に到着した前記端末データのみをホストに送信し、前記端末データに応じて前記ホストが返送したホストデータを受信し、受信した当該ホストデータを複製して分配出力し、それぞれの前記端末に対応して配備されたバッファメモリに、分配出力された前記ホストデータを蓄積し、分配出力した前記ホストデータをそれぞれの前記端末に対応する前記バッファメモリに蓄積し、かつ、前記端末データが全ての前記端末から到着したことを識別すると、前記バッファメモリに蓄積している前記ホストデータを、接続している前記端末に送信することを特徴とする。
【発明の効果】
【0018】
本発明は、複数台の端末と1台のホストが同一内容のデータでシリアル通信を行う環境において、ホストと各端末の相互間の通信における全体としての処理時間を最小限に抑えることができる。
【図面の簡単な説明】
【0019】
図1】本発明の課題を説明するためのシリアル通信環境の構成例を示すブロック図である。
図2】本発明の第1の実施形態のデータ入出力制御装置の構成例を示すブロック図である。
図3】本発明の第1の実施形態のデータ入出力制御方法の動作を説明するフロー図である。
図4】本発明の第2の実施形態のデータ入出力制御装置の構成例を示すブロック図である。
図5】第2の実施形態のデータ入出力制御装置の端末データ制御回路の構成例を示すブロック図である。
図6】第2の実施形態のデータ入出力制御装置のホストデータ制御回路の構成例を示すブロック図である。
図7】端末データ制御回路が、複数台の端末から送信された端末データを、1台のホストに送信する動作を示すフローチャートである。
図8】ホストデータ制御回路が、1台のホストから受信したホストデータを複数台の端末に送信する動作を示すフローチャートである。
図9】本発明の第3の実施形態のデータ入出力制御装置の構成例を示すブロック図である。
【発明を実施するための形態】
【0020】
本発明を実施するための形態の概要を説明する。
【0021】
本発明を実施するための形態は、同一のシリアル通信方式を用いて外部との通信を行う複数台の端末と1台のホストの間にデータ中継装置としてのデータ入出力制御装置を配置して、それらの端末とホストの間の通信を実行する。シリアル通信方式としては、送信線と受信線の2本のデータ線を有するSPI方式の場合について説明する。
【0022】
また、本発明を実施するための形態において適用される通信では、すべての端末からホストに同一内容のデータが送られ、ホストからの応答データもすべての端末に対して同一内容のデータが返送される。例えば、電源起動等で複数の端末がホストから起動データ(同一内容のデータ)を要求する場合が想定される。
【0023】
なお、実施の形態は例示であり、開示の装置及び方法は、以下の実施の形態の構成には限定されない。また、図に付した参照符号は理解を助けるための一例として便宜上付記したものであり、なんらの限定を意図するものではない。さらに、図面中の矢印の向きは、一例を示すものであり、ブロック間の信号の向きを限定するものではない。なお、図中の一点鎖線は装置内で伝達される制御信号を示している。
【0024】
(第1の実施形態)
図2を参照して第1の実施形態のデータ入出力制御装置の構成を説明する。
【0025】
本実施形態のデータ入出力制御装置30は、シリアル通信方式を用いて外部との通信を行う複数台の端末10と、複数台の端末10のそれぞれの端末とデータの送受信を行う1台のホスト20と接続する。なお、複数台の端末10のそれぞれを区別する必要がある場合は、端末11、12乃至1nとして説明する。
【0026】
データ入出力制御装置30は、データ中継手段31とバッファメモリ手段32を含んで構成される。
【0027】
データ中継手段31は複数台の端末10のそれぞれの端末11、12乃至1nとシリアル通信線によって接続される。また、データ中継手段31はホスト20とシリアル通信線によって接続される。
【0028】
データ中継手段31は、複数台の端末10のそれぞれの端末11、12乃至1nが同時に送信した同一内容の端末データのうちの最初に到着した端末データのみをホスト20に送信する。ここで、それぞれの端末11、12乃至1nは端末データを同時に送信するが、送信処理の端末毎のばらつきや、端末が実装されている位置によって端末データがデータ中継手段31に到着する時間が若干異なる。このように到着時間が若干異なる端末データのうちの最初に到着した端末データのみをホスト20に送信する。
【0029】
そして、データ中継手段31は、この端末データに応じてホスト20が返送したホストデータを受信し、受信した当該ホストデータを複製して分配出力する。
【0030】
バッファメモリ手段32は、複数台の端末10のそれぞれの端末11、12乃至1nに対応して配備され、データ中継手段31が分配出力するホストデータを蓄積する。また、バッファメモリ手段32は、送信指示を受けると、蓄積したホストデータを、接続している端末11、12乃至1nに送信する。
【0031】
ここで、データ中継手段31は、分配出力したホストデータがそれぞれの端末11、12乃至1nに対応するバッファメモリ手段32に蓄積され、かつ、端末データが複数台の端末10の全ての端末11、12乃至1nから到着したことを識別すると、バッファメモリ手段32に送信指示を出力する。
【0032】
次に、図3を参照して第1の実施形態のデータ入出力制御方法の動作を説明する。
【0033】
第1の実施形態のデータ入出力制御方法は、第1の実施形態のデータ入出力制御装置30が図3の各動作ステップを実行することで実現される。
【0034】
シリアル通信方式を用いて外部との通信を行う複数台の端末のそれぞれの端末が同時に送信する同一内容の端末データのうちの最初に到着した端末データのみをホストに送信する(S101)。
【0035】
この端末データに応じてホストが返送したホストデータを受信し、受信した当該ホストデータを複製して分配出力する(S102)。
【0036】
それぞれの端末に対応して配備されたバッファメモリに、分配出力されたホストデータを蓄積する(S103)。
【0037】
分配出力したホストデータをそれぞれの端末に対応するバッファメモリに蓄積し、かつ、端末データが複数台の端末の全ての端末から到着したことを識別すると、バッファメモリに蓄積しているホストデータを、接続している端末に送信する(S104)。
【0038】
本実施形態のデータ入出力制御装置は、複数台の端末のそれぞれの端末が同時に送信した端末データの中から最初に到着したいずれか一つの端末データをホストに送信する。そして、その端末データに応じてホストが返送したホストデータを受信して複製し、それぞれの端末に対応して配備されたバッファメモリに蓄積する。そして、ホストデータをそれぞれの端末に送信するタイミングを確認して、バッファメモリを解放する。ホストデータをそれぞれの端末に送信するタイミングとは、ホストデータを各バッファメモリに蓄積し、しかも、到着時間が若干異なる端末データが全ての端末から到着したことを識別したタイミングである。
【0039】
このように、本実施形態では複数台の端末と1台のホストが同一内容のデータでシリアル通信を行う環境において、各端末による逐次処理を行うことなく、ホストと各端末の相互間の通信における全体としての処理時間を最小限に抑えることができる。
【0040】
(第2の実施形態)
次に、図4乃至図8を参照して第2の実施形態を説明する。
【0041】
図4は、本発明の第2の実施形態のデータ入出力制御装置の構成例を示すブロック図である。
【0042】
第2の実施形態のデータ入出力制御装置40は、第1の実施形態のデータ入出力制御装置30と同様に、シリアル通信方式を用いて外部との通信を行う複数台の端末10と、それぞれの端末とデータの送受信を行う1台のホスト20と接続する。なお、複数台の端末10のそれぞれを区別する必要がある場合は、端末11、12乃至1nとして説明する。
【0043】
データ入出力制御装置40は、端末データ制御回路41、ホストデータ制御回路42およびバッファメモリ回路43を含んで構成される。ここで、端末データ制御回路41およびホストデータ制御回路42は、第1の実施形態におけるデータ中継手段31に対応する構成となっている。
【0044】
端末データ制御回路41は、複数台の端末10のそれぞれの端末11、12乃至1nとシリアル通信線の受信データラインによって接続され、ホスト20とはシリアル通信線の送信データラインによって接続される。端末データ制御回路41は、複数台の端末10のそれぞれの端末11、12乃至1nから同一内容の端末データを非同期で受信し、最先着の端末データをホスト20に送信する。ここで、「非同期で受信」とは、それぞれの端末11、12乃至1nは端末データを同時に送信するが、端末データ制御回路41に到着する時間にばらつきがあることを意味する。これは、前述したように、送信処理の端末毎のばらつきや、端末が実装されている位置によって端末データの到着時間が若干異なることに起因するものである。
【0045】
また、端末データ制御回路41は、それぞれの端末11、12乃至1nが送信した端末データの到着状況を識別し、全ての端末11、12乃至1nからの端末データの受信完了を確認すると受信完了通知をホストデータ制御回路42に出力する。
【0046】
ホストデータ制御回路42は、ホスト20とシリアル通信線の受信データラインによって接続され、端末データに応じてホスト20が返送するホストデータを受信する。
【0047】
ホストデータ制御回路42は、ホスト20から受信したホストデータを、複数台の端末10の数に応じて複製し、同一内容のホストデータを分配出力する。
【0048】
バッファメモリ回路43は、複数台の端末10のそれぞれの端末11、12乃至1nに対応して配備されたFIFO(First In First Out)バッファを備えて構成される。各FIFOバッファはホストデータ制御回路42に接続され、ホストデータ制御回路42が分配出力するホストデータは、個々のFIFOバッファに格納・蓄積される。
【0049】
ホストデータ制御回路42は、分配出力したホストデータがそれぞれのFIFOバッファに蓄積されたこと、および端末データの受信完了通知を受け取ったことを条件に、バッファメモリ回路43に対して送信指示を出力する。なお、ホストデータ制御回路42は、ホストデータを分配出力したことを以てホストデータがそれぞれのFIFOバッファに蓄積されたと判断してかまわない。または、バッファメモリ回路43が各FIFOバッファの蓄積状況を確認し、全てのFIFOバッファの蓄積データ量が同一量増加したことを以て、ホストデータ制御回路42に蓄積完了通知を出すように構成してもかまわない。
【0050】
送信指示を受けたバッファメモリ回路43は、個々のFIFOバッファに蓄積したホストデータを、シリアル通信線の送信データラインによって接続されているそれぞれの端末11、12乃至1nに送信する。
【0051】
このように、データ入出力制御装置40は、端末データ制御回路41に最先着した端末データをホスト20に送信し、その端末データに対する返送データであるホストデータを受け取ると、その複製を生成して分配出力する。分配出力されたホストデータは各端末に対応するFIFOバッファに一旦蓄積される。そして、複数台の端末10の全ての端末11、12乃至1nから端末データを受信したことを確認すると、FIFOバッファを解放して、蓄積されているホストデータを一斉に各端末に送信する。
【0052】
上述したデータ入出力制御装置40の利用例を簡単に説明する。
【0053】
電源起動時に複数台の端末10のそれぞれの端末11、12乃至1nが同時に通信を開始し、ホスト20に対してホスト20が備えるメモリのアドレス100番地から101番地、102番地・・・と順番にデータ読み出しを行う場合を例にして説明する。
【0054】
起動後、各端末はリードフラグとアドレス情報(100番地)を含んだ端末データをホスト20に対して送信する。端末データ制御回路41は各端末から受信した端末データの中で最先着の端末データをそのままホスト20へ送信する。また、端末データ制御回路41は各端末が送信した端末データの到着数が、接続されている全ての端末数になるまでカウントし、到着数=端末数になった時にホストデータ制御回路42へ端末データ受信完了通知を出力する。なお、最先着以外の端末データは廃棄される。
【0055】
ホスト20は、最先着で受信した端末データに基づいた処理を実行し、指定されたメモリのアドレス(100番地)に格納されたデータを読み出して、ホストデータとして端末側に返送する。
【0056】
ホストデータ制御回路42は、ホスト20から受信したホストデータを複数台の端末10の数に応じて複製して分配出力する。分配出力されたホストデータは、ホストデータ制御回路42と接続されているバッファメモリ回路43の各FIFOバッファに蓄積される。ホストデータ制御回路42は、全てのFIFOバッファへのホストデータの蓄積完了と端末データ制御回路41からの端末データ受信完了通知の受信をもって送信指示を出力して全てのFIFOバッファを解放する。これにより、FIFOバッファに蓄積されたホストデータが各端末に送信される。
【0057】
複数の端末10やホスト20のそれぞれの自身の視点から見ると、上記の動作は通常の同期式シリアル通信を行っているのと変わらない。そして、各端末はリードフラグと次に読み出すべきアドレス情報(101番地)を含んだ端末データをホスト20に対して送信する動作を、必要データの読み出しが完了するまで順次繰り返して実行する。
【0058】
このように、本実施形態では、ホスト20はデータ入出力制御装置40を介することにより、接続している端末の数に依存することなく、複数台の端末10の中の一つの端末のデータについて処理を行えば良い。そのため、本実施形態のように構成することで、ホストデータの複製やFIFOバッファの解放のタイミング調整の時間を鑑みても、複数台の端末10と1台のホスト20との間の通信処理時間を大幅に短縮することができる。
【0059】
続いて、端末データ制御回路41とホストデータ制御回路42について説明する。
【0060】
図5は、データ入出力制御装置40の端末データ制御回路41の構成例を示すブロック図である。
【0061】
端末データ制御回路41は、端末データインタフェース部411、ホストデータインタフェース部412、端末データ選択部413および端末データ受信完了通知部414を含む構成になっている。
【0062】
端末データインタフェース部411は、複数台の端末10のそれぞれの端末11、12乃至1nに対応して配備され、シリアル通信線の受信データラインによって各端末と接続される。端末データインタフェース部411は、対応する端末から受信した端末データを端末データ選択部413に出力する。また、端末データインタフェース部411は、対応する端末からの端末データを受信したときに、当該端末が送信した端末データが到着したことを示す端末データ受信通知を端末データ受信完了通知部414に出力する。
【0063】
なお、前述したように、起動時間の端末毎のばらつきや、端末の実装位置によって、各端末が送信する端末データの到着時間にはばらつきがある。
【0064】
ホストデータインタフェース部412は、シリアル通信線の送信データラインによってホスト20と接続される。
【0065】
端末データ選択部413は、複数台の端末10のそれぞれの端末11、12乃至1nから受信した端末データを入力し、そのうちの一つを選択してホストデータインタフェース部412を介してホスト20に出力する。前述のように、各端末が送信する端末データは全て同一内容のデータであるため、何れか一つの端末データをホスト20に送信すればよい。端末データ選択部413は、複数台の端末10のそれぞれの端末11、12乃至1nが送信した端末データのうち、最先着の端末データを選択して出力する。なお、最先着の端末データを選択して出力した後に到着する他の端末データは廃棄する。
【0066】
端末データ受信完了通知部414は、複数台の端末10のそれぞれの端末11、12乃至1nが送信した端末データの到着を、対応する端末データインタフェース部411が出力する端末データ受信通知により知ることができる。そして、端末データインタフェース部411に接続された全ての端末11、12乃至1nからの端末データ受信通知を受信することで、全ての端末11、12乃至1nからの端末データが到着したことを識別する。全ての端末11、12乃至1nからの端末データが到着したことを識別した端末データ受信完了通知部414は、端末データ受信完了通知をホストデータ制御回路42へ出力してその旨を通知する。なお、端末データ受信完了通知部414は、端末データインタフェース部411に接続されている端末数を把握しており、端末データを受信した端末の数と比較して全ての端末11、12乃至1nからの端末データが到着したことを識別する。
【0067】
また、端末データ受信完了通知部414はホストデータ制御回路42からリセット通知を受信する。このリセット通知は、後述するように、ホストデータ制御回路42が図4で説明したバッファメモリ回路43に送信指示を出力して全てのFIFOバッファを解放させた後に、次の通信に備えて関連回路をリセットするものである。そのため、端末データ受信完了通知部414は端末データ受信通知のカウントをリセットするとともに、端末データ選択部413にもリセット通知を送る。端末データ選択部413は、リセット通知の受信により、最先着の端末データ選択に関する情報をリセットして次に送信される端末データの選択に備える。
【0068】
次に、ホストデータ制御回路42について説明する。
【0069】
図6は、データ入出力制御装置40のホストデータ制御回路42の構成例を示すブロック図である。
【0070】
ホストデータ制御回路は、ホストデータインタフェース部421、ホストデータ複製部422およびホストデータ送信制御部423を含む構成になっている。
【0071】
ホストデータインタフェース部421は、シリアル通信線の受信データラインによってホスト20と接続される。
【0072】
ホストデータ複製部422は、ホストデータインタフェース部421を介してホスト20から受信したホストデータを、接続されているすべての端末の数だけ複製して分配出力する。ここでホスト20から受信するホストデータは、端末データ制御回路41が選択してホスト20に送信した端末データに対する返送データである。
【0073】
ホストデータ複製部422が分配出力したホストデータは、図4で説明したバッファメモリ回路43の各端末に対応するFIFOバッファに格納され蓄積される。
【0074】
ホストデータ複製部422は、複製したホストデータの分配出力が完了すると分配出力完了通知を出力する。ここでは、ホストデータを分配出力したことを以てホストデータがそれぞれのFIFOバッファに蓄積されたと見なしている。もちろん、前述したように、バッファメモリ回路43からFIFOバッファの蓄積完了通知を受信するように構成している場合は、バッファメモリ回路43からの蓄積完了通知受信を以て分配出力完了通知を出力すればよい。
【0075】
ホストデータ送信制御部423は、図5で説明した端末データ制御回路41の端末データ受信完了通知部414から端末データ受信完了通知を受信する。また、ホストデータ送信制御部423は、複製したホストデータの分配出力が完了したことを示す分配出力完了通知をホストデータ複製部422から受信する。
【0076】
ホストデータ送信制御部423は、分配出力完了通知を受信し、かつ、端末データ受信完了通知を受信したときに、図4で説明したバッファメモリ回路43に送信指示を出力して、全てのFIFOバッファを解放させる。これにより、FIFOバッファに蓄積されたホストデータが各端末に送信される。
【0077】
ホストデータ送信制御部423は、送信指示を出力して全てのFIFOバッファを解放させた後に、受信した端末データ受信完了通知と分配出力完了通知を削除し、リセット通知を端末データ制御回路41に送る。これは、前述したように、次の通信に備えて関連回路をリセットするものである。
【0078】
上述した端末データ制御回路41とホストデータ制御回路42の動作を、それぞれ図7図8を参照して説明する。
【0079】
図7は、端末データ制御回路41が、複数台の端末から送信された端末データを、1台のホストに送信する動作を示すフローチャートである。
【0080】
複数台の端末10のそれぞれの端末11、12乃至1nは非同期で通信を開始して、ホスト20に対して端末データを送信する。例えば、電源起動時にホスト20が備えるメモリのアドレス100番地から101番地、102番地・・・と順番にデータ読み出しの処理を行うものとすると、端末データとしてリードフラグとアドレス情報(100番地)を含んだデータを送信する。
【0081】
各端末は同時に通信を開始するが、起動時間の端末毎のばらつきや、端末の実装位置によってそれぞれの端末データが端末データ制御回路41に到着する時間が若干異なる。端末データ制御回路41では、複数台の端末10のそれぞれの端末11、12乃至1nが送信した端末データを到着順に受信する(S201)。
【0082】
端末データ制御回路41では、受信した端末データが最先着であるかどうかを確認する(S202)。
【0083】
受信した端末データが最先着のものである場合(S202、Yes)、端末データ制御回路41はこの最先着の端末データをそのままホスト20へ送信する(S203)。そして、ステップS201に戻り、後続の端末データを順次受信する。
【0084】
ステップS202の処理で、受信した端末データが最先着のものでない場合、(S202、No)、端末データ制御回路41では、受信した端末データが最後着であるかどうかを確認する(S204)。つまり、端末データ制御回路41は各端末が送信した端末データの到着数が、接続されている全ての端末数になるまでカウントし、到着数=端末数になったときに、最後着の端末データを受信したことを識別する。
【0085】
ステップS204の処理で、受信した端末データが最後着のものでない場合、(S204、No)、端末データ制御回路41は、受信した端末データを廃棄し(S205)、ステップS201に戻り、後続の端末データを順次受信する。
【0086】
ステップS204の処理で、受信した端末データが最後着のものである場合、(S204、Yes)、端末データ制御回路41は複数台の端末10の全ての端末11、12乃至1nからの端末データを受信したことを示す端末データ受信完了通知を出力する(S206)。なお、受信した最後着の端末データはステップS206において廃棄される。
【0087】
続いて、ホストデータ制御回路42の動作を説明する。
【0088】
図8は、ホストデータ制御回路42が、1台のホスト20から受信したホストデータを、複数台の端末10のそれぞれの端末11、12乃至1nに送信する動作を示すフローチャートである。
【0089】
ホスト20は、端末データ制御回路41から受信した最先着の端末データに基づいた処理を実行し、指定されたメモリのアドレス(100番地)に格納されたデータを読み出して、ホストデータとしてホストデータ制御回路42に送信する。
【0090】
ホストデータ制御回路42は、ホスト20から返送されたホストデータを受信する(S301)。
【0091】
そして、ホストデータ制御回路42は、この受信したホストデータを複製してバッファメモリ回路43の各FIFOバッファに送信する(S302)。ホストデータは複数台の端末10のそれぞれの端末11、12乃至1nに対して複製され、対応するFIFOバッファに分配出力される。ステップS303で、全てのFIFOバッファにホストデータを蓄積したかどうかを確認する。
【0092】
このステップS302とS303の処理は、ホストデータ複製部422で実行され、複製したホストデータの分配出力が完了すると分配出力完了通知が出力される。前述したように、ホストデータの分配出力が完了したことを以てホストデータがそれぞれのFIFOバッファに蓄積されたと見なしている。もちろん、バッファメモリ回路43からFIFOバッファの蓄積完了通知を受信するように構成している場合は、バッファメモリ回路43からの蓄積完了通知で確認できる。
【0093】
全てのFIFOバッファにホストデータを蓄積したことを確認すると(S303、Yes)、ホストデータ制御回路42は、端末データ制御回路41から端末データ受信完了通知を受信したかどうかを確認する(S304)。
【0094】
ステップS304で、端末データ受信完了通知をまだ受信していない場合(S304、No)、端末データ制御回路41からの端末データ受信完了通知を待受ける。
【0095】
端末データ受信完了通知を受信した場合(S304、Yes)、ホストデータ制御回路42は、送信指示を出力して全てのFIFOバッファを解放する(S305)。これにより、FIFOバッファに蓄積されたホストデータが各端末に送信される。また、ステップS305では、送信指示を出力して全てのFIFOバッファを解放させた後に、受信した端末データ受信完了通知と分配出力完了通知を削除し、リセット通知を端末データ制御回路41に送る。リセット通知は、前述したように、次の通信に備えて関連回路をリセットするものである。
【0096】
複数台の端末10のそれぞれの端末11、12乃至1nの全てが、対応するFIFOバッファからホストデータを受信することで一連の通信が完了する。
【0097】
つまり、各端末は、送信したリードフラグとアドレス情報(100番地)を含んだ端末データに対して、指定されたメモリのアドレス(100番地)からホスト20が読み出して返送したデータであるホストデータを受信する。そして、各端末はリードフラグと次に読み出すべきアドレス情報(101番地)を含んだ端末データをホスト20に対して送信し、必要データの読み出しが完了するまで順次繰り返して次以降の通信を実行する。
【0098】
なお、上記の説明ではステップS303で全てのFIFOバッファにホストデータを蓄積したかどうかを確認し、ステップS304で端末データ制御回路41からの端末データ受信完了通知の受信を確認している。しかし、これらのステップの順番は逆であってもかまわない。つまり、端末データ制御回路41からの端末データ受信完了通知の受信を確認し、その後に全てのFIFOバッファにホストデータを蓄積したかどうかを確認するようにしてもよい。ホストデータ制御回路42は、全てのFIFOバッファへのホストデータの格納完了と端末データ制御回路41からの受信完了通知の受信をもって送信指示を出力する。
【0099】
以上に説明したように、複数台の端末と1台のホスト間でシリアル通信を行う場合、各端末とホスト間での逐次処理が行われ、端末の数が増加するほど全体としての通信時間が端末の数だけ増加していた。例えば、複数台の端末と1台のホストとの全体としての通信時間をT、ホストが一つの端末との通信を行う時間をS、端末の数をNとすると、逐次処理を行う場合には、T=S×Nの通信時間を要した。
【0100】
一方、本実施形態のデータ入出力制御装置を用いることにより、ホストは複数ある端末の中の一つの端末の端末データについて処理を行えば良いことになる。そのため、必要とする通信時間は、T=S×1+(データ入出力制御装置におけるデータの処理時間)と表すことができる。
【0101】
つまり、端末の数Nが増加した場合、逐次処理を行う場合には全体としての通信時間Tは端末数に比例して増加するのに対し、本実施形態では、端末の数Nに拠らず、全体としての通信時間Tは一定であるといえる。また、各端末は他の端末の通信状況に拠らず、タイミングを気にすることなく通信を行うことができるので、端末内の制御回路等の簡素化に寄与できる。また、ホストは複数ある端末の中の一つの端末のデータについて処理を行えば良いので、ホスト負荷の軽減に寄与できる。
【0102】
このように、本実施形態では複数台の端末と1台のホストが同一内容のデータでシリアル通信を行う環境において、各端末による逐次処理を行うことなく、ホストと各端末の相互間の通信における全体としての処理時間を最小限に抑えることができる。
【0103】
(第3の実施形態)
次に、図9を参照して第3の実施形態を説明する。
【0104】
図9は、本発明の第3の実施形態のデータ入出力制御装置の構成例を示すブロック図である。
【0105】
第3の実施形態のデータ入出力制御装置50は、図4に示した第2の実施形態のデータ入出力制御装置40に加えて、動作クロック供給回路54を含む構成になっている。
【0106】
また、データ入出力制御装置50にシリアル通信線により接続される複数台の端末10のそれぞれの端末11、12乃至1nの動作速度は異なるものとして構成される。そして、データ入出力制御装置50とホスト20との間の動作速度は低速側の端末の動作速度に合わされて、最も遅い動作速度に設定されているものとする。
【0107】
動作クロック供給回路54は、バッファメモリ回路53の各FIFOバッファに、対応する端末の動作速度の動作クロック信号をそれぞれ供給する。
【0108】
その他の構成については第2の実施形態で説明した各機能部ブロックの構成と同じなので、それらの説明は省略する。また、端末データ制御回路51が複数台の端末10のそれぞれの端末11、12乃至1nから端末データを受信し、最先着の端末データをホスト20に送信する動作も第2の実施形態の動作と同じなので、その関連動作の説明は省略する。ここでは、ホストデータ制御回路52がホスト20からホストデータを受信する動作から説明する。
【0109】
ホスト20から受信したホストデータはホストデータ制御回路52で分配され、バッファメモリ回路53の各FIFOバッファに格納・蓄積される。
【0110】
ホストデータ制御回路52は、全てのFIFOバッファにホストデータを蓄積し、かつ、端末データ制御回路51から端末データ受信完了通知を受信すると送信指示を出力して全てのFIFOバッファを解放する。
【0111】
これにより、ホストデータが各端末に送信されるが、その際に、各FIFOバッファでは、動作クロック供給回路54から供給されたそれぞれの端末の動作速度に対応する動作クロック信号に乗せ換えてホストデータを各端末に送信する。
【0112】
従って、本実施形態のデータ入出力制御装置50によれば、複数台の端末10のそれぞれの端末11、12乃至1nと1台のホスト20の動作速度が異なっている場合であっても、ホスト20は最も遅い端末の動作速度に合わせた処理が行なえる。そして、FIFOバッファの出力に際して、動作クロック供給回路54が供給するそれぞれの端末の動作速度に対応した動作クロック信号に乗せ換えて処理することで、各端末の動作速度でホストデータを送信することができる。
【0113】
このように、本実施形態では複数台の端末と1台のホストが同一内容のデータでシリアル通信を行う環境において、各端末による逐次処理を行うことなく、ホストと各端末の相互間の通信における全体としての処理時間を最小限に抑えることができる。しかも、各端末の動作速度が異なる場合であっても、ホストは各端末のそれぞれの動作速度に合わせることなく通信することができる。
【0114】
なお、上述した各実施形態のデータ入出力制御装置は、CPU(Central Processing Unit)にコンピュータプログラムを実行させることで任意の処理を行う、一般的なコンピュータ装置と同様のハードウェア構成によって実現しても良い。つまり、CPUが、不揮発メモリ等で構成される補助記憶部に格納されているプログラムを、RAM(Random Access Memory)等の主記憶部にロードして実行することで、上述したデータ入出力制御装置の各機能をソフトウェア的に実現しても良い。
【符号の説明】
【0115】
10、11、12、1n 端末
101、102、10n 端末
20、200 ホスト
30、40、50 データ入出力制御装置
31 データ中継手段
32 バッファメモリ手段
41、51 端末データ制御回路
42、52 ホストデータ制御回路
43、53 バッファメモリ回路
54 動作クロック供給回路
411 端末データインタフェース部
412、421 ホストデータインタフェース部
413 端末データ選択部
414 端末データ受信完了通知部
422 ホストデータ複製部
423 ホストデータ送信制御部
図1
図2
図3
図4
図5
図6
図7
図8
図9