(57)【要約】  本開示は、より信頼性を高めることができるようにする通信装置および通信方法、並びにプログラムに関する。複数のレーンに分配してパケットを送信する際に、パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方を、レーンごとに独立して送信する。レーンごとに送信されてくるパケットフッタは、それぞれ対応するレーンに分配されるパケットのペイロードから算出されるCRCであり、レーンごとに送信されてくるパケットヘッダには、それぞれ対応するレーンに分配されるパケットのペイロードのバイト数を示すワードカウントが含まれている。本技術は、例えば、車載カメラの接続で用いられる通信システムに適用できる。
2020166378.tif 000002
【特許請求の範囲】
【請求項１】
受信側の通信装置との間で、複数のレーンに分配してパケットを送信する際に、前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方を、前記レーンごとに独立して送信する送信部
を備える通信装置。
【請求項２】
前記レーンごとの前記パケットフッタとして、それぞれ対応する前記レーンに分配される前記パケットのペイロードから算出されるCRC（Cyclic Redundancy Check）を生成するパケットフッタ生成部
をさらに備える請求項１に記載の通信装置。
【請求項３】
前記レーンごとの前記パケットヘッダを、それぞれ対応する前記レーンに分配される前記パケットのペイロードのバイト数を示すワードカウントを含めて生成するパケットヘッダ生成部
をさらに備える請求項１に記載の通信装置。
【請求項４】
前記パケットのペイロードの先頭に配置されるペイロードヘッダを生成するペイロードヘッダ生成部をさらに備え、
前記送信部は、前記ペイロードヘッダを前記レーンごとに独立して送信し、
前記ペイロードヘッダには、前記レーンごとにインクリメントされるメッセージカウントが含まれるとともに、それぞれ送信される前記レーンを識別するレーンナンバーが必要に応じて含まれる
請求項１に記載の通信装置。
【請求項５】
通信装置が、
受信側の通信装置との間で、複数のレーンに分配してパケットを送信する際に、前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方を、前記レーンごとに独立して送信すること
を含む通信方法。
【請求項６】
通信装置のコンピュータに、
受信側の通信装置との間で、複数のレーンに分配してパケットを送信する際に、前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方を、前記レーンごとに独立して送信すること
を含む通信処理を実行させるためのプログラム。
【請求項７】
送信側の通信装置から、複数のレーンに分配して送信されてくるパケットを受信する受信部
を備え、
前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方が、前記レーンごとに独立して送信されてくる
通信装置。
【請求項８】
前記レーンごとに送信されてくる前記パケットフッタは、それぞれ対応する前記レーンに分配される前記パケットのペイロードから算出されるCRC（Cyclic Redundancy Check）であり、
前記CRCに基づいて検出されるCRCエラーが所定回数以上となる前記レーンの使用を停止すると判断し、そのレーンの使用を停止するように前記送信側の通信装置に対して設定するエラー処理部をさらに備える
請求項７に記載の通信装置。
【請求項９】
前記レーンごとに送信されてくる前記パケットヘッダには、それぞれ対応する前記レーンに分配される前記パケットのペイロードのバイト数を示すワードカウントが含まれており、
前記受信部は、前記ワードカウントに基づいて、複数の前記レーンのうちの正常な前記レーンにより送信されてくる前記パケットのペイロードを受信する
請求項７に記載の通信装置。
【請求項１０】
前記パケットのペイロードの先頭には、前記レーンごとにインクリメントされるメッセージカウントが含まれるとともに、それぞれ送信される前記レーンを識別するレーンナンバーが必要に応じて含まれるペイロードヘッダが配置されており、
前記メッセージカウントおよび前記レーンナンバーに基づいて、複数の前記レーンのうちの異常が発生している前記レーンを特定し、そのレーンの使用を停止するように前記送信側の通信装置に対して設定するエラー処理部をさらに備える
請求項７に記載の通信装置。
【請求項１１】
前記送信側の通信装置とバスを介して直接的に接続され、前記パケットのパケットヘッダまたはパケットフッタに基づいて、前記バスに所定の不具合が発生したことを検出したときに、後段にある受信側の他の通信装置に対して、前記不具合の内容を示すエラー情報を通知する通知部
をさらに備える請求項７に記載の通信装置。
【請求項１２】
通信装置が、
送信側の通信装置から、複数のレーンに分配して送信されてくるパケットを受信すること
を含み、
前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方が、前記レーンごとに独立して送信されてくる
を含む通信方法。
【請求項１３】
通信装置のコンピュータに、
送信側の通信装置から、複数のレーンに分配して送信されてくるパケットを受信すること
を含み、
前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方が、前記レーンごとに独立して送信されてくる
を含む通信処理を実行させるためのプログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本開示は、通信装置および通信方法、並びにプログラムに関し、特に、より信頼性を高めることができるようにした通信装置および通信方法、並びにプログラムに関する。
【背景技術】
【０００２】
現在、規格化が進行中であるCSI(Camera Serial Interface)-2 ver4.0では、モバイル機器だけに用いられるのではなく、車載やIoT（Internet of Things）など様々な用途に広く用いられるように、修正および検討が進められている。【０００３】
ところで、車載カメラには、例えば、ISO26262規格で規定される機能安全（Functional Safety）への対応が義務付けられるなど、モバイル機器とは違った要件が課されている。特に、自動運転車両ではコンピュータが、車載カメラにより撮像された画像に基づいて環境を認識し、自律的に走行する。このため、車載カメラとしての用途では、エラーが発生しないようにする信頼性を備えることが必須となる。【０００４】
例えば、車両が衝突した際に、車載カメラおよびコンピュータを接続する配線が断線するなどのような何らかのエラーが発生したとしても、その他の断線していない配線を用いて画像の伝送を継続することが求められる。これにより、コンピュータが自走運転を行うことが可能となり、車両を路肩まで退避させて安全に停止させることできるようになる。【０００５】
また、特許文献１では、CSI-2規格を利用して、処理装置と複数の画像センサとを接続する際に、データバスの数を減らすことができるシステムが提案されている。
【先行技術文献】
【特許文献】
【０００６】
【特許文献１】特開２０１７−２１１８６４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００７】
しかしながら、既存のCSI-2の規格では、モバイル機器での使用に特化したパケット構造となっていたため、上述したような車載カメラでの用途に求められる信頼性を確保することは困難となっていた。【０００８】
本開示は、このような状況に鑑みてなされたものであり、より信頼性を高めることができるようにするものである。
【課題を解決するための手段】
【０００９】
本開示の第１の側面の通信装置は、受信側の通信装置との間で、複数のレーンに分配してパケットを送信する際に、前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方を、前記レーンごとに独立して送信する送信部を備える。【００１０】
本開示の第１の側面の通信方法またはプログラムは、受信側の通信装置との間で、複数のレーンに分配してパケットを送信する際に、前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方を、前記レーンごとに独立して送信することを含む。【００１１】
本開示の第１の側面においては、受信側の通信装置との間で、複数のレーンに分配してパケットを送信する際に、パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方が、レーンごとに独立して送信される。【００１２】
本開示の第２の側面の通信装置は、送信側の通信装置から、複数のレーンに分配して送信されてくるパケットを受信する受信部を備え、前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方が、前記レーンごとに独立して送信されてくる。【００１３】
本開示の第２の側面の通信方法またはプログラムは、送信側の通信装置から、複数のレーンに分配して送信されてくるパケットを受信することを含み、前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方が、前記レーンごとに独立して送信されてくる。【００１４】
本開示の第２の側面においては、送信側の通信装置から、複数のレーンに分配して送信されてくるパケットが受信され、パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方が、レーンごとに独立して送信されてくる。
【図面の簡単な説明】
【００１５】
【図１】本技術を適用した通信システムの第１の実施の形態の構成例を示すブロック図である。
【図２】従来のパケット構造およびLane Distributionについて説明する図である。
【図３】拡張パケットのパケット構造およびパラレル伝送設定について説明する図である。
【図４】エラー通知に用いるShort Packetのパケット構造の一例を示す図である。
【図５】イメージセンサの構成例を示すブロック図である。
【図６】アプリケーションプロセッサの構成例を示すブロック図である。
【図７】シリアライザの構成例を示すブロック図である。
【図８】イメージセンサがパケットを送信する処理を説明するフローチャートである。
【図９】拡張モード送信処理を説明するフローチャートである。
【図１０】アプリケーションプロセッサがパケットを受信する処理を説明するフローチャートである。
【図１１】拡張モード受信処理を説明するフローチャートである。
【図１２】エラー処理を説明するフローチャートである。
【図１３】本技術を適用した通信システムの第２の実施の形態の構成例を示すブロック図である。
【図１４】拡張パケットのパケット構造の第２の構成例を示す図である。
【図１５】イメージセンサおよびアプリケーションプロセッサの概略的な構成例を示す図である。
【図１６】本技術を適用したコンピュータの一実施の形態の構成例を示すブロック図である。
【発明を実施するための形態】
【００１６】
以下、本技術を適用した具体的な実施の形態について、図面を参照しながら詳細に説明する。
【００１７】
＜通信システムの第１の構成例＞
図１は、本技術を適用した通信システムの第１の実施の形態の構成例を示すブロック図である。
【００１８】
図１に示すように、通信システム１１は、イメージセンサ２１、アプリケーションプロセッサ２２、シリアライザ２３、およびデシリアライザ２４を備えて構成されている。そして、イメージセンサ２１およびシリアライザ２３がバス２５−１を介して接続され、アプリケーションプロセッサ２２およびデシリアライザ２４がバス２５−２を介して接続され、シリアライザ２３およびデシリアライザ２４がバス２６を介して接続される。例えば、通信システム１１は、既存の車載カメラにおける接続に用いられる。
【００１９】
イメージセンサ２１は、例えば、レンズや撮像素子（いずれも図示せず）などとともに、拡張モード対応CSI-2送信回路３１が組み込まれて構成される。例えば、イメージセンサ２１は、撮像素子が撮像することで取得した画像の画像データを、拡張モード対応CSI-2送信回路３１によりアプリケーションプロセッサ２２へ送信する。
【００２０】
アプリケーションプロセッサ２２は、通信システム１１を備えるモバイル機器で実行される各種のアプリケーションに応じた処理を行うLSI（Large Scale Integration）とともに、拡張モード対応CSI-2受信回路３２が組み込まれて構成される。例えば、アプリケーションプロセッサ２２は、イメージセンサ２１から送信されてくる画像データを、拡張モード対応CSI-2受信回路３２により受信し、その画像データに対して、アプリケーションに応じた処理をLSIにより行うことができる。
【００２１】
シリアライザ２３は、CSI-2受信回路３３およびSerDes（Serializer Deserializer）送信回路３４を備えて構成される。例えば、シリアライザ２３は、CSI-2受信回路３３が、拡張モード対応CSI-2送信回路３１との間で通常のCSI-2の規格に準拠した通信を行うことにより、イメージセンサ２１から送信されてくるビット並列の信号を取得する。そして、シリアライザ２３は、その取得した信号をビット直列に変換して、SerDes送信回路３４がSerDes受信回路３５との間で１レーンでの通信を行うことにより、その信号をデシリアライザ２４へ送信する。
【００２２】
デシリアライザ２４は、SerDes受信回路３５およびCSI-2送信回路３６を備えて構成される。例えば、デシリアライザ２４は、SerDes受信回路３５が、SerDes送信回路３４との間で１レーンでの通信を行うことにより送信されてくるビット直列の信号を取得する。そして、デシリアライザ２４は、その取得した信号をビット並列に変換して、CSI-2送信回路３６が、拡張モード対応CSI-2受信回路３２との間で通常のCSI-2の規格に準拠した通信を行うことにより、アプリケーションプロセッサ２２へ送信する。
【００２３】
バス２５−１および２５−２は、CSI-2の規格に準拠して信号を伝送する通信経路であり、例えば、信号を伝送することが可能な伝送距離は３０ｃｍ程度となっている。また、バス２５は、図示するように複数本の信号線（HS-GPIO，I2C or I3C，CLKP/N，D0P/N，D1P/N，D2P/N，D3P/N）によって、イメージセンサ２１およびアプリケーションプロセッサ２２を接続する。
【００２４】
バス２６は、FPD(Flat Panel Display)-LINK IIIなどのように、CSI-2以外のSerDes規格に準拠して信号を伝送する通信経路であり、例えば、信号を伝送することが可能な伝送距離は１５ｍ程度となっている。
【００２５】
ここで、通信システム１１では、拡張モード対応CSI-2送信回路３１および拡張モード対応CSI-2受信回路３２は、CSI-2の規格を拡張させた拡張モードでの通信に対応しており、例えば、後述する図３に示すように拡張モードで用いられるパケット（以下、拡張パケットと称する）を送受信することができる。例えば、拡張モード対応CSI-2受信回路３２は、バス２５−２を介して送信されてくる拡張パケットに基づいて、バス２５−２で発生するエラーを認識するエラー認識機能を備えている。なお、拡張モード対応CSI-2送信回路３１および拡張モード対応CSI-2受信回路３２の詳細な構成については、図５および図６を参照して後述する。
【００２６】
また、通信システム１１では、CSI-2受信回路３３は、バス２５−１を介して送信されてくる拡張パケットに基づいて、バス２５−１で発生するエラーを認識するエラー認識機能を備えている。なお、CSI-2受信回路３３の詳細な構成については、図７を参照して後述する。
【００２７】
ところで、上述したような車載カメラで通信システム１１を採用する場合には、例えば、不具合が発生した場合にも迅速に通信を継続して行えるなど、より高い信頼性が求められるため、以下で説明するような２つの点を対策する必要がある。
【００２８】
従来、イメージセンサ２１からアプリケーションプロセッサ２２へ送信されるパケットは、例えば、図２に示すようなパケット構造となっており、複数のレーンに分配されて伝送される。
【００２９】
図２の上側には、イメージセンサ２１からアプリケーションプロセッサ２２へ伝送されるパケットの一例として、物理層にD-PHYが用いられるときのD-PHY用のCSI-2 Long Packetのパケット構造が示されている。また、図２の下側には、D-PHY用のCSI-2 Long Packetが、Ｎ本のレーンに分配（Lane Distribution）されて伝送される状態が示されている。
【００３０】
そして、図２に示すように、従来、パケットヘッダ（PH：Packet Header）およびパケットフッタ（PF：Packet Footer）のどちらも、複数のレーンに分配されて、並列的に伝送されていた。このため、これらのレーンのいずれかにエラーが発生した場合、エラーが発生したレーンを特定することができないことがある。
【００３１】
例えば、Packet Dataに1bit errorが発生した場合、既存のCSI-2規格ではCRCエラーが検出される。しかし、パケット全体に対して１つのCRCしかないパケット構造であるため、どのレーンで1bit errorが発生したのかを受信側で特定することができなかった。このため、アプリケーションプロセッサ２２が、Errorが頻発する特定のレーンを切り離して、そのレーン以外の正常なレーンのみで再度通信を継続することはできなかった。
【００３２】
従って、通信システム１１を車載カメラで採用する場合には、エラーが発生したレーンを特定することができるようにする対策が必要となる。
【００３３】
また、例えば、図１で×印が示されている信号線D1P/Nが断線した場合、受信側では、どのレーンが断線したのかを、即時に検出することができなかった。同様に、信号線D1P/Nにおいてビットエラーなどが発生することによってSYNCをロスした場合、受信側では、どのレーンでビットエラーが発生したためにSYNCをロスしたのかを、即時に検出することができなかった。
【００３４】
例えば、シリアライザ２３は、PayloadにCRC errorが発生した場合には、エラーがあってもSerDes送信回路３４からデータを出力することができるような前提で構成されている。
【００３５】
これに対し、シリアライザ２３は、いずれかのレーンが断線した場合や、いずれかのレーンでビットエラーが発生したためにSYNCをロスした場合などには、Payloadそのものを受信することができず、SerDes送信回路３４からデータを出力することができない。つまり、ハミング符号により1bit errorは訂正することができる一方で、2bit errorが検出（SECDED）された場合、シリアライザ２３は、パケットヘッダ内のWC（Word Count：ペイロードのデータ長）を正しく受信することができない。このため、シリアライザ２３は、Payloadの長さが分からず、断線などと同様に、SerDes送信回路３４からデータを出力することができない。
【００３６】
そして、単なるbit化けによるSyncロス、あるいは、パケットヘッダで2bit以上のerrorが発生した場合、次のパケットで通信が回復しても、どのレーンでパケットロスしたのか判別できない。このため、I2Cなどを用いて別途問い合わせが必要になってしまい、エラー頻度の高いレーンを回避して通信継続するまでに遅延が生じることになる。
【００３７】
また、断線が発生した場合は、アプリケーションプロセッサ２２側は以後一切の通信を受信できなくなる。そのため、後段のアプリケーションプロセッサ２２は一定時間経過後に断線の可能性を疑い、I2Cなどを用いてシリアライザ２３のレジストリ設定を読むことで断線エラーを検知できるが、それまでに遅延が生じることになる。車載カメラにおいては、この遅延が致命的となると想定される。
【００３８】
従って、通信システム１１を車載カメラで採用する場合には、不具合の発生を即時に検出して、通信を遅延なく継続することができるようにする対策が必要となる。
【００３９】
そこで、通信システム１１は、エラーが発生したレーンを特定することができるとともに、不具合の発生を即時に検出して通信を遅延なく継続することができるように構成されている。
【００４０】
例えば、通信システム１１では、図３の上側に示すようなパケット構造の拡張パケット（D-PHY用のCSI-2 Long Packet）が、拡張モード対応CSI-2送信回路３１から拡張モード対応CSI-2受信回路３２へ送信される。そして、通信システム１１では、図３の下側に示すように、この拡張パケットが、Ｎ本のレーンに分配（Lane Distribution）されて伝送される状態が示されている。
【００４１】
例えば、拡張パケットは、パケットヘッダおよびパケットフッタが既存のCSI-2規格と同一のパケット構造となっている。例えば、パケットヘッダには、仮想チャネルの回線数を示すVC（VirtualChannel）、データの種類を示すデータタイプ（DataType）、ペイロードのデータ長を示すWC（Word Count）、VCX/ECCが格納される。また、パケットフッタには、CRC（Cyclic Redundancy Check）が格納される。
【００４２】
ここで、既存のCSI-2規格では、パケットヘッダで送信されるデータタイプは、0x38〜0x3Fがリザーブと定義されている。そこで、D-PHY用の拡張パケットでは、既存ではリザーブとなっているデータタイプを利用して、受信側で拡張モードを識別するための設定情報が新たに定義される。
【００４３】
例えば、データタイプとして、
・DataType[5:3]=3’b111の場合、拡張モード
・DataType[2]=Reserve（RES：将来の拡張のための予約）
・DataType[1:0]=extension mode type（４つの拡張モードを用意）
を定義する。
【００４４】
即ち、既存のCSI-2規格ではリザーブと定義されているデータタイプの0x38〜0x3Fのうち、例えば、DataType[5:3]が拡張モード設定情報として定義され、DataType[1:0]が拡張タイプ設定情報として定義される。拡張モード設定情報は、拡張モードであるか否かを示し、例えば、DataType[5:3]が3’b111である場合には拡張モードであることを示す。また、拡張モードのタイプとして、拡張モード０、拡張モード１、拡張モード２、および拡張モード３の４つのタイプが用意されるとき、拡張タイプ設定情報は、それらのうちの、いずれのタイプであるかを示す。例えば、DataType[1:0]が2’b00である場合には、拡張モードのタイプが拡張モード０であることを示す。
【００４５】
そして、拡張モード０（DataType[1:0]=2’b00）では、例えば、ペイロードが４つに分離されたパケット構造が定義される。即ち、拡張モード０におけるペイロードは、図３に示すように、拡張ペイロードヘッダ（ePH：extended Payload Header）、オプショナル拡張ペイロードヘッダ（OePH：Optional extended Payload Header）、レガシーペイロード（Legacy Payload）、および、オプショナル拡張ペイロードフッタ（OePF：Optional extended Payload Footer）に分離される。
【００４６】
拡張ペイロードヘッダは、既存のCSI-2規格のペイロードに相当する先頭に配置され、拡張モードでは必ず送信する必要がある。例えば、拡張ペイロードヘッダは、図示するように、SROIの識別フラグ、拡張VC（VirtualChannel）、拡張DataType、OePHの選択フラグ、およびOePFの選択フラグなどの設定情報で構成される。ここで、拡張VCにより、既存のCSI-2規格では４ビットであったVCが８ビットに拡張され、拡張DataTypeにより、既存のCSI-2規格では４ビットであったDataTypeが８ビットに拡張される。
【００４７】
例えば、D-PHY用のパケットでは、既存のパケットヘッダのVCが既に４ビット存在しており、拡張ペイロードヘッダの拡張VCを４ビットと定義することにより、合計で８ビットとすることができる。具体的には、OePH[7:0] = {5’h00,RSID,XY_POS,MC}、OePF[3:0] = {3’h0,pCRC}と定義することができ、それぞれの用途に必要なパケット送信のON/OFFを制御することができる。
【００４８】
オプショナル拡張ペイロードヘッダおよびオプショナル拡張ペイロードフッタは、用途に応じて選択的に伝送される。
【００４９】
レガシーペイロードは、既存のCSI-2の規格と同一のペイロードに相当する。
【００５０】
このように、拡張ペイロードヘッダ、オプショナル拡張ペイロードヘッダ、およびオプショナル拡張ペイロードフッタを必要に応じて設定することで、様々な用途に対応したデータを送信することができるようになる。また、拡張ペイロードヘッダ、オプショナル拡張ペイロードヘッダ、およびオプショナル拡張ペイロードフッタで伝送されるデータは、26bit+6bitのECC（Error Correction Code）とする。これにより、既存のペイロードヘッダの回路を流用して回路規模の増大を抑制し、かつ、エラー耐性の向上を図ることができる。
【００５１】
そして、通信システム１１では、パケットヘッダはLane Distributionせずに、複数のレーンの数に応じてパケットヘッダがコピーされ、それぞれのレーンで独立してパケットヘッダが送信される。そして、受信側でペイロードをレーンごとに再生できるようにするため、パケットヘッダに含まれるWC（Word Count）のみを、既存のCSI-2規格から変更し、各レーンにおけるペイロードのバイト数を示すように新たに定義する。
【００５２】
また、通信システム１１では、パケットフッタもLane Distributionせずに、パケットフッタとなるCRCが各レーンにおけるペイロードごとに独立して計算され、それぞれのレーンで独立してパケットフッタが送信される。
【００５３】
さらに、通信システム１１では、パケットヘッダと同様に、ペイロードに含まれるMC（GLD用Message Count）をLane Distributionせずに、それぞれのレーンで独立してMCが送信される。このとき、通信システム１１では、MCを送信するたびにインクリメント（＋１）することで、どのレーンを介してMCが送信されたかを示すLN（Lane Number）も合わせて送信される。なお、MCは、図３に示すように、オプショナル拡張ペイロードヘッダ（OePH：Optional extended Payload Header）に配置される。なお、LNの送信は必須ではなく、必要に応じてLNを送信すればよい。
【００５４】
また、図３では、PH（Packet Header），ePH（extended Payload Header），OePH, OePF（Optional extended Payload Footer）、およびPF（Packet Footer）をレーンごとにコピーして送信する例が示されている。そして、この例では、送信側でLeagcy payloadのみがLane Distributionされることになる。
【００５５】
なお、図３を参照して説明したように、パケットヘッダ、WC、およびパケットフッタをレーンごとに独立して伝送する設定（以下、パラレル伝送設定と称する）は、通信システム１１を車載カメラで採用する場合には、ほぼ必須の機能となるため、動的にオン／オフを切り替える必要はない。従って、通信システム１１では、アプリケーションプロセッサ２２が、通信開始時にイメージセンサ２１のレジストリに対して、このパラレル伝送設定をオン／オフするように構成される。
【００５６】
従って、通信システム１１は、どのレーンにエラーが発生したのか、発生したエラーの種類を認識するエラー認識機能を備えることができる。また、CSI-2受信回路３３がエラーを認識した場合には、そのエラー情報をアプリケーションプロセッサ２２に通知する。
【００５７】
図４には、CSI-2受信回路３３からアプリケーションプロセッサ２２へエラー情報を通知するのに用いられるCSI-2 Short Packetのパケット構造が示されている。
【００５８】
例えば、図４に示すように、CSI-2 Short PacketのData IDには、エラーの発生を通知するためのDataType（＝0ｘ00-0ｘ0F）が割り当てられる。
【００５９】
また、CSI-2 Short PacketのData Fieldには、エラーが発生したレーンと、そのエラー内容{Error_Lane[7:0],Error_Type[7:0]}が格納される。例えば、Error_Lane[7:0]は、エラーが発生したレーンを示す。一例として、Error_Lane[0]は、Lane1でエラーが発生していることを示し、Error_Lane[1]は、Lane2でエラーが発生していることを示す。また、Error_Type[7:0]は、いずれかのレーンで発生したエラーの種類を示す。一例として、Error_Type[0]はSync lossを示し、Error_TypeはPH errorを示す。
【００６０】
具体的には、Lane1は正常に受信を行うことができ、Lane2でSync lossが発生し、Lane3は正常に受信を行うことができ、Lane4でPH errorが発生している場合、CSI-2 Short PacketのData Fieldには、{8’b0000_1010,8’b0000_0011}が格納される。
【００６１】
＜イメージセンサ、アプリケーションプロセッサ、およびシリアライザの構成例＞
図５は、拡張モード対応CSI-2送信回路３１を備えるイメージセンサ２１の構成例を示すブロック図である。
【００６２】
図５に示すように、イメージセンサ２１は、拡張モード対応CSI-2送信回路３１の他に、画素４１、AD変換器４２、画像処理部４３、画素CRC演算部４４、物理層処理部４５、I2C/I3Cスレーブ４６、およびレジスタ４７を備えて構成される。また、拡張モード対応CSI-2送信回路３１は、パッキング部５１、パケットヘッダ生成部５２、ペイロードヘッダ生成部５３、ペイロードフッタ生成部５４、選択部５５および５６、CRC演算部５７、レーン分配部５８、CCIスレーブ５９、並びに、コントローラ６０を備えて構成される。
【００６３】
画素４１は、受光した光の光量に応じたアナログの画素信号を出力し、AD変換器（ADC：Analog-to-Digital Converter）４２は、画素４１から出力される画素信号をデジタル変換して画像処理部４３に供給する。画像処理部（ISP：Image Signal Processor）４３は、画素信号に基づく画像に対する各種の画像処理を施して得られる画像データを画素CRC演算部４４およびパッキング部５１に供給する。また、画像処理部４３は、画像データが有効であるか否かを示すデータイネーブル信号data_enをパッキング部５１およびコントローラ６０に供給する。
【００６４】
画素CRC演算部４４は、画像処理部４３から供給される画像データにおける画素ごとのCRCを演算して求め、そのCRCをペイロードフッタ生成部５４に供給する。
【００６５】
物理層処理部４５は、C-PHYおよびD-PHYの両方の物理層処理を実行することができる。例えば、物理層処理部４５は、コントローラ６０から供給されるＣ層イネーブル信号cphy_enが有効である場合にはC-PHYの物理層処理を実行し、Ｃ層イネーブル信号cphy_enが無効である場合にはD-PHYの物理層処理を実行する。そして、物理層処理部４５は、レーン分配部５８により４レーンに分割されたパケットを、アプリケーションプロセッサ２２へ送信する。
【００６６】
I2C/I3Cスレーブ４６は、I2C（Inter-Integrated Circuit）またはI3C（Improved Inter Integrated Circuits）の規格に基づき、アプリケーションプロセッサ２２のI2C/I3Cマスタ７２（図６）による主導に従って通信を行う。
【００６７】
レジスタ４７には、アプリケーションプロセッサ２２から送信されてくる各種の設定が、I2C/I3Cスレーブ４６およびCCIスレーブ５９を介して書き込まれる。ここで、レジスタ４７に書き込まれる設定としては、例えば、CSI-2規格に従った通信設定や、拡張モードの使用の有無を示す拡張モード設定、拡張モードでの通信で必要となる固定の通信設定などがある。
【００６８】
パッキング部５１は、画像処理部４３から供給される画像データを、パケットのペイロードに格納するパッキング処理を行い、そのペイロードを選択部５５およびレーン分配部５８に供給する。
【００６９】
パケットヘッダ生成部５２は、コントローラ６０から供給されるパケットヘッダ生成指示信号ph_goに従って、パケットヘッダの生成が指示されると、レーンごとのペイロードのバイト数を示すWCを含むパケットヘッダを生成して選択部５５およびレーン分配部５８に供給する。
【００７０】
即ち、パケットヘッダ生成部５２は、パケットで伝送されるデータについて設定された条件を示す設定情報、例えば、データのタイプを示すデータタイプを格納するパケットヘッダを、既存のCSI-2規格に従って生成する。また、パケットヘッダ生成部５２は、パケットで伝送されるデータのタイプを示す設定情報であるデータタイプにおいて、既存のCSI-2規格では未使用と定義されている未使用領域に、拡張ヘッダを使用する拡張モードであるか否かを示す拡張モード設定情報を格納する。さらに、パケットヘッダ生成部５２は、未使用領域に、拡張モードとして用意される複数のタイプの拡張モードのうちの、いずれのタイプであるかを示す拡張タイプ設定情報を格納する。
【００７１】
ペイロードヘッダ生成部５３は、コントローラ６０から供給される拡張ペイロードヘッダ生成指示信号eph_goおよび拡張ペイロードヘッダイネーブル信号ePH_enに従って、拡張ペイロードヘッダおよびオプショナル拡張ペイロードヘッダそれぞれを生成し、選択部５６およびレーン分配部５８に供給する。また、ペイロードヘッダ生成部５３には、イメージセンサ２１の用途に応じて、車載用行番号やソースID（identification）などが供給され、必要に応じて、それらを拡張ペイロードヘッダまたはオプショナル拡張ペイロードヘッダに格納する。
【００７２】
即ち、ペイロードヘッダ生成部５３は、パケットヘッダ生成部５２により生成されるパケットヘッダとは別に、例えば、図３に示したような拡張ペイロードヘッダを生成する。さらに、ペイロードヘッダ生成部５３は、オプショナル拡張ヘッダを送信する場合、オプショナル拡張ヘッダを送信するか否かを示すオプショナル拡張ヘッダ設定情報（OePH[7:0]）として、オプショナル拡張ヘッダを送信することを示すオプショナル拡張ヘッダ設定情報を拡張ヘッダに格納し、拡張ヘッダに続けてオプショナル拡張ヘッダを生成する。
【００７３】
ペイロードフッタ生成部５４は、コントローラ６０から供給される拡張ペイロードフッタ生成指示信号epf_goおよび拡張ペイロードヘッダイネーブル信号ePF_enに従って、オプショナル拡張ペイロードフッタを生成し、選択部５６およびレーン分配部５８に供給する。
【００７４】
即ち、ペイロードフッタ生成部５４は、拡張モードにおいて伝送されるパケットが、既存のCSI-2規格においてペイロードとして伝送されるデータを格納する拡張ロングパケットである場合に、データが格納されるレガシーペイロードに続けて配置されるオプショナル拡張ペイロードフッタを生成する。
【００７５】
また、パケットヘッダ生成部５２、ペイロードヘッダ生成部５３、およびペイロードフッタ生成部５４には、コントローラ６０からＣ層イネーブル信号cphy_enが供給される。そして、Ｃ層イネーブル信号cphy_enが有効を示している場合、パケットヘッダ生成部５２はC-PHY用のパケットヘッダを生成し、ペイロードヘッダ生成部５３はC-PHY用の拡張ペイロードヘッダおよびオプショナル拡張ペイロードヘッダを生成し、ペイロードフッタ生成部５４はC-PHY用のオプショナル拡張ペイロードフッタを生成する。一方、Ｃ層イネーブル信号cphy_enが無効を示している場合、パケットヘッダ生成部５２はD-PHY用のパケットヘッダを生成し、ペイロードヘッダ生成部５３はD-PHY用の拡張ペイロードヘッダおよびオプショナル拡張ペイロードヘッダを生成し、ペイロードフッタ生成部５４はD-PHY用のオプショナル拡張ペイロードフッタを生成する。
【００７６】
選択部５５は、コントローラ６０から供給されるＣ層イネーブル信号cphy_enに従って、Ｃ層イネーブル信号cphy_enが有効である場合、パケットヘッダ生成部５２から供給されるパケットヘッダを選択し、選択部５６へ供給する。一方、選択部５５は、Ｃ層イネーブル信号cphy_enが無効である場合、パッキング部５１から供給されるペイロードを選択し、選択部５６へ供給する。
【００７７】
選択部５６は、コントローラ６０から供給されるデータ選択信号data_selに従って、選択部５５を介して選択的に供給されるパケットヘッダまたはペイロード、ペイロードヘッダ生成部５３から供給される拡張ペイロードヘッダおよびオプショナル拡張ペイロードヘッダ、ペイロードフッタ生成部５４から供給されるオプショナル拡張ペイロードフッタのうち、いずれかを選択してCRC演算部５７に供給する。
【００７８】
CRC演算部５７は、選択部５６を介して選択的に供給されるパケットヘッダ、ペイロード、拡張ペイロードヘッダ、オプショナル拡張ペイロードヘッダ、またはオプショナル拡張ペイロードフッタのCRCを演算して求め、そのCRCをレーン分配部５８に供給する。
【００７９】
レーン分配部５８は、コントローラ６０の制御に従って、パッキング部５１から供給されるペイロード、パケットヘッダ生成部５２から供給されるパケットヘッダ、ペイロードヘッダ生成部５３から供給される拡張ペイロードヘッダおよびオプショナル拡張ペイロードヘッダ、ペイロードフッタ生成部５４から供給されるオプショナル拡張ペイロードフッタ、並びに、CRC演算部５７から供給されるCRCを、CSI-2の規格に従った４レーンに分配して、物理層処理部４５に供給する。
【００８０】
CCI（Camera Control Interface）スレーブ５９は、CSI-2の規格に基づき、アプリケーションプロセッサ２２のCCIマスタ８８（図６）による主導に従って通信を行う。
【００８１】
コントローラ６０は、レジスタ４７に記憶されている各種の設定を読み出して、それらの設定に従って、拡張モード対応CSI-2送信回路３１を構成する各ブロックに対する制御を行う。例えば、コントローラ６０は、送信対象のデータの内容に応じて、既存のCSI-2規格に従ったパケット構造のパケットの送信と、拡張モード時におけるパケット構造のパケットの送信との切り替えを制御する。
【００８２】
そして、イメージセンサ２１では、上述の図３を参照して説明したようなパラレル伝送を行うことを設定する通信設定であるパラレル伝送設定が、アプリケーションプロセッサ２２からレジスタ４７に書き込まれる。これにより、コントローラ６０は、レジスタ４７のパラレル伝送設定を参照し、パラレル伝送が有効であるか否かを示すパラレル伝送イネーブル信号para_enを、パケットヘッダ生成部５２、ペイロードヘッダ生成部５３、CRC演算部５７、レーン分配部５８、および物理層処理部４５に供給する。
【００８３】
例えば、パラレル伝送イネーブル信号para_enが有効である場合、パケットヘッダ生成部５２は、レーンごとにパケットヘッダを生成（コピー）し、ペイロードヘッダ生成部５３は、レーンごとにMCおよびLNを生成する。また、この場合、CRC演算部５７は、レーンごとのペイロードからCRCを算出してパケットフッタを生成し、レーン分配部５８は、これらのレーンごとに送信するものを適宜分配する。
【００８４】
このようにイメージセンサ２１は構成されており、図３を参照して説明したようなパラレル伝送によって、アプリケーションプロセッサ２２へパケットを送信することができる。
【００８５】
また、イメージセンサ２１は、図３に示したようなパケット構造の拡張パケットを生成して、アプリケーションプロセッサ２２へ送信することができる。
【００８６】
図６は、拡張モード対応CSI-2受信回路３２を備えるアプリケーションプロセッサ２２の構成例を示すブロック図である。
【００８７】
図６に示すように、アプリケーションプロセッサ２２は、拡張モード対応CSI-2受信回路３２の他に、物理層処理部７１、I2C/I3Cマスタ７２、レジスタ７３、およびエラー処理部７４を備えて構成される。また、拡張モード対応CSI-2受信回路３２は、パケットヘッダ検出部８１、レーン併合部８２、解釈部８３、選択部８４および８５、CRC演算部８６、アンパッキング部８７、並びに、CCIマスタ８８を備えて構成される。
【００８８】
物理層処理部７１は、C-PHYおよびD-PHYの両方の物理層処理を実行することができる。上述したように、イメージセンサ２１の物理層処理部４５では、C-PHYおよびD-PHYのうちの、いずれか一方の物理層処理が行われ、物理層処理部７１は、物理層処理部４５において実行されたのと同一の物理層処理を実行する。
【００８９】
I2C/I3Cマスタ７２は、I2CまたはI3Cの規格に基づき、イメージセンサ２１のI2C/I3Cスレーブ４６（図５）との通信を主導して行う。
【００９０】
レジスタ７３には、イメージセンサ２１のレジスタ４７に書き込むべき各種の設定が記録される。
【００９１】
エラー処理部７４には、パケットヘッダ検出部８１から出力されるエラー通知用のショートパケット受信フラグ、CRC演算部８６から出力されるcrcエラー検出信号、解釈部８３から出力されるMC（GLD用Message Count）およびLNが供給される。そして、エラー処理部７４は、図１２のフローチャートを参照して後述するエラー処理を行って、断線の発生やエラーが頻発するような対象のレーンを特定し、対象のレーンの使用を中止するような設定をレジスタ７３に書き込むことができる。また、エラー処理部７４は、例えば、対象のレーンの使用を中止させるのに伴う通信速度の低下をCCIマスタ８８に対して設定したり、対象のレーンの復帰処理を行わせるための通信をCCIマスタ８８に行わせたりする。
【００９２】
パケットヘッダ検出部８１は、物理層処理部７１から供給されるパケットからパケットヘッダを検出し、パケットヘッダに格納されているデータタイプを確認する。そして、パケットヘッダ検出部８１は、パケットヘッダのデータタイプにおいて、拡張モード設定情報が拡張モードであることを示す場合（DataType[5:3]=3’b111）、拡張モードを示す拡張モード検出フラグを、解釈部８３、選択部８４、および選択部８５に供給する。また、パケットヘッダ検出部８１は、パケットヘッダに基づいて、分割されている４レーンの併合を有効とするか否かを示す併合イネーブル信号mrg_enをレーン併合部８２に供給する。
【００９３】
即ち、パケットヘッダ検出部８１は、既存のCSI-2規格に従って、パケットで伝送されるデータについて設定された条件を示す設定情報（データタイプなど）が格納されるパケットヘッダを検出する。このとき、パケットヘッダ検出部８１は、パケットで伝送されるデータのタイプを示す設定情報であるデータタイプにおいて、既存のCSI-2規格では未使用と定義されている未使用領域に格納されている、拡張ヘッダを使用する拡張モードであるか否かを示す拡張モード設定情報に従って、拡張モード検出フラグを出力することで、既存のCSI-2規格に従ったパケット構造のパケットの受信と、拡張モード時におけるパケット構造のパケットの受信との切り替えを行わせる。また、パケットヘッダ検出部８１は、既存のCSI-2規格では未使用と定義されているデータタイプの未使用領域に格納されている拡張モードタイプ情報に従って、拡張モードとして用意される複数のタイプの拡張モードのうちの、いずれのタイプの拡張モードであるかを認識する。
【００９４】
レーン併合部８２は、パケットヘッダ検出部８１から供給される併合イネーブル信号mrg_enが有効である場合、物理層処理部７１から供給される４レーンに分割されたパケットを受信して併合する。そして、レーン併合部８２は、１レーンのパケットを解釈部８３、選択部８４、および選択部８５に供給する。
【００９５】
解釈部８３は、パケットヘッダ検出部８１から供給される拡張モード検出フラグが、拡張モードであることを示している場合、拡張モードのパケット構造に基づいて、レーン併合部８２から供給されるパケットから、拡張ペイロードヘッダ、オプショナル拡張ペイロードヘッダ、およびオプショナル拡張ペイロードフッタを読み出す。そして、解釈部８３は、拡張ペイロードヘッダ、オプショナル拡張ペイロードヘッダ、およびオプショナル拡張ペイロードフッタに格納されている設定情報を解釈する。
【００９６】
即ち、解釈部８３は、拡張ヘッダとして、既存のCSI-2規格に従ったペイロードの先頭に配置される拡張ペイロードヘッダを受信し、拡張ペイロードヘッダに格納されている設定情報を解釈する。また、解釈部８３は、拡張ヘッダに格納されているオプショナル拡張ヘッダ設定情報が、用途に応じて選択的に伝送されるオプショナル拡張ヘッダを送信することを示している場合、拡張ヘッダに続けてオプショナル拡張ヘッダを受信し、オプショナル拡張ヘッダに格納されている設定情報を解釈する。さらに、解釈部８３は、拡張モードにおいて伝送されるパケットが、既存のCSI-2規格においてペイロードとして伝送されるデータを格納する拡張ロングパケットである場合に、データが格納されるレガシーペイロードに続けて配置されるオプショナル拡張ペイロードフッタを受信し、オプショナル拡張ペイロードフッタを解釈する。
【００９７】
そして、解釈部８３は、例えば、オプショナル拡張ペイロードヘッダに格納されている車載用行番号やソースIDなどを読み出して、後段のLSI（図示せず）へ出力する。
【００９８】
なお、解釈部８３は、パケットヘッダ検出部８１から供給される拡張モード検出フラグが、拡張モードであることを示していない場合には、即ち、既存のパケット構造のパケットが供給されている場合には、上述したような処理を行わずに停止する。
【００９９】
選択部８４は、パケットヘッダ検出部８１から供給される拡張モード検出フラグに従い、既存パケットのパケット構造または拡張パケットのパケット構造に基づいて、選択的に、アンパッキング部８７へデータを供給する。
【０１００】
選択部８５は、パケットヘッダ検出部８１から供給される拡張モード検出フラグに従い、既存パケットのパケット構造または拡張パケットのパケット構造に基づいて、選択的に、CRC演算部８６へデータを供給する。
【０１０１】
CRC演算部８６は、選択部８５を介して選択的に供給されるパケットヘッダ、ペイロード、拡張ペイロードヘッダ、オプショナル拡張ペイロードヘッダ、またはオプショナル拡張ペイロードフッタのCRCを演算する。そして、CRC演算部８６は、CRCエラーが検出された場合、その旨を示すcrcエラー検出信号を後段のLSI（図示せず）へ出力する。
【０１０２】
アンパッキング部８７は、選択部８４を介して選択的に供給されるペイロードに格納されている画像データを取り出すアンパッキング処理を行い、取得した画像データを後段のLSI（図示せず）へ出力する。
【０１０３】
CCIマスタ８８は、CSI-2の規格に基づき、イメージセンサ２１のCCIスレーブ５９（図５）との通信を主導して行う。
【０１０４】
そして、アプリケーションプロセッサ２２では、イメージセンサ２１のレジスタ４７と同様に、パラレル伝送設定がレジスタ７３に書き込まれる。そして、パケットヘッダ検出部８１、レーン併合部８２、解釈部８３、およびCRC演算部８６は、レジスタ７３のパラレル伝送設定を参照して、イメージセンサ２１からパラレル伝送されてくるパケットを受信する。
【０１０５】
例えば、パケットヘッダ検出部８１は、レーンごとに送信されてくるパケットヘッダを検出し、解釈部８３は、レーンごとに送信されてくるMCおよびLNを解釈する。また、CRC演算部８６は、レーンごとのペイロードに基づいてCRCを算出して、CRCエラーを検出する。
【０１０６】
さらに、アプリケーションプロセッサ２２では、パケットヘッダ検出部８１は、後述する図７のエラー通知用パケット生成部８９から送信されてくるエラー通知用のパケット（図４に示したCSI-2 Short Packet）を検出することができる。そして、パケットヘッダ検出部８１は、エラー通知用のパケットを検出した場合、その旨を示すフラグ（Error通知用ShortPacket受信フラグ）を、後段のLSI（図示せず）へ出力する。
【０１０７】
このようにアプリケーションプロセッサ２２は構成されており、図３を参照して説明したようなパラレル伝送によってイメージセンサ２１から送信されてくるパケットを受信することができる。
【０１０８】
また、アプリケーションプロセッサ２２は、イメージセンサ２１から送信されてくる拡張パケットを受信して、拡張ペイロードヘッダ、オプショナル拡張ペイロードヘッダ、およびオプショナル拡張ペイロードフッタに格納されている設定情報を解釈して、画像データを取得することができる。このとき、CSI-2受信回路３２では、いずれかのレーンが断線していたとしても、レーンごとのペイロードのバイト数を示すWCに基づいて、複数のレーンのうちの正常なレーンにより送信されてくるパケットのペイロードを受信することができる。
【０１０９】
図７は、CSI-2受信回路３３を備えるシリアライザ２３の構成例を示すブロック図である。
【０１１０】
なお、図７に示すシリアライザ２３において、図６のアプリケーションプロセッサ２２と共通する構成については、同一の符号を付し、その詳細な説明は省略する。即ち、シリアライザ２３は、物理層処理部７１、I2C/I3Cマスタ７２、およびレジスタ７３を備えて構成され、CSI-2受信回路３３は、パケットヘッダ検出部８１、レーン併合部８２、CRC演算部８６、CCIマスタ８８を備えて構成される点で、図６のアプリケーションプロセッサ２２と共通する構成となっている。
【０１１１】
一方、シリアライザ２３は、CSI-2受信回路３３がエラー通知用パケット生成部８９を備える点で、図６のアプリケーションプロセッサ２２と異なる構成となっている。
【０１１２】
エラー通知用パケット生成部８９は、パケットヘッダ検出部８１から供給されるフラグ（Error通知用ShortPacket受信フラグ）に従って、図４に示したエラー通知用のパケットを生成して出力する。
【０１１３】
以上のように、通信システム１１では、レーンごとにパケットフッタ（CRC）を独立に送信する。これによって、どのレーンでエラーが発生したのかを特定できる。そして、一定回数以上のCRC errorを特定したレーンが検出された場合、そのレーンではError頻度が高いと判断し、そのレーンを使わないようアプリケーションプロセッサ２２はイメージセンサ２１のレジストリを設定し、モードを変更後、通信を再開する。
【０１１４】
また、通信システム１１では、レーンごとにパケットヘッダを独立に送信するとともに、WCはPayload全体の長さではなく、各レーンで送るバイト数に定義を変更する。これにより、断線や、Syncロス、パケットヘッダで2bit errorが発生するような不具合が発生するようなレーンがあっても、それ以外の正常なレーンは受信を継続することができる。
【０１１５】
また、通信システム１１では、MCをレーンごとに独立に送信し、レーンごとにインクリメントする。さらに、どのレーンで送ったものかを明示するため、LaneNumberを同時に送ってもよい。なお、MCはフレームの先頭で0クリアする。これにより、CSI-2受信回路３３は、断線およびSync lossを、PHY層(D-PHY or C-PHY)に変更なく、LINK層(CSI-2)だけで容易に検出することができる。また、CSI-2受信回路３３は、LINK層でMCの欠落だけで、断線あるいはSync lossを判断できる。
【０１１６】
さらに、通信システム１１では、SerDes送信回路３４からデータを出せない深刻なエラー（Syncロス、断線、PHに2bit 以上のerror）が発生した場合、エラー情報を後段のアプリケーションプロセッサ２２に送信することができる。このとき、CSI-2のformatに合わせてエラー通知用のパケット（図４に示したCSI-2 Short Packet）を送信することで、エラー情報を高速に伝えることができる。これにより、後段のアプリケーションプロセッサ２２が即座にSerDes送信回路３４でのエラーを知ることができる。そして、アプリケーションプロセッサ２２は所定回数以上の特定のレーンでエラー情報を受信した場合、そのレーンの使用を中止するようイメージセンサ２１やSerDes送信回路３４に指示することができる。
【０１１７】
以上のように、通信システム１１においては、断線や、SYNCロス、Errorの頻発がどのレーンで発生しているのかをアプリケーションプロセッサ２２側が迅速に特定することができる。これによって、アプリケーションプロセッサ２２は特定のレーンを迂回して、正常なレーンのみを用いて通信を継続することが可能になるため、信頼性の向上を図ることができ、車載などよりセキュアな通信に対応することができる。
【０１１８】
＜通信処理＞
図８乃至図１１を参照して、イメージセンサ２１およびアプリケーションプロセッサ２２で行われる通信処理について説明する。
【０１１９】
図８は、イメージセンサ２１がパケットを送信する処理を説明するフローチャートである。
【０１２０】
例えば、バス２６を介して、イメージセンサ２１がアプリケーションプロセッサ２２に接続されると処理が開始される。ステップＳ１１において、コントローラ６０は、アプリケーションプロセッサ２２と通信を開始するにあたって、拡張モードを使用するか否かを判定する。例えば、コントローラ６０は、レジスタ４７に記憶されている拡張モード設定を確認し、拡張モードを使用することを示す拡張モード設定がアプリケーションプロセッサ２２により書き込まれている場合、拡張モードを使用すると判定する。
【０１２１】
ステップＳ１１において、コントローラ６０が、拡張モードを使用しないと判定した場合、処理はステップＳ１２に進む。
【０１２２】
ステップＳ１２において、I2C/I3Cスレーブ４６は、アプリケーションプロセッサ２２から（後述する図１０のステップＳ５４で）送信されてくる画像データの送信開始命令を受信する。さらに、I2C/I3Cスレーブ４６は、その送信開始命令とともに送信されてくるCSI-2規格に従った通信設定を受信して、CCIスレーブ５９を介してレジスタ４７に書き込む。
【０１２３】
ステップＳ１３において、イメージセンサ２１では、レジスタ４７に記憶されている通信設定に基づいて、既存のCSI-2規格に従ったパケット構造のパケットをアプリケーションプロセッサ２２へ送信する、従来のパケット送信処理が実行される。
【０１２４】
一方、ステップＳ１１において、コントローラ６０が、拡張モードを使用すると判定した場合、処理はステップＳ１４に進む。
【０１２５】
ステップＳ１４において、I2C/I3Cスレーブ４６は、拡張モードでの通信で必要となる固定の通信設定（例えば、GLD時のPH/PFのレーンごとのコピーなど）を受信して、CCIスレーブ５９を介してレジスタ４７に書き込む。
【０１２６】
ステップＳ１５において、I2C/I3Cスレーブ４６は、アプリケーションプロセッサ２２から（後述する図１０のステップＳ５７で）送信されてくる画像データの送信開始命令を受信する。さらに、I2C/I3Cスレーブ４６は、その送信開始命令とともに送信されてくるCSI-2規格に従った通信設定を受信して、CCIスレーブ５９を介してレジスタ４７に書き込む。
【０１２７】
ステップＳ１６において、コントローラ６０は、パケットの送信を開始するか否かを判定し、パケットの送信を開始すると判定するまで処理を待機する。
【０１２８】
そして、ステップＳ１６において、パケットの送信を開始すると判定された場合、処理はステップＳ１７に進み、コントローラ６０は、拡張モードで送信すべきデータであるか否かを判定する。ここで、コントローラ６０は、送信対象のデータの内容に応じて、例えば、所定のユースケースで送信されるようなデータである場合、拡張モードで送信すべきデータであると判定する。
【０１２９】
ステップＳ１７において、コントローラ６０が、拡張モードで送信すべきデータであると判定した場合、処理はステップＳ１８に進み、拡張モードに対応した拡張パケットを送信する拡張モード送信処理（図９参照）が行われる。
【０１３０】
一方、ステップＳ１７において、コントローラ６０が、拡張モードで送信すべきデータでないと判定した場合、処理はステップＳ１９に進む。
【０１３１】
ステップＳ１９において、コントローラ６０は、ショートパケットを送信するか否かを判定する。例えば、コントローラ６０は、フレーム開始時およびフレーム終了時にショートパケットを送信すると判定する。
【０１３２】
ステップＳ１９において、コントローラ６０がショートパケットを送信すると判定した場合、処理はステップＳ２０に進む。ステップＳ２０において、パケットヘッダ生成部５２がパケットヘッダを生成して、従来のパケット構造のショートパケットをアプリケーションプロセッサ２２へ送信する。
【０１３３】
一方、ステップＳ１９において、コントローラ６０がショートパケットを送信しない（即ち、ロングパケットを送信する）と判定した場合、処理はステップＳ２１に進む。ステップＳ２１において、パッキング部５１が画像データをペイロードに格納し、CRC演算部５７がCRCを求めることにより、従来のパケット構造のロングパケットを生成して、アプリケーションプロセッサ２２へ送信する。
【０１３４】
ステップＳ１８、ステップＳ２０、またはステップＳ２１の処理後、処理はステップＳ２２に進み、コントローラ６０は、パケット送信処理を終了する。その後、処理はステップＳ１６に戻り、以下、次のパケットを対象として、同様にパケットを送信する処理が繰り返して行われる。
【０１３５】
図９は、図８のステップＳ１８の処理で行われる拡張モード送信処理を説明するフローチャートである。
【０１３６】
ステップＳ３１において、パケットヘッダ生成部５２は、VCやデータタイプ、WCなどを格納したパケットヘッダを生成し、アプリケーションプロセッサ２２へ送信する。このとき、パケットヘッダ生成部５２は、パケットヘッダのデータタイプに、拡張モードであることを示す拡張モード設定情報（DataType[5:3]=3’b111）、および、拡張モードのモード設定が拡張モード０であることを識別する拡張タイプ設定情報（DataType[1:0] =2’b00）を書き込む。また、パケットヘッダは、レーンごとに独立して送信される。
【０１３７】
ステップＳ３２において、アプリケーションプロセッサ２２は、拡張ショートパケットを送信するか否かを判定する。例えば、コントローラ６０は、フレーム開始時およびフレーム終了時に拡張ショートパケットを送信すると判定する。
【０１３８】
ステップＳ３２において、アプリケーションプロセッサ２２が、拡張ショートパケットを送信すると判定した場合、処理はステップＳ３３に進む。
【０１３９】
ステップＳ３３において、ペイロードヘッダ生成部５３は、ペイロードの１バイト目で、データタイプ（DataType[7:0]）をショートパケットと設定した拡張ペイロードヘッダを送信する。このとき、ペイロードヘッダ生成部５３は、拡張ペイロードヘッダに格納される各種の設定（例えば、OePH[7:0]やOePF[3:0]など）を行う。
【０１４０】
ステップＳ３４において、ペイロードヘッダ生成部５３は、ペイロードの２バイト目に、フレームナンバー（FN：FrameNumber）を格納して送信する。
【０１４１】
ステップＳ３５において、ペイロードヘッダ生成部５３は、ステップＳ３３で行われた設定（OePH[7:0]）に従って、OePH（オプショナル拡張ペイロードヘッダ）を生成して送信する。
【０１４２】
ステップＳ３６において、CRC演算部５７は、CRCを求めて、パケットフッタとして送信する。このとき、パケットフッタは、レーンごとに独立して送信される。
【０１４３】
一方、ステップＳ３２において、アプリケーションプロセッサ２２が、拡張ショートパケットを送信しない（即ち、ロングパケットを送信する）と判定した場合、処理はステップＳ３７に進む。
【０１４４】
ステップＳ３７において、ペイロードヘッダ生成部５３は、ペイロードの１バイト目で、データタイプ（DataType[7:0]）をショートパケット以外と設定した拡張ペイロードヘッダを送信する。このとき、ペイロードヘッダ生成部５３は、拡張ペイロードヘッダに格納される各種の設定（例えば、OePH[7:0]やOePF[3:0]など）を行う。
【０１４５】
ステップＳ３８において、ペイロードヘッダ生成部５３は、ステップＳ３７で行われた設定（OePH[7:0]）に従って、OePH（オプショナル拡張ペイロードヘッダ）を生成して送信する。
【０１４６】
ステップＳ３９において、パッキング部５１は、画像処理部４３から供給される画像データをパッキングし、レガシーペイロードを生成して送信する。
【０１４７】
ステップＳ４０において、ペイロードフッタ生成部５４は、ステップＳ３７で行われた設定（OePF[3:0]）に従って、OePH（オプショナル拡張ペイロードヘッダ）を生成して送信する。
【０１４８】
ステップＳ４１において、CRC演算部５７は、CRCを求めて、パケットフッタとして送信する。このとき、パケットフッタは、レーンごとに独立して送信される。
【０１４９】
そして、ステップＳ３６またはＳ４１の処理後、拡張モード送信処理は終了される。
【０１５０】
以上のように、イメージセンサ２１は、拡張ショートパケットまたは拡張ロングパケットを生成して送信することができる。
【０１５１】
図１０は、アプリケーションプロセッサ２２がパケットを受信する処理を説明するフローチャートである。
【０１５２】
例えば、バス２６を介して、イメージセンサ２１がアプリケーションプロセッサ２２に接続されると処理が開始される。ステップＳ５１において、イメージセンサ２１の初期設定（例えば、物理層としてC-PHYおよびD-PHYのどちらを使用するかなど）をレジスタ７３に書き込み、CCIマスタ８８を介してI2C/I3Cマスタ７２によりイメージセンサ２１へ送信する。これにより、その初期設定が、イメージセンサ２１のレジスタ４７に書き込まれる。
【０１５３】
ステップＳ５２において、イメージセンサ２１が拡張モードに対応しているか否かを認識する。例えば、I2C/I3Cマスタ７２によりイメージセンサ２１のレジスタ４７に記憶されている設定値（例えば、拡張PH/PF対応capability）を取得することで、イメージセンサ２１が拡張モードに対応しているか否かを認識することができる。または、例えば、マニュアルなどによる入力に基づいて、事前に、イメージセンサ２１が拡張モードに対応しているか否かを認識することができる。
【０１５４】
ステップＳ５３において、イメージセンサ２１が拡張モードに対応しており、かつ、アプリケーションプロセッサ２２が実行するアプリケーションによって拡張モードの使用が求められているか否かを判定する。
【０１５５】
ステップＳ５３において、イメージセンサ２１が拡張モードに対応していない、または、拡張モードの使用が求められていないと判定した場合、処理はステップＳ５４に進む。
【０１５６】
ステップＳ５４において、I2C/I3Cマスタ７２により画像データの送信開始命令をイメージセンサ２１へ送信する。このとき、CSI-2規格に従った通信設定も送信させる。
【０１５７】
ステップＳ５５において、アプリケーションプロセッサ２２では、ステップＳ５４で送信した通信設定に基づいて、既存のCSI-2規格に従ったパケット構造のパケットを受信する、従来のパケット受信処理が行われる。
【０１５８】
一方、ステップＳ５３において、イメージセンサ２１が拡張モードに対応しており、かつ、アプリケーションプロセッサ２２が実行するアプリケーションによって拡張モードの使用が求められていると判定した場合、処理はステップＳ５６に進む。
【０１５９】
ステップＳ５６において、I2C/I3Cマスタ７２は、拡張モードでの通信が開始される前に、拡張モードでの通信に必要となる固定の通信設定を送信する。これにより、その固定の通信設定が、イメージセンサ２１のレジスタ４７に書き込まれる（図８のステップＳ１４）。
【０１６０】
ステップＳ５７において、I2C/I3Cマスタ７２により画像データの送信開始命令をイメージセンサ２１へ送信する。このとき、CSI-2規格に従った通信設定も送信させる。
【０１６１】
ステップＳ５８において、パケットヘッダ検出部８１は、物理層処理部７１から供給されるデータを確認することによりパケットの受信を開始したか否かを判定し、パケットの受信を開始したと判定するまで処理を待機する。例えば、パケットヘッダ検出部８１は、物理層処理部７１から供給されるデータからパケットヘッダを検出した場合、パケットの受信を開始したと判定する。このとき、パケットヘッダは、レーンごとに独立して送信されてくる。
【０１６２】
ステップＳ５８において、パケットヘッダ検出部８１が、パケットの受信を開始したと判定した場合、処理はステップＳ５９に進む。
【０１６３】
ステップＳ５９において、パケットヘッダ検出部８１は、ステップＳ５８で検出したパケットヘッダのデータタイプを確認して、受信を開始したパケットが拡張モードに対応した拡張パケットであるか否かを判定する。例えば、パケットヘッダ検出部８１は、パケットヘッダのデータタイプにおいて、拡張モード設定情報が拡張モードであることを示す場合（DataType[5:3]=3’b111）、受信を開始したパケットが拡張パケットであると判定する。
【０１６４】
ステップＳ５９において、パケットヘッダ検出部８１が、受信を開始したパケットが拡張パケットであると判定した場合、処理はステップＳ６０に進み、拡張パケットを受信する拡張モード受信処理（図１１参照）が行われる。
【０１６５】
一方、ステップＳ５９において、パケットヘッダ検出部８１が、受信を開始したパケットが拡張パケットでないと判定した場合、処理はステップＳ６１に進む。
【０１６６】
ステップＳ６１において、パケットヘッダ検出部８１は、ステップＳ５８で検出したパケットヘッダのデータタイプ（DataType[5:0]）を確認して、受信を開始したパケットがショートパケットであるか否かを判定する。
【０１６７】
ステップＳ６１において、パケットヘッダ検出部８１が、受信を開始したパケットがショートパケットであると判定した場合、処理はステップＳ６２に進む。ステップＳ６２において、パケットヘッダ検出部８１は、イメージセンサ２１から送信されてくる従来のパケット構造のショートパケットを受信する。
【０１６８】
一方、ステップＳ６１において、パケットヘッダ検出部８１が、受信を開始したパケットがショートパケットでない（即ち、ロングパケットの受信を開始している）と判定した場合、処理はステップＳ６３に進む。ステップＳ６３において、アンパッキング部８７は、イメージセンサ２１から送信されてくる従来のパケット構造のロングパケットのペイロードを受信して画像データを取り出し、CRC演算部８６は、パケットヘッダに続けて送信されてくるWC＋１バイト目をCRCとして受信する。
【０１６９】
ステップＳ６０、ステップＳ６２、またはステップＳ６３の処理後、処理はステップＳ６４に進み、パケット受信処理を終了する。その後、処理はステップＳ５８に戻り、以下、次のパケットを対象として、同様にパケットを受信する処理が繰り返して行われる。
【０１７０】
図１１は、図１０のステップＳ６０の処理で行われる拡張モード受信処理を説明するフローチャートである。
【０１７１】
ステップＳ７１において、パケットヘッダ検出部８１は、拡張モードのモード設定が拡張モード０であるか否かを判定する。例えば、パケットヘッダ検出部８１は、パケットヘッダのデータタイプにおいて、拡張タイプ設定情報が拡張モード０であることを示す場合（DataType[1:0] =2’b00）、拡張モードのモード設定が拡張モード０であると判定する。
【０１７２】
ステップＳ７１において、パケットヘッダ検出部８１が、拡張モードのモード設定が拡張モード０であると判定した場合、処理はステップＳ７２に進む。ステップＳ７２において、解釈部８３は、ペイロードの１バイト目を拡張ペイロードヘッダとして受信する。
【０１７３】
ステップＳ７３において、解釈部８３は、ステップＳ７２で受信した拡張ペイロードヘッダのデータタイプ（DataType[7:0]）を確認して、受信を開始したパケットが拡張ショートパケットであるか否かを判定する。
【０１７４】
ステップＳ７３において、解釈部８３が、拡張ショートパケットであると判定した場合、処理はステップＳ７４に進む。ステップＳ７４において、解釈部８３は、ステップＳ７２で受信した拡張ペイロードヘッダに格納されている設定（OePH[7:0]）に従って、オプショナル拡張ペイロードヘッダを受信する。
【０１７５】
ステップＳ７５において、CRC演算部８６は、オプショナル拡張ペイロードヘッダに続けて送信されてくるWC＋１バイト目をCRCとして受信する。このとき、パケットフッタであるCRCは、レーンごとに独立して送信されてくる。
【０１７６】
一方、ステップＳ７３において、解釈部８３が、拡張ショートパケットでない（即ち、拡張ロングパケットの受信を開始している）と判定した場合、処理はステップＳ７６に進む。ステップＳ７６において、解釈部８３は、ステップＳ７２で受信した拡張ペイロードヘッダに格納されている設定（OePH[7:0]）に従って、オプショナル拡張ペイロードヘッダを受信する。
【０１７７】
ステップＳ７７において、アンパッキング部８７は、イメージセンサ２１から送信されてくる拡張ロングパケットのレガシーペイロードを受信して画像データを取り出す。
【０１７８】
ステップＳ７８において、解釈部８３は、ステップＳ７２で受信した拡張ペイロードヘッダに格納されている設定（OePF[3:0]）に従って、オプショナル拡張ペイロードフッタを受信する。
【０１７９】
ステップＳ７９において、CRC演算部８６は、オプショナル拡張ペイロードフッタに続けて送信されてくるWC＋１バイト目をCRCとして受信する。このとき、パケットフッタであるCRCは、レーンごとに独立して送信されてくる。
【０１８０】
そして、ステップＳ７１で拡張モードのモード設定が拡張モード０でないと判定した場合、ステップＳ７５の処理後、またはステップＳ７９の処理後、拡張モード受信処理は終了される。
【０１８１】
以上のように、アプリケーションプロセッサ２２は、拡張ショートパケットまたは拡張ロングパケットを受信して、データを取得することができる。
【０１８２】
図１２は、図６のエラー処理部７４で行われるエラー処理を説明するフローチャートである。
【０１８３】
ステップＳ８１において、エラー処理部７４は、CRCエラーを検出したか否か、即ち、CRC演算部８６から出力されるcrcエラー検出信号が、CRCエラーが検出されたことを示しているか否かを判定する。
【０１８４】
ステップＳ８１において、エラー処理部７４が、CRCエラーを検出したと判定した場合、処理はステップＳ８２に進む。ステップＳ８２において、エラー処理部７４は、CRCエラーを検出したレーンに対するエラーカウントレジスタをインクリメント（＋１）する。
【０１８５】
ステップＳ８３において、エラー処理部７４は、ステップＳ８２でインクリメントしたエラーカウントレジスタの値が、所定の回数を超えたか否かを判定する。
【０１８６】
ステップＳ８３において、エラー処理部７４が、エラーカウントレジスタの値が所定の回数を超えていないと判定した場合、処理はステップＳ８４に進む。ステップＳ８４において、アプリケーションプロセッサ２２は、CRCエラーを検出した受信データを破棄した後、処理はステップＳ８１に戻り、以下、同様の処理が繰り返して行われる。
【０１８７】
一方、ステップＳ８１において、エラー処理部７４が、CRCエラーを検出していないと判定した場合、処理はステップＳ８５に進む。ステップＳ８５において、エラー処理部７４は、エラー通知用のショートパケットを受信したか否かを判定する。例えば、エラー処理部７４は、パケットヘッダ検出部８１から出力されるError通知用ShortPacket受信フラグに従って、この判定を行うことができる。
【０１８８】
ステップＳ８５において、エラー処理部７４が、エラー通知用のショートパケットを受信したと判定した場合、処理はステップＳ８６に進む。
【０１８９】
ステップＳ８６において、エラー処理部７４は、エラー通知用のショートパケットにおいてエラーが発生していることが示されている対象のレーンの使用を中止する。そして、エラー処理部７４は、対象のレーンを使用中止した旨の通知を、CCIマスタ８８からI2C/I3Cマスタ７２を介して、イメージセンサ２１、シリアライザ２３、およびデシリアライザ２４へ送信し、対象のレーンの復帰処理を行わせる。
【０１９０】
即ち、この場合、エラー通知用のショートパケットを受信することができたことより、バス２６およびバス２５−２は正常であり、バス２５−１に断線が発生していると認識することができる。ただし、バス２５−１およびバス２５−２は、両方とも同じレーン数でない場合には通信速度のバランスを保つことができない。このため、バス２５−１の断線を検出したときには、バス２５−２では使用可能なレーンであっても、バス２５−１およびバス２５−２でレーン数を同数にする処理が行われる。
【０１９１】
その後、処理はステップＳ８１に戻り、以下、同様の処理が繰り返して行われる。
【０１９２】
一方、ステップＳ８５において、エラー処理部７４が、エラー通知用のショートパケットを受信していないと判定した場合、処理はステップＳ８７に進む。ステップＳ８７において、エラー処理部７４は、一部のレーンが受信できない状態が所定回数以上となったか否かを判定する。
【０１９３】
ステップＳ８７において、エラー処理部７４が、一部のレーンが受信できない状態が所定回数以上となったと判定した場合、処理はステップＳ８８に進む。
【０１９４】
ステップＳ８８において、エラー処理部７４は、解釈部８３がオプショナル拡張ペイロードヘッダに格納されている設定情報を解釈して出力し、それぞれのレーンで独立して送信されるMC（GLD用Message Count）およびLN（Lane Number）に基づいて、エラーが発生している対象のレーンを特定する。ステップＳ８８の処理後、処理はステップＳ８６に進み、以下、上述したのと同様の処理が行われる。
【０１９５】
即ち、この場合、MCの欠落が連続で発生しているということは、バス２５−１およびバス２６は正常であり、バス２５−２に断線が発生していると認識することができる。ただし、バス２５−１およびバス２５−２は、両方とも同じレーン数でない場合には通信速度のバランスを保つことができない。このため、バス２５−２の断線したレーンを特定し、バス２５−１の対応するレーンも使用禁止とする。
【０１９６】
一方、ステップＳ８７において、エラー処理部７４が、一部のレーンが受信できない状態が所定回数以上となっていないと判定した場合、処理はステップＳ８９に進む。
【０１９７】
ステップＳ８９において、エラー処理部７４は、断線を通知する割り込みを受信したか否かを判定する。
【０１９８】
ここで、例えば、デシリアライザ２４は、バス２６の断線を検知した場合、バス２５−２のHS-GPIO信号線のうちの１本を断線エラー検出割り込み線として用いて、バス２６の断線を検知したことをエラー処理部７４に通知することができる。従って、エラー処理部７４は、ステップＳ８７において、HS-GPIO信号線を断線エラー検出割り込み線用いて、断線を通知する割り込みを受信したか否かを判定することができる。また、その他、バス２５−２のHS-GPIO信号線のうちの１本をエラー検出割り込み線として用い、具体的なエラーの内容は、I2C/I3Cマスタ７２を経由して、デシリアライザ２４の内部レジスタを読むことで、検出したエラーのうちの、バス２６の断線を検知してもよい。
【０１９９】
ステップＳ８９において、エラー処理部７４は、断線を通知する割り込みを受信したと判定した場合、処理はステップＳ９０に進む。ステップＳ９０において、エラー処理部７４は、断線が発生している対象のレーンの使用を中止し、CSI-2による通信の通信速度を低下させるように、CCIマスタ８８に対する設定を行う。
【０２００】
即ち、この場合、バス２６で断線が発生したことになり、バス２６が複数のレーンで構成されるとき、断線が発生している対象のレーンを使用禁止にして通信を継続する。そして、バス２６の帯域が減少したことに合わせて、通信速度のバランスを保つために、バス２５−１および２５−２の通信速度の低下させることになる。
【０２０１】
ステップＳ９０の処理後、または、ステップＳ８９において断線を通知する割り込みを受信していないと判定された場合、ステップＳ８１に戻り、以下、同様の処理が繰り返して行われる。
【０２０２】
以上のように、エラー処理部７４は、CRCエラーが多く検出されているレーンや、エラー通知用のショートパケットにより通知された断線したレーン、受信できないことが頻発しているレーン、断線を通知する割り込みを受信により通知されたレーンなどを、迅速に特定することができる。これにより、アプリケーションプロセッサ２２は、エラー処理部７４により特定されたレーンの使用を中止して、正常なレーンのみを用いて通信を継続することができる。従って、通信システム１１は、信頼性の向上を図ることができ、車載などよりセキュアな通信に対応することができる。
【０２０３】
＜通信システムの第２の構成例＞
図１３乃至図１５を参照して、本技術を適用した通信システムの第２の実施の形態の構成例について説明する。
【０２０４】
図１３では、第１の実施の形態である通信システム１１と、第２の実施の形態である通信システム１１Ａとを比較して説明する。
【０２０５】
例えば、図１３のＡに示すように、通信システム１１は、イメージセンサ２１側では、CSI-2送信回路が物理層（A-PHY Tx）に接続されるとともに、アプリケーションプロセッサ２２側では、物理層（A-PHY Rx）がCSI-2受信回路に接続される構成となっている。
【０２０６】
従って、通信システム１１では、既存のCSI-2受信回路およびCSI-2送信回路に対して回路構成を変更する必要があった。
【０２０７】
これに対し、図１３のＢに示すように、通信システム１１Ａは、イメージセンサ２１側で、CSI-2送信回路および物理層（A-PHY Tx）が中間レイヤ（Adaptation Layer）を介して接続されるとともに、アプリケーションプロセッサ２２側で、物理層（A-PHY Rx）およびCSI-2受信回路が中間レイヤ（Adaptation Layer）を介して接続される構成となっている。
【０２０８】
このように、通信システム１１Ａは、中間レイヤを設けることにより、既存のCSI-2受信回路およびCSI-2送信回路の回路構成をそのまま使用することができる。即ち、上述の図３を参照して説明したようなパラレル伝送に必要な機能を備えた中間レイヤを設けることで、既存のCSI-2受信回路およびCSI-2送信回路の回路構成を変更することを回避することができる。
【０２０９】
即ち、図１４に示すように、パケットヘッダおよびMCをレーンごとに独立して送信することや、CRCをレーンごとのペイロードから算出して、レーンごとに独立して送信することなどは、中間レイヤ（Adaptation Layer）により付加的に処理することができる。また、従来のCSI-2と同様のペイロードは、既存のCSI-2受信回路およびCSI-2送信回路において処理することができる。
【０２１０】
図１５には、通信システム１１Ａを構成するイメージセンサ２１Ａおよびアプリケーションプロセッサ２２Ａの概略的な構成例が示されている。
【０２１１】
図１５に示すように、イメージセンサ２１Ａは、不揮発性メモリ（Non-Volatile Memory）１０１、CSI-2送信回路１０２、中間レイヤ１０３、選択部１０４、および物理層処理部１０５を備えて構成される。アプリケーションプロセッサ２２Ａは、不揮発性メモリ１１１、物理層処理部１１２、中間レイヤ１１３、選択部１１４、およびCSI-2送信回路１１５を備えて構成される。
【０２１２】
例えば、物理層処理部１０５と物理層処理部１１２とは、A-PHY，D-PHY、およびC-PHYのうちの、いずれかの物理層を選択的に切り替えることができる。そして、それらを選択する選択信号が、不揮発性メモリ１０１からイメージセンサ２１Ａの各ブロックに供給され、不揮発性メモリ１１１からアプリケーションプロセッサ２２Ａの各ブロックに供給される。
【０２１３】
従って、例えば、選択信号がA-PHYが選択されていることを示している場合、イメージセンサ２１Ａでは、CSI-2送信回路１０２は中間レイヤ１０３にパケットを供給し、中間レイヤ１０３は、パケットヘッダおよびMCをレーンごと生成したり、CRCをレーンごとのペイロードから算出したりする。そして、選択部１０４は、中間レイヤ１０３からの出力を物理層処理部１０５へ供給し、物理層処理部１０５においてA-PHYを物理層とした処理が行われる。
【０２１４】
そして、アプリケーションプロセッサ２２Ａでは、物理層処理部１１２においてA-PHYを物理層とした処理を行って、受信したパケットが中間レイヤ１１３に供給され、レーンごとに送信されてくるものに対する処理が行われる。そして、選択部１１４は、中間レイヤ１１３からの出力をCSI-2送信回路１１５に供給し、CSI-2送信回路１１５においてパケットに対する処理が行われる。
【０２１５】
一方、選択信号がD-PHYまたはC-PHYが選択されていることを示している場合、イメージセンサ２１Ａでは、CSI-2送信回路１０２は選択部１０４を介して物理層処理部１０５へパケットを供給し、物理層処理部１０５においてD-PHYまたはC-PHYを物理層とした処理が行われる。
【０２１６】
そして、アプリケーションプロセッサ２２Ａでは、物理層処理部１１２においてD-PHYまたはC-PHYYを物理層とした処理を行って、受信したパケットが選択部１１４を介してCSI-2送信回路１１５へ供給される。
【０２１７】
＜コンピュータの構成例＞
図１６は、上述した一連の処理をプログラムにより実行するコンピュータのハードウエアの構成例を示すブロック図である。
【０２１８】
コンピュータにおいて、CPU（Central Processing Unit）２０１，ROM（Read Only Memory）２０２，RAM（Random Access Memory）２０３、およびEEPROM（Electronically Erasable and Programmable Read Only Memory）２０４は、バス２０５により相互に接続されている。バス２０５には、さらに、入出力インタフェース２０６が接続されており、入出力インタフェース２０６が外部に接続される。
【０２１９】
以上のように構成されるコンピュータでは、CPU２０１が、例えば、ROM２０２およびEEPROM２０４に記憶されているプログラムを、バス２０５を介してRAM２０３にロードして実行することにより、上述した一連の処理が行われる。また、コンピュータ（CPU２０１）が実行するプログラムは、ROM２０２に予め書き込んでおく他、入出力インタフェース２０６を介して外部からEEPROM２０４にインストールしたり、更新したりすることができる。
【０２２０】
ここで、本明細書において、コンピュータがプログラムに従って行う処理は、必ずしもフローチャートとして記載された順序に沿って時系列に行われる必要はない。すなわち、コンピュータがプログラムに従って行う処理は、並列的あるいは個別に実行される処理（例えば、並列処理あるいはオブジェクトによる処理）も含む。
【０２２１】
また、プログラムは、１のコンピュータ（プロセッサ）により処理されるものであっても良いし、複数のコンピュータによって分散処理されるものであっても良い。さらに、プログラムは、遠方のコンピュータに転送されて実行されるものであっても良い。
【０２２２】
さらに、本明細書において、システムとは、複数の構成要素（装置、モジュール（部品）等）の集合を意味し、すべての構成要素が同一筐体中にあるか否かは問わない。したがって、別個の筐体に収納され、ネットワークを介して接続されている複数の装置、及び、１つの筐体の中に複数のモジュールが収納されている１つの装置は、いずれも、システムである。
【０２２３】
また、例えば、１つの装置（または処理部）として説明した構成を分割し、複数の装置（または処理部）として構成するようにしてもよい。逆に、以上において複数の装置（または処理部）として説明した構成をまとめて１つの装置（または処理部）として構成されるようにしてもよい。また、各装置（または各処理部）の構成に上述した以外の構成を付加するようにしてももちろんよい。さらに、システム全体としての構成や動作が実質的に同じであれば、ある装置（または処理部）の構成の一部を他の装置（または他の処理部）の構成に含めるようにしてもよい。
【０２２４】
また、例えば、本技術は、１つの機能を、ネットワークを介して複数の装置で分担、共同して処理するクラウドコンピューティングの構成をとることができる。
【０２２５】
また、例えば、上述したプログラムは、任意の装置において実行することができる。その場合、その装置が、必要な機能（機能ブロック等）を有し、必要な情報を得ることができるようにすればよい。
【０２２６】
また、例えば、上述のフローチャートで説明した各ステップは、１つの装置で実行する他、複数の装置で分担して実行することができる。さらに、１つのステップに複数の処理が含まれる場合には、その１つのステップに含まれる複数の処理は、１つの装置で実行する他、複数の装置で分担して実行することができる。換言するに、１つのステップに含まれる複数の処理を、複数のステップの処理として実行することもできる。逆に、複数のステップとして説明した処理を１つのステップとしてまとめて実行することもできる。
【０２２７】
なお、コンピュータが実行するプログラムは、プログラムを記述するステップの処理が、本明細書で説明する順序に沿って時系列に実行されるようにしても良いし、並列に、あるいは呼び出しが行われたとき等の必要なタイミングで個別に実行されるようにしても良い。つまり、矛盾が生じない限り、各ステップの処理が上述した順序と異なる順序で実行されるようにしてもよい。さらに、このプログラムを記述するステップの処理が、他のプログラムの処理と並列に実行されるようにしても良いし、他のプログラムの処理と組み合わせて実行されるようにしても良い。
【０２２８】
なお、本明細書において複数説明した本技術は、矛盾が生じない限り、それぞれ独立に単体で実施することができる。もちろん、任意の複数の本技術を併用して実施することもできる。例えば、いずれかの実施の形態において説明した本技術の一部または全部を、他の実施の形態において説明した本技術の一部または全部と組み合わせて実施することもできる。また、上述した任意の本技術の一部または全部を、上述していない他の技術と併用して実施することもできる。
【０２２９】
＜構成の組み合わせ例＞
なお、本技術は以下のような構成も取ることができる。
（１）
受信側の通信装置との間で、複数のレーンに分配してパケットを送信する際に、前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方を、前記レーンごとに独立して送信する送信部
を備える通信装置。
（２）
前記レーンごとの前記パケットフッタとして、それぞれ対応する前記レーンに分配される前記パケットのペイロードから算出されるCRC（Cyclic Redundancy Check）を生成するパケットフッタ生成部
をさらに備える上記（１）に記載の通信装置。
（３）
前記レーンごとの前記パケットヘッダを、それぞれ対応する前記レーンに分配される前記パケットのペイロードのバイト数を示すワードカウントを含めて生成するパケットヘッダ生成部
をさらに備える上記（１）または（２）に記載の通信装置。
（４）
前記パケットのペイロードの先頭に配置されるペイロードヘッダを生成するペイロードヘッダ生成部をさらに備え、
前記送信部は、前記ペイロードヘッダを前記レーンごとに独立して送信し、
前記ペイロードヘッダには、前記レーンごとにインクリメントされるメッセージカウントが含まれるとともに、それぞれ送信される前記レーンを識別するレーンナンバーが必要に応じて含まれる
上記（１）から（３）までのいずれかに記載の通信装置。
（５）
通信装置が、
受信側の通信装置との間で、複数のレーンに分配してパケットを送信する際に、前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方を、前記レーンごとに独立して送信すること
を含む通信方法。
（６）
通信装置のコンピュータに、
受信側の通信装置との間で、複数のレーンに分配してパケットを送信する際に、前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方を、前記レーンごとに独立して送信すること
を含む通信処理を実行させるためのプログラム。
（７）
送信側の通信装置から、複数のレーンに分配して送信されてくるパケットを受信する受信部
を備え、
前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方が、前記レーンごとに独立して送信されてくる
通信装置。
（８）
前記レーンごとに送信されてくる前記パケットフッタは、それぞれ対応する前記レーンに分配される前記パケットのペイロードから算出されるCRC（Cyclic Redundancy Check）であり、
前記CRCに基づいて検出されるCRCエラーが所定回数以上となる前記レーンの使用を停止すると判断し、そのレーンの使用を停止するように前記送信側の通信装置に対して設定するエラー処理部をさらに備える
上記（７）に記載の通信装置。
（９）
前記レーンごとに送信されてくる前記パケットヘッダには、それぞれ対応する前記レーンに分配される前記パケットのペイロードのバイト数を示すワードカウントが含まれており、
前記受信部は、前記ワードカウントに基づいて、複数の前記レーンのうちの正常な前記レーンにより送信されてくる前記パケットのペイロードを受信する
上記（７）または（８）に記載の通信装置。
（１０）
前記パケットのペイロードの先頭には、前記レーンごとにインクリメントされるメッセージカウントが含まれるとともに、それぞれ送信される前記レーンを識別するレーンナンバーが必要に応じて含まれるペイロードヘッダが配置されており、
前記メッセージカウントおよび前記レーンナンバーに基づいて、複数の前記レーンのうちの異常が発生している前記レーンを特定し、そのレーンの使用を停止するように前記送信側の通信装置に対して設定するエラー処理部をさらに備える
上記（７）から（９）までのいずれかに記載の通信装置。
（１１）
前記送信側の通信装置とバスを介して直接的に接続され、前記パケットのパケットヘッダまたはパケットフッタに基づいて、前記バスに所定の不具合が発生したことを検出したときに、後段にある受信側の他の通信装置に対して、前記不具合の内容を示すエラー情報を通知する通知部
をさらに備える上記（７）から（１０）までのいずれかに記載の通信装置。
（１２）
通信装置が、
送信側の通信装置から、複数のレーンに分配して送信されてくるパケットを受信すること
を含み、
前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方が、前記レーンごとに独立して送信されてくる
を含む通信方法。
（１３）
通信装置のコンピュータに、
送信側の通信装置から、複数のレーンに分配して送信されてくるパケットを受信すること
を含み、
前記パケットのパケットヘッダおよびパケットフッタのうちの少なくとも一方が、前記レーンごとに独立して送信されてくる
を含む通信処理を実行させるためのプログラム。
【０２３０】
なお、本実施の形態は、上述した実施の形態に限定されるものではなく、本開示の要旨を逸脱しない範囲において種々の変更が可能である。また、本明細書に記載された効果はあくまで例示であって限定されるものではなく、他の効果があってもよい。
【符号の説明】
【０２３１】
１１  通信システム，  ２１  イメージセンサ，  ２２  アプリケーションプロセッサ，  ２３  シリアライザ，  ２４  デシリアライザ，  ２５および２６  バス，  ３１  拡張モード対応CSI-2送信回路，  ３２  拡張モード対応CSI-2受信回路，  ３３  CSI-2受信回路，  ３４  SerDes送信回路，  ３５  SerDes受信回路，  ３６  CSI-2送信回路，  ４１  画素，  ４２  AD変換器，  ４３  画像処理部，  ４４  画素CRC演算部，  ４５  物理層処理部，  ４６  I2C/I3Cスレーブ，  ４７  レジスタ，  ５１  パッキング部，  ５２  パケットヘッダ生成部，  ５３  ペイロードヘッダ生成部，  ５４  ペイロードフッタ生成部，  ５５および５６  選択部，  ５７  CRC演算部，  ５８  レーン分配部，  ５９  CCIスレーブ，  ６０  コントローラ，  ７１  物理層処理部，  ７２  I2C/I3Cマスタ，  ７３  レジスタ，  ８１  パケットヘッダ検出部，  ８２  レーン併合部，  ８３  解釈部，  ８４および８５  選択部，  ８６  CRC演算部，  ８７  アンパッキング部，  ８８  CCIマスタ，  ８９  エラー通知用パケット生成部
【図１】
2020166378.tif 000003
【図２】
2020166378.tif 000004
【図３】
2020166378.tif 000005
【図４】
2020166378.tif 000006
【図５】
2020166378.tif 000007
【図６】
2020166378.tif 000008
【図７】
2020166378.tif 000009
【図８】
2020166378.tif 000010
【図９】
2020166378.tif 000011
【図１０】
2020166378.tif 000012
【図１１】
2020166378.tif 000013
【図１２】
2020166378.tif 000014
【図１３】
2020166378.tif 000015
【図１４】
2020166378.tif 000016
【図１５】
2020166378.tif 000017
【図１６】
2020166378.tif 000018
【国際調査報告】
2020166378.tif 000019
2020166378.tif 000020
2020166378.tif 000021
2020166378.tif 000022