(57)【要約】      （修正有）【課題】低速バスタイムスタンプ付与及びトリガ作用のための方法及び回路を提供する。【解決手段】システム２００において、マスタデバイス及びスレーブデバイスは、データライン及びクロックラインを備える通信リンク２０５を介してインタフェースをとる。マスタデバイスは、クロックライン上のクロック信号を生成及び制御し、同期コマンドをデータラインを通じてスレーブデバイスに送信する。マスタデバイスは、同期コマンドに応じて、各スレーブデバイスで検出されたイベントのタイムスタンプ情報を受信する。マスタデバイスは、クロック信号の推移及び周波数を追跡し、タイムスタンプ情報と追跡された推移及び周波数とに基づき、イベントの時間を判定する。さらに、各スレーブデバイスに対して、クロック信号の推移、同期コマンド及び遅延設定情報に基づき、そのスレーブデバイスでトリガ信号を生成するための遅延設定情報を送信する。【選択図】図２
2019061709.tif 000002
【特許請求の範囲】
【請求項１】
通信リンクに連結され、前記通信リンクを介して、クロック信号及び同期コマンドを送信するマスタデバイスと、
前記通信リンクに連結された１つ以上のスレーブデバイスとを備え、各スレーブデバイスは、
前記同期コマンドとそのスレーブデバイスで検出されたイベントとの間の前記クロック信号の選択推移数を追跡し、
前記同期コマンドとそのスレーブデバイスで検出された前記イベントとの間の経過時間についての情報であって、そのスレーブデバイスにて追跡された前記クロック信号の当該選択推移数に基づく前記情報を生成し、
そこで前記マスタデバイスは、前記経過時間についての前記情報を取得し、前記情報に基づいて、前記イベントがそのスレーブデバイスにて検出された時間を導出するシステム。
【請求項２】
前記マスタデバイスは、前記経過時間についての前記情報を受信し、受信した前記経過時間についての前記情報と、前記マスタデバイスで追跡された前記クロック信号の周波数変化間で発生する前記クロック信号の選択推移数とに基づき、前記イベントが前記スレーブデバイスで検出された時間を判定するものである請求項１に記載のシステム。
【請求項３】
前記通信リンクは、前記クロック信号を伝達する単一のクロックラインと、前記同期コマンドを伝達する単一のデータラインとを備える請求項１に記載のシステム。
【請求項４】
前記１つ以上のスレーブデバイスは、複数のスレーブデバイスを備え、
前記複数のスレーブデバイスの各スレーブデバイスは、対応センサに連結され、スレーブデバイスにて検出された前記イベントは、前記対応センサによる物理的現象の検出に対応する請求項１に記載のシステム。
【請求項５】
各スレーブデバイスは、前記クロック信号の周波数より高い周波数を有する発振器信号を生成する発振器回路を備え、
各スレーブデバイスは、前記スレーブデバイスにて前記イベントが検出された後に発生する前記発振器信号の選択推移数を計数し、前記発振器信号の選択推移数に基づき、前記経過時間についての前記情報を生成するものである請求項１に記載のシステム。
【請求項６】
前記スレーブデバイスは、前記スレーブデバイスでの前記イベントの検出に応じて割り込みを生成するものであり、
前記マスタデバイスは、前記割り込みに応じて、前記スレーブデバイスのレジスタから前記経過時間についての前記情報を読み取るリクエストを生成するものであり、
前記スレーブデバイスは、前記リクエストに応じて、前記マスタデバイスに対する前記経過時間についての前記情報を生成するものであり、
前記マスタデバイスは、前記マスタデバイスのレジスタに、前記通信リンクを介して前記スレーブデバイスから取得された前記経過時間についての前記情報を記憶するものである請求項１に記載のシステム。
【請求項７】
前記スレーブデバイスは、前記スレーブデバイスでの前記イベントの検出に応じて、割り込みを生成するものであり、
前記マスタデバイスは、前記割り込みに応じて、前記スレーブデバイスのレジスタから前記経過時間についての前記情報を読み取るリクエストを生成し、前記１つ以上のスレーブデバイスのうちの他のスレーブデバイスのレジスタから他のタイムスタンプ情報を読み取る他のリクエストを生成するものであり、
前記スレーブデバイスは、前記リクエストに応じて、前記マスタデバイスに対する前記経過時間についての前記情報を生成するものであり、
前記他のスレーブデバイスは、前記他のリクエストに応じて、前記マスタデバイスに対する前記他のタイムスタンプ情報を生成するものであり、
前記マスタデバイスは、前記マスタデバイスのレジスタに、前記スレーブデバイスから前記通信リンクを介して取得した前記経過時間についての前記情報を記憶するものであり、
前記マスタデバイスは、前記マスタデバイスの他のレジスタに、前記他のスレーブデバイスから前記通信リンクを介して取得した前記他のタイムスタンプ情報を記憶するものである請求項１に記載のシステム。
【請求項８】
前記通信リンクに連結されたモニタデバイスをさらに備え、前記モニタデバイスは、
前記経過時間についての前記情報を受信し、前記モニタデバイスのレジスタに前記経過時間についての前記情報を記憶し、
前記他のタイムスタンプ情報を受信し、前記モニタデバイスの他のレジスタに前記他のタイムスタンプ情報を記憶し、
前記経過時間についての前記情報及び前記他のタイムスタンプ情報を前記マスタデバイスに送信する請求項７に記載のシステム。
【請求項９】
通信リンクに連結し、
前記通信リンクを介して、クロック信号及び同期コマンドを送信し、
前記通信リンクを介して、前記同期コマンドとスレーブデバイスでイベントが検出された瞬間との間で経過した前記クロック信号の選択推移数を示すタイムスタンプ情報を受信する、
インタフェース回路と、
前記同期コマンドと前記同期コマンド後に発生する前記クロック信号の周波数変化との間の前記クロック信号の選択推移の計数を追跡する時間追跡回路と、
前記タイムスタンプ情報と前記クロック信号の選択推移の計数とに基づき、前記スレーブデバイスで前記イベントが検出された時間を判定する時間計算回路とを備える装置。
【請求項１０】
前記時間追跡回路は、前記同期コマンドと前記クロック信号の第１の周波数変化との間の前記クロック信号の第１の選択推移の数を計数し、前記同期コマンドと前記クロック信号の第２の周波数変化との間の前記クロック信号の第２の選択推移の数を計数するものであり、
前記時間計算回路は、前記クロック信号の前記第１の選択推移の計数と前記クロック信号の前記第２の選択推移の計数とに基づき、前記イベントの前記時間を判定するものである請求項９に記載の装置。
【請求項１１】
前記時間追跡回路は、前記クロック信号の前記第１の周波数変化に先立つ前記クロック信号の周期についての情報を記憶し、前記クロック信号の前記第２の周波数変化に先立つ前記クロック信号の第２の周期についての情報を記憶するものであり、
前記時間計算回路は、さらに前記クロック信号の前記第１の周期と前記クロック信号の前記第２の周期とに基づき、前記イベントの前記時間を判定するものである請求項１０に記載の装置。
【請求項１２】
前記通信リンクは、前記クロック信号を伝達する単一のワイヤクロックラインと、前記同期コマンドを伝達する単一のワイヤデータラインとを備え、
前記インタフェース回路は、前記単一のワイヤクロックラインと前記単一のワイヤデータラインとに連結されるように構成される請求項９に記載の装置。
【請求項１３】
前記インタフェース回路は、
前記通信リンクを介して、前記スレーブデバイスからの割り込みを受信し、
受信した前記割り込みに応じ、前記通信リンクを介して、前記スレーブデバイスのレジスタからの前記タイムスタンプ情報を読み取るリクエストを送信し、
当該装置のレジスタに、前記通信リンクを介して取得した前記タイムスタンプ情報を記憶するものである請求項９に記載の装置。
【請求項１４】
前記インタフェース回路は、
前記通信リンクを介して、前記スレーブデバイスからの割り込みを受信し、
受信した前記割り込みに応じ、前記通信リンクを介して、前記スレーブデバイスのレジスタから前記タイムスタンプ情報を読み取るリクエストと他のスレーブデバイスのレジスタから他のタイムスタンプ情報を読み取る他のリクエストとを送信し、
前記通信リンクを介して、前記リクエストに応じた前記スレーブデバイスからの前記タイムスタンプ情報と前記他のリクエストに応じた前記他のスレーブデバイスからの前記他のタイムスタンプ情報とを受信し、
当該装置のレジスタに、前記通信リンクを介して取得した前記タイムスタンプ情報を記憶し、
当該装置の他のレジスタに、前記通信リンクを介して取得した前記他のタイムスタンプ情報を記憶するものである請求項９に記載の装置。
【請求項１５】
クロック信号を伝達する通信リンクに連結するインタフェース回路と、
前記通信リンクを介して受信した同期コマンドとイベントの検出との間の前記通信リンク上の前記クロック信号の選択推移数を追跡する制御回路とを備え、
前記インタフェース回路は、前記通信リンクを介して、前記同期コマンドと前記イベントの検出との間の経過時間についての情報であって、前記クロック信号の当該選択推移数に基づく情報を送信するものである装置。
【請求項１６】
前記制御回路は、
前記同期コマンドに基づき、前記クロック信号の選択推移に揃った選択推移を有する同期パルスを生成する同期パルス回路と、
前記同期パルスによる初期化後、前記クロック信号の選択推移毎の計数器回路の値をインクリメントする前記計数器回路と、
前記イベントに応じて、前記計数器回路の値を記憶するラッチ回路とをさらに備え、前記経過時間についての前記情報は、少なくとも部分的に前記計数器回路の値に基づくものである請求項１５に記載の装置。
【請求項１７】
前記制御回路は、
前記クロック信号の周波数より高い周波数を有する発振器信号を生成する発振器回路をさらに備え、
前記制御回路は、前記イベント後に発生する前記発振器信号の第１の選択推移数を追跡し、
前記経過時間についての前記情報は、さらに、前記第１の選択推移数に基づくものである請求項１５に記載の装置。
【請求項１８】
前記制御回路は、
前記クロック信号の周波数より高い周波数を有する発振器信号を生成する発振器回路をさらに備え、
前記制御回路は、前記イベントの検出と前記イベントに続く前記クロック信号の第１の選択推移との間の前記発振器信号の第１の選択推移数を追跡するものであり、
前記制御回路は、前記イベントの検出と前記クロック信号の前記第１の選択推移に続く前記クロック信号の第２の選択推移との間の前記発振器信号の第２の選択推移数を追跡するものであり、
前記経過時間についての前記情報は、さらに前記第１の選択推移数と前記第２の選択推移数とに基づくものである請求項１５に記載の装置。
【請求項１９】
当該装置に関連付けられたセンサ入力から前記イベントを検出するイベント検出器をさらに備える請求項１５に記載の装置。
【請求項２０】
前記通信リンクは、前記クロック信号を伝達する単一のワイヤクロックラインと、前記同期コマンドを伝達する単一のワイヤデータラインとを備え、
前記インタフェース回路は、前記単一のワイヤクロックラインと前記単一のワイヤデータラインとに連結されるように構成される請求項１５に記載の装置。
【請求項２１】
前記インタフェース回路は、
前記イベントを検出すると、前記通信リンクを介して割り込みを送信し、
前記通信リンクを介して、前記割り込みに応じて送信される前記経過時間についての前記情報を読み取るリクエストを受信し、
前記リクエストに応じ、前記通信リンクを介して、前記経過時間についての前記情報を送信するものである請求項１５に記載の装置。
【請求項２２】
クロック信号及び同期コマンドを生成することと、
通信リンクを介して、前記クロック信号及び前記同期コマンドを送信することと、
前記通信リンクを介して、前記同期コマンドとスレーブデバイスでイベントが検出された瞬間との間で経過した前記クロック信号の選択推移数を示すタイムスタンプ情報を受信することと、
前記同期コマンドと前記同期コマンド後に発生した前記クロック信号の周波数変化との間の前記クロック信号の選択推移の計数を追跡することと、
前記タイムスタンプ情報と前記クロック信号の当該選択推移の計数とに基づき、前記スレーブデバイスで前記イベントが検出された時間を判定することとを含む方法。
【請求項２３】
前記同期コマンドと前記クロック信号の第１の周波数変化との間の前記クロック信号の第１の選択推移の数を計数することと、
前記同期コマンドと前記クロック信号の第２の周波数変化との間の前記クロック信号の第２の選択推移の数を計数することと、
前記クロック信号の前記第１の選択推移の計数と前記クロック信号の前記第２の選択推移の計数とに基づき、前記イベントの前記時間を判定することとをさらに含む請求項２２に記載の方法。
【請求項２４】
前記クロック信号の前記第１の周波数変化に先立つ前記クロック信号の周期についての情報を記憶することと、
前記クロック信号の前記第２の周波数変化に先立つ前記クロック信号の第２の周期についての情報を記憶することと、
さらに前記クロック信号の前記第１の周期と前記クロック信号の前記第２の周期とに基づき、前記イベントの前記時間を判定することとをさらに含む請求項２２に記載の方法。
【請求項２５】
前記通信リンクを介して、マスタデバイスにて、前記スレーブデバイスからの割り込みを受信することと、
受信した前記割り込みに応じ、前記通信リンクを介して、前記スレーブデバイスのレジスタからタイムスタンプ情報を読み取るリクエストを送信することと、
前記マスタデバイスのレジスタに、前記通信リンクを介して取得した前記タイムスタンプ情報を記憶することとをさらに含む請求項２２に記載の方法。
【請求項２６】
前記通信リンクを介して、前記スレーブデバイスからの割り込みを受信することと、
受信した前記割り込みに応じ、前記通信リンクを介して、前記スレーブデバイスのレジスタから前記タイムスタンプ情報を読み取るリクエストと、他のスレーブデバイスのレジスタから他のタイムスタンプ情報を読み取る他のリクエストとを送信することと、
前記通信リンクを介して、前記リクエストに応じた前記スレーブデバイスからの前記タイムスタンプ情報と、前記他のリクエストに応じた前記他のスレーブデバイスからの前記他のタイムスタンプ情報とを受信することと、
マスタデバイスのレジスタに、前記通信リンクを介して取得した前記タイムスタンプ情報を記憶することと、
前記マスタデバイスの他のレジスタに、前記通信リンクを介して取得した前記他のタイムスタンプ情報を記憶することとをさらに含む請求項２２に記載の方法。
【請求項２７】
クロック信号を伝達する通信リンクに連結し、前記通信リンクを介して同期コマンド及び第１の遅延設定情報を受信するインタフェースと、
前記同期コマンド後の前記クロック信号の選択推移数を追跡し、当該選択推移数が前記第１の遅延設定情報に示される遅延設定に達したことに応じてトリガ信号を生成する制御回路とを備える装置。
【請求項２８】
前記制御回路は、
前記同期コマンドの検出に応じてリセットされ、前記クロック信号の選択推移毎にインクリメントされる値を有する計数器回路と、
前記計数器の前記値と前記第１の遅延設定情報との比較を行う比較器回路とをさらに備え、前記トリガ信号は、前記比較に基づいて生成される請求項２７に記載の装置。
【請求項２９】
前記インタフェースは、前記通信リンクを介して第２の遅延設定情報をさらに受信するものであり、前記制御回路は、
前記クロック信号の周波数より高い周波数を有する発振器信号を生成する発振器回路をさらに備え、
前記制御回路は、前記クロック信号の前記選択推移数が前記第１の遅延設定情報に示される遅延設定に達した後に発生する前記発振器信号の選択推移数を追跡するものであり、
前記制御回路は、さらに前記発振器信号の選択推移数が前記第２の遅延設定情報に示される遅延設定に達したことに応じて、前記トリガ信号を生成するものである請求項２７に記載の装置。
【請求項３０】
前記トリガ信号は、当該装置に関連付けられた変換器の動作のトリガとなる請求項２７に記載の装置。
【請求項３１】
クロック信号を伝達する通信リンクを介して、同期コマンド及び第１の遅延設定情報を受信することと、
前記同期コマンド後の前記クロック信号の選択推移数を追跡することと、
当該選択推移数が前記第１の遅延設定情報に示される遅延設定に達したことに応じて、トリガ信号を生成することとを含む方法。
【請求項３２】
前記同期コマンドの検出に応じて値をリセットすることと、
前記クロック信号の選択推移毎に前記値をインクリメントすることと、
前記値と前記第１の遅延設定情報との比較を行うことと、
前記比較に基づき、前記トリガ信号を生成することとをさらに含む請求項３１に記載の方法。
【請求項３３】
前記通信リンクを介して、第２の遅延設定情報を受信することと、
前記クロック信号の周波数より高い周波数を有する発振器信号を生成することと、
前記クロック信号の前記選択推移数が前記第１の遅延設定情報に示される遅延設定に達した後に発生する前記発振器信号の選択推移数を追跡することと、
さらに前記発振器信号の前記選択推移数が前記第２の遅延設定情報に示される遅延設定に達したことに応じて、前記トリガ信号を生成することとをさらに含む請求項３１に記載の方法。
【請求項３４】
通信リンクに連結し、
前記通信リンクを介して、クロック信号及び同期コマンドを送信し、
前記通信リンクを介して、前記同期コマンドと前記通信リンクに連結された１つ以上のスレーブデバイスにおけるトリガ信号の生成との間に発生する前記クロック信号の選択推移数を示す遅延設定情報を送信する、
インタフェース回路を備える装置。
【請求項３５】
前記インタフェース回路は、前記通信リンクを介して、前記同期コマンドの送信に先立ち、前記遅延設定情報を含むコマンドを送信するものである請求項３４に記載の装置。
【請求項３６】
前記遅延設定情報は、前記トリガ信号を生成するための粗い時間分解能と細かい時間分解能を示す粗い遅延設定情報と細かい遅延設定情報とを含む請求項３４に記載の装置。
【請求項３７】
前記インタフェース回路は、
前記通信リンクを介して、前記同期コマンドと前記１つ以上のスレーブデバイスのうちの第１のスレーブデバイスにおける第１のトリガ信号の生成との間に発生する前記クロック信号の選択推移数を示す第１の遅延設定情報を送信し、
前記通信リンクを介して、前記同期コマンドと前記１つ以上のスレーブデバイスのうちの第２のスレーブデバイスにおける第２のトリガ信号の生成との間に発生する前記クロック信号の選択推移数を示す第２の遅延設定情報を送信するものである請求項３４に記載の装置。
【請求項３８】
前記同期コマンド後に発生することが期待される前記クロック信号の周波数変化に基づき、前記遅延設定情報を生成するトリガ遅延設定回路をさらに備える請求項３４に記載の装置。
【請求項３９】
マスタデバイスから、通信リンクを介して、クロック信号及び同期コマンドを送信することと、
前記通信リンクを介して、前記同期コマンドと前記通信リンクに連結された１つ以上のスレーブデバイスにおけるトリガ信号の生成との間に発生する前記クロック信号の選択推移数を示す遅延設定情報を送信することとを含む方法。
【請求項４０】
前記遅延設定情報を送信することは、
前記同期コマンドを送信することに先立って、前記通信リンクを介して、前記遅延設定情報を含むコマンドを送信することを含む請求項３９に記載の方法。
【請求項４１】
前記遅延設定情報は、前記トリガ信号を生成するための粗い時間分解能と細かい時間分解能を示す粗い遅延設定情報と細かい遅延設定情報とを含む請求項３９に記載の方法。
【請求項４２】
前記同期コマンド後に発生することが期待される前記クロック信号の周波数変化に基づき、前記遅延設定情報を生成することをさらに備える請求項３９に記載の方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、低速バスメッセージプロトコル全般に関連し、特に、低速バスタイムスタンプ付与及びトリガ作用のための方法及び回路に関連する。
【背景技術】
【０００２】
集積回路間（Ｉ２Ｃ）インタフェースは、典型的に、低速周辺集積回路（ＩＣ）を高速プロセッサ及びマイクロコントローラに装着するために使用される。低速周辺ＩＣは、一般的に、スレーブデバイスと称される一方で、高速プロセッサ又はマイクロコントローラは、一般的に、マスタデバイスと称される。多くの場合、スレーブデバイスは、センサ、ジャイロスコープ、コンパス、マイクロフォン等の周辺デバイスに連結可能である。スレーブデバイスは、スレーブデバイスに連結された周辺デバイスの動作を監視及び／又は制御するように構成可能である。
【発明の概要】
【発明が解決しようとする課題】
【０００３】
Ｉ２Ｃメッセージプロトコルにおいて、２つ以上のスレーブデバイスによる同時動作では、Ｉ２Ｃ低速シリアルバスとは独立した共通トリガ信号（例えば、マスタデバイスによって生成される）を利用することができる。同様に、いつイベント（例えば、スレーブデバイスに連結された周辺デバイスによって実施される測定）が発生したかを判定するために、各スレーブデバイスは、マスタデバイスにフィードバックを行う専用ラインを使用して、そのイベントが発生した時間をマスタデバイスに信号送信する。マスタデバイスは、各スレーブデバイスに対して、スレーブデバイスからイベントマーカ信号を受信した実際のタイムクロック（すなわち、イベントの時間、又はイベントのタイムスタンプ）の状態を獲得することができる。このアプローチの欠点は、マスタデバイスとスレーブデバイスとの間に多数の追加通信ライン（すなわち、ボードトレース）を要することと、追加の信号ピンを要することである。
【課題を解決するための手段】
【０００４】
本開示の特定の実施形態では、システムを提供する。このシステムは、通常、通信リンクに連結され、通信リンクを介して、クロック信号及び同期コマンドを送信するマスタデバイスと、通信リンクに連結された１つ以上のスレーブデバイスとを備え、各スレーブデバイスは、同期コマンドとそのスレーブデバイスで検出されたイベントとの間のクロック信号の選択推移（selected transitions）の数を追跡(track)し、同期コマンドとそのスレーブデバイスで検出されたイベントとの間の経過時間についての情報であって、そのスレーブデバイスにて追跡されたクロック信号の選択推移数に基づく情報を生成し、マスタデバイスは、経過時間についての情報を取得し、イベントがそのスレーブデバイスにて検出された時間を導出する。
【０００５】
本開示の特定の実施形態では、装置を提供する。この装置は、通常、通信リンクに連結し、通信リンクを介して、クロック信号及び同期コマンドを送信し、通信リンクを介して、同期コマンドとスレーブデバイスでイベントが検出された瞬間との間で経過したクロック信号の選択推移数を示すタイムスタンプ情報を受信するインタフェース回路と、同期コマンドと同期コマンド後に発生するクロック信号の周波数変化との間のクロック信号の選択推移の計数を追跡する時間追跡回路と、タイムスタンプ情報とクロック信号の選択推移の計数とに基づき、スレーブデバイスでイベントが検出された時間を判定する時間計算回路とを備える。
【０００６】
本開示の特定の実施形態では、装置を提供する。この装置は、通常、クロック信号を伝達する通信リンクに連結するインタフェース回路と、通信リンクを介して受信した同期コマンドとイベントの検出との間の通信リンク上のクロック信号の選択推移数を追跡する制御回路とを備え、インタフェース回路は、通信リンクを介して、同期コマンドとイベントの検出との間の経過時間についての情報であって、クロック信号の選択推移数に基づく情報を送信する。
【０００７】
本開示の特定の実施形態では、方法を提供する。この方法は、通常、クロック信号及び同期コマンドを生成することと、通信リンクを介して、クロック信号及び同期コマンドを送信することと、通信リンクを介して、同期コマンドとスレーブデバイスでイベントが検出された瞬間との間で経過したクロック信号の選択推移数を示すタイムスタンプ情報を受信することと、同期コマンドと同期コマンド後に発生したクロック信号の周波数変化との間のクロック信号の選択推移の計数を追跡することと、タイムスタンプ情報とクロック信号の選択推移の計数とに基づき、スレーブデバイスでイベントが検出された時間を判定することとを備える。
【０００８】
本開示の特定の実施形態では、装置を提供する。この装置は、通常、クロック信号を伝達する通信リンクに連結し、通信リンクを介して同期コマンド及び第１の遅延設定情報を受信するインタフェースと、同期コマンド後のクロック信号の選択推移数を追跡し、選択推移数が第１の遅延設定情報に示される遅延設定に達したことに応じてトリガ信号を生成する制御回路とを備える。
【０００９】
本開示の特定の実施形態では、方法を提供する。この方法は、通常、クロック信号を伝達する通信リンクを介して、同期コマンド及び第１の遅延設定情報を受信することと、同期コマンド後のクロック信号の選択推移数を追跡することと、選択推移数が第１遅延設定情報に示される遅延設定に達したことに応じて、トリガ信号を生成することとを備える。
【００１０】
本開示の特定の実施形態では、装置を提供する。この装置は、通常、通信リンクに連結し、通信リンクを介して、クロック信号及び同期コマンドを送信し、通信リンクを介して、同期コマンドと通信リンクに連結された１つ以上のスレーブデバイスにおけるトリガ信号の生成との間に発生するクロック信号の選択推移数を示す遅延設定情報を送信するインタフェース回路を備える。
【００１１】
本開示の特定の実施形態では、方法を提供する。この方法は、通常、マスタデバイスから、通信リンクを介して、クロック信号及び同期コマンドを送信することと、通信リンクを介して、同期コマンドと通信リンクに連結された１つ以上のスレーブデバイスにおけるトリガ信号の生成との間に発生するクロック信号の選択推移数を示す遅延設定情報を送信することとを備える。
【図面の簡単な説明】
【００１２】
【図１】図１は、本開示の実施形態に係る、Ｉ３Ｃベース通信リンクを介して複数のスレーブデバイスとインタフェースをとったＩ３Ｃマスタデバイスを示す概略図である。
【図２】図２は、本開示の実施形態に係る、タイムスタンプ付与及び遅延トリガを可能にするＩ３Ｃベース通信リンクを介してスレーブデバイスとインタフェースをとったマスタデバイスを備えるシステムの概略図である。
【図３】図３は、本開示の実施形態に係る、タイムスタンプ同期コマンドに関連した例としてのタイムスタンプ同期コマンドとＩ３Ｃシリアルバスを駆動する波形とを示している。
【図４】図４は、本開示の実施形態に係る、スレーブデバイスにおいて時間同期を実施する回路の例としての概略である。
【図５】図５は、本開示の実施形態に係る、時間同期の分解能を向上するためにスレーブデバイスで実施されてもよい発振器回路の例としての概略である。
【図６】図６は、本開示の実施形態に係る、スレーブデバイスで実施されてもよいタイムスタンプ付与を実施する回路の例としての概略である。
【図７】図７は、本開示の実施形態に係る、マスタデバイスによる複数のスレーブデバイスからのイベントの時間の獲得及び読取を示す例としての図である。
【図８】図８は、本開示の実施形態に係る、マスタデバイス及び／又はモニタデバイスによる複数のスレーブデバイスからのイベントの時間の獲得及び読取を示す例としての図である。
【図９】図９は、本開示の実施形態に係る、発振器回路（例えば、図５の発振器回路）を備えないスレーブデバイスにおけるタイムスタンプ付与を実施する回路の例としての概略である。
【図１０】図１０は、本開示の実施形態に係る、スレーブデバイスで遅延トリガを実施する回路の例としての概略である。
【図１１】図１１は、本開示の実施形態に係る、マスタデバイスにより複数のスレーブデバイスでのイベントの時間を制御する例としての図である。
【図１２】図１２は、本開示の実施形態に係る、タイムスタンプ付与をサポートするためにマスタデバイスで実施されてもよい回路の例としての概略である。
【図１３】図１３は、本開示の実施形態に係る、参照（reference）クロック信号の変化にタイムスタンプ付与を行うためにマスタデバイスにおいて実施される方法を示す図である。
【図１４】図１４は、本開示の実施形態に係る、マスタデバイスで実施されてもよいタイムスタンプ付与を行う方法を示すフローチャートである。
【図１５】図１５は、本開示の実施形態に係るスレーブデバイスで実施されてもよい遅延トリガのための方法を示すフローチャートである。
【図１６】図１６は、本開示の実施形態に係るマスタデバイスで実施されてもよい遅延トリガのための方法を示すフローチャートである。
【００１３】
図面は、例示のみを目的として、本開示の実施形態を示している。当業者は、以下の説明から、本明細書に記載の開示の原則又は謳われている利点から逸脱することなく、本明細書に示される構造及び方法の代替実施形態が採用されてもよいことを容易に認識するであろう。
【発明を実施するための形態】
【００１４】
本開示の実施形態は、改良型の集積回路間（Ｉ２Ｃ）メッセージプロトコルであるＩ３Ｃメッセージプロトコル等のメッセージ送付プロトコルに応じて、マスタデバイスとの連携で動作する複数のスレーブデバイスを同期させることに関連する。本明細書に提示の複数のスレーブデバイスの同期により、スレーブデバイスで検出されたイベントの正確なタイムスタンプ付与を提供することができ、複数のスレーブデバイスで遅延トリガ作用されたイベントの効率的な開始を提供することができる。
【００１５】
本開示の特定の実施形態では、スレーブデバイスに連結された周辺デバイスの同時読取／動作を開始することをサポートする。例えば、本明細書に提示の方法及び回路は、（一対のスレーブデバイスに連結された）ジャイロスコープ及び磁気コンパスをともに回転対象物上に配置しつつ、ジャイロスコープ及び磁気コンパス間の測定を同期させることができる。本開示に提示の方法及び回路は、複数のスレーブデバイスにおける遅延トリガイベントも始動することができ、トモグラフィに役立てることができる。
【００１６】
本開示の実施形態によると、複数のスレーブデバイスは、以下にさらに詳述する通り、Ｉ３Ｃ時間同期トリガ作用を介して同期動作（例えば、測定）を始動することができる。このように、イベントを同期するサイドチャンネルのニーズをなくすことができる。すべてのスレーブデバイスに同時にトリガ作用可能であるため、時間単位又はローカルクロック信号に対する懸念がない。より一般的には、本開示の実施形態では、予め定められた期間の終了時、イベントにトリガ作用させる各スレーブデバイスでタイマを開始する時間同期コマンドの使用をサポートする。時間同期コマンドに先行してもよい指示コマンドにより、各スレーブデバイスにおけるトリガ作用イベントに対する時間遅延を設定することができる。
【００１７】
本開示の例としての実施形態によると、携帯電話ベースのトモグラフィを考慮することができる。各スレーブデバイスは、変換器（例えば、電話の後方に配置される）のアレイのうちの１つの変換器を駆動してもよく、変換器は、上述の個々の時間遅延間隔の終了時（例えば、ビーム成形のための制御位相まで）、（例えば、スレーブデバイスからのトリガ信号に基づき）音響パルスを生成する。その後すぐに、各変換器は、反射波形を受信してもよく、反射波形の各特徴（例えば、先のコマンドで規定された通り、事前設定タイムアパーチャ内であり、且つ、事前送信された大きさ／派生／第２の派生の限度内である）には、タイムスタンプを付与することができ、これがスレーブデバイスのレジスタに記録される。その後、マスタデバイスは、各スレーブデバイスにポーリングを行い、記憶されたタイムスタンプ付与されたデータを読み戻してもよい。例えば、特定数のトリガ作用／タイムスタンプ付与の動作の後、腹部内（又は、その他いずれかの内臓）の画像を作成するのに十分な動作が行われる。
【００１８】
本開示の実施形態によると、読取にタイムスタンプを付与するのに使用される、異なるスレーブデバイスにおける独立のクロック信号及び計数器回路を同期することができる。このように、異なるセンサからのイベントは正確に時間的に相関させられ得る。例えば、Ｉ３Ｃマイクロフォンのアレイによって生成された複数の測定を相関させて、音（例えば、「拍手」）が発生する方向を判定することができ、アレイ中の各マイクロフォンは、独自のクロック信号を有することができる。
【００１９】
本開示の実施形態では、新たな共通コマンドコード（ＣＣＣ）シリアルバスコマンド、すなわち、時間同期のための「時間同期」コマンドの利用をサポートする。いくつかの実施形態において、マスタデバイスは、時間同期ＣＣＣを発行して、すべてのスレーブデバイスを、シリアルクロックライン（ＳＣＬ）バスを駆動するクロック信号の特定選択推移（例えば、立ち下がりエッジ）に同期させてもよい。各スレーブデバイスは、時間同期ＣＣＣが検出された後、ＳＣＬ信号のすべての選択推移を計数するように構成されてもよく、タイムスタンプ付与イベントのためのタイムマーカとしてＳＣＬクロック信号の選択推移を使用してもよい。マスタデバイスは、（安定的）時間ベースに対するＳＣＬクロック信号の推移周期も監視しつつ、時間同期ＣＣＣ検出後のＳＣＬクロック信号のすべての選択推移を計数してもよい。マスタデバイスは、タイムスタンプデータのバストラフィックも監視し、タイムスタンプデータを収集し、時間ベースに対するスレーブデバイスで検出されたイベント（例えば、センサ測定）のタイミングを判定する計算を実施してもよい。他の実施形態では、マスタデバイスとは別体のモニタデバイスが、ＳＣＬ推移の計数と、タイムスタンプ付与されたデータの収集とを実施してもよい。
【００２０】
本開示の実施形態では、正確なタイムスタンプ付与及びトリガ作用を促進する。１つ以上の実施形態において、タイムスタンプ付与については、スレーブデバイスが、センサを監視し、感知されたイベントが発生した時間（計数）を記録してもよい。１つ以上の他の実施形態において、トリガ作用については、マスタデバイスは、グループ内のすべてのスレーブデバイスに対するコマンドを発行して、正確な時間（計数）で特定の動作を始動してもよい。これは、アクションが起こった後の時間遅延の始動であってもよく、時間遅延がスレーブデバイス毎に異なる遅延値に事前設定されてもよいことに留意しなければならない。
【００２１】
図１は、本開示の実施形態に係る、複数のスレーブデバイス１０４とインタフェースをとったマスタデバイス１０２を示す概略図１００である。１つ以上の実施形態において、各スレーブデバイス１０４は、低速周辺集積回路（ＩＣ）であってもよく、マスタデバイス１０２は、より高速のプロセッサ又はマイクロコントローラであってもよい。一実施形態において、マスタデバイス１０２は、マスタデバイス１０２に対するクロック信号１０８を生成するリアルタイム（real time）クロックソース１０６に連結されてもよい。他の実施形態において、マスタデバイス１０２は、クロック信号を生成する内部クロック信号ソースを備えてもよい。
【００２２】
図１に示される通り、マスタデバイス１０２は、通信リンク１１０を介してスレーブデバイス１０４とインタフェースをとってもよい。いくつかの実施形態において、通信リンク１１０は、シリアルデータライン（ＳＤＡ）バス１１２及びＳＣＬバス１１４を備える２線式通信リンクである。ＳＤＡバス１１２は、Ｉ３Ｃ等の通信プロトコルに応じたシングルエンド信号を使用して、マスタデバイス１０２とスレーブデバイス１０４との間でコマンド及び／又はデータを伝達するのに採用されてもよい単線バスである。ＳＣＬバス１１４は、マスタデバイス１０２によって生成及び／又は制御されてもよいシングルエンドクロック信号（例えば、クロック信号１０８）を伝達するために利用されてもよい単線バスである。クロック信号１０８は、ＳＤＡバス１１２上のコマンド及び／又はデータを送受信するためのタイミング基準として使用される。各スレーブデバイス１０４は、そのスレーブデバイス１０４によって制御される周辺デバイス（例えば、変換器、マイクロフォン、センサ等）に連結されてもよい。
【００２３】
いくつかの実施形態については、以下にさらに詳述する通り、マスタデバイス１０２は、スレーブデバイス１０４に連結された装置（例えば、センサ）から正確にタイムスタンプを読み取る（イベント）ために、ＳＤＡバス１１２を介して時間同期コマンドを発行し、異なるスレーブデバイス１０４におけるクロック信号の選択推移のローカル計数（例えば、クロック信号の立ち下がりエッジ）を同期させてもよい。各イベントのリアルタイム発生を計算するために、各スレーブデバイス１０４にローカルに記憶されたタイムスタンプ付与イベントが（例えば、ＳＤＡバス１１２を介して）マスタデバイス１０２に提供されてもよく、広範囲リアルタイムは、クロック信号１０８（例えば、ＳＣＬバス１１４によって伝達される信号）の推移に基づき、マスタデバイス１０２によって正確に追跡可能である。このように、異なるスレーブデバイス１０４に連結された異なるセンサからのイベント（例えば、測定）は、マスタデバイス１０２において時間的に正確に相関可能である。
【００２４】
他のいくつかの実施形態については、以下にさらに詳述する通り、複数のスレーブデバイス１０４は、マスタデバイス１０２によって（例えば、ＳＤＡバス１１２を介して適切なコマンドを送信することによって）制御された時間同期トリガ作用を介して、同期動作（例えば、測定）を始動することができる。そこで、動作（イベント）を同期させるためのマスタデバイス１０２とスレーブデバイス１０４との間のサイド通信チャンネルのニーズをなくすことができる。
【００２５】
図２は、本開示の実施形態に係る、タイムスタンプ付与及び遅延トリガを可能にしてもよい、通信リンク２０５を介してスレーブデバイス２０４とインタフェースをとるマスタデバイス２０２を備えるシステム２００の概略図である。いくつかの実施形態では、マスタデバイス２０２が図１に示されるマスタデバイス１０２に対応してもよく、スレーブデバイス２０４が図１に示されるスレーブデバイス１０４のいずれかに対応してもよい。図２には１つのスレーブデバイス２０４が示されているが、本開示の実施形態は、複数のスレーブデバイス２０４がマスタデバイス２０２にインタフェースをとることをサポートしている。図２に示される通り、通信リンク２０５は、ＳＤＡバス２０６とＳＣＬバス２０８を備えてもよい。図２にさらに示される通り、マスタデバイス２０２及びスレーブデバイス２０４がともに、ＳＤＡバス２０６を駆動してもよく、マスタデバイス２０２のみが、ＳＣＬバス２０８によって伝達されてもよいクロック信号（以降、ＳＣＬクロック信号２０８と称する）を提供及び制御してもよい。以下にさらに詳述する通り、スレーブデバイス２０４は、ＳＤＡバス２０６を介してマスタデバイス２０２と通信してもよく、スレーブデバイス２０４は、スレーブデバイス２０４によって検出されたイベントのタイムスタンプ付与、及び／又は、同期遅延トリガのためにＳＣＬクロック信号２０８を利用してもよい。
【００２６】
いくつかの実施形態において、マスタデバイス２０４は、ＳＤＡバス２０６を介して単一データレート（ＳＤＲ）コマンド２１０をスレーブデバイス２０４にブロードキャストしてもよい。１つ以上の実施形態において、ＳＤＲコマンド２１０は、時間同期ＣＣＣを備えてもよい。（例えば、復号化論理回路２１２により）ＳＤＲコマンド２１０の復号化に際して、スレーブデバイス２０４は、復号化されたＳＤＲコマンド２１０に応じて動作してもよい。一実施形態において、時間追跡／トリガ制御回路２１４にて時間同期ＣＣＣを検出してもよい。以下にさらに詳述する通り、検出された時間同期ＣＣＣに基づき、時間同期の開始とイベントが発生して検出されるまでの時間追跡とのために、時間同期マーカ（図示せず）が時間追跡／トリガ制御回路２１４によって生成されてもよい。図２に示される通り、スレーブデバイス２０４は、環境特性の測定を示すセンサ出力信号２１８を生成するセンサ２１６に連結されてもよい。イベント検出器回路２２０は、センサ出力信号２１８からイベント発生を検出し、イベント検出時に低ロジックレベルから高ロジックレベルに切り替えるイベント検出信号２２２を生成する。
【００２７】
いくつかの実施形態において、時間追跡／トリガ制御回路２１４は、時間同期マーカ（図示せず）によって示されてもよい、時間同期の開始を参照してイベント（例えば、センサの測定）２２２の発生にタイムスタンプを付与するように構成されてもよい。以下にさらに詳述する通り、時間追跡／トリガ制御回路２１４は、少なくとも部分的にマスタデバイス２０２によって生成及び制御されてもよいＳＣＬクロック信号２０８（すなわち、参照クロック信号）の選択推移に基づき、イベント２２２のタイムスタンプ付与を実施してもよい。時間追跡／トリガ制御回路２１４は、イベント２２２のタイムスタンプ２２４を記憶してもよい。図２に示され、以下にさらに詳述する通り、通信論理回路２２６は、（例えば、ＳＤＡバス２０６に他のトラフィックがないとき）タイムスタンプ２２４の値を読み取り、タイムスタンプ値２２４をＳＤＡバス２０６に提供してもよい。さらに図２に示される通り、通信論理回路２２６及び復号化論理回路２１２は、スレーブデバイス２０４をＳＤＡバス２０６に連結するインタフェース２２８を示す。
【００２８】
いくつかの実施形態において、時間同期ＣＣＣでＳＤＲコマンド２１０をブロードキャストするのに先立って、マスタデバイス２０２は、スレーブデバイス２０４によってトリガ信号を生成するための時間遅延を判定する遅延設定情報で、スレーブデバイス２０４に他のＳＤＲコマンドを（例えば、ＳＤＡバス２０６を介して）通信してもよい。図２に示される通り、トリガ遅延設定回路２３０は、時間同期ＣＣＣを伴うＳＤＲコマンド２１０とスレーブデバイス２０４におけるトリガ信号の生成との間で発生するＳＣＬクロック信号２０８の選択推移数の形態でトリガ遅延を示す遅延設定情報２３２を生成する。一実施形態において、トリガ遅延設定回路２３０は、時間同期ＣＣＣを伴うＳＤＲコマンド２１０の後に発生することが期待されるＳＣＬクロック信号２０８の周波数変化に基づき、遅延設定情報２３２を生成する。ＳＣＬクロック信号２０８に期待される周波数変化についての情報は、マスタデバイス２０２において既知である。マスタデバイス通信インタフェース２３６のエンコーダ２３４は、ＳＤＲコマンド２１０内の遅延設定情報２３２を符号化する。符号化された遅延設定情報２３２を伴うＳＤＲコマンド２１０は、その後、ＳＤＡバス２０６を介して１つ以上のスレーブデバイス２０４にブロードキャストされて遅延トリガを始動させる。さらに図２に示される通り、スレーブデバイス２０４の復号化論理回路２１２が、他のＳＤＲコマンド２１０内で符号化された時間同期ＣＣＣの検出が後続するＳＤＲコマンド２１０（例えば、粗い遅延設定及び細かい遅延設定）内でマスタデバイス２０２によって提供される遅延設定情報を一旦復号化すると、時間追跡／トリガ制御回路２１４は、以下にさらに詳述する通り、提供された遅延設定情報に基づいて判定される時間遅延を伴う遅延トリガ信号２３８を生成するように構成されてもよい。一実施形態において、遅延トリガ信号２３８は、スレーブデバイス２０４に連結された周辺デバイスの動作（例えば、測定）、例えば、スレーブデバイス２０４に連結された出力変換器２４０の動作を始動してもよい。
【００２９】
いくつかの実施形態において、図２に示されるマスタデバイス２０２の時間追跡回路２４２は、同期信号２４４上に生成された時間同期マーカから開始するリアルタイムを追跡するように構成されてもよい。エンコーダ２３４は、同期信号２４４を符号化して時間同期ＣＣＣを伴うＳＤＲコマンド２１０を生成した後、これがＳＤＡバス２０６を介して１つ以上のスレーブデバイス２０４にブロードキャストされて時間同期が始動されてもよい。同期ＣＣＣブロードキャスト２４６（すなわち、時間同期ＣＣＣ）も、時間追跡回路２４２内で検出されてもよく、その後、ＳＬＣクロック信号２０８の選択推移数の追跡に基づき、マスタデバイス２０２におけるシステム参照時間追跡の開始を示す時間同期マーカを生成してもよい。
【００３０】
いくつかの実施形態において、時間追跡回路２４２内の計数器回路２４８は、ＳＣＬクロック信号２０８の選択推移（例えば、立ち下がりエッジ）数の追跡を継続するように構成されてもよい。ＳＣＬクロック信号２０８の各周波数について、ＳＣＬ信号２０８の選択推移数（例えば、ＳＣＬ計数Ｃ０として図２に示される）は、ラッチ２５０に保存され、周波数変化（ＣＯＦ）信号２５２によって制御されてもよい。以下にさらに詳述する通り、ＳＣＬ計数Ｃ０は、時間同期マーカとＳＣＬクロック信号２０８の周波数変化に先立つＳＣＬクロック信号２０８の最終選択推移（例えば、立ち下がりエッジ）との間のＳＣＬクロック信号２０８の選択推移数を表してもよい。ＳＣＬクロック信号２０８の周波数変化後毎に、更新されたＳＣＬ計数Ｃ０がラッチ２５０に記憶されてもよく、これがＣＯＦ信号２５２に制御される。更新されたＳＣＬ計数Ｃ０は、時間同期マーカとＳＣＬクロック信号２０８の周波数変化に先立つＳＣＬクロック信号２０８の最終選択推移との間のＳＣＬクロック信号２０８の選択推移数を示してもよい。ＳＣＬクロック信号２０８の周波数変化毎に、且つ、対応するＣＯＦ信号２５２に基づいて、ＳＣＬ計数Ｃ０の以前の（古い）値もレジスタファイル（例えば、ルックアップテーブル）２５４に保存されてもよい。そこで、レジスタファイル２５４は、ＳＣＬクロック信号２０８のＮ個の異なる周波数に対応するＳＣＬ計数Ｃ０（例えば、値ＣＮＴ＿１、ＣＮＴ＿２、...ＣＮＴ＿Ｎ）の異なる値を含んでもよい。レジスタファイル２５４に記憶された各値ＣＮＴ＿ｉは、ＳＣＬクロック信号２０８の各周波数の周期を符号化する値Ｔｉとも関連付けられてもよい。従って、レジスタファイル２５４に記憶されたＣＮＴ＿ｉ及びＴｉ（ｉ＝１、...、Ｎ）の値は、時間同期マーカからのシステム参照時間についての情報を提供してもよい。
【００３１】
いくつかの実施形態において、マスタデバイス２０２は、ＳＤＡバス２０６を介して、スレーブデバイス２０４で検出されたイベント２２２のタイムスタンプ２２４についての情報を受信してもよい。マスタデバイス２０２は、タイムスタンプ２２４で（例えば、リアルタイム計算回路２５６にて）相関する時間同期マーカの始動から追跡されたシステム参照時間についてレジスタファイル２５４に記憶された情報を使用して、イベント２２２の発生の精密な広範囲（システム）時間２５８を判定してもよい。計算された時間２５８は、マスタデバイス２０２における時間同期マーカの始動から開始するＳＣＬクロック信号２０８の選択推移に基づいて測定された広範囲時間を表す。一実施形態において、ＳＣＬクロック信号２０８は、調整可能なクロック発生器２６０によってマスタデバイス２０２で生成されてもよく、ＳＣＬクロック信号２０８の所望の周期についての指示２６２（例えば、指示Ｔｉ）に基づき、ＳＣＬクロック信号２０８の周波数を提供してもよい。
【００３２】
上述の通り、本開示の実施形態では、新たなタイムスタンプ同期ＣＣＣブロードキャストコマンドをメッセージプロトコルに追加することをサポートする。マスタデバイス２０２は、ＳＤＡバス２０６を介してタイムスタンプ同期コマンドを発行し、クロック信号駆動ＳＣＬバスの特定選択推移（例えば、立ち下がりエッジ）に対してＳＤＡバス２０６に連結された１つ以上のスレーブデバイス２０４を同期させてもよい。図３は、本開示の実施形態に係る、タイムスタンプ同期コマンド３００との関連で、例としてのタイムスタンプ同期コマンド３００と、ＳＤＡバス及びＳＣＬバスを駆動する信号の波形とを示している。タイムスタンプ同期コマンド３００は、マスタデバイス２０２によって始動されてもよく、ＳＤＡバス２０６を介して１つ以上のスレーブデバイス２０４にブロードキャストしてもよい。図３に示される通り、タイムスタンプ同期コマンド３００の開始部分３０２には、値０×７Ｅ）で示されるブロードキャスト部分３０４が後続してもよい。マスタデバイスは、ブロードキャスト部分３０４の終了に向かって、スレーブデバイスに書き込み動作（「Ｗ」）を信号送信してもよく、少なくとも１つのスレーブデバイスは、タイムスタンプ同期コマンド３００のブロードキャスト部分３０４の受信確認のために、ＳＤＡバスの書き込み動作（「Ｗ」）に確認（ＡＣＫ）で応答してもよい。
【００３３】
図３に示される通り、タイムスタンプ同期コマンド３００のＳＤＲコマンドＣＣＣ部分３０６は、ブロードキャスト部分３０４に後続してもよい。コマンドコード０×２８は、タイムスタンプ同期コマンドに対応する。部分３０８（例えば、「Ｔ」ビット）は、ＳＤＡバス上の特定の信号波形３１０に関連付けられてもよい。タイムスタンプ同期コマンド３００の「Ｔ」ビットの間、ＳＣＬクロック信号の第１の選択推移（例えば、立ち上がりエッジ）において、スレーブデバイス２０４は、時間同期ＣＣＣ３１２を検出してもよい。ＳＣＬクロック信号の次の選択推移（例えば、立ち下がりエッジ）は、時間同期マーカ３１４を表してもよく、これはスレーブデバイス２０４でも検出される。以下にさらに詳述する通り、時間同期マーカ３１４は、１つ以上のスレーブデバイス２０４の、マスタデバイス２０２によって生成されたシステム参照時間ベースへの、同期が開始する瞬間を表してもよい。さらに図３に示される通り、タイムスタンプ同期コマンド３００は、ＳＤＡバスを介してスレーブデバイス２０４からのデータ読取を始動する部分３１６で終了してもよい。
【００３４】
いくつかの実施形態において、以下にさらに詳述する通り、時間同期マーカ３１４は、複数のスレーブデバイスがタイムスタンプ付与イベントのために同期を行う手段を提供する。時間同期マーカ３１４はまた、複数のスレーブデバイスに時間同期トリガ作用を介して同時動作（例えば、測定）を始動させてもよい。結果として、イベントを同期するためのマスタデバイスとスレーブデバイスとの間のサイドチャンネルのニーズをなくすことができる。トリガ作用を行う場合において、すべてのスレーブデバイスが同時にトリガ作用されるために、時間単位又はローカルクロックに対する懸念がないことに留意しなければならない。
【００３５】
他のいくつかの実施形態において、スレーブデバイスで検出されたイベントのタイムスタンプ付与は、時間同期マーカ３１４に基づき、サポートされてもよい。以下にさらに詳述する通り、スレーブデバイス内の制御回路は、時間同期マーカ３１４に基づいて初期化されてもよく、ＳＣＬクロック信号の選択推移数を追跡するように構成されてもよい。イベントが一旦検出されると、追跡されたＳＣＬクロック信号の選択推移数は、後にマスタデバイスに読み戻されるように、スレーブデバイスのローカルメモリ内に保存されてもよい。マスタデバイスは、ＳＣＬクロック信号を生成及び制御するが、ＳＣＬクロック信号の選択推移数の追跡を継続してもよく、イベント発生の広範囲システム時間を判定するために、その計数を、スレーブデバイスから読み戻された、保存されたタイムスタンプ計数と相関させてもよい。
【００３６】
図４は、本開示の実施形態に係る、スレーブデバイス２０４等のスレーブデバイスにおいて時間同期を実施するための回路４００の例としての概要である。いくつかの実施形態において、回路４００は、図２に示される時間追跡／トリガ制御回路２１４の一部であってもよい。フリップフロップ４２０は、（時間）同期ＣＣＣが検出されるとき、すなわち、パルス４０６の立ち上がりエッジが検出されるとき、リセットライン４０４上に同期パルス４０２を出力する。再び図２を参照すると、同期ＣＣＣ検出パルス４０６は、時間同期コマンド２１０の検出に際して、スレーブデバイス２０４の復号化論理回路２１２で生成されてもよい。同期パルス４０２の選択推移は、図４に示される立ち下がりエッジ４０８であるが、時間同期マーカを表してもよい。再び図３を参照すると、時間同期マーカ３１４は、時間同期ＣＣＣの検出に続くタイムスタンプ同期コマンド３００の「Ｔ」ビットの間、ＳＣＬクロック信号の選択推移に揃えられてもよい。そこで、図４に示される通り、時間同期マーカは、同期ＣＣＣの検出を示すパルス４０６の立ち上がりエッジに続くＳＣＬクロック信号４１２の選択推移４１０に揃えられてもよい。
【００３７】
いくつかの実施形態において、リセットライン４０４に存在する同期パルス４０２は、計数器４１４の出力における波形４１６で示される通り、計数器４１４をすべてゼロにリセットしてもよい。計数器４１４は、すべてゼロにリセットされた後、ＳＣＬクロック信号４１２の選択推移毎（例えば、立ち下がりエッジ毎）にインクリメントする。本明細書に提示され、図４に示されたアプローチは、同期パルス４０２と、ＳＣＬクロックの選択推移に揃えられた時間同期マーカ（マスタデバイスによって制御可能である）とに基づくものであるが、図４に示す回路４００を備えたすべてのスレーブデバイスに亘って均一の時間参照を提供することに留意しなければならない。
【００３８】
いくつかの実施形態において、タイムスタンプ付与及び遅延トリガの分解能を向上するために、スレーブデバイスにてバースト発振器が採用されてもよい。図５は、本開示の実施形態に係る、時間同期の分解能を向上するためにスレーブデバイス２０４で実施されてもよい発振器回路５００の例としての概要である。１つ以上の実施形態において、発振器回路５００は、図２に示されるスレーブデバイス２０４の時間追跡／トリガ制御回路２１４の一部であってもよい。
【００３９】
図５に示される通り、発振器回路５００は、バースト発振器５０２と計数器５０４とを備えてもよい。バースト発振器５０２は、イネーブル信号５０８が高ロジックレベルであるとき、高速クロック信号５０６を生成するいくつかの直列に接続されたインバータを含む。高速クロック信号５０６の周波数は、ＳＣＬクロック信号の周波数より高い。リセット信号５１０による始動に際して、計数器５０４は、高速クロック信号５０６の選択推移の計数を開始する。バースト発振器５０２の出力Ｆ（０）と計数器５０４のｍビット出力Ｆ（１：ｍ）とは、発振器回路５００の出力５１２を形成する。１つ以上の実施形態において、バースト発振器５０２は、イベントの検出に続いて特定数の測定（例えば、１つ又は２つの測定）を行うのに十分の限定時間、動作するように構成されてもよい。そこで、バースト発振器５０２は、限定的な量の動力を消費する。
【００４０】
一実施形態において、スレーブデバイスに連結された特定種別のセンサ（例えば、加速度計、ジャイロ）は、もともと、比較的安定的な時間ベースを有し、この時間ベースを使用してタイムスタンプ付与と遅延トリガの分解能を向上するために利用されてもよいクロック信号を提供してもよい。他のセンサは、安定的な時間ベースを有しておらず、ローカルクロック信号を生成するためのローカル発振器を採用する必要があってもよい。一実施形態において、スレーブデバイスにおけるローカル発振器は、ＳＣＬクロック信号より周波数の高い、同期された安定的なローカルクロックを生成するための参照クロックとしてＳＣＬクロック信号を使用する位相固定ループ（ＰＬＬ）デバイスに基づくものであってもよい。しかしながら、このアプローチは、連続的に動力及び大きなシリコン領域を消費する欠点を有する。
【００４１】
図６は、本開示の実施形態に係る、スレーブデバイス２０４においてタイムスタンプ付与を実施するための回路６００の例としての概要である。回路６００は、図２に示されるスレーブデバイス２０４の時間追跡／トリガ制御回路２１４の一部であってもよい。図６に示される通り、回路６００は、図４の回路４００と、図５の発振器回路５００とを備えてもよい。いくつかの実施形態において、回路６００は、スレーブデバイス２０４においてタイムスタンプを実施するように構成されてもよく、発振器回路５００は、タイムスタンプのためにＳＣＬクロック信号の選択推移の計数のみを使用する場合と比較して、タイムスタンプの分解能を増加させるのに利用される。
【００４２】
図４に示される回路４００を参照して以上に述べた通り、リセットライン６０２に存在する同期パルス（例えば、図４に示される同期パルス４０２）は、（時間）同期ＣＣＣが検出されるとき、すなわち、図４に示されるパルス４０６の立ち上がりエッジが入力６０４にて検出されるときに生成されてもよい。同期パルス（例えば、図４に示される同期パルス４０２）の立ち下がりエッジは、入力６０４における同期ＣＣＣの検出に続くタイムスタンプ同期コマンド（例えば、図２に示されるマスタデバイス２０２からのＳＤＲ時間同期コマンド２１０ブロードキャスト、図３に示されるタイムスタンプ同期コマンド３００）の「Ｔ」ビットの間、ＳＣＬクロック信号６０６の選択推移（例えば、図４に示される立ち下がりエッジ４１０）に揃えられる時間同期マーカを表してもよい。リセットライン６０２に存在する同期パルスは、計数器６０８をすべてゼロにリセットしてもよい。一実施形態において、計数器６０８は、図４に示される回路４００の計数器４１４と同一であってもよい。計数器６０８は、ＳＣＬクロック信号６０６の選択推移（例えば、立ち下がりエッジ）毎にインクリメントするように構成され、すべてのスレーブデバイス（例えば、図１に示されるスレーブデバイス１０４、図２に示される複数のスレーブデバイス２０４）に亘って均一な時間参照を提供してもよい。ここでは、ＳＣＬクロック信号６０６は、マスタデバイス（例えば、図１に示されるマスタデバイス１０２、図２に示されるマスタデバイス２０２）によって生成及び制御されてもよい。
【００４３】
いくつかの実施形態において、イベント６１０には、少なくとも部分的に計数器６０８の値６１２に基づいてタイムスタンプが付与されてもよい。イベント６１０の発生が検出されると、時間同期マーカとイベント６１０の検出に先立つＳＣＬクロック信号６０６の最終選択推移６１４との間のＳＣＬクロック信号６０６の選択推移数を表す値６１２が、ラッチ６１６に記憶されてもよい（例えば、図６に示される値Ｃ０がラッチ６１６に記憶されてもよい）。
【００４４】
いくつかの実施形態において、上述の通り、発振器回路５００は、タイムスタンプ付与の分解能をより緻密にするために計数器６０８との連携で使用されてもよい。図５のバースト発振器５０２を備えた発振器回路５００は、ＳＣＬクロック信号６０６の周波数より高い周波数を有する周期発振器信号を生成するように構成されてもよい。図６に示される通り、イベント６１０が検出されると、フリップフロップ６１８は、発振器回路５００内のバースト発振器５０２を稼働するイネーブル信号６２０を生成する。イネーブル信号６２０に基づき稼働すると、発振器回路５００のバースト発振器５０２は、高速クロック信号（発振器信号）５０６を生成してもよく、発振器回路５００の計数器５０４は、発振器信号５０６の選択推移（例えば、立ち下がりエッジ）数の追跡を継続してもよい。
【００４５】
１つ以上の実施形態において、イベント６１０の検出直後に続くＳＣＬクロック信号６０６の第１の選択推移６２２は、フリップフロップ６２４の出力を高めることにより、発振器及び計数器回路５００の出力における値６２６のラッチ６２８への記憶を始動する。この値は、Ｃ１として示されている。Ｃ１の値は、イベント６１０の検出とイベント６１０の検出に続くＳＣＬクロック信号６０６の第１の選択推移６２２との間の、発振器信号５０６の選択推移数の形態で遅延を表す。
【００４６】
第１の選択推移６２２に続くＳＣＬクロック信号６０６の次の選択推移６３０は、フリップフロップ６３２の出力を高める。結果として、これにより、発振器及び計数器回路５００の出力における新たな値６２６のラッチ６３４への記憶を始動する。この値は、Ｃ２として示される。Ｃ２の値は、イベント６１０の検出と第１の選択推移６２２に続くＳＣＬクロック信号６０６の第２の選択推移６３０との間の、発振器信号５０６の選択推移数の形態で遅延を表す。
【００４７】
いくつかの実施形態において、時間同期マーカとイベント６１０の検出（すなわち、イベント６１０のタイムスタンプ）との間の経過時間についての情報は、記憶された値Ｃ０、Ｃ１、及びＣ２に基づくものであってもよい。１つ以上の実施形態において、図２からのタイムスタンプ２２４は、図６に示されるタイムスタンプ計算回路６３６により、スレーブデバイス２０４にて、
【数１】
2019061709.tif 000003
として計算されてもよい。式（１）中、Ｔ０は、タイムスタンプ２２４を表す。イベント６１０のタイムスタンプについての情報は、ＳＤＡバス２０６が利用可能であるとき、スレーブデバイス２０４のインタフェース２２８を介して、マスタデバイス２０２に通信されてもよい。一実施形態において、図６に示される通り、式（１）に規定されたタイムスタンプ値Ｔ０は、マスタデバイス２０２への通信に先立って、遅延レジスタ６３８にも記憶されてもよい。遅延レジスタ６３８は、ＳＤＡバス２０６が利用可能となるまで、タイムスタンプ値Ｔ０を保持してもよい。
【００４８】
図７は、本開示の実施形態に係る、マスタデバイス７０２による複数のスレーブデバイス７０４及び７０６からのイベントの獲得及び読取時間を示す例としての図７００である。マスタデバイス７０２は、図２に示されるマスタデバイス２０２に対応してもよく、スレーブデバイス７０４及び７０６は、各々、図２に示されるスレーブデバイス２０４に対応してもよい。図７に示される通り、マスタデバイス７０２は、時間同期ＣＣＣ７０８をスレーブデバイス７０４、７０６にブロードキャストしてもよい。スレーブデバイス７０４、７０６は、同期ＣＣＣ７０８がスレーブデバイス７０４、７０６にて検出されるときに生成された時間同期マーカ（図７には示されない）と各スレーブデバイスにおけるイベントの検出との間の時間遅延７１０、７１２を追跡してもよい。イベント７１４がスレーブデバイス７０４にて検出され、イベント７１６がスレーブデバイス７０６にて検出されるとき、各スレーブデバイスで追跡されるＳＣＬクロック信号（図７には示されない）の選択推移数として表される時間遅延が、ラッチされる。すなわち、このイベントには、各スレーブデバイスでタイムスタンプが付与され、遅延レジスタに記憶される。図７に示される通り、スレーブデバイス７０４は、イベント７１４のタイムスタンプとして、追跡した遅延７１０を遅延レジスタ７１８に記憶してもよく、スレーブデバイス７０６は、イベント７１６のタイムスタンプとして追跡された遅延７１２を遅延レジスタ７２０に記憶してもよい。１つ以上の実施形態において、スレーブデバイス７０４の遅延レジスタ７１８とスレーブデバイス７０６の遅延レジスタ７２０とは、図６に示される遅延レジスタ６３８に対応してもよい。
【００４９】
いくつかの実施形態において、図２に示されるスレーブデバイス２０４は、スレーブデバイスが図２に示されるマスタデバイス２０２に割り込みを始動できるようになる前に、ＳＤＡバス２０６においてバスがフリーとなる状況を待つ必要があってもよい。図７に示される通り、スレーブデバイス７０４、７０６は、ＳＤＡバスのトラフィック７２２が終了されるまで待機する必要があってもよい。そして、スレーブデバイス７０６は、イベント７１６のタイムスタンプ７１２がマスタデバイス７０２で読取可能となることをマスタデバイス７０２に信号送信する帯域内割り込み（ＩＢＩ）７２４を始動してもよい。ＩＢＩ７２４を受信すると、マスタデバイス７０２は、スレーブデバイス７０６の遅延レジスタ７２０に記憶されるイベント７１６のタイムスタンプ７１２についての情報を読み取るよう要求するリクエスト７２６を、ＳＤＡバスを介してスレーブデバイス７０６に送信してもよい。リクエスト７２６を受信すると、スレーブデバイス７０６は、遅延レジスタ７２０からタイムスタンプ７１２の読取７２８を行ってもよく、ＳＤＡバスを介して、マスタデバイス７０２に、イベント７１６のタイムスタンプ７１２についての情報を提供してもよい。その後、マスタデバイス７０２は、イベント７１４のタイムスタンプ７１０についての情報を記憶するスレーブデバイス７０４の遅延レジスタ７２０から他の読取７３０を始動してもよい。イベント７１４のタイムスタンプ７１０についての情報は、その後、ＳＤＡバスを介してマスタデバイス７０２に提供されてもよい。
【００５０】
図７に示される例としての実施形態において、スレーブデバイス７０６は、スレーブデバイス７０４よりも高い優先度を有してもよい。スレーブデバイス７０４もＩＢＩを始動してもよいが、この場合、マスタデバイス７０２がスレーブデバイス７０６から受信したＩＢＩ７２４に自動的に応じてイベント７１４のタイムスタンプ７１０を読み取ることを決定するため、スレーブデバイス７０４がこれを行う機会はない。同期ＣＣＣ７０８に続くトラフィック７２２のために、ＳＣＬクロック信号（図７には示されない）は、検出されたイベント７１４、７１６の前後で連続的に切り替わることにより、スレーブデバイス７０４、７０６が参照する連続時間ベースを提供してもよいことに留意しなければならない。
【００５１】
図８は、本開示の実施形態に係る、複数のスレーブデバイス８０４及び８０６からのマスタデバイス８０２及びモニタデバイス８０８によるイベントの時間の獲得及び読取を示す例としての図８００である。いくつかの実施形態において、モニタデバイス８０８は、ＳＤＡバス及びＳＣＬバスを介して、スレーブデバイス８０４及び８０６とインタフェースがとられてもよい。モニタデバイス８０８は、マスタデバイス８０２とは異なり、いずれのコマンドも発行せず、いずれのクロック信号も生成／制御しない。代わりに、モニタデバイス８０８は、ＳＤＡバスにおけるトラフィックを単に監視し、マスタデバイス８０２及び／又はスレーブデバイス８０４，８０６により、ＳＤＡバス上に通信された対応情報を収集してもよい。マスタデバイス８０２は、図２のマスタデバイス２０２に対応してもよく、各スレーブデバイス８０４、８０６は、図２のスレーブデバイス２０４に対応してもよい。
【００５２】
図８に示される通り、マスタデバイス８０２は、同期ＣＣＣ８１０がスレーブデバイス８０４、８０６で検出されるときに生成される時間同期マーカ（図８には示されない）と各スレーブデバイスのイベントの検出との間の時間遅延８１２及び８１４を追跡するスレーブデバイス８０４及び８０６に時間同期ＣＣＣ８１０をブロードキャストしてもよい。同期ＣＣＣ８１０も、モニタデバイス８０８によって検出されてもよい。イベント８１６がスレーブデバイス８０４で検出され、イベント８１８がスレーブデバイス８０６で検出されるとき、各スレーブデバイスで追跡された遅延がラッチされる。すなわち、イベントには、各スレーブデバイスで時間付与され、遅延レジスタに記憶される。図８に示される通り、スレーブデバイス８０４は、時間同期マーカとイベント８１６の検出との間で追跡された遅延８１２を遅延レジスタ８２０に記憶してもよく、スレーブデバイス８０６は、時間同期マーカとイベント８１８との間で追跡された遅延８１４を遅延レジスタ８２２に記憶してもよい。１つ以上の実施形態において、スレーブデバイス８０４の遅延レジスタ８２０とスレーブデバイス８０６の遅延レジスタ８２２は、図６に示された遅延レジスタ６３８に対応してもよい。
【００５３】
さらに図８に示される通り、他のトラフィック８２４が、マスタデバイス８０２によってＳＤＡバスに提供されてもよい。また同一のトラフィック８２４がモニタデバイス８０８によって監視されてもよい。いくつかの実施形態において、各スレーブデバイスは、スレーブデバイスがマスタデバイスへの割り込みを始動できるようになる前に、ＳＤＡバスにおいてバスがフリーとなる状況を待つ必要があってもよい。図８に示される通り、スレーブデバイス８０４及び８０６は、ＳＤＡバス上のトラフィック８２４が完了されるまで待機する必要があってもよい。その後、スレーブデバイス８０６は、ＳＤＡバスを介して、イベント８１８のタイムスタンプ８１４の読取が可能となる旨のＩＢＩ信号送信８２６を始動してもよい。ＳＤＡバスを介して送信された同一の割り込み８２６は、マスタデバイス８０２とモニタデバイス８０８との双方によって受信されてもよい。割り込み８２６を受信すると、マスタデバイス８０２は、スレーブデバイス８０６に、スレーブデバイス８０６の遅延レジスタ８２２に記憶されたイベント８１８のタイムスタンプ８１４についての情報を読み取るよう要求するリクエスト８２８をスレーブデバイス８０６のアドレスとともに提供してもよい。スレーブデバイス８０６のアドレスを備えたリクエスト８２８も、モニタデバイス８０８によって受信されてもよい。
【００５４】
リクエスト８２８を受信すると、スレーブデバイス８０６は、遅延レジスタ８２２からタイムスタンプ８１４の読取８３０を行い、ＳＤＡバスを介して、マスタデバイス８０２にイベント８１８のタイムスタンプ８１４についての情報を提供してもよい。同時に、イベント８１８のタイムスタンプ８１４についての情報がＳＤＡバスで利用可能であるため、モニタデバイス８０８は、イベント８１８のタイムスタンプ８１４も取得してよい。その後、マスタデバイス８０２は、スレーブデバイス８０４のアドレスを伴うリクエスト８３２を送信することにより、イベント８１６のタイムスタンプ８１２についての情報を記憶する遅延レジスタ８２０からの他の読取８３４を始動してもよい。スレーブデバイス８０４のアドレス８３２も、ＳＤＡバス上のすべてのトラフィックを監視するモニタデバイス８０８によって受信されてもよい。イベント８１６のタイムスタンプ８１２についての情報は、その後、ＳＤＡバスを介して、マスタデバイス８０２及びモニタデバイス８０８に提供されてもよい。スレーブデバイス８０４及び８０６からタイムスタンプデータ８１２及び８１４をそれぞれ受信すると、マスタデバイス８０２は、広範囲システム参照クロック信号、すなわち、図２及び図１２に関連して本明細書にさらに詳細に述べる通り、マスタデバイス８０２によって生成及び制御されるＳＣＬクロック信号（図８には示されない）を基準にイベント８１６及び８１８の時間を計算する。
【００５５】
いくつかの実施形態において、マスタデバイス８０２は、タイムスタンプデータ８１２、８１４を処理することができない。すなわち、マスタデバイス８０２は、タイムスタンプデータ８１２、８１４を広範囲システム参照クロック信号を参照したイベントの実際の時間に変換することをサポートしない。この場合、モニタデバイス８０８は、スレーブデバイス８０４、８０６から受信したタイムスタンプデータ８１２、８１４の処理を扱うことにより、タイムスタンプ付与をサポートしないマスタデバイスの使用を行わせるように構成可能である。この構成において、マスタデバイス８０２は、上述した通り、依然としてＳＤＡバス及びＳＣＬバスを制御してもよく、スレーブデバイス８０４、８０６からの／に対する、読取／書込／割り込みを取り扱ってもよい。しかしながら、マスタデバイス８０２は、タイムスタンプ付与の錯綜を取り扱わない。代わりに、モニタデバイス８０８は、受信したタイムスタンプデータ８１２、８１４を、広範囲システム参照クロック信号を参照してイベント８１６、８１８の時間に変換するように構成される。モニタデバイス８０８は、図２及び図１２に関連してさらに詳細に述べる通り、マスタデバイス８０２が行ったのと同じように、ＳＣＬクロック信号の選択推移の追跡とＳＣＬクロック信号の独自の正確な時間ベースへの変遷の時間とを継続するように構成される。
【００５６】
スレーブデバイス８０６が、トラフィック８２４の終了後、バスアイドル状態にある間、ＳＤＡバスを引き下げることによってＩＢＩ８２６を始動するとき、マスタデバイス８０２は、ＳＣＬクロック信号が切り替わることによって応じ、リクエスト８２８を送信することにより、スレーブデバイスからタイムスタンプ情報８１４の読戻しを始動する。しかしながら、マスタデバイス８０２は、受信したタイムスタンプ情報８１４を無視してもよい。代わりに、マスタデバイス８０２は、同一のタイムスタンプデータ８１４の読み取りについてモニタデバイス８０８に依存してもよく、タイムスタンプ８１４を使用してスレーブデバイス８０６で検出されたイベント８１８の実際の時間を計算してもよい。同様に、モニタデバイス８０８は、スレーブデバイス８０４から受信したタイムスタンプ８１２を利用し、スレーブデバイス８０４で検出されたイベント８１６の時間を計算する。後に、モニタデバイス８０８は、イベント８１６及び８１８の時間についての情報をマスタデバイス８０２に送信してもよい。
【００５７】
図８に示される例としての実施形態において、スレーブデバイス８０６は、スレーブデバイス８０４より高い優先度を有してもよい。スレーブデバイス８０４もＩＢＩを始動してもよいが、この場合、マスタデバイス８０２がスレーブデバイス８０６から受信したＩＢＩ８２６に自動的に応じてイベント８１６のタイムスタンプ８１２を読み取ることを決定するため、スレーブデバイス８０４にこのようにさせる機会はない。同期ＣＣＣ８１０に続くトラフィック８２４のために、ＳＣＬクロック信号（図８には示されない）が検出されたイベント８１６及び８１８の前後で連続的に切り替わることにより、スレーブデバイス８０４及び８０６が参照する連続時間ベースを提供してもよいことに留意しなければならない。
【００５８】
図９は、本開示の実施形態に係る、図６のタイムスタンプ付与回路６００の一部として示された図５の発振器回路５００を伴わない、図２に示されるスレーブデバイス２０４等のスレーブデバイスにおいてタイムスタンプ付与を実施する回路９００の例として概要である。回路９００は、図２に示されるスレーブデバイス２０４の時間追跡／トリガ制御回路２１４の一部であってもよい。
【００５９】
図４に示される回路４００を参照して以上に述べた通り、リセットライン９０２に存在する同期パルス４０２は、（時間）同期ＣＣＣが検出されるとき、すなわち、図４に示されるパルス４０６の立ち上がりエッジが入力９０４で検出されるとき、生成されてもよい。同期パルス４０２の立ち下がりエッジは、入力９０４における同期ＣＣＣの検出に続くタイムスタンプ同期コマンド（例えば、図２に示されるマスタデバイス２０２からブロードキャストされるＳＤＲ時間同期コマンド２１０、図３に示されるタイムスタンプ同期コマンド３００）の「Ｔ」ビットの間のＳＣＬクロック信号９０６の選択推移４１０に揃えられた時間同期マーカを表してもよい。リセットライン９０２に存在する同期パルスは、計数器９０８をすべてゼロにリセットしてもよい。計数器９０８は、図４に示される回路４００の計数器４１４に対応してもよい。計数器９０８は、ＳＣＬクロック信号９０６の選択推移毎にインクリメントするように構成されてもよく、ＳＣＬクロック信号９０６がマスタデバイスによって生成及び制御されてもよい間、すべてのスレーブデバイスに亘って均一な時間参照を提供してもよい。
【００６０】
いくつかの実施形態において、イベント９１０には、少なくとも部分的に計数器９０８の値９１２に基づいてタイムスタンプ付与されてもよい。イベント９１０を検出すると、時間同期マーカとイベント９１０の検出に先立つＳＣＬクロック信号９０６の最終選択推移との間のＳＣＬクロック信号９０６の選択推移数を表す値９１２は、ラッチ９１４に記憶されてもよい。図９に示される通り、時間同期マーカとイベント９１０の検出との間のＳＣＬクロック信号９０６の選択推移数を表す値Ｃ０は、ラッチ９１４に記憶される。
【００６１】
図５のバースト発振器５０２を備えた発振器回路５００が図９に示される回路９００には含まれないため、タイムスタンプ付与のより緻密な分解能に関連付けられたＣ１及びＣ２の値はプレースホルダ（place-holders）であり、ゼロに設定される。イベント９１０の時間に関連づけられたラッチ９１４に記憶されたＣ０の値によって与えられるタイムスタンプデータ２２４を読み取った後、図２に示されるマスタデバイス２０２は、リアルタイム計算部２５６により、Ｃ０＋１の値及びＣ０＋２の値を、各値に対するシステム参照時間、すなわち、リアルタイムＴ１及びＴ２に各々転換してもよい。いくつかの実施形態において、Ｃ０＋１の値は、時間同期マーカとイベント９１０に続くＳＣＬクロック信号９０６の第１の選択推移との間のＳＣＬクロック信号９０６の選択推移数を表し、Ｃ０＋２の値は、時間同期マーカとイベント９１０に続くＳＣＬクロック信号９０６の第２の選択推移との間のＳＣＬクロック信号９０６の選択推移数を表す。その後、マスタデバイス２０２は、Ｔ１及びＴ２とともに、イベント９１０のシステム参照（リアル）時間Ｔを判定してもよい。従って、
【数２】
2019061709.tif 000004
図９に示される例としての実施形態において、Ｃ１及びＣ２の値はともにゼロに設定され、イベント９１０のリアルタイムＴは、Ｃ０＋１の値のみに基づいて判定されてもよい。すなわち、イベント９１０のリアルタイムＴがＴ１と等しくてもよい。
【００６２】
以上に述べた通り、本開示の実施形態によると、複数のスレーブデバイスが、ＳＤＡバスを介して、マスタデバイスによって制御された時間同期トリガ作用に基づき、同時動作（例えば、測定）を始動することができる。このアプローチに基づき、マスタデバイスとスレーブデバイスの間の追加通信チャンネルをなくすことができる。本開示の実施形態は、所定期間の終了時、イベント（例えば、測定）にトリガ作用する各スレーブデバイスのタイマを開始することができるマスタデバイスによりブロードキャストされた時間同期コマンドの使用をサポートしている。１つ以上の実施形態において、各スレーブデバイスにおけるトリガ作用イベントの時間遅延は、時間同期コマンドに先行してもよい、ＳＤＡバスを介してマスタデバイスによって通信されるコマンドにより、設定することができる。
【００６３】
図１０は、本開示の実施形態に係る、図２に示されるスレーブデバイス２０４において遅延トリガを実施する回路１０００の例としての概要である。回路１０００は、図２に示されるスレーブデバイス２０４の時間追跡／トリガ制御回路２１４の一部であってもよい。いくつかの実施形態において、図２に示されるマスタデバイス２０２は、各スレーブデバイス２０４で生成されるトリガの正確な時間を制御してもよい。
【００６４】
フリップフロップ１０４０は、（時間）同期ＣＣＣが入力１００４で検出されるとき、すなわち、時間同期コマンドが検出されるとき、リセットライン１００２上に同期パルスを生成する。同期パルスの立ち下がりエッジは、入力１００４における時間同期コマンドの検出に続く時間同期コマンド（例えば、図２に示されるマスタデバイス２０２からブロードキャストされるＳＤＲ時間同期コマンド２１０）の「Ｔ」ビットの間のＳＣＬクロック信号１００８の選択推移に揃えられる時間同期マーカ１００６を表してもよい。リセットライン１００２に存在する同期パルスは、計数器１０１０をすべてゼロにリセットしてもよい。一実施形態において、計数器１０１０は、図４に示される回路４００の計数器４１４に対応してもよい。計数器１０１０は、ＳＣＬクロック信号１０１０の選択推移毎にインクリメントし、すべてのスレーブデバイス２０４に亘って均一な時間参照を提供してもよい。ここでは、ＳＣＬクロック信号１００８は、マスタデバイス２０２によって生成及び制御されてもよい。
【００６５】
図１０に示される回路１０００は、通常、時間同期コマンドが検出された後にＳＣＬクロック信号１００８の選択推移数を追跡し、ＳＣＬクロック信号１００８の選択推移数が、マスタデバイス２０２によって遅延レジスタ１０１４に提供することができる遅延設定情報１０１２によって示される遅延設定に達したことに応じて、トリガ信号を生成するように構成されてもよい。いくつかの実施形態において、遅延設定情報１０１２は、時間同期コマンドのブロードキャストに先立ってＳＤＡバスを介してマスタデバイス２０２によって通信されるコマンドに設定されてもよい、粗い遅延設定情報１０１６と細かい遅延設定情報１０１８とを備えてもよい。粗い遅延設定情報１０１６は、時間同期マーカ１００６とトリガ信号の生成との間で発生するＳＣＬクロック信号１００８の選択推移数の形態で、トリガ遅延を示す。図１０に示される通り、比較器１０２０は、粗い遅延設定情報１０１６と、時間同期マーカ１００６の後に発生したＳＣＬクロック信号１００８の選択推移数を表す計数器１０１０の値１０２２とを比較するように構成されてもよい。計数器１０１０の値１０２２が粗い遅延設定情報１０１６と等しく、追跡されたＳＣＬクロック信号１００８の選択推移数が粗い遅延設定情報１０１６に達した時、比較器１０２４の出力はロジック「１」となる。結果として、フリップフロップ１０５０は、イネーブル信号１０２６をロジック「１」とさせ、発振器及び計数器回路１０２８の動作を有効にする。発振器及び計数器回路１０２８は、計数器１０１０及び比較器１０２４との連携で使用され、遅延トリガに、より緻密な分解能を提供することができる。
【００６６】
いくつかの実施形態では、発振器及び計数器回路１０２８は、図５に示される、バースト発振器５０２及び計数器５０４を備えた発振器回路５００に対応してもよい。イネーブル信号１０２６によって有効化されるとき、発振器及び計数器回路１０２８は、ＳＣＬクロック信号１００８の周波数より高い周波数を備えたバースト発振器信号１０３０を内部で生成する。図１０に示される通り、イネーブル信号１０２６により発振器及び計数器回路１０２８が稼働すると、発振器及び計数器回路１０２８内のバースト発振器は、バースト発振器信号１０３０を生成してもよく、発振器及び計数器回路１０２８内の計数器は、バースト発振器信号１０３０の選択推移数の追跡を継続してもよい。細かい遅延設定情報１０１８は、イネーブル信号１０２６とトリガ信号の生成との間に発生するバースト発振器信号１０３０の選択推移数の形態でトリガ遅延を示す。発振器及び計数器回路１０２８の出力にて信号１０３２で表されるバースト発振器信号１０３０の選択推移数が一旦細かい遅延設定１０１８に達すると、比較器１０３４は、トリガ信号１０３６のロジックレベルをロジック「１」とする。トリガ信号１０３６は、粗い遅延設定情報及び細かい設定遅延情報に基づき、マスタデバイス２０２によって制御される正確な瞬間にロジック状態を切替える。図１０に示される回路１０００によって生成されたトリガ信号１０３６は、図２に示されるスレーブデバイス２０４の時間追跡／トリガ制御回路２１４によって生成された遅延トリガ信号２３８に対応してもよい。遅延トリガ信号２３８は、マスタデバイス２０２によって制御される正確な瞬間に、スレーブデバイス２０４に連結された変換器２４０の動作を始動してもよい。
【００６７】
図１１は、本開示の実施形態に係る、マスタデバイスによって複数のスレーブデバイスにおけるイベントの時間を制御する例としての図１１００である。図１１に示される通り、マスタデバイス１１０２は、スレーブデバイス１１０４及び１１０６に、遅延設定情報を提供してもよい。すなわち、遅延設定情報１１０８が、スレーブデバイス１１０４の遅延レジスタ１１１０に記憶されてもよく、遅延設定情報１１１２は、スレーブデバイス１１０６の遅延レジスタ１１１４に記憶されてもよい。スレーブデバイス１１０４の遅延レジスタ１１１０及びスレーブデバイス１１０６の遅延レジスタ１１１４は、図１０に示される遅延レジスタ１０１４に対応してもよい。いくつかの実施形態において、述べた通り、遅延設定情報１１０８及び１１１２は、マスタデバイス１１０２から送信されたＳＤＲコマンドにより、ＳＤＡバスを介してスレーブデバイス１１０４及び１１０６に通信されてもよい。マスタデバイス１１０２は、図２のマスタデバイス２０２に対応してもよく、各スレーブデバイス１１０４及び１１０６は、図２のスレーブデバイス２０４に対応してもよい。
【００６８】
さらに図１１に示される通り、遅延設定情報１１０８及び１１１２の通信に続いて、マスタデバイス１１０２は、ＳＤＡバスを介して、時間同期コマンド、同期ＣＣＣ１１１６をブロードキャストしてもよい。スレーブデバイス１１０４及び１１０６において同期ＣＣＣ１１１６が検出されると、時間同期マーカ（図１１には示されない）が、各スレーブデバイスで生成されてもよい。すなわち、スレーブデバイス１１０４及び１１０６は、各計数器をクリアすることによって同期されてもよい。スレーブデバイス１１０４及び１１０６は、時間同期マーカから開始し、ＳＣＬクロック信号を介してマスタデバイス１１０２により提供されてもよい参照時間を追跡してもよい。スレーブデバイス１１０４にて追跡した時間が遅延設定情報１１０８に達した時、スレーブデバイス１１０４は、時間同期マーカから特定参照時間１１２０分遅延してもよいトリガイベント１１１８の形態でトリガを生成してもよい。同様に、スレーブデバイス１１０６にて追跡した時間が遅延設定情報１１１２に達した時、スレーブデバイス１１０６は、時間同期マーカから特定参照時間１１２４分遅延してもよいトリガイベント１１２２の形態でトリガを生成してもよい。
【００６９】
いくつかの実施形態において、述べた通り、図２に示されるマスタデバイス２０２は、スレーブデバイス２０４にて検出したイベントのタイムスタンプをマスタデバイス２０２によって生成及び制御された広範囲クロック信号を参照したシステム（リアル）時間に変換するために、時間同期コマンドによって示された時間同期マーカから開始して、システム参照時間を追跡してもよい。図１２は、本開示の実施形態に係る、タイムスタンプ付与をサポートするマスタデバイス２０２にて実施される回路１２００の例として概要である。図１２に示される回路１２００は、図２に示されるマスタデバイス２０２の時間追跡回路２３４に対応してもよい。
【００７０】
フリップフロップ１２０２は、同期ＣＣＣブロードキャストが高ロジックレベルを有する入力１２０６で信号によって示されるとき、リセットライン１２０４上に同期パルスを生成する。同期パルスの立ち下がりエッジは、入力１２０６で検出された時間同期コマンドの「Ｔ」ビットの間のＳＣＬクロック信号１２０８の選択推移に揃えられる時間同期マーカを表してもよい。リセットライン１２０４に存在する同期パルスは、計数器１２１０をすべてゼロにリセットしてもよい。計数器１２１０は、図２に示されるマスタデバイス２０２の計数器回路２４８に対応してもよい。計数器１２１０は、ＳＣＬクロック信号１２０８の選択推移毎にインクリメントし、マスタデバイスとすべてのスレーブデバイス間に均一な時間参照を提供してもよい。一実施形態において、マスタデバイスがＳＣＬバスを制御するとき（例えば、ＳＤＲ及びデュアルデータレート（ＤＤＲ）モード等）、ＳＣＬクロック信号１２０８は、図２のクロック発生器２６０によって参照クロックから導出され、マスタデバイス２０２によって制御されてもよい。
【００７１】
いくつかの実施形態において、ＳＣＬクロック信号１２０８の周波数変化には、計数器１２１０の値１２１２を使用してスタンプ付与されてもよい。ＳＣＬクロック信号１２０８の周波数変化を示す周波数変化（ＣＯＦ）信号１２１４が一旦ロジック「１」になると、計数器１２１０の値１２１２は、図１２に値Ｃ０と示される、ラッチ１２１６に記憶されてもよい。一実施形態において、Ｃ０の値は、時間同期マーカとＳＣＬクロック信号１２０８の第１の周波数変化に先立つＳＣＬクロック信号１２０８の最終選択推移との間のＳＣＬクロック信号１２０８の選択推移数を表す。再び図２を参照すると、図１２のラッチ１２１６に記憶された値Ｃ０は、ＣＯＦ信号２５２が高まる際に、マスタデバイス２０２のラッチ２５０に記憶されたＳＣＬ計数Ｃ０に対応してもよい。
【００７２】
いくつかの実施形態において、レジスタ又はルックアップテーブル１２１８は、ＳＣＬクロック信号１２０８の異なる周波数に関連付けられた異なる周期に関連する情報を記憶してもよい。例えば、図１２に示される通り、ビットＴ（１，０）は、ＳＣＬクロック信号１２０８の周波数が１２ＭＨｚであるとき、周期の長さを符号化してもよく、ビットＴ（０，１）は、ＳＣＬクロック信号１２０８の周波数が１ＭＨｚであるとき、周期の長さを符号化してもよく、ビットＴ（０，０）は、ＳＣＬクロック信号１２０８の周波数が４００ＫＨｚであるとき、周期の長さを符号化してもよい。レジスタ１２１８の出力でビットＴ（０：ｍ）で符号化された値１２２０は、ラッチ１２１６に記憶されたＣ０の値との連携で使用され、ＳＣＬクロック信号１２０８の選択推移の数とリアルタイム参照との間の関係を提供してもよい。ＳＣＬクロック信号１２０８の周波数変化を示すＣＯＦ信号１２１４が一旦ロジック「１」になると、レジスタ１２１８の出力でビットＴ（０：ｍ）によって符号化された値１２２０は、ラッチ１２２２に記憶され、値Ｃ１として示されてもよい。従って、Ｃ１の値は、ＳＣＬクロック信号１２０８の周波数変化に先立つＳＣＬクロック信号１２０８の周期を表してもよい。Ｃ０及びＣ１のラッチ値は、時間同期マーカとＣＯＦとの間のシステム時間参照についての情報を提供してもよい。
【００７３】
いくつかの実施形態において、図１２に示される通り、時間同期マーカとＳＣＬクロック信号１２０８の周波数変化との間のＳＣＬクロック信号１２０８の選択推移数を示す値１２１２と、周波数変化に先立つＳＣＬクロック信号１２０８の周波数の符号化周期を表す値１２２０とが、各々、値Ｃ０及びＣ１として記憶されたとき、ＳＣＬクロック信号１２０８の次の選択推移は、フリップフロップ１２２４に、値Ｃ０及びＣ１のキャッシュ又はレジスタファイルへの記憶を始動する割り込み（ＩＮＴ）信号１２２６を生成させてもよい。その後、クリア信号１２２８がパルス化されてもよく、これがラッチ１２１６及び１２２２をリセットしてもよい。すなわち、ラッチ値Ｃ０及びＣ１は、ＩＮＴ信号１２２６に基づき、キャッシュ又はレジスタファイルに記憶された後にクリアされる。再び図２を参照すると、キャッシュ又はレジスタファイルに記憶されたＣ０及びＣ１の値は、ＣＯＦ信号２５２が高まるのに際し、図２に示されるマスタデバイス２０２のレジスタファイル２５４に記憶されたＣＮＴ＿１及びＴ１の値に対応してもよい。
【００７４】
再び図１２を参照すると、ラッチ１２１６及び１２２２がリセットされた後、回路１２００は、ＳＣＬクロック信号１２０８の次の周波数変化まで、ＳＣＬクロック信号１２０８の第１の周波数変化に続くＳＣＬクロック信号１２０８の選択推移数の追跡を継続してもよい。図１２のラッチ値Ｃ０及びＣ１は、時間同期マーカとＣＯＦ信号１２１４で示されるＳＣＬクロック信号１２０８の次の周波数変化との間の参照時間についての情報を提供してもよい。このように、図２のマスタデバイス２０２は、時間同期マーカで開始するマスタデバイス２０２によって生成及び制御されるＳＣＬクロック信号１２０８に基づき、参照時間を追跡することができ、この参照時間情報を利用して、それを、スレーブデバイス２０４で検出されたイベントの発生のＳＣＬクロック信号１２０８を参照したリアルタイムの計算を行うために、スレーブデバイス２０４で検出されたイベントのタイムスタンプと相関させることができる。
【００７５】
時間同期マーカによって表される同期の時間から開始して、マスタデバイス２０２は、時間同期マーカの時間を記憶し、ＳＣＬクロック信号１２０８の各選択推移を計数器１２１０によって計数する。マスタデバイス２０２は、ラッチ１２２２及び１２１６に、ＳＣＬクロック信号１２０８の周波数を表す測定値１２２０（すなわち、値Ｃ１）と、ＣＯＦ信号１２１４によって示される、ＳＣＬクロック信号１２０８の周波数変化が発生するＳＣＬクロック信号１２０８の選択推移の計数１２１２（すなわち、値Ｃ０）とを記憶する。ＩＮＴ１２２６がＣＯＦ信号１２１４によって始動されると、記憶されたＣ０及びＣ１の値は、ラッチ１２１６及び１２２２からキャッシュ又はレジスタファイルに転送されてもよい。再び図２を参照すると、キャッシュ又はレジスタファイルに転送されたＣ０及びＣ１の値は、各々、ＣＮＴ＿ｉ及びＴｉの値に対応してもよく、ＣＯＦ信号２５２が高められる度にマスタデバイス２０２のレジスタファイル２５４に記憶され、参照時間情報を提供する。いくつかの実施形態において、述べた通り、マスタデバイス２０２は、ＳＤＡバス２０６を介して、スレーブデバイス２０４で検出されたイベント２２２のタイムスタンプ２２４を受信してもよい。マスタデバイス２０２は、レジスタファイル２５４に記憶された参照時間情報、すなわち、ＣＮＴ＿ｉ及びＴｉの値を使用して、各推移の時間を実際に記憶することなく、ＳＣＬクロック信号のいずれの選択推移の瞬間も再構築するようにしてもよい。マスタデバイス２０２がＳＣＬクロック信号計数、又はスレーブデバイス２０４で検出されたイベント２２２のタイムスタンプ２２４を受信するとき、マスタデバイス２０２は、リアルタイム計算部２５６にて、タイムスタンプ２２４とレジスタファイル２５４の参照時間情報とを相関し、システム参照時間に対するイベント２２２の正確な瞬間２５８を判定する。
【００７６】
図１３は、本開示の実施形態に係る、図１２の回路１２００によって実施されてもよい、ＳＣＬクロック信号におけるタイムスタンプ付与の変化のために図２に示されるマスタデバイス２０２で実施される方法を示す図１３００である。図１３に示される通り、ＳＣＬバスを駆動するＳＣＬクロック信号１３０２は、その周波数が変化してもよく、これはマスタデバイス２０２によって制御されてもよい。さらに、ＳＣＬクロック信号１３０２は、しばらくの間、推移しないこともあり、これがバスがフリーとなる状況に対応する。従って、ＳＣＬクロック信号１３０２は、図１３に示される通り、バスがフリーとなる状況中には、特定期間、周期的でなく、一方、再び周期的になり得る。図１２に示される回路１２００との関連で以上に述べた通り、マスタデバイス２０２は、ＳＣＬクロック信号１３０２の周波数変化に先立って、ＳＣＬクロック信号１３０２の最終選択推移にタイムスタンプを付与してもよい。図１３に示される通り、ＳＣＬクロック信号１３０２の以前のクロック周波数１３０６に関連して選択された最終推移１３０４は、時間同期マーカ（図示しない）に対してタイムスタンプが付与されてもよい。その後、次のクロック周波数１３０８に対するＳＣＬクロック信号１３０２の最終選択推移にもタイムスタンプが付与される。即ち、バスがフリーとなる状況１３１２の前のＳＣＬクロック信号１３０２の最終高低推移１３１０にタイムスタンプ付与される。タイムスタンプ１３１０は、タイムスタンプ１３０４とともに、ＳＣＬクロック信号１３０２の２つの連続周波数変化間の時間を示す。ＳＣＬクロック信号１３０２が周期的でない、バスがフリーとなる状況１３１２は、ＳＣＬクロック信号１３０２の周波数が実際にはゼロ以外の周波数１３０８からゼロに変化するため、ＳＣＬクロック信号１３０２の周波数変化とも考慮することができることに留意しなければならない。従って、バスがフリーとなる状況１３１２から新たなクロック周波数１３１６へ推移するときのＳＣＬクロック信号１３０２の高低推移１３１４にもタイムスタンプが付与される。タイムスタンプ１３１４は、タイムスタンプ１３１０とともに、バスがフリーとなる状況１３１２の持続時間を示す。
【００７７】
いくつかの実施形態において、述べた通り、図２に示されるマスタデバイス２０２は、タイムスタンプの付与されたＳＣＬクロック信号１３０２の選択推移（例えば、タイムスタンプの付与された推移１３０４、１３１０、１３１４等）を使用して、スレーブデバイス２０４が検出したいずれのタイムスタンプ付与イベントのシステム参照時間も判定することができる。タイムスタンプ１３０４、１３１０、１３１４は、マスタデバイス２０２のレジスタファイル２５４に記憶された値ＣＮＴ＿ｉに対応してもよい。マスタデバイス２０４は、スレーブデバイス２０４で検出されたイベント２２２のタイムスタンプ２２４を、ＳＣＬクロック信号の周期Ｔｉについての情報を含む、タイムスタンプの付与されたＳＣＬクロック信号の推移１３０４、１３１０、１３１４と相関させ、リアルタイム計算回路２５６により、イベントのシステム参照時間２５８を判定してもよい。
【００７８】
本開示の実施形態は、タイムスタンプ付与及び遅延トリガのため、マスタデバイスにおけるシステム時間ベースをスレーブデバイスにおけるローカル時間ベースに転換する方法に関連する。再び図２を参照すると、マスタデバイス２０２は、１つ以上のスレーブデバイス２０４でも利用可能な参照ＳＣＬクロック信号２０８を生成するように構成されてもよい。１つ以上の実施形態において、参照ＳＣＬクロック信号２０８は、特定の分解能を有してもよく、システム時間に転換可能でもよい。そしてマスタデバイス２０２は、ＳＤＡバス２０６上に、図２及び図３に示される時間同期コマンド２１０及び３００の形態の同期の指示（indication）を提供してもよい。同期の指示を提供することにより、マスタデバイス２０２は、ＳＤＡバス２０６上の参照点も設定してよく、これは、時間同期コマンド中の参照ＳＣＬクロック信号２０８の選択推移に対応し得る。マスタデバイス２０２によって提供される参照点は、参照ＳＣＬクロック信号２０８の選択推移に揃えられた時間同期マーカとして、各スレーブデバイス２０４にて受信されてもよい。いくつかの実施形態において、述べた通り、参照点の受信に応じて、各スレーブデバイス２０４は、ローカル時間を参照して過ぎた時間を追跡してもよい。そのスレーブデバイス２０４でイベントを検出したことに応じて、イベントが検出されたときまでに過ぎたローカル時間の表示（indication）をレジスタにロードすることができ、及び／又は、ＳＤＡバス２０６に送信することができる。また、マスタデバイス２０２によって提供された参照点と参照ＳＣＬクロック信号２０８とに基づき、各スレーブデバイス２０４は、マスタデバイス２０２によって直接制御され、システム時間ベースに基づいて参照される瞬間にトリガ信号を生成してもよい。
【００７９】
本開示の実施形態は、さらに、タイムスタンプを付与するために、スレーブデバイスにおけるローカル時間ベースをマスタデバイスにおけるシステム時間ベースに転換する方法に関連する。１つ以上のスレーブデバイス２０４が、イベントの発生を監視してもよい。各スレーブデバイス２０４において、述べた通り、イベントの発生にはローカル時間ベースでマークすることができ、イベントのタイムスタンプは、スレーブデバイス２０４でラッチ可能である。イベント発生の監視を開始する前に、各スレーブデバイス２０４は、マスタデバイス２０２からＳＤＡバス２０６を介して、時間同期マーカの形態の参照点信号を受信してもよい。時間同期マーカは、マスタデバイス２０２にて生成及び制御される、ＳＣＬクロック信号２０８等の参照クロックに基づいてもよく、従って、システムワイド時間ベースに転換可能であってもよい。各スレーブデバイス２０４では、時間同期マーカがそのスレーブデバイス２０４で受信された時間と、イベントの発生がローカル時間ベースで検出された時間との間の待機時間を判定することができる。この待機時間は、ローカル時間ベースにおけるイベントの時間に対応し、マスタデバイス２０２に報告することができる。いくつかの実施形態において、述べた通り、マスタデバイス２０２は、システムワイド時間ベースで、スレーブデバイス２０４における各イベント発生の各時間を判定してもよい。
【００８０】
図１４は、本開示の実施形態に係る、図２に示されるマスタデバイス２０２で実施されてもよいタイムスタンプ付与の方法１４００を示すフローチャートである。
【００８１】
方法１４００の動作は、マスタデバイス２０２により、クロック信号（例えば、ＳＣＬクロック信号２０８）と、時間同期コマンド２１０等の同期コマンドとを生成すること（１４０２）から開始してもよい。
【００８２】
マスタデバイス２０２は、ＳＣＬライン２０８及びＳＤＡライン２０６を備える、図２に示される通信リンク２０５等の通信リンクを介して、クロック信号と同期コマンドとを送信する（１４０４）。
【００８３】
マスタデバイス２０２は、通信リンクを介してタイムスタンプ情報（例えば、タイムスタンプ２２４）を受信する（１４０６）。このタイムスタンプ情報は、同期コマンドとスレーブデバイスでイベント（例えば、スレーブデバイス２０４で検出されたイベント２２２）が検出された瞬間との間で経過したクロック信号の選択推移数を示す。
【００８４】
マスタデバイス２０２の時間追跡回路２３４は、図１２に回路１２００としてさらに詳細に示したが、同期コマンドと同期コマンド後に発生するクロック信号の周波数変化との間のクロック信号の選択推移の計数を追跡する（１４０８）。
【００８５】
マスタデバイス２０２のリアルタイム計算部２５６は、タイムスタンプ情報とクロック信号の選択推移の計数とに基づき、スレーブデバイスにて検出されたイベントの時間を判定する（１４１０）。
【００８６】
図１５は、本開示の実施形態に係る、図２に示されるスレーブデバイス２０４で実施されてもよい遅延トリガのための方法１５００を示すフローチャートである。
【００８７】
方法１５００の動作は、スレーブデバイス２０４により、クロック信号（例えば、ＳＣＬクロック信号２０８）を伝達する通信リンクを介して、同期コマンド（例えば、時間同期コマンド２１０）と、時間同期コマンドに先立ちマスタデバイス２０２によって生成されるＳＤＲコマンド２１０によって提供されてもよい遅延設定情報とを受信すること（１５０２）から開始してもよい。いくつかの実施形態において、述べた通り、通信リンクは、ＳＤＡライン２０６とＳＣＬライン２０８とを備える通信リンク２０５に対応してもよい。
【００８８】
スレーブデバイス２０２の時間追跡／トリガ制御回路２１４は、図１０の回路１０００にさらに詳細に示したが、同期コマンド後のクロック信号の選択推移（例えば、ＳＣＬクロック信号２０８の立ち下がりエッジ）の数を追跡する（１５０４）。
【００８９】
スレーブデバイス２０４は、選択推移数が遅延設定情報に示される遅延設定に達したことに応じて、遅延トリガ２３８等のトリガ信号を生成する（１５０６）。
【００９０】
図１６は、本開示の実施形態に係る、図２に示されるマスタデバイス２０２で実施されてもよい遅延トリガのための方法１６００を示すフローチャートである。
【００９１】
方法１６００の動作は、マスタデバイス２０２により、通信リンクを介して、クロック信号（例えば、ＳＣＬクロック信号２０８）及び同期コマンド（例えば、時間同期コマンド２１０）を送信すること（１６０２）で開始してもよい。いくつかの実施形態において、述べた通り、通信リンクは、ＳＤＡライン２０６及びＳＣＬライン２０８を備える通信リンク２０５に対応してもよい。
【００９２】
マスタデバイス２０２は、同期コマンドと通信リンクに連結された１つ以上のスレーブデバイス２０４におけるトリガ信号の生成（例えば、遅延トリガ２３８）との間で発生するクロック信号の選択推移数を示す遅延設定情報を送信する（１６０４）。いくつかの実施形態において、述べた通り、遅延設定情報は、同期コマンドに先立ってマスタデバイス２０２によって生成されたＳＤＲコマンド２１０に配置される粗い遅延設定情報と細かい遅延設定情報を備えてもよい。
【００９３】
本開示の実施形態についての以上の説明は、例示を目的として提示したものであり、包括的でなく、本開示を開示された精密な形態に限定することを意図したものでない。関連分野の技術者は、以上の開示に照らして多数の修正及び変更が可能であると理解することができる。
【００９４】
本説明の一部は、情報に関する動作のアルゴリズム及び符号表現で本開示の実施形態を説明している。これらのアルゴリズムの記載及び表現は、データ処理の当業者がみずからの仕事を他の当業者に効果的に伝達するために一般的に使用されるものである。これらの動作は、コンピュータプログラム、同等の電気回路、マイクロコード等によって実施されることが、機能的、演算的、又は論理的に理解される。さらに、時として、一般性を失うことなくモジュールとしてこれらの動作アレンジメントについて言及することも、便利であることが示された。上述の動作とそれらに関連づけられたモジュールは、ソフトウェア、ファームウェア、ハードウェア、又はそれらの任意の組み合わせで実現されてもよい。
【００９５】
本明細書に記載のステップ、動作、又はプロセスはいずれも、１つ以上のハードウェア又はソフトウェアモジュールで実施又は実装されてもよく、単独、又は他のデバイスとの組み合わせで実施又は実装されてもよい。一実施形態において、ソフトウェアモジュールは、上述のステップ、動作、又はプロセスの一部又はすべてを実施するためのコンピュータプロセッサによって実行可能であるコンピュータプログラムコードを備えたコンピュータ可読媒体を備える、コンピュータプログラム製品で実装される。
【００９６】
本開示の実施形態は、本明細書に記載の動作を実施する装置にも関連してよい。この装置は、要求される目的に合わせて特別に構築されてもよく、及び／又は、コンピュータに記憶されたコンピュータプログラムによって選択的に稼働及び再構成される汎用演算装置からなってもよい。このようなコンピュータプログラムは、コンピュータシステムバスに連結されてもよい、持続性有形コンピュータ可読記憶媒体、又は電子指示を記憶するのに好適な任意の種別の媒体に記憶されてもよい。さらに、本明細書で述べたいずれの演算システムも、単一のプロセッサを含んでもよく、又は、演算能力を増やすために、複数のプロセッサ設計を採用したアーキテクチャであってもよい。
【００９７】
最後に、本明細書で使用した言語は、主として読み易さと指導の目的に合わせて選択されたものであり、発明の主題の輪郭を描く、又は制限するために選択されてものでない。従って、本開示の範囲がこの詳細な説明によって限定されることを意図しておらず、出願の基礎となるクレームによって限定されることが意図されるものである。従って、実施形態の開示は、以下のクレームに記載の本開示の範囲の限定ではなく、例示を意図するものである。
【図１】
2019061709.tif 000005
【図２】
2019061709.tif 000006
【図３】
2019061709.tif 000007
【図４】
2019061709.tif 000008
【図５】
2019061709.tif 000009
【図６】
2019061709.tif 000010
【図７】
2019061709.tif 000011
【図８】
2019061709.tif 000012
【図９】
2019061709.tif 000013
【図１０】
2019061709.tif 000014
【図１１】
2019061709.tif 000015
【図１２】
2019061709.tif 000016
【図１３】
2019061709.tif 000017
【図１４】
2019061709.tif 000018
【図１５】
2019061709.tif 000019
【図１６】
2019061709.tif 000020
【手続補正書】
【提出日】平成30年12月11日(2018.12.11)
【手続補正１】
【補正対象書類名】特許請求の範囲
【補正対象項目名】全文
【補正方法】変更
【補正の内容】
【特許請求の範囲】
【請求項１】
クロック信号を伝達する通信リンクに連結し、前記通信リンクを介して同期コマンド及び第１の遅延設定情報を受信するインタフェースと、
前記同期コマンド後の前記クロック信号の選択推移数を追跡し、当該選択推移数が前記第１の遅延設定情報に示される遅延設定に達したことに応じてトリガ信号を生成する制御回路とを備える装置。
【請求項２】
前記制御回路は、
前記同期コマンドの検出に応じてリセットされ、前記クロック信号の選択推移毎にインクリメントされる値を有する計数器回路と、
前記計数器回路の前記値と前記第１の遅延設定情報との比較を行う比較器回路とをさらに備え、前記トリガ信号は、前記比較に基づいて生成される請求項１に記載の装置。
【請求項３】
前記インタフェースは、前記通信リンクを介して第２の遅延設定情報をさらに受信するものであり、前記制御回路は、
前記クロック信号の周波数より高い周波数を有する発振器信号を生成する発振器回路をさらに備え、
前記制御回路は、前記クロック信号の前記選択推移数が前記第１の遅延設定情報に示される遅延設定に達した後に発生する前記発振器信号の選択推移数を追跡するものであり、
前記制御回路は、さらに前記発振器信号の選択推移数が前記第２の遅延設定情報に示される遅延設定に達したことに応じて、前記トリガ信号を生成するものである請求項１に記載の装置。
【請求項４】
前記トリガ信号は、当該装置に関連付けられた変換器の動作のトリガとなる請求項１に記載の装置。
【請求項５】
クロック信号を伝達する通信リンクを介して、同期コマンド及び第１の遅延設定情報を受信することと、
前記同期コマンド後の前記クロック信号の選択推移数を追跡することと、
当該選択推移数が前記第１の遅延設定情報に示される遅延設定に達したことに応じて、トリガ信号を生成することとを含む方法。
【請求項６】
前記同期コマンドの検出に応じて値をリセットすることと、
前記クロック信号の選択推移毎に前記値をインクリメントすることと、
前記値と前記第１の遅延設定情報との比較を行うことと、
前記比較に基づき、前記トリガ信号を生成することとをさらに含む請求項５に記載の方法。
【請求項７】
前記通信リンクを介して、第２の遅延設定情報を受信することと、
前記クロック信号の周波数より高い周波数を有する発振器信号を生成することと、
前記クロック信号の前記選択推移数が前記第１の遅延設定情報に示される遅延設定に達した後に発生する前記発振器信号の選択推移数を追跡することと、
さらに前記発振器信号の前記選択推移数が前記第２の遅延設定情報に示される遅延設定に達したことに応じて、前記トリガ信号を生成することとをさらに含む請求項６に記載の方法。
【請求項８】
通信リンクに連結し、
前記通信リンクを介して、クロック信号及び同期コマンドを送信し、
前記通信リンクを介して、前記同期コマンドと前記通信リンクに連結された１つ以上のスレーブデバイスにおけるトリガ信号の生成との間に発生する前記クロック信号の選択推移数を示す遅延設定情報を送信する、
インタフェース回路を備える装置。
【請求項９】
前記インタフェース回路は、前記通信リンクを介して、前記同期コマンドの送信に先立ち、前記遅延設定情報を含むコマンドを送信するものである請求項８に記載の装置。
【請求項１０】
前記遅延設定情報は、前記トリガ信号を生成するための粗い時間分解能と細かい時間分解能を示す粗い遅延設定情報と細かい遅延設定情報とを含む請求項８に記載の装置。
【請求項１１】
前記インタフェース回路は、
前記通信リンクを介して、前記同期コマンドと前記１つ以上のスレーブデバイスのうちの第１のスレーブデバイスにおける第１のトリガ信号の生成との間に発生する前記クロック信号の選択推移数を示す第１の遅延設定情報を送信し、
前記通信リンクを介して、前記同期コマンドと前記１つ以上のスレーブデバイスのうちの第２のスレーブデバイスにおける第２のトリガ信号の生成との間に発生する前記クロック信号の選択推移数を示す第２の遅延設定情報を送信するものである請求項８に記載の装置。
【請求項１２】
前記同期コマンド後に発生することが期待される前記クロック信号の周波数変化に基づき、前記遅延設定情報を生成するトリガ遅延設定回路をさらに備える請求項８に記載の装置。
【請求項１３】
マスタデバイスから、通信リンクを介して、クロック信号及び同期コマンドを送信することと、
前記通信リンクを介して、前記同期コマンドと前記通信リンクに連結された１つ以上のスレーブデバイスにおけるトリガ信号の生成との間に発生する前記クロック信号の選択推移数を示す遅延設定情報を送信することとを含む方法。
【請求項１４】
前記遅延設定情報を送信することは、
前記同期コマンドを送信することに先立って、前記通信リンクを介して、前記遅延設定情報を含むコマンドを送信することを含む請求項１３に記載の方法。
【請求項１５】
前記遅延設定情報は、前記トリガ信号を生成するための粗い時間分解能と細かい時間分解能を示す粗い遅延設定情報と細かい遅延設定情報とを含む請求項１３に記載の方法。
【請求項１６】
前記同期コマンド後に発生することが期待される前記クロック信号の周波数変化に基づき、前記遅延設定情報を生成することをさらに備える請求項１３に記載の方法。
【外国語明細書】
2019061709000001.pdf
2019061709000002.pdf
2019061709000003.pdf
2019061709000004.pdf