(19)【発行国】日本国特許庁(JP)
(12)【公報種別】特許公報(B2)
(11)【特許番号】
(24)【登録日】2024-09-06
(45)【発行日】2024-09-17
(54)【発明の名称】インター集積回路ベースの通信方法および装置
(51)【国際特許分類】
H04L 69/04 20220101AFI20240909BHJP
【FI】
H04L69/04
(21)【出願番号】P 2023517666
(86)(22)【出願日】2020-09-17
(86)【国際出願番号】 CN2020115996
(87)【国際公開番号】W WO2022056793
(87)【国際公開日】2022-03-24
【審査請求日】2023-04-21
(73)【特許権者】
【識別番号】503433420
【氏名又は名称】華為技術有限公司
【氏名又は名称原語表記】HUAWEI TECHNOLOGIES CO.,LTD.
【住所又は居所原語表記】Huawei Administration Building, Bantian, Longgang District, Shenzhen, Guangdong 518129, P.R. China
(74)【代理人】
【識別番号】100107766
【氏名又は名称】伊東 忠重
(74)【代理人】
【識別番号】100070150
【氏名又は名称】伊東 忠彦
(74)【代理人】
【識別番号】100135079
【氏名又は名称】宮崎 修
(72)【発明者】
【氏名】バオ,ペンシン
(72)【発明者】
【氏名】ウエン,ハイボ
【審査官】宮島 郁美
(56)【参考文献】
【文献】国際公開第2015/155242(WO,A1)
【文献】特開2020-010395(JP,A)
【文献】特表2015-513805(JP,A)
【文献】国際公開第2016/208038(WO,A1)
(58)【調査した分野】(Int.Cl.,DB名)
H04L12/00-12/66,13/00,41/00-49/9057,61/00-65/80,69/00-69/40
(57)【特許請求の範囲】
【請求項1】
インター集積回路I
2Cベースの通信方法であって、当該通信方法は:
第1のデバイスによって、データ・パケットを生成する段階であって、前記データ・パケットはパケット・ヘッダおよびロードを含み、前記パケット・ヘッダは第1のフィールドを含み、前記第1のフィールドはI
2Cステータスを示すために使用され、前記I
2Cステータスは:データ伝送の開始、データ伝送の継続、データ伝送の停止、確認応答ACK、または否定確認応答NACKのいずれか一つを含み、前記ロードの長さは0ビット以上である、段階と;
前記第1のデバイスによって、前記データ・パケットを第2のデバイスに送信する段階とを含む、
通信方法。
【請求項2】
前記第1のフィールドの値は、次のいくつかの値:
前記I
2Cステータスが前記データ伝送の開始であることを示すために使用される第1の値;
前記I
2Cステータスが前記データ伝送の継続であることを示すために使用される第2の値;
前記I
2Cステータスが前記データ伝送の停止であることを示すために使用される第3の値;
前記I
2Cステータスが前記ACKであることを示すために使用される第4の値;および
前記I
2Cステータスが前記NACKであることを示すために使用される第5の値
のうちの一つまたは複数を含む、請求項1に記載の通信方法。
【請求項3】
前記第1のフィールドが前記I
2Cステータスが前記データ伝送の開始であることを示し、前記ロードはスレーブ・デバイスのスレーブ・アドレスおよび読み取り/書き込みフラグを搬送する、請求項1または2に記載の通信方法。
【請求項4】
前記スレーブ・アドレスが7ビットによって示され、前記読み取り/書き込みフラグが1ビットによって示される、請求項3に記載の通信方法。
【請求項5】
前記第1のフィールドが前記I
2Cステータスが前記データ伝送の継続であることを示し、前記ロードはI
2Cデータを搬送する、請求項1または2に記載の通信方法。
【請求項6】
前記パケット・ヘッダがさらに第2のフィールドを含み、前記第2のフィールドがI
2Cインターフェースを識別するために使用される、請求項1ないし5のうちいずれか一項に記載の通信方法。
【請求項7】
前記第2のフィールドは、前記データ・パケットが属するフローのフロー識別子IDを示すために使用され、前記フローIDは少なくとも1つのI
2Cインターフェースに対応する、請求項6に記載の通信方法。
【請求項8】
前記パケット・ヘッダが第3のフィールドをさらに含み、前記第3のフィールドは前記データ・パケットがI
2Cベースのデータ・パケットであることを示すために使用される、請求項1ないし7のうちいずれか一項に記載の通信方法。
【請求項9】
前記第3のフィールドは第4のフィールドおよび第5のフィールドを含み、前記第4のフィールドは、前記データ・パケットのカプセル化サービス・タイプが制御サービスであることを第2のプリセット値によって示すために使用され、前記第5のフィールドは前記データ・パケットのデータ・フォーマットがI
2Cデータであることを第3のプリセット値によって示すために使用される、請求項8に記載の通信方法。
【請求項10】
インター集積回路I
2Cベースの通信方法であって、当該通信方法は:
第2のデバイスによって、第1のデバイスからデータ・パケットを受信する段階であって、前記データ・パケットはパケット・ヘッダおよびロードを含み、前記パケット・ヘッダは第1のフィールドを含み、前記第1のフィールドはI
2Cステータスを示すために使用され、前記I
2Cステータスは:データ伝送の開始、データ伝送の継続、データ伝送の停止、確認応答、または否定確認応答NACKのいずれか一つを含み、前記ロードの長さは0ビット以上である、段階と;
前記第2のデバイスによって、前記第1のフィールドに基づいて前記I
2Cステータスを決定する段階とを含む、
通信方法。
【請求項11】
前記第1のフィールドの値は、次の値:
前記I
2Cステータスが前記データ伝送の開始であることを示すために使用される第1の値;
前記I
2Cステータスが前記データ伝送の継続であることを示すために使用される第2の値;
前記I
2Cステータスが前記データ伝送の停止であることを示すために使用される第3の値;
前記I
2Cステータスが前記ACKであることを示すために使用される第4の値;および
前記I
2Cステータスが前記NACKであることを示すために使用される第5の値
のうちの一つまたは複数を含む、請求項10に記載の通信方法。
【請求項12】
前記第1のフィールドが前記I
2Cステータスが前記データ伝送の開始であることを示し、前記ロードはスレーブ・デバイスのスレーブ・アドレスおよび読み取り/書き込みフラグを搬送し;
当該通信方法はさらに:
前記第2のデバイスによって、少なくとも1つのI
2Cインターフェースで開始状態を生成する段階と;
前記少なくとも1つのI
2Cインターフェースを通じて、前記スレーブ・アドレスに対応する前記スレーブ・デバイスに、前記スレーブ・アドレスおよび前記読み取り/書き込みフラグを送信する段階とを含む、
請求項10または11に記載の通信方法。
【請求項13】
前記スレーブ・アドレスが7ビットによって示され、前記読み取り/書き込みフラグが1ビットによって示される、請求項12に記載の通信方法。
【請求項14】
前記第1のフィールドは前記I
2Cステータスが前記データ伝送の継続であることを示し、前記ロードはI
2Cデータを搬送し;
当該通信方法はさらに:
少なくとも1つのI
2Cインターフェースを通じて、スレーブ・アドレスが指すスレーブ・デバイスに前記I
2Cデータを送信する段階を含む、
請求項10または11に記載の通信方法。
【請求項15】
前記パケット・ヘッダがさらに第2のフィールドを含み、前記第2のフィールドがI
2Cインターフェースを識別するために使用される、請求項10ないし14のうちいずれか一項に記載の通信方法。
【請求項16】
前記第2のフィールドは、前記データ・パケットが属するフローのフロー識別子IDを示すために使用され、前記フローIDは少なくとも1つのI
2Cインターフェースに対応する、請求項15に記載の通信方法。
【請求項17】
前記パケット・ヘッダは第3のフィールドをさらに含み、前記第3のフィールドは前記データ・パケットがI
2Cベースのデータ・パケットであることを示すために使用される、請求項10ないし16のうちいずれか一項に記載の通信方法。
【請求項18】
前記第3のフィールドは第4のフィールドおよび第5のフィールドを含み、前記第4のフィールドは、前記データ・パケットのカプセル化サービス・タイプが制御サービスであることを第2のプリセット値によって示すために使用され、前記第5のフィールドは前記データ・パケットのデータ・フォーマットがI
2Cデータであることを第3のプリセット値によって示すために使用される、請求項17に記載の通信方法。
【請求項19】
インター集積回路I
2Cベースの通信装置であって、当該通信装置は:
データ・パケットを生成するように構成された処理モジュールであって、前記データ・パケットはパケット・ヘッダおよびロードを含み、前記パケット・ヘッダは第1のフィールドを含み、前記第1のフィールドはI
2Cステータスを示すために使用され、前記I
2Cステータスは:データ伝送の開始、データ伝送の継続、データ伝送の停止、確認応答ACK、または否定確認応答NACKのうちのいずれか一つを含み、前記ロードの長さは0ビット以上である、処理モジュールと;
前記データ・パケットを第2のデバイスに送信するように構成された送信モジュールとを有する、
通信装置。
【請求項20】
前記第1のフィールドの値は、次のいくつかの値:
前記I
2Cステータスが前記データ伝送の開始であることを示すために使用される第1の値;
前記I
2Cステータスが前記データ伝送の継続であることを示すために使用される第2の値;
前記I
2Cステータスが前記データ伝送の停止であることを示すために使用される第3の値;
前記I
2Cステータスが前記ACKであることを示すために使用される第4の値;および
前記I
2Cステータスが前記NACKであることを示すために使用される第5の値
のうちの一つまたは複数を含む、請求項19に記載の通信装置。
【請求項21】
前記第1のフィールドは前記I
2Cステータスが前記データ伝送の開始であることを示し、前記ロードはスレーブ・デバイスのスレーブ・アドレスおよび読み取り/書き込みフラグを搬送する、請求項19または20に記載の通信装置。
【請求項22】
前記スレーブ・アドレスが7ビットによって示され、前記読み取り/書き込みフラグが1ビットによって示される、請求項21に記載の通信装置。
【請求項23】
前記第1のフィールドは前記I
2Cステータスが前記データ伝送の継続であることを示し、前記ロードはI
2Cデータを搬送する、請求項19または20に記載の通信装置。
【請求項24】
前記パケット・ヘッダがさらに第2のフィールドを含み、前記第2のフィールドがI
2Cインターフェースを識別するために使用される、請求項19ないし23のうちいずれか一項に記載の通信装置。
【請求項25】
前記第2のフィールドは、前記データ・パケットが属するフローのフロー識別子IDを示すために使用され、前記フローIDは少なくとも1つのI
2Cインターフェースに対応する、請求項24に記載の通信装置。
【請求項26】
前記パケット・ヘッダは第3のフィールドをさらに含み、前記第3のフィールドは前記データ・パケットがI
2Cベースのデータ・パケットであることを示すために使用される、請求項19ないし25のうちいずれか一項に記載の通信装置。
【請求項27】
前記第3のフィールドは第4のフィールドおよび第5のフィールドを含み、前記第4のフィールドは、前記データ・パケットのカプセル化サービス・タイプが制御サービスであることを第2のプリセット値によって示すために使用され、前記第5のフィールドは前記データ・パケットのデータ・フォーマットがI
2Cデータであることを第3のプリセット値によって示すために使用される、請求項26に記載の通信装置。
【請求項28】
インター集積回路I
2Cベースの通信装置であって、当該通信装置は:
第1のデバイスからデータ・パケットを受信するように構成された受信モジュールであって、前記データ・パケットはパケット・ヘッダおよびロードを含み、前記パケット・ヘッダは第1のフィールドを含み、前記第1のフィールドはI
2Cステータスを示すために使用され、前記I
2Cステータスは:データ伝送の開始、データ伝送の継続、データ伝送の停止、確認応答ACK、または否定確認応答NACKのうちのいずれか一つを含み、前記ロードの長さは0ビット以上である、受信モジュールと;
前記第1のフィールドに基づいて前記I
2Cステータスを判別するように構成された処理モジュールとを有する、
通信装置。
【請求項29】
前記第1のフィールドの値は、次のいくつかの値:
前記I
2Cステータスが前記データ伝送の開始であることを示すために使用される第1の値;
前記I
2Cステータスが前記データ伝送の継続であることを示すために使用される第2の値;
前記I
2Cステータスが前記データ伝送の停止であることを示すために使用される第3の値;
前記I
2Cステータスが前記ACKであることを示すために使用される第4の値;および
前記I
2Cステータスが前記NACKであることを示すために使用される第5の値
のうちの一つまたは複数を含む、請求項28に記載の通信装置。
【請求項30】
前記第1のフィールドが前記I
2Cステータスが前記データ伝送の開始であることを示し、前記ロードはスレーブ・デバイスのスレーブ・アドレスおよび読み取り/書き込みフラグを搬送し;
前記処理モジュールはさらに:
少なくとも1つのI
2Cインターフェースで開始状態を生成し;
前記少なくとも1つのI
2Cインターフェースを通じて、前記スレーブ・アドレスが指す前記スレーブ・デバイスに、前記スレーブ・アドレスおよび前記読み取り/書き込みフラグを送信するように構成される、
請求項28または29に記載の通信装置。
【請求項31】
前記スレーブ・アドレスが7ビットによって示され、前記読み取り/書き込みフラグが1ビットによって示される、請求項30に記載の通信装置。
【請求項32】
前記第1のフィールドは前記I
2Cステータスが前記データ伝送の継続であることを示し、前記ロードはI
2Cデータを搬送し;
前記処理モジュールはさらに:
少なくとも1つのI
2Cインターフェースを通じて、スレーブ・アドレスに対応するスレーブ・デバイスに前記I
2Cデータを送信するように構成される、
請求項28または29に記載の通信装置。
【請求項33】
前記パケット・ヘッダがさらに第2のフィールドを含み、前記第2のフィールドがI
2Cインターフェースを識別するために使用される、請求項28ないし32のうちいずれか一項に記載の通信装置。
【請求項34】
前記第2のフィールドは、前記データ・パケットが属するフローのフロー識別子IDを示すために使用され、前記フローIDは少なくとも1つのI
2Cインターフェースに対応する、請求項33に記載の通信装置。
【請求項35】
前記パケット・ヘッダは第3のフィールドをさらに含み、前記第3のフィールドは前記データ・パケットがI
2Cベースのデータ・パケットであることを示すために使用される、請求項28ないし34のうちいずれか一項に記載の通信装置。
【請求項36】
前記第3のフィールドは第4のフィールドおよび第5のフィールドを含み、前記第4のフィールドは、前記データ・パケットのカプセル化サービス・タイプが制御サービスであることを第2のプリセット値によって示すために使用され、前記第5のフィールドは前記データ・パケットのデータ・フォーマットがI
2Cデータであることを第3のプリセット値によって示すために使用される、請求項35に記載の通信装置。
【請求項37】
少なくとも1つのプロセッサと、該少なくとも1つのプロセッサに通信接続されたメモリおよび通信インターフェースとを有する装置であって、
前記メモリは前記少なくとも1つのプロセッサによって実行されることができる命令を記憶しており、前記少なくとも1つのプロセッサは、前記メモリに記憶された前記命令を実行し、それにより、当該装置は、前記通信インターフェースを使用して、請求項1ないし9または10ないし18のうちいずれか一項に記載の方法を実行する、
装置。
【請求項38】
プロセッサとインターフェース回路とを有する装置であって、前記インターフェース回路はコード命令を受領して該コード命令を前記プロセッサに送信するように構成されており、前記プロセッサは前記コード命令を実行して請求項1ないし9または10ないし18のうちいずれか一項に記載の方法を実行する、装置。
【請求項39】
コンピュータ読み取り可能な記憶媒体であって、当該コンピュータ読み取り可能な記憶媒体は命令を記憶するように構成されており、前記命令が実行されると、請求項1ないし9または10ないし18のうちいずれか一項に記載の方法が実施される、コンピュータ読み取り可能な記憶媒体。
【請求項40】
第1のデバイスと第2のデバイスを有する通信システムであって、前記第1のデバイスが請求項1ないし9のうちいずれか一項に記載の方法を実行するように構成され、前記第2のデバイスが請求項10ないし18のうちいずれか一項に記載の方法を実行するように構成されている、通信システム。
【請求項41】
前記第1のデバイスは一つまたは複数のI
2
Cインターフェースをサポートし、前記第2のデバイスは一つまたは複数のI
2
Cインターフェースをサポートし、前記データ・パケットは一つまたは複数のI2C伝送チャネルに基づいて前記第1のデバイスと前記第2のデバイスの間で伝送される、請求項1ないし9のうちいずれか一項に記載の通信方法。
【発明の詳細な説明】
【技術分野】
【0001】
本願は、通信技術の分野、特に、インター集積回路(Inter Integrated Circuit、I2C)ベースの通信方法および装置に関する。
【背景技術】
【0002】
インター集積回路(Inter Integrated Circuit、I2C)バスは、プリント基板(Printed Circuit Board、PCB)上にルーティングされた短距離伝送用の低速シリアル・バスであり、マイクロコントローラと該マイクロコントローラの周辺デバイスを、I2C信号を伝送するために接続するように構成されている。
【0003】
I2Cバスは、複数の可能なシナリオで使用されてもよく、たとえば、車両内ネットワークでの伝送シナリオで使用されてもよい。ただし、いくつかの車両内ネットワーク・シナリオでは、周辺デバイスとマイクロコントローラとの間の伝送距離は長い。たとえば、カメラ(つまり周辺デバイス)はフロントガラス、リアバンパー、またはドアポストに搭載され、マイクロコントローラは車両内に搭載される。そのため、I2C信号は、透明な伝送のために長距離伝送をサポートするデータ・パケットにカプセル化される必要がある。I2C信号の透明な伝送の際に必要とされる帯域幅をいかにして削減し、伝送効率を改善するかが、本願において解決されるべき問題である。
【発明の概要】
【発明が解決しようとする課題】
【0004】
本願は、I2C信号を伝送するために必要とされる帯域幅を削減し、伝送効率を改善するために、I2Cベースの通信方法および装置を提供する。
【課題を解決するための手段】
【0005】
第1の側面によれば、I2Cベースの通信方法が提供される。この方法は、I2C通信をサポートするデバイスに適用されうる。たとえば、この方法は第1のデバイスに適用される。この方法は下記を含む:第1のデバイスがデータ・パケットを生成し、データ・パケットはパケット・ヘッダ部分およびロード部分を含み、パケット・ヘッダ部分は第1のフィールドを含み、第1のフィールドはI2Cステータスを示すために使用され、I2Cステータスはデータ伝送の開始、データ伝送の継続、データ伝送の停止、ACK、またはNACKのいずれか一つを含み、ロードの長さは0ビット以上であり、ロードの長さが0の場合、そのことは、データ・パケットがロードをもたないことを示し;第1のデバイスはデータ・パケットを第2のデバイスに送信する。
【0006】
本願のこの実施形態では、I2Cステータスは、データ・パケットのパケット・ヘッダにおける第1のフィールドを使用して示されるため、ロード部分は、I2Cステータスを搬送するために占有される必要がなく、よって、データ伝送の開始、データ伝送の継続、ACK、またはNACKなどの状態が、別個にデータ・パケット中にカプセル化される必要はなく、スレーブ・アドレス、読み取り/書き込みフラグ、I2Cデータなどと一緒に同じデータ・パケットにカプセル化される。そのため、伝送帯域幅が削減でき、伝送効率が改善できる。
【0007】
ある可能な実装では、第1のフィールドの値は、次の値のうちの一つまたは複数を含む:I2Cステータスがデータ伝送の開始であることを示すために使用される第1の値;I2Cステータスがデータ伝送の継続であることを示すために使用される第2の値;I2Cステータスがデータ伝送の停止であることを示すために使用される第3の値;I2CステータスがACKであることを示すために使用される第4の値;およびI2CステータスがNACKであることを示すために使用される第5の値。
【0008】
むろん、上記は限定ではなく単に例である。具体的な実装の際には、第1のフィールドはより多数またはより少数の値を有していてもよい。
【0009】
ある可能な実装では、第1のフィールドがI2Cステータスがデータ伝送の開始であることを示す場合、ロード部分はスレーブ・アドレスおよび読み取り/書き込みフラグを搬送する。
【0010】
つまり、データ伝送の開始を示す指示が、スレーブ・アドレスおよび読み取り/書き込みフラグと一緒に同じデータ・パケットにカプセル化されてもよく、伝送帯域幅が削減でき、伝送効率が改善できる。
【0011】
ある可能な実装では、第1のフィールドがI2Cステータスがデータ伝送の継続であることを示す場合、ロード部分はI2Cデータを搬送する。
【0012】
このように、第2のデバイスは、第1のフィールドに基づいて、I2Cステータスがデータ伝送の継続であることを判別し、さらに、データ・パケットのロードからI2Cデータをパースして切り出してもよく、それにより、この解決策の信頼性が改善できる。
【0013】
ある可能な実装では、データ・パケットのパケット・ヘッダ部分はさらに第2のフィールドを含んでいてもよく、第2のフィールドは、データ・パケットが属するフローのフローIDを示すために使用され、フローIDは少なくとも1つのI2Cインターフェースに対応する。
【0014】
フローIDとI2Cインターフェースの間の対応は、1対1、1対多、多対1、または多対多の関係でありうる。これは、本願では限定されない。
【0015】
このように、データ・パケットの伝送中に、(第1のデバイスまたは第2のデバイス内の)シリアライザーまたはデシリアライザーがフローIDを識別することによってI2Cインターフェースを区別し、データ・パケットを、伝送のために、データ・パケットのフローIDに対応するI2Cインターフェースに割り当てもよく、それにより、第1のデバイスと第2のデバイスの間で複数のI2Cインターフェース上での信号の同時伝送がサポートできる、よって、伝送効率がさらに改善できる。
【0016】
ある可能な実装では、データ・パケットのパケット・ヘッダ部分が第3のフィールドをさらに含んでいてもよく、第3のフィールドはデータ・パケットがI2Cベースのデータ・パケットであることを示すために使用される。
【0017】
第3のフィールドは、具体的には、1つのフィールドを使用して実装されてもよく、あるいは、複数のフィールドを使用して実装されてもよい。これは、ここでは限定されない。
【0018】
このようにして、第2のデバイスは、第3のフィールドに基づいて、データ・パケットがI2Cベースのデータ・パケットであることを判別し、さらにI2Cプロトコルに基づいてデータ・パケット内のデータを受信して処理してもよく、それにより、この解決策の信頼性がさらに改善できる。
【0019】
第2の側面によると、I2Cベースの通信方法が提供される。この方法は、I2C通信をサポートするデバイスに適用されてもよい。たとえば、この方法は第2のデバイスに適用される。この方法は下記を含む:第2のデバイスが、第1のデバイスからデータ・パケットを受信する。ここで、データ・パケットはパケット・ヘッダ部分およびロード部分を含み、パケット・ヘッダ部分は第1のフィールドを含み、第1のフィールドはI2Cステータスを示すために使用され、I2Cステータスは、データ伝送の開始、データ伝送の継続、データ伝送の停止、確認応答、または否定確認応答NACKのいずれか一つを含み、ロードの長さが0ビット以上であり;第2のデバイスは、第1のフィールドに基づいてI2Cステータスを決定する。
【0020】
ある可能な実装では、第1のフィールドの値は、次の値のうちの一つまたは複数を含む:I2Cステータスがデータ伝送の開始であることを示すために使用される第1の値;I2Cステータスがデータ伝送の継続であることを示すために使用される第2の値;I2Cステータスがデータ伝送の停止であることを示すために使用される第3の値;I2CステータスがACKであることを示すために使用される第4の値;およびI2CステータスがNACKであることを示すために使用される第5の値。
【0021】
むろん、上記は限定ではなく単に例である。具体的な実装の際には、第1のフィールドはより多数またはより少数の値を有していてもよい。
【0022】
ある可能な実装では、第1のフィールドがI2Cステータスがデータ伝送の開始であることを示し、ロード部分はスレーブ・デバイスのスレーブ・アドレスおよび読み取り/書き込みフラグを搬送する。対応して、I2Cステータスがデータ伝送の開始であることを判別した後、第2のデバイスはさらに、少なくとも1つのI2Cインターフェースで開始状態を生成し、該少なくとも1つのI2Cインターフェースを通じて、スレーブ・アドレスが指すスレーブ・デバイスに、スレーブ・アドレスおよび読み取り/書き込みフラグを送信してもよい。
【0023】
ある可能な実装では、第1のフィールドはI2Cステータスがデータ伝送の継続であることを示し、ロード部分はI2Cデータを搬送する。対応して、I2Cステータスがデータ伝送の継続であることを判別した後、第2のデバイスはさらに、少なくとも1つのI2Cインターフェースを通じて、スレーブ・アドレスが指すスレーブ・デバイスにI2Cデータを送信してもよい。
【0024】
ある可能な実装では、パケット・ヘッダ部分はさらに第2のフィールドを含み、第2のフィールドは、データ・パケットが属するフローのフロー識別子IDを示すために使用され、フローIDは少なくとも1つのI2Cインターフェースに対応する。
【0025】
フローIDとI2Cインターフェースの間の対応は、1対1、1対多、多対1、または多対多の関係でありうる。これは、本願では限定されない。
【0026】
ある可能な実装では、パケット・ヘッダ部分は第3のフィールドをさらに含み、第3のフィールドはデータ・パケットがI2Cベースのデータ・パケットであることを示すために使用される。
【0027】
第3のフィールドは、具体的には、1つのフィールドを使用して実装されてもよく、あるいは、複数のフィールドを使用して実装されてもよい。これは、ここでは限定されない。
【0028】
第3の側面によれば、I2Cベースの通信装置が提供される。この装置は、第1の側面または第1の側面の任意の可能な実装において提供される方法を実行するように構成されたモジュールを含む。
【0029】
たとえば、この装置は下記を含んでいてもよい:
データ・パケットを生成するように構成された処理モジュールであって、データ・パケットはパケット・ヘッダ部分およびロード部分を含み、パケット・ヘッダ部分は第1のフィールドを含み、第1のフィールドはI2Cステータスを示すために使用され、I2Cステータスは、データ伝送の開始、データ伝送の継続、データ伝送の停止、確認応答ACK、または否定確認応答NACKのうちのいずれか一つを含み、ロードの長さは0ビット以上である、処理モジュールと;
データ・パケットを第2のデバイスに送信するように構成された送信モジュール。
【0030】
ある可能な実装では、第1のフィールドの値は、次の値のうちの一つまたは複数を含む:I2Cステータスがデータ伝送の開始であることを示すために使用される第1の値;I2Cステータスがデータ伝送の継続であることを示すために使用される第2の値;I2Cステータスがデータ伝送の停止であることを示すために使用される第3の値;I2CステータスがACKであることを示すために使用される第4の値;およびI2CステータスがNACKであることを示すために使用される第5の値。
【0031】
ある可能な実装では、第1のフィールドはI2Cステータスがデータ伝送の開始であることを示し、ロード部分はスレーブ・デバイスのスレーブ・アドレスおよび読み取り/書き込みフラグを搬送する。
【0032】
ある可能な実装では、第1のフィールドはI2Cステータスがデータ伝送の継続であることを示し、ロード部分はI2Cデータを搬送する。
【0033】
ある可能な実装では、パケット・ヘッダ部分はさらに第2のフィールドを含み、第2のフィールドは、データ・パケットが属するフローのフロー識別子IDを示すために使用され、フローIDは少なくとも1つのI2Cインターフェースに対応する。
【0034】
ある可能な実装では、データ・パケットのパケット・ヘッダ部分は第3のフィールドをさらに含み、第3のフィールドはデータ・パケットがI2Cベースのデータ・パケットであることを示すために使用される。
【0035】
第4の側面によれば、I2Cベースの通信装置が提供される。この装置は、第2の側面または第2の側面の任意の可能な実装において提供される方法を実行するように構成されたモジュールを含む。
【0036】
たとえば、この装置には以下を含む:
第1のデバイスからデータ・パケットを受信するように構成された受信モジュールであって、データ・パケットはパケット・ヘッダ部分およびロード部分を含み、パケット・ヘッダ部分は第1のフィールドを含み、第1のフィールドはI2Cステータスを示すために使用され、I2Cステータスは、データ伝送の開始、データ伝送の継続、データ伝送の停止、確認応答ACK、または否定確認応答NACKのうちのいずれか一つを含み、ロードの長さは0ビット以上である、受信モジュールと;
第1のフィールドに基づいてI2Cステータスを判別するように構成された処理モジュール。
【0037】
ある可能な実装では、第1のフィールドの値は、次の値のうちの一つまたは複数を含む:I2Cステータスがデータ伝送の開始であることを示すために使用される第1の値;I2Cステータスがデータ伝送の継続であることを示すために使用される第2の値;I2Cステータスがデータ伝送の停止であることを示すために使用される第3の値;I2CステータスがACKであることを示すために使用される第4の値;およびI2CステータスがNACKであることを示すために使用される第5の値。
【0038】
ある可能な実装では、第1のフィールドがI2Cステータスがデータ伝送の開始であることを示し、ロード部分はスレーブ・デバイスのスレーブ・アドレスおよび読み取り/書き込みフラグを搬送し;処理モジュールはさらに、少なくとも1つのI2Cインターフェースで開始状態を生成し、該少なくとも1つのI2Cインターフェースを通じて、スレーブ・アドレスが指すスレーブ・デバイスに、スレーブ・アドレスおよび読み取り/書き込みフラグを送信するように構成される。
【0039】
ある可能な実装では、第1のフィールドはI2Cステータスがデータ伝送の継続であることを示し、ロード部分はI2Cデータを搬送し;処理モジュールはさらに、少なくとも1つのI2Cインターフェースを通じて、スレーブ・アドレスが指すスレーブ・デバイスにI2Cデータを送信するように構成される。
【0040】
ある可能な実装では、パケット・ヘッダ部分はさらに第2のフィールドを含み、第2のフィールドは、データ・パケットが属するフローのフロー識別子IDを示すために使用され、フローIDは少なくとも1つのI2Cインターフェースに対応する。
【0041】
ある可能な実装では、パケット・ヘッダ部分は第3のフィールドをさらに含み、第3のフィールドはデータ・パケットがI2Cベースのデータ・パケットであることを示すために使用される。
【0042】
第5の側面によれば、装置が提供され、少なくとも1つのプロセッサと、該少なくとも1つのプロセッサに通信接続された通信インターフェースとを含む。前記少なくとも1つのプロセッサは、メモリに記憶された命令を実行し、それにより、本装置は、通信インターフェースを使用して、第1の側面または第1の側面の任意の可能な実装において提供される方法を実行できるようにされる。
【0043】
任意的に、前記メモリは本装置の外部に位置する。
【0044】
任意的に、本装置は前記メモリを含み、前記メモリは前記少なくとも1つのプロセッサに接続され、前記メモリは前記少なくとも1つのプロセッサによって実行されることができる命令を記憶する。
【0045】
第6の側面によれば、装置が提供され、少なくとも1つのプロセッサと、該少なくとも1つのプロセッサに通信接続された通信インターフェースとを含む。前記少なくとも1つのプロセッサは、メモリに記憶された命令を実行し、それにより、本装置は、通信インターフェースを使用して、第2の側面または第2の側面の任意の可能な実装において提供される方法を実行できるようにされる。
【0046】
任意的に、前記メモリは本装置の外部に位置する。
【0047】
任意的に、本装置は前記メモリを含み、前記メモリは前記少なくとも1つのプロセッサに接続され、前記メモリは前記少なくとも1つのプロセッサによって実行されることができる命令を記憶する。
【0048】
第7の側面によれば、装置が提供され、プロセッサとインターフェース回路を含む。インターフェース回路は、コード命令を受信し、該コード命令をプロセッサに送信するように構成され、プロセッサは該コード命令を実行して、第1の側面または第1の側面の任意の可能な実装において提供される方法を実行する。
【0049】
第8の側面によれば、装置が提供され、プロセッサとインターフェース回路を含む。インターフェース回路は、コード命令を受信し、該コード命令をプロセッサに送信するように構成され、プロセッサは該コード命令を実行して、第2の側面または第2の側面の任意の可能な実装において提供される方法を実行する。
【0050】
第9の側面によれば、チップが提供される。チップはメモリに結合され、メモリに記憶されたプログラム命令を読み、実行し、第1の側面または第1の側面の任意の可能な実装において提供される方法を実装するように構成される。
【0051】
第10の側面によれば、チップが提供される。チップはメモリに結合され、メモリに記憶されたプログラム命令を読み、実行し、第2の側面または第2の側面の任意の可能な実装において提供される方法を実装するように構成される。
【0052】
第11の側面によれば、コンピュータが読み取り可能な記憶媒体が提供される。読み取り可能な記憶媒体は、命令を記憶するように構成され、命令が実行されると、第1の側面または第1の側面の任意の可能な実装において提供される方法が実施される。
【0053】
第12の側面によれば、コンピュータが読み取り可能な記憶媒体が提供される。読み取り可能な記憶媒体は、命令を記憶するように構成され、命令が実行されると、第2の側面または第2の側面の任意の可能な実装において提供される方法が実施される。
【0054】
第13の側面によれば、命令を含むコンピュータ・プログラム・プロダクトが提供される。コンピュータ・プログラム・プロダクトは命令を記憶し、コンピュータ・プログラム・プロダクトがコンピュータ上で実行されると、コンピュータは第1の側面または第1の側面の任意の可能な実装において提供される方法を実行できるようにされる。
【0055】
第14の側面によれば、命令を含むコンピュータ・プログラム・プロダクトが提供される。コンピュータ・プログラム・プロダクトは命令を記憶し、コンピュータ・プログラム・プロダクトがコンピュータ上で実行されると、コンピュータは第2の側面または第2の側面の任意の可能な実装において提供される方法を実行できるようにされる。
【0056】
第15の側面によれば、通信システムが提供され、第1のデバイスおよび第2のデバイスを含む。第1のデバイスは、第1の側面または第1の側面の任意の可能な実装における対応する機能を実行することができ、第2のデバイスは、第2の側面または第2の側面の任意の可能な実装における対応する機能を実行することができる。
【0057】
本願の実施形態における「結合」は、2つの構成要素の直接的な組み合わせまたは間接的な組み合わせを示すことに注意するべきである。
【0058】
第2の側面ないし第15の側面における実装の有益な効果については、第1の側面における対応する実装の有益な効果を参照されたい。詳細については、ここでは再度説明しない。
【図面の簡単な説明】
【0059】
【
図1】車載カメラの画像伝送システムの概略図である。
【0060】
【0061】
【0062】
【
図4A】I
2Cバスのデータ書き込みの可能なフローチャートである。
【0063】
【
図4B】I
2Cバスのデータ読み取りの可能なフローチャートである。
【0064】
【
図5】透明に伝送されるI
2C信号をカプセル化する方法の概略図である。
【0065】
【
図6】AおよびBはそれぞれ透明に伝送されるI
2C信号をカプセル化する別の方法の概略図である。
【0066】
【
図7】本願のある実施形態による可能な通信シナリオの概略図である。
【0067】
【
図8】本願のある実施形態による別の可能な通信シナリオの概略図である。
【0068】
【
図9】本願のある実施形態による別の可能な通信シナリオの概略図である。
【0069】
【
図10】本願のある実施形態によるI
2Cベースの通信方法のフローチャートである。
【0070】
【
図11】本願のある実施形態によるデータ・パケットの可能な構造の概略図である。
【0071】
【
図12】第1のフィールドのいくつかの可能な値の概略図である。
【0072】
【
図13A】マスターがI
2Cデータをスレーブに送信する概略図である。
【0073】
【
図13B】スレーブがI
2Cデータをマスターに送信する概略図である。
【0074】
【
図14】本願のある実施形態による、データ・パケットの別の可能な構造の概略図である。
【0075】
【
図15】本願のある実施形態による、データ・パケットの別の可能な構造の概略図である。
【0076】
【
図16】本願のある実施形態による、データ・パケットの別の可能な構造の概略図である。
【0077】
【
図17】本願のある実施形態による、データ・パケットの別の可能な構造の概略図である。
【0078】
【
図18】本願のある実施形態による、データ・パケットの別の可能な構造の概略図である。
【0079】
【
図19】本願のある実施形態によるI
2Cベースの通信装置1900の概略図である。
【0080】
【
図20】本願のある実施形態による別のI
2Cベースの通信装置2000の概略図である。
【0081】
【
図21】本願のある実施形態による装置2100の構造の概略図である。
【0082】
【
図22】本願のある実施形態による装置2200の構造の概略図である。
【0083】
【
図23】本願のある実施形態による装置2300の構造の概略図である。
【0084】
【
図24】本願のある実施形態による装置2400の構造の概略図である。
【発明を実施するための形態】
【0085】
現在、自動車はインテリジェンスに向けて発展中であり、ますます多くの運転支援システムが自動車に搭載されている。ほとんどの運転支援システムは、リアルタイムで自動車周辺の環境を感知するためにカメラに頼る。
【0086】
図1は、車載カメラの画像伝送システムの概略図である。システムはカメラを含み、さらにマルチドメインコントローラ(Multi-domain Controller、MDC)またはモバイルデータセンター(Mobile Data Center、MDC)を含む。赤緑青(Red Green Blue、RGB)データなどの画像信号がカメラとMDCの間で伝送されうる。カメラとMDCはさらにI
2C通信を実行しうる;つまり、カメラとMDCの間でさらにI
2C信号が伝送されうる。I
2C信号は主にカメラの撮影パラメータを制御するために使用され、たとえばカメラのピクセル量子化深さ、フレームレート、感度、ホワイトバランスなどを制御する。
【0087】
I2C信号はI2Cバスに基づいて伝送される。I2Cバスは低速シリアル・バスであり、プリント基板(Printed Circuit Board、PCB)上でルーティングされる短距離伝送バスであり、マイクロコントローラと該マイクロコントローラの周辺デバイスを接続するように構成されている。
【0088】
図2はI
2Cバスの概略図である。I
2Cバスは2つのラインを含む。一方は、データを伝送するために使用されるシリアル・データ・ライン(serial data line、SDA)である。他方は、クロック信号を伝送するために使用されるシリアル・クロック・ライン(serial clock line、SCL)である。I
2Cバスに接続されているすべてのデバイスのデータ・ラインはI
2CバスのSDAに接続され、I
2Cバスに接続されているすべてのデバイスのクロック・ラインはI
2CバスのSCLに接続される。SCL上では、マスター・デバイス(Master)からスレーブ・デバイス(Slave)への一方向伝送が行われる。SDA上では、マスター・デバイスからスレーブ・デバイスは、またはスレーブ・デバイスからマスター・デバイスへの双方向伝送が行われる。
図1におけるMDCはマスター・デバイスであり、I
2Cの挙動を制御することを受け持ち、カメラはスレーブ・デバイスであり、スレーブ・デバイスはマスター・デバイスのコマンドに従って関連する動作を実行するように構成されている;または
図1におけるMDCにおける処理チップはマスター・デバイスであり、デシリアライザー、シリアライザー、またはセンサーがスレーブ・デバイスである。
【0089】
図2では、例として、1つのマスター・デバイスが1つのスレーブ・デバイスに通信接続されている。実際の適用では、1つのマスター・デバイスが複数のスレーブ・デバイスに通信接続されていてもよい;つまり、1つのマスター・デバイスが複数のスレーブ・デバイスを制御してもよい。また、本明細書では、マスター・デバイスはマスター制御デバイス、マスター・ノードなどと呼ばれることもあり、スレーブ・デバイスはスレーブ・ノード、周辺デバイス、周辺コンポーネント、外部コンポーネント、周辺デバイスなどと呼ばれることもある。本願のこの実施形態では、特に断りのない限り、I
2CとI2Cの意味は同じである。
【0090】
マスター・デバイスは、2つのラインのレベル状態(時系列)を制御することによって、スレーブ・デバイスを制御する。
図3は、I
2C時系列の図の例である。
【0091】
マスター・デバイスがスレーブ・デバイスと通信することを開始すると、I2Cバス上に開始信号(または開始状態)が生成される。具体的には、SCLは高レベルにあり、SDAは高レベルから低レベルに変化する。開始信号が現れた後、I2Cバスは「ビジー」と見なされ、その後のI2Cバス・アドレッシング、I2Cデータ伝送などが実行されうる。
【0092】
開始状態が生じた後、マスター・デバイスとスレーブ・デバイスはデータを交換することを開始する。マスター・デバイスとスレーブ・デバイスは、毎回、固定した8ビット(bit)のデータを交換し、各対話が完了した後、データ送信端は、次の動作(たとえば、次の8ビット・データの送信)を実行する前に、受信端によってフィードバックされた1ビットの確認応答信号を受信する必要がある。2つのタイプの確認応答信号:確認応答(ACK)および否定確認応答(NACK)があり、確認応答信号はデータ受信側によってデータ送信側に送信される。
【0093】
マスター・デバイスとスレーブ・デバイスの間のデータ伝送の過程において、マスター・デバイスとスレーブ・デバイスの間で初めて交換される8ビット・データはバス・アドレッシングのために使用される。最上位7ビットは、現在マスター・デバイスと通信しているスレーブ・デバイスのアドレスを示し、最下位1ビットは読み取り/書き込み(R/W)フラグ(または読み取り/書き込みフラグ・ビット)であり、現在の通信がデータ読み取りであるのかデータ書き込みであるのか(つまり、データがマスター・デバイスからスレーブ・デバイスに送信されるのか、スレーブ・デバイスからマスター・デバイスに送信されるのか)を示すために使用される。8ビットデータの第1のグループに続くデータは、現在の通信において送信される必要があるI2Cデータである。I2Cデータは、カメラのピクセル量子化深さ、フレームレート、感度、またはホワイトバランスなどの撮影パラメータである。
【0094】
マスター・デバイスとスレーブ・デバイスの間のデータ伝送が完了した後、つまりマスター・デバイスがスレーブ・デバイスとの通信を停止するとき、I2Cバス上に停止信号(または停止状態)が生成される。SCLは高レベルにあり、SDAは低レベルから高レベルに変化する。停止信号の後、I2Cバスは「アイドル」と見なされる。
【0095】
上記のように、マスター・デバイスとスレーブ・デバイスの間のI2C通信は:マスター・デバイスがスレーブ・デバイスを、マスター・デバイスにデータを送信するように制御すること(つまり、データの読み取り手順)、および、マスター・デバイスがスレーブ・デバイスを、マスター・デバイスによって送信されたデータを受信するように制御すること(つまり、データ書き込み手順)を含む。下記では、読み取り手順と書き込み手順が例を使って別個に記述される。
【0096】
図4Aに示されるように、I
2Cバスのある可能な書き込み手順は、以下のステップを含みうる。
【0097】
ステップ1:マスター・デバイスが開始(START、S)信号を送信する。
【0098】
ステップ2:マスター・デバイスが1バイト(8ビット)を送信し、ACKを待つ。前記バイトの最上位7ビットはスレーブ・デバイスのアドレスを搬送し、最下位1ビットは読み取り/書き込みフラグ・ビット(R/W)である。読み取り/書き込みフラグ・ビットが1である場合、そのことは読み取りコマンドを示し、読み取り/書き込みフラグ・ビットが0である場合、そのことは書き込みコマンドを示す。
図4AではR/W=0であり、書き込みコマンドを示す。あるいはまた、本願のこの実施形態では、読み取り/書き込み制御フラグが0である場合、そのことは読み取りコマンドを示してもよく、読み取り/書き込み制御ビットが1である場合、そのことは書き込みコマンドを示す。これは本願では限定されない。
【0099】
ステップ3:スレーブ・デバイスが、受信成功を示すためにACKを送信する。
【0100】
ステップ4:マスター・デバイスが1バイトを送信し、ACKを待つ。このバイトは、スレーブ・デバイスに書き込まれるデータを搬送する。
【0101】
ステップ5:スレーブ・デバイスが前記データを記憶ユニットに書き込み、ACKを送信する。
【0102】
ここでのステップ4およびステップ5は複数回連続して実行されてもよいことを注意しておくべきである。つまり、マスター・デバイスはデータをスレーブ・デバイスに順次書き込む。
図4Aでは、2回の書き込みが例として使用されている。
【0103】
さらに、スレーブ・デバイスがデータを受信することに失敗した場合、またはデータを記憶ユニットに書き込むことに失敗した場合、スレーブ・デバイスはマスター・デバイスにNACKを送信する必要があることを注意しておくべきである。たとえば、
図4Aでは、マスター・デバイスはACKを送信する。
【0104】
ステップ6:マスター・デバイスは停止(STOP、P)信号を送信する。
【0105】
図4Bに示されるように、I
2Cバスの可能な読み取り手順は、以下のステップを含みうる。
【0106】
ステップ1:マスター・デバイスが開始信号を送信する。
【0107】
ステップ2:マスター・デバイスが1バイトを送信し、ACKを待つ。前記バイトの最上位7ビットは制御対象のスレーブ・デバイスのアドレスを搬送し、最下位1ビットは読み取り/書き込みフラグビット(R/W)である。読み取り/書き込みフラグ・ビットが1である場合、そのことは読み取りコマンドを示し、読み取り/書き込み制御ビットが0である場合、そのことは書き込みコマンドを示す。
図4BではR/W=1であり、読み取りコマンドを示す。
【0108】
ステップ3:スレーブ・デバイスが、受信成功を示すために、ACKを送信する。
【0109】
ステップ4:スレーブ・デバイスが1バイトを送信し、ACKを待つ。前記バイトはマスター・デバイスによって読み取られるデータ(つまり、スレーブ・デバイスによってマスター・デバイスに送信されるデータ)を搬送する。
【0110】
ステップ5:前記バイトを受信した後、マスター・デバイスはACKを送信する。
【0111】
ここでのステップ4およびステップ5は、複数回連続して実行されてもよいことを注意しておくべきである;つまり、マスター・デバイスは、スレーブ・デバイスからデータを順次読み取る。
図4Bでは、2回の読み込みが例として使用されている。
【0112】
マスター・デバイスがデータを受信することに失敗した場合、またはマスター・デバイスがデータ読み取り動作を完了する場合、マスター・デバイスはスレーブ・デバイスにNACKを送信する必要があることを注意しておくべきである。
図4Bに示されるように、8ビットデータの最後のグループに対応する確認応答信号はNACKであり、これは、マスター・デバイスのデータ読み取り動作が完了したことを示す。
【0113】
ステップ6:マスター・デバイスは停止信号を送信する。
【0114】
車両内ネットワークのいくつかのシナリオでは、I2Cのマスター・デバイスとスレーブ・デバイスの間の距離が比較的長い(通例、約10m)。そのため、透明な伝送のためには、I2C信号が長距離伝送技術のデータ・パケットにおいて搬送される必要がある。
【0115】
例として、
図1に示される車載カメラが使用される。MDC端がマスターであり、カメラ端がスレーブである。車両において、カメラは通例、フロントガラス、リアバンパー、ドアポストなどに搭載され、MDCは車両内に搭載される。そのため、カメラとMDCの間には比較的長い距離があり、I
2C信号がリモートで送信される必要がある。しかしながら、カメラとMDCの間では画像信号が伝送される必要があり、もともと長距離高速伝送インターフェースがある。そのため、I
2C信号はMDCとカメラの間で長距離高速伝送ライン上で透明に伝送されうる。I
2Cの透明な伝送のためには、I
2C信号は、特定の規則に基づく伝送のために、データ・パケットにカプセル化される必要がある。
【0116】
図5は、透明に伝送されるI
2C信号をカプセル化する方法の概略図である。この方法では、I
2Cの2つのラインSCLおよびSDA上のレベル状態が、データ・パケットにおける諸位置で固定的に搬送され、SCLおよびSDA上のそれぞれのレベル状態が1ビットを使用し、それにより、2つのライン上のレベル状態がピア端に伝送される。
【0117】
この解決策では、2つのI2Cラインの両方の状態がカプセル化されて伝送される。しかしながら、クロック・ラインSCL上の信号は実際には意味がなく、伝送される必要はない。したがって、この解決策はI2C信号を伝送するための帯域幅要件を増す。第二に、この解決策では、SCLおよびSDA上のレベル状態のみが伝送される。マスターのシリアライザーまたはデシリアライザーは、データの意味をパースすることなく、SCLおよびSDA上の状態をI2Cインターフェースに直接マッピングし、そのため、アドレスを使用してチップを区別することができない。そのため、マスターは固定的にカメラ内のセンサーまたは表示画面にアクセスすることができるだけで、カメラ内のシリアライザーまたはデシリアライザーにはアクセスできない。さらに、この解決策では、複数のI2Cインターフェースを区別できず、複数のI2Cインターフェースに関する情報の同時伝送はサポートされない。
【0118】
図6Aおよび
図6Bは、透明に伝送されるI
2C信号をカプセル化する別の方法の概略図である。この解決策では、
図6Aに示されるデータ・パケットが、SDA上で伝送されるI
2Cデータをカプセル化するために使用され、各データ・パケットは8ビットデータを伝送する。パケット・ヘッダにおける2ビットが、ロードが8ビットのI
2Cデータを搬送するか、特別なコード・パターンを搬送するかを示し、特別なコード・パターンは、I
2Cライン・ステータスと、開始、停止、ACK、またはNACKなどのフィードバック情報を示す。特別なコード・パターンは
図6Bに示される。
【0119】
この解決策では、I2Cライン上の開始および停止(SCLおよびSDAによって合同で決定される)が8ビットの特別なコード・パターンにエンコードされ、1ビットが伝送のために8ビットに変換される。これは、伝送されるデータ量を増す。第二に、この解決策では、送信開始、送信停止、ACK、およびNACKのために、データ・パケットが別個にカプセル化される必要がある。最小データ・パケットは104ビットであり、帯域幅の要件が増す。また、この解決策では、複数のI2Cインターフェースを区別することもできず、複数のI2Cインターフェースに関する情報の同時送信はサポートされていない。
【0120】
上記の一つまたは複数の技術的問題を解決するために、本願のある実施形態は、I2Cベースの通信解決策を提供する。この解決策では、SDA上のデータのみがカプセル化され、より小さいパケット・ヘッダ・オーバーヘッドが使用される。そのため、信号、たとえばI2Cライン・ステータス(たとえば、通信開始/通信停止)およびフィードバック情報(たとえば、ACK/NACK)およびI2Cの8ビットデータが1つのデータ・パケットにカプセル化できる。このようにして、I2C信号のカプセル化および伝送の際の帯域幅要件が軽減される。具体的な解決策については、以下の記述でさらに詳しく説明する。
【0121】
本願のこの実施形態は、I
2Cベースの通信が必要とされる任意のシナリオで使用できる。たとえば、
図7、
図8、
図9は、本願が適用可能な3つの可能な通信シナリオを示している。
【0122】
図7に単眼カメラの適用シナリオを示す。MDCと単眼カメラはI
2Cに基づいて互いに通信することができる。MDC内の処理チップが、マスター・デバイスとして使用されて、I
2C信号を使用してカメラを制御してもよく、具体的には、カメラ内のセンサーまたはシリアライザー(Serializer)を制御してもよく、さらに、MDC内のデシリアライザーを制御してもよい。カメラ内のシリアライザーおよびMDC内のデシリアライザー(Deserializer)はインターフェース回路である。シリアライザーとデシリアライザーはリンクを通じて接続される。シリアライザーは低速の並列信号を高速のシリアル信号に変換するように構成され、デシリアライザーは高速のシリアル信号を低速の並列信号に変換するように構成される。
【0123】
カメラ内のシリアライザーとセンサーは全体としてスレーブ・デバイスとして使用されてもよく、カメラ(シリアライザーとセンサー全体)はスレーブ・アドレスをもち、MDC内の処理チップはI2C信号を使用することによってカメラを制御しうることが理解されうる。
【0124】
あるいはまた、カメラ内のシリアライザーまたはセンサーは、代替的に、独立してスレーブ・デバイスとして使用されてもよい;つまり、シリアライザーとセンサーはそれぞれ独立したスレーブ・アドレスをもつ。シリアライザーは、データを記憶するように構成された少なくとも1つのレジスタを含みうる。
【0125】
さらに、MDC内のデシリアライザーは、代替的に、独立したスレーブ・デバイスとして使用され、独立したスレーブ・アドレスをもつことができる。
【0126】
図8は、マルチレンズ・カメラの適用シナリオを示す。MDCとマルチレンズ・カメラは、I
2Cに基づいて互いに通信することができる。このシナリオでは、MDCは複数のI
2Cインターフェースをもつことができる。
図8では、例として2つのI
2Cインターフェースが使用される。実際には、より多くのI
2Cインターフェースが含まれてもよい。本願では、マルチレンズ・カメラにおけるMDCのI
2Cインターフェースの量は限定されない。同じデシリアライザー/シリアライザーは複数のI
2Cインターフェースでの同時伝送をサポートできる。各I
2Cインターフェースは異なるセンサーを制御する。たとえば、
図8におけるMDC内の処理チップは、I
2Cインターフェース1を使用してセンサー1を制御し、I
2Cインターフェース2を使用してセンサー2を制御するか、または処理チップは、I
2Cインターフェース1を使用してセンサー2を制御し、I
2Cインターフェース2を使用してセンサー1を制御する。このようにして、センサーについてのMDCの読み取り/書き込み速度が改善できる。
【0127】
上記のように、
図8に示されるカメラ内のシリアライザーとセンサーは、全体としてスレーブ・デバイスとして使用されてもよく、カメラは独立したスレーブ・アドレスをもつことが理解されうる。MDC内の処理チップは、I
2C信号を使用してカメラを制御することができる。
【0128】
あるいはまた、カメラ内の各シリアライザーまたは各センサーは独立してスレーブ・デバイスとして使用されてもよい;つまり、各シリアライザーまたは各センサーは独立したスレーブ・アドレスをもつ。
【0129】
さらに、MDC内のデシリアライザーは、独立したスレーブ・デバイスとして使用され、独立したスレーブ・アドレスをもつことができる。
【0130】
図9は、コクピット・ドメイン・コントローラ(Cockpit Domain Controller、CDC)とディスプレイがI
2Cに基づいて互いに通信する大画面適用シナリオを示している。このシナリオでは、CDC内のプロセッサ(マスターデバイス)がI
2Cを使用してディスプレイ(スレーブデバイス)を制御し、たとえばディスプレイ内のデシリアライザーと表示画面を制御する。表示画面上のタッチ情報も、I
2Cバスを通じてプロセッサに伝送されてもよい。
【0131】
上記のように、ディスプレイ内のデシリアライザーと表示画面は、全体としてスレーブ・デバイスとして使用されてもよい、つまりディスプレイがスレーブ・アドレスをもつことが理解されうる。CDC内のプロセッサは、I2C信号を使用してディスプレイを制御しうる。
【0132】
あるいはまた、ディスプレイ内のデシリアライザーと表示画面が独立してスレーブ・デバイスとして使用されてもよい;つまり、デシリアライザーと表示画面はそれぞれスレーブ・アドレスをもつ。
【0133】
さらに、CDC内のシリアライザーが代替的に、プロセッサのスレーブ・デバイスとして使用されて、独立したスレーブ・アドレスをもつこともできる。
【0134】
本願の実施形態の目的、技術的解決策、および利点をより明確にするため、以下では、本願の実施形態における技術的解決策について、添付の図面を参照して詳細に説明する。
【0135】
本願の実施形態では、用語「システム」と「ネットワーク」は交換可能に使用されうる。「少なくとも1つ」は一つまたは複数を意味し、「複数」は2つ以上を意味する。「および/または」は、関連付けられたオブジェクト間の関連付け関係を表し、3つの関係が存在しうることを表す。たとえば、Aおよび/またはBは次の場合を表しうる:Aのみが存在、AとBの両方が存在、Bのみが存在。ここで、AとBは単数または複数でありうる。記号「/」は通例、関連付けられたオブジェクト間の「または」の関係を示す。「次の項目(ピース)のうちの少なくとも1つ」またはその類似表現は、単数の項目(ピース)または複数の項目(ピース)の任意の組み合わせを含む、これらの項目の任意の組み合わせを指す。たとえば、a、b、またはcのうちの少なくとも1つは、aとbとc、aとb、aとc、bとc、またはaとbとcを示しうる。
【0136】
また、特に断りのない限り、本願の実施形態における「第1」および「第2」のような序数は、複数のオブジェクトを区別するためのものであり、複数のオブジェクトの順序、時系列、優先度、または重要性を制限することは意図されていない。たとえば、第1のフィールドと第2のフィールドは、単に異なるフィールドを区別するために使用されているのであり、2つのフィールドの異なる内容、優先度、重要度などを示すものではない。
【0137】
さらに、本願の実施形態、請求項および添付の図面における「含む」および「有する」という用語は排他的ではない。たとえば、一連のステップまたはモジュールを含むプロセス、方法、システム、プロダクトまたはデバイスは、挙げられたステップまたはモジュールに限定されず、挙げられていないステップまたはモジュールをさらに含んでいてもよい。
【0138】
図10に示されるように、本願のある実施形態は、I
2Cベースの通信方法を提供する。この方法は、
図7、
図8または
図9に示すシナリオで使用されうる。この方法には、以下のステップを含む。
【0139】
S1001:第1のデバイスがデータ・パケットを生成する。このデータ・パケットは、パケット・ヘッダ部分およびロード部分を含む。パケット・ヘッダ部分は第1のフィールドを含み、第1のフィールドはI2Cステータスを示すために使用される。ロードの長さは0ビット以上である。
【0140】
図11は、本願のある実施形態によるデータ・パケットの可能な構造の概略図である。データ・パケットは、パケット・ヘッダ部分(略して「パケット・ヘッダ」)とロード部分(略して「ロード」)を含む。さらに、データ・パケットは、パケット・テイルをさらに含む。パケット・ヘッダは第1のフィールドを含み、パケット・テイルは巡回冗長検査(Cyclic Redundancy Check、CRC)ビットを含む。たとえば、第1のフィールドのフィールド長は3ビットであるが、フィールド長は実際には4ビットまたは5ビットなどの別の値であってもよい。これはここでは限定されない。
【0141】
I2Cステータスは、I2Cバスの通信ステータスを表すため、またはI2Cバス上の信号タイプを表すため、またはI2CバスのSDAおよびSCL上のレベル状態を表すために使用される。I2Cステータスは、データ通信開始、データ伝送の継続、データ伝送の停止、ACK、NACKの5つのタイプを含むが、これらに限定されない。1つのデータ・パケットは1つのタイプに対応することを理解しておくべきである。
【0142】
第1のフィールドの異なる値は、異なるI2Cステータスを表す。たとえば、第1の値はI2Cステータスがデータ伝送の開始であることを示すために使用され、第2の値はI2Cステータスがデータ伝送の継続であることを示すために使用され、第3の値はI2Cステータスがデータ伝送の停止であることを示すために使用され、第4の値はI2CステータスがACKであることを示すために使用され、第5の値はI2CステータスがNACKであることを示すために使用される。むろん、第1フィールドの実際の値は5つのタイプに限定されず、実際にはさらに多くの値があってもよい。
【0143】
図12は、第1のフィールドの可能な値の例を示している。第1のフィールドの値範囲は0x0ないし0x7であり、0x0から0x4は前述の5つのI
2Cステータスを別個に表し、0x5から0x7は予約フィールドであり、前述の5つのI
2Cステータス以外のI
2Cステータスを示すために使用されうる。
【0144】
I2Cステータスがデータ伝送の開始またはデータ伝送の停止である場合、第1のデバイスがマスターであり、第2のデバイスがスレーブである。I2Cステータスがデータ伝送の継続、データ伝送の停止、ACK、NACKである場合、第1のデバイスがマスターであり、第2のデバイスがスレーブであるか、または、第2のデバイスがマスターであり、第1のデバイスがスレーブである。つまり、マスターによって生成されるデータ・パケット内の第1のフィールドは、データ伝送の開始、データ伝送の停止、データ伝送の継続、ACK、またはNACKのうちのいずれか一つを示すことができ、スレーブによって生成されるデータ・パケット内の第1のフィールドは、データ伝送の継続、ACK、またはNACKのうちのいずれか一つを示すことができる。
【0145】
本願のこの実施形態におけるマスターは、コントローラ、たとえば
図7におけるMDC、
図8におけるMDC、または
図9におけるCDCであってもよく、または、コントローラ内の処理チップ、たとえばMDC内の処理チップまたはCDC内のプロセッサであってもよいことが理解されうる。本願のこの実施形態におけるスレーブは、周辺デバイスまたは周辺コンポーネント、たとえば
図7におけるカメラ、
図8におけるカメラ、または
図9におけるディスプレイであってもよく、または、周辺デバイスまたは周辺コンポーネント内のチップ、たとえばカメラ内のセンサーまたはシリアライザー、またはディスプレイ内のデシリアライザーまたは表示画面であってもよい。むろん、上記は単に例であり、実際の適用では別の可能性は排除されない。
【0146】
データ伝送の開始、データ伝送の継続、データ伝送の停止、ACK、NACKの定義が下記に示される。
【0147】
(1)データ伝送の開始:I
2Cバス上で開始信号(または開始状態)が生成される;つまり、
図3における開始条件によって示されるように、SCLは高レベルにあり、SDAは高レベルから低レベルに変化する。この場合、第1のデバイスはMDCにおける処理チップなどのマスターであり、第2のデバイスはMDCにおけるデシリアライザー、カメラにおけるデシリアライザー、またはカメラにおけるセンサーなどのスレーブである。
【0148】
データ・パケットのロード部分はデータを搬送しなくてもよい;つまり、ロードの長さは0である;または、データ・パケットがロード部分を含まないことが理解されうる。
【0149】
任意的に、データ・パケットのロード部分がデータを搬送してもよい;つまり、ロードの長さが0より大きい;またはデータ・パケットがロード部分を含む。
【0150】
ある可能な設計では、ロード部分は7ビットのスレーブ・アドレス(バス・アドレッシングのために使用される)と1ビットの読み取り/書き込みフラグ(現在の通信がデータ読み取りかデータ書き込みかを示すために使用される)とを搬送し、ロードの対応する長さは8ビットである。むろん、ロードの実際の長さはそれに限定されない。たとえば、(N×8)ビットのI2Cデータが搬送されてもよい。
【0151】
スレーブ・アドレスは、カメラ内のセンサーやカメラ内のシリアライザー(さらに具体的にはシリアライザー内のレジスタであってもよい)などの、マスターによって制御されるチップを示すために使用される。
【0152】
(2)データ伝送の継続:この状態は、データ伝送の開始とデータ伝送の停止の間の中間状態である。I2Cステータスがデータ伝送の継続である場合、I2Cバス上でI2Cデータの信号が生成される。
【0153】
本願のこの実施形態におけるI2Cデータは、データ伝送の開始後、データ伝送の停止前に、I2Cバス上で第1のデバイスおよび第2のデバイスによって伝送される確認応答信号(NACKおよびACK)以外のデータであることを理解しておくべきである。
【0154】
この場合、第1のデバイスは、カメラ内の処理チップなどのマスターであり、第2のデバイスは、MDC内のデシリアライザー、カメラ内のデシリアライザー、またはカメラ内のセンサーなどのスレーブである。
図13Aは、マスターがI
2Cデータをスレーブに送信する例を示している。あるいはまた、第2のデバイスがカメラ内の処理チップなどのマスターであり、第1のデバイスがMDC内のデシリアライザー、カメラ内のデシリアライザー、またはカメラ内のセンサーなどのスレーブである。
図13Bは、スレーブがマスターにI
2Cデータを送信する例を示す。
【0155】
I2Cデータは8ビットをグループとして使って伝送されることを理解しておくべきである。8ビットのI2Cデータのグループが送信された後、次のI2Cデータのグループを送信する前に、データ送信側は、受信側がACKまたはNACKをフィードバックするまで待つ必要がある。なお、本明細書の以下の実施形態では、特別な指定を除き、1単位(たとえば、I2Cデータの1つのピース、I2Cデータの1つのグループ、またはI2Cデータの1つのセグメント)内のI2Cデータは、長さが8ビットであるI2Cデータを意味することを理解しておくべきである。
【0156】
(3)データ伝送の停止:I
2Cバス上で停止信号(または停止状態)が生成される;つまり、
図3における停止条件によって示されるように、SCLは高レベルにあり、SDAは低レベルから高レベルに変化する。停止信号がI
2Cバス上で発生した後、次の開始状態が発生する前には、I
2CバスではI
2Cデータは伝送されない。この場合、第1のデバイスはMDC内の処理チップなどのマスターであり、第2のデバイスはMDC内のデシリアライザー、カメラ内のデシリアライザー、またはカメラ内のセンサーなどのスレーブである。データ・パケットのロード部分はI2Cデータを搬送しない;つまり、ロードの長さは0である。
【0157】
(4)ACKは、第1のデバイスが第2のデバイスによって送信されたI2Cデータ(8ビット)を正しく受信したことを示し、I2Cバス上でACK状態が生成される。この場合、第1のデバイスはMDC内の処理チップなどのマスターであり、第2のデバイスはMDC内のデシリアライザー、カメラ内のデシリアライザー、またはカメラ内のセンサーなどのスレーブである;または、第2のデバイスはMDC内の処理チップなどのマスターであり、第1のデバイスはMDC内のデシリアライザー、カメラ内のデシリアライザー、またはカメラ内のセンサーなどのスレーブである。これは限定されない。
【0158】
(5)NACKは、第1のデバイスが第2のデバイスからのI2Cデータを受信することに失敗したか、または第2のデバイスから受信されたI2Cデータの意味をパースできなかったか、またはマスター(第1のデバイス)がスレーブ(第2のデバイス)からのデータの読み取りを停止するかして、I2Cバス上でNACK状態が生成されたことを示す。この場合、第1のデバイスはMDC内の処理チップなどのマスターであり、第2のデバイスはMDC内のデシリアライザー、カメラ内のデシリアライザー、またはカメラ内のセンサーなどのスレーブである;または第2のデバイスはMDC内の処理チップなどのマスターであり、第1のデバイスはMDC内のデシリアライザー、カメラ内のデシリアライザー、またはカメラ内のセンサーなどのスレーブである。これは限定されない。
【0159】
任意的に、
図13Bに示されるように、第1のデバイスがスレーブであり、第2のデバイスがマスターである場合、マスターがスレーブに対して読み取り動作を実行するプロセスにおいて、スレーブがマスターに「スレーブ・アドレス;読み取り/書き込みフラグ・ビット」についての確認応答情報(ACKまたはNACK)を送信するプロセスにおいて、スレーブはACK/NACKとI
2Cデータの読み取り第1グループを伝送のために1つのデータ・パケットにカプセル化し、オーバーヘッドを削減することができる。
【0160】
S1002:第1のデバイスが第2のデバイスにデータ・パケットを送信し、第2のデバイスが第1のデバイスからデータ・パケットを受信する。
【0161】
本願のこの実施形態では、第1のデバイスは一つまたは複数のI2Cインターフェースをサポートしてもよく、第2のデバイスは一つまたは複数のI2Cインターフェースをサポートしてもよく、データ・パケットが一つまたは複数のI2C伝送チャネルに基づいて第1のデバイスと第2のデバイスの間で伝送されうる。
【0162】
たとえば、第1のデバイスがMDC内の処理チップであり、第2のデバイスが
図7における単眼カメラ内のセンサーである場合、データ・パケットは1つのI2C伝送チャネル、つまりセンサーのI2Cインターフェースと処理チップのI2Cインターフェースの間の伝送チャネルに基づいて、第1のデバイスと第2のデバイスの間で伝送される。
【0163】
たとえば、第1のデバイスが
図8におけるMDC内の処理チップであり、第2のデバイスが
図8におけるマルチレンズ・カメラ内のシリアライザーまたはMDC内のデシリアライザーである場合、データ・パケットは同時に最大2つのI2C伝送チャネル、たとえばセンサー1のI2Cインターフェースと処理チップのI2Cインターフェース1の間の伝送チャネルおよびセンサー2のI2Cインターフェースと処理チップのI2Cインターフェース2の間の伝送チャネルに基づいて第、1のデバイスと第2のデバイスの間で伝送されうる。
【0164】
S1003:第2のデバイスは、第1のフィールドに基づいてI2Cステータスを判別する。
【0165】
データ・パケットを受信した後、第2のデバイスはデータ・パケットをパースする。
【0166】
たとえば、第2のデバイスが第1のフィールドに基づいてI2Cステータスがデータ伝送の開始であることを判別する場合、第2のデバイスは少なくとも1つのI2Cインターフェース上で開始状態を生成する、つまり、SCLを高レベルに制御し、SDAを高レベルから低レベルに変化するように制御する。
【0167】
任意的に、第2のデバイスはさらにロード部分からスレーブ・アドレスと読み取り/書き込みフラグを取得し、少なくとも1つのI2Cインターフェースを通じて、スレーブ・アドレスが指すスレーブ・デバイスに、スレーブ・アドレスと読み取り/書き込みフラグを送信しうる。
【0168】
たとえば、第1のデバイスが
図8におけるMDC内の処理チップであり、第2のデバイスが
図8におけるマルチレンズ・カメラ内のシリアライザー(これはMDC内の処理チップのスレーブ・デバイスである)であり、スレーブ・アドレスがセンサー1(MDC内の処理チップのスレーブデバイス)を指している場合、データ・パケットを受信した後、シリアライザーは、センサー1のI
2Cインターフェースを通じて、センサー1に、スレーブ・アドレスと読み取り/書き込みフラグを送信する。
【0169】
さらに、読み取り/書き込みフラグがデータの読み取りを示している場合、第2のデバイスはその後、チップからI2Cデータを読み取り、I2Cデータを第1のデバイスに送信する;読み取り/書き込みフラグがデータの書き込みを示している場合、第2のデバイスはその後、第1のデバイスからI2Cデータを受信し、受信されたI2Cデータをチップに書き込む。
【0170】
たとえば、第2のデバイスが第1のフィールドに基づいてI2Cステータスがデータ伝送の継続であることを判別した場合、第2のデバイスは少なくとも1つのI2Cインターフェースを通じて、スレーブ・アドレスが指すスレーブ・デバイスにI2Cデータを送信する。
【0171】
たとえば、第1のデバイスが
図8におけるMDC内の処理チップであり、第2のデバイスが
図8におけるマルチレンズ・カメラ内のシリアライザー(これはMDC内の処理チップのスレーブ・デバイスである)であり、スレーブ・アドレスがセンサー2(MDC内の処理チップのスレーブデバイス)を指している場合、データ・パケットを受信した後、シリアライザーは、センサー2のI
2Cインターフェースを通じて、センサー2にI
2Cデータを送信する。
【0172】
たとえば、第2のデバイスが第1のフィールドに基づいて、I2Cステータスがデータ伝送の停止であることを判別する場合、少なくとも1つのI2Cインターフェース上に停止状態が生成される、つまり、SCLを高レベルに制御し、SDAを低レベルから高レベルに変化するように制御する。
【0173】
たとえば、第2のデバイスが第1のフィールドに基づいて、I2CステータスがACKであることを判別する場合、対応する8ビットI2Cデータが成功裏に受信されたことを示すために、少なくとも1つのI2Cインターフェース上にACK状態が生成される。
【0174】
たとえば、第2のデバイスが第1のフィールドに基づいて、I2CステータスがNACKであることを判別する場合、対応する8ビットI2Cデータが受信され損なった、または、8ビットI2Cデータの意味がパースできない、または、マスターがスレーブからデータを読み取るのを停止したことを示すために、NACK状態が少なくとも1つのI2Cインターフェース上に生成される。
【0175】
以上の説明から、本願のこの実施形態では、SDAライン上のデータのみがカプセル化され、送信され、そのため、伝送帯域幅が削減でき、伝送効率が改善できることがわかる。本願のこの実施形態では、I2Cステータスを示すためにデータ・パケットのパケット・ヘッダにおいて第1のフィールドが設定され、ロード部分が、スレーブ・アドレス、読み取り/書き込みフラグ、またはI2Cデータを搬送するために使用され、そのため、送信の開始、ACK、NACKなどの状態が個別にデータ・パケットにカプセル化される必要がなく、スレーブ・アドレス、読み取り/書き込みフラグ、またはI2Cデータと一緒に同じデータ・パケットにカプセル化され、そのため、伝送帯域幅がさらに削減でき、伝送効率がさらに改善できる。また、本願のこの実施形態では、データ・パケットがカプセル化されるとき、データの意味がパースされるので、スレーブ・アドレスに基づいて読み取り/書き込みスレーブ・デバイスが区別でき、同じI2Cインターフェースが異なるスレーブ・デバイスを制御することができる。
【0176】
任意的に、本願のこの実施形態では、パケット・ヘッダ部分はさらに第2のフィールドを含み、第2のフィールドはデータ・パケットが属するフローのフロー識別子IDを示すために使用され、各フローIDは少なくとも1つのI2Cインターフェースに対応する。本明細書におけるフローIDは、I2Cインターフェースを区別するために使用される;つまり、同じフローIDをもつデータ・パケットが同じI2Cインターフェース上で伝送されることを理解すべきである。このように、第1のデバイスと第2のデバイスの間でデータ・パケットが伝送されるとき、第1のデバイスと第2のデバイスにおけるシリアライザー/デシリアライザーが、フローIDを識別することによってI2Cインターフェースを区別し、各データ・パケットを、伝送のために、データ・パケットのフローIDに対応するI2Cインターフェースに割り当てることができ、それにより、第1のデバイスと第2のデバイスの間で複数のI2Cインターフェース上での信号の同時伝送がサポートできる、そのため、伝送効率が改善される。
【0177】
図14は、本願のある実施形態によるデータ・パケットの別の可能な構造の概略図である。I
2Cステータスを示すために使用される第1のフィールドに加えて、パケット・ヘッダはさらに、フローIDを示すために使用される第2のフィールドを含む。たとえば、
図14における第2のフィールドは2ビットであるが、実際上はこれはそれに限定されないことが理解されるべきである。たとえば、第2のフィールドは、代替的に3ビット、4ビット、または5ビットであってもよい。特定の長さは、I
2Cインターフェースの量または別の規則に基づいて、当業者によって設定されうる。
【0178】
本願のこの実施形態では、フローIDとI2Cインターフェースの間の対応は、1対1の関係であってもよい;つまり、同じフローIDに対応するデータ・パケットは、同じI2Cインターフェース上でのみ伝送されることができる。あるいはまた、フローIDとI2Cインターフェースの間の対応は、1対多の関係である場合があってもよい;つまり、同じフローIDに対応するデータ・パケットが、複数の異なるI2Cインターフェース上で伝送されてもよい。あるいはまた、フローIDとI2Cインターフェースの間の対応は、多対1の関係であってもよい;つまり、異なるフローIDをもつデータ・パケットが同じI2Cインターフェース上で伝送される場合がある。あるいはまた、フローIDとI2Cインターフェースの間の対応が多対多の関係であってもよい;つまり、複数の異なるフローIDに対応するデータ・パケットが、複数の異なるI2Cインターフェース上で伝送される場合がある。これは、本願では限定されない。
【0179】
ここでは、
図8に示されるシナリオを参照して、例として、フローIDとI
2Cインターフェースとの間の1対1の対応が記述される。
図8に示されるように、フローID「1」がI
2Cインターフェース1に対応し、フローID「2」がI
2Cインターフェース2に対応するものとする。マルチレンズ・カメラのセンサー1にデータ・パケットを送信するとき、MDCは、データ・パケットのパケット・ヘッダにおける第2のフィールドにおいて、フローIDが「1」であることを示してもよい。データ・パケットがマルチレンズ・カメラのシリアライザーに伝送された後、シリアライザーはフローID「1」を識別し、データ・パケットをセンサー1に配布する。マルチレンズ・カメラのセンサー2にデータ・パケットを送信するとき、MDCはデータ・パケットのパケット・ヘッダにおける第2のフィールドにおいて、フローIDが「2」であることを示してもよい。データ・パケットがマルチレンズ・カメラのシリアライザーに伝送された後、シリアライザーはフローID「2」を識別し、データ・パケットをセンサー2に配布する。対応して、データ・パケットをMDCに送信する際、マルチレンズ・カメラのセンサー1は、データ・パケットのパケット・ヘッダにおける第2のフィールドにおいて、フローIDが「1」であることを示してもよい。データ・パケットがMDCのデシリアライザーに伝送された後、デシリアライザーはフローID「1」を識別し、I
2Cインターフェース1を通じてデータ・パケットをMDC内の処理チップに送信し、それにより、処理チップはデータ・パケットがセンサー1からのものであることを識別できる。データ・パケットをMDCに送信する際、マルチレンズ・カメラのセンサー2は、データ・パケットのパケット・ヘッダにおける第2のフィールドにおいて、フローIDが「2」であることを示してもよい。データ・パケットがMDCのデシリアライザーに送信された後、デシリアライザーはフローID「2」を識別し、I
2Cインターフェース2を通じてデータ・パケットをMDC内の処理チップに送信し、それにより、処理チップはデータ・パケットがセンサー2からのものであることを識別できる。
【0180】
任意的に、本願のこの実施形態では、パケット・ヘッダ部分がさらに第3のフィールドを含み、第3のフィールドはデータ・パケットがI2Cベースのデータ・パケットであることを示すために使用される。第3のフィールドは、具体的には、1つのフィールドを使用して実装されてもよく、または複数のフィールドを使用して実装されてもよい。これは、本願では限定されない。
【0181】
たとえば、
図15は、本願のある実施形態によるデータ・パケットの別の可能な構造の概略図である。I
2Cステータスを示すために使用される第1のフィールドとフローIDを示すために使用される第2のフィールドに加えて、パケット・ヘッダはさらに、データ・パケットのカプセル化サービス・タイプを示すために使用される第3のフィールドを含む。
【0182】
たとえば、
図15における第3のフィールドは4ビットであるが、実際上はこれはそれに限定されないことが理解されるべきである。たとえば、第3のフィールドは、代替的に2ビット、3ビット、または5ビットであってもよい。具体的な長さは、第1のデバイスと第2のデバイスの間で伝送されうるデータ・パケットのタイプまたは別の規則に基づいて、当業者によって設定されうる。
【0183】
第3のフィールドが第1のプリセット値である場合、第3のフィールドは、データ・パケットのカプセル化サービス・タイプがI2Cであることを示すために使用される;つまり、データ・パケットはI2Cベースのデータ・パケットである。第3のフィールドが第1のプリセット値以外の別の値である場合、第3のフィールドは、別のカプセル化サービス・タイプ、たとえば汎用入出力(General-purpose input/output、GPIO)、シリアル周辺インターフェース(Serial Peripheral Interface、SPI)、または非同期送受信トランスミッタ(Universal Asynchronous Receiver/Transmitter、UART)のデータ・パケットを示すために使用されてもよい。
【0184】
たとえば、
図16は、本願のある実施形態によるデータ・パケットの別の可能な構造の概略図である。I
2Cステータスを示すために使用される第1のフィールドとフローIDを示すために使用される第2のフィールドに加えて、パケット・ヘッダはさらに第4のフィールドと第5のフィールドを含む(つまり、前記第3のフィールドは実際には第4のフィールドと第5のフィールドという2つのフィールドを含む)。第4のフィールドはカプセル化サービス・タイプを示すために使用され、第5のフィールドはデータ・フォーマットを示すために使用される。第4のフィールドが第2のプリセット値である場合、そのことは、カプセル化サービス・タイプが制御サービスであることを示し、第5のフィールドが第3のプリセット値である場合、そのことは、データ・フォーマットがI
2Cデータであることを示す。
【0185】
たとえば
図16における第4のフィールドは4ビットであり、第5のフィールドは6ビットであるが、これはそれに限定されないことが理解されるべきである。たとえば、第4のフィールドは2ビット、3ビット、5ビットなどであってもよく、第5のフィールドは4ビット、8ビット、12ビットなどであってもよい。第4のフィールドの具体的な長さは、第1のデバイスと第2のデバイスによってサポートされるカプセル化サービスのタイプまたは別の規則に基づいて当業者によって設定されてもよく、第5のフィールドの具体的な長さは、第1のデバイスと第2のデバイスによってサポートされるデータ・フォーマットのタイプまたは別の規則に基づいて当業者によって設定されてもよい。
【0186】
第4のフィールドによって示されるカプセル化サービス・タイプが制御サービスであり、第5のフィールドによって示されるデータ・フォーマットがI2Cデータである場合、データ・パケットのカプセル化サービス・タイプはI2Cである;つまり、データ・パケットはI2Cベースのデータ・パケットである。第4のフィールドによって示されるカプセル化サービス・タイプが制御サービスでない(たとえば、データサービスである)場合、データ・パケットはI2Cベースのデータ・パケットではない。第4のフィールドによって示されるカプセル化サービス・タイプが制御サービスであるが、第5のフィールドで示されるデータ・フォーマットがI2Cデータでない(たとえば、SPIデータ、UARTデータ、またはGPIOデータである)場合、データ・パケットはやはりI2Cベースのデータ・パケットではない。
【0187】
任意的に、本願のこの実施形態では、第1のフィールド、第2のフィールド、および第3のフィールドに加えて、パケット・ヘッダは、データ・パケットをカウントするために使用される巡回シーケンス番号などの別のフィールドをさらに含んでいてもよい。たとえば、ロード長インジケータが、ロード内のデータの長さを示すために使用される。加えて、パケット・ヘッダはさらに、その後の拡張のために使用されうるいくつかの予約フィールドを含んでいてもよい。
【0188】
本願の上記の実装が互いに組み合わされて、異なるデータ・パケット構造を形成し、異なる技術的効果を実装することができることに注意するべきである。たとえば、
図17は、本願のある実施形態による、データ・パケットの別の可能な構造の概略図である。
図17は、
図15に示されるデータ・パケットのパケット・ヘッダに、巡回シーケンス番号フィールドとロード長指示フィールドがさらに追加された後に得られる例である。
図18は、本願のある実施形態による、データ・パケットの別の可能な構造の概略図である。
図18は、
図16に示されるデータ・パケットのパケット・ヘッダに、巡回シーケンス番号フィールドとロード長指示フィールドがさらに追加された後に得られる例である。むろん、実際の適用では、ここに一つずつ列挙されていない他の組み合わせ態様がありうる。
【0189】
本願の実施形態で提供される方法が、
図11ないし
図18を参照して前述されている。本願の実施形態で提供される装置が、
図19ないし
図22を参照して以下に記述される。
【0190】
同じ技術コンセプトに基づき、本願のある実施形態は、I
2Cベースの通信装置1900をさらに提供する。装置1900は、
図11ないし
図18に示される実施形態における第1のデバイスを実装する機能を有する。たとえば、装置1900は、
図11ないし
図18に示される実施形態において第1のデバイスによって実行されるステップを実行するための対応するモジュール、ユニットまたは手段(means)を含む。該機能、ユニットまたは手段は、ソフトウェアまたはハードウェアによって実装されてもよく、あるいは、ハードウェアによって対応するソフトウェアを実行することによって実装されてもよい。
【0191】
たとえば、
図19に示されるように、装置1900は、下記を含んでいてもよい:
データ・パケットを生成するように構成された処理モジュール1901であって、データ・パケットはパケット・ヘッダ部分およびロード部分を含み、パケット・ヘッダ部分は第1のフィールドを含み、第1のフィールドはI
2Cステータスを示すために使用され、I
2Cステータスは、データ伝送の開始、データ伝送の継続、データ伝送の停止、確認応答ACK、または否定確認応答NACKのうちのいずれか一つを含み、ロードの長さは0ビット以上である、処理モジュールと;
データ・パケットを第2のデバイスに送信するように構成された送信モジュール1902。
【0192】
ある可能な実装では、第1のフィールドの値は、次の値のうちの一つまたは複数を含む:I2Cステータスがデータ伝送の開始であることを示すために使用される第1の値;I2Cステータスがデータ伝送の継続であることを示すために使用される第2の値;I2Cステータスがデータ伝送の停止であることを示すために使用される第3の値;I2CステータスがACKであることを示すために使用される第4の値;およびI2CステータスがNACKであることを示すために使用される第5の値。
【0193】
むろん、上記の5つの値は限定ではなく単に例である。具体的な実装の際には、第1のフィールドはより多数またはより少数の値を有していてもよい。
【0194】
ある可能な実装では、第1のフィールドはI2Cステータスがデータ伝送の開始であることを示し、ロード部分はスレーブ・デバイスのスレーブ・アドレスおよび読み取り/書き込みフラグを搬送する。
【0195】
ある可能な実装では、第1のフィールドはI2Cステータスがデータ伝送の継続であることを示し、ロード部分はI2Cデータを搬送する。
【0196】
ある可能な実装では、パケット・ヘッダ部分はさらに第2のフィールドを含み、第2のフィールドは、データ・パケットが属するフローのフロー識別子IDを示すために使用され、フローIDは少なくとも1つのI2Cインターフェースに対応する。
【0197】
フローIDとI2Cインターフェースの間の対応は、1対1、1対多、多対1、または多対多の関係でありうる。これは、本願では限定されない。
【0198】
ある可能な実装では、パケット・ヘッダ部分は第3のフィールドをさらに含み、第3のフィールドはデータ・パケットがI2Cベースのデータ・パケットであることを示すために使用される。
【0199】
第3のフィールドは、具体的には、1つのフィールドを使用して実装されてもよく、あるいは複数のフィールドを使用して実装されてもよい。これは、ここでは限定されない。
【0200】
上記の方法実施形態のステップのすべての関連する内容は、対応する機能モジュールの機能の記述に引用されてもよいことを理解するべきである。詳細については、ここでは再度説明しない。
【0201】
同じ技術コンセプトに基づき、本願のある実施形態は、I
2Cベースの通信装置2000をさらに提供する。装置2000は、
図11ないし
図18に示される実施形態における第2のデバイスを実装する機能を有する。たとえば、装置2000は、
図11ないし
図18に示される実施形態において第2のデバイスによって実行されるステップを実行するための対応するモジュール、ユニットまたは手段(means)を含む。該機能、ユニットまたは手段は、ソフトウェアまたはハードウェアによって実装されてもよく、あるいは、ハードウェアによって対応するソフトウェアを実行することによって実装されてもよい。
【0202】
たとえば、装置2000は、下記を含んでいてもよい:
第1のデバイスからデータ・パケットを受信するように構成された受信モジュール2001であって、データ・パケットはパケット・ヘッダ部分およびロード部分を含み、パケット・ヘッダ部分は第1のフィールドを含み、第1のフィールドはI2Cステータスを示すために使用され、I2Cステータスは、データ伝送の開始、データ伝送の継続、データ伝送の停止、確認応答ACK、または否定確認応答NACKのうちのいずれか一つを含み、ロードの長さは0ビット以上である、受信モジュールと;
第1のフィールドに基づいてI2Cステータスを判別するように構成された処理モジュール2002。
【0203】
ある可能な実装では、第1のフィールドの値は、次の値のうちの一つまたは複数を含む:I2Cステータスがデータ伝送の開始であることを示すために使用される第1の値;I2Cステータスがデータ伝送の継続であることを示すために使用される第2の値;I2Cステータスがデータ伝送の停止であることを示すために使用される第3の値;I2CステータスがACKであることを示すために使用される第4の値;およびI2CステータスがNACKであることを示すために使用される第5の値。
【0204】
むろん、上記の5つの値は限定ではなく単に例である。具体的な実装の際には、第1のフィールドはより多数またはより少数の値を有していてもよい。
【0205】
ある可能な実装では、第1のフィールドがI2Cステータスがデータ伝送の開始であることを示し、ロード部分はスレーブ・デバイスのスレーブ・アドレスおよび読み取り/書き込みフラグを搬送し;処理モジュール2002はさらに、少なくとも1つのI2Cインターフェースで開始状態を生成し、該少なくとも1つのI2Cインターフェースを通じて、スレーブ・アドレスが指すスレーブ・デバイスに、スレーブ・アドレスおよび読み取り/書き込みフラグを送信するように構成される。
【0206】
ある可能な実装では、第1のフィールドはI2Cステータスがデータ伝送の継続であることを示し、ロード部分はI2Cデータを搬送し;処理モジュール2002はさらに、少なくとも1つのI2Cインターフェースを通じて、スレーブ・アドレスが指すスレーブ・デバイスにI2Cデータを送信するように構成される。
【0207】
ある可能な実装では、パケット・ヘッダ部分はさらに第2のフィールドを含み、第2のフィールドは、データ・パケットが属するフローのフロー識別子IDを示すために使用され、フローIDは少なくとも1つのI2Cインターフェースに対応する。
【0208】
フローIDとI2Cインターフェースの間の対応は、1対1、1対多、多対1、または多対多の関係でありうる。これは、本願では限定されない。
【0209】
ある可能な実装では、パケット・ヘッダ部分は第3のフィールドをさらに含み、第3のフィールドはデータ・パケットがI2Cベースのデータ・パケットであることを示すために使用される。
【0210】
第3のフィールドは、具体的には、1つのフィールドを使用して実装されてもよく、あるいは複数のフィールドを使用して実装されてもよい。これは、ここでは限定されない。
【0211】
上記の方法実施形態のステップのすべての関連する内容は、対応する機能モジュールの機能の記述に引用されてもよいことを理解するべきである。詳細については、ここでは再度説明しない。
【0212】
同じ技術コンセプトに基づき、
図21に示されるように、本願のある実施形態は、装置2100であって:
少なくとも1つのプロセッサ2101と、該少なくとも1つのプロセッサ2101に通信接続された通信インターフェース2103とを含む装置をさらに提供する。前記少なくとも1つのプロセッサ2101は、メモリ2102に記憶された命令を実行し、それにより、本装置は、通信インターフェース2103を使用して、
図11ないし
図18に示される実施形態において第1のデバイスによって実行される方法ステップを実行できるようにされる。
【0213】
図21は一つのプロセッサ2101のみを示しているが、実際には複数のプロセッサ2101があってもよいことが理解されるべきである。
【0214】
任意的に、メモリ2102は装置2100の外部に位置する。
【0215】
任意的に、装置2100はメモリ2102を含み、メモリ2102は前記少なくとも1つのプロセッサ2101に接続され、メモリ2102は前記少なくとも1つのプロセッサ2101によって実行されることができる命令を記憶する。
【0216】
図21において、破線は、メモリ2102が装置2100にとって任意的であることを示すために使われていることを理解しておくべきである。
【0217】
プロセッサ2101とメモリ2102はインターフェース回路を通じて結合されてもよく、あるいは一緒に統合されてもよい。これは本願では限定されない。
【0218】
プロセッサ2101、メモリ2102、および通信インターフェース2103の間の具体的な接続媒体は、本願のこの実施形態では限定されない。本願のこの実施形態では、プロセッサ2101、メモリ2102、通信インターフェース2103は
図21におけるバス2104を通じて接続されている。バスは
図21において太線によって表されている。他のコンポーネント間の接続態様は単に説明のための例であり、これに限定されない。バスは、アドレスバス、データバス、制御バスなどに分類されてもよい。表現の簡単のため、
図21では表現のために一本の太線のみを使っているが、これはバスが一つだけであるとか、バスのタイプが一つだけであるという意味ではない。
【0219】
同じ技術コンセプトに基づき、
図22に示されるように、本願のある実施形態は、装置2200であって:
少なくとも1つのプロセッサ2201と、該少なくとも1つのプロセッサ2201に通信接続された通信インターフェース2203とを含む装置をさらに提供する。前記少なくとも1つのプロセッサ2201は、メモリ2202に記憶された命令を実行し、それにより、本装置は、通信インターフェース2203を使用して、
図11ないし
図18に示される実施形態において第2のデバイスによって実行される方法ステップを実行できるようにされる。
【0220】
図22は一つのプロセッサ2201のみを示しているが、実際には複数のプロセッサ2201があってもよいことが理解されるべきである。
【0221】
任意的に、メモリ2202は装置2200の外部に位置する。
【0222】
任意的に、装置2200はメモリ2202を含み、メモリ2202は前記少なくとも1つのプロセッサ2201に接続され、メモリ2202は前記少なくとも1つのプロセッサ2201によって実行されることができる命令を記憶する。
図22において、破線は、メモリ2202が装置2200にとって任意的であることを示すために使われている。
【0223】
プロセッサ2201とメモリ2202はインターフェース回路を通じて結合されてもよく、あるいは一緒に統合されてもよい。これは本願では限定されない。
【0224】
プロセッサ2201、メモリ2202、および通信インターフェース2203の間の具体的な接続媒体は、本願のこの実施形態では限定されない。本願のこの実施形態では、プロセッサ2201、メモリ2202、通信インターフェース2203は
図22におけるバス2204を通じて接続されている。バスは
図22において太線を使って表されている。他のコンポーネント間の接続態様は単に説明のための例であり、これに限定されない。バスは、アドレスバス、データバス、制御バスなどに分類されてもよい。表現の簡単のため、
図22では表現のために一本の太線のみを使っているが、これはバスが一つだけであるとか、バスのタイプが一つだけであるという意味ではない。
【0225】
本願の実施形態で言及されているプロセッサは、ハードウェアによって実装されてもよく、あるいはソフトウェアによって実装されてもよいことを理解すべきである。プロセッサがハードウェアによって実装される場合、プロセッサは論理回路、集積回路などでありうる。プロセッサがソフトウェアを使って実装される場合、プロセッサは汎用プロセッサであってもよく、メモリに記憶されたソフトウェアコードを読み取ることによって実装される。
【0226】
たとえば、プロセッサは中央処理装置(Central Processing Unit、CPU)であってもよく、あるいは別の汎用プロセッサ、デジタル信号プロセッサ(Digital Signal Processor、DSP)、特定用途向け集積回路(Application Specific Integrated Circuit、ASIC)、フィールドプログラマブルゲートアレイ(Field Programmable Gate Array、FPGA)、別のプログラマブル論理デバイス、離散ゲート、トランジスタ論理デバイス、離散ハードウェアコンポーネントなどであってもよい。汎用プロセッサはマイクロプロセッサであってもよく、プロセッサは従来のプロセッサなどであってもよい。
【0227】
本願の実施形態で言及されているメモリは、揮発性メモリまたは不揮発性メモリであってもよく、あるいは揮発性メモリと不揮発性メモリの両方を含んでいてもよいことが理解されうる。不揮発性メモリは、読み出し専用メモリ(Read-Only Memory、ROM)、プログラム可能な読み出し専用メモリ(Programmable ROM、PROM)、消去可能なプログラム可能な読み出し専用メモリ(Erasable PROM、EPROM)、電気的に消去可能なプログラム可能な読み出し専用メモリ(Electrically EPROM、EEPROM)、またはフラッシュメモリであってもよい。揮発性メモリは、ランダムアクセスメモリ(Random Access Memory、RAM)であってもよく、外部キャッシュとして使用される。限定ではなく例として、多くの形のRAMが使用でき、たとえば、静的ランダムアクセスメモリ(Static RAM、SRAM)、動的ランダムアクセスメモリ(Dynamic RAM、DRAM)、同期動的ランダムアクセスメモリ(Synchronous DRAM、SDRAM)、ダブルデータレート同期動的ランダムアクセスメモリ(Double Data Rate SDRAM、DDR SDRAM)、向上同期動的ランダムアクセスメモリ(Enhanced SDRAM、ESDRAM)、同期リンク動的ランダムアクセスメモリ(Synchlink DRAM、SLDRAM)、および直接ランバスランダムアクセスメモリ(Direct Rambus RAM、DR RAM)がある。
【0228】
プロセッサが汎用プロセッサ、DSP、ASIC、FPGA、別のプログラマブル論理デバイス、離散ゲートまたはトランジスタ論理デバイス、または離散ハードウェアコンポーネントである場合、メモリ(記憶モジュール)がプロセッサに統合されていてもよいことに注意するべきである。
【0229】
本明細書に記載されているメモリは、これらのメモリと別の適切なタイプのメモリを含むが、これらに限定されないことが意図されていることに注意するべきである。
【0230】
同じ技術的コンセプトに基づいて、
図23に示されているように、本願のある実施形態は、プロセッサ2301とインターフェース回路2302を含む装置2300をさらに提供する。インターフェース回路2302は、コード命令を受信し、該コード命令をプロセッサ2301に送信するように構成されている。プロセッサ2301は、コード命令を実行して、
図11ないし
図18に示される実施形態において第1のデバイスによって実行される方法を実行することができる。
【0231】
同じ技術的コンセプトに基づいて、
図24に示されているように、本願のある実施形態は、プロセッサ2401とインターフェース回路2402を含む装置2400をさらに提供する。インターフェース回路2402は、コード命令を受信し、該コード命令をプロセッサ2401に送信するように構成されている。プロセッサ2401は、コード命令を実行して、
図11ないし
図18に示される実施形態において第2のデバイスによって実行される方法を実行することができる。
【0232】
同じ技術的コンセプトに基づいて、本願のある実施形態はさらにチップを提供する。チップはメモリに結合され、メモリに記憶されたプログラム命令を読み取って実行して、
図11ないし
図18に示される実施形態において第1のデバイスによって実行される方法を実装するように構成される。
【0233】
同じ技術的コンセプトに基づいて、本願のある実施形態はさらにチップを提供する。チップはメモリに結合され、メモリに記憶されたプログラム命令を読み取って実行して、
図11ないし
図18に示される実施形態において第2のデバイスによって実行される方法を実装するように構成される。
【0234】
同じ技術的コンセプトに基づいて、本願のある実施形態はさらにコンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は命令を記憶するように構成される。命令が実行されると、
図11ないし
図18に示される実施形態において第1のデバイスによって実行される方法が実装される。
【0235】
同じ技術的コンセプトに基づいて、本願のある実施形態はさらにコンピュータ可読記憶媒体を提供する。コンピュータ可読記憶媒体は命令を記憶するように構成される。命令が実行されると、
図11ないし
図18に示される実施形態において第2のデバイスによって実行される方法が実装される。
【0236】
同じ技術的コンセプトに基づいて、本願のある実施形態は、命令を含むコンピュータ・プログラム・プロダクトをさらに提供する。コンピュータ・プログラム・プロダクトは、命令を記憶する。命令がコンピュータ上で実行されると、コンピュータは、
図11ないし
図18に示された実施形態において第1のデバイスによって実行される方法を実行できるようにされる。
【0237】
同じ技術的コンセプトに基づいて、本願のある実施形態は、命令を含むコンピュータ・プログラム・プロダクトをさらに提供する。コンピュータ・プログラム・プロダクトは、命令を記憶する。命令がコンピュータ上で実行されると、コンピュータは、
図11ないし
図18に示された実施形態において第2のデバイスによって実行される方法を実行できるようにされる。
【0238】
当業者は、本願の実施形態が、方法、装置、システム、またはコンピュータ・プログラム・プロダクトとして提供されうることを理解するはずである。したがって、本願は、ハードウェアのみの実施形態、ソフトウェアのみの実施形態、またはソフトウェアとハードウェアの組み合わせによる実施形態の形を使用することができる。さらに、本願は、コンピュータ使用可能なプログラムコードを含む一つまたは複数のコンピュータ使用可能な記憶媒体(ディスクメモリ、CD-ROM、光学メモリ等を含むが、これらに限定されない)に実装されたコンピュータ・プログラム・プロダクトの形を使用することができる。
【0239】
本願は、本願における方法、装置、システム、およびコンピュータ・プログラム・プロダクトのフローチャートおよび/またはブロック図を参照して記載されている。コンピュータ・プログラム命令は、フローチャートおよび/またはブロック図の各プロセスおよび/または各ブロックと、フローチャートおよび/またはブロック図のプロセスおよび/またはブロックの組み合わせを実装するために使用されてもよいことを理解すべきである。コンピュータ・プログラム命令は、汎用コンピュータ、専用コンピュータ、組み込みプロセッサ、または別のプログラマブルデータ処理装置のプロセッサのために提供されて機械を生成し、それにより、前記コンピュータまたは前記別のプログラマブルデータ処理装置のプロセッサによって実行される命令が、フローチャートにおける一つまたは複数の手順および/またはブロック図における一つまたは複数のブロックにおける特定の機能を実装するための装置を生成することができる。
【0240】
コンピュータ・プログラム命令は、代替的に、コンピュータまたは別のプログラマブルデータ処理装置が特定の仕方で動作するように導くことができるコンピュータ可読メモリに記憶されていてもよく、それにより、コンピュータ可読メモリに記憶された命令は、命令装置を含むアーティファクトを生成する。命令装置は、フローチャートにおける一つまたは複数の手順および/またはブロック図における一つまたは複数のブロックにおける特定の機能を実装する。
【0241】
コンピュータ・プログラム命令は、代替的に、コンピュータまたは別のプログラム可能なデータ処理装置にロードされてもよく、それにより、前記コンピュータまたは前記別のプログラム可能な装置で一連の動作ステップが実行されて、コンピュータ実装される処理を生成する。そのため、前記コンピュータまたは前記別のプログラム可能な装置で実行される命令は、フローチャートにおける一つまたは複数の手順および/またはブロック図における一つまたは複数のブロックにおける特定の機能を実装するためのステップを提供する。
【0242】
当業者は、本願の範囲から逸脱することなく、本願にさまざまな修正および変更を加えることができることは明らかである。このように、本願は、これらの修正および変更が添付の請求項およびそれらの同等の技術によって定義される保護の範囲内にある限り、これらの修正および変更をカバーすることが意図されている。