JP2023089317A - 通信装置及び通信システム - Google Patents

通信装置及び通信システム Download PDF

Info

Publication number
JP2023089317A
JP2023089317A JP2020083304A JP2020083304A JP2023089317A JP 2023089317 A JP2023089317 A JP 2023089317A JP 2020083304 A JP2020083304 A JP 2020083304A JP 2020083304 A JP2020083304 A JP 2020083304A JP 2023089317 A JP2023089317 A JP 2023089317A
Authority
JP
Japan
Prior art keywords
communication
information
protocol
storage unit
communication partner
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Pending
Application number
JP2020083304A
Other languages
English (en)
Inventor
宏雄 高橋
Hiroo Takahashi
崇 外枦保
Takashi SOTOHEBO
孝廉 平間
Takayasu Hirama
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Sony Semiconductor Solutions Corp
Original Assignee
Sony Semiconductor Solutions Corp
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Sony Semiconductor Solutions Corp filed Critical Sony Semiconductor Solutions Corp
Priority to JP2020083304A priority Critical patent/JP2023089317A/ja
Priority to KR1020227036108A priority patent/KR20230008043A/ko
Priority to CN202180033382.6A priority patent/CN115485998A/zh
Priority to EP21804411.3A priority patent/EP4152659A4/en
Priority to PCT/JP2021/017291 priority patent/WO2021230117A1/ja
Priority to US17/996,116 priority patent/US20230199306A1/en
Publication of JP2023089317A publication Critical patent/JP2023089317A/ja
Pending legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N23/00Cameras or camera modules comprising electronic image sensors; Control thereof
    • H04N23/60Control of cameras or camera modules
    • H04N23/66Remote control of cameras or camera parts, e.g. by remote control devices
    • H04N23/661Transmitting camera control signals through networks, e.g. control via the Internet
    • H04N23/662Transmitting camera control signals through networks, e.g. control via the Internet by using master/slave camera arrangements for affecting the control of camera image capture, e.g. placing the camera in a desirable condition to capture a desired image
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0056Systems characterized by the type of code used
    • H04L1/0061Error detection codes
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0041Arrangements at the transmitter end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/004Arrangements for detecting or preventing errors in the information received by using forward error control
    • H04L1/0045Arrangements at the receiver end
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/0078Avoidance of errors by organising the transmitted data in a format specifically designed to deal with errors, e.g. location
    • H04L1/0083Formatting with frames or packets; Protocol or part of protocol for error control
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L1/00Arrangements for detecting or preventing errors in the information received
    • H04L1/12Arrangements for detecting or preventing errors in the information received by using return channel
    • H04L1/16Arrangements for detecting or preventing errors in the information received by using return channel in which the return channel carries supervisory signals, e.g. repetition request signals
    • H04L1/18Automatic repetition systems, e.g. Van Duuren systems
    • H04L1/1812Hybrid protocols; Hybrid automatic repeat request [HARQ]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security protocols
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N17/00Diagnosis, testing or measuring for television systems or their details
    • H04N17/002Diagnosis, testing or measuring for television systems or their details for television cameras

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Multimedia (AREA)
  • Computer Security & Cryptography (AREA)
  • Health & Medical Sciences (AREA)
  • Biomedical Technology (AREA)
  • General Health & Medical Sciences (AREA)
  • Communication Control (AREA)
  • Detection And Prevention Of Errors In Transmission (AREA)

Abstract

【課題】動作上の不具合を生じさせずにオペレーションのエラー検出を行う。【解決手段】通信装置は、プロトコルに従って通信相手装置と通信する通信部を備え、前記プロトコルは、前記通信相手装置の識別情報と、書き込み指示情報と、前記通信相手装置が有する第1記憶部の識別情報と、前記第1記憶部に書き込まれるデータと、を含む少なくとも一つの第1オペレーションと、前記少なくとも一つの第1オペレーションに続いて配置され、前記通信相手装置の識別情報と、書き込み指示情報と、前記通信相手装置が有する第2記憶部の識別情報と、前記第2記憶部に記憶される前記プロトコルの数を示す情報及び前記プロトコルの誤りを検出するCRC符号と、を含む第2オペレーションと、を有する。【選択図】図5

Description

本開示は、通信装置及び通信システムに関する。
自動運転を実用化するにあたって、車載用のカメラで撮影された画像データを高速に伝送する技術が必要とされる。車載用のカメラを制御するために、CCI(Camera Control Interface)が用いられることが多い(特許文献1参照)。
特開2002-175269号公報
しかしながら、CCIは、モバイル市場向けに開発されたものであり、伝送時のエラー検出機能を備えていない。CCIで送受されるオペレーション(パケット)にCRC(Cyclic Redundancy Check)符号を付加したプロトコルを適用することも考えられるが、CCIで送受される既存のオペレーションとの互換性がなくなる。例えば、ホスト装置がイメージセンサに送信するオペレーションの最後尾にCRC符号を付加したとすると、イメージセンサは、CRC符号をレジスタ書き込みデータと誤認識するおそれがある。この結果、エラー検出を正常に行えないだけでなく、レジスタに誤ったデータが書き込まれて、イメージセンサが誤動作を起こしたり、異常停止するおそれがある。
そこで、本開示は、動作上の不具合を生じさせずにオペレーションのエラー検出を行うことができる通信装置及び通信システムを提供するものである。
上記の課題を解決するために、本開示によれば、プロトコルに従って通信相手装置と通信する通信部を備え、
前記プロトコルは、
前記通信相手装置の識別情報と、書き込み指示情報と、前記通信相手装置が有する第1記憶部の識別情報と、前記第1記憶部に書き込まれるデータと、を含む少なくとも一つの第1オペレーションと、
前記少なくとも一つの第1オペレーションに続いて配置され、前記通信相手装置の識別情報と、書き込み指示情報と、前記通信相手装置が有する第2記憶部の識別情報と、前記第2記憶部に記憶される前記プロトコルの数を示す情報及び前記プロトコルの誤りを検出するCRC(Cyclic Redundancy Check)符号と、を含む第2オペレーションと、を有する、通信装置が提供される。
前記第1オペレーションと前記第2オペレーションとに含まれる前記通信相手装置の識別情報は、同一であってもよい。
前記第1オペレーション内の前記第1記憶部に書き込まれるデータの先頭位置は、前記第2オペレーション内の前記プロトコルの数を示す情報の先頭位置と等しく、前記プロトコルの数を示す情報の後に前記CRC符号が配置されてもよい。
前記通信相手装置に送信される前記プロトコルの数をカウントするカウンタと、
前記少なくとも一つの前記第1オペレーションに含まれる各情報と、前記第2オペレーション内の前記CRC符号より前に配置される各情報とに基づいて、前記CRC符号を生成するCRC符号生成部と、を備える、請求項1乃至3のいずれか一項に記載の通信装置。
前記プロトコルは、先頭の前記第1オペレーションの冒頭に配置されるスタートフラグと、2つ目以降の前記第1オペレーションの冒頭に配置される再スタートフラグと、前記第2オペレーションの冒頭に配置される再スタートフラグと、前記第2オペレーションの最後尾に配置されるストップフラグと、を含んでもよい。
前記第1オペレーション及び前記第2オペレーション内の各情報を前記通信相手装置に送信するたびに、前記通信相手装置から受領通知信号又は前記受領通知信号の逆論理信号を受信し、前記逆論理信号が受信されると、ストップフラグを前記通信相手装置に送信し、かつ前記プロトコルの数を示す情報をインクリメントした後に、前記プロトコルを先頭から再送する処理を行う再送処理部を備えてもよい。
前記第1オペレーション及び前記第2オペレーション内の各情報を前記通信相手装置に送信するたびに、前記通信相手装置から受領通知信号又は前記受領通知信号の逆論理信号を受信し、前記逆論理信号が受信されると、前記プロトコルの数を示す情報をインクリメントした後に、前記プロトコルを先頭から再送する処理を行う再送処理部を備えてもよい。
前記第2オペレーション内の前記プロトコルの数を示す情報を送信した後、前記通信相手装置から受領通知信号の逆論理信号を受信した場合に、前記プロトコルの数を示す情報を初期化するとともに、前記通信相手装置がカウントしている前記プロトコルの数を示す情報及び前記通信相手装置が保存するエラーフラグを初期化するよう前記通信相手装置に指示する第1エラー処理部と、
前記第2オペレーション内の前記CRC符号を送信した後、前記通信相手装置から前記受領通知信号の逆論理の信号を受信した場合に、前記プロトコルの数を示す情報を初期化するとともに、前記通信相手装置がカウントしている前記プロトコルの数を示す情報及び前記通信相手装置が保存するエラーフラグを初期化するよう前記通信相手装置に指示する第2エラー処理部と、を有してもよい。
前記通信相手装置は、撮像装置であり、
前記プロトコルの前記第1オペレーションは、前記撮像装置を制御するデータを含んでもよい。
本開示によれば、少なくとも一つの第1オペレーション及び第2オペレーションを含むプロトコルに従って通信相手装置と通信する通信部と、
前記第1オペレーションに含まれるデータを記憶する第1記憶部と、
前記第2オペレーションに含まれる前記プロトコルの数を示す情報及び前記プロトコルの誤りを検出する第1CRC符号を記憶する第2記憶部と、
前記通信部で受信された前記プロトコルの数をカウントするカウンタと、
前記通信部で受信された前記プロトコル内の前記第1CRC符号よりも前に配置される前記第1オペレーション及び前記第2オペレーションの各情報に基づいて、第2CRC符号を生成するCRC符号生成部と、
前記第2オペレーションに含まれる前記プロトコルの数を示す情報と、前記カウンタでカウントされた数とを比較する第1比較器と、
前記第1CRC符号と前記第2CRC符号とを比較する第2比較器と、
前記第1比較器での比較結果が一致しない場合に第1エラー検出信号を出力する第1エラー検出部と、
前記第2比較器での比較結果が一致しない場合に第2エラー検出信号を出力する第2エラー検出部と、を備える、通信装置が提供される。
前記第1オペレーションに当該通信装置の識別情報が含まれ、かつ前記第1オペレーションに前記第1記憶部の識別情報が含まれ、かつ前記第1オペレーションに書き込み指示情報が含まれる場合に、前記第1オペレーションに含まれるデータを前記第1記憶部に記憶する制御を行い、かつ前記第2オペレーションに前記第2記憶部の識別情報が含まれる場合に、前記第2オペレーションに含まれる前記プロトコルの数を示す情報及び前記第1CRC符号を前記第2記憶部に記憶する制御を行う書き込み処理部を備えてもよい。
前記カウンタでカウントされた数と、前記CRC符号生成部で生成された前記第2CRC符号とを記憶する第3記憶部と、
前記プロトコル内の前記第2オペレーションに読み出し指示情報が含まれ、かつ前記第2オペレーションに前記第3記憶部の識別情報が含まれる場合に、前記第3記憶部に記憶された前記カウンタでカウントされた数と、前記CRC符号生成部で生成された前記第2CRC符号とを前記通信部を介して送信する制御を行う読み出し処理部と、を備えてもよい。
画像信号を出力する撮像部を備え、
前記通信相手装置は、前記撮像部を制御するとともに、前記画像信号に対する画像処理を行う制御装置であってもよい。
本開示によれば、読み出し要求情報を含むプロトコルに従って通信相手装置と通信する通信部を備え、
前記プロトコルは、
前記通信相手装置の識別情報、書き込み指示情報、前記通信相手装置が有する第1記憶部の識別情報、前記通信相手装置の識別情報、及び読み出し指示情報を含む第1読み出し要求情報と、前記第1読み出し要求情報に応じて前記第1記憶部から読み出されて前記通信相手装置から送信された情報と、を含む少なくとも一つの第1オペレーションと、
前記通信相手装置の識別情報と、書き込み指示情報と、前記通信相手装置がカウントする前記プロトコルの数を示す情報及び前記通信相手装置が生成する前記プロトコルの誤りを検出するCRC符号が記憶された第2記憶部の識別情報と、前記通信相手装置の識別情報と、読み出し指示情報と、を含む第2読み出し要求情報と、前記第2読み出し要求情報に応じて前記第2記憶部から読み出されて前記通信相手装置から送信された情報と、を含む第2オペレーションと、を有する、通信装置が提供される。
前記第1オペレーションと前記第2オペレーションとに含まれる前記通信相手装置の識別情報は、同一であってもよい。
前記プロトコルは、先頭の前記第1オペレーションの冒頭に配置されるスタートフラグと、2つ目以降の前記第1オペレーションの冒頭に配置される再スタートフラグと、前記第2オペレーションの冒頭に配置される再スタートフラグと、前記第2オペレーションの最後尾に配置されるストップフラグと、を含んでもよい。
前記通信相手装置に送信した前記プロトコルの数をカウントするカウンタと、
前記通信相手装置に送信した前記プロトコルのそれぞれに含まれる各情報に基づいてCRC符号を生成するCRC符号生成部と、
前記通信相手装置から送信された前記プロトコルの数を示す情報と、前記カウンタでカウントされた数とを比較する第1比較器と、
前記通信相手装置から送信された前記CRC符号と、前記CRC符号生成部で生成された前記CRC符号とを比較する第2比較器と、
前記第1比較器及び前記第2比較器の少なくとも一方での比較結果が一致しない場合に、エラー処理を行うエラー処理部と、を備えてもよい。
前記エラー処理部は、前記カウンタのカウント値を初期化するとともに、前記通信相手装置がカウントしている前記プロトコルの数を示す情報とエラー検出フラグとをゼロクリアするよう前記通信相手装置に指示してもよい。
前記第1オペレーションに含まれる前記通信相手装置の識別情報を送信した場合、前記第1オペレーションに含まれる前記通信相手装置の第1記憶部の識別情報を送信した場合、前記通信相手装置に再スタートフラグを送信後の前記第1オペレーション又は前記第2オペレーションに含まれる前記通信相手装置の識別情報を送信した場合、及び前記第2オペレーション内の前記第2記憶部の識別情報を送信した場合の少なくとも一つにおいて、前記通信相手装置から受領通知信号の逆論理信号を受信した場合に、前記カウンタでカウントする前記プロトコルの数をカウントアップした上で、前記プロトコルの再送処理を行う再送処理部を備えてもよい。
本開示によれば、第1通信装置と、
第2通信装置と、を備え、
前記第1通信装置は、第1プロトコルに従って前記第2通信装置と通信する第1通信部を有し、
前記第1プロトコルは、
前記第2通信装置の識別情報と、前記第2通信装置が有する第1記憶部の識別情報と、前記第1記憶部に書き込まれるデータと、を含む少なくとも一つの第1オペレーションと、
前記少なくとも一つの第1オペレーションに続いて配置され、前記第2通信装置の識別情報と、前記第2通信装置が有する第2記憶部の識別情報と、前記第2記憶部に記憶される前記第1プロトコルの数を示す情報及び前記第1プロトコルの誤りを検出するCRC(Cyclic Redundancy Check)符号と、を含む第2オペレーションと、を有し、
前記第2通信装置は、
前記第1プロトコルに従って前記第1通信装置と通信する第2通信部と、
前記第1オペレーションに含まれるデータを記憶する第1記憶部と、
前記第2オペレーションに含まれる前記第1プロトコルの数を示す情報及び前記第1プロトコルの誤りを検出する第1CRC符号を記憶する第2記憶部と、
前記第2通信部で受信された前記第1プロトコルの数をカウントするカウンタと、
前記第2通信部で受信された前記第1プロトコル内の前記第1CRC符号よりも前に配置される前記第1オペレーション及び前記第2オペレーションの各情報に基づいて、第2CRC符号を生成するCRC符号生成部と、
前記第2オペレーションに含まれる前記第1プロトコルの数を示す情報と、前記カウンタでカウントされた数とを比較する第1比較器と、
前記第1CRC符号と前記第2CRC符号とを比較する第2比較器と、
前記第1比較器での比較結果が一致しない場合に第1エラー検出信号を出力する第1エラー検出部と、
前記第2比較器での比較結果が一致しない場合に第2エラー検出信号を出力する第2エラー検出部と、を有する、通信システムが提供される。
前記第1通信装置は、前記第2通信装置に対して読み出し要求情報を含む第2プロトコルを送信し、
前記第2通信装置は、前記カウンタでカウントされた数と、前記CRC符号生成部で生成された前記第2CRC符号とを記憶する第3記憶部を有し、
前記第2プロトコルは、
前記第2通信装置の識別情報、書き込み指示情報、前記第2通信装置が有する第1記憶部の識別情報、前記第2通信装置の識別情報、及び読み出し指示情報を含む第1読み出し要求情報と、前記第1読み出し要求情報に応じて前記第1記憶部から読み出されて前記第2通信装置から送信された情報と、を含む少なくとも一つの第3オペレーションと、
前記第2通信装置の識別情報と、書き込み指示情報と、前記第3記憶部の識別情報と、前記第2通信装置の識別情報と、読み出し指示情報と、を含む第2読み出し要求情報と、前記第2読み出し要求情報に応じて前記第3記憶部から読み出されて前記第2通信装置から送信された情報と、を含む第4オペレーションと、を有してもよい。
前記第1通信装置との間でシリアル通信を行う第3通信装置と、
前記第2通信装置との間でシリアル通信を行うとともに、前記第3通信装置との間でシリアル通信を行う第4通信装置と、を備え、
前記第3通信装置及び前記第4通信装置は、前記第1プロトコル及び前記第2プロトコルを中継してもよい。
前記第1通信装置及び前記第3通信装置は、I2C(Inter-Integrated Circuits)又はI3C(Improved Inter Integrated Circuits)通信を行い、
前記第2通信装置及び前記第4通信装置は、I2C又はI3C通信を行ってもよい。
一実施形態によるマスタ及びスレーブを備えた通信システム3の概略構成を示すブロック図。 通信システムが採用する通信規格等を示す図。 マスタ内のSoCとデシリアライザ6の内部構成を示すブロック図。 スレーブ内のイメージセンサとシリアライザの内部構成を示すブロック図。 本実施形態におけるCCIに準拠した書き込みプロトコルの一例を示す図。 スタートフラグ及び再スタートフラグを示す波形図。 ストップフラグを示す波形図。 本実施形態におけるCCIに準拠した読み出しプロトコルの一例を示す図。 書き込みプロトコルの一具体例を示す図。 読み出しプロトコルの一具体例を示す図。 SoCの書き込み処理の手順を示すフローチャート。 図10Aに続くフローチャート。 図10AのステップS4、S8、S11と図10BのステップS16で行う再送処理の詳細な処理手順を示すフローチャート。 図10BのステップS19とS22で行うエラー処理の詳細な処理手順を示すフローチャート。 イメージセンサの処理手順を示すフローチャート。 図12Aに続くフローチャート。 図12Bに続くフローチャート。 図12BのステップS75、図12CのステップS86、S93のエラー処理の詳細な処理手順を示すフローチャート。 図12BのステップS79の詳細な処理手順を示すフローチャート。 図12BのステップS82の詳細な処理手順を示すフローチャート。 SoCの読み出し処理の手順を示すフローチャート。 図14Aに続くフローチャート。 図14AのステップS134、S138及びS142と、図14BのS150及びS154の詳細な処理手順を示すフローチャート。 図14BのステップS162で、マスタ側エラー検出信号MC_err又はCRC_errが出力されたときのエラー処理の詳細な処理手順を示すフローチャート。
以下、図面を参照して、通信装置及び通信システムの実施形態について説明する。以下では、通信装置及び通信システムの主要な構成部分を中心に説明するが、通信装置及び通信システムには、図示又は説明されていない構成部分や機能が存在しうる。以下の説明は、図示又は説明されていない構成部分や機能を除外するものではない。
図1は一実施形態によるマスタ1及びスレーブ2を備えた通信システム3の概略構成を示すブロック図である。図1では、スレーブ2からマスタ1に映像信号を伝送する際の信号の流れを矢印で示しているが、マスタ1からスレーブ2に映像信号を伝送してもよい。本明細書では、マスタ1及びスレーブ2の一方を通信装置又は第1通信装置と呼び、他方を通信相手装置又は第2通信装置と呼ぶことがある。
図1のマスタ1とスレーブ2は、1本のケーブル4で繋がっており、このケーブル4を介して、双方向に信号を伝送する。より具体的には、マスタ1とスレーブ2は、TDD(Time Division Duplexing)方式、あるいは、FDD(Frequency Division Duplexing)にて双方向に信号を伝送する。図1では、マスタ1からスレーブ2への信号伝送をReverse channelと呼び、スレーブ2からマスタ1への信号伝送をForward channelと呼んでいる。
マスタ1は、SoC(System On Chip)5とデシリアライザ6を有する。SoC5は、デシリアライザ6から送信された映像信号等を受信する。また、SoC5は、デシリアライザ6との間で制御信号等を送受する。SoC5とデシリアライザ6との間での制御信号等の送受は、例えばI2C(Inter-Integrated Circuits)通信又はI3C(Improved Inter Integrated Circuits)通信で行われる。
デシリアライザ6は、スレーブ2内のシリアライザ12から送信された映像信号等をパラレル信号に変換してSoC5に送信する。また、デシリアライザ6は、SoC5から送信された制御信号を受信して、シリアライザ12に送信する。シリアライザ12とデシリアライザ6との間では、双方向シリアル通信が行われる。双方向シリアル通信の速度は非対称であり、例えば、シリアライザ12からデシリアライザ6への伝送速度は、デシリアライザ6からシリアライザ12への伝送速度よりも速い。
デシリアライザ6は、第1MUX部7と、第1受信部(Fw. Rx)8と、第1送信部(Rv. Tx)9と、第1LINK部10とを有する。
第1MUX部7は、ケーブル4を介して受信されたスレーブ2からのシリアル信号と、第1送信部9から出力されたシリアル信号とを、TDDサイクル中の時間配分に従って切り替える、あるいは、異なる周波数チャネルを用いてFDDで伝送する。
第1受信部8は、シリアライザ12からケーブル4を介して送信されたシリアル信号(若しくは多値信号)を受信し、必要に応じて等化処理と誤り検出もしくは誤り訂正処理を行った後にパラレル信号に変換する。第1送信部9は、パラレル信号をシリアル信号に変換して、第1MUX部7に供給する。
第1LINK部10は、SoC5から出力された送信信号を第1送信部9に送信する処理と、第1受信部8から出力されたデコード信号をSoC5に送信する処理とを、時間に応じて切り替えて行う。
スレーブ2は、イメージセンサ11とシリアライザ12を有する。イメージセンサ11は、映像信号等を含むパラレル信号を出力する。また、イメージセンサ11は、シリアライザ12との間で制御信号を送受する。イメージセンサ11とシリアライザ12との間での制御信号の送受は、例えばI2C通信又はI3C通信を行う。本明細書及び図面では、イメージセンサ11をCIS(CMOS Image Sensor)と表記することがある。
シリアライザ12は、第2MUX部13と、第2受信部14(Rv. Rx)14と、第2送信部(Fw. Tx)15と、第2LINK部16とを有する。
第2MUX部13は、ケーブル4を介して受信されたマスタ1からのシリアル信号と、第2送信部15から出力されたシリアル信号とを、TDDサイクル中の時間配分に従って切り替える、あるいは、異なる周波数チャネルを用いてFDDで伝送する。
第2受信部14は、デシリアライザ6からケーブル4を介して送信されたシリアル信号(若しくは多値信号)を受信し、必要に応じて等化処理と誤り検出もしくは誤り訂正処理を行った後にパラレル信号に変換する。第2送信部15は、パラレル信号をシリアル信号に変換して、第2MUX部13に供給する。
第2LINK部16は、イメージセンサ11から出力されたパラレル信号を第2送信部15に送信する処理と、第2受信部14から出力されたデコード信号をイメージセンサ11に送信する処理とを、時間に応じて切り替えて行う。
SoC5は、デシリアライザ6を制御する通信制御部として機能する。より具体的には、SoC5は、スレーブ2への下り方向(第1方向)の信号比率と、スレーブ2からの上り方向(第2方向)の信号比率とを、スレーブ2との信号伝送状態に応じて変更することができる。SoC5が変更した信号比率は、デシリアライザ6に送られる。デシリアライザ6は、自身の信号比率を記憶部10aに記憶するとともに、スレーブ2の信号比率を含む信号を、ケーブル4を介してスレーブ2に送信する。スレーブ2は、受信された信号比率を例えばシリアライザ12内の記憶部16aに記憶する。記憶部10a、16aは、例えばレジスタ又は半導体メモリで構成することができる。
図2はマスタ1内のSoC5及びデシリアライザ6が採用する通信規格等と、スレーブ2内のイメージセンサ11及びシリアライザ12が採用する通信規格等の一例を示す図である。図2に示すように、SoC5とデシリアライザ6は、CSI-2(Camera Serial Interface 2)とMIPI(Mobile Industry Processor Interface)の物理層の標準規格であるC-PHY又はD-PHYにて、映像信号を送受する。また、SoC5とデシリアライザ6は、CCIのプロトコルをI2C通信又はI3C通信で送受する。
同様に、スレーブ2内のイメージセンサ11とシリアライザ12は、CSI-2とC-PHY又はD-PHYにて、映像信号を送受する。また、イメージセンサ11とシリアライザ12は、CCIのプロトコルをI2C通信又はI3C通信で送受する。
一方、シリアライザ12とデシリアライザ6は、A-PHYとAAL(A-PHY Adaptation Layer)にてシリアル通信を行う。なお、図2に示す通信規格以外の通信規格を用いてもよい。
図3はマスタ1内のSoC5とデシリアライザ6の内部構成を示すブロック図である。図3のブロック図は、CCIのプロトコルに関連のあるブロック構成を示しており、それ以外の構成は割愛している。デシリアライザ6は、SoC5が送信したプロトコルを受信して、スレーブ2内のシリアライザ12に送信する。デシリアライザ6とシリアライザ12は、シリアル伝送する。
SoC5は、通信部21と、CCI部22と、レジスタ群(Registers)23と、プロセッサ24と、RAM25とを有する。通信部21は、デシリアライザ6との間でI2C又はI3C通信を行う。SoC5は、スレーブ2内のイメージセンサ11との間で各種情報を送受するため、通信部21は、後述するプロトコルに従ってスレーブ2と通信を行う。なお、図3に示すSoC5は、I2C/I3C通信に関連のあるブロック構成のみを示している。
CCI部22は、MC_M生成部(メッセージカウンタ)26と、CRC_M生成部(CRC符号生成部)27と、書き込み処理部(Write処理部)28と、読み出し処理部(Read処理部)29とを有する。
MC_M生成部26は、SoC5からスレーブ2に送信されるプロトコルの数をカウントする。本明細書では、SoC5内のMC_M生成部26のカウント値をメッセージカウント値MC_Mと呼ぶ。プロトコルは、後述するように、スタートフラグを送信してからストップフラグを送信するまでの複数のオペレーションで構成される。各オペレーションは、8ビット単位の複数のビット列情報の集合体である。本明細書では、スレーブ2への通常の書き込みを行うオペレーションを第1オペレーションと呼び、スレーブ2に対してメッセージカウント値MC_MとCRC符号CRC_Mの書き込みを行うオペレーションを第2オペレーションと呼ぶ。
CRC_M生成部27は、プロトコル内のCRC符号より前に配置される全情報に基づいて、CRC符号CRC_Mを生成する。CRC符号CRC_Mは、プロトコルの誤りを検出するためにオペレーションに付加される冗長符号である。CRC符号CRC_Mは、第2オペレーションの最後尾のストップフラグPの直前に配置される。言い換えると、CRC符号CRC_Mは、第2オペレーション内のメッセージカウント値MC_Mの直後に配置される。
書き込み処理部28は、スレーブ2に送信するプロトコル(以下では、書き込みプロトコルと呼ぶこともある)を生成する。プロトコルは、少なくとも一つの第1オペレーションと、第2オペレーションとを含んでいる。第1オペレーションは、CCIのプロトコルで通常送信されるデータ形式を有し、後述するように、スレーブアドレス、レジスタアドレス、及びデータを含んでいる。第2オペレーションは、本実施形態に特有のものであり、スレーブアドレス、W_MCレジスタアドレス、MC_M生成部26でカウントしたメッセージカウント値MC_M、及びCRC_M生成部27で生成されたCRC符号CRC_Mとを含んでいる。W_MCレジスタアドレスは、後述するように、スレーブ2内のイメージセンサ11に設けられる、メッセージカウント値MC_Mを記憶するレジスタアドレスである。
書き込み処理部28は、スレーブ側MCエラー検出部(Slave side MC Error(M)検出部)30と、スレーブ側CRCエラー検出部(Slave side CRC Error(M)検出部)31とを有する。
スレーブ側MCエラー検出部30は、MC_M送信時NACK検出部30aと、スレーブ側MCエラー出力部(SlaveSide MC_err(M))30bとを有する。
MC_M送信時NACK検出部30aは、メッセージカウント値MC_Mをプロトコルに含めてスレーブ2に送信したときに、スレーブ2がNACK信号(受領通知信号)を返送したことを検出する。NACK信号とは、ACK信号の逆論理の信号であり、情報を正常に受け取れなかったことを示す信号である。
スレーブ側MCエラー出力部30bは、メッセージカウント値MC_Mに対してNACK信号が返送されると、スレーブ側でメッセージカウント値MC_Mを正しく受信できなかったと判断してエラー検出信号MC_err(M)を出力する。
スレーブ側CRCエラー検出部31は、CRC_M送信時NACK検出部31aと、スレーブ側CRCエラー出力部(SlaveSide CRC_err(M))31bとを有する。CRC_M送信時NACK検出部31aは、CRC符号CRC_Mをプロトコルに含めてスレーブ2に送信したときに、スレーブ2がNACK信号を返送したことを検出する。スレーブ側CRCエラー出力部31bは、CRC符号CRC_Mに対してNACK信号が返送されると、スレーブ側でCRC符号CRC_Mを正しく受信できなかったと判断してエラー検出信号CRC_err(M)を出力する。
読み出し処理部29は、スレーブ2内のイメージセンサ11が送信したメッセージカウント値MC_SとCRC符号CRC_Sを読み出す処理を行う。読み出し処理部29は、マスタ側MCエラー検出部32と、マスタ側CRCエラー検出部33とを有する。
マスタ側MCエラー検出部32は、第1比較器32aと、マスタ側MCエラー出力部(MasterSide MC_err)32bとを有する。第1比較器32aは、マスタ1内のSoC5内部のMC_M生成部26でカウントしたメッセージカウント値MC_Mと、スレーブ2内のイメージセンサ11内でカウントしたメッセージカウント値MC_Sとを比較する。マスタ側MCエラー出力部32bは、第1比較器32aで一致が検出されなければ、マスタ側エラー検出信号MC_errを出力する。
マスタ側CRCエラー検出部33は、第2比較器33aと、マスタ側CRCエラー出力部(MasterSide CRC_err)33bとを有する。第2比較器33aは、SoC5内部のCRC_M生成部27で生成したCRC符号CRC_Mと、イメージセンサ11内で生成したCRC符号CRC_Sとを比較する。マスタ側CRCエラー出力部33bは、第2比較器33aで一致が検出されなければ、マスタ側エラー検出信号CRC_errを出力する。
デシリアライザ6は、通信部34と、CCI部35と、FIFO部36と、AAL処理部37と、A-PHY処理部38とを有する。なお、図3に示すデシリアライザ6は、I2C/I3C通信に関連のあるブロック構成のみを示している。
通信部34は、SoC5との間でI2C通信又はI3C通信を行う。CCI部35は、書き込み処理部35aと読み出し処理部35bを有する。書き込み処理部35aは、SoC5から送信されたプロトコル内のメッセージカウント値とCRC値をチェックすることなく、FIFO36にプロトコルを書き込む。上述したように、デシリアライザ6とシリアライザ12は、プロトコルを改変することなく、プロトコルの伝送処理を行う。
図3の通信部34は図1の第1LINK部10に含まれる。また、図3のFIFO部36、AAL処理部37及びA-PHY処理部38は図1の第1MUX部7に含まれる。
図4はスレーブ2内のイメージセンサ11とシリアライザ12の内部構成を示すブロック図である。図4のブロック図は、CCIのプロトコルに関連のあるブロック構成を示しており、それ以外の構成は割愛している。イメージセンサ11は、通信部41と、CCI部42と、レジスタ群(Registers)43と有する。
通信部41は、シリアライザ12との間でI2C通信又はI3C通信を行う。通信部41は、シリアライザ12から送信されたプロトコルを受信する。イメージセンサ11は、マスタ1内のSoC5との間で各種情報を送受するため、通信部41は、後述するプロトコルに従ってマスタ1と通信を行う。プロトコルには、少なくとも一つの第1オペレーションと第2オペレーションとが含まれている。第2オペレーションには、プロトコルの数を示す情報(メッセージカウント値MC_M)と、第1CRC符号CRC_Mが含まれている。第1CRC符号CRC_Mは、SoC5で生成されてプロトコルに組み込まれる。
CCI部42は、MC_S生成部(メッセージカウンタ)44と、CRC_S生成部(CRC符号生成部)45と、第1比較器46と、第2比較器47と、スレーブ側MCエラー検出部(SlaveSide MC_err(S)、第1エラー検出部)48と、スレーブ側CRCエラー検出部(SlaveSide CRC_err(S)、第2エラー検出部)49と、書き込み処理部(Write処理部)50と、読み出し処理部(Read処理部)51とを有する。
MC_S生成部44は、通信部41で受信されたプロトコルの数をカウントする。CRC_S生成部45は、通信部41で受信されたプロトコル内の第1CRC符号CRC_Mよりも前に配置された第1オペレーション及び第2オペレーションの各情報に基づいて、第2CRC符号を生成する。
第1比較器46は、第2オペレーションに含まれるプロトコルの数を示す情報と、MC_S生成部44でカウントされた数とを比較する。スレーブ側MCエラー検出部48は、第1比較器46で一致が検出されなければ、スレーブ側MCエラー検出信号MC_err(S)を出力する。第2比較器47は、第1CRC符号と第2CRC符号とを比較する。スレーブ側CRCエラー検出部49は、第2比較器47で一致が検出されなければ、スレーブ側CRCエラー検出信号CRC_err(S)を出力する。
書き込み処理部50は、第1オペレーションにイメージセンサ11の識別情報が含まれ、かつ第1オペレーションにレジスタ(第1記憶部、Other registers)43aの識別情報が含まれ、かつ第1オペレーションに書き込みを示すR/Wビットが含まれる場合に、第1オペレーションに含まれるデータをレジスタ群43のレジスタ(第1記憶部)43aに記憶する制御を行い、かつ第2オペレーションにレジスタ(第2記憶部)43bの識別情報が含まれる場合に、第2オペレーションに含まれるプロトコルの数を示す情報及び第1CRC符号をレジスタ群43のレジスタ(第2記憶部)43bに記憶する制御を行う。
読み出し処理部51は、第1オペレーションにイメージセンサ11の識別情報が含まれ、かつ第1オペレーションに読み出しを示すR/Wビットが含まれ、かつ第2オペレーションにレジスタ(第3記憶部)43cの識別情報が含まれる場合に、レジスタ(第3記憶部)43cに記憶されたMC_S生成部44でカウントされた数と、CRC_S生成部45で生成された第2CRC符号とを通信部41を介して送信する制御を行う。
レジスタ群43は、複数のレジスタの集合体である。なお、レジスタ群43は、RAMや不揮発メモリで構成してもよい。レジスタ群43は、レジスタ(第1記憶部)43aと、レジスタ(第2記憶部)43bと、レジスタ(第3記憶部)43cと、レジスタ(第4記憶部)43dとを有する。
レジスタ(第1記憶部、other registersと呼ぶ場合もある)43aは、マスタ1内のSoC5から送信されたプロトコル内の第1オペレーションに含まれるデータを記憶する。第1オペレーションの中のレジスタアドレスは、レジスタ(第1記憶部)43aのアドレスである。このアドレスで指定されたレジスタ(第1記憶部)43aの特定箇所に、第1オペレーションの中のデータが順に記憶される。
レジスタ(第2記憶部)43bは、マスタ1内のSoC5から送信されたプロトコル内の第2オペレーションに含まれるMC_Mレジスタアドレスで指定された箇所にメッセージカウント値MC_Mを記憶し、その後に、第2オペレーションに含まれるCRC符号CRC_Mを記憶する。
レジスタ(第3記憶部)43cは、スレーブ2内のイメージセンサ11内のMC_S生成部44でカウントされたメッセージカウント値MC_Sを記憶し、その後に、イメージセンサ11内のCRC_S生成部45で生成されたCRC符号CRC_Sを記憶する。
レジスタ(第4記憶部)43dは、エラー検出フラグと、メッセージカウント値MC_M_eと、メッセージカウント値MC_S_eと、エラークリアレジスタと、を記憶する。
エラー検出フラグは、プロトコル内の各オペレーションを正常に受信できなかった場合に1が設定される異常パケットフラグと、スレーブ側MCエラー検出信号MC_err(S)が出力されたときに1が設定されるエラー検出フラグSS_MC_Errと、スレーブ側CRCエラー検出信号CRC_err(S)が出力されたときに1が設定されるエラー検出フラグSS_CRC_Errを有する。
メッセージカウント値MC_M_eは、スレーブ2で最初にメッセージカウント値のエラーが検出された時点でのメッセージカウント値である。メッセージカウント値MC_S_eは、スレーブ2で最初にメッセージカウント値のエラーが検出された時点でのメッセージカウント値である。
エラークリアレジスタは、マスタ1内のSoC5からの指示で1に設定される。エラークリアレジスタが1に設定されると、エラー検出フラグがゼロにクリアされるとともに、メッセージカウント値MC_M_eとメッセージカウント値MC_S_eもゼロクリアされる。
図4のシリアライザ12は、通信部52と、CCI部53と、FIFO部54と、AAL処理部55と、A-PHY処理部56とを有する。CCI部53は、書き込み処理部57と読み出し処理部58を有する。シリアライザ12の内部構成は図3のデシリアライザ6と同様であり、詳細な説明は割愛する。シリアライザ12の内部では、メッセージカウント値やCRC符号のチェックは行わない。
図4の通信部52は図1の第2LINK部16に含まれる。また、図4のFIFO部54、AAL処理部55及びA-PHY処理部56は図1の第2MUX部13に含まれる。
図5は本実施形態におけるCCIに準拠した書き込みプロトコル(Writeプロトコル)の一例を示す図である。図5は一つの書き込みプロトコルのデータ形式を示している。書き込みプロトコルは、スタートフラグSからストップフラグPまでの間に一つ以上のオペレーションを含んでいる。各オペレーションは、8ビット単位の複数の情報を含んでおり、各オペレーションの先頭にはスタートフラグS又は再スタートフラグSrが配置されている。
図5の書き込みプロトコルは、マスタ1内のSoC5がスレーブ2内のイメージセンサ11に宛てて送信するものである。なお、マスタ1から送信された書き込みプロトコルは、実際には図3に示すデシリアライザ6にて受信される。デシリアライザ6は、受信した書き込みプロトコルを図1に示すようにシリアライザ12に送信する。シリアライザ12は、受信した書き込みプロトコルを図4に示すようにイメージセンサ11に送信する。デシリアライザ6とシリアライザ12は、書き込みプロトコルの中継を行うだけであり、SoC5から送信された書き込みプロトコルは、そのままのデータ形式でイメージセンサ11に受信される。
図5の書き込みプロトコルは、3つのオペレーションを含む例を示している。より具体的には、図5の書き込みプロトコルは、2つの第1オペレーションと、1つの第2オペレーションを含んでいる。第1オペレーションは、CCIにおける通常の書き込みオペレーションである。第1オペレーションはそれぞれ、先頭から順に、スタートフラグS又は再スタートフラグSrと、スレーブアドレス[7:1]と、R/Wビットと、レジスタアドレス[15:8]と、レジスタアドレス[7:0]と、一つ以上のデータ[7:0]とを含んでいる。
図5に示すように、第1オペレーションは、8ビット長の複数の情報を含んでおり、各情報を通信相手装置(スレーブ2)に送信するたびに、通信相手装置からACK信号を受信する。
書き込みプロトコルに複数の第1オペレーションが含まれる場合は、そのうちの先頭の第1オペレーションの冒頭にスタートフラグSが付加され、後続の第1オペレーションの冒頭には再スタートフラグSrが付加される。
R/Wビットは、1ビットの書き込みビット値又は読み出しビット値である。例えば、0が書き込みビット値、1が読み出しビット値である。書き込みプロトコルでは、R/Wビットは書き込みビット値(例えば0)に設定される。
図5の書き込みプロトコルでは、1つ又は複数の第1オペレーションの後に、第2オペレーションが配置されている。第2オペレーションは、第1オペレーションと同じデータ形式である。より具体的には、第2オペレーションは、先頭から順に、再スタートフラグSrと、スレーブアドレス[7:1]と、W_MCレジスタアドレス[15:8]と、W_MCレジスタアドレス[7:0]と、メッセージカウント値W_MC[15:8]と、メッセージカウント値W_MC[7:0]と、CRC符号W_CRC[31:24]と、CRC符号W_CRC[23:16]と、CRC符号W_CRC[15:8]と、CRC符号W_CRC[7:0]と、ストップフラグPとを含んでいる。
第2オペレーションの最後のストップフラグPは書き込みプロトコルの終了を意味し、図3に示すSoC5内のMC_M生成部26と図4に示すイメージセンサ11内のMC_S生成部44は、ストップフラグPが検出されると、メッセージカウント値を1カウントアップする。
図5のプロトコルは、複数の第1オペレーションを含むことができるが、これらは連続的に配置され、シーケンシャルライトが行われる。シーケンシャルライトの間に別の処理(例えばシーケンシャルリードなど)を挿入することはできない。シーケンシャルライトの後に第2オペレーションを送信する取り決めを採用するためである。
図5のプロトコルは、一つ以上の第1オペレーションと第2オペレーションを含んでいるが、各オペレーション内のスレーブアドレスは同じでなければならない。例えば、SoC5からイメージセンサ11にプロトコルを送信する場合、図5のプロトコル内の各オペレーションは、イメージセンサ11のアドレスをスレーブアドレスとする必要がある。
図5の書き込みプロトコル内の第2オペレーションは、第1オペレーションのデータ形式に合わせて構成されており、第2オペレーション内のメッセージカウント値の先頭位置(先頭ビット位置)は、第1オペレーション内のデータの先頭位置と同じである。また、第2オペレーションは、メッセージカウント値の直後にCRC符号を配置している。すなわち、CRC符号は、プロトコルの最後尾(ストップフラグの直前)に付加される。
CRC符号は、プロトコル内の情報量に依存して変化する可変長符号である。図3のSoC5内のCRC_M生成部27と図4のイメージセンサ11内のCRC_S生成部45は、プロトコル内のCRC符号より前に配置された全情報に基づいてCRC符号を生成する。このため、プロトコル内に含まれる情報量が多いほど、CRC符号のビット長は長くなる。
図5に示す書き込みプロトコルは、I2C/I3C通信にて、シリアル伝送される。I2C/I3C通信では、シリアルデータSDAとクロックSCLの相互の信号波形により、種々の情報を送信できる。図6Aはスタートフラグ及び再スタートフラグを示す波形図、図6Bはストップフラグを示す波形図である。図6Aのように、クロックSCLがハイのときにシリアルデータSDAをハイからローに遷移させた場合を、スタートフラグ又は再スタートフラグとしている。また、図6Bに示すように、クロックSCLがハイのときにシリアルデータSDAをローからハイに遷移させた場合を、ストップフラグとしている。
このように、図5の書き込みプロトコルは、少なくとも一つの第1オペレーションと、第2オペレーションとを連続して配置して構成されている。第1オペレーションは、通信相手装置であるスレーブ2の識別情報と、書き込み指示情報と、スレーブ2が有するレジスタ(第1記憶部)43aの識別情報と、レジスタ(第1記憶部)43aに書き込まれるデータと、を含んでいる。第2オペレーションは、スレーブ2のアドレスと、書き込み指示情報を表すR/Wビットと、スレーブ2が有するレジスタ(第2記憶部)43bの識別情報と、レジスタ(第2記憶部)43bに記憶されるプロトコルの数を示す情報及びプロトコルの誤りを検出するCRC符号と、を含んでいる。
図7は本実施形態におけるCCIに準拠した読み出しプロトコルの一例を示す図である。図7は一つの読み出しプロトコルのデータ形式を示している。読み出しプロトコルは、書き込み時のプロトコルと同様に、スタートフラグSからストップフラグPまでの間の一つ以上のオペレーションを含んでいる。図7の読み出しプロトコルは、マスタ1がスレーブ2に読み出し要求を行って、その要求に従ってスレーブ2が送信したデータをマスタ1が読み出すものである。本実施形態では、マスタ1がSoC5で、スレーブ2がイメージセンサ11である例を説明する。
図7の読み出しプロトコルは、3つのオペレーションを含む例を示している。より具体的には、図7の読み出しプロトコルは、2つの第1オペレーションと、1つの第2オペレーションを含んでいる。第1オペレーションは、CCIにおける通常の読み出しオペレーションである。第1オペレーションはそれぞれ、先頭から順に、スタートフラグS又は再スタートフラグSrと、スレーブアドレス[7:1]と、書き込みを指示するR/Wビットと、レジスタアドレス[15:8]と、レジスタアドレス[7:0]と、再スタートフラグと、スレーブアドレス[7:1]と、読み出しを指示するR/Wビットとを含んでいる。
このように、図7の読み出しプロトコル内の第1オペレーションは、2つのR/Wビットを含んでおり、最初のR/Wビットは書き込みビット値である。これは、読み出すべきレジスタアドレスをイメージセンサ11に保存するためであり、ダミー書き込みと呼ばれる。2つ目のR/Wビットは読み出しビット値であり、第1オペレーション又は第2オペレーション内のレジスタアドレスのデータを読み出すことを意味する。
図7の読み出しプロトコルでは、スレーブアドレスを二度送っているが、いずれのスレーブアドレスも同じである必要がある。例えば、SoC5がスレーブ2に読み出し要求情報を送信する場合、読み出し要求情報に含まれる2つのスレーブアドレスはいずれも、スレーブ2内のイメージセンサ11のアドレスである。
上述した第1オペレーション内の読み出し要求情報に応じてスレーブ2から送信された情報がマスタ1で受信されると、第1オペレーション内の二度目のスレーブアドレスの後に、受信された情報が順に付加される。第1オペレーションにおける読み出し要求情報は、スレーブ2内の特定のレジスタアドレスの読み出し要求を含むため、特定のレジスタアドレスから読み出されたデータが順に第1オペレーション内の二度目のスレーブアドレスの後に付加される。データは8ビット単位で付加される。マスタ1は、8ビットのデータを受信するたびに、スレーブ2に対してACK信号を返す。
図7のプロトコル内の第2オペレーションは、再スタートフラグと、R_MCレジスタアドレス[15:8]と、R/Wビットと、R_MCレジスタアドレス[7:0]と、再スタートフラグと、スレーブアドレス[7:1]と、R/Wビットとを含んでいる。これらの各情報は読み出し要求情報であり、スレーブ2に送信される。第2オペレーションにおける最初のR/Wビットは書き込みビット値であり、ダミー書き込みを指示する。また、2つ目のR/Wビットは読み出しビット値であり、レジスタアドレスに対応するデータが読み出されて、SoC5に送信される。
書き込み時のプロトコルと同様に、読み出し時のプロトコルでも、第1オペレーションと第2オペレーションはデータ形式を同じにしている。第2オペレーションも、スレーブアドレスを二度送っているが、いずれのスレーブアドレスも同じである必要がある。
上述した第2オペレーション内の読み出し要求情報に応じてスレーブ2から送信された情報がマスタ1で受信されると、第2オペレーション内の二度目のスレーブアドレスの後に、受信された情報が順に付加される。第2オペレーション内の読み出し要求情報では、スレーブ2内のメッセージカウント値R_MCとCRC符号R_CRCの読み出しを要求しているため、これらの情報が二度目のスレーブアドレスの後に順に付加される。第2オペレーションにおいても、データは8ビット単位で付加され、マスタ1は8ビットのデータを受信するたびに、スレーブ2に対してACK信号を返す。
第2オペレーションでは、メッセージカウント値R_MCの後にCRC符号R_CRCが付加される。CRC符号r_CRCの後には、プロトコルを終了示すストップフラグが付加される。
読み出し時のプロトコル内の各オペレーションに含まれるスレーブアドレスはすべて同一でなければならない。プロトコルに含まれるメッセージカウント値は、スレーブ2ごとに別個にカウントしているため、プロトコルに含まれる各オペレーションのスレーブアドレスが異なると、そのスレーブ2のメッセージカウント値がプロトコルに含まれるのか特定できないためである。
図7の読み出しプロトコルには、複数の第1オペレーションを含めることができる。この場合、複数の第1オペレーションを連続して読み出すシーケンシャルリードが行われる。シーケンシャルリードを行っている間は、他の処理(例えばシーケンシャルライトなど)を行うことはできない。シーケンシャルリードの途中でシーケンシャルライトなどを行うと、CRC符号W_CRCの計算と送信を行わなければならないためである。
プロトコル内の各オペレーションの最後には、ACK信号ではなく、ACK信号の逆論理のNACK信号がマスタ1からスレーブ2に送信される。NACK信号をスレーブ2に返すことで、各オペレーションの受信完了をマスタ1からスレーブ2に通知できる。
このように、図7の読み出しプロトコルは、少なくとも一つの第1オペレーションと、第2オペレーションとを連続して配置して構成されている。第1オペレーションは、通信相手装置であるスレーブ2の識別情報、書き込み指示情報、スレーブ2が有するレジスタ(第1記憶部)43aの識別情報、スレーブ2の識別情報、及び読み出し指示情報を含む第1読み出し要求情報と、第1読み出し要求情報に応じてレジスタ(第1記憶部)43aから読み出されてスレーブ2から送信された情報と、を含んでいる。第2オペレーションは、スレーブ2の識別情報と、書き込み指示情報と、スレーブ2がカウントするプロトコルの数を示す情報及びスレーブ2が生成するプロトコルの誤りを検出するCRC符号が記憶されたレジスタ(第3記憶部)43cの識別情報と、スレーブ2の識別情報と、読み出し指示情報と、を含む第2読み出し要求情報と、第2読み出し要求情報に応じてレジスタ(第3記憶部)43cから読み出されてスレーブ2から送信された情報と、を含んでいる。
図8は書き込みプロトコルの一具体例を示す図である。図8では、マスタ1内のSoC5からスレーブ2内のイメージセンサ11に送信する書き込みプロトコル内の各情報に、イメージセンサ11内の各レジスタのアドレスを付記している。図4に示すように、スレーブ2内のイメージセンサ11のスレーブアドレスは0x55であるため、図8のプロトコル内のスレーブアドレスは0x55になる。また、図4に示すイメージセンサ11内のレジスタ群43には、アドレス0x0123のレジスタ(第1記憶部、Other resister)43aが設けられている。図8のプロトコル内の第1オペレーションのレジスタアドレスを8ビット単位で0x01、0x23とすることで、レジスタ(第1記憶部、other registers)43aのアドレス0x123を指定する。これにより、第1オペレーションのレジスタアドレスの次に配置されるデータが8ビット単位でレジスタ(第1記憶部)43aに記憶される。
図4に示すように、レジスタ群43には、アドレス0x1230で始まるレジスタ(第2記憶部)43bが設けられている。レジスタ(第2記憶部)43bには、マスタ1から送信されたメッセージカウント値W_MCとCRC符号W_CRCが記憶される。
図8のプロトコル内の第2オペレーションのW_MCレジスタアドレスを0x12と0x30とすることで、その次に配置される計16ビットデータを、メッセージカウント値MC_Mとしてレジスタ(第2記憶部)43bに記憶することができる。また、その次に配置されるCRC符号CRC_Mをレジスタ(第2記憶部)43bに続けて記憶することができる。CRC符号は可変長であるため、スレーブ2内のイメージセンサ11は、プロトコル内のメッセージカウント値の直後から、ストップフラグPまでのデータをCRC符号として認識する。図8では、CRC符号CRC_Mを0x??と表記している。
図9は読み出しプロトコルの一具体例を示す図である。図9では、マスタ1内のSoC5からスレーブ2内のイメージセンサ11に読み出し要求情報を送信し、その読み出し要求情報に応じてイメージセンサ11が送信したデータが読み出しプロトコルに含まれている。
プロトコル内の第1オペレーションに含まれる読み出し要求情報は、スレーブアドレス0x55と、書き込みを指示するR/Wビットと、レジスタアドレス0x0123と、二度目のスレーブアドレス0x55と、読み出しを指示するR/Wビットとを有する。スレーブアドレスはいずれも同一であり、イメージセンサ11のスレーブアドレス0x55である。レジスタアドレス0x0123は、レジスタ群43内のレジスタ(第1記憶部)43aのアドレスである。最初のR/Wビットを書き込みビット値とするのは、読み出しを行うべきレジスタアドレスを保存するためであり、上述したダミー書き込みである。二つ目のR/Wビットを読み出しビット値とすることで、イメージセンサ11から読み出されたデータがSoC5に送信される。
この読み出し要求情報に応じて、イメージセンサ11は、レジスタ群43内の指定されたレジスタアドレスからデータを読み出して送信する。図8では、読み出したデータを0x??と表記している。
プロトコル内の第2オペレーションに含まれる読み出し要求情報は、スレーブアドレス0x55と、書き込みを指示するR/Wビットと、R_MCレジスタアドレス0XBEEFと、二度目のスレーブアドレス0x55と、読み出しを指示するR/Wビットとを有する。第2オペレーションでも、スレーブアドレスはいずれも同一であり、イメージセンサ11のスレーブアドレス0x55である。R_MCレジスタアドレスは、レジスタ群43内のレジスタ(第3記憶部)43cの先頭アドレスである。イメージセンサ11は、レジスタ(第3記憶部)43cに、MC_S生成部44のメッセージカウント値MC_Sと、CRC_S生成部45で生成されたCRC符号CRC_Sを記憶している。よって、イメージセンサ11は、読み出し要求情報に応じて、レジスタ(第3記憶部)43cから読み出したメッセージカウント値MC_SとCRC符号CRC-Sを第2オペレーションに含めて送信する。イメージセンサ11は、可変長のCRC符号CRC-Sを送信し終わった後に、ストップフラグPを付加する。
図10A及び図10BはSoC5の書き込み(Safe CCI Write)処理の手順を示すフローチャートである。このフローチャートは、マスタ1内のSoC5がスレーブ2内のイメージセンサ11に図5に示す書き込みプロトコルを送信する処理手順を示している。
まず、スタートフラグSを送信する(ステップS1)。次に、スレーブアドレスと書き込みを指示するR/Wビットを送信する(ステップS2)。この場合のR/Wビットのビット値は例えば0である。スレーブアドレスは、イメージセンサ11の識別情報である。
次に、スレーブ2からのACK信号が受信されたか否かを判定する(ステップS3)。図5に示すように、マスタ1はスレーブ2に8ビット単位で情報を送信し、スレーブ2は情報を受信するたびにACK信号を返送する。マスタ1はACK信号を受信することにより、スレーブ2が情報を受信したことを把握できる。スレーブ2は、正常に情報を受信できなかった場合は、ACK信号の逆論理のNACK信号を返送する。
マスタ1は、ステップS3において、NACK信号が受信された場合は、後述する図11Aに示す再送処理を行う(ステップS4)。ステップS3でACK信号を受信した場合、すべてのシーケンシャルライトを終了したか否かを判定する(ステップS5)。シーケンシャルライトとは、上述したように、プロトコル内の一つ以上の第1オペレーションのすべてを連続して送信してイメージセンサ11に書き込みを行うことを指す。シーケンシャルライトがまだ終わっていなければ、未送信の第1オペレーション内のレジスタアドレスを送信する(ステップS6)。レジスタアドレスとは、図4に示すイメージセンサ11内のレジスタ群43の中の特定のレジスタ(例えば、第1記憶部)のアドレスである。
次に、送信したレジスタアドレスに対するACK信号を受信したか否かを判定する(ステップS7)。ACK信号の代わりにNACK信号を受信した場合は、後述する図11Aに示す再送処理を行う(ステップS8)。
ステップS7でACK信号を受信したと判定されると、送信したレジスタアドレスに対応するデータを送信する(ステップS9)。図5に示すように、データも8ビット単位で送信される。次に、送信したデータに対するACK信号を受信したか否かを判定する(ステップS10)。ACK信号の代わりにNACK信号を受信した場合は、後述する図11Aに示す再送処理を行う(ステップS11)。
ステップS10でACK信号を受信した場合、一つの第1オペレーションの送信が完了したか否かを判定する(ステップS12)。まだ送信が完了していなければ、ステップS9~S12の処理を繰り返す。
送信が完了していれば、再スタートフラグSrを送信し(ステップS13)、ステップS2以降の処理を行う。再スタートフラグSrは、図6Aのように、SDAとSCLのタイミング調整により送信される。
上述したステップS1~S13の処理により、書き込みプロトコルに含まれるすべての第1オペレーションの送信が行われる。
ステップS5で、第1オペレーションのシーケンシャルライトが終了したと判定されると、次にW_MCレジスタアドレスを送信する(ステップS14)。W_MCレジスタとは、イメージセンサ11内のレジスタ群43のメッセージカウント値を記憶するレジスタ(第2記憶部)43bである。ステップS14では、レジスタ(第2記憶部)43bのアドレスを送信する。
次に、W_MCレジスタアドレスに対するACK信号を受信したか否かを判定する(ステップS15)。ACK信号の代わりにNACK信号を受信した場合は、後述する図11Aに示す再送処理を行う(ステップS16)。
ステップS15でACK信号を受信した場合、SoC5内のMC_M生成部26でカウントしたメッセージカウント値W_MCを送信する(ステップS17)。次に、送信したメッセージカウント値W_MCに対するACK信号を受信したか否かを判定する(ステップS18)。ACK信号の代わりにNACK信号を受信した場合は、後述する図11Bに示すエラー処理を行う(ステップS19)。ステップS19の処理は第1エラー処理部の処理に対応する。
ステップS18でACK信号を受信した場合、SoC5内のCRC_M生成部27で生成されたCRC符号W_CRCを送信する(ステップS20)。次に、送信したCRC符号W_CRCに対するACK信号を受信したか否かを判定する(ステップS21)。ACK信号の代わりにNACK信号を受信した場合、後述する図11Bに示すエラー処理を行う(ステップS22)。ステップS22の処理は第2エラー処理部の処理に対応する。
ステップS21でACK信号を受信した場合、ストップフラグPを送信する(ステップS23)。ストップフラグPは、図6Bのように、シリアルデータSDAとクロックSCLのタイミング調整により送信される。以上で、一つの書き込みプロトコルの送信が終了するため、SoC5内のMC_M生成部26のメッセージカウント値を+1する(ステップS24)。
図11Aは図10AのステップS4、S8、S11と図10BのステップS16で行う再送処理の詳細な処理手順を示すフローチャートである。まず、ストップフラグPを送信する(ステップS31)。なお、ステップS31の処理は省略してもよい。すなわち、ストップフラグPをスレーブ2に送信することなく、ステップS32以降の処理を行ってもよい。次に、SoC5内のMC_M生成部26のメッセージカウント値を+1する(ステップS32)。次に、図10AのステップS1以降の処理をやり直す(ステップS33)。
次に、再送に成功したか否かを判定する(ステップS34)。再送に成功しなければ、3回連続して再送に失敗したか否かを判定する(ステップS35)。まだ3回まで失敗していなければステップS31以降の処理を繰り返す。ステップS34で再送に成功したと判定された場合と、ステップS35で3回連続して失敗したと判定された場合は、再送処理を終了する。3回連続して失敗した場合、再送処理を終えた後にどのような処理を行うかは任意である。例えば、スレーブ2内のイメージセンサ11のエラーフラグを読み出してもよいし、所定時間経過後に再送処理をやり直してもよいし、警告表示等を行ってもよい。
図11Bは図10BのステップS19とS22で行うエラー処理の詳細な処理手順を示すフローチャートである。まず、ストップフラグPを送信する(ステップS41)。次に、SoC5内のメッセージカウント値W_MCをゼロクリアする(ステップS42)。次に、イメージセンサ11内のレジスタ群43の中のレジスタ(第4記憶部)43d内のエラークリアレジスタに1を書き込む。これにより、レジスタ(第4記憶部)43d内のエラー検出フラグがゼロクリアされるとともに、最初にエラー検出されたときのメッセージカウント値MC_M_e、MC_S_eがゼロクリアされる(ステップS43)。その後、図10AのステップS1以降の処理がやり直される(ステップS54)。
図12A、図12B及び図12Cはイメージセンサ11の処理手順を示すフローチャートである。このフローチャートは、イメージセンサ11がSoC5から図5に示す書き込みプロトコル又は図7の読み出しプロトコルを受信した場合の処理手順を示している。
まず、スタートフラグSを受信するまで待機する(ステップS61)。スタートフラグSが受信されると、受信したスレーブアドレスが自身のアドレスと一致するか否かを判定する(ステップS62)。自身のアドレスと一致しなければ、ストップフラグPを受信するまで待機し(ステップS63)、ストップフラグPを受信すると、ステップS61以降の処理を繰り返す。
ステップS62でスレーブアドレスが自身のアドレスと判定されると、R/Wビットが受信されるまで待機する(ステップS64)。R/Wビットが書き込みビット値(例えばゼロ)であれば、イメージセンサ11はプロトコルを受信する準備が整っているか否かを判定する(ステップS65)。
ステップS65で準備が整っていないと判定されると、NACK信号をSoC5に返送する(ステップS66)。次に、ストップフラグPが受信されたか否かを判定する(ステップS67)。ストップフラグPが受信された場合、MC_S生成部44でカウントするメッセージカウント値MC_Sを+1し(ステップS68)、ステップS62以降の処理を行う。
ステップS65でイメージセンサ11の受信準備が整ったと判定された場合、ACK信号を返送する(ステップS69)。次に、プロトコルに含まれる第1オペレーション中のレジスタアドレスを受信して保存した後、ACK信号を返送する(ステップS70)。
次に、再スタートフラグSrを受信したか否かを判定する(ステップS71)。再スタートフラグSrを受信しなかったと判定されると、受信して保存したレジスタアドレスがメッセージカウント値MC_Mを記憶するレジスタ(第2記憶部)43bのアドレスであるか否かを判定する(ステップS72)。レジスタ(第2記憶部)43bのアドレスでなければ、受信したデータをレジスタ(第1記憶部、other resisters)43aに記憶するとともに、ACK信号をマスタ1に返送し、レジスタアドレスを+1する(ステップS73)。
次に、再スタートフラグSrが受信されたか否かを判定する(ステップS74)。再スタートフラグSrが受信されなければ、異常パケットと判断して後述する図13Aに示すエラー処理を行う(ステップS75)。一方、ステップS74で再スタートフラグSが受信されたと判定されると、受信されたスレーブアドレスが自身のアドレスに一致するか否かを判定する(ステップS76)。一致すれば、ステップS64以降の処理を繰り返し、一致しなければステップS75のエラー処理を行う。
ステップS72でメッセージカウント値MC_Mのアドレスと判定されると、受信されたプロトコル内の第2オペレーションに含まれるメッセージカウント値MC_Mを受信して、レジスタ(第2記憶部)43bに記憶する(ステップS77)。
次に、受信されたメッセージカウント値MC_Mがスレーブ2内のMC_S生成部44でカウントしたメッセージカウント値MC_Sに一致するか否かを判定する(ステップS78)。一致しなければ、後述する図13Bのエラー処理を行う(ステップS79)。
ステップS78で一致したと判定されると、ACK信号をマスタ1に返送後に、プロトコルの第2オペレーションに含まれるCRC符号CRC_Mを受信し、レジスタ(第2記憶部)43bに記憶する(ステップS80)。
次に、受信されたCRC符号CRC_Mがスレーブ2内のCRC_S生成部45で生成されたCRC符号CRC_Sに一致するか否かを判定する(ステップS81)。一致しなければ、後述する図13Cのエラー処理を行う(ステップS82)。
ステップS81で一致したと判定されると、ACK信号をマスタ1に返送した後(ステップS83)、ストップフラグPを受信したか否かを判定する(ステップS84)。ストップフラグPが受信されなければ、ステップS75のエラー処理を行い、ストップフラグPが受信されると、ステップS68以降の処理を繰り返す。
ステップS71で再スタートフラグが受信されたと判定されると、受信されたスレーブアドレスが自身のアドレスと一致するか否かを判定する(ステップS85)。一致しなければ、後述する図13Aのエラー処理を行う(ステップS86)。
ステップS85で一致すると判定されると、R/Wビットを判定する(ステップS87)。書き込みビット値(例えば0)であれば、ステップS86のエラー処理を行う。また、ステップS64で読み出しビット値(例えば1)と判定された場合も、ステップS86のエラー処理を行う。
一方、ステップS87で読み出しビット値(例えば1)と判定されると、ACK信号をマスタ1に返送する(ステップS88)。
次に、受信して保存したレジスタアドレスがレジスタ群43におけるレジスタ(第2記憶部)43bに記憶されているメッセージカウント値MC_Sのアドレスか否かを判定する(ステップS89)。メッセージカウント値MC_Sのアドレスでなければ、受信して保存したレジスタアドレスに対応するデータを読み込み、そのデータをマスタ1に送信後にレジスタアドレスを+1する(ステップS90)。
次に、マスタ1からのACK信号又はNACK信号を受信したか否かを判定する(ステップS91)。ACK信号が受信された場合はステップS90~S91の処理を繰り返し、NACK信号が受信されると再スタートフラグSrが受信されたか否かを判定する(ステップS92)。再スタートフラグSrが受信されなければ、後述する図13Aのエラー処理を行う(ステップS93)。再スタートフラグSrが受信されると、次に受信されたスレーブアドレスが自身のアドレスに一致するか否かを判定する(ステップS94)。自身のアドレスに一致する場合、ステップS64以降の処理を繰り返す。自身のアドレスに一致しない場合は、ステップS93のエラー処理を行う。
一方、ステップS89で、レジスタ(第2記憶部)43bに記憶されているメッセージカウント値MC_Sのアドレスと判定されると、レジスタ(第2記憶部)43b内のメッセージカウント値MC_Sをマスタ1に送信する(ステップS95)。
次に、マスタ1からのACKが受信されたか否かを判定する(ステップS96)。ACK信号が受信されると、レジスタ(第3記憶部)43c内のCRC符号CRC_Sをマスタ1に送信する(ステップS97)。次に、マスタ1からのACK信号又はNACK信号が受信されたか否かを判定する(ステップS98)。ACK信号が受信されるとステップS93のエラー処理を行う。NACK信号が受信されると、ストップフラグPが受信されたか否かを判定する(ステップS99)。ストップフラグPが受信されなければ、後述する図13Aのエラー処理を行い、ストップフラグPが受信されると、ステップS68以降の処理を繰り返す。
図13Aは図12BのステップS75、図12CのステップS86、S93のエラー処理の詳細な処理手順を示すフローチャートである。まず、レジスタ(第4記憶部)43dのエラー検出フラグ(異常パケットフラグ)を1に設定する(ステップS101)。次に、最初のエラー検出時のメッセージカウント値MC_M_eとMC_S_eをレジスタ(第4記憶部)43dに記憶する(ステップS102)。メッセージカウント値MC_M_eはマスタ1から受信された値であり、メッセージカウント値MC_S_eはスレーブ2内のMC_S生成部44でカウントされた値である。
次に、ストップフラグPが受信されるまで待機する(ステップS103)。ストップフラグPが受信されると、メッセージカウント値MC_Sを+1する(ステップS104)。その後、図12AのステップS61以降の処理を再度行う(ステップS105)。
図13Bは図12BのステップS79の詳細な処理手順を示すフローチャートである。まず、レジスタ(第4記憶部)43dのエラー検出フラグSS_MC_Errを1に設定する(ステップS111)。次に、最初のエラー検出時のメッセージカウント値MC_M_eとMC_S_eをレジスタ(第4記憶部)43dに記憶する(ステップS112)。次に、NACK信号をマスタ1に返送する(ステップS113)。NACK信号をマスタ1に返送することで、マスタ1はメッセージカウント値MC_MとMC_Sが不一致であったことを把握できる。
次に、ストップフラグPが受信されるまで待機する(ステップS114)。ストップフラグPが受信されると、メッセージカウント値MC_Sを+1する(ステップS115)。その後、図12AのステップS61以降の処理を再度行う(ステップS116)。
図13Cは図12BのステップS82の詳細な処理手順を示すフローチャートである。まず、レジスタ(第4記憶部)43dのエラー検出フラグSS_CRC_Errを1に設定する(ステップS121)。次に、最初のエラー検出時のメッセージカウント値MC_M_eとMC_S_eをレジスタ(第4記憶部)43dに記憶する(ステップS122)。次に、NACK信号をマスタ1に返送する(ステップS123)。NACK信号をマスタ1に返送することで、マスタ1はメッセージカウント値MC_MとMC_Sが不一致であったことを把握できる。
次に、ストップフラグPが受信されるまで待機する(ステップS124)。ストップフラグPが受信されると、メッセージカウント値MC_Sを+1する(ステップS125)。その後、図12AのステップS61以降の処理を再度行う(ステップS126)。
図14A及び図14BはSoC5の読み出し処理の手順を示すフローチャートである。このフローチャートは、マスタ1内のSoC5がスレーブ2内のイメージセンサ11にデータ読み出し要求のプロトコルを送信し、それに応じてスレーブ2がマスタ1にデータを送信するものである。
まず、マスタ1はスタートフラグSを送信する(ステップS131)。次に、スレーブアドレスを送信し、次に、R/Wビットを書き込みビット値(例えば0)にして送信する(ステップS132)。ステップS132で書き込みビット値を指定するのは、読み出したいレジスタアドレスの先頭アドレスを指定するためであり、上述したダミー書き込みである。
次に、ACK信号が受信されたか否かを判定する(ステップS133)。ACK信号の代わりにNACK信号が受信された場合は、後述する図15Aに示す再送処理を行う(ステップS134)。
ステップS133でACK信号が受信された場合は、プロトコル内のすべての第1オペレーションのシーケンシャルリードが完了したか否かを判定する(ステップS135)。シーケンシャルリードがまだ完了していなければ、第1オペレーション内のレジスタドレスを送信する(ステップS136)。次に、ACK信号が受信されたか否かを判定する(ステップS137)。ACK信号の代わりにNACK信号が受信された場合、後述する図15Aに示す再送処理を行う(ステップS138)。
ACK信号が受信されると、再スタートフラグSrを送信する(ステップS139)。次に、第1オペレーション内のスレーブアドレスを送信し、次に、R/Wビットを読み出しビット値(例えば1)にして送信する(ステップS140)。次に、ACK信号が受信されたか否かを判定する(ステップS141)。ACK信号の代わりにNACK信号が受信された場合、後述する図15Aに示す再送処理を行う(ステップS142)。
ACK信号が受信されると、読み出しデータを受信する(ステップS143)。シーケンシャルリードが完了したか否かを判定する(ステップS144)。シーケンシャルリードがまだ終了していなければ、スレーブ2にACK信号を返送し(ステップS145)、ステップS143以降の処理を行う。
ステップS144でシーケンシャルリードが完了したと判定されると、スレーブ2にNACK信号を返送する(ステップS146)。スレーブ2は、ACK信号の代わりにNACK信号が受信されることで、マスタ1のシーケンシャルリードが完了したことを把握できる。その後、マスタ1は、再スタートフラグSrをスレーブ2に送信し(ステップS147)、ステップS132以降の処理を繰り返す。
ステップS135で、プロトコル内のすべての第1オペレーションのシーケンシャルリードが終了したと判定されると、プロトコル内の第2オペレーションの読み出し処理が行われる。まず、スレーブ2のレジスタ群43内のレジスタ(第2記憶部)43bに記憶されているメッセージカウント値MC_Sのレジスタアドレスを送信する(ステップS148)。次に、スレーブ2からのACK信号が受信されたか否かを判定する(ステップS149)。ACK信号の代わりにNACK信号が受信された場合、図15Aに示す再送処理を行う(ステップS150)。
ステップS149でACK信号が受信されると、再スタートフラグSrを送信する(ステップS151)。次に、スレーブアドレスを送信する(ステップS152)。その後、ACK信号を受信したか否かを判定する(ステップS153)。ACK信号の代わりにNACK信号が受信されると、後述する図15Aに示す再送処理を行う(ステップS154)。
ステップS153でACK信号が受信されたと判定されると、スレーブ2内のレジスタ(第3記憶部)43cに記憶されているメッセージカウント値MC_SとCRC符号CRC_Sを受信する(ステップS155)。
次に、CRC符号CRC_Sの受信が完了したか否かを判定する(ステップS156)。まだ受信が完了していなければ、ACK信号をスレーブ2に返送し(ステップS157)、ステップS155以降の処理を繰り返す。ステップS156で、CRC符号CRC_Sの受信が完了したと判定された場合、NACK信号をスレーブ2に返送する(ステップS158)。次に、ストップフラグPを送信する(ステップS159)。
以上で、一つのプロトコルの読み出し処理が終了するため、MC_M生成部26でカウントするメッセージカウント値MC_Mを+1する(ステップS160)。次に、スレーブ2からのメッセージカウント値MC_SがMC_Mと一致し、かつCRC符号CRC_SがCRC_Mと一致するか否かを判定する(ステップS161)。両者が一致していれば図14AのステップS131以降の処理を繰り返す。ステップS161で、少なくとも一方が不一致と判定されると、後述する図15Bのエラー処理を行う(ステップS162)。すなわち、ステップS162では、マスタ側エラー検出信号MC_errとマスタ側エラー検出信号CRC_errの少なくとも一方が出力されると、図15Bのエラー処理を行う。
図15Aは、図14AのステップS134、S138及びS142と、図14BのS150及びS154の詳細な処理手順を示すフローチャートである。まず、ストップフラグPを送信する(ステップS171)。次に、メッセージカウントを+1する(ステップS172)。次に、プロトコルの先頭から処理をやり直す(ステップS173)。すなわち、図14AのS131以降の処理をやり直す。再送処理に成功したか否かを判定する(ステップS174)。成功すれば再送処理を終了し、成功しなければ、3回連続して再送処理に失敗したか否かを判定する(ステップS175)。3回連続して失敗すれば再送処理を終了し、まだ3回まで失敗していなければ、ステップS171以降の処理を繰り返す。3回連続して失敗した場合、再送処理を終えた後にどのような処理を行うかは任意である。例えば、スレーブ2内のイメージセンサ11のエラーフラグを読み出してもよいし、所定時間経過後に再送処理をやり直してもよいし、警告表示等を行ってもよい。
図15Bは、図14BのステップS162で、マスタ側エラー検出信号MC_err又はCRC_errが出力されたときのエラー処理の詳細な処理手順を示すフローチャートである。まず、ストップフラグPをスレーブ2に送信する(ステップS181)。次に、マスタ1内のSoC5でカウントしているメッセージカウント値MC_Mをゼロクリアする(ステップS182)。次に、スレーブ2内のイメージセンサ11内のレジスタ(第4記憶部)43dのエラークリアレジスタに1を設定する(ステップS183)。これにより、レジスタ(第2記憶部)43bのメッセージカウント値MC_M、MC_Sと、レジスタ(第4記憶部)43dのエラーフラグMC_M_err、MC_S_errがクリアされる。その後、図14AのステップS131以降の処理が再度行われる(ステップS184)。
このように、本実施形態では、マスタ1内のSoC5から、スレーブ2内のイメージセンサ11に書き込みプロトコルを送信する際に、CCIに準拠したオペレーションのデータ形式にて、マスタ1でカウントしたメッセージカウント値MC_Mと、マスタ1で生成したCRC符号CRC_Mとを含むオペレーション(第2オペレーション)を送信する。その際、第2オペレーションは、再スタートフラグの後に、スレーブアドレスと、レジスタ(第2記憶部)43bのレジスタアドレスと、メッセージカウント値MC_Mと、CRC符号CRC_Mとを順に配置し、最後にストップフラグPを配置する。よって、スレーブ2では、受信されたプロトコルに含まれるメッセージカウント値とCRC符号を、通常の書き込みデータと区別でき、マスタ1から指定されたレジスタアドレスに誤りなく記憶することができる。
また、本実施形態では、スレーブ2内部にMC_S生成部44とCRC_S生成部45を設けて、マスタ1から送信されたプロトコル内の第2オペレーションに含まれるメッセージカウント値及びCRC符号との比較を行い、不一致であれば、エラー検出信号を出力するとともに、マスタ1にNACK信号を返送する。マスタ1はNACK信号を受信することで、メッセージカウント値やCRC符号にエラーが生じたことを迅速に検出でき、プロトコルの再送処理を行うことができる。
さらに、本実施形態では、マスタ1からスレーブ2に、スレーブ2がカウントしたメッセージカウント値MC_Sとスレーブ2が生成したCRC符号CRC_Sの読み出し要求を含む読み出しプロトコルをCCIに準拠して送信できる。このプロトコルに従って、スレーブ2から送信されたメッセージカウント値MC_Sは、マスタ1内部でカウントしたメッセージカウント値MC_Mと比較される。同様に、スレーブ2から送信されたCRC符号CRC_Sは、マスタ1内部で生成されたCRC符号CRC_Mと比較される。これにより、マスタ1は、メッセージカウント値とCRC符号にエラーがあるか否かを迅速に判定でき、I2C/I3C通信の信頼性を向上できる。
なお、本技術は以下のような構成を取ることができる。
(1)プロトコルに従って通信相手装置と通信する通信部を備え、
前記プロトコルは、
前記通信相手装置の識別情報と、書き込み指示情報と、前記通信相手装置が有する第1記憶部の識別情報と、前記第1記憶部に書き込まれるデータと、を含む少なくとも一つの第1オペレーションと、
前記少なくとも一つの第1オペレーションに続いて配置され、前記通信相手装置の識別情報と、書き込み指示情報と、前記通信相手装置が有する第2記憶部の識別情報と、前記第2記憶部に記憶される前記プロトコルの数を示す情報及び前記プロトコルの誤りを検出するCRC(Cyclic Redundancy Check)符号と、を含む第2オペレーションと、を有する、通信装置。
(2)前記第1オペレーションと前記第2オペレーションとに含まれる前記通信相手装置の識別情報は、同一である、(1)に記載の通信装置。
(3)前記第1オペレーション内の前記第1記憶部に書き込まれるデータの先頭位置は、前記第2オペレーション内の前記プロトコルの数を示す情報の先頭位置と等しく、前記プロトコルの数を示す情報の後に前記CRC符号が配置される、(1)に記載の通信装置。
(4)前記通信相手装置に送信される前記プロトコルの数をカウントするカウンタと、
前記少なくとも一つの前記第1オペレーションに含まれる各情報と、前記第2オペレーション内の前記CRC符号より前に配置される各情報とに基づいて、前記CRC符号を生成するCRC符号生成部と、を備える、(1)乃至(3)のいずれか一項に記載の通信装置。
(5)前記プロトコルは、先頭の前記第1オペレーションの冒頭に配置されるスタートフラグと、2つ目以降の前記第1オペレーションの冒頭に配置される再スタートフラグと、前記第2オペレーションの冒頭に配置される再スタートフラグと、前記第2オペレーションの最後尾に配置されるストップフラグと、を含む、(1)乃至(4)のいずれか一項に記載の通信装置。
(6)前記第1オペレーション及び前記第2オペレーション内の各情報を前記通信相手装置に送信するたびに、前記通信相手装置から受領通知信号又は前記受領通知信号の逆論理信号を受信し、前記逆論理信号が受信されると、ストップフラグを前記通信相手装置に送信し、かつ前記プロトコルの数を示す情報をインクリメントした後に、前記プロトコルを先頭から再送する処理を行う再送処理部を備える、(1)乃至(5)のいずれか一項に記載の通信装置。
(7)前記第1オペレーション及び前記第2オペレーション内の各情報を前記通信相手装置に送信するたびに、前記通信相手装置から受領通知信号又は前記受領通知信号の逆論理信号を受信し、前記逆論理信号が受信されると、前記プロトコルの数を示す情報をインクリメントした後に、前記プロトコルを先頭から再送する処理を行う再送処理部を備える、(1)乃至(5)のいずれか一項に記載の通信装置。
(8)前記第2オペレーション内の前記プロトコルの数を示す情報を送信した後、前記通信相手装置から受領通知信号の逆論理信号を受信した場合に、前記プロトコルの数を示す情報を初期化するとともに、前記通信相手装置がカウントしている前記プロトコルの数を示す情報及び前記通信相手装置が保存するエラーフラグを初期化するよう前記通信相手装置に指示する第1エラー処理部と、
前記第2オペレーション内の前記CRC符号を送信した後、前記通信相手装置から前記受領通知信号の逆論理の信号を受信した場合に、前記プロトコルの数を示す情報を初期化するとともに、前記通信相手装置がカウントしている前記プロトコルの数を示す情報及び前記通信相手装置が保存するエラーフラグを初期化するよう前記通信相手装置に指示する第2エラー処理部と、を有する、(1)乃至(5)のいずれか一項に記載の通信装置。
(9)前記通信相手装置は、撮像装置であり、
前記プロトコルの前記第1オペレーションは、前記撮像装置を制御するデータを含む、(1)乃至(8)のいずれか一項に記載の通信装置。
(10)少なくとも一つの第1オペレーション及び第2オペレーションを含むプロトコルに従って通信相手装置と通信する通信部と、
前記第1オペレーションに含まれるデータを記憶する第1記憶部と、
前記第2オペレーションに含まれる前記プロトコルの数を示す情報及び前記プロトコルの誤りを検出する第1CRC符号を記憶する第2記憶部と、
前記通信部で受信された前記プロトコルの数をカウントするカウンタと、
前記通信部で受信された前記プロトコル内の前記第1CRC符号よりも前に配置される前記第1オペレーション及び前記第2オペレーションの各情報に基づいて、第2CRC符号を生成するCRC符号生成部と、
前記第2オペレーションに含まれる前記プロトコルの数を示す情報と、前記カウンタでカウントされた数とを比較する第1比較器と、
前記第1CRC符号と前記第2CRC符号とを比較する第2比較器と、
前記第1比較器での比較結果が一致しない場合に第1エラー検出信号を出力する第1エラー検出部と、
前記第2比較器での比較結果が一致しない場合に第2エラー検出信号を出力する第2エラー検出部と、を備える、通信装置。
(11)前記第1オペレーションに当該通信装置の識別情報が含まれ、かつ前記第1オペレーションに前記第1記憶部の識別情報が含まれ、かつ前記第1オペレーションに書き込み指示情報が含まれる場合に、前記第1オペレーションに含まれるデータを前記第1記憶部に記憶する制御を行い、かつ前記第2オペレーションに前記第2記憶部の識別情報が含まれる場合に、前記第2オペレーションに含まれる前記プロトコルの数を示す情報及び前記第1CRC符号を前記第2記憶部に記憶する制御を行う書き込み処理部を備える、(10)に記載の通信装置。
(12)前記カウンタでカウントされた数と、前記CRC符号生成部で生成された前記第2CRC符号とを記憶する第3記憶部と、
前記プロトコル内の前記第2オペレーションに読み出し指示情報が含まれ、かつ前記第2オペレーションに前記第3記憶部の識別情報が含まれる場合に、前記第3記憶部に記憶された前記カウンタでカウントされた数と、前記CRC符号生成部で生成された前記第2CRC符号とを前記通信部を介して送信する制御を行う読み出し処理部と、を備える、(10)又は(11)に記載の通信装置。
(13)画像信号を出力する撮像部を備え、
前記通信相手装置は、前記撮像部を制御するとともに、前記画像信号に対する画像処理を行う制御装置である、(10)乃至(12)のいずれか一項に記載の通信装置。
(14)読み出し要求情報を含むプロトコルに従って通信相手装置と通信する通信部を備え、
前記プロトコルは、
前記通信相手装置の識別情報、書き込み指示情報、前記通信相手装置が有する第1記憶部の識別情報、前記通信相手装置の識別情報、及び読み出し指示情報を含む第1読み出し要求情報と、前記第1読み出し要求情報に応じて前記第1記憶部から読み出されて前記通信相手装置から送信された情報と、を含む少なくとも一つの第1オペレーションと、
前記通信相手装置の識別情報と、書き込み指示情報と、前記通信相手装置がカウントする前記プロトコルの数を示す情報及び前記通信相手装置が生成する前記プロトコルの誤りを検出するCRC符号が記憶された第2記憶部の識別情報と、前記通信相手装置の識別情報と、読み出し指示情報と、を含む第2読み出し要求情報と、前記第2読み出し要求情報に応じて前記第2記憶部から読み出されて前記通信相手装置から送信された情報と、を含む第2オペレーションと、を有する、通信装置。
(15)前記第1オペレーションと前記第2オペレーションとに含まれる前記通信相手装置の識別情報は、同一である、(14)に記載の通信装置。
(16)前記プロトコルは、先頭の前記第1オペレーションの冒頭に配置されるスタートフラグと、2つ目以降の前記第1オペレーションの冒頭に配置される再スタートフラグと、前記第2オペレーションの冒頭に配置される再スタートフラグと、前記第2オペレーションの最後尾に配置されるストップフラグと、を含む、(14)又は(15)に記載の通信装置。
(17)前記通信相手装置に送信した前記プロトコルの数をカウントするカウンタと、
前記通信相手装置に送信した前記プロトコルのそれぞれに含まれる各情報に基づいてCRC符号を生成するCRC符号生成部と、
前記通信相手装置から送信された前記プロトコルの数を示す情報と、前記カウンタでカウントされた数とを比較する第1比較器と、
前記通信相手装置から送信された前記CRC符号と、前記CRC符号生成部で生成された前記CRC符号とを比較する第2比較器と、
前記第1比較器及び前記第2比較器の少なくとも一方での比較結果が一致しない場合に、エラー処理を行うエラー処理部と、を備える、(16)に記載の通信装置。
(18)前記エラー処理部は、前記カウンタのカウント値を初期化するとともに、前記通信相手装置がカウントしている前記プロトコルの数を示す情報とエラー検出フラグとをゼロクリアするよう前記通信相手装置に指示する、(17)に記載の通信装置。
(19)前記第1オペレーションに含まれる前記通信相手装置の識別情報を送信した場合、前記第1オペレーションに含まれる前記通信相手装置の第1記憶部の識別情報を送信した場合、前記通信相手装置に再スタートフラグを送信後の前記第1オペレーション又は前記第2オペレーションに含まれる前記通信相手装置の識別情報を送信した場合、及び前記第2オペレーション内の前記第2記憶部の識別情報を送信した場合の少なくとも一つにおいて、前記通信相手装置から受領通知信号の逆論理信号を受信した場合に、前記カウンタでカウントする前記プロトコルの数をカウントアップした上で、前記プロトコルの再送処理を行う再送処理部を備える、(17)又は(18)に記載の通信装置。
(20)第1通信装置と、
第2通信装置と、を備え、
前記第1通信装置は、第1プロトコルに従って前記第2通信装置と通信する第1通信部を有し、
前記第1プロトコルは、
前記第2通信装置の識別情報と、前記第2通信装置が有する第1記憶部の識別情報と、前記第1記憶部に書き込まれるデータと、を含む少なくとも一つの第1オペレーションと、
前記少なくとも一つの第1オペレーションに続いて配置され、前記第2通信装置の識別情報と、前記第2通信装置が有する第2記憶部の識別情報と、前記第2記憶部に記憶される前記第1プロトコルの数を示す情報及び前記第1プロトコルの誤りを検出するCRC(Cyclic Redundancy Check)符号と、を含む第2オペレーションと、を有し、
前記第2通信装置は、
前記第1プロトコルに従って前記第1通信装置と通信する第2通信部と、
前記第1オペレーションに含まれるデータを記憶する第1記憶部と、
前記第2オペレーションに含まれる前記第1プロトコルの数を示す情報及び前記第1プロトコルの誤りを検出する第1CRC符号を記憶する第2記憶部と、
前記第2通信部で受信された前記第1プロトコルの数をカウントするカウンタと、
前記第2通信部で受信された前記第1プロトコル内の前記第1CRC符号よりも前に配置される前記第1オペレーション及び前記第2オペレーションの各情報に基づいて、第2CRC符号を生成するCRC符号生成部と、
前記第2オペレーションに含まれる前記第1プロトコルの数を示す情報と、前記カウンタでカウントされた数とを比較する第1比較器と、
前記第1CRC符号と前記第2CRC符号とを比較する第2比較器と、
前記第1比較器での比較結果が一致しない場合に第1エラー検出信号を出力する第1エラー検出部と、
前記第2比較器での比較結果が一致しない場合に第2エラー検出信号を出力する第2エラー検出部と、を有する、通信システム。
(21)前記第1通信装置は、前記第2通信装置に対して読み出し要求情報を含む第2プロトコルを送信し、
前記第2通信装置は、前記カウンタでカウントされた数と、前記CRC符号生成部で生成された前記第2CRC符号とを記憶する第3記憶部を有し、
前記第2プロトコルは、
前記第2通信装置の識別情報、書き込み指示情報、前記第2通信装置が有する第1記憶部の識別情報、前記第2通信装置の識別情報、及び読み出し指示情報を含む第1読み出し要求情報と、前記第1読み出し要求情報に応じて前記第1記憶部から読み出されて前記第2通信装置から送信された情報と、を含む少なくとも一つの第3オペレーションと、
前記第2通信装置の識別情報と、書き込み指示情報と、前記第3記憶部の識別情報と、前記第2通信装置の識別情報と、読み出し指示情報と、を含む第2読み出し要求情報と、前記第2読み出し要求情報に応じて前記第3記憶部から読み出されて前記第2通信装置から送信された情報と、を含む第4オペレーションと、を有する、(20)に記載の通信システム。
(22)前記第1通信装置との間でシリアル通信を行う第3通信装置と、
前記第2通信装置との間でシリアル通信を行うとともに、前記第3通信装置との間でシリアル通信を行う第4通信装置と、を備え、
前記第3通信装置及び前記第4通信装置は、前記第1プロトコル及び前記第2プロトコルを改変することなく中継する、(21)に記載の通信システム。
(23)前記第1通信装置及び前記第3通信装置は、I2C(Inter-Integrated Circuits)又はI3C(Improved Inter Integrated Circuits)通信を行い、
前記第2通信装置及び前記第4通信装置は、I2C又はI3C通信を行う、(22)に記載の通信システム。
本開示の態様は、上述した個々の実施形態に限定されるものではなく、当業者が想到しうる種々の変形も含むものであり、本開示の効果も上述した内容に限定されない。すなわち、特許請求の範囲に規定された内容およびその均等物から導き出される本開示の概念的な思想と趣旨を逸脱しない範囲で種々の追加、変更および部分的削除が可能である。
1 マスタ、2 スレーブ、3 通信システム、4 ケーブル、5 SoC、6 デシリアライザ、7 第1MUX部、8 第1受信部、9 第1送信部、10 第1LINK部、11 イメージセンサ、12 シリアライザ、13 第2MUX部、14 第2受信部、15 第2送信部、16 第2LINK部、21 通信部、22 CCI部、23 レジスタ群、24 プロセッサ、25 RAM、26 MC_M生成部、27 CRC_M生成部、28 書き込み処理部、29 読み出し処理部、30 スレーブ側MCエラー検出部、30a MC_M送信時NACK検出部、30b スレーブ側MCエラー出力部、31 スレーブ側CRCエラー検出部、31a CRC_M送信時NACK検出部、31b スレーブ側CRCエラー出力部、32 マスタ側MCエラー検出部、32a 第1比較器、32b マスタ側MCエラー出力部、33 マスタ側CRCエラー検出部、33a 第2比較器、33b マスタ側CRCエラー出力部、34 通信部、35 CCI部、35a 書き込み処理部、35b 読み出し処理部、36 FIFO部、37 AAL処理部、38 A-PHY処理部、41 通信部、42 CCI部、43 レジスタ群、43a レジスタ(第1記憶部)、43b レジスタ(第2記憶部)、43c レジスタ(第3記憶部)、43d レジスタ(第4記憶部)、44 MC_S生成部、45 CRC_S生成部、46 第1比較器、47 第2比較器、48 スレーブ側MCエラー検出部、49 スレーブ側CRCエラー検出部、50 書き込み処理部、51 読み出し処理部、52 通信部、53 CCI部、54 FIFO部、55 AAL処理部、56 A-PHY処理部、57 書き込み処理部、58 読み出し処理部

Claims (23)

  1. プロトコルに従って通信相手装置と通信する通信部を備え、
    前記プロトコルは、
    前記通信相手装置の識別情報と、書き込み指示情報と、前記通信相手装置が有する第1記憶部の識別情報と、前記第1記憶部に書き込まれるデータと、を含む少なくとも一つの第1オペレーションと、
    前記少なくとも一つの第1オペレーションに続いて配置され、前記通信相手装置の識別情報と、書き込み指示情報と、前記通信相手装置が有する第2記憶部の識別情報と、前記第2記憶部に記憶される前記プロトコルの数を示す情報及び前記プロトコルの誤りを検出するCRC(Cyclic Redundancy Check)符号と、を含む第2オペレーションと、を有する、通信装置。
  2. 前記第1オペレーションと前記第2オペレーションとに含まれる前記通信相手装置の識別情報は、同一である、請求項1に記載の通信装置。
  3. 前記第1オペレーション内の前記第1記憶部に書き込まれるデータの先頭位置は、前記第2オペレーション内の前記プロトコルの数を示す情報の先頭位置と等しく、前記プロトコルの数を示す情報の後に前記CRC符号が配置される、請求項1に記載の通信装置。
  4. 前記通信相手装置に送信される前記プロトコルの数をカウントするカウンタと、
    前記少なくとも一つの前記第1オペレーションに含まれる各情報と、前記第2オペレーション内の前記CRC符号より前に配置される各情報とに基づいて、前記CRC符号を生成するCRC符号生成部と、を備える、請求項1に記載の通信装置。
  5. 前記プロトコルは、先頭の前記第1オペレーションの冒頭に配置されるスタートフラグと、2つ目以降の前記第1オペレーションの冒頭に配置される再スタートフラグと、前記第2オペレーションの冒頭に配置される再スタートフラグと、前記第2オペレーションの最後尾に配置されるストップフラグと、を含む、請求項1に記載の通信装置。
  6. 前記第1オペレーション及び前記第2オペレーション内の各情報を前記通信相手装置に送信するたびに、前記通信相手装置から受領通知信号又は前記受領通知信号の逆論理信号を受信し、前記逆論理信号が受信されると、ストップフラグを前記通信相手装置に送信し、かつ前記プロトコルの数を示す情報をインクリメントした後に、前記プロトコルを先頭から再送する処理を行う再送処理部を備える、請求項1に記載の通信装置。
  7. 前記第1オペレーション及び前記第2オペレーション内の各情報を前記通信相手装置に送信するたびに、前記通信相手装置から受領通知信号又は前記受領通知信号の逆論理信号を受信し、前記逆論理信号が受信されると、前記プロトコルの数を示す情報をインクリメントした後に、前記プロトコルを先頭から再送する処理を行う再送処理部を備える、請求項1に記載の通信装置。
  8. 前記第2オペレーション内の前記プロトコルの数を示す情報を送信した後、前記通信相手装置から受領通知信号の逆論理信号を受信した場合に、前記プロトコルの数を示す情報を初期化するとともに、前記通信相手装置がカウントしている前記プロトコルの数を示す情報及び前記通信相手装置が保存するエラーフラグを初期化するよう前記通信相手装置に指示する第1エラー処理部と、
    前記第2オペレーション内の前記CRC符号を送信した後、前記通信相手装置から前記受領通知信号の逆論理の信号を受信した場合に、前記プロトコルの数を示す情報を初期化するとともに、前記通信相手装置がカウントしている前記プロトコルの数を示す情報及び前記通信相手装置が保存するエラーフラグを初期化するよう前記通信相手装置に指示する第2エラー処理部と、を有する、請求項1に記載の通信装置。
  9. 前記通信相手装置は、撮像装置であり、
    前記プロトコルの前記第1オペレーションは、前記撮像装置を制御するデータを含む、請求項1に記載の通信装置。
  10. 少なくとも一つの第1オペレーション及び第2オペレーションを含むプロトコルに従って通信相手装置と通信する通信部と、
    前記第1オペレーションに含まれるデータを記憶する第1記憶部と、
    前記第2オペレーションに含まれる前記プロトコルの数を示す情報及び前記プロトコルの誤りを検出する第1CRC符号を記憶する第2記憶部と、
    前記通信部で受信された前記プロトコルの数をカウントするカウンタと、
    前記通信部で受信された前記プロトコル内の前記第1CRC符号よりも前に配置される前記第1オペレーション及び前記第2オペレーションの各情報に基づいて、第2CRC符号を生成するCRC符号生成部と、
    前記第2オペレーションに含まれる前記プロトコルの数を示す情報と、前記カウンタでカウントされた数とを比較する第1比較器と、
    前記第1CRC符号と前記第2CRC符号とを比較する第2比較器と、
    前記第1比較器での比較結果が一致しない場合に第1エラー検出信号を出力する第1エラー検出部と、
    前記第2比較器での比較結果が一致しない場合に第2エラー検出信号を出力する第2エラー検出部と、を備える、通信装置。
  11. 前記第1オペレーションに当該通信装置の識別情報が含まれ、かつ前記第1オペレーションに前記第1記憶部の識別情報が含まれ、かつ前記第1オペレーションに書き込み指示情報が含まれる場合に、前記第1オペレーションに含まれるデータを前記第1記憶部に記憶する制御を行い、かつ前記第2オペレーションに前記第2記憶部の識別情報が含まれる場合に、前記第2オペレーションに含まれる前記プロトコルの数を示す情報及び前記第1CRC符号を前記第2記憶部に記憶する制御を行う書き込み処理部を備える、請求項10に記載の通信装置。
  12. 前記カウンタでカウントされた数と、前記CRC符号生成部で生成された前記第2CRC符号とを記憶する第3記憶部と、
    前記プロトコル内の前記第2オペレーションに読み出し指示情報が含まれ、かつ前記第2オペレーションに前記第3記憶部の識別情報が含まれる場合に、前記第3記憶部に記憶された前記カウンタでカウントされた数と、前記CRC符号生成部で生成された前記第2CRC符号とを前記通信部を介して送信する制御を行う読み出し処理部と、を備える、請求項10に記載の通信装置。
  13. 画像信号を出力する撮像部を備え、
    前記通信相手装置は、前記撮像部を制御するとともに、前記画像信号に対する画像処理を行う制御装置である、請求項10に記載の通信装置。
  14. 読み出し要求情報を含むプロトコルに従って通信相手装置と通信する通信部を備え、
    前記プロトコルは、
    前記通信相手装置の識別情報、書き込み指示情報、前記通信相手装置が有する第1記憶部の識別情報、前記通信相手装置の識別情報、及び読み出し指示情報を含む第1読み出し要求情報と、前記第1読み出し要求情報に応じて前記第1記憶部から読み出されて前記通信相手装置から送信された情報と、を含む少なくとも一つの第1オペレーションと、
    前記通信相手装置の識別情報と、書き込み指示情報と、前記通信相手装置がカウントする前記プロトコルの数を示す情報及び前記通信相手装置が生成する前記プロトコルの誤りを検出するCRC符号が記憶された第2記憶部の識別情報と、前記通信相手装置の識別情報と、読み出し指示情報と、を含む第2読み出し要求情報と、前記第2読み出し要求情報に応じて前記第2記憶部から読み出されて前記通信相手装置から送信された情報と、を含む第2オペレーションと、を有する、通信装置。
  15. 前記第1オペレーションと前記第2オペレーションとに含まれる前記通信相手装置の識別情報は、同一である、請求項14に記載の通信装置。
  16. 前記プロトコルは、先頭の前記第1オペレーションの冒頭に配置されるスタートフラグと、2つ目以降の前記第1オペレーションの冒頭に配置される再スタートフラグと、前記第2オペレーションの冒頭に配置される再スタートフラグと、前記第2オペレーションの最後尾に配置されるストップフラグと、を含む、請求項14に記載の通信装置。
  17. 前記通信相手装置に送信した前記プロトコルの数をカウントするカウンタと、
    前記通信相手装置に送信した前記プロトコルのそれぞれに含まれる各情報に基づいてCRC符号を生成するCRC符号生成部と、
    前記通信相手装置から送信された前記プロトコルの数を示す情報と、前記カウンタでカウントされた数とを比較する第1比較器と、
    前記通信相手装置から送信された前記CRC符号と、前記CRC符号生成部で生成された前記CRC符号とを比較する第2比較器と、
    前記第1比較器及び前記第2比較器の少なくとも一方での比較結果が一致しない場合に、エラー処理を行うエラー処理部と、を備える、請求項16に記載の通信装置。
  18. 前記エラー処理部は、前記カウンタのカウント値を初期化するとともに、前記通信相手装置がカウントしている前記プロトコルの数を示す情報とエラー検出フラグとをゼロクリアするよう前記通信相手装置に指示する、請求項17に記載の通信装置。
  19. 前記第1オペレーションに含まれる前記通信相手装置の識別情報を送信した場合、前記第1オペレーションに含まれる前記通信相手装置の第1記憶部の識別情報を送信した場合、前記通信相手装置に再スタートフラグを送信後の前記第1オペレーション又は前記第2オペレーションに含まれる前記通信相手装置の識別情報を送信した場合、及び前記第2オペレーション内の前記第2記憶部の識別情報を送信した場合の少なくとも一つにおいて、前記通信相手装置から受領通知信号の逆論理信号を受信した場合に、前記カウンタでカウントする前記プロトコルの数をカウントアップした上で、前記プロトコルの再送処理を行う再送処理部を備える、請求項17に記載の通信装置。
  20. 第1通信装置と、
    第2通信装置と、を備え、
    前記第1通信装置は、第1プロトコルに従って前記第2通信装置と通信する第1通信部を有し、
    前記第1プロトコルは、
    前記第2通信装置の識別情報と、前記第2通信装置が有する第1記憶部の識別情報と、前記第1記憶部に書き込まれるデータと、を含む少なくとも一つの第1オペレーションと、
    前記少なくとも一つの第1オペレーションに続いて配置され、前記第2通信装置の識別情報と、前記第2通信装置が有する第2記憶部の識別情報と、前記第2記憶部に記憶される前記第1プロトコルの数を示す情報及び前記第1プロトコルの誤りを検出するCRC(Cyclic Redundancy Check)符号と、を含む第2オペレーションと、を有し、
    前記第2通信装置は、
    前記第1プロトコルに従って前記第1通信装置と通信する第2通信部と、
    前記第1オペレーションに含まれるデータを記憶する第1記憶部と、
    前記第2オペレーションに含まれる前記第1プロトコルの数を示す情報及び前記第1プロトコルの誤りを検出する第1CRC符号を記憶する第2記憶部と、
    前記第2通信部で受信された前記第1プロトコルの数をカウントするカウンタと、
    前記第2通信部で受信された前記第1プロトコル内の前記第1CRC符号よりも前に配置される前記第1オペレーション及び前記第2オペレーションの各情報に基づいて、第2CRC符号を生成するCRC符号生成部と、
    前記第2オペレーションに含まれる前記第1プロトコルの数を示す情報と、前記カウンタでカウントされた数とを比較する第1比較器と、
    前記第1CRC符号と前記第2CRC符号とを比較する第2比較器と、
    前記第1比較器での比較結果が一致しない場合に第1エラー検出信号を出力する第1エラー検出部と、
    前記第2比較器での比較結果が一致しない場合に第2エラー検出信号を出力する第2エラー検出部と、を有する、通信システム。
  21. 前記第1通信装置は、前記第2通信装置に対して読み出し要求情報を含む第2プロトコルを送信し、
    前記第2通信装置は、前記カウンタでカウントされた数と、前記CRC符号生成部で生成された前記第2CRC符号とを記憶する第3記憶部を有し、
    前記第2プロトコルは、
    前記第2通信装置の識別情報、書き込み指示情報、前記第2通信装置が有する第1記憶部の識別情報、前記第2通信装置の識別情報、及び読み出し指示情報を含む第1読み出し要求情報と、前記第1読み出し要求情報に応じて前記第1記憶部から読み出されて前記第2通信装置から送信された情報と、を含む少なくとも一つの第3オペレーションと、
    前記第2通信装置の識別情報と、書き込み指示情報と、前記第3記憶部の識別情報と、前記第2通信装置の識別情報と、読み出し指示情報と、を含む第2読み出し要求情報と、前記第2読み出し要求情報に応じて前記第3記憶部から読み出されて前記第2通信装置から送信された情報と、を含む第4オペレーションと、を有する、請求項20に記載の通信システム。
  22. 前記第1通信装置との間でシリアル通信を行う第3通信装置と、
    前記第2通信装置との間でシリアル通信を行うとともに、前記第3通信装置との間でシリアル通信を行う第4通信装置と、を備え、
    前記第3通信装置及び前記第4通信装置は、前記第1プロトコル及び前記第2プロトコルを中継する、請求項21に記載の通信システム。
  23. 前記第1通信装置及び前記第3通信装置は、I2C(Inter-Integrated Circuits)又はI3C(Improved Inter Integrated Circuits)通信を行い、
    前記第2通信装置及び前記第4通信装置は、I2C又はI3C通信を行う、請求項22に記載の通信システム。
JP2020083304A 2020-05-11 2020-05-11 通信装置及び通信システム Pending JP2023089317A (ja)

Priority Applications (6)

Application Number Priority Date Filing Date Title
JP2020083304A JP2023089317A (ja) 2020-05-11 2020-05-11 通信装置及び通信システム
KR1020227036108A KR20230008043A (ko) 2020-05-11 2021-04-30 통신 장치 및 통신 시스템
CN202180033382.6A CN115485998A (zh) 2020-05-11 2021-04-30 通信装置及通信系统
EP21804411.3A EP4152659A4 (en) 2020-05-11 2021-04-30 COMMUNICATION DEVICE AND COMMUNICATION SYSTEM
PCT/JP2021/017291 WO2021230117A1 (ja) 2020-05-11 2021-04-30 通信装置及び通信システム
US17/996,116 US20230199306A1 (en) 2020-05-11 2021-04-30 Communication device and communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2020083304A JP2023089317A (ja) 2020-05-11 2020-05-11 通信装置及び通信システム

Publications (1)

Publication Number Publication Date
JP2023089317A true JP2023089317A (ja) 2023-06-28

Family

ID=78525731

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2020083304A Pending JP2023089317A (ja) 2020-05-11 2020-05-11 通信装置及び通信システム

Country Status (6)

Country Link
US (1) US20230199306A1 (ja)
EP (1) EP4152659A4 (ja)
JP (1) JP2023089317A (ja)
KR (1) KR20230008043A (ja)
CN (1) CN115485998A (ja)
WO (1) WO2021230117A1 (ja)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN117579811B (zh) * 2023-11-14 2024-05-28 镁佳(武汉)科技有限公司 一种车辆摄像头故障检测与恢复方法、系统及装置

Family Cites Families (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6874052B1 (en) 2000-09-29 2005-03-29 Lucent Technologies Inc. Expansion bridge apparatus and method for an I2C bus
JP5250505B2 (ja) * 2009-08-14 2013-07-31 アンリツ株式会社 移動体通信用デバイス試験システム及び試験方法
US20150100711A1 (en) * 2013-10-07 2015-04-09 Qualcomm Incorporated Low power camera control interface bus and devices
TWI767997B (zh) * 2017-03-23 2022-06-21 日商索尼半導體解決方案公司 通信裝置、通信方法、程式及通信系統
JP7031961B2 (ja) * 2017-08-04 2022-03-08 ソニーセミコンダクタソリューションズ株式会社 通信装置、通信方法、プログラム、および、通信システム
US10771194B2 (en) * 2018-05-25 2020-09-08 Arm Limited Interconnection network for integrated circuit

Also Published As

Publication number Publication date
EP4152659A1 (en) 2023-03-22
WO2021230117A1 (ja) 2021-11-18
KR20230008043A (ko) 2023-01-13
EP4152659A4 (en) 2023-11-08
US20230199306A1 (en) 2023-06-22
CN115485998A (zh) 2022-12-16

Similar Documents

Publication Publication Date Title
US7010612B1 (en) Universal serializer/deserializer
US10747697B2 (en) Semiconductor device, method of operating semiconductor device and system incorporating same
US20050254456A1 (en) Transmitter, receiver, data transfer system, transmission method, reception method, computer program for transmission, computer program for reception, and recording medium
CN104699576B (zh) 串行通信测试装置、包括该装置的系统及其方法
JPS63296540A (ja) 単一集積回路マイクロ制御器におけるマルチプロトコル通信制御器
JPS60500195A (ja) デイジタル通信リンクに円滑に割込む方法と装置
CN102257573A (zh) 错误检测方法和包括一个或多个存储器设备的系统
US20130258906A1 (en) Communication configuration and method for debugging, respectively for programming one or more participants of the communication configuration
WO2021230117A1 (ja) 通信装置及び通信システム
WO2017199763A1 (en) Communication device and communication system
JP2948837B2 (ja) 通信リンク・インターフェースの初期化および同期方法および通信リンクの受信機
US20040267993A1 (en) Information transfer protocol
US11831739B2 (en) Communication apparatus and communication system
JP2016111672A (ja) 通信方法、通信システム及び通信装置
JP2004193664A (ja) エラー検出/訂正方式及び該方式を用いた制御装置
JP4012907B2 (ja) 非同期伝送方法及びその回路
JPWO2020166378A1 (ja) 通信装置および通信方法、並びにプログラム
EP3671720B1 (en) Real-time on-chip data transfer system
US5721891A (en) Detection of N length bit serial communication stream
KR20190008196A (ko) 통신 장치, 통신 방법, 프로그램, 및, 통신 시스템
EP2571187A1 (en) Information processing system, transmitting apparatus, receiving apparatus, and method of processing information
CN115280730A (zh) 通信装置和通信系统
CN112084137A (zh) 一种SerDes高鲁棒收发电路
US11012195B2 (en) Method, sensor, and controller for transmitting a data packet from a sensor to a controller
US6131176A (en) On-the-fly data integrity transfer system handling mixed block sizes