IP Force 特許公報掲載プロジェクト 2022.1.31 β版

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

▶ ソニーセミコンダクタソリューションズ株式会社の特許一覧

(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2025-02-28
(45)【発行日】2025-03-10
(54)【発明の名称】通信装置、通信システム及び通信方法
(51)【国際特許分類】
   H04L 7/00 20060101AFI20250303BHJP
   H04L 7/033 20060101ALI20250303BHJP
   H03M 7/30 20060101ALI20250303BHJP
【FI】
H04L7/00
H04L7/033 700
H03M7/30 Z
【請求項の数】 22
(21)【出願番号】P 2022550557
(86)(22)【出願日】2021-09-13
(86)【国際出願番号】 JP2021033613
(87)【国際公開番号】W WO2022059655
(87)【国際公開日】2022-03-24
【審査請求日】2024-07-23
(31)【優先権主張番号】63/080,382
(32)【優先日】2020-09-18
(33)【優先権主張国・地域又は機関】US
(31)【優先権主張番号】17/469,298
(32)【優先日】2021-09-08
(33)【優先権主張国・地域又は機関】US
(73)【特許権者】
【識別番号】316005926
【氏名又は名称】ソニーセミコンダクタソリューションズ株式会社
(74)【代理人】
【識別番号】100120031
【弁理士】
【氏名又は名称】宮嶋 学
(72)【発明者】
【氏名】山田 順也
(72)【発明者】
【氏名】百代 俊久
【審査官】阿部 弘
(56)【参考文献】
【文献】特開2015-142189(JP,A)
【文献】特開2004-356742(JP,A)
【文献】米国特許第9000962(US,B1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L 7/00
H04L 7/033
H03M 7/30
(57)【特許請求の範囲】
【請求項1】
開始点となるタイムスタンプと、前記開始点を起点とする前記タイムスタンプの単位周期とを決定するコントローラと、
前記開始点を起点として、MasterからのGPIO (General Purpose Input/Output)信号を、前記タイムスタンプに同期させて、一定のサンプリング周期でサンプリングされた全てのサンプリングデータ又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含む第1のGPIOパケットを生成するエンカプセレータと、
前記第1のGPIOパケットを含むUp linkパケットを生成するLINKと、
前記Up linkパケットを含む所定の通信プロトコルに準拠した伝送信号を通信相手装置に送信するPHYと、を備える、通信装置。
【請求項2】
前記コントローラは、第1のモードまたは第2のモードを指定するサンプリングモード情報とタイムスタンプとサンプリング周期とを含むGPIO設定情報を前記Masterから受信し、
前記エンカプセレータは、
前記第1のモードでは、前記開始点を起点とする前記サンプリング周期で、前記Masterから受信した第1のGPIO信号をサンプリングした全ての前記サンプリングデータを含む前記第1のGPIOパケットを生成し、
前記第2のモードでは、第1のサンプリングタイミングでサンプリングした前記サンプリングデータの値が、前記第1のサンプリングタイミングから前記サンプリング周期が経過した第2のサンプリングタイミングでサンプリングした前記サンプリングデータの値と異なる場合に、前記第2のサンプリングタイミングでサンプリングした前記サンプリングデータと、前記第2のサンプリングタイミングを示す第1の時間情報と、を含む前記第1のGPIOパケットを生成する、請求項1に記載の通信装置。
【請求項3】
第2のGPIO信号を再生して前記Masterに送信するデエンカプセレータをさらに備え、
前記PHYは、前記所定の通信プロトコルに準拠した伝送信号を前記通信相手装置から受信し、
前記LINKは、第2のGPIOパケットを前記伝送信号から分離し、
前記デエンカプセレータは、前記サンプリングモード情報と前記開始点と前記サンプリング周期と前記第2のGPIOパケットとに基づいて、前記第2のGPIO信号を再生し、
前記第1のモードでは、1以上のサンプリングデータが前記第2のGPIOパケットに含まれており、前記開始点を起点として前記サンプリング周期が経過するたびにサンプリングするサンプリングデータのそれぞれに、前記第2のGPIOパケットに含まれるサンプリングデータのそれぞれを割り当てて、前記第2のGPIO信号を再生し、
前記第2のモードでは、1以上のサンプリングデータのそれぞれがサンプリングタイミングを示す第2の時間情報と紐づけて前記第2のGPIOパケットに含まれており、前記第2の時間情報が示すサンプリングタイミングで、前記第2の時間情報に対応する前記サンプリングデータを割り当てて、前記第2のGPIOパケット内の次の前記第2の時間情報のサンプリングタイミングまでは、前記サンプリング周期ごとに同一の前記サンプリングデータを割り当てる処理を繰り返して、前記第2のGPIO信号を再生する、請求項2に記載の通信装置。
【請求項4】
前記Master内の第1タイマと同期した時間情報を出力する第2タイマを備え、
前記デエンカプセレータは、前記第2のGPIO信号を記憶するメモリを有し、
前記第2のGPIOパケットは、前記第2のGPIO信号の出力タイミングに関するタイムスタンプ情報を含んでおり、
前記デエンカプセレータは、前記タイムスタンプ情報が第1の値のときは、前記第2のGPIO信号を前記メモリに記憶することなく前記Masterに送信し、前記タイムスタンプ情報が第2の値のときは、前記第2のGPIO信号を前記メモリに記憶し、前記第2タイマの時間情報が前記第2のGPIOパケット内の前記タイムスタンプ情報の後に挿入される時間情報と一致すると、前記メモリから前記第2のGPIO信号を読み出して、前記Masterに送信する、請求項3に記載の通信装置。
【請求項5】
前記コントローラは、前記MasterとのGPIO通信を開始する前に、前記MasterからGPIO通信とは異なる通信方式にて送信された前記GPIO設定情報に基づいて、前記エンカプセレータが前記パケットを生成する制御を行う、請求項2に記載の通信装置。
【請求項6】
前記GPIO設定情報は、前記GPIO信号のサンプリング周波数情報と、GPIOピン設定情報と、GPIO構成情報と、前記サンプリングされたデータのデータ長情報と、の少なくとも一つを含む、請求項5に記載の通信装置。
【請求項7】
前記エンカプセレータは、前記サンプリングモード情報と、前記サンプリング周波数情報と、前記GPIOピン設定情報と、GPIO構成情報と、前記データ長情報との少なくとも一つを含むヘッダ情報を含む前記第1のGPIOパケットを生成する、請求項6に記載の通信装置。
【請求項8】
前記GPIO構成情報は、GPIO通信を行うピンの数と、前記GPIOピン設定情報と、GPIO通信情報を格納するタイムスロットとを含む、請求項7に記載の通信装置。
【請求項9】
前記エンカプセレータは、前記サンプリングされたデータを含むパケットを前記通信相手装置に送信する前に、前記サンプリングされたデータを含まずに前記ヘッダ情報を含む前記第1のGPIOパケットを生成する、請求項7に記載の通信装置。
【請求項10】
前記エンカプセレータは、前記サンプリングされたデータを含まずに前記ヘッダ情報を含む前記第1のGPIOパケットと、前記ヘッダ情報と前記サンプリングされたデータとを含む前記第1のGPIOパケットと、前記ヘッダ情報を含まずに前記サンプリングされたデータを含む前記第1のGPIOパケットとの少なくとも一つを生成する、請求項7に記載の通信装置。
【請求項11】
前記エンカプセレータは、前記第1のGPIOパケットにタイムスタンプ情報と誤り検知情報との少なくとも一方を付加する、請求項10に記載の通信装置。
【請求項12】
前記通信プロトコルは、TDD (Time Division Duplex)通信方式の通信プロトコルであり、
前記単位周期は、前記TDD通信方式の1フレーム期間である、請求項1に記載の通信装置。
【請求項13】
所定の通信プロトコルに準拠した伝送信号を通信相手装置から受信するPHYと、
時刻制御命令を含む第1のGPIOパケットを前記伝送信号から分離するLINKと、
前記時刻制御命令に基づいて開始点を決定するコントローラと、
前記第1のGPIOパケット内のヘッダ情報に含まれるサンプリングモード情報が、Masterから送信されたGPIO (General Purpose Input/Output)信号を一定のサンプリング周期でサンプリングした全てのサンプリングデータを含むことを示す第1のモードであるか、又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含むことを示す第2のモードであるかを判別して、前記第1のGPIOパケットを第1のGPIO信号に変換してSlaveに送信するデエンカプセレータと、を備える、通信装置。
【請求項14】
前記デエンカプセレータは、
前記第1のモードでは、1以上のサンプリングデータが前記第1のGPIOパケットに含まれており、前記開始点を起点として前記サンプリング周期が経過するたびにサンプリングするサンプリングデータのそれぞれに、前記第1のGPIOパケットに含まれるサンプリングデータのそれぞれを割り当てて、前記第1のGPIO信号を再生し、
前記第2のモードでは、1以上のサンプリングデータのそれぞれがサンプリングされたサンプリングタイミングを示す第1の時間情報と紐づけて前記第1のGPIOパケットに含まれており、前記第1の時間情報が示すサンプリングタイミングで、前記第1の時間情報に対応する前記サンプリングデータを割り当てて、前記第1のGPIOパケット内の次の前記第1の時間情報のサンプリングタイミングまでは、前記サンプリング周期ごとに同一の前記サンプリングデータを割り当てる処理を繰り返して、前記第1のGPIO信号を再生する、請求項13に記載の通信装置。
【請求項15】
前記Master内の第1タイマと同期した時間情報を出力する第2タイマを備え、
前記デエンカプセレータは、前記第1のGPIO信号を記憶するメモリを有し、
前記第1のGPIOパケットは、前記第1のGPIO信号の出力タイミングに関するタイムスタンプ情報を含んでおり、
前記デエンカプセレータは、前記タイムスタンプ情報が第1の値のときは、前記第1のGPIO信号を前記メモリに記憶することなく前記Slaveに送信し、前記タイムスタンプ情報が第2の値のときは、前記第1のGPIO信号を前記メモリに記憶し、前記第2タイマの時間情報が前記第1のGPIOパケット内の前記タイムスタンプ情報の後に挿入される時間情報と一致すると、前記メモリから前記第1のGPIO信号を読み出して、前記Slaveに送信する、請求項13に記載の通信装置。
【請求項16】
開始点を起点として、前記Slaveからの第2のGPIO信号を、一定のサンプリング周期又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含む第2のGPIOパケットを生成するエンカプセレータを備える、請求項13に記載の通信装置。
【請求項17】
前記エンカプセレータは、
前記第1のモードでは、前記開始点を起点とする前記サンプリング周期で、前記Slaveから受信した前記第2のGPIO信号をサンプリングした全ての前記サンプリングデータを含む前記第2のGPIOパケットを生成し、
前記第2のモードでは、第1のサンプリングタイミングでサンプリングした前記サンプリングデータの値が、前記第1のサンプリングタイミングから前記サンプリング周期が経過した第2のサンプリングタイミングでサンプリングした前記サンプリングデータの値と異なる場合に、前記第2のサンプリングタイミングでサンプリングした前記サンプリングデータと、前記第2のサンプリングタイミングを示す時間情報と、を含む前記第2のGPIOパケットを生成する、請求項16に記載の通信装置。
【請求項18】
前記コントローラは、前記SlaveとGPIO通信を開始する前に、前記Masterから前記通信相手装置を介して送信されたGPIOピン設定情報に基づいて、GPIOピンの入出力制御を行う、請求項13に記載の通信装置。
【請求項19】
前記ヘッダ情報は、サンプリング周波数情報と、GPIOピン設定情報と、GPIO構成情報と、前記サンプリングされたデータのデータ長情報と、の少なくとも一つを含む、請求項13乃至18のいずれか一項に記載の通信装置。
【請求項20】
前記通信プロトコルは、TDD (Time Division Duplex)通信方式の通信プロトコルである、請求項13に記載の通信装置。
【請求項21】
所定の通信プロトコルによりシリアル通信を行うMaster SerDes及びSlave SerDesを備え、
前記Master SerDesは、
開始点となるタイムスタンプと、前記開始点を起点とする前記タイムスタンプの単位周期とを決定する第1コントローラと、
前記開始点を起点として、MasterからのGPIO (General Purpose Input/Output)信号を、前記タイムスタンプに同期させて、一定のサンプリング周期でサンプリングされた全てのサンプリングデータ又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含む第1のGPIOパケットを生成する第1エンカプセレータと、
前記第1のGPIOパケットを含むUp linkパケットを生成する第1LINKと、
前記Up linkパケットを含む所定の通信プロトコルに準拠した伝送信号を通信相手装置に送信する第1PHYと、を有し、
前記Slave SerDesは、
前記所定の通信プロトコルに準拠した伝送信号を通信相手装置から受信する第2PHYと、
時刻制御命令を含む第2のGPIOパケットを前記伝送信号から分離する第2LINKと、
時刻制御命令に基づいて開始点を決定する第2コントローラと、
前記第2のGPIOパケット内のヘッダ情報に含まれるサンプリングモード情報が、Masterから送信された第2のGPIO信号を一定のサンプリング周期でサンプリングした全てのサンプリングデータを含むことを示す第1のモードであるか、又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含むことを示す第2のモードであるかを判別して、前記第2のGPIOパケットを前記第2のGPIO信号に変換してSlaveに送信する第1デエンカプセレータと、を有する、通信システム。
【請求項22】
Master SerDes及びSlave SerDesが所定の通信プロトコルによりシリアル通信を行う通信方法であって、
前記Master SerDesは、
開始点となるタイムスタンプと、前記開始点を起点とする前記タイムスタンプの単位周期とを決定し、
前記開始点を起点として、MasterからのGPIO信号を、前記タイムスタンプに同期させて、一定のサンプリング周期でサンプリングされた全てのサンプリングデータ又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含む第1のGPIOパケットを生成し、
前記第1のGPIOパケットを含むUp linkパケットを生成し、
前記Up linkパケットを含む所定の通信プロトコルに準拠した伝送信号を前記Slave SerDesに送信し、
前記Slave SerDesは、
前記所定の通信プロトコルに準拠した伝送信号を通信相手装置から受信し、
時刻制御命令を含む第2のGPIOパケットを前記伝送信号から分離し、
時刻制御命令に基づいて開始点を決定する第2コントローラと、
前記第2のGPIOパケットに含まれるヘッダ情報に含まれるサンプリングモード情報が、Masterからの第2のGPIO信号を一定のサンプリング周期でサンプリングされた全てのサンプリングデータを含むことを示す第1のモードであるか、又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含むことを示す第2のモードであるかを判別して、前記第2のGPIOパケットを前記第2のGPIO信号に変換してSlaveに送信する、通信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本開示は、通信装置、通信システム及び通信方法に関する。
【背景技術】
【0002】
MasterとSlaveの間でデータ通信を行う場合に、Master用のSerDes(以下、M_SerDes)とSlave用のSerDes(以下、S_SerDes)との間で、シリアル通信を行う技術が提案されている。2つのSerDes間のシリアル通信は、所定の通信プロトコルによるパケットを送受して行われる。
【0003】
これに対して、MasterとM_SerDesとの間、及びSlaveとS_SerDesとの間では、例えばGPIO(General Purpose Input/Output)通信が行われる。
【先行技術文献】
【特許文献】
【0004】
【文献】特開2011-239011号公報
【発明の概要】
【発明が解決しようとする課題】
【0005】
MasterからGPIO通信にてデータを受信したM_SerDesは、受信したデータをサンプリングして所定の通信プロトコルのパケットに変換してからS_SerDesに送信する。しかしながら、GPIO通信で受信されるデータが膨大な量を有する場合、一定の周期でサンプリングすると、サンプリングのデータ量が大きくなる。
【0006】
GPIO通信で受信されるデータには、信号論理が稀にしか変化しない場合もあるが、このようなデータも一定の周期でサンプリングする限りは、サンプリング後のデータ量を減らすことはできず、M_SerDesとS_SerDes間で送受されるパケットの総量が増大してしまう。
【0007】
そこで、本開示では、効率よくシリアル通信を行うことが可能な通信装置、通信システム及び通信方法を提供するものである。
【課題を解決するための手段】
【0008】
上述の課題を解決するために、本開示によれば、開始点となるタイムスタンプと、前記開始点を起点とする前記タイムスタンプの単位周期とを決定するコントローラと、
前記開始点を起点として、MasterからのGPIO (General Purpose Input/Output)信号を、前記タイムスタンプに同期させて、一定のサンプリング周期でサンプリングされた全てのサンプリングデータ又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含む第1のGPIOパケットを生成するエンカプセレータと、
前記第1のGPIOパケットを含むUp linkパケットを生成するLINKと、
前記Up linkパケットを含む所定の通信プロトコルに準拠した伝送信号を通信相手装置に送信するPHYと、を備える、通信装置が提供される。
【0009】
前記コントローラは、第1のモードまたは第2のモードを指定するサンプリングモード情報とタイムスタンプとサンプリング周期とを含むGPIO設定情報を前記Masterから受信し、
前記エンカプセレータは、
前記第1のモードでは、前記開始点を起点とする前記サンプリング周期で、前記Masterから受信した第1のGPIO信号をサンプリングした全ての前記サンプリングデータを含む前記第1のGPIOパケットを生成し、
前記第2のモードでは、第1のサンプリングタイミングでサンプリングした前記サンプリングデータの値が、前記第1のサンプリングタイミングから前記サンプリング周期が経過した第2のサンプリングタイミングでサンプリングした前記サンプリングデータの値と異なる場合に、前記第2のサンプリングタイミングでサンプリングした前記サンプリングデータと、前記第2のサンプリングタイミングを示す第1の時間情報と、を含む前記第1のGPIOパケットを生成してもよい。
【0010】
第2のGPIO信号を再生して前記Masterに送信するデエンカプセレータをさらに備え、
前記PHYは、前記所定の通信プロトコルに準拠した伝送信号を前記通信相手装置から受信し、
前記LINKは、第2のGPIOパケットを前記伝送信号から分離し、
前記デエンカプセレータは、前記モード情報と前記開始点と前記サンプリング周期と前記第2のGPIOパケットとに基づいて、前記第2のGPIO信号を再生してもよい。
【0011】
前記デエンカプセレータは、
前記第1のモードでは、1以上のサンプリングデータが前記第2のGPIOパケットに含まれており、前記開始点を起点として前記サンプリング周期が経過するたびにサンプリングするサンプリングデータのそれぞれに、前記第2のGPIOパケットに含まれるサンプリングデータのそれぞれを割り当てて、前記第2のGPIO信号を再生し、
前記第2のモードでは、1以上のサンプリングデータのそれぞれがサンプリングタイミングを示す第2の時間情報と紐づけて前記第2のGPIOパケットに含まれており、前記第2の時間情報が示すサンプリングタイミングで、前記第2の時間情報に対応する前記サンプリングデータを割り当てて、前記第2のGPIOパケット内の次の前記第2の時間情報のサンプリングタイミングまでは、前記サンプリング周期ごとに同一の前記サンプリングデータを割り当てる処理を繰り返して、前記第2のGPIO信号を再生してもよい。
【0012】
前記Master内の第1タイマと同期した時間情報を出力する第2タイマを備え、
前記デエンカプセレータは、前記第2のGPIO信号を記憶するメモリを有し、
前記第2のGPIOパケットは、前記第2のGPIO信号の出力タイミングに関するタイムスタンプ情報を含んでおり、
前記デエンカプセレータは、前記タイムスタンプ情報が第1の値のときは、前記第2のGPIO信号を前記メモリに記憶することなく前記Masterに送信し、前記タイムスタンプ情報が第2の値のときは、前記第2のGPIO信号を前記メモリに記憶し、前記第2タイマの時間情報が前記第2のGPIOパケット内の前記タイムスタンプ情報の後に挿入される時間情報と一致すると、前記メモリから前記第2のGPIO信号を読み出して、前記Masterに送信してもよい。
【0013】
前記コントローラは、前記MasterとのGPIO通信を開始する前に、前記MasterからGPIO通信とは異なる通信方式にて送信された前記GPIO設定情報に基づいて、前記エンカプセレータが前記パケットを生成する制御を行ってもよい。
【0014】
前記GPIO設定情報は、前記GPIO信号のサンプリング周波数情報と、GPIOピン設定情報と、GPIO構成情報と、前記サンプリングされたデータのデータ長情報と、の少なくとも一つを含んでもよい。
【0015】
前記エンカプセレータは、前記サンプリングモード情報と、前記サンプリング周波数情報と、前記GPIOピン設定情報と、GPIO構成情報と、前記データ長情報との少なくとも一つを含むヘッダ情報を含む前記第1のGPIOパケットを生成してもよい。
【0016】
前記GPIO構成情報は、GPIO通信を行うピンの数と、前記GPIOピン設定情報と、GPIO通信情報を格納するタイムスロットとを含んでもよい。
【0017】
前記エンカプセレータは、前記サンプリングされたデータを含むパケットを前記通信相手装置に送信する前に、前記サンプリングされたデータを含まずに前記ヘッダ情報を含む前記第1のGPIOパケットを生成してもよい。
【0018】
前記エンカプセレータは、前記サンプリングされたデータを含まずに前記ヘッダ情報を含む前記第1のGPIOパケットと、前記ヘッダ情報と前記サンプリングされたデータとを含む前記第1のGPIOパケットと、前記ヘッダ情報を含まずに前記サンプリングされたデータを含む前記第1のGPIOパケットとの少なくとも一つを生成してもよい。
【0019】
前記エンカプセレータは、前記第1のGPIOパケットにタイムスタンプ情報と誤り検知情報との少なくとも一方を付加してもよい。
【0020】
前記通信プロトコルは、TDD (Time Division Duplex)通信方式の通信プロトコルであり、
前記単位周期は、前記TDD通信方式の1フレーム期間であってもよい。
【0021】
本開示によれば、所定の通信プロトコルに準拠した伝送信号を通信相手装置から受信するPHYと、
時刻制御命令を含む第1のGPIOパケットを前記伝送信号から分離するLINKと、
前記時刻制御命令に基づいて開始点を決定するコントローラと、
前記第1のGPIOパケット内のヘッダ情報に含まれるサンプリングモード情報が、Masterから送信されたGPIO (General Purpose Input/Output)信号を一定のサンプリング周期でサンプリングした全てのサンプリングデータを含むことを示す第1のモードであるか、又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含むことを示す第2のモードであるかを判別して、前記第1のGPIOパケットを第1のGPIO信号に変換してSlaveに送信するデエンカプセレータと、を備える、通信装置が提供される。
【0022】
前記デエンカプセレータは、
前記第1のモードでは、1以上のサンプリングデータが前記第1のGPIOパケットに含まれており、前記開始点を起点として前記サンプリング周期が経過するたびにサンプリングするサンプリングデータのそれぞれに、前記第1のGPIOパケットに含まれるサンプリングデータのそれぞれを割り当てて、前記第1のGPIO信号を再生し、
前記第2のモードでは、1以上のサンプリングデータのそれぞれがサンプリングされたサンプリングタイミングを示す第1の時間情報と紐づけて前記第1のGPIOパケットに含まれており、前記第1の時間情報が示すサンプリングタイミングで、前記第1の時間情報に対応する前記サンプリングデータを割り当てて、前記第1のGPIOパケット内の次の前記第1の時間情報のサンプリングタイミングまでは、前記サンプリング周期ごとに同一の前記サンプリングデータを割り当てる処理を繰り返して、前記第1のGPIO信号を再生してもよい。
【0023】
前記Master内の第1タイマと同期した時間情報を出力する第2タイマを備え、
前記デエンカプセレータは、前記第1のGPIO信号を記憶するメモリを有し、
前記第1のGPIOパケットは、前記第1のGPIO信号の出力タイミングに関するタイムスタンプ情報を含んでおり、
前記デエンカプセレータは、前記タイムスタンプ情報が第1の値のときは、前記第1のGPIO信号を前記メモリに記憶することなく前記Slaveに送信し、前記タイムスタンプ情報が第2の値のときは、前記第1のGPIO信号を前記メモリに記憶し、前記第2タイマの時間情報が前記第1のGPIOパケット内の前記タイムスタンプ情報の後に挿入される時間情報と一致すると、前記メモリから前記第1のGPIO信号を読み出して、前記Slaveに送信してもよい。
【0024】
開始点を起点として、前記Slaveからの第2のGPIO信号を、一定のサンプリング周期又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含む第2のGPIOパケットを生成するエンカプセレータを備えてもよい。
【0025】
前記エンカプセレータは、
前記第1のモードでは、前記開始点を起点とする前記サンプリング周期で、前記Slaveから受信した前記第2のGPIO信号をサンプリングした全ての前記サンプリングデータを含む前記第2のGPIOパケットを生成し、
前記第2のモードでは、第1のサンプリングタイミングでサンプリングした前記サンプリングデータの値が、前記第1のサンプリングタイミングから前記サンプリング周期が経過した第2のサンプリングタイミングでサンプリングした前記サンプリングデータの値と異なる場合に、前記第2のサンプリングタイミングでサンプリングした前記サンプリングデータと、前記第2のサンプリングタイミングを示す時間情報と、を含む前記第2のGPIOパケットを生成してもよい。
【0026】
前記コントローラは、前記SlaveとGPIO通信を開始する前に、前記Masterから前記通信相手装置を介して送信されたGPIOピン設定情報に基づいて、GPIOピンの入出力制御を行ってもよい。
【0027】
前記ヘッダ情報は、サンプリング周波数情報と、GPIOピン設定情報と、GPIO構成情報と、前記サンプリングされたデータのデータ長情報と、の少なくとも一つを含んでもよい。
【0028】
前記通信プロトコルは、TDD (Time Division Duplex)通信方式の通信プロトコルであってもよい。
【0029】
本開示によれば、所定の通信プロトコルによりシリアル通信を行うMaster SerDes及びSlave SerDesを備え、
前記Master SerDesは、
開始点となるタイムスタンプと、前記開始点を起点とする前記タイムスタンプの単位周期とを決定する第1コントローラと、
前記開始点を起点として、MasterからのGPIO (General Purpose Input/Output)信号を、前記タイムスタンプに同期させて、一定のサンプリング周期でサンプリングされた全てのサンプリングデータ又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含む第1のGPIOパケットを生成する第1エンカプセレータと、
前記第1のGPIOパケットを含むUp linkパケットを生成する第1LINKと、
前記Up linkパケットを含む所定の通信プロトコルに準拠した伝送信号を通信相手装置に送信する第1PHYと、を有し、
前記Slave SerDesは、
前記所定の通信プロトコルに準拠した伝送信号を通信相手装置から受信する第2PHYと、
時刻制御命令を含む第2のGPIOパケットを前記伝送信号から分離する第2LINKと、
時刻制御命令に基づいて開始点を決定する第2コントローラと、
前記第2のGPIOパケット内のヘッダ情報に含まれるサンプリングモード情報が、Masterから送信された第2のGPIO信号を一定のサンプリング周期でサンプリングした全てのサンプリングデータを含むことを示す第1のモードであるか、又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含むことを示す第2のモードであるかを判別して、前記第2のGPIOパケットを前記第2のGPIO信号に変換してSlaveに送信する第1デエンカプセレータと、を有する、通信システムが提供される。
【0030】
本開示によれば、Master SerDes及びSlave SerDesが所定の通信プロトコルによりシリアル通信を行う通信方法であって、
前記Master SerDesは、
開始点となるタイムスタンプと、前記開始点を起点とする前記タイムスタンプの単位周期とを決定し、
前記開始点を起点として、MasterからのGPIO信号を、前記タイムスタンプに同期させて、一定のサンプリング周期でサンプリングされた全てのサンプリングデータ又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含む第1のGPIOパケットを生成し、
前記第1のGPIOパケットを含むUp linkパケットを生成し、
前記Up linkパケットを含む所定の通信プロトコルに準拠した伝送信号を前記Slave SerDesに送信し、
前記Slave SerDesは、
前記所定の通信プロトコルに準拠した伝送信号を通信相手装置から受信し、
時刻制御命令を含む第2のGPIOパケットを前記伝送信号から分離し、
時刻制御命令に基づいて開始点を決定する第2コントローラと、
前記第2のGPIOパケットに含まれるヘッダ情報に含まれるサンプリングモード情報が、Masterからの第2のGPIO信号を一定のサンプリング周期でサンプリングされた全てのサンプリングデータを含むことを示す第1のモードであるか、又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含むことを示す第2のモードであるかを判別して、前記第2のGPIOパケットを前記第2のGPIO信号に変換してSlaveに送信する、通信方法が提供される。
【図面の簡単な説明】
【0031】
図1】一実施形態に係る通信装置を備えた通信システムの概略構成を示すブロック図。
図2A】M_SerDes 100内のエンカプセレータ150の内部構成を示すブロック図。
図2B】M_SerDes 100内のデエンカプセレータ160の内部構成を示すブロック図。
図3】複数のM_SerDesと複数のS_SerDesとを備える通信システムの概略構成を示すブロック図。
図4】TDDサイクルとM_SerDes内のEncのサンプリング周期との関係を示す図。
図5】フルサンプリングを詳細に説明する図。
図6】エッジサンプリングを詳細に説明する図。
図7】サンプリング位置を単位周期内における絶対時間又は相対時間で表した例を示す図。
図8】GPIOヘッダ情報の一例を示す図。
図9A】GPIOヘッダ情報のみを含むパケットのデータ構成図。
図9B】サンプリングデータのみを含むパケットのデータ構成図。
図9C】GPIOヘッダ情報とサンプリングデータのみを含むパケットのデータ構成図。
図10】フルサンプリングを行う場合のGPIOヘッダ情報とデータの詳細を示す図。
図11】エッジサンプリングを行う場合のGPIOヘッダ情報とデータの詳細を示す図。
図12】ピン配置の詳細を説明する図。
図13】M_SerDesの内部構成を示すブロック図に信号の伝送順序(1)~(10)を加えた図。
図14】フルサンプリング時のM_SerDesのサンプリング波形、GPIOパケット、及びUP (Down) Linkパケットを示す図。
図15】エッジサンプリング時のM_SerDes 100のサンプリング波形、GPIOパケット、及びUP (Down) Linkパケットを示す図。
図16】S_SerDesの内部構成を示すブロック図に信号の伝送順序(1)~(11)を加えた図。
図17】フルサンプリング時にS_SerDesが送受するUP (Down) Linkパケットを示す図。
図18】エッジサンプリング時にS_SerDesが送受するUP (Down)パケットを示す図。
図19】デエンカプセレータ260に入力されるパケットのデータ構成を示す図。
図20】Master内のタイマとM_SerDes内のタイマとS_SerDes内のタイマとの時刻同期を行う手順(1)~(6)を示す図。
図21】Master内のタイマとM_SerDes内のタイマとS_SerDes内のタイマとの時刻同期を行う手順(7)~(12)を示す図。
【発明を実施するための形態】
【0032】
以下、図面を参照して、通信装置、通信システム及び通信方法の実施形態について説明する。以下では、通信装置、通信システム及び通信方法の主要な構成部分を中心に説明するが、通信装置、通信システム及び通信方法には、図示又は説明されていない構成部分や機能が存在しうる。以下の説明は、図示又は説明されていない構成部分や機能を除外するものではない。
【0033】
図1は一実施形態に係る通信装置を備えた通信システムの概略構成を示すブロック図である。図1の通信システムは、例えばADAS(Advanced Driver Assistance System)の一部のシステムであるカメラ映像認識システムである。
【0034】
図1の通信システム1は、Master 10と、Master SerDes(M_SerDes)100と、Slaveと、Slave SerDes(S_SerDes)200とを備えている。このうち、M_SerDes 100とS_SerDes 200の少なくとも一方が、本開示の一実施形態に係る通信装置である。
【0035】
M_SerDes 100とS_SerDes 200は、所定の通信規格(以降では、「通信規格X」と呼ぶ)により互いに通信可能に接続される。所定の通信規格Xとしては、例えばFPD-Link III、A-phy、ASAなどがあり、限定されるものではない。M_SerDes 100とS_SerDes 200のそれぞれは、本実施形態による通信装置に該当する。本明細書では、M_SerDes 100とS_SerDes 200がTDD方式にてシリアル信号伝送を行う例を主に説明する。
【0036】
Master 10とM_SerDes 100とは、少なくともGPIO(General Purpose Input/Output)通信にてシリアル信号を送受することができる。なお、Master 10とM_SerDes 100とは、GPIO通信の他に、I2C(Inter-Integrated Circuit)通信やSPI(Serial Peripheral Interface)通信などでシリアル信号を送受する機能を備えていてもよい。
【0037】
図1では、S_SerDes 200からM_SerDes 100に情報をシリアル信号伝送する伝送経路(ケーブル)6上の信号経路をDown Linkと呼び、M_SerDes 100からS_SerDes 200に情報をシリアル信号伝送する伝送経路6上の信号経路をUP Linkと呼ぶ。
【0038】
図1のMaster 10は、コントローラ 11と、タイマ12と、GPIO通信用の入出力バッファ13, 14とを有する。図1には、Master 10内部のGPIO通信に関連するブロック構成のみが図示されている。Master 10は、GPIO通信以外の機能を持っていてもよいが、図1では省略している。コントローラ11は、M_SerDes 100に送信するべきGPIO信号の生成と、入出力バッファ13, 14を介してGPIO信号を送受する制御とを行う。タイマ12は、後述するように、M_SerDes 100、Slave 20、及びS_SerDes 200と時刻同期を取るために使用される。
【0039】
M_SerDes 100は、コントローラ101と、エンカプセレータ(Enc)150と、Link Layer Block(以下、DLL又はLINKと呼ぶこともある)120と、PHY Layer Block(PHY) 110と、デエンカプセレータ(DeEnc)160と、タイマ102と、入出力バッファ103, 104とを有する。
【0040】
コントローラ101は、タイマ102からの時間情報に基づいて、開始点となるタイムスタンプと、開始点を起点とするタイムスタンプの単位周期とを決定する。この他、コントローラ101は、Enc150がUP Linkパケットを生成する制御や、DeEnc160がDown Linkパケットからを取り出す制御を行う。また、コントローラ101は、I2C通信にて、Master 10からのGPIO設定情報や単位周期、サンプリング周期の設定値を取得する。すなわち、コントローラ101は、Master 10とのI2Cコントローラ機能を含む。さらに、コントローラ101は、S_SerDes 200から受信されたDown Linkパケットから抜き出されたGPIOパケット内のヘッダ情報に基づいて、受信されたGPIOパケット内のデータが一定のサンプリング周期でサンプリングされた全てのサンプリングデータを含むか、又はGPIO信号の論理変化に応じたサンプリング間隔でサンプリングされたサンプリングデータとサンプリング位置を含むかを判断する。
【0041】
ここで、単位周期とは、タイムスタンプの時間間隔である。M_SerDes 100とS_SerDes 200は予め単位周期を設定情報として与えられていてもよい。あるいは、Master 10は、I2C通信にて、M_SerDes 100内のコントローラ101とS_SerDes 200内のコントローラ201に単位周期の情報を送信してもよい。
【0042】
エンカプセレータ150は、コントローラ101から指定された単位周期ごとに、Master 10からのGPIO信号を、タイムスタンプに同期させて、一定のサンプリング周期でサンプリングされた全てのサンプリングデータ又はGPIO信号の論理変化に応じたサンプリング間隔でサンプリングされたサンプリングデータとサンプリング位置含む所定の通信プロトコルのパケットを生成する。エンカプセレータ150は、フルサンプリングモード(第1のモード)では、開始点を起点とするサンプリング周期で、Masterから受信した第1のGPIO信号をサンプリングした全てのサンプリングデータを含む第1のGPIOパケットを生成する。エンカプセレータ150は、エッジサンプリングモード(第2のモード)では、第1のサンプリングタイミングでサンプリングしたサンプリングデータの値が、第1のサンプリングタイミングからサンプリング周期が経過した第2のサンプリングタイミングでサンプリングしたサンプリングデータの値と異なる場合に、第2のサンプリングタイミングでサンプリングしたサンプリングデータと、第2のサンプリングタイミングを示す第1の時間情報と、を含む第1のGPIOパケットを生成する。
【0043】
DLL 120は、Encが生成したパケット(GPIOパケットとも呼ぶ)を他の伝送パケットとまとめてUP Linkパケットを生成する。また、DLL 120は、Down Linkを介してS_SerDes 200から送信されたDown Linkパケットを受信し、Down LinkパケットからGPIOパケットを抜き出してデエンカプセレータ160に送信する。
【0044】
PHY 110は、DLL 120からのUP LinkパケットをTDDによるUP Link出力タイミングに従って、伝送経路に出力する。また、PHY 110は、S_SerDes 200から送信されたDown Linkパケットを受信して、DLL 120に送信する。
【0045】
デエンカプセレータ160は、コントローラ101の制御の下で、DLL 120がDown Linkパケットから抜き出したGPIOパケットを受信して、GPIO信号に変換する。デエンカプセレータ160は、変換したGPIO信号を入出力バッファを介してMaster 10に送信する。デエンカプセレータ160は、モード情報と前記開始点とサンプリング周期と第2のGPIOパケットとに基づいて、第2のGPIO信号を再生する。より詳細には、デエンカプセレータ160は、モード情報と開始点とサンプリング周期と第2のGPIOパケットとに基づいて、第2のGPIO信号を再生する。より具体的には、デエンカプセレータ160は、フルサンプリングモード(第1のモード)では、1以上のサンプリングデータが第2のGPIOパケットに含まれており、開始点を起点としてサンプリング周期が経過するたびにサンプリングするサンプリングデータのそれぞれに、第2のGPIOパケットに含まれるサンプリングデータのそれぞれを割り当てて、第2のGPIO信号を再生する。エンカプセレータ150は、エッジサンプリングモード(第2のモード)では、1以上のサンプリングデータのそれぞれがサンプリングタイミングを示す第2の時間情報と紐づけて第2のGPIOパケットに含まれており、第2の時間情報が示すサンプリングタイミングで、第2の時間情報に対応するサンプリングデータを割り当てて、第2のGPIOパケット内の次の第2の時間情報のサンプリングタイミングまでは、サンプリング周期ごとに同一のサンプリングデータを割り当てる処理を繰り返して、第2のGPIO信号を再生する。
【0046】
タイマ102は、時間情報を出力する。タイマ102からの時間情報はコントローラ101、エンカプセレータ150、及びデエンカプセレータ160に入力される。後述するように、エンカプセレータ150は、タイマ102からの時間情報に基づいて、GPIOパケットにタイムスタンプ情報や時間情報を付加する。
【0047】
Slave 20は、コントローラ21と、タイマ22と、入出力バッファ23, 24とを有する。図1には、Slave 20内部のGPIO通信に関連するブロック構成のみが図示されている。Slave 20は、GPIO通信以外の機能を持っていてもよいが、図1では省略している。コントローラ21は、入出力バッファ23, 24を介してS_SerDes 200との間でGPIO信号を送受する制御とを行う。タイマ22は、後述するように、S_SerDes 200、Master 10、及びM_SerDes 100と時刻同期を取ることができる。
【0048】
S_SerDes 200は、コントローラ201と、エンカプセレータ(Enc)250と、Link Layer Block(DLL)220と、PHY Layer Block(PHY)210と、デエンカプセレータ(DeEnc)260と、タイマ202と、入出力バッファ203, 204と、I2Cコントローラ270とを有する。
【0049】
コントローラ201は、M_SerDes 100から受信されたUP Linkパケットから抜き出されたGPIOパケット内のヘッダ情報に基づいて、受信されたGPIOパケット内のデータが一定のサンプリング周期でサンプリングされた全てのサンプリングデータを含むか、又はGPIO信号の論理変化に応じたサンプリング間隔でサンプリングされたサンプリングデータとサンプリング位置を含むかを判断する。また、コントローラ201は、Enc 250がパケットを生成する制御や、DeEnc 260がパケットからGPIO信号を取り出す制御を行う。コントローラ201は、I2Cコントローラ270を介してSlave 20との間でI2C通信を行う機能を持つ。I2Cコントローラ270の機能は、コントローラ201に含まれていてもよい。
【0050】
Enc 250は、単位周期ごとに、Slave 20からのGPIO信号を、タイムスタンプに同期させて、一定のサンプリング周期でサンプリングされた全てのサンプリングデータ、又はGPIO信号の論理変化に応じたサンプリング間隔でサンプリングされたサンプリングデータとサンプリング位置を含む所定の通信プロトコルのパケット(GPIOパケット)を生成する。
【0051】
DLL 220は、Enc 250が生成したGPIOパケットを他の伝送パケットとまとめてDown Linkパケットを生成する。また、DLL 220は、UP Linkを介してM_SerDes 100から受信されたUP LinkパケットからGPIOパケットを抜き出してDeEnc 260に送信する。
【0052】
PHY 210は、DLL 220からのDown LinkパケットをTDDによるDown Link出力タイミングに従って、伝送経路に出力する。また、PHY 210は、M_SerDes 100から送信されたUP Linkパケットを受信して、DLL 220に送信する。
【0053】
DeEnc 260は、コントローラ201の制御の下で、DLL 220がUP Linkパケットから抜き出したGPIOパケットを受信して、GPIO信号に変換する。DeEnc 260は、変換したGPIO信号を入出力バッファ203, 204を介してSlave 20に送信する。
【0054】
タイマ202は、時間情報を出力する。タイマ202からの時間情報はコントローラ、Enc 250、及びDeEnc 260に入力される。後述するように、Enc 250は、タイマ202からの時間情報に基づいて、GPIOパケットにタイムスタンプを付加する。
【0055】
図2AはM_SerDes 100内のエンカプセレータ150の内部構成を示すブロック図である。なお、S_SerDes 200内のEnc 250の内部構成も図2Aと同様である。図2Aに示すように、エンカプセレータ150は、サンプラ 53と、エンコーダ 52と、Encコア51とを有する。
【0056】
サンプラ53は、Master 10から送信されたGPIO信号を一定のサンプリング周期でサンプリングして、サンプリングされたすべてのサンプリングデータを伝送するか、又はGPIO信号の論理変化に応じたサンプリング間隔でサンプリングされたサンプリングデータとサンプリング位置を伝送する。後述するように、本明細書では、GPIO信号を一定のサンプリング周期でサンプリングすることをフルサンプリングと呼び、GPIO信号の論理変化に応じたサンプリング間隔でサンプリングすることをエッジサンプリングと呼ぶ。より詳細には、フルサンプリングでは、GPIO信号をサンプリング周期ごとにサンプリングし、サンプリングされた全てのサンプリングデータを伝送する。エッジサンプリングでは、GPIO信号をサンプリング周期ごとにサンプリングし、その中で、GPIO信号が論理変化したサンプリング間隔でサンプリングされたサンプリングデータとサンプリング位置とを組にして伝送する。
【0057】
エンコーダ52は、サンプラ53がサンプリングしたデータを符号化する。Encコア51は、エンコーダ52が符号化した符号化データにヘッダ情報やタイプスタンプを付加してGPIOパケットを生成する。Encコア51が生成したGPIOパケットは、DLL 120に送信される。
【0058】
図2BはM_SerDes 100内のデエンカプセレータ160の内部構成を示すブロック図である。なお、S_SerDes 200内のDeEnc 260の内部構成も図2Bと同様である。図2Bに示すように、デエンカプセレータ160は、DeEncコア61と、デコーダ62と、メモリ(mem)63と、セレクタ(sel)64とを有する。
【0059】
DeEncコア61は、伝送経路を介してS_SerDes 200から受信されたDown LinkパケットからDLLが抜き出したGPIOパケットを分離して符号化データを出力する。デコーダ62は、DeEncコア61から出力された符号化データを符号化前のサンプリングデータに復号して、メモリ63にいったん記憶する。セレクタ64は、メモリ63に記憶されたサンプリングデータとデコーダ62で復号されたサンプリングデータとに基づいて、元のGPIO信号を復元する。セレクタ64から出力されたGPIO信号は、入出力バッファ103, 104を介してMaster 10に送信される。
【0060】
図1では、Master 10が1つのM_SerDes 100とGPIO通信を行い、Slave 20が1つのS_SerDes 200とGPIO通信を行う例を示したが、Master 10が複数のM_SerDes 100とGPIO通信を行い、複数のSlave 20が複数のS_SerDes 200とGPIO通信を行うことも想定されうる。すなわち、1台のMaster 10は、複数のM_SerDes 100と複数のS_SerDes 200を介して、複数のSlave 20とシリアル信号伝送を行うことができる。
【0061】
図3は、Master 10とGPIO通信を行う複数のM_SerDes 100, 400と、複数のSlave 20, 90とGPIO通信を行う複数のS_SerDes 200, 500とを備える通信システム1の概略構成を示すブロック図である。各M_SerDes 100, 400の内部構成と、各S_SerDes 200, 500の内部構成と、各Slave 20, 90の内部構成は図1と同様である。Master 10は複数のM_SerDes 100, 400と少なくともGPIO通信を行う。複数のM_SerDes 100, 400のそれぞれは、複数のS_SerDes 200, 500のうちの一つと例えばTDD方式にてシリアル信号伝送を行う。複数のSlave 20, 90のそれぞれは、複数のS_SerDes 200, 500のうちの一つと少なくともGPIO通信を行う。
【0062】
図4はTDDサイクルとM_SerDes 100内のエンカプセレータ150のサンプリング周期との関係を示す図である。なお、S_SerDes 200内のEnc 250のサンプリング周期も、M_SerDes 100内のエンカプセレータ150のサンプリング周期と同様である。
【0063】
M_SerDes 100内のコントローラ101は、GPIO信号をサンプリングするための開始点であるタイムスタンプを、タイマ102からの時間情報により設定する。また、コントローラ101は、TDD方式のTDDサイクル(単位区間)ごとにタイプスタンプを設定する。図4には、一例として、3つのタイムスタンプが図示されており、これらのタイムスタンプの時間間隔がTDDサイクルと一致する。
【0064】
エンカプセレータ150内のサンプラ53は、コントローラ101が設定したタイムスタンプと同期してGPIO信号のサンプリングを行う。上述したように、M_SerDes 100は、Master 10からのGPIO設定情報に基づいて、フルサンプリングを行うか、エッジサンプリングを行うかを選択する。より詳細には、コントローラ101は、Master 10からI2C通信で送信されたGPIO設定情報を取得し、取得されたGPIO設定情報に基づいて、M_SerDes 100に対して、フルサンプリングを行うか、エッジサンプリングを行うかを指示する。GPIO設定情報は、GPIO信号のサンプリング周波数情報と、GPIOピン設定情報と、GPIO構成情報と、サンプリングされたデータのデータ長情報と、の少なくとも一つを含んでいる。GPIO構成情報は、GPIO構成情報は、GPIO通信を行うピンの数と、GPIOピン設定情報と、GPIO通信情報を格納するタイムスロットとを含んでいる。
【0065】
M_SerDes 100がフルサンプリングを行う場合は、エンカプセレータ150内のサンプラ53は、タイムスタンプに同期してサンプリングを開始し、その後、一定の周期でGPIO信号をサンプリングする。より詳細には、サンプラ53は、フルサンプリングを行う場合には、タイムスタンプに同期した不図示のクロックの立ち上がりエッジ又は立ち下がりエッジに同期して、GPIO信号をサンプリングする。
【0066】
また、サンプラ53は、エッジサンプリングを行う場合には、タイムスタンプに同期してサンプリングを開始し、サンプリング周期ごとにサンプリングを行う点ではフルサンプリングと同じであるが、GPIO信号に論理変化があったときのサンプリングデータを、サンプリング位置とともに伝送する。よって、図4の後半期間に示すように、1TDDサイクル内にGPIO信号の論理が変化しない場合には、サンプリングデータが伝送されないため、サンプリングデータのデータ量を削減できる。
【0067】
Master 10は、M_SerDes 100とS_SerDes 200がGPIO信号をフルサンプリングするか、エッジサンプリングするかをGPIO設定情報にて指定する。後述するように、GPIO設定情報は、GPIOモード情報を含んでおり、GPIOモード情報がフルサンプリングモードであれば、M_SerDes 100とS_SerDes 200はフルサンプリングを行い、GPIOモード情報がエッジサンプリングモードであれば、M_SerDes 100とS_SerDes 200はエッジサンプリングを行う。
【0068】
図5はフルサンプリングを詳細に説明する図である。Master 10がフルサンプリングモードを設定した場合には、M_SerDes 100とS_SerDes 200はフルサンプリングを行う。フルサンプリングでは、隣接する2つのタイムスタンプの間に、一定の時間間隔でGPIO信号をサンプリングする。M_SerDes 100とS_SerDes 200がTDD方式でシリアル信号伝送を行う場合、隣接する2つのタイムスタンプの間隔は1TDDサイクルである。サンプラ53は、開始点となるタイムスタンプに同期してGPIO信号のサンプリングを開始する。
【0069】
図5の例では、先頭のタイムスタンプに同期してサンプリングを開始し、サンプリングデータdata0を取得する。サンプリングデータは、0か1の1ビットデータである。以降、1TDDサイクル内に例えば計500回サンプリングする。サンプリングされた500個のサンプリングデータdata0、data10、…、data4990が順に配置されて500ビットのシリアルデータを含むパケットが生成される。後述するように、実際のパケットは、図5に示すシリアルデータの他に、ヘッダ情報やタイムスタンプが付加される。
【0070】
サンプラ53のサンプリング周波数は、後述するように、Master 10がGPIO設定情報にて指定する。サンプリング周波数が高いほど、GPIO信号をより精度よくサンプリングできるが、サンプリングデータのデータ量が増え、M_SerDes 100とS_SerDes 200の間で送受されるパケット量が多くなる。Master 10は、GPIO信号に適した最適なサンプリング周波数を設定する。
【0071】
なお、図5の例では、500個のサンプリングデータを順に配置してパケットを生成しているが、各サンプリングデータの位置情報とサンプリングデータを含むパケットを生成してもよい。また、サンプラ53は、クロックの立ち上がりエッジでGPIO信号をサンプリングしてもよいし、立下りエッジでGPIO信号をサンプリングしてもよい。
【0072】
図6はエッジサンプリングを詳細に説明する図である。Master 10がエッジサンプリングモードを設定した場合には、M_SerDes 100とS_SerDes 200はエッジサンプリングを行う。エッジサンプリングでは、隣接する2つのタイムスタンプの間に、GPIO信号の論理変化が起きたタイミングでサンプリングされたサンプリングデータをサンプリング位置とともに伝送する。より詳細には、開始点となるタイムスタンプ(a)に同期してサンプリングを開始し、サンプリングデータdata0を取得する。その後は、一定のサンプリング周期でサンプリングが行われるが、GPIO信号の論理が変化したときのみ((b), (c), (d), (e))、サンプリングデータとサンプリング位置とを組にして伝送される。図6の例では、隣接する2つのタイムスタンプの時間間隔は1TDDサイクルであり、この1TDDサイクル内に一定間隔のサンプリング周期が設けられる。複数のサンプリングデータのうち、GPIO信号の論理が変化したタイミングの直後に位置するサンプリングタイミングにおけるサンプリングデータがサンプリング位置とともに伝送される。図6では、GPIO信号の論理変化が生じたサンプリングタイミングを実線矢印線で示し、論理変化が生じないサンプリングタイミングを破線矢印線で示している。GPIO信号のサンプリングは、クロックの立ち上がりエッジで行ってもよいし、立ち下がりエッジで行ってもよい。
【0073】
図6では、サンプリング位置とサンプリングデータを組にして並べたシリアルデータを生成する例を示している。先頭のタイムスタンプに同期したサンプリング位置は、GPIO信号に論理変化がなくてもサンプリングデータを伝送する。すなわち、サンプリング位置pos0とサンプリングデータdata0を組にして伝送する。その後は、GPIO信号に論理変化があったタイミングPOS2、POS4、…、POS499に限って、各サンプリング位置とサンプリングデータを組にしてシリアルデータを生成する。図6のシリアルデータにタイムスタンプ情報やヘッダ情報を付加することで、GPIOパケットが生成される。
【0074】
なお、サンプリング位置とサンプリングデータを組にする代わりに、サンプリングタイミングの時間情報とサンプリングデータを組にしてパケットを生成してもよい。サンプリングタイミングの時間情報は絶対時間である必要はなく、サンプリング開始時間からの相対時間でもよい。
【0075】
図7はサンプリング位置を単位周期内における絶対時間又は相対時間で表した例を示す図である。図7には、二種類のデータ形式が図示されている。上段のデータ形式は時間情報を16ビットの絶対時間とする例を示し、下段のデータ形式は時間情報を8ビットの相対時間とする例を示している。相対時間は、サンプリング開始時間からの差分の時間である。あるいは、相対時間は、絶対時間を表すビット列のうち、下位側の一部のビット列でもよい。相対時間で時間情報を表すことで、パケット内のシリアルデータのデータ量を大幅に減らすことができる。
【0076】
上述したように、M_SerDes 100とS_SerDes 200が伝送経路を介して送受するパケットは、図5図7に示すデータ形式のシリアルデータの他に、タイムスタンプ情報とGPIOヘッダ情報を含んでいる。図8はGPIOヘッダ情報の一例を示す図である。図8のGPIOヘッダ情報は、後に詳述するように、フルサンプリング時とエッジサンプリング時では異なっているが、図8には両サンプリング時のGPIOヘッダ情報に含まれる個々の情報をまとめて図示している。
【0077】
図8に示すように、GPIOヘッダ情報は、GPIOモード(GPIO mode (T))と、GPIOピン情報(GPIO Pin info (U)又は(R))と、データ配置情報(Data placement (W))とを含んでいる。
【0078】
タイムスタンプ情報t_stamp(S)は1ビットであり、0であればタイムスタンプが存在しないことを示し、1であればタイムスタンプ情報t_stamp(S)の直後に時間情報が新たに挿入されることを示す。
【0079】
GPIOモード(T)は、例えば3ビットの情報であり、最上位ビットが0であればフルサンプリングを示し、最上位ビットが1であればエッジサンプリングを示す。GPIOモード(T)の3ビットのうち下位側2ビットが00であれば、GPIOヘッダ情報の中にGPIOの構成情報(configuration)とデータ情報を含むことを示す。下位側2ビットが01であれば、GPIOヘッダ情報の中にGPIOの構成情報を含むが、データ情報を含まないことを示す。下位側2ビットが10であれば、GPIOヘッダ情報の中にデータ情報を含むが、GPIOの構成情報を含まないことを示す。下位側2ビットが11であれば、GPIOヘッダ情報がユーザ定義情報(User define)を含むことを示す。
【0080】
GPIOピン情報(U)又は(R)は、ピン番号を含む。ピン番号は、例えばGPIOヘッダ情報の4ビット目から7ビット目までの4ビットで表される。また、GPIOヘッダ情報の下位側2ビットは、ピンがディセーブル状態か、信号入力か、ハイインピーダンス状態の信号入力か、信号出力かを表す。
【0081】
データ配置情報(W)は、2ビットの情報であり、00であれば1つのピンで8つのタイムスロットを使ってシリアルデータを伝送することを示し、01であれば最大2つのピンで各ピンが4つのタイムスロットを使ってシリアルデータを伝送することを示す。10であれば最大4つのピンで各ピンが2つのタイムスロットを使ってシリアルデータを伝送することを示す。11であれば最大16個のピンで各ピンが1つのタイムスロットを使ってシリアルデータを伝送することを示す。本データ配置情報(W)の具体例は、後述する図12に示す。
【0082】
図8に示す個々の情報の中で、フルサンプリング時のGPIOヘッダ情報は、図8の(T)、(U) を含み、エッジサンプリング時のGPIOヘッダ情報は、図8の(T)、(R) を含む。
【0083】
図9A図9B及び図9CはM_SerDes 100又はS_SerDes 200が伝送するパケットのデータ構成を示す図である。
【0084】
図9Aは、GPIOヘッダ情報のみを含むパケットを送信する場合であり、この場合のパケットは、タイムスタンプ情報と、ヘッダ情報と、誤り検知信号であるCRCとを含む。図9Aのパケットはデータを含んでいない。
【0085】
図9Bは、サンプリングデータのみを含むパケットを送信する場合であり、この場合のパケットは、タイムスタンプ情報と、フルサンプリング又はエッジサンプリングのデータと、CRCとを含む。図9Bは、GPIOヘッダ情報を含んでいない。
【0086】
図9Cは、GPIOヘッダ情報とサンプリングデータを含むパケットを送信する場合であり、この場合のパケットは、タイムスタンプ情報と、GPIOヘッダ情報と、フルサンプリング又はエッジサンプリングのデータと、CRCとを含む。このように、図9Cのパケットは、GPIOヘッダ情報とデータとを組み合わせて伝送する場合に使用される。
【0087】
図9B図9Cのパケットは、フルサンプリング時には複数のサンプリングデータを順に並べたシリアルデータを含んでおり、エッジサンプリング時にはサンプリング位置情報とサンプリングデータを組にして複数組を順に並べたシリアルデータを含んでいる。図9A図9B及び図9Cのパケットは、タイムスタンプ情報t_stamp(S)が0の例を示している。タイムスタンプ情報t_stamp(S)が1の場合には、図9Aのパケットでは、タイムスタンプ情報t_stamp(S)とGPIOヘッダ情報の間に時間情報が挿入され、図9Bのパケットでは、タイムスタンプ情報t_stamp(S)とサンプリング情報の間に時間情報が挿入され、図9Cのパケットでは、タイムスタンプ情報t_stamp(S)とGPIOヘッダ情報の間に時間情報が挿入される。
【0088】
図10及び図11はM_SerDes 100内のエンカプセレータ150又はS_SerDes 200内のEnc 250が生成するGPIOパケットに含まれるGPIOヘッダ情報の詳細を示す図である。
【0089】
(フルサンプリング時のGPIOヘッダ情報)
図10はフルサンプリングを行う場合のGPIOヘッダ情報を示し、図11はエッジサンプリングを行う場合のGPIOヘッダ情報を示している。図10図11を比較すればわかるように、UP Linkで伝送されるGPIOパケットとDown Linkで伝送されるGPIOパケットでは、GPIOヘッダ情報が一部異なる。また、フルサンプリングかエッジサンプリングかによっても、GPIOヘッダ情報が異なる。
【0090】
M_SerDes 100内のエンカプセレータ150が生成するGPIOパケットのヘッダ情報は、図10のUP Linkと記載された8バイトである。図10のUP Link用のGPIOパケットのヘッダ情報は、後述するように2タイムスロットを選択した例を示している。2タイムスロットとは、最大4つのピン(Pin1~Pin4)を使って、各ピンが1ビットずつ同時並行で伝送することで、2つのタイムスロットで1バイトのデータを伝送するものである。なお、タイムスロットとは、同時に何本のGPIO信号のサンプリングデータを伝送するかを示す。
【0091】
図10のUP Link用のGPIOパケットのヘッダ情報の1バイト目は、GPIOモード(T)であり、ビット[7]と、ビット[1:0]が使用される。ビット[7]が0であればフルサンプリング、1であればエッジサンプリングである。ビット[1:0]が00であれば2バイト目以降にGPIOの構成情報とデータ情報を含むことを示す。ビット[1:0]が01であれば2バイト目以降にGPIOの構成情報のみを含むことを示す。ビット[1:0]が10であれば2バイト目以降にデータ情報のみを含むことを示す。ビット[1:0]が11であれば2バイト目以降にユーザ定義情報を含むことを示す。
【0092】
2バイト目は、GPIOピン情報(U)である。ビット[1:0]はPin1の情報、ビット[3:2]はPin2の情報、ビット[5:4]はPin3の情報、ビット[7:6]はPin4の情報である。このように、Pin1~Pin4の各ピンの情報は2ビットで表され、00はディセーブル状態、01は信号入力、10はハイインピーダンス状態の信号入力、11は信号出力を表している。
【0093】
2タイムスロットの場合、最大4つのピンを信号入力又は信号出力用として使うことができる。図10の例では、Pin1~Pin3を信号入力用として用いて、Pin4を信号出力用として用いることを示している。すなわち、UP Link用にPin1~Pin3を用いて、Down Link用にPin4を用いることを示している。
【0094】
3バイト目は、ピンの構成情報の一部(V)であるサンプリング周波数である。例えば、3バイト目が0x01であればサンプリング周波数は250MHz(サンプリング周期が4nsec)であり、0xFAであればサンプリング周波数は1MHz(サンプリング周期が1μsec)である。
【0095】
4バイト目は、ピンの構成情報の一部(W)であるピン配置(pin pattern)である。例えば、4バイト目が0x00であれば8タイムスロット、0x01であれば4タイムスロット、0x02であれば2タイムスロット、0x03であれば1タイムスロット、0x04であればハーフタイムスロットである。図10の例では、2タイムスロットを示す0x02が記述されている。
【0096】
図12はピン配置の詳細を説明する図である。ヘッダ情報の4バイト目が8タイムスロットの場合は、1本のピンを使って1ビットずつシリアル信号伝送するため、1バイトのデータを伝送するのに8タイムスロットを要する。4タイムスロットの場合は、2本のピンを使って各ピンが1ビットずつシリアル信号伝送するため、1バイトのデータを伝送するのに4タイムスロットを要する。2タイムスロットの場合は、4本のピンを使って各ピンが1ビットずつシリアル信号伝送するため、1バイトのデータを伝送するのに2タイムスロットを要する。1タイムスロットの場合は、8本のピンを使って各ピンが1ビットずつシリアル信号伝送するため、1バイトのデータを伝送するのに1タイムスロットを要する。ハーフタイムスロットは、16本のピンを使って各ピンが1ビットずつシリアル信号伝送するため、2バイトのデータを伝送するのにハーフタイムスロットを要する。
【0097】
パケット内のデータの論理が変化しない場合、選択したタイムスロットに応じた各ピンの電位をハイ電位又はロー電位に固定すればよい。
【0098】
図10に戻って、UP Link用のGPIOパケットのヘッダ情報の5~7バイト目(X), (Y)はデータ情報である。5バイト目はデータ長である。図10の例では、0x02と記載されており、2バイトであることを示している。6~7バイト目はUP Linkで送信されるデータの各ピンのデータ配置を示している。図10の例では、Pin1~Pin3が4種類のデータData0~Data3を並行して送信することを示している。具体的には、Pin1~Pin3がData0を1ビットずつ送信した後、Pin1~Pin3がData1を1ビットずつ送信し、次に、Pin1~Pin3がData2を1ビットずつ送信し、最後にPin1~Pin3がData3を1ビットずつ送信する例を示している。
【0099】
UP Link用のGPIOパケットの8バイト目(Q)は、誤り検知情報(CRC)である。パケットの受信側では、受信されたパケットに付加されたCRCを用いることで、受信パケットにビット誤りがあるか否かを検知できる。
【0100】
図10のDown Link用のGPIOパケットのヘッダ情報の1バイト目は、GPIOモードであり、UP Link用のGPIOモードと同じである。2バイト目は、GPIOピン情報であり、UP Link用のGPIOピン情報と同じである。図10の例では、Down Link用としてPin4が割り当てられている。3~4バイト目は、ピンの構成情報である。図10の例では、4バイト目が0x00であり、8タイムスロットであることを示している。5バイト目は、データ長である。6バイト目はデータ情報である。図10の例では、Pin4を用いて、4種類のデータ(Data0~Data3)を順に伝送することを示している。7バイト目は、CRCである。
【0101】
(エッジサンプリング時のGPIOヘッダ情報)
図11はエッジサンプリングを行う場合のGPIOパケットのGPIOヘッダ情報を示している。図11のUP Link用のGPIOパケットのヘッダ情報の1バイト目はGPIOモード(T)であり、図10のヘッダ情報のGPIOモードと同じである。
【0102】
2バイト目は、GPIOピン情報(R)である。ビット[7]が0であればパケット伝送の継続を示し、1であればパケット伝送の終了を示す。ビット[5:4]が00であればディセーブル状態、01であれば信号入力、ハイインピーダンス状態の信号入力、11は信号出力を表している。2バイト目のビット[3:0]は、ピン番号である。ピン番号として、0x01と記述されているが、これはPin1を表している。
【0103】
また、2バイト目は、サンプリング周波数情報(V)を指定することも可能である。サンプリング周波数情報は、図10の3バイト目と同様である。3バイト目は、図10の5バイト目と同様に、データ長である。
【0104】
3~7バイト目は、データ情報(X), (Z)である。エッジサンプリングの場合は、タイムスロットの選択はない。その理由は、エッジサンプリングの場合は、各信号の論理変化点のみを伝送し、伝送するデータ数がデータの時間経過を示さないためである。よって、信号ごとに論理変化点のタイミング情報を伝送する。
【0105】
図11の例では、UP Link用にPin1とPin2を割り当てて、Down Link用にPin4を割り当てる例を示している。Pin3は、don't careである。図11のUP Linkの4~7バイト目にはPin1の情報が記述されている。より詳細には、4~5バイト目には、Pin1の1回目の論理変化点の情報が記述され、6~7バイト目には、Pin2の2回目の論理変化点の情報が記述される。
【0106】
図11のUP Linkの8~11バイト目にはPin2の情報が記述されている。図11の例では、Pin1は2回論理変化点があったのに対して、Pin2は1回論理変化点があったため、Pin2については1回目の論理変化点の情報が9~11バイト目に記述されている。12バイト目(Q)はCRCの情報である。
【0107】
図11のDown Linkの1バイト目はGPIOモード情報、2バイト目はGPIOピン情報である。GPIOピン情報として0x04と記述されているが、これはPin4を示すピン番号である。4~5バイト目にPin4の論理変化点の情報が記述される。6バイト目はCRCの情報である。
【0108】
(フルサンプリング時のM_SerDes 100の動作)
次に、フルサンプリング時のM_SerDes 100の動作を説明する。図13はM_SerDes 100の内部構成を示すブロック図に信号の伝送順序(1)~(10)を加えた図である。図14はフルサンプリング時のM_SerDes 100のサンプリング波形、GPIOパケット、及びUP (Down) Linkパケットを示す図である。
【0109】
Master 10は、M_SerDes 100内のコントローラ101に、I2C等のプロトコルを用いてGPIOヘッダ情報((R), (T), (U), (V), (W))、タイマ102の時刻制御命令、GPIO設定情報を送信する機能を持つ。例えば、Master 10は、I2Cプロトコルでコントローラ101の該当レジスタにGPIOヘッダ情報や時刻制御命令として、タイマ102の新しい設定時間を書き込む。コントローラ101は、新しい設定時間が書き込まれると、タイマ102に反映することで、Master 10内のタイマ12と、M_SerDes 100内のタイマ102の時刻を同期させることができる。同様に、Master 10はI2Cプロトコルでコントローラ101の該当レジスタにGPIO設定情報(U)又は(R)を書き込むと、コントローラ101はGPIO設定を行う。
【0110】
M_SerDes 100は、コントローラ101と、タイマ102と、入出力バッファ103、104と、エンカプセレータ150と、デエンカプセレータ160と、LINK 120及びPHY 110とを有する。
【0111】
コントローラ101は、タイマ102、入出力バッファ103, 104、エンカプセレータ150、及びデエンカプセレータ160を制御する。
【0112】
エンカプセレータ150は、タイマ102から入力される時間情報と、コントローラ101から送信されるGPIOヘッダ情報((T)~(X))でMaster 10からのGPIO信号(1)を指定されたサンプリング周期(V)でサンプリングし(2)、指定されたGPIOモード(T)でエンコードする(3)ことでサンプリングデータ(Y)に変換し、サンプリングデータ(Y)にGPIOヘッダ情報((T)~(X))とコントローラ101から送信される時間情報に関するタイムスタンプ情報t_stamp(S)をカプセル化してCRC (Q)を付けてLINK 120へパケット(4)を送信する機能をもつ。上述したように、タイムスタンプ情報t_stamp(S)は0か1の1ビット情報である。
【0113】
エンカプセレータ150は、Master 10からI2C通信にて送信された時刻制御命令をデータとして含むGPIOパケットを生成してS_SerDes 200に送信できる。このGPIOパケットを受信したS_SerDes 200は、GPIOパケット内の時刻制御命令を復元して、タイマ202に設定することで、Master 10、M_SerDes 100、及びS_SerDes 200を同期化することができる。
【0114】
デエンカプセレータ160は、LINK 120からの入力信号(5)をコントローラ101から送信されるGPIOヘッダ情報((T)~(W))でカプセル化の解除を行って、サンプリングデータ(Y)を取り出し(6)、サンプリングデータ(Y)のパケットから元のGPIO信号へ復元し(8)、必要に応じてメモリ63に書き込む。
【0115】
デエンカプセレータ160は、受信したGPIOパケット内のタイムスタンプ情報t_stamp(S)が0の場合、タイマ102から入力される時間情報にてGPIO信号の出力タイミングを決定する。この場合、復元されたGPIO信号をメモリ63に書き込むことなく、セレクタ64に送る。
【0116】
一方、デエンカプセレータ160は、受信したGPIOパケット内のタイムスタンプ情報t_stamp(S)が1の場合、その直後の時間情報に基づいてGPIO信号の出力タイミングを決定する。この場合、復元されたGPIO信号をメモリ63に書き込み、タイマ102から入力される時間情報がタイムスタンプ情報t_stamp(S)の直後の時間情報に一致したタイミングで、メモリ63からGPIO信号を読み出してセレクタ64を介してMaster 10に送信する機能(10)を持つ。
【0117】
このように、タイムスタンプ情報t_stamp (S)を1にすることで、Slave 20が設定した時間情報に応じたタイミングで、Master 10にGPIO信号を送信することができる。また、後述するように、Slave 20、M_SerDes 100、S_SerDes 200がそれぞれ複数台設けられている場合、それぞれのSlave 20が設定した時間情報に応じたタイミングで、Master 10にGPIO信号を送信することができる。
【0118】
また、デエンカプセレータ160は、カプセル化解除(6)した後に、新しいGPIOヘッダ情報((T)~(W))が設定されていた場合は、新しいGPIOヘッダ情報をコントローラ101に送信する機能を持つ。
【0119】
なお、コントローラ101から送信されるGPIOヘッダ情報は、送受信データのデータ形式を示すGPIOモード(T)と、利用しているGPIOのPin情報(U)と、サンプリング周期情報(V)と、データ配列情報(W)と、データ長(X)を含む。
【0120】
もし、カプセル化解除後(6)にGPIOパケット内のタイムスタンプ情報t_samp(S)が0のデータの場合、デエンカプセレータ160は、コントローラ101からのセレクタ64の選択信号により(7)の経路を復縁したGPIO信号が通って、遅延なしでMaster 10に送信される(10)。
【0121】
(エッジサンプリング時のM_SerDes 100の動作)
図15はエッジサンプリング時のM_SerDes 100のサンプリング波形、GPIOパケット、及びUP (Down) Linkパケットを示す図である。
【0122】
Master 10は、M_SerDes 100のコントローラ101に、I2C等のプロトコルを用いてGPIOヘッダ情報((R),(T)~(W))、タイマ102の時刻制御命令、及びGPIO設定情報を送信する機能を持つ。
【0123】
M_SerDes 100内のコントローラ101は、タイマ102、入出力バッファ103, 104、エンカプセレータ150、及びデエンカプセレータ160を制御する。
【0124】
エンカプセレータ150は、タイマ102から入力される時間情報と、コントローラ101から送信されるGPIOヘッダ情報((R),(T),(V),(X))でMaster 10からのGPIO信号(1)を指定されたサンプリング周期でサンプリングし(2)、指定されたGPIOモード(T)でエンコードする(3)ことでサンプリングデータ(Z)に変換し、サンプリングデータ(Z)にGPIOヘッダ情報((R),(T),(V),(X))とコントローラ101から送信される時間情報に関するタイムスタンプ情報t_stamp (S)をカプセル化してCRC(Q)を付けてLINK 120へパケット(4)を送信する機能をもつ。
【0125】
デカプセレータ160は、LINK 120からの入力信号(5)をコントローラ101から送信されるGPIOヘッダ情報((R),(T),(V))でカプセル化解除して(6)、サンプリングデータ(Z)を取り出し(6)、サンプリングデータ(Z)のパケットから元のGPIO信号へ復元し(8)、メモリ63に書き込む。また、デカプセレータ160は、タイマ102から入力される時間情報とタイムスタンプ情報t_stamp (S)の直後の時間情報が一致してからメモリ63に書き込んだデータを読出して(9)、Master 10に送信(10)する機能と、サンプリングデータ(Z)のパケットから元のGPIO信号へ復元して(8)、Master 10に送信する機能(10)と、カプセル化解除(6)に新しいGPIOヘッダ情報((R),(T),(V))が設定されていた場合は、新しいGPIOヘッダ情報をコントローラ101へ送信する機能を持つ。
【0126】
なお、コントローラ101から送信されるGPIOヘッダ情報は、送受信データのデータ形式を示すGPIO mode(T)と、利用しているGPIOのPin番号&設定情報(R)と、サンプリング周期情報(V)とデータ長(X)を含む。
【0127】
もし、カプセル化解除後(6)に、タイムスタンプ情報t_samp(S)が0で時間情報がない入力データの場合、 デエンカプセレータ160は、コントローラ101からの選択信号により、GPIO信号を(7)の経路とセレクタ64を通過させて、遅延なしでMaster 10に送信する(10)。
【0128】
(フルサンプリング時のS_SerDes 200の動作)
図16はS_SerDes 200の内部構成を示すブロック図に信号の伝送順序(1)~(11)を加えた図である。図17はフルサンプリング時にS_SerDes 200が送受するUP (Down) Linkパケットを示す図である。
【0129】
S_SerDes 200は、I2Cコントローラ270と、コントローラ201と、タイマ202と、入出力バッファ203、204と、デエンカプセレータ260と、エンカプセレータ250とを有する。
【0130】
I2Cコントローラ270は、Slave 20のコントローラ21へI2C等のプロトコルを用いて通信を行う。
【0131】
コントローラ201は、通信プロトコルXで送受信するLINK 220及びPHY 210と、内部ブロックであるタイマ202、Enc 250、DeEnc 260、及びI2Cコントローラ270を制御する機能を持つ。コントローラ201は、Slave 20とGPIO通信を開始する前に、Master 10から通信相手装置を介して送信されたGPIOピン設定情報に基づいて、GPIOピンの入出力制御を行う。
【0132】
デエンカプセレータ260は、通信プロトコルXのパケット(5)からカプセル化解除を行って、元のGPIO信号やGPIOヘッダ情報を復元する機能を持つ。デエンカプセレータ260は、第1のGPIOパケット内のヘッダ情報に含まれるサンプリングモード情報が、Masterから送信されたGPIO信号を一定のサンプリング周期でサンプリングした全てのサンプリングデータを含むことを示すフルサンプリングモード(第1のモード)であるか、又はGPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含むことを示すエッジサンプリングモード(第2のモード)であるかを判別して、第1のGPIOパケットを第1のGPIO信号に変換してSlaveに送信する。より詳細には、デエンカプセレータ260は、フルサンプリングモードでは、1以上のサンプリングデータが第1のGPIOパケットに含まれており、開始点を起点としてサンプリング周期が経過するたびにサンプリングするサンプリングデータのそれぞれに、第1のGPIOパケットに含まれるサンプリングデータのそれぞれを割り当てて、第1のGPIO信号を再生する。デエンカプセレータ260は、エッジサンプリングモードでは、1以上のサンプリングデータのそれぞれがサンプリングされたサンプリングタイミングを示す第1の時間情報と紐づけて第1のGPIOパケットに含まれており、第1の時間情報が示すサンプリングタイミングで、第1の時間情報に対応するサンプリングデータを割り当てて、第1のGPIOパケット内の次の第1の時間情報のサンプリングタイミングまでは、サンプリング周期ごとに同一のサンプリングデータを割り当てる処理を繰り返して、第1のGPIO信号を再生する。
【0133】
エンカプセレータ250は、Slave 20からのGPIO信号をサンプリングしてカプセル化してM_SerDes 100へパケット(4)を送信する。エンカプセレータ250は、タイマ202から入力される時間情報と、コントローラ201から送信されるGPIOヘッダ情報((T)~(X))でSlave 20からのGPIO信号(1)を、指定されたサンプリング周期(V)でサンプリングし(2)、指定されたGPIOモード(T)でエンコードする(3)ことでサンプリングデータ(Y)に変換し、サンプリングデータ(Y)にGPIOヘッダ情報((T)~(X))と、コントローラ201から送信される時間情報やタイムスタンプ情報t_stamp (S)をカプセル化してCRC(Q)を付けてLINK 220へパケット(4)を送信する機能をもつ。エンカプセレータ250は、開始点を起点として、Slave 20からの第2のGPIO信号を、一定のサンプリング周期又はGPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含む第2のGPIOパケットを生成する。より詳細には、エンカプセレータは、フルサンプリングモードでは、開始点を起点とするサンプリング周期で、Slaveから受信した第2のGPIO信号をサンプリングした全てのサンプリングデータを含む第2のGPIOパケットを生成する。エンカプセレータ250は、エッジサンプリングモードでは、第1のサンプリングタイミングでサンプリングしたサンプリングデータの値が、第1のサンプリングタイミングからサンプリング周期が経過した第2のサンプリングタイミングでサンプリングしたサンプリングデータの値と異なる場合に、第2のサンプリングタイミングでサンプリングしたサンプリングデータと、第2のサンプリングタイミングを示す時間情報と、を含む第2のGPIOパケットを生成する。
【0134】
デエンカプセレータ260は、LINK 220からの入力信号(5)を、コントローラ201から送信されるGPIOヘッダ情報((T)~(W))でカプセル化解除して、サンプリングデータ(Y)を取り出し(6)、サンプリングデータ(Y)のパケットから元のGPIO信号へ復元し(8)、必要に応じてメモリ63に書き込む。
【0135】
デエンカプセレータ260は、受信したGPIOパケット内のタイムスタンプ情報t_stamp(S)が0の場合、タイマ202から入力される時間情報にてGPIO信号の出力タイミングを決定する。この場合、復元されたGPIO信号をメモリ63に書き込むことなく、セレクタ64に送る。
【0136】
一方、デエンカプセレータ260は、受信したGPIOパケット内のタイムスタンプ情報t_stamp(S)が1の場合、その直後の時間情報に基づいてGPIO信号の出力タイミングを決定する。この場合、復元されたGPIO信号をメモリ63に書き込み、タイマ202から入力される時間情報がタイムスタンプ情報t_stamp(S)の直後の時間情報に一致したタイミングで、メモリ63からGPIO信号を読み出してセレクタ64を介してSlave 20に送信する機能(10)を持つ。
【0137】
このように、デエンカプセレータ260は、タイムスタンプ情報t_stamp(S)が1の場合には、タイマ202から入力される時間情報とタイムスタンプ情報t_stamp (S)の直後の時間情報が一致してからメモリ63に書き込んだデータを読出して(9)、Slave 20に送信する機能(10)を有する。
【0138】
したがって、タイムスタンプ情報t_stamp (S)を1にすることで、Master 10が設定した時間情報に応じたタイミングで、Slave 20にGPIO信号を送信することができる。また、後述するように、Slave 20、M_SerDes 100、S_SerDes 200がそれぞれ複数台設けられている場合、Master 10が設定した時間情報に応じて、同じタイミングで、各Slave 20にGPIO信号を送信することができる。
【0139】
また、デエンカプセレータ260は、カプセル化解除後(6)に入出力バッファ203,204の設定情報(U)が含まれていた場合は、その内容に従って入出力バッファ203,204の設定を行う機能と、カプセル化解除(6)に新しいGPIOヘッダ情報((T)~(W))が含まれていた場合は、新しいGPIOヘッダ情報をコントローラ201に送信する機能をもつ。
【0140】
コントローラ201は、受信したGPIOパケット内にタイマ202への時刻制御命令が含まれていた場合、この時刻制御命令に含まれている新しい設定時間をタイマ202に反映することで、タイマ12とタイマ202の時刻を同期させることができる。
【0141】
(エッジサンプリング時のS_SerDes 200の動作)
図18はエッジサンプリング時にS_SerDes 200が送受するUP (Down)パケットを示す図である。S_SerDes 200内のエンカプセレータ250は、タイマ202から入力される時間情報と、コントローラ201から送信されるGPIOヘッダ情報((R),(T),(V),(X))に基づいてSlave 20からのGPIO信号(1)を指定されたサンプリング周期(V)でサンプリング(2)し、指定されたGPIOモード(T)でエンコードする(3)ことでサンプリングデータ(Y)に変換し、サンプリングデータ(Y)にGPIOヘッダ情報((R),(T),(V),(X))とコントローラ201から送信される時間情報やタイムスタンプ情報t_stamp (S)を加えてカプセル化して、CRC(Q)を付けて、LINK 220へパケット(4)を送信する機能をもつ。
【0142】
デエンカプセレータ260 は、LINK 220からの入力信号(5)をコントローラ201から送信されるGPIOヘッダ情報((R),(T),(V))でカプセル化解除して、サンプリングデータ(Y)を取り出し(6)、サンプリングデータ(Y)のパケットから元のGPIO信号へ復元し(8)、メモリ63に書き込む。また、デエンカプセレータ260は、タイマ202から入力される時間情報とタイムスタンプ情報t_stamp (S)の直後の時間情報が一致してからメモリ63に書き込んだデータを読出して(9)、Slave 20に送信する機能(10)と、カプセル化解除(6)に入出力バッファ203, 204に繋がるピンの設定情報(U)が含まれていた場合は、その内容に従って入出力バッファ203,204の設定を行う機能と、カプセル化解除(6)に新しいGPIOヘッダ情報((R),(T),(V))が含まれていた場合は、新しいGPIOヘッダ情報をコントローラ201に送信する機能をもつ。
【0143】
(S_SerDes 200内のデエンカプセレータ260のGPIO制御)
デエンカプセレータ260は、LINK 220からのパケット(5)を、コントローラ201から送信されるGPIOヘッダ情報((T)~(X)又は(R),(T),(V))でカプセル化解除し、サンプリングデータ(Y)を取り出し(6)、サンプリングデータ(Y)のパケットから元のGPIO信号へ復元し(8)、メモリ63に書き込む。
【0144】
図19はデエンカプセレータ260に入力されるパケットのデータ構成を示す図である。デエンカプセレータ260は、タイマ202から入力される時間情報とタイムスタンプ情報t_stamp (S)の直後の時間情報が一致すると、メモリ63に書き込んだデータを読出して(9)、Slave 20に送信する機能(10)をもつ。また、デエンカプセレータ260は、カプセル化解除(6)に入出力バッファ203,204に繋がるピンの設定情報(U)が含まれていた場合は、その内容に従って入出力バッファ203,204の設定を行う機能と、カプセル化解除(6)に新しいGPIOヘッダ情報((T)~(X)又は(R),(T),(V))が含まれていた場合は、新しいGPIOヘッダ情報をコントローラ201へ送信する機能をもつ。
【0145】
デエンカプセレータ260は、パケット(5)をカプセル化解除して、その中に入出力バッファ203,204に繋がるピンの設定情報(U)又は(R)が含まれていた場合、該当するピンの設定情報(U)又は(R)を確認して、GPIO設定を行う。
【0146】
例えば、入出力バッファ203の設定情報(U)又は(R)がINであれば、GPIOとしてSlave 20からの出力が入力されるGPIO設定を行う。入出力バッファ204の設定情報(U)又は(R)がOUTであればGPOとしてSlave 20への入力信号を出力するGPIO設定を行う。入出力バッファ203, 204の外部でpull Upや pull Downされている場合は GPIO設定情報(U)又は(R)はIN_float (pullup/pulldown)となっている。
【0147】
なお、M_SerDes 100内のコントローラ101でも同様に入出力バッファ103, 104の設定を行うことが出来る。
【0148】
(システム時刻同期1/2)
図20は、Master 10内のタイマ12と、M_SerDes 100内のタイマ102と、S_SerDes 200内のタイマ202との時刻同期を行う手順(1)~(6)を示す図である。
【0149】
(1) Master 10は、Master 10のタイマ12とM_SerDes 100のタイマ102と時刻同期を行う時刻制御命令をI2C経由でコントローラ101へ送る。
【0150】
(2) M_SerDes 100は受信命令に応じてMaster 10のタイマ12と同じ時刻になるようにタイマ102の設定を行う。
【0151】
(3) Master 10はMaster 10のタイマ12とS_SerDes 200のタイマ202の時刻同期を行う時刻制御命令をM_SerDes 100のエンカプセレータ150でプロトコルXの形式でカプセル化する。
【0152】
(4) プロトコルXの形式でカプセル化された時刻制御命令はS_SerDes 200へ送信される。
【0153】
(5) S_SerDes 200のデエンカプセレータ260でカプセル化が解除され時刻制御命令に戻され、S_SerDes 200のコントローラ201へ送信される。
【0154】
(6) コントローラ201は受信命令に応じてMaster 10のタイマ12と同じ時刻になるようにタイマ202の設定を行う。
以上により 各timer(12,102,202)の時刻同期が可能となる。
【0155】
(システム時刻同期2/2)
図21は、Master 10内のタイマ12と、M_SerDes 100, 400内のタイマ102, 402と、S_SerDes 200, 500内のタイマ202, 502の時刻同期を行う手順(7)~(12)を示す図である。
【0156】
(7)Master 10はMaster 10のタイマ12とM_SerDes 100, 400のtimer 102, 402と時刻同期を行う時刻制御命令をコントローラ101, 401へ送る。
【0157】
(8) M_SerDes 100, 400は受信命令に応じてMaster 10のタイマ12と同じ時刻になるようにtimer102, 402の設定を行う。
【0158】
(9) Master 10はMaster 10のタイマ12とS_SerDes 200, 500のタイマ202, 502の時刻同期を行う時刻制御命令をM_SerDes 100, 400のエンカプセレータ150, 450でプロトコルXの形式でカプセル化する。
【0159】
(10) プロトコルXの形式でカプセル化された時刻制御命令はS_SerDes 200, 500へ送信される。
【0160】
(11) S_SerDes 200, 500のデエンカプセレータ160, 560でカプセル化が解除され時刻制御命令に戻され、S_SerDes 200, 500のコントローラ201, 501へ送信される。
【0161】
(12) コントローラ201, 501は受信命令に応じてMaster 10のタイマ12と同じ時刻になるようにタイマ502の設定を行う。
【0162】
以上により、各タイマ12, 402, 502の時刻同期が可能となる。よって、各タイマ12, 102, 202, 402, 502が時刻同期されることでシステム全体の時刻同期が可能となり、Master 10からの命令実行開始時間をシステム内の複数デバイスで同期可能となる。
【0163】
(本実施形態の効果)
本実施形態に係るM_SerDes 100とS_SerDes 200は、必要に応じて、フルサンプリングとエッジサンプリングのいずれかで、Master 10又はSlave 20からのGPIO信号をサンプリングすることができる。例えば、GPIO信号のトグル率が高い場合には、フルサンプリングを選択することにより、GPIO信号の取りこぼしをなくすことができる。また、GPIO信号のトグル率が低い場合には、エッジサンプリングを選択することにより、GPIO信号の開始点と論理変化点の情報のみを取得でき、データ量を削減でき、効率よくデータを伝送できる。
【0164】
本実施形態に係るM_SerDes 100はMaster 10との間でGPIO通信を行い、S_SerDes 200はSlave 20との間でGPIO通信を行う一方で、M_SerDes 100とS_SerDes 200の間では、所定の通信プロトコルXにてシリアル信号伝送を行うことができる。所定の通信プロトコルXは、例えば半二重通信方式のTDD方式であり、GPIO通信は全二重通信方式である。そこで、M_SerDes 100とS_SerDes 200は、全二重通信方式の信号を半二重通信方式のパケットに変換して、高速シリアル通信を行うことができる。
【0165】
また、M_SerDes 100は、S_SerDes 200との通信を開始する前に、Master 10からGPIO通信とは異なる通信方式にて送信されたGPIO設定情報に基づいて、S_SerDes 100に送信するためのパケットを生成することができる。このGPIO設定情報は、パケットのGPIOヘッダ情報に含められるため、S_SerDes 100にて容易に取得できる。よって、S_SerDes 100は、Master 10からのGPIO設定情報に基づいて、パケットからGPIO信号を取り出したり、Slave 20からのGPIO信号をパケットに変換することができる。
【0166】
なお、本技術は以下のような構成を取ることができる。
(1)開始点となるタイムスタンプと、前記開始点を起点とする前記タイムスタンプの単位周期とを決定するコントローラと、
前記開始点を起点として、MasterからのGPIO (General Purpose Input/Output)信号を、前記タイムスタンプに同期させて、一定のサンプリング周期でサンプリングされた全てのサンプリングデータ又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含む第1のGPIOパケットを生成するエンカプセレータと、
前記第1のGPIOパケットを含むUp linkパケットを生成するLINKと、
前記Up linkパケットを含む所定の通信プロトコルに準拠した伝送信号を通信相手装置に送信するPHYと、を備える、通信装置。
(2)前記コントローラは、第1のモードまたは第2のモードを指定するサンプリングモード情報とタイムスタンプとサンプリング周期とを含むGPIO設定情報を前記Masterから受信し、
前記エンカプセレータは、
前記第1のモードでは、前記開始点を起点とする前記サンプリング周期で、前記Masterから受信した第1のGPIO信号をサンプリングした全ての前記サンプリングデータを含む前記第1のGPIOパケットを生成し、
前記第2のモードでは、第1のサンプリングタイミングでサンプリングした前記サンプリングデータの値が、前記第1のサンプリングタイミングから前記サンプリング周期が経過した第2のサンプリングタイミングでサンプリングした前記サンプリングデータの値と異なる場合に、前記第2のサンプリングタイミングでサンプリングした前記サンプリングデータと、前記第2のサンプリングタイミングを示す第1の時間情報と、を含む前記第1のGPIOパケットを生成する、(1)に記載の通信装置。
(3)第2のGPIO信号を生成して前記Masterに送信するデエンカプセレータをさらに備え、
前記PHYは、前記所定の通信プロトコルに準拠した伝送信号を前記通信相手装置から受信し、
前記LINKは、第2のGPIOパケットを前記伝送信号から分離し、
前記デエンカプセレータは、前記モード情報と前記開始点と前記サンプリング周期と前記第2のGPIOパケットとに基づいて、前記第2のGPIO信号を再生する、(2)に記載の通信装置。
(4)前記デエンカプセレータは、
前記第1のモードでは、1以上のサンプリングデータが前記第2のGPIOパケットに含まれており、前記開始点を起点として前記サンプリング周期が経過するたびにサンプリングするサンプリングデータのそれぞれに、前記第2のGPIOパケットに含まれるサンプリングデータのそれぞれを割り当てて、前記第2のGPIO信号を再生し、
前記第2のモードでは、1以上のサンプリングデータのそれぞれがサンプリングタイミングを示す第2の時間情報と紐づけて前記第2のGPIOパケットに含まれており、前記第2の時間情報が示すサンプリングタイミングで、前記第2の時間情報に対応する前記サンプリングデータを割り当てて、前記第2のGPIOパケット内の次の前記第2の時間情報のサンプリングタイミングまでは、前記サンプリング周期ごとに同一の前記サンプリングデータを割り当てる処理を繰り返して、前記第2のGPIO信号を再生する、(3)に記載の通信装置。
(5)前記Master内の第1タイマと同期した時間情報を出力する第2タイマを備え、
前記デエンカプセレータは、前記第2のGPIO信号を記憶するメモリを有し、
前記第2のGPIOパケットは、前記第2のGPIO信号の出力タイミングに関するタイムスタンプ情報を含んでおり、
前記デエンカプセレータは、前記タイムスタンプ情報が第1の値のときは、前記第2のGPIO信号を前記メモリに記憶することなく前記Masterに送信し、前記タイムスタンプ情報が第2の値のときは、前記第2のGPIO信号を前記メモリに記憶し、前記第2タイマの時間情報が前記第2のGPIOパケット内の前記タイムスタンプ情報の後に挿入される時間情報と一致すると、前記メモリから前記第2のGPIO信号を読み出して、前記Masterに送信する、(3)又は(4)に記載の通信装置。
(6)前記コントローラは、前記MasterとのGPIO通信を開始する前に、前記MasterからGPIO通信とは異なる通信方式にて送信された前記GPIO設定情報に基づいて、前記エンカプセレータが前記パケットを生成する制御を行う、(2)乃至(5)のいずれか一項に記載の通信装置。
(7)前記GPIO設定情報は、前記GPIO信号のサンプリング周波数情報と、GPIOピン設定情報と、GPIO構成情報と、前記サンプリングされたデータのデータ長情報と、の少なくとも一つを含む、(6)に記載の通信装置。
(8)前記エンカプセレータは、前記サンプリングモード情報と、前記サンプリング周波数情報と、前記GPIOピン設定情報と、GPIO構成情報と、前記データ長情報との少なくとも一つを含むヘッダ情報を含む前記第1のGPIOパケットを生成する、(6)に記載の通信装置。
(9)前記GPIO構成情報は、GPIO通信を行うピンの数と、前記GPIOピン設定情報と、GPIO通信情報を格納するタイムスロットとを含む、(8)に記載の通信装置。
(10)前記エンカプセレータは、前記サンプリングされたデータを含むパケットを前記通信相手装置に送信する前に、前記サンプリングされたデータを含まずに前記ヘッダ情報を含む前記第1のGPIOパケットを生成する、(8)又は(9)に記載の通信装置。
(11)前記エンカプセレータは、前記サンプリングされたデータを含まずに前記ヘッダ情報を含む前記第1のGPIOパケットと、前記ヘッダ情報と前記サンプリングされたデータとを含む前記第1のGPIOパケットと、前記ヘッダ情報を含まずに前記サンプリングされたデータを含む前記第1のGPIOパケットとの少なくとも一つを生成する、(8)又は(9)に記載の通信装置。
(12)前記エンカプセレータは、前記第1のGPIOパケットにタイムスタンプ情報と誤り検知情報との少なくとも一方を付加する、(11)に記載の通信装置。
(13)前記通信プロトコルは、TDD (Time Division Duplex)通信方式の通信プロトコルであり、
前記単位周期は、前記TDD通信方式の1フレーム期間である、(1)乃至(12)のいずれか一項に記載の通信装置。
(14)所定の通信プロトコルに準拠した伝送信号を通信相手装置から受信するPHYと、
時刻制御命令を含む第1のGPIOパケットを前記伝送信号から分離するLINKと、
前記時刻制御命令に基づいて開始点を決定するコントローラと、
前記第1のGPIOパケット内のヘッダ情報に含まれるサンプリングモード情報が、Masterから送信されたGPIO (General Purpose Input/Output)信号を一定のサンプリング周期でサンプリングした全てのサンプリングデータを含むことを示す第1のモードであるか、又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含むことを示す第2のモードであるかを判別して、前記第1のGPIOパケットを第1のGPIO信号に変換してSlaveに送信するデエンカプセレータと、を備える、通信装置。
(15)前記デエンカプセレータは、
前記第1のモードでは、1以上のサンプリングデータが前記第1のGPIOパケットに含まれており、前記開始点を起点として前記サンプリング周期が経過するたびにサンプリングするサンプリングデータのそれぞれに、前記第1のGPIOパケットに含まれるサンプリングデータのそれぞれを割り当てて、前記第1のGPIO信号を再生し、
前記第2のモードでは、1以上のサンプリングデータのそれぞれがサンプリングされたサンプリングタイミングを示す第1の時間情報と紐づけて前記第1のGPIOパケットに含まれており、前記第1の時間情報が示すサンプリングタイミングで、前記第1の時間情報に対応する前記サンプリングデータを割り当てて、前記第1のGPIOパケット内の次の前記第1の時間情報のサンプリングタイミングまでは、前記サンプリング周期ごとに同一の前記サンプリングデータを割り当てる処理を繰り返して、前記第1のGPIO信号を再生する、(14)に記載の通信装置。
(16)前記Master内の第1タイマと同期した時間情報を出力する第2タイマを備え、
前記デエンカプセレータは、前記第1のGPIO信号を記憶するメモリを有し、
前記第1のGPIOパケットは、前記第1のGPIO信号の出力タイミングに関するタイムスタンプ情報を含んでおり、
前記デエンカプセレータは、前記タイムスタンプ情報が第1の値のときは、前記第1のGPIO信号を前記メモリに記憶することなく前記Slaveに送信し、前記タイムスタンプ情報が第2の値のときは、前記第1のGPIO信号を前記メモリに記憶し、前記第2タイマの時間情報が前記第1のGPIOパケット内の前記タイムスタンプ情報の後に挿入される時間情報と一致すると、前記メモリから前記第1のGPIO信号を読み出して、前記Slaveに送信する、(14)又は(15)に記載の通信装置。
(17)開始点を起点として、前記Slaveからの第2のGPIO信号を、一定のサンプリング周期又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含む第2のGPIOパケットを生成するエンカプセレータを備える、(14)乃至(16)のいずれか一項に記載の通信装置。
(18)前記エンカプセレータは、
前記第1のモードでは、前記開始点を起点とする前記サンプリング周期で、前記Slaveから受信した前記第2のGPIO信号をサンプリングした全ての前記サンプリングデータを含む前記第2のGPIOパケットを生成し、
前記第2のモードでは、第1のサンプリングタイミングでサンプリングした前記サンプリングデータの値が、前記第1のサンプリングタイミングから前記サンプリング周期が経過した第2のサンプリングタイミングでサンプリングした前記サンプリングデータの値と異なる場合に、前記第2のサンプリングタイミングでサンプリングした前記サンプリングデータと、前記第2のサンプリングタイミングを示す時間情報と、を含む前記第2のGPIOパケットを生成する、(17)に記載の通信装置。
(19)前記コントローラは、前記SlaveとGPIO通信を開始する前に、前記Masterから前記通信相手装置を介して送信されたGPIOピン設定情報に基づいて、GPIOピンの入出力制御を行う、(14)乃至(18)のいずれか一項に記載の通信装置。
(20)前記ヘッダ情報は、サンプリング周波数情報と、GPIOピン設定情報と、GPIO構成情報と、前記サンプリングされたデータのデータ長情報と、の少なくとも一つを含む、(14)乃至(19)のいずれか一項に記載の通信装置。
(21)前記通信プロトコルは、TDD (Time Division Duplex)通信方式の通信プロトコルである、(14)乃至(20)のいずれか一項に記載の通信装置。
(22)所定の通信プロトコルによりシリアル通信を行うMaster SerDes及びSlave SerDesを備え、
前記Master SerDesは、
開始点となるタイムスタンプと、前記開始点を起点とする前記タイムスタンプの単位周期とを決定する第1コントローラと、
前記開始点を起点として、MasterからのGPIO (General Purpose Input/Output)信号を、前記タイムスタンプに同期させて、一定のサンプリング周期でサンプリングされた全てのサンプリングデータ又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含む第1のGPIOパケットを生成する第1エンカプセレータと、
前記第1のGPIOパケットを含むUp linkパケットを生成する第1LINKと、
前記Up linkパケットを含む所定の通信プロトコルに準拠した伝送信号を通信相手装置に送信する第1PHYと、を有し、
前記Slave SerDesは、
前記所定の通信プロトコルに準拠した伝送信号を通信相手装置から受信する第2PHYと、
時刻制御命令を含む第2のGPIOパケットを前記伝送信号から分離する第2LINKと、
時刻制御命令に基づいて開始点を決定する第2コントローラと、
前記第2のGPIOパケット内のヘッダ情報に含まれるサンプリングモード情報が、Masterから送信された第2のGPIO信号を一定のサンプリング周期でサンプリングした全てのサンプリングデータを含むことを示す第1のモードであるか、又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含むことを示す第2のモードであるかを判別して、前記第2のGPIOパケットを前記第2のGPIO信号に変換してSlaveに送信する第1デエンカプセレータと、を有する、通信システム。
(23)Master SerDes及びSlave SerDesが所定の通信プロトコルによりシリアル通信を行う通信方法であって、
前記Master SerDesは、
開始点となるタイムスタンプと、前記開始点を起点とする前記タイムスタンプの単位周期とを決定し、
前記開始点を起点として、MasterからのGPIO信号を、前記タイムスタンプに同期させて、一定のサンプリング周期でサンプリングされた全てのサンプリングデータ又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含む第1のGPIOパケットを生成し、
前記第1のGPIOパケットを含むUp linkパケットを生成し、
前記Up linkパケットを含む所定の通信プロトコルに準拠した伝送信号を前記Slave SerDesに送信し、
前記Slave SerDesは、
前記所定の通信プロトコルに準拠した伝送信号を通信相手装置から受信し、
時刻制御命令を含む第2のGPIOパケットを前記伝送信号から分離し、
時刻制御命令に基づいて開始点を決定する第2コントローラと、
前記第2のGPIOパケットに含まれるヘッダ情報に含まれるサンプリングモード情報が、Masterからの第2のGPIO信号を一定のサンプリング周期でサンプリングされた全てのサンプリングデータを含むことを示す第1のモードであるか、又は前記GPIO信号の論理変化の頻度に応じたサンプリング間隔でサンプリングされたサンプリングデータ及びサンプリング位置情報を含むことを示す第2のモードであるかを判別して、前記第2のGPIOパケットを前記第2のGPIO信号に変換してSlaveに送信する、通信方法。
【0167】
本開示の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本開示の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。
【符号の説明】
【0168】
1 通信システム、6 伝送経路、10 Master、11 コントローラ、12 タイマ、13 入出力バッファ、21 コントローラ、22 タイマ、23 入出力バッファ、51 Encコア、52 エンコーダ、53 サンプラ、61 DeEncコア、62 デコーダ、63 メモリ、64 セレクタ、100 M_SerDes、101 コントローラ、102 タイマ、103 入出力バッファ、110 PHY、120 LINK、150 エンカプセレータ、160 デカプセレータ、160 デエンカプセレータ、200 S_SerDes、201 コントローラ、202 タイマ、203 入出力バッファ、204 入出力バッファ、210 PHY、220 LINK、250 エンカプセレータ、260 デエンカプセレータ、270 I2Cコントローラ、400 M_SerDes、401 コントローラ、402 タイマ、450 エンカプセレータ、500 S_SerDes、501 コントローラ、502 タイマ
図1
図2A
図2B
図3
図4
図5
図6
図7
図8
図9A
図9B
図9C
図10
図11
図12
図13
図14
図15
図16
図17
図18
図19
図20
図21