(57)【要約】【課題】  バッファオーバーフロー等に起因する通信エラーの発生を低減できるようにする。【解決手段】  電子機器（１００）は、撮像素子からのセンサデータと、メモリに記憶されているメモリデータとを送信する送信ＩＣと、前記送信ＩＣの送信データのデータ種別に応じて、受信ＩＣ内での受信データが流れるデータ経路を制御するデータ経路制御手段と、前記送信ＩＣの送信データが前記メモリデータであり、前記受信ＩＣの前記経路制御手段により前記メモリデータを流す経路上の一時記憶部が、所定の量になった場合に、前記送信ＩＣに対して、送信停止の要求を通知する通知手段とを有し、前記送信ＩＣは、前記送信停止の要求を通知された場合は、前記メモリデータの送信を停止すると共に、前記センサデータの送信は停止しないようにする。【選択図】  図１
2018085665.tif 000002
【特許請求の範囲】
【請求項１】
撮像素子からのセンサデータと、メモリに記憶されているメモリデータとを送信する送信ＩＣと、
前記送信ＩＣの送信データのデータ種別に応じて、受信ＩＣ内での受信データが流れるデータ経路を制御するデータ経路制御手段と、
前記送信ＩＣの送信データが前記メモリデータであり、前記受信ＩＣの前記経路制御手段により前記メモリデータを流す経路上の一時記憶部が、所定の量になった場合に、前記送信ＩＣに対して、送信停止の要求を通知する通知手段と
を有し、
前記送信ＩＣは、前記送信停止の要求を通知された場合は、前記メモリデータの送信を停止すると共に、前記センサデータの送信は停止しないようにすることを特徴とする電子機器。
【請求項２】
前記受信ＩＣは、後段のＩＣに、受信したデータを転送する転送手段を有し、
前記送信ＩＣの送信データが前記メモリデータであり、前記受信ＩＣの前記経路制御手段により前記メモリデータを流す経路上の一時記憶部が、所定の量になった場合に、前記送信ＩＣに対して、前記送信停止の要求を通知すると共に、後段ＩＣに対して、受信した前記メモリデータの転送を停止することを特徴とする請求項１に記載の電子機器。
【請求項３】
前記受信ＩＣは、後段のＩＣに、受信したデータを転送する転送手段を有し、
転送先の受信ＩＣから前記送信停止の要求を通知された場合は、前記メモリデータの送信を停止すると共に、前段の送信ＩＣに対して、前記メモリデータの送信を停止する要求を通知することを特徴とする請求項１または２に記載の電子機器。
【請求項４】
前記送信ＩＣ、または、後段ＩＣにデータを送信する前記受信ＩＣは、送信データの所定の位置にエラー訂正用のパリティ情報を付加するエラー訂正付加手段を有し、
後段ＩＣから前記メモリデータの前記送信停止の要求を通知された際に、前記エラー訂正付加手段によりエラー訂正用パリティデータを付加したデータ位置で、前記メモリデータの送信を停止することを特徴とする請求項１乃至３のいずれか１項に記載の電子機器。
【請求項５】
前記受信ＩＣは、２つ以上のエラー訂正処理部を有し、
受信した前記センサデータと前記メモリデータにおいて、異なるエラー訂正処理部を用いて処理を行うことを特徴とする請求項１乃至４のいずれか１項に記載の電子機器。
【請求項６】
前記送信ＩＣ、または、後段ＩＣにデータを送信する前記受信ＩＣは、後段ＩＣに対してデータ送信を停止する場合は、前記メモリデータを流す経路の動作を停止し、前記センサデータを流す経路の動作を停止させないことを特徴とする請求項５に記載の電子機器。
【請求項７】
受信したデータが前記センサデータまたは前記メモリデータのどちらであるかを判定するデータ種別判定手段を有し、
データ種別判定手段は、受信データのヘッダ情報を元に判定することを特徴とする請求項１乃至６のいずれか１項に記載の電子機器。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、複数の画像処理プロセッサを有する電子機器に関するものである。
【背景技術】
【０００２】
デジタルカメラなどの撮像装置において、撮像素子の多画素化や動画像の高フレームレート化などに伴い、画像処理プロセッサで処理するデータ量が増大している。データ量が増大すると１つの画像処理プロセッサで処理することができなくなるため、複数の画像処理プロセッサを搭載し、複数の画像処理プロセッサで処理を分担するという方法が知られている。特許文献１には、複数の画像処理プロセッサを直列に接続し、画像の領域を分割し、各々の画像処理プロセッサで分担して処理することが記載されている。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２０１４−２１６６６８号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
特許文献１には、撮像素子や前段の画像処理プロセッサから出力されるセンサデータを全ていったんＤＲＡＭに一時記憶させている。すべてのセンサデータをＤＲＡＭに一時記憶をすると後段の画像処理プロセッサにデータが到達するまでに多くの時間を要してしまう。そうすると、後段の画像処理プロセッサで処理を開始する時間が遅くなるため、撮像装置の処理性能が低下するという課題がある。また、撮像素子からのデータをＤＲＡＭに一時記憶させずに後段の画像処理プロセッサにデータを通信する場合、バッファオーバーフロー等の通信エラーを発生させずにリアルタイムでデータを送信しなければいけない。
【０００５】
そこで、本発明は、直列に接続された複数の画像処理プロセッサ間でリアルタイム性を有するデータ通信（例：センサデータの送信）とフロー制御可能なデータ通信（例：ＤＲＡＭデータの送信）とを行う場合に、バッファオーバーフロー等に起因する通信エラーの発生を低減できるようにすることを目的とする。
【課題を解決するための手段】
【０００６】
上記目的を達成するために、本発明に係る電子機器は、撮像素子からのセンサデータと、メモリに記憶されているメモリデータとを送信する送信ＩＣと、前記送信ＩＣの送信データのデータ種別に応じて、受信ＩＣ内での受信データが流れるデータ経路を制御するデータ経路制御手段と、前記送信ＩＣの送信データが前記メモリデータであり、前記受信ＩＣの前記経路制御手段により前記メモリデータを流す経路上の一時記憶部が、所定の量になった場合に、前記送信ＩＣに対して、送信停止の要求を通知する通知手段とを有し、前記送信ＩＣは、前記送信停止の要求を通知された場合は、前記メモリデータの送信を停止すると共に、前記センサデータの送信は停止しないようにすることを特徴とする。
【発明の効果】
【０００７】
本発明によれば、直列に接続された複数の画像処理プロセッサ間でリアルタイム性を有するデータ通信（例：センサデータの送信）とフロー制御可能なデータ通信（例：ＤＲＡＭデータの送信）とを行う場合に、バッファオーバーフロー等に起因する通信エラーの発生を低減することができる。
【図面の簡単な説明】
【０００８】
【図１】実施形態１における電子機器１００の構成要素の一例を示すブロック図である。
【図２】ＩＣ間データ通信に用いられるデータパケットの構造の一例を示す図である。
【図３】パケットペイロード２０３の構造の一例を示す図である。
【図４】パケットヘッダ２０２の構造の一例を示す図である。
【図５】第一のＩＣ１０２、第二のＩＣ１０３および第三のＩＣ１０４の内部構成の一例を示すブロック図である。
【図６】撮像素子１０１から第一のＩＣ１０２へのセンサデータ伝送処理の一例を説明するためのフローチャートである。
【図７】第一のメモリ１０５から第一のＩＣ１０２へのメモリデータ伝送処理の一例を説明するためのフローチャートである。
【図８】第一のＩＣ１０２から第二のＩＣ１０３へのデータ伝送処理の一例を説明するためのフローチャートである。
【発明を実施するための形態】
【０００９】
以下、図面を参照して本発明の実施形態を説明する。ただし、本発明は以下の実施形態に限定されるものではない。
［実施形態１］
図１は、実施形態１における電子機器１００の構成要素の一例を示すブロック図である。実施形態１における電子機器１００は、図１に示すように、複数のＩＣ間でリアルタイム性を有するデータ通信とフロー制御可能なデータ通信とを行う通信システムを有する。
【００１０】
撮像素子（イメージセンサ）１０１は、レンズユニットを通して入力される光学像を電気情報に変換するための回路と、当該電気情報をセンサデータ（画像情報を含む）を出力する通信インタフェースとを有する。第一のＩＣ１０２は、撮像素子１０１からのセンサデータを、センサ間通信インタフェース１１０を介して受信する画像処理プロセッサである。センサ間通信インタフェース１１０は、ＰＣＩ  Ｅｘｐｒｅｓｓ  のような汎用規格のインタフェースでもよいし、独自のインタフェースでもよい。
【００１１】
第一のＩＣ１０２は、撮像素子１０１から受信したセンサデータを、第一のＩＣ１０２内の画像処理部５１１を用いて所定の画像処理を行い、第一のメモリ１０５にデータを書き込むことができる。第一のＩＣ１０２は、撮像素子１０１から受信したセンサデータをそのまま次段の第二のＩＣ１０３に転送することもできる。第一のＩＣ１０２は、第一のメモリ１０５に格納されているデータ（メモリデータ）を次段の第二のＩＣ１０３に転送することもできる。
【００１２】
第一のメモリ１０５は、第一のＩＣ１０２と接続されたメモリ（例：ＤＲＡＭ）であり、プログラム及びデータを記憶する。具体的には、第一のＩＣ１０２内の制御部５０１によって実行されるプログラムを記憶したり、第一のＩＣ１０２内の画像処理部５１１で処理されたデータを記憶したりする。要求信号１１５は、第一のＩＣ１０２から撮像素子１０１に対して、センサデータ送信の要求およびトレーニングシーケンス開始の要求を通知するための信号である。
【００１３】
第二のＩＣ１０３は、ＩＣ間インタフェース１１１を介して、第一のＩＣ１０２からのセンサデータおよびメモリデータを受信する画像処理プロセッサである。ＩＣ間インタフェース１１１は、第一のＩＣ１０２から第二のＩＣ１０３へのデータ送信を行うための単方向の通信インタフェースであり、第二のＩＣ１０３から第一のＩＣ１０２へのデータ送信は行えない。第二のＩＣ１０３が第一のＩＣ１０２から受信するセンサデータは、第一のＩＣ１０２が撮像素子１０１から受信したセンサデータであって第一のＩＣ１０２から第二のＩＣ１０３に転送されたものである。
【００１４】
第二のＩＣ１０３が第一のＩＣ１０２から受信するメモリデータは、第一のメモリ１０５に格納されているデータである。第二のＩＣ１０３は、第一のＩＣ１０２から受信したセンサデータを、第二のＩＣ１０３内の画像処理部５１１を用いて所定の画像処理を行い、第二のメモリ１０６にデータを書き込むことができる。第二のＩＣ１０３は、第一のＩＣ１０２から受信したセンサデータまたはメモリデータをそのまま次段の第三のＩＣ１０４に転送することもできる。第二のＩＣ１０３は、第二のメモリ１０６に格納されているデータ（メモリデータ）を次段の第三のＩＣ１０４に転送することもできる。
【００１５】
なお、第一のＩＣ１０２から受信したデータを画像処理部５１１および第三のＩＣ１０４のいずれに送るかは、受信したパケット情報を元に判定する。データ転送の詳細は、後述する（図８参照）。
【００１６】
第二のメモリ１０６は、第二のＩＣ１０３と接続されたメモリ（例：ＤＲＡＭ）であり、プログラム及びデータを記憶する。具体的には、第二のＩＣ１０３内の制御部５０１によって実行されるプログラムを記憶したり、第二のＩＣ１０３内の画像処理部５１１で処理されたデータを記憶したりする。第一のＩＣ１０２と第二のＩＣ１０３との間にあるチップ間フロー制御信号１１３は、第一のＩＣ１０２からのデータ送信を停止する要求を伝えるための通知信号である。第二のＩＣ１０３が、ＩＣ間インタフェース１１１を介して送信されるデータの停止を、第一のＩＣ１０２に対して要求するために使用する。
【００１７】
具体的には、第二のＩＣ１０３が、チップ間フロー制御信号１１３をＨｉｇｈの状態に出力すると、送信側である第一のＩＣ１０２は、所定期間内に所定のデータの送信を停止する。このフロー制御に関する動作の詳細は、後述する（図７参照）。
【００１８】
第三のＩＣ１０４は、最終段の画像処理プロセッサである。ＩＣ間インタフェース１１２を介して、第二のＩＣ１０３からのセンサデータおよびメモリデータを受信する。ＩＣ間インタフェース１１２は、第二のＩＣ１０３から第三のＩＣ１０４へのデータ送信を行うための単方向の通信インタフェースであり、第三のＩＣ１０４から第二のＩＣ１０３へのデータ送信は行えない。第三のＩＣ１０４が第二のＩＣ１０３から受信するセンサデータは、第二のＩＣ１０３が第一のＩＣ１０２から受信したセンサデータであって第二のＩＣ１０３から第三のＩＣ１０４に転送されたものである。
【００１９】
第三のＩＣ１０４が第二のＩＣ１０３から受信するメモリデータは、第一のメモリ１０５または第二のメモリ１０６に格納されているデータである。第三のＩＣ１０４は、第二のＩＣ１０３から受信したセンサデータを、第三のＩＣ１０４内の画像処理部５１１を用いて所定の画像処理を行い、第三のメモリ１０７にデータを書き込むことができる。第三のＩＣ１０４は、第二のＩＣ１０３から受信したセンサデータまたはメモリデータを所定のデータフォーマットで記憶装置１０８に記録することもできる。
【００２０】
第三のＩＣ１０４は、第二のメモリ１０６に格納されているデータ（メモリデータ）を所定のデータフォーマットで記憶装置１０８に記録することもできる。第三のＩＣ１０４は、第二のＩＣ１０３から受信したメモリデータ、または、第二のメモリ１０６に格納されているデータ（メモリデータ）を映像信号に変換し、出力端子１０９を介して外部機器に出力することもできる。
【００２１】
第三のメモリ１０７は、第三のＩＣ１０４と接続されたメモリ（例：ＤＲＡＭ）であり、プログラム及びデータを記憶する。具体的には、第三のＩＣ１０４内の制御部５０１によって実行されるプログラムを記憶したり、第三のＩＣ１０４内の画像処理部５１１で処理されたデータを記憶したりする。第二のＩＣ１０３と第三のＩＣ１０４との間にあるチップ間フロー制御信号１１４は、第二のＩＣ１０３からのデータ送信を停止する要求を伝えるための通知信号である。第三のＩＣ１０４が、ＩＣ間インタフェース１１２を介して送信されるデータの停止を、第二のＩＣ１０３に対して要求するために使用する。
【００２２】
具体的には、第三のＩＣ１０４が、チップ間フロー制御信号１１４をＨｉｇｈの状態に出力すると、送信側である第二のＩＣ１０３は、所定期間内に所定のデータの送信を停止する。このフロー制御に関する動作の詳細は、後述する（図７参照）。
【００２３】
記憶装置１０８は、第三のＩＣ１０４からのメモリデータを所定のデータフォーマットで記録する。記憶装置１０８は、例えば、メモリカードまたはハードディスク装置を有する。記憶装置１０８は、電子機器１００に内蔵されているか、電子機器１００から取り外し可能である。出力端子１０９は、ＨＤＭＩ（登録商標）端子等の映像出力端子である。第三のＩＣ１０４からの映像データを外部表示装置に対して出力するための端子である。
【００２４】
次に、図２を参照し、ＩＣ間データ通信に用いられるデータパケットの構造の一例を説明する。ＩＣ間インタフェース１１１およびＩＣ間インタフェース１１２は、前段ＩＣからのデータを送受信するためのインタフェースであり、その中を流れるデータはパケット構造をしたデータである。前段ＩＣが後段ＩＣに対してデータを送る場合、図２に示される構造をしたパケットデータ形式で送信される。
【００２５】
パケット２００は、ＳＴＡＲＴ制御コード２０１、パケットヘッダ２０２、パケットペイロード２０３およびＥＮＤ制御コード２０４を含む。１つのパケットとして送信されるデータは、例えば、撮像素子１０１の１ラインのデータであったり、メモリデータ内の１つの連続データであったりする。ＳＴＡＲＴ制御コード２０１は、パケットの開始を後段の受信ＩＣに通知するための情報であり、パケットヘッダ２０２やパケットペイロード２０３の中には出現しない一意なデータパターンである必要がある。受信ＩＣは、受信データのＳＴＡＲＴ制御コード２０１を検出することにより、パケットの開始位置を判定する。
【００２６】
パケットヘッダ２０２は、データパケットに関する情報を格納している。受信ＩＣは、ＳＴＡＲＴ制御コード２０１受信直後のデータをパケットヘッダ部として認識し、パケット情報を取得する。パケットヘッダの２０２の構造の詳細は、後述する（図４参照）。受信ＩＣは、パケットヘッダ２０２の情報を元に、パケットデータの送信先を決定する。
【００２７】
パケットペイロード２０３は、送信ＩＣにより送られる有効データの中身である。具体的には、撮像素子１０１からのセンサデータであったり、第一のメモリ１０５、第二のメモリ１０６または第三のメモリ１０７からのメモリデータであったりする。また、パケットペイロード２０３は、ＩＣ間インタフェース１１１またはＩＣ間インタフェース１１２における、データ伝送エラーを訂正するためのエラー訂正用パリティ情報３０２を付加して送る。パケットペイロード２０３の構造の詳細は、後述する（図３参照）。
【００２８】
ＥＮＤ制御コード２０４は、パケットの終了位置を後段の受信ＩＣに通知するためのデータであり、パケットヘッダ２０２やパケットペイロード２０３の中には出現しない一意なデータパターンである必要がある。受信ＩＣは、受信データのＥＮＤ制御コード２０４を検出することにより、パケットの終了を判定する。
【００２９】
以上のように、送信ＩＣから受信ＩＣへのデータ送信は、パケット構造のかたちで送られる。送信されるデータは、第一のメモリ１０５、第二のメモリ１０６または第三のメモリ１０７が格納している連続メモリデータであったり、撮像素子１０１から送られてくるセンサデータであったりする。
【００３０】
次に、図３を参照し、パケットペイロード２０３の構造の一例を説明する。送信ＩＣから受信ＩＣへＩＣ間インタフェース１１１またはＩＣ間インタフェース１１２を介してデータを送信する場合、伝送経路のノイズ等により、所定の頻度でデータが正しく送信できない状況が発生する。このような伝送エラー状況が発生した場合であっても、受信側でエラー訂正が可能なように、送信データに対してエラー訂正用のパリティ情報を付加してデータ送信する。
【００３１】
パケットペイロード２０３は、送信ＩＣから受信ＩＣへ送信するための有効データであり、具体的には、撮像素子１０１からのセンサデータであったり、第一のメモリ１０５、第二のメモリ１０６または第三のメモリ１０７からのメモリデータであったりする。パケットペイロード２０３を所定のサイズ毎に区切って（データブロック３０１）、パリティ３０２を付加する。
【００３２】
パリティ３０２は、所定サイズに区切られたデータブロック３０１に対するエラー訂正用の付加情報であり、受信ＩＣはこのパリティ３０２を元に、データブロック３０１にエラーが発生したかどうかを判定して訂正を行う。エラー訂正アルゴリズムは、どのようなアルゴリズムを用いてもよい。
【００３３】
スタッフィング３０３は、パケットペイロード２０３のサイズがデータブロック３０１の整数倍のサイズにならない場合に、パリティ３０２を付加するためにデータサイズを所定の値にするために付加するデータである。通常、パリティ３０２には、全てのデータが０の値を入れる。データブロック３０１のサイズは、パリティ３０２を付加することにより、一定のサイズになる。
【００３４】
以上のように所定サイズ毎にデータを区切り、エラー訂正用のパリティ３０２を付加することにより、ＩＣ間インタフェース１１１またはＩＣ間インタフェース１１２の伝送路で通信エラーが発生した場合であっても、受信ＩＣでエラーを訂正できるようになる。また、パリティ３０２は、事前に定められたサイズのデータブロック３０１に対して、エラー訂正エンコード処理を行う必要がある。このため、パケットペイロード２０３のサイズが所定サイズの整数倍にならない場合は、スタッフィング３０３を付加して、所定サイズにしてからパリティ３０２を付加する。
【００３５】
次に、図４を参照し、パケットヘッダ２０２の構造の一例を説明する。パケットヘッダ２０２は、宛先情報４０１、データ種別４０２、エラー訂正情報４０３及びＣＲＣ４０４を含む。宛先情報４０１は、送信データパケットの宛先に関する情報を格納する。各ＩＣには、それぞれのＩＣを識別するための識別ＩＤが付加される。例えば、第一のＩＣ１０２には、ＩＤ０が設定され、第二のＩＣ１０３にはＩＤ１が設定され、第三のＩＣ１０４にはＩＤ２が設定される。データ送信時は、宛先情報４０１に受信すべきＩＣの識別ＩＤ情報が格納されている。
【００３６】
例えば、第一のＩＣ１０２から第三のＩＣ１０４へデータを送信する場合は、宛先情報４０１にＩＤ２を設定して送信する。第一のＩＣ１０２からデータを受信した第二のＩＣ１０３は、受信したデータパケットヘッダ２０２の宛先情報４０１が、自身の識別ＩＤと異なるので、受信データを第三のＩＣ１０４に転送する。第三のＩＣ１０４は、受信したデータパケットヘッダ２０２の宛先情報４０１が、自身の識別ＩＤと一致したので、自身宛てのパケットと判定して、データを受信する。
【００３７】
データ種別４０２は、データパケットのデータ内容を示すフィールドである。実施形態１では、撮像素子１０１からのセンサデータ、または、第一のメモリ１０５、第二のメモリ１０６または第三のメモリ１０７が格納しているメモリデータのどちらのデータであるかを示すために用いる。
【００３８】
エラー訂正情報４０３は、パケットペイロード２０３に施されるエラー訂正の仕様を示すフィールドである。具体的には、パリティ３０２のサイズと、パリティ３０２を付加する際のデータブロック３０１のサイズとに関する仕様を示す情報である。受信ＩＣは、エラー訂正情報４０３の情報を元に、パケットペイロード２０３に施されるエラー訂正パリティ３０２の位置およびサイズを検出する。ＣＲＣ４０４は、パケットヘッダ２０２のデータが正しく受信できたかどうかを判定するためのエラー検知用のフィールドである。受信ＩＣは、受信したＣＲＣ４０４の情報を元に、パケットヘッダ２０２のデータの正しさを判定する。
【００３９】
以上のように、受信ＩＣは、受信したパケット２００のパケットヘッダ２０２の情報を元に、パケットの送信先情報やエラー訂正に関する情報を取得し、正しくデータを転送することができる。
【００４０】
次に、図５を参照し、第一のＩＣ１０２、第二のＩＣ１０３および第三のＩＣ１０４の内部構成の一例を説明する。図５に示すブロック図は、第一のＩＣ１０２、第二のＩＣ１０３および第三のＩＣ１０４のいずれもが有する構成要素を示す。５００は、データ通信のリンク階層の処理を行うブロックであり、データ受信部５０２およびデータ送信部５１５は物理層の処理を行う。５０１は制御部であり、外部メモリが格納しているプログラムを元に各ブロックを制御する。
【００４１】
５０２はデータ受信部であり、センサ間通信インタフェース１１０、ＩＣ間インタフェース１１１またはＩＣ間インタフェース１１２を介して送られるデータを受信するための物理層である。データ通信のための電気的信号を１と０のデジタルデータに変換して、受信データ解析部５０３にデータを送る。５０３は受信データ解析部であり、データ受信部５０２から送られるデジタルデータを受信し、受信したデータを解析する。受信データ解析部５０３は、受信したデータからＳＴＡＲＴ制御コード２０１、パケットヘッダ２０２、パケットペイロード２０３およびＥＮＤ制御コード２０４を検出し、パケット構造を特定する。
【００４２】
受信データ解析部５０３は、解析したパケット情報を元に、第一のデータ経路制御部５０４に対して、データペイロード２０３を送ると共に、データ経路制御のための制御情報を通知する。具体的には、パケットヘッダ２０２のデータ種別４０２の情報を元に、受信データが撮像素子１０１からのセンサデータであるか、第一のメモリ１０５、第二のメモリ１０６または第三のメモリ１０７からのメモリデータであるかを判定して、第一のデータ経路制御部５０４に対して、経路制御のための情報を通知する。
【００４３】
また、受信データ解析部５０３は、宛先情報４０１の情報をもとに、受信データが自身のＩＣ宛てであるか、または、後段ＩＣ宛てであるかを判定し、判定結果（以下、宛先ＩＣ情報）を第一のデータ経路制御部５０４に通知する。この宛先ＩＣ情報は、第二のデータ経路制御部５０９および第三のデータ経路制御部５１０まで届けられ、経路選択のために使用される。
【００４４】
５０４は第一のデータ経路制御部であり、受信データ解析部５０３より送られる、経路選択のための制御情報およびパケットペイロード２０３を受信する。第一のデータ経路制御部５０４は、受信した経路選択のための制御情報を元に、パケットペイロード２０３の転送先を決定する。第一のデータ経路制御部５０４は、決定した転送先に従い、パケットペイロード２０３および宛先ＩＣ情報をセンサデータエラー訂正デコード処理部５０５またはメモリデータエラー訂正デコード処理部５０６に送る。
【００４５】
５０５はセンサデータエラー訂正デコード処理部であり、第一のデータ経路制御部５０４より受信したセンサデータの中に含まれるエラー訂正用パリティ３０２を元に、エラー訂正を行う。センサデータエラー訂正デコード処理部５０５は、エラー訂正後のペイロードデータをセンサデータ一時記憶部５０７に送る。また、センサデータエラー訂正デコード処理部５０５は、第一のデータ経路制御部より受信した宛先ＩＣ情報を、エラー訂正後のペイロードデータと共に、センサデータ一時記憶部５０７に送る。
【００４６】
５０６はメモリデータエラー訂正デコード処理部であり、第一のデータ経路制御部５０４より受信したメモリデータの中に含まれるエラー訂正用パリティ３０２を元に、エラー訂正を行う。メモリデータエラー訂正デコード処理部５０６は、エラー訂正後のペイロードデータをメモリデータ一時記憶部５０８に送る。また、メモリデータエラー訂正デコード処理部５０６は、第一のデータ経路制御部より受信した宛先ＩＣ情報を、エラー訂正後のペイロードデータと共に、メモリデータ一時記憶部５０８に送る。
【００４７】
５０７はセンサデータ一時記憶部であり、センサデータエラー訂正デコード処理部５０５より受信したエラー訂正後のペイロードデータを一次的に記憶するバッファの役割をする。また、センサデータ一時記憶部５０７は、センサデータエラー訂正デコード処理部５０５より受信した宛先ＩＣ情報を、エラー訂正後のペイロードデータと共に関連づけて記憶する。センサデータ一時記憶部５０７は、受信したエラー訂正後のペイロードデータを蓄えていき、所定量までたまったら、第二のデータ経路制御部５０９にデータを送信する。
【００４８】
５０８はメモリデータ一時記憶部であり、メモリデータエラー訂正デコード処理部５０６より受信したエラー訂正後のペイロードデータを一次的に記憶するバッファの役割をする。また、メモリデータ一時記憶部５０８は、メモリデータエラー訂正デコード処理部５０６より受信した宛先ＩＣ情報を、エラー訂正後のペイロードデータと共に関連づけて記憶する。メモリデータ一時記憶部５０８は、受信したエラー訂正後のペイロードデータを蓄えていき、所定量までたまったら、第三のデータ経路制御部５１０にデータを送信する。
【００４９】
また、メモリデータ一時記憶部５０８は、蓄えたデータが、所定の閾値以上に貯まった場合は、フロー制御部５１６に対して、フロー制御を要求するための通知を行う。５０９は第二のデータ経路制御部であり、センサデータ一時記憶部５０７より受信した宛先ＩＣ情報を元に、受信したエラー訂正後のペイロードデータを画像処理部５１１に転送するか、センサデータエラー訂正エンコード処理部５１２に転送するかを決定する。第二のデータ経路制御部５０９は、決定した転送先に応じて、エラー訂正後のペイロードデータを転送する。
【００５０】
５１０は第三のデータ経路制御部であり、メモリデータ一時記憶部５０８より受信した宛先ＩＣ情報を元に、受信したエラー訂正後のペイロードデータを外部メモリ制御部５１７に転送するか、メモリデータエラー訂正エンコード処理部５１３に転送するかを決定する。第三のデータ経路制御部５１０は、決定した転送先に応じて、エラー訂正後のペイロードデータを転送する。また、第三のデータ経路制御部５１０は、外部メモリ制御部５１７から外部メモリのデータを受信して、メモリデータエラー訂正エンコード処理部５１３に転送することもできる。
【００５１】
５１１は画像処理部であり、第二のデータ経路制御部５０９より受信したセンサデータを処理する。画像処理部５１１は、受信したデータを画像処理後、外部メモリ制御部５１７へ送り、外部メモリに記憶する。５１２はセンサデータエラー訂正エンコード処理部であり、第二のデータ経路制御部５０９より受信したエラー訂正後のペイロードデータを、後段ＩＣへデータ転送するために、エラー訂正パリティ３０２を付加する。センサデータエラー訂正エンコード処理部５１２は、エラー訂正パリティを付加後、アービトレーション制御部５１４へデータを送信する。
【００５２】
５１３はメモリデータエラー訂正エンコード処理部であり、第三のデータ経路制御部５１０より受信したエラー訂正後のペイロードデータを、後段ＩＣへデータ転送するために、エラー訂正パリティ３０２を付加する。メモリデータエラー訂正エンコード処理部５１３は、エラー訂正パリティを付加後、アービトレーション制御部５１４へデータを送信する。
【００５３】
５１４はアービトレーション制御部であり、センサデータエラー訂正エンコード処理部５１２およびメモリデータエラー訂正エンコード処理部５１３から受信するデータに、ＳＴＡＲＴ制御コード２０１、パケットヘッダ２０２およびＥＮＤ制御コード２０４を付加してパケット化を行い、データ送信部５１５に送る。また、アービトレーション制御部５１４は、センサデータエラー訂正エンコード処理部５１２およびメモリデータエラー訂正エンコード処理部５１３から同時に有効なデータを受信した場合は、センサデータを優先してデータ送信部へ送り、その間のメモリデータの送信は一時停止させる。
【００５４】
また、アービトレーション制御部５１４は、制御部５０１の指示で、データ送信部５１５に対して、トレーニング処理用のデータ列を生成して送信する機能も有する。５１５はデータ送信部であり、アービトレーション制御部５１４から受信した後段チップ送信用のデジタルデータを、ＩＣ間伝送するための電気的な信号に変換する物理層の処理を行う。５１６はフロー制御部であり、メモリデータ一時記憶部５０８からのフロー制御要求を元に、前段ＩＣに対してフロー制御要求の信号を出力する。
【００５５】
フロー制御部５１６は、メモリデータ一時記憶部５０８のバッファが閾値以上の量になった際に、メモリデータ一時記憶部５０８からフロー制御の要求を受け取る。フロー制御の要求を受け取ると、フロー制御部５１６は、前段ＩＣに対して、チップ間フロー制御信号１１３またはチップ間フロー制御信号１１４をＨｉｇｈにすることにより、メモリデータ送信の停止を要求する。５１７は外部メモリ制御部であり、外部に接続された第一のメモリ１０５または第二のメモリ１０６または第三のメモリ１０７に対してデータの読み書きを行うためのものである。
【００５６】
次に、図６を参照し、撮像素子１０１から第一のＩＣ１０２へのセンサデータ伝送処理の一例を説明する。電子機器１００に電源が投入され、第一のＩＣ１０２に電源投入されると、制御部５０１は、起動用プログラムを用いて起動する。制御部５０１は、ステップＳ６０１において各ブロックの初期化処理および初期設定処理を行う。初期設定の内容としては、自身のＩＤ情報の設定などである。
【００５７】
制御部５０１は、各ブロックの初期設定が終了すると、ステップＳ６０２において、通信インタフェースのトレーニング処理を行い、通信インタフェースを初期化する。具体的には、要求信号１１５を用いて、撮像素子１０１に対してトレーニング処理用のデータ送信を要求する。また、ＩＣ間インタフェース１１１を介して、第二のＩＣ１０３に対して、トレーニング処理用のデータ送信を行うように、アービトレーション制御部５１４に指示を出す。  通信インタフェースのトレーニング処理が完了すると、電子機器１００は通信準備が完了したことになり、センサデータおよびメモリデータの送受信が行える。
【００５８】
制御部５０１は、ユーザーからの要求等により、センサデータの送信要求が発生するまで待機する（ステップＳ６０３でＮＯ）。ユーザーからの要求等により、センサデータの送信要求が発生すると（ステップＳ６０３でＹＥＳ）、制御部５０１は、要求信号１１５を用いて、撮像素子１０１に対してセンサデータの送信要求を送る。
【００５９】
撮像素子１０１は、第一のＩＣ１０２からセンサデータ送信の要求を受けると、センサ間通信インタフェース１１０を介してセンサデータの送信をする（ステップＳ６０４）。第一のＩＣ１０２は、データ受信部５０２により、センサデータを受信して後段ブロックを用いて受信データを処理していく。受信データの処理の詳細は、後述する（図８参照）。撮像素子１０１は、第一のＩＣ１０２から要求されたデータを送信し終えると、送信完了して停止する（ステップＳ６０５）。
【００６０】
以上の処理を繰り返すことにより、撮像素子１０１は、第一のＩＣ１０２に対してセンサデータを送信する。
【００６１】
次に、図７を参照し、第一のメモリ１０５から第一のＩＣ１０２へのメモリデータ伝送処理の一例を説明する。
【００６２】
ステップＳ７０１は、ステップＳ６０１と同等なので、その説明を省略する。ステップＳ７０２は、ステップＳ６０２と同等なので、その説明を省略する。電子機器１００の通信準備が完了すると、制御部５０１は第三のデータ経路制御部５１０にデータ読込みの指示をする。指示を受けた第三のデータ経路制御部５１０は、外部メモリ制御部５１７に対してデータ読込みの要求を出す。要求を受けた外部メモリ制御部５１７は、第一のメモリ１０５からデータを取得し、取得したデータを第三のデータ経路制御部５１０に送信する（ステップＳ７０３）。
【００６３】
外部メモリ制御部５１７は、第一のメモリ１０５からデータ読込みを行っている最中に、第二のＩＣ１０３よりチップ間フロー制御信号１１３を介してフロー制御の要求を受けた場合は（ステップＳ７０４でＹＥＳ）、第一のメモリ１０５からのデータ読込み処理を中断する（ステップＳ７０５）。第一のメモリ１０５からのデータ読込み処理の中断は、チップ間フロー制御信号１１３がＬＯＷになるまで行う。
【００６４】
外部メモリ制御部５１７は、第一のメモリ１０５からデータ読込みを行っている最中に、第二のＩＣ１０３よりチップ間フロー制御信号１１３を介してフロー制御の要求を受けなかった場合は（ステップＳ７０４でＮＯ）、第一のメモリ１０５からのデータ読込み処理の中断を行わない。
【００６５】
次に、第三のデータ経路制御部５１０からメモリデータエラー訂正エンコード処理部５１３を通り、エラー訂正パリティ３０２を付加したデータは、アービトレーション制御部５１４へ送られる。アービトレーション制御部５１４は、メモリデータエラー訂正エンコード処理部５１３からのデータ送信要求を受けた最中に、センサデータエラー訂正エンコード処理部５１２からセンサデータ送信の要求を受けた場合は（ステップＳ７０６でＹＥＳ）、センサデータ送信を優先させ、メモリデータの送信を停止する（ステップＳ７０７）。
【００６６】
また、アービトレーション制御部５１４は、メモリデータエラー訂正エンコード処理部５１３からのメモリデータをデータ送信部５１５に送信中に、センサデータエラー訂正エンコード処理部５１２からセンサデータ送信の要求を受けた場合は、メモリデータ送信を一時終了させて、センサデータ送信を優先させる。この時、メモリデータ送信の終了は、エラー訂正パリティを付加した直後のデータ位置で終了するように制御する。すなわち、センサデータとメモリデータの送信切替えは、エラー訂正パリティ付加直後のデータ位置で行う。
【００６７】
第三のデータ経路制御部５１０は、制御部５０１より指定されたデータサイズ分のデータ送信を完了させるまで、ステップＳ７０４〜ステップＳ７０８を繰り返す。
【００６８】
次に、第三のデータ経路制御部５１０は、制御部５０１より指定されたデータサイズ分のデータ送信を完了させると（ステップＳ７０８でＹＥＳ）、制御部５０１に対して、データ送信完了通知を出す。データ送信完了通知を受けた制御部５０１は、レジスタのクリア等の所定の完了処理を行い、データ送信処理を完了させる（ステップＳ７０９）。
【００６９】
次に、図８を参照し、第一のＩＣ１０２から第二のＩＣ１０３へのデータ伝送処理の一例を説明する。図８は、図６を参照して説明したセンサデータ伝送処理によって送られたデータと、図７を参照して説明したメモリデータ伝送処理によって送られたデータとを受信するための処理の詳細である。
【００７０】
ステップＳ８０１は、ステップＳ６０１と同等なので、その説明を省略する。ステップＳ８０２は、ステップＳ６０２と同等なので、その説明を省略する。電子機器１００の通信準備が完了すると、第二のＩＣ１０３は、ＩＣ間インタフェース１１１を介して、第一のＩＣ１０２からセンサデータおよびメモリデータを受信する。データ受信部５０２が第一のＩＣ１０２からのデータを受信すると（ステップＳ８０３でＹＥＳ）、受信データ解析部５０３が受信データの解析を行う（ステップＳ８０４）。受信データの解析は、パケットヘッダ２０２の情報を元に行う。
【００７１】
受信したデータのデータ種別４０２がセンサデータであった場合は（ステップＳ８０５、センサデータ経路）、第一のデータ経路制御部５０４によりデータをセンサデータエラー訂正デコード処理部５０５に送る。センサデータエラー訂正デコード処理部５０５は、受信したデータの中からパリティ３０２を用いて、受信データのエラー訂正を行う（ステップＳ８０６）。センサデータエラー訂正デコード処理部５０５は、エラー訂正後、センサデータ一時記憶部５０７にデータを送る。
【００７２】
センサデータ一時記憶部５０７に所定量のデータがたまると、第二のデータ経路制御部５０９にデータは送られる。第二のデータ経路制御部５０９は、送られてきた宛先ＩＣ情報を元に、受信したエラー訂正後のペイロードデータを画像処理部５１１に転送するか、センサデータエラー訂正エンコード処理部５１２に転送するかを決定する。第二のデータ経路制御部５０９は、決定した転送先に応じて、エラー訂正後のペイロードデータを転送する（ステップＳ８０７）。
【００７３】
受信したエラー訂正後のペイロードデータが自身宛てだった場合は（ステップＳ８０７、自身宛て）、画像処理部５１１へデータを送信する（ステップＳ８０８）。画像処理部５１１は、受信したデータを処理後、外部メモリ制御部５１７へデータを送り、外部メモリである第二のメモリ１０６へデータを書き込む（ステップＳ８０９）。受信したエラー訂正後のペイロードデータが後段ＩＣ宛てだった場合は（ステップＳ８０７、後段ＩＣ）、センサデータエラー訂正エンコード処理部５１２へデータを送り、データにエラー訂正のためのパリティ３０２を付加する（ステップＳ８１０）。
【００７４】
パリティ３０２付加後、アービトレーション制御部５１４へデータを送る。アービトレーション制御部５１４がセンサデータエラー訂正エンコード処理部５１２よりデータ送信要求を受けた際、メモリデータエラー訂正エンコード処理部５１３からのメモリデータ転送中であった場合は（ステップＳ８１１でＹＥＳ）、メモリデータの送信が中断されるまでセンサデータ送信を待機する（ステップＳ８１２）。アービトレーション制御部５１４は、メモリデータの送信が中断されると、センサデータを送信する（ステップＳ８１３）。
【００７５】
アービトレーション制御部５１４がセンサデータエラー訂正エンコード処理部５１２よりデータ送信要求を受けた際、メモリデータエラー訂正エンコード処理部５１３からのメモリデータ転送中でなかった場合は（ステップＳ８１１でＮＯ）、ただちにセンサデータを送信する（ステップＳ８１３）。
【００７６】
以上の処理ステップＳ８０６〜ステップＳ８１３が、センサデータを受信した場合の受信処理になる。
【００７７】
次に、メモリデータを受信した場合の受信処理について説明する。受信したデータのデータ種別４０２がメモリデータであった場合は（ステップＳ８０５、メモリデータ経路）、第一のデータ経路制御部５０４によりデータをメモリデータエラー訂正デコード処理部５０６に送る。メモリデータエラー訂正デコード処理部５０６は、受信したデータの中からパリティ３０２情報を用いて、受信データのエラー訂正を行う（ステップＳ８１４）。メモリデータエラー訂正デコード処理部５０６は、エラー訂正後、メモリデータ一時記憶部５０８にデータを送る。
【００７８】
メモリデータ一時記憶部５０８に所定量のデータがたまると、第三のデータ経路制御部５１０にデータは送られる。第三のデータ経路制御部５１０は、送られてきた宛先ＩＣ情報を元に、受信したエラー訂正後のペイロードデータを外部メモリ制御部５１７に転送するか、メモリデータエラー訂正エンコード処理部５１３に転送するかを決定する。第三のデータ経路制御部５１０は、決定した転送先に応じて、エラー訂正後のペイロードデータを転送する（ステップＳ８１５）。
【００７９】
受信したエラー訂正後のペイロードデータが自身宛てだった場合は（ステップＳ８１５、自身宛て）、外部メモリ制御部５１７へデータを送信し、外部メモリである第二のメモリ１０６へデータを書き込む（ステップＳ８１６）。受信したエラー訂正後のペイロードデータが後段ＩＣ宛てだった場合は（ステップＳ８１５、後段ＩＣ）、メモリデータエラー訂正エンコード処理部５１３へデータを送り、データにエラー訂正のためのパリティ３０２を付加する（ステップＳ８１７）。
【００８０】
パリティ３０２付加後、アービトレーション制御部５１４へデータを送る。アービトレーション制御部５１４がメモリデータエラー訂正エンコード処理部５１３よりデータ送信要求を受けた際、センサデータエラー訂正エンコード処理部５１２からのセンサデータ転送中であった場合は（ステップＳ８１８でＹＥＳ）、センサデータの送信が完了するまでメモリデータ送信を待機する（ステップＳ８１９）。
【００８１】
アービトレーション制御部５１４でメモリデータ送信待機中に、メモリデータ一時記憶部５０８のデータ量が所定の閾値を超えると（ステップＳ８２０でＹＥＳ）、メモリデータ一時記憶部５０８はフロー制御部５１６にフロー制御通知を送信ＩＣに通知する旨の指示を出す。指示を受けたフロー制御部は、チップ間フロー制御信号１１３をＨｉｇｈの状態に出力することにより、送信ＩＣに対してメモリデータの送信の中断を要求する（ステップＳ８２１）。
【００８２】
以上ステップＳ８１８〜ステップＳ８２１の処理を、センサデータ送信が完了するまで繰り返すことにより、フロー制御を行い、バッファオーバーフローの発生を軽減する。
【００８３】
次に、アービトレーション制御部５１４がメモリデータエラー訂正エンコード処理部５１３よりデータ送信要求を受けた際、センサデータエラー訂正エンコード処理部５１２からのセンサデータ転送中でなかった場合は（ステップＳ８１８でＮＯ）、アービトレーション制御部５１４は、ただちにメモリデータをデータ送信部５１５に対して送信する。
【００８４】
以上のように、図８を参照し、第一のＩＣ１０２から第二のＩＣ１０３へのデータ伝送処理を説明したが、第二のＩＣ１０３から第三のＩＣ１０４へのデータ伝送処理も、第一のＩＣ１０２から第二のＩＣ１０３へのデータ伝送処理と同等に行うことができる。
【００８５】
以上により、撮像素子１０１からのセンサデータを、第一のメモリ１０５、第二のメモリ１０６または第三のメモリ１０７を介さずに後段ＩＣに転送すると共に、リアルタイム性のあるセンサデータを優先的に後段ＩＣに転送することにより、少ないバッファ量でオーバーフローすることなく通信が行える。また、第一のメモリ１０５、第二のメモリ１０６または第三のメモリ１０７からのメモリデータを後段ＩＣに送信する際、リアルタイム性のあるセンサデータが存在する場合は、フロー制御機能により、メモリデータだけを中断することが可能になり、メモリデータ用のバッファを少ない量で実装することができると共に、バッファオーバーフローの発生を軽減することができる。
【００８６】
［実施形態２］
実施形態１で説明した様々な機能、処理または方法は、パーソナルコンピュータ、マイクロコンピュータ、ＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、マイクロプロセッサなどがプログラムを用いて実現することもできる。以下、実施形態２では、パーソナルコンピュータ、マイクロコンピュータ、ＣＰＵ（ｃｅｎｔｒａｌ  ｐｒｏｃｅｓｓｉｎｇ  ｕｎｉｔ）、マイクロプロセッサなどを「コンピュータＸ」と呼ぶ。また、実施形態２では、コンピュータＸを制御するためのプログラムであって、実施形態１で説明した様々な機能、処理または方法を実現するためのプログラムを「プログラムＹ」と呼ぶ。
【００８７】
実施形態１で説明した様々な機能、処理または方法は、コンピュータＸがプログラムＹを実行することによって実現される。この場合において、プログラムＹは、コンピュータ読み取り可能な記憶媒体を介してコンピュータＸに供給される。実施形態２におけるコンピュータ読み取り可能な記憶媒体は、ハードディスク装置、磁気記憶装置、光記憶装置、光磁気記憶装置、メモリカード、揮発性メモリ、不揮発性メモリなどの少なくとも一つを含む。実施形態２におけるコンピュータ読み取り可能な記憶媒体は、ｎｏｎ−ｔｒａｎｓｉｔｏｒｙな記憶媒体である。
【符号の説明】
【００８８】
１００  電子機器
【図１】
2018085665.tif 000003
【図２】
2018085665.tif 000004
【図３】
2018085665.tif 000005
【図４】
2018085665.tif 000006
【図５】
2018085665.tif 000007
【図６】
2018085665.tif 000008
【図７】
2018085665.tif 000009
【図８】
2018085665.tif 000010