(57)【要約】【課題】処理負荷を軽減しつつ、スレーブ機器からデータを受信する。【解決手段】データ伝送装置１は、クロック信号を発生させるクロック発生部１３と、クロック信号をスレーブ機器２に送信するクロック送信部１４と、データのサイズを示す情報を含む処理命令情報をスレーブ機器２に送信するデータ送信部１６と、スレーブ機器から取得対象データを受信するデータ受信部１７と、を備え、クロック発生部１３は、データ送信部１６が処理命令情報をスレーブ機器２に送信している間、クロック信号を発生させ、処理命令情報をスレーブ機器２に送信し終えると、取得対象データのサイズに基づいて、当該取得対象データを受信し終えるまでクロック信号を発生させる。【選択図】図１
2014220650.tif 000002
【特許請求の範囲】
【請求項１】
クロック信号を受信したことに応じてデータを送信するスレーブ機器からデータを受信するデータ伝送装置であって、
クロック信号を発生させるクロック発生部と、
前記クロック信号を前記スレーブ機器に送信するクロック送信部と、
データのサイズを示す情報を含む処理命令情報を前記スレーブ機器に送信するデータ送信部と、
前記スレーブ機器から取得対象データを受信するデータ受信部と、を備え、
前記クロック発生部は、前記データ送信部が前記処理命令情報を前記スレーブ機器に送信している間、前記クロック信号を発生させ、前記処理命令情報を前記スレーブ機器に送信し終えると、前記取得対象データのサイズに基づいて、当該取得対象データを受信し終えるまで前記クロック信号を発生させる、
データ伝送装置。
【請求項２】
前記クロック発生部は、前記処理命令情報を解析して、当該処理命令情報に含まれている前記取得対象データのサイズを特定し、当該取得対象データのサイズに基づいて、当該取得対象データを前記スレーブ機器から受信するまでに必要とされるクロック数を算出し、算出したクロック数に基づいて前記クロック信号を発生させる、
請求項１に記載のデータ伝送装置。
【請求項３】
前記取得対象データのサイズを示すサイズ情報を格納するサイズ情報記憶部と、
前記サイズ情報記憶部に前記サイズ情報を記憶させる記憶制御部と、
をさらに備え、
前記クロック発生部は、前記サイズ情報記憶部に記憶されている前記サイズ情報に基づいて、当該取得対象データを前記スレーブ機器から受信するまでに必要とされるクロック数を算出し、算出したクロック数に基づいて前記クロック信号を発生させる、
請求項１に記載のデータ伝送装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、データを送受信するデータ伝送装置に関するものである。
【背景技術】
【０００２】
従来、マスタースレーブ型のシリアル通信方法として、ＳＰＩ（Serial Peripheral Interface）（登録商標）が知られている（例えば、特許文献１参照）。ＳＰＩでは、マスターに設定された機器（以下、マスター機器という）と、スレーブに設定された機器（以下、スレーブ機器という）との間で、クロックに同期してデータ通信が行われる。
【０００３】
具体的には、ＳＰＩのマスター機器は、クロック送信部と、データ送信部と、データ受信部とを備える。マスター機器は、データ送信部により、スレーブ機器からデータを取得するための制御情報をスレーブ機器にシリアル送信するとともに、クロック送信部により、クロック信号をスレーブ機器に送信する。スレーブ機器は、マスター機器から受信したクロック信号に同期して、スレーブ機器に格納されているデータをマスター機器にシリアル送信し、マスター機器のデータ受信部が当該データを受信する。
【先行技術文献】
【特許文献】
【０００４】
【特許文献１】特開２００８−２２１０１号公報
【発明の概要】
【発明が解決しようとする課題】
【０００５】
ところで、ＳＰＩでは、マスター機器がスレーブ機器からデータを受信する場合において、マスター機器は、データの受信中にクロック信号をスレーブ機器に送信する必要がある。さらに、マスター機器は、クロック信号を発生させるために、スレーブ機器が必要とする情報を含まないダミーデータをスレーブ機器に対して送信する必要がある。
【０００６】
図４は、従来のシリアル通信方法におけるマスター機器とスレーブ機器との間で送受信される各種信号のタイミングチャートである。図４に示されるように、マスター機器のデータ送信部が、時刻Ｔ１１からＴ１２において、スレーブ機器に処理命令情報を送信すると、スレーブ機器は、処理命令情報に基づいて取得対象データをマスター機器に送信する。これにより、マスター機器は、Ｔ１２からＴ１３において、スレーブ機器から取得対象データを受信する。
【０００７】
また、マスター機器は、スレーブ機器から取得対象データを受信している間、すなわち、Ｔ１２からＴ１３において、スレーブ機器に対してダミーデータを送信する必要がある。このため、スレーブ機器から受信するデータのサイズが大容量である場合、マスター機器を制御するコンピュータ等の外部機器やマスター機器は、大容量のダミーデータを送信し続ける必要がある。その結果、ダミーデータを送信するために外部機器やマスター機器のバスアクセス時間が使用されて処理負荷が重くなり、大量の処理リソースが消費されるという問題があった。
【０００８】
そこで、本発明はこれらの点に鑑みてなされたものであり、処理負荷を軽減しつつ、スレーブ機器からデータを受信することができるデータ伝送装置を提供することを目的とする。
【課題を解決するための手段】
【０００９】
本発明の第１の態様においては、クロック信号を受信したことに応じてデータを送信するスレーブ機器からデータを受信するデータ伝送装置であって、クロック信号を発生させるクロック発生部と、クロック信号をスレーブ機器に送信するクロック送信部と、データのサイズを示す情報を含む処理命令情報をスレーブ機器に送信するデータ送信部と、スレーブ機器から取得対象データを受信するデータ受信部と、を備え、クロック発生部は、データ送信部が処理命令情報をスレーブ機器に送信している間、クロック信号を発生させ、処理命令情報をスレーブ機器に送信し終えると、取得対象データのサイズに基づいて、当該取得対象データを受信し終えるまでクロック信号を発生させる、データ伝送装置を提供する。
【００１０】
上記のデータ伝送装置では、クロック発生部は、処理命令情報を解析して、当該処理命令情報に含まれている取得対象データのサイズを特定し、当該取得対象データのサイズに基づいて、当該取得対象データをスレーブ機器から受信するまでに必要とされるクロック数を算出し、算出したクロック数に基づいてクロック信号を発生させてもよい。
【００１１】
上記のデータ伝送装置は、取得対象データのサイズを示すサイズ情報を格納するサイズ情報記憶部と、サイズ情報記憶部にサイズ情報を記憶させる記憶制御部とをさらに備え、クロック発生部は、サイズ情報記憶部に記憶されているサイズ情報に基づいて、当該取得対象データをスレーブ機器から受信するまでに必要とされるクロック数を算出し、算出したクロック数に基づいてクロック信号を発生させてもよい。
【発明の効果】
【００１２】
本発明に係るデータ伝送装置によれば、処理負荷を軽減しつつ、スレーブ機器からデータを受信することができるという効果を奏する。
【図面の簡単な説明】
【００１３】
【図１】第１の実施形態に係るデータ伝送システムＳの概要を示す図である。
【図２】第１の実施形態に係るデータ伝送装置１から出力される各種信号のタイミングチャートである。
【図３】第２の実施形態に係るデータ伝送システムＳの概要を示す図である。
【図４】従来のシリアル通信方法におけるマスター機器から出力される各種信号のタイミングチャートである。
【発明を実施するための形態】
【００１４】
＜第１の実施形態＞
［データ伝送システムＳの構成］
以下、本発明の第１の実施形態について、図面を参照しながら説明する。
図１は、第１の実施形態に係るデータ伝送システムＳの概要を示す図である。
【００１５】
データ伝送装置１は、スレーブ機器２と接続されている。データ伝送装置１及びスレーブ機器２は、ＳＰＩにより互いにデータを送受信する。第１の実施形態では、データ伝送装置１はＳＰＩのマスターに設定され、スレーブ機器２は、ＳＰＩのスレーブに設定されているものとする。
【００１６】
データ伝送装置１は、ＰＣＩバス又はＩＳＡバス等のデータ通信インターフェイスを介して接続された外部機器（不図示）から、スレーブ機器２に格納されているデータを取得するための処理命令情報を受けて、当該処理命令情報をスレーブ機器２に送信する。ここで、処理命令情報は、通信対象となるスレーブ機器２に固有のデバイスＩＤ、スレーブ機器２に対する書き込み動作か読み出し動作かを示す動作指示情報、スレーブ機器２において取得対象のデータが格納されているアドレス、取得対象データのサイズを含んでいる。スレーブ機器２は、処理命令情報を受信すると、当該処理命令情報において指定された取得対象のデータをデータ伝送装置１に送信する。
【００１７】
［データ伝送装置１の機能構成］
続いて、データ伝送装置１の機能構成について説明する。
図１に示されているように、データ伝送装置１は、制御部１０と、送信バッファ１１と、受信バッファ１２と、クロック発生部１３と、クロック送信部１４と、制御信号発生部１５と、データ送信部１６と、データ受信部１７とを備える。
【００１８】
制御部１０は、例えばＣＰＵにより構成される。制御部１０は、外部装置から処理命令情報を受け取る。制御部１０は、送信バッファ１１が出力する書込可能信号を受けたことに応じて、処理命令情報を構成するデータを送信バッファ１１に書き込む。制御部１０は、スレーブ機器２から取得したデータが受信バッファ１２に格納されている場合に、受信バッファ１２が出力する読出可能信号を受けたことに応じて、受信バッファ１２からデータを読み出す。
【００１９】
送信バッファ１１は、例えばＦＩＦＯ（First In First Out）レジスタであり、制御部１０から処理命令情報を構成するデータを受信して記憶する。送信バッファ１１は、格納されているデータ量が所定量以下になると、書込可能である旨を示す書込可能信号を制御部１０に出力する。送信バッファ１１は、当該データを格納している場合において、制御信号発生部１５から、バッファに書き込まれたデータを出力するタイミングを示す読出制御信号を受信すると、格納されているデータを、クロック発生部１３及びデータ送信部１６に出力する。
【００２０】
受信バッファ１２は、例えばＦＩＦＯレジスタであり、制御信号発生部１５から入力される書込制御信号に応じて、データ受信部１７がスレーブ機器２から受信したデータを、データ受信部１７から受信して記憶する。受信バッファ１２は、格納されているデータ量が所定量以上になると、制御部１０に対して、読出可能である旨を示す読出可能信号を出力する。受信バッファ１２は、当該データを格納している場合において制御部１０から読出信号を受信すると、格納されているデータを制御部１０に出力する。
【００２１】
クロック発生部１３は、所定周波数のクロック信号を発生させ、このクロック信号をクロック送信部１４及び制御信号発生部１５に出力する。クロック発生部１３は、送信イネーブルレジスタのイネーブルビットが所定の値にセットされると、クロック信号の発生を開始する。また、クロック発生部１３は、データ送信部１６が処理命令情報をスレーブ機器２に送信している間、クロック信号を発生させる。すなわち、クロック発生部１３は、送信バッファ１１に記憶された処理命令情報が全て出力されるまでの間、クロック信号を発生させる。
【００２２】
また、クロック発生部１３は、データ送信部１６が処理命令情報をスレーブ機器２に送信し終えると、処理命令情報に含まれている取得対象のデータのサイズに基づいて、当該データを受信し終えるまでクロック信号を発生させる。より具体的には、クロック発生部１３は、送信バッファ１１から出力される処理命令情報を構成するデータを取得し、当該データを解析して、処理命令情報に含まれている取得対象データのサイズを特定する。
【００２３】
クロック発生部１３は、当該取得対象データのサイズに基づいて、当該取得対象データをスレーブ機器２から受信するまでに必要とされるクロック数を算出し、算出したクロック数に基づいてクロック信号を発生させる。すなわち、クロック発生部１３は、データ送信部１６が処理命令情報をスレーブ機器２に送信し終えた時点を０として、クロック数をカウントし、カウント値が算出したクロック数に達するまでクロック信号を発生させる。
【００２４】
クロック送信部１４は、クロック発生部１３から出力されたクロック信号をスレーブ機器２に送信する。
制御信号発生部１５は、クロック発生部１３から出力されたクロック信号に基づいて、送信バッファ１１が格納しているデータをデータ送信部１６に出力するタイミングを示す読出制御信号を発生させる。また、制御信号発生部１５は、クロック発生部１３から出力されたクロック信号に基づいて、データ受信部１７が受信したデータを受信バッファ１２に書き込むタイミングを示す書込制御信号を発生させる。制御信号発生部１５は、読出制御信号を送信バッファ１１に対して出力し、書込制御信号を受信バッファ１２に対して出力する。
【００２５】
データ送信部１６は、処理命令情報をシリアル通信によりスレーブ機器２に送信する。具体的には、データ送信部１６は、送信バッファ１１から出力された処理命令情報を構成するパラレルデータをシリアルデータに変換し、変換後のシリアルデータをスレーブ機器２に送信する。
【００２６】
データ受信部１７は、シリアル通信によりスレーブ機器２から取得対象データを受信する。具体的には、データ受信部１７は、スレーブ機器２から取得対象データを受信する。そして、データ受信部１７は、制御信号発生部１５から入力される書込制御信号に応じて、取得対象データをパラレルデータに変換して受信バッファ１２に書き込む。
【００２７】
［スレーブ機器２の機能構成］
続いて、スレーブ機器２の機能構成について説明する。
スレーブ機器２は、記憶部２１と、データ受信部２２と、データ送信部２３とを備える。
記憶部２１は、所定アドレスに取得対象データを記憶する。また、記憶部２１は、データ受信部２２が受信した処理命令情報を記憶する。
【００２８】
データ受信部２２は、データ伝送装置１のデータ送信部１６から処理命令情報を受信する。データ受信部２２は、受信した処理命令情報を記憶部２１に記憶させる。
データ送信部２３は、処理命令情報が、取得対象データの読み出し指示を含んでいる場合、データ伝送装置１のクロック送信部１４からクロック信号を受信したことに応じて取得対象データを記憶部２１から読み出して、読み出した取得対象データをデータ伝送装置１に送信する。
【００２９】
具体的には、データ受信部２２が受信した処理命令情報を構成するデータに基づいて、処理命令情報に含まれている取得対象データのアドレス及び取得対象データのサイズを特定する。そして、データ送信部２３は、データ伝送装置１のクロック送信部１４からクロック信号を受信している間、記憶部２１に記憶されている取得対象データをデータ伝送装置１に送信する。データ送信部２３は、クロック信号を受信していない場合には、データ伝送装置１にデータを送信しない。
【００３０】
［データ伝送装置１の動作］
続いて、データ伝送装置１の動作について説明する。
図２は、第１の実施形態に係るデータ伝送装置１から出力される各種信号のタイミングチャートである。
【００３１】
まず、時刻Ｔ１において制御部１０が、外部装置から、スレーブ機器２の記憶部２１に記憶されている処理命令情報を受け取ると、制御部１０は、処理命令情報を送信バッファ１１に書き込む。送信バッファ１１に処理命令情報が書き込まれ、送信イネーブルビットがセットされると、クロック発生部１３はクロック信号を発生させ、クロック送信部１４は、当該クロック信号をスレーブ機器２に送信する。また、送信バッファ１１が、書き込まれた処理命令情報をデータ送信部１６に出力すると、データ送信部１６は、処理命令情報を構成するデータをシリアルデータに変換してスレーブ機器２に送信する。
【００３２】
クロック発生部１３は、送信バッファ１１が処理命令情報を出力している間に、処理命令情報のデータを解析し、取得対象データのデータサイズを特定する。クロック発生部１３は、当該取得対象データのサイズに基づいて、当該取得対象データをスレーブ機器２から受信するまでのクロック数を算出する。
【００３３】
そして、時刻Ｔ２から時刻Ｔ３の間、データ送信部１６が処理命令情報を送信し終えたことに応じて、クロック発生部１３は、取得対象データのサイズに基づいて算出されたクロック数分、クロック信号を発生させる。これにより、スレーブ機器２が取得対象データを送信し終えるまでクロック信号が発生され続ける。
時刻Ｔ３において、クロック発生部１３がクロック信号の発生を終了するのと同時に、データ受信部１７が、取得対象データを受信し終える。
【００３４】
［第１の実施形態の効果］
以上、第１の実施形態によれば、データ伝送装置１は、データ送信部１６が処理命令情報をスレーブ機器に送信している間、クロック発生部１３によりクロック信号を発生させ、処理命令情報をスレーブ機器２に送信し終えると、取得対象データのサイズに基づいて、当該取得対象データを受信し終えるまでクロック信号を発生させる。したがって、データ伝送装置１は、スレーブ機器２からデータを受信する場合に、ダミーデータをスレーブ機器２に送信することなく、クロック信号をスレーブ機器２に送信することができる。データ伝送装置１がスレーブ機器２からデータを受信する間、制御部１０がダミーデータを送信バッファ１１に書き込む必要がないので、制御部１０の処理リソースに余裕が生じる。
【００３５】
また、データ伝送装置１は、取得対象データをスレーブ機器２から受信するまでに必要とされるクロック数を算出し、算出したクロック数に基づいてクロック信号を発生させるので、取得対象データを受信し終えるまでクロック信号を発生させ続けることができる。
【００３６】
＜第２の実施形態＞
［制御部１０が取得対象データのサイズ情報を書き込む］
続いて、第２の実施形態について説明する。
第２の実施形態は、制御部１０が、取得対象データのサイズを示すサイズ情報を所定のレジスタに書き込み、クロック発生部１３が当該サイズ情報に基づいて取得対象データをスレーブ機器２から受信するまでに必要とされるクロック数を算出する点で第１の実施形態と異なる。
【００３７】
以下、第１の実施形態と異なる点について説明を進める。
図３は、第２の実施形態に係るデータ伝送システムＳの概要を示す図である。
図３に示されているように、クロック発生部１３は、サイズ情報記憶部１３１を備える。サイズ情報記憶部１３１は、例えばレジスタであり、取得対象データのサイズ情報を記憶する。
【００３８】
制御部１０は、外部装置から、処理命令情報と、取得対象データのデータサイズを示すサイズ情報とを受け取る。制御部１０は、受け取ったサイズ情報を含む処理命令情報を構成するデータを送信バッファ１１に書き込む。また、制御部１０は、記憶制御部として機能し、サイズ情報記憶部１３１に、受け取ったサイズ情報を記憶させる。
【００３９】
クロック発生部１３は、サイズ情報記憶部１３１に記憶されている取得対象データのサイズを示すサイズ情報に基づいて、当該取得対象データをスレーブ機器２から受信するまでに必要とされるクロック数を算出し、算出したクロック数に基づいてクロック信号を発生させる。制御部１０は、取得対象データを受信し終えると、サイズ情報を消去するための処理命令情報をクロック発生部１３に入力する。クロック発生部１３は、当該処理命令情報が入力されたことに応じて、サイズ情報記憶部１３１に記憶されているサイズ情報を消去する。なお、クロック発生部１３は、クロック数をカウントし、クロック数のカウントが算出したクロック数に達すると、サイズ情報記憶部１３１に記憶されているサイズ情報を消去してもよい。
【００４０】
［第２の実施形態の効果］
以上、第２の実施形態によれば、データ伝送装置１では、クロック発生部１３は、サイズ情報記憶部１３１に記憶されている取得対象データのサイズを示すサイズ情報に基づいて、当該取得対象データをスレーブ機器２から受信するまでに必要とされるクロック数を算出し、算出したクロック数に基づいてクロック信号を発生させる。したがって、データ伝送装置１は、クロック発生部１３が、処理命令情報の内容を解析することなく、クロック発生部１３が備えるサイズ情報記憶部１３１に記憶されたサイズ情報に基づいて、取得対象データをスレーブ機器２から受信するまでに必要とされるクロック数を算出することができる。
【００４１】
以上、本発明を実施の形態を用いて説明したが、本発明の技術的範囲は上記実施の形態に記載の範囲には限定されない。上記実施の形態に、多様な変更又は改良を加えることが可能であることが当業者に明らかである。そのような変更又は改良を加えた形態も本発明の技術的範囲に含まれ得ることが、特許請求の範囲の記載から明らかである。
【００４２】
例えば、上記の実施形態においては、制御部１０が外部機器から受け取った指示に従って処理命令情報を送信バッファ１１に書き込むという構成について説明したが、外部機器が処理命令情報を送信バッファ１１に書き込む構成においても本発明を適用することができる。
【符号の説明】
【００４３】
１・・・データ伝送装置、２・・・スレーブ機器、１０・・・制御部、・・・送信バッファ、１２・・・受信バッファ、１３・・・クロック発生部、１４・・・クロック送信部、１５・・・制御信号発生部、１６・・・データ送信部、１７・・・データ受信部、２１・・・記憶部、２２・・・データ受信部、２３・・・データ送信部、Ｓ・・・データ伝送システム
【図１】
2014220650.tif 000003
【図２】
2014220650.tif 000004
【図３】
2014220650.tif 000005
【図４】
2014220650.tif 000006