(57)【要約】【課題】データ中継の対象となる制御装置の処理負荷の増加を抑えつつ、一方の制御装置についての異常判定を行うことが可能なデータ中継装置を提供する。【解決手段】  図３におけるＦＰＧＡ１０がデータ中継装置に相当し、このＦＰＧＡ１０は車載用レーザセンサに搭載されている。このＦＰＧＡ１０における第一のＤＰＲＡＭ１３ａを介して、レーザ光の反射光の受光信号に基づき生成された距離データ等が、スレーブ制御部７０に提供される。また、スレーブ制御部７０にて距離データ等に基づき生成された演算データが、ＦＰＧＡ１０における第二のＤＰＲＡＭ１３ｂを介してマスタ制御部２０に提供される。ＦＰＧＡ１０は、所定のタイミングで、スレーブ制御部７０に対し距離データ等に替えてテストデータを提供し、このテストデータに基づき生成された演算データに基づき、スレーブ制御部７０についての異常判定を行う。【選択図】図３
2010115951.tif 000002
【特許請求の範囲】
【請求項１】
第一の制御装置に対し、当該第一の制御装置による所定の処理に用いられる処理用データを提供すると共に、当該第一の制御装置から前記所定の処理にて生成された生成データを受け取り、受け取った前記生成データを第二の制御装置に提供するデータ中継装置であって、
前記データ中継装置は、
前記第一の制御装置に対して前記処理用データを提供する処理用データ提供手段と、
前記第一の制御装置から前記生成データを受け取ると共に、受け取った前記生成データを前記第二の制御装置に提供するための転送手段と、
第一のテスト用データを前記処理用データとして前記第一の制御装置に提供する第一のテスト用データ提供手段と、
前記処理用データとして提供された前記第一のテスト用データを用いて行われた前記所定の処理にて生成された前記生成データを、前記転送手段が前記第一の制御装置から受け取ると、受け取った当該生成データに基づき、前記第一の制御装置についての異常判定を行う第一の判定手段と、
を備えることを特徴とするデータ中継装置。
【請求項２】
請求項１に記載のデータ中継装置において、
前記データ中継装置は、定期的なタイミングで、前記第一のテスト用データ提供手段に対し、前記第一のテスト用データを前記処理用データとして前記第一の制御装置に提供する旨の指示である提供指示を行う指示手段をさらに備え、
前記第一のテスト用データ提供手段は、前記指示手段から前記提供指示を受け付けると、前記第一のテスト用データを前記処理用データとして前記第一の制御装置に提供すること、
を特徴とするデータ中継装置。
【請求項３】
請求項１に記載のデータ中継装置において、
前記データ中継装置は、前記第二の制御装置からの指示に応じて、前記第一のテスト用データ提供手段に対し、前記第一のテスト用データを前記処理用データとして前記第一の制御装置に提供する旨の指示である提供指示を行う指示手段をさらに備え、
前記第一のテスト用データ提供手段は、前記指示手段から前記提供指示を受け付けると、前記第一のテスト用データを前記処理用データとして前記第一の制御装置に提供すること、
を特徴とするデータ中継装置。
【請求項４】
請求項１に記載のデータ中継装置において、
前記データ中継装置は、ユーザからの指示に応じて、前記第一のテスト用データ提供手段に対し、前記第一のテスト用データを前記処理用データとして前記第一の制御装置に提供する旨の指示である提供指示を行う指示手段をさらに備え、
前記第一のテスト用データ提供手段は、前記指示手段から前記提供指示を受け付けると、前記第一のテスト用データを前記処理用データとして前記第一の制御装置に提供すること、
を特徴とするデータ中継装置。
【請求項５】
請求項１から請求項４のいずれかに記載のデータ中継装置において、
前記データ中継装置は、前記第一のテスト用データを記憶している第一のテスト用データ記憶手段をさらに備え、
前記処理用データ提供手段は、一方のポートが前記第一の制御装置に接続されている第一のデュアルポートＲＡＭを有しており、前記第一のデュアルポートＲＡＭに記憶されている前記処理用データについて、前記第一の制御装置からの読み出しがなされることにより、前記第一の制御装置に対して前記処理用データを提供し、
前記転送手段は、一方のポートが前記第一の制御装置に接続され、他方のポートが前記第二の制御装置に接続されている第二のデュアルポートＲＡＭを有しており、前記第一の制御装置により前記第二のデュアルポートＲＡＭへの前記生成データの書き込みがなされることにより、前記第一の制御装置から前記生成データを受け取ると共に、前記第一の制御装置により前記第二のデュアルポートＲＡＭに書き込まれた前記生成データについて、前記第二の制御装置からの読み出しがなされることにより、前記第二の制御装置に対して前記生成データを提供し、
前記第一のテスト用データ提供手段は、前記第一の制御装置に対し、前記処理用データ提供手段が有する前記第一のデュアルポートＲＡＭに記憶されている前記処理用データに替えて、前記第一のテスト用データ記憶手段に記憶されている前記第一のテスト用データの読み出しをさせることにより、前記第一のテスト用データを前記処理用データとして前記第一の制御装置に提供すること、
を特徴とするデータ中継装置。
【請求項６】
請求項１から請求項４のいずれかに記載のデータ中継装置において、
前記データ中継装置は、前記第二の制御装置による前記データ中継装置に関しての異常判定に用いられるデータである第二のテスト用データを、前記転送手段が前記第一の制御装置から受け取った前記生成データとして前記第二の制御装置に提供する第二のテスト用データ提供手段をさらに備えること、
を特徴とするデータ中継装置。
【請求項７】
請求項５に記載のデータ中継装置において、
前記データ中継装置は、
前記第二の制御装置による前記データ中継装置に関しての異常判定に用いられるデータである第二のテスト用データを記憶している第二のテスト用データ記憶手段と、
前記第二の制御装置に対し、前記転送手段が有する前記第二のデュアルポートＲＡＭに記憶されている前記生成データに替えて、前記第二のテスト用データ記憶手段に記憶されている前記第二のテスト用データの読み出しをさせることにより、前記第二のテスト用データを、前記転送手段が前記第一の制御装置から受け取った前記生成データとして前記第二の制御装置に提供する第二のテスト用データ提供手段と、
をさらに備えること、
を特徴とするデータ中継装置。
【請求項８】
請求項５または請求項７に記載のデータ中継装置において、
前記データ中継装置は、前記処理用データ提供手段が有する前記第一のデュアルポートＲＡＭに新たな前記処理用データが記憶された後から、前記第一の制御装置により前記第一のデュアルポートＲＡＭに記憶されている前記処理用データの読み出しがなされるまでの間の時間に基づき、前記第一の制御装置についての異常判定を行う第二の判定手段をさらに備えること、
を特徴とするデータ中継装置。
【請求項９】
請求項５、請求項７、または、請求項８のいずれかに記載のデータ処理装置において、
前記データ中継装置は、前記第一の制御装置により、前記処理用データ提供手段が有する前記第一のデュアルポートＲＡＭに記憶されている前記処理用データの読み出しがなされた後から、前記第一の制御装置により、当該処理用データを用いて行われた前記所定の処理にて生成された前記生成データが、前記転送手段が有する前記第二のデュアルポートＲＡＭに書き込まれるまでの時間に基づき、前記第一の制御装置についての異常判定を行う第三の判定手段をさらに備えること、
を特徴とするデータ中継装置。
【請求項１０】
請求項１から請求項９のいずれかに記載のデータ中継装置において、
前記判定手段は、前記第一の制御装置についての異常判定の結果を、前記第二の制御装置に対して通知すること、
を特徴とするデータ中継装置。
【請求項１１】
請求項１から請求項１０のいずれかに記載のデータ中継装置において、
前記データ中継装置は、ＦＰＧＡにより実現される専用回路により構成されていること、
を特徴とするデータ中継装置。
【請求項１２】
請求項１から請求項１１のいずれかに記載のデータ中継装置と、請求項１から請求項１１のいずれかに記載の第一の制御装置と、請求項１から請求項１１のいずれかに記載の第二の制御装置とを有するデータ処理システム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、二つの制御装置間のデータの中継を行うデータ中継装置であって、一方の制御装置から受け取ったデータを、他方の制御装置に提供するデータ中継装置等に関する。
【背景技術】
【０００２】
車載用レーザセンサは、自車両周辺の領域に対してレーザ光のスキャンを行い、照射したレーザ光のピークと、このレーザ光の反射光のピークとの時間差から得られる距離データに基づく複雑な行列演算等を行うことにより、自車両周辺の物体の位置や形状等を検知する。この車載用レーザセンサにより自車両周辺の物体の位置や形状等を緻密に検知するためには、短い間隔でレーザ光のスキャンを行い、スキャンにより得られた大量の距離データに基づく複雑な行列演算等を行う必要があり、このような演算を行うための処理負荷は非常に大きなものとなる。そこで、車載用レーザセンサの全体を統括的に制御するＣＰＵ（以後、マスタＣＰＵとも記載）と、上記演算を行う高速な専用ＣＰＵ（以後、スレーブＣＰＵとも記載）とを設け、複数のＣＰＵにより車載用レーザセンサを制御するという構成が考えられる。
【０００３】
また、このような構成を有する場合には、例えば上記距離データを生成するための専用ＩＣ等からスレーブＣＰＵに対して大量の距離データ等を提供すると共に、スレーブＣＰＵにより生成された大量の演算結果データを、スレーブＣＰＵからマスタＣＰＵに送信する必要が生じる。そこで、例えば、ＤＰＲＡＭ（Dual Port Ram）を備えるＦＰＧＡ（Field Programmable Gate Array）をデータ中継装置として設け、このＤＰＲＡＭを介してＤＭＡ転送を行うことにより、スレーブＣＰＵへの距離データの提供や、スレーブＣＰＵからマスタＣＰＵへの演算結果データの送信を行っても良い。
【０００４】
ところで、このように処理負荷が非常に大きい行列演算等を行うスレーブＣＰＵには、マスタＣＰＵに比べて発熱量の多いＣＰＵが用いられることが多く、スレーブＣＰＵは、マスタＣＰＵに比べ発熱により暴走してしまう危険性が高い。特に、車両内部は温度環境が苛酷なものとなるおそれがあり、熱暴走が助長される危険性がある。したがって、スレーブＣＰＵの動作を監視する必要がある。ここで、特許文献１には、車載ユニットの異常を検知する装置が記載されている。この装置は、車載ユニットに対しテスト用データを送信すると共にこの車載ユニットからテスト用データに対する応答を受信し、受信した応答に基づき、この車載ユニットについての異常判定を行う。
【特許文献１】特開２００５−１９９９５１号公報
【発明の開示】
【発明が解決しようとする課題】
【０００５】
特許文献１に記載の発明を上述したマスタＣＰＵとスレーブＣＰＵとを有する車載用レーザセンサに適用し、マスタＣＰＵは、スレーブＣＰＵに対してテスト用データを送信し、テスト用データに対するスレーブＣＰＵの応答に基づき、スレーブＣＰＵの異常判定を行っても良い。しかしながら、このような構成を有することにより、マスタＣＰＵの処理負荷が増加してしまう。
【０００６】
本願発明は上記課題に鑑みてなされたものであり、例えば、上述した車載用レーザセンサに搭載されるデータ中継装置のように、ＣＰＵ等といった所定の制御装置に対してデータを提供すると共に、提供したデータに基づき当該制御装置にて生成された生成データを他の制御装置に転送する装置等に関する発明である。本願発明は、これらの制御装置の処理負荷の増加を抑えつつ、所定の制御装置の動作についての異常判定を行うことが可能なデータ中継装置等を提供することを目的とする。
【課題を解決するための手段】
【０００７】
上記課題を解決するためになされた請求項１に記載のデータ中継装置は、第一の制御装置に対し、当該第一の制御装置による所定の処理に用いられる処理用データを提供すると共に、当該第一の制御装置から所定の処理にて生成された生成データを受け取り、受け取った生成データを第二の制御装置に提供する。尚、制御装置とは、例えば、ＣＰＵや、ＣＰＵを有する制御回路であっても良いし、ＣＰＵを用いることなく所定の処理を行うための専用回路であっても良い。また、このデータ中継装置は、第一の制御装置に対して処理用データを提供する処理用データ提供手段と、第一の制御装置から生成データを受け取ると共に、受け取った生成データを第二の制御装置に提供するための転送手段と、第一のテスト用データを前記処理用データとして前記第一の制御装置に提供する第一のテスト用データ提供手段とを備える。また、このデータ中継装置は、処理用データとして提供された第一のテスト用データを用いて行われた所定の処理にて生成された生成データを、転送手段が第一の制御装置から受け取ると、受け取った当該生成データに基づき、第一の制御装置についての異常判定を行う第一の判定手段を備える。
【０００８】
つまり、データ中継装置は、第一の制御装置に対し、第一のテスト用データを処理用データとして提供するのである。第一のテスト用データを処理用データとして受け取った第一の制御装置では、第一のテスト用データに基づく所定の処理が行われ、生成データが生成される。そして、データ中継装置は、第一のテスト用データに基づく所定の処理にて生成された生成データを第一の制御装置から受け取り、受け取った生成データに基づき、第一の制御装置についての異常判定を行う。このとき、データ中継装置は、例えば、異常判定用データを予め記憶しておき、この異常判定データと、第一のテスト用データに基づき生成された生成データとを比較することにより、第一の制御装置についての異常判定を行っても良い。
【０００９】
このような構成を有することにより、第一の制御装置及び第二の制御装置にて異常判定のための専用処理を新たに設けることなく、第一の制御装置についての異常判定を行うことができる。また、第二の制御装置にて第一の制御装置についての異常判定処理を実行することなく、第一の制御装置についての異常判定を行うことができる。したがって、請求項１に記載のデータ中継装置は、第一の制御装置及び第二の制御装置の処理負荷の増加をできるだけ抑えつつ、第一の制御装置についての異常判定を行うことができる。
【００１０】
また、データ中継装置は、上述したようにして第一のテスト用データに基づき生成された生成データに基づき異常判定を行うことにより、第一の制御装置についての異常判定と同時に、自装置と第一の制御装置との間の通信状態についての異常判定も行うことができる。
【００１１】
また、データ中継装置は、次のようなタイミングで第一の制御装置に対して第一のテスト用データを提供しても良い。
【００１２】
すなわち、請求項２に記載されているように、データ中継装置は、定期的なタイミングで、第一のテスト用データ提供手段に対し、第一のテスト用データを処理用データとして第一の制御装置に提供する旨の指示である提供指示を行う指示手段をさらに備え、第一のテスト用データ提供手段は、指示手段から提供指示を受け付けると、第一のテスト用データを処理用データとして第一の制御装置に提供しても良い。
【００１３】
こうすることにより、データ中継装置は、所定の周期にて第一の制御装置についての異常判定を行うことができる。このため、第一の制御装置に異常が発生した後、最長でも上記所定の周期内の時間で、第一の制御装置の異常を確実に検知することが可能となる。
【００１４】
また、請求項３に記載されているように、指示手段は、第二の制御装置からの指示に応じて、第一のテスト用データ提供手段に対し、第一のテスト用データを処理用データとして第一の制御装置に提供する旨の指示である提供指示を行っても良い。
【００１５】
こうすることにより、第二の制御装置は、最適なタイミングを見計らって第一の制御装置についての異常判定を行うことが可能となる。
【００１６】
また、請求項４に記載されているように、指示手段は、ユーザからの指示に応じて、第一のテスト用データ提供手段に対し、第一のテスト用データを処理用データとして第一の制御装置に提供する旨の指示である提供指示を行っても良い。
【００１７】
こうすることにより、例えば、ユーザが第二の制御装置の動作に関しての異常を感じた際に、第二の制御装置に対しての異常判定を行うことが可能となる。したがって、データ中継装置の利便性を高めることができる。
【００１８】
また、データ中継装置は、デュアルポートＲＡＭを用いて、第一の制御装置へのデータの提供や、第一の制御装置から第二の制御装置へのデータの転送を行っても良い。
【００１９】
すなわち、請求項５に記載されているように、データ中継装置は、第一のテスト用データを記憶している第一のテスト用データ記憶手段をさらに備えていても良い。また、処理用データ提供手段は、一方のポートが第一の制御装置に接続されている第一のデュアルポートＲＡＭを有しており、第一のデュアルポートＲＡＭに記憶されている処理用データについて、第一の制御装置からの読み出しがなされることにより、第一の制御装置に対して処理用データを提供しても良い。そして、転送手段は、一方のポートが第一の制御装置に接続され、他方のポートが第二の制御装置に接続されている第二のデュアルポートＲＡＭを有しており、第一の制御装置により第二のデュアルポートＲＡＭへの生成データの書き込みがなされることにより、第一の制御装置から生成データを受け取ると共に、第一の制御装置により第二のデュアルポートＲＡＭに書き込まれた生成データについて、第二の制御装置からの読み出しがなされることにより、第二の制御装置に対して生成データを提供しても良い。さらに、第一のテスト用データ提供手段は、第一の制御装置に対し、処理用データ提供手段が有する第一のデュアルポートＲＡＭに記憶されている処理用データに替えて、第一のテスト用データ記憶手段に記憶されている第一のテスト用データの読み出しをさせることにより、第一のテスト用データを処理用データとして第一の制御装置に提供しても良い。
【００２０】
尚、第一の制御装置は、ＤＭＡ転送を行うことにより、第一のデュアルポートＲＡＭに記憶されている処理用データの読み出しや、第二のデュアルポートＲＡＭへの生成データの書き込みを行っても良い。また、第二の制御装置は、ＤＭＡ転送を行うことにより、第二のデュアルポートＲＡＭに書き込まれた生成データの読み出しを行っても良い。
【００２１】
こうすることにより、データ中継装置は、短時間で大量の処理用データを第一の制御装置に提供することや、第一の制御装置にて生成された生成データを、短時間で大量に第二の制御装置に転送することが可能となる。
【００２２】
また、データ中継装置は、第二の制御装置に対してもテスト用データを提供しても良い。
【００２３】
すなわち、請求項６に記載されているように、データ中継装置は、第二の制御装置によるデータ中継装置に関しての異常判定に用いられるデータである第二のテスト用データを、転送手段が第一の制御装置から受け取った生成データとして第二の制御装置に提供する第二のテスト用データ提供手段をさらに備えていても良い。
【００２４】
また、請求項７に記載されているように、データ中継装置は、第二の制御装置によるデータ中継装置に関しての異常判定に用いられるデータである第二のテスト用データを記憶している第二のテスト用データ記憶手段をさらに備えていても良い。また、データ中継装置は、第二の制御装置に対し、転送手段が有する第二のデュアルポートＲＡＭに記憶されている生成データに替えて、第二のテスト用データ記憶手段に記憶されている第二のテスト用データの読み出しをさせることにより、第二のテスト用データを、転送手段が第一の制御装置から受け取った生成データとして第二の制御装置に提供する第二のテスト用データ提供手段をさらに備えていても良い。
【００２５】
こうすることにより、第二の制御装置は、例えば、データ中継装置と第二の制御装置との間の通信状態についての異常判定を行うことができる。尚、第二の制御装置は、例えば、異常判定用データを第二の制御装置に接続されているＲＯＭ等に予め記憶しておき、この異常判定データと第二のテスト用データとを比較することにより、データ中継装置についての異常判定を行っても良い。
【００２６】
また、請求項５等に記載されているように、第一のデュアルポートＲＡＭにより第一の制御装置への処理用データの提供が行われる場合には、第一の制御装置に何らかの異常が生じ、第一のデュアルポートＲＡＭから処理用データの読み出しがなされないといった事態が生じるおそれがある。しかしながら、請求項５等に記載されているデータ中継装置は、このような異常を検知することができない。
【００２７】
そこで、請求項８に記載されているデータ中継装置は、処理用データ提供手段が有する第一のデュアルポートＲＡＭに新たな処理用データが記憶された後から、第一の制御装置により第一のデュアルポートＲＡＭに記憶されている処理用データの読み出しがなされるまでの間の時間に基づき、第一の制御装置についての異常判定を行う第二の判定手段をさらに備える。
【００２８】
こうすることにより、データ中継装置は、第一の制御装置により第一のデュアルポートＲＡＭに記憶されている処理用データの読み出しがなされない場合には、第一の制御装置に異常が生じたとみなすことができる。
【００２９】
また、請求項５等に記載されているように、第二のデュアルポートＲＡＭにより第一の制御装置から生成データを受け取る場合には、第一の制御装置に何らかの異常が生じ、第二のデュアルポートＲＡＭへの生成データの書き込みがなされないといった事態が生じるおそれがある。しかしながら、請求項５等に記載されているデータ中継装置は、このような異常を検知することができない。
【００３０】
そこで、請求項９に記載されているデータ中継装置は、第一の制御装置により、処理用データ提供手段が有する第一のデュアルポートＲＡＭに記憶されている処理用データの読み出しがなされた後から、第一の制御装置により、当該処理用データを用いて行われた所定の処理にて生成された生成データが、転送手段が有する第二のデュアルポートＲＡＭに書き込まれるまでの時間に基づき、第一の制御装置についての異常判定を行う第三の判定手段をさらに備える。
【００３１】
こうすることにより、データ中継装置は、第一の制御装置により第二のデュアルポートＲＡＭへの生成データの書き込みがなされない場合には、第一の制御装置に異常が生じたとみなすことができる。
【００３２】
また、データ中継装置は、第一の制御装置についての異常判定の結果を、第二の制御装置に通知しても良い。
【００３３】
すなわち、請求項１０に記載されているように、判定手段は、第一の制御装置についての異常判定の結果を、第二の制御装置に対して通知しても良い。
【００３４】
こうすることにより、第二の制御装置において、第一の制御装置にて生じた異常を検知することができる。
【００３５】
また、データ中継装置は、次のような構成を有していていも良い。
【００３６】
すなわち、請求項１１に記載されているように、データ中継装置は、ＦＰＧＡにより実現される専用回路により構成されていても良い。
【００３７】
このような構成を有することにより、データ中継装置の回路構成を容易に変更することが可能となり、データ中継装置を効率良く開発することが可能となる。
【００３８】
また、請求項１から請求項１１のいずれかに記載のデータ中継装置と、請求項１から請求項１１のいずれかに記載の第一の制御装置と、請求項１から請求項１１のいずれかに記載の第二の制御装置とを有するデータ処理システムとして市場に流通させても良い。データ中継装置と、第一の制御装置と、第二の制御装置とを、このようなデータ処理システムとして構成した場合であっても、上述した効果を奏する。
【発明を実施するための最良の形態】
【００３９】
以下、本発明の実施形態について図面を用いて説明する。尚、本発明の実施の形態は、下記の実施形態に何ら限定されることはなく、本発明の技術的範囲に属する限り種々の形態を採りうる。
【００４０】
［動作の概要について］
まず、本実施形態における車載用レーザセンサの動作の概要について、図１に記載されている説明図を用いて説明する。
【００４１】
図１の（ａ）には、車載用レーザセンサによるレーザの照射方向についての説明図が記載されている。車載用レーザセンサは、図１の（ａ）に記載されているように、自車両の左斜め前方の方向である左側限界方向１００から、自車両の右斜め前方の方向である右側限界方向１１０にかけて、所定の角度で方向をずらしながらレーザ光を照射する。そして、レーザの照射方向が右側限界方向１１０に到達すると、左側限界方向１００に照射方向を戻し、再度、右側限界方向１１０にかけてのレーザ光の照射を行う。
【００４２】
また、車載用レーザセンサは、レーザ光の方向を設定すると、所定のタイミングでレーザ光の強度をピークとする。そして、照射したレーザ光の強度がピークとなるタイミングと、当該レーザ光の反射光の強度がピークとなるタイミングの時間差であるピーク時間差に基づき、自車両と自車両前方の物体までの距離を検出する。図１の（ｂ）には、このピーク時間差についての説明図が記載されている。
【００４３】
自車両前方に物体が存在する場合には、車載用レーザセンサによりレーザ光が照射されると、この物体によりレーザ光が反射され、その反射光は車載用レーザセンサの受光回路により検知される。そして、受光回路は、検知した反射光を、その強度に応じた電気信号に変換して出力する。この受光回路から出力される電気信号は、図１の（ｂ）の説明図における受光信号であり、この受光信号には、自車両と反射物体との距離に応じたタイミングで反射ピークが出現する。そして、この反射ピークのタイミングと、照射したレーザ光のピークのタイミングの時間差に基づき、物体までの距離が算出される。
【００４４】
尚、レーザ光は光の一種であるので、光の速度をＣとすると、車載用レーザセンサから反射物体までの距離は、距離＝Ｃ×ピーク時間差／２で算出される（ピーク時間差は往復時間なので、片道の距離は２で割る）。このピーク時間差の計測と距離の算出は、ＦＰＧＡにおける距離計測処理部により実行される。レーザ光は、１ｎｓの時間で約１５ｃｍの距離を往復するため、１５ｃｍ以上の距離計測分解能を持つ車載用レーザセンサを得るためには、１ｎｓより短い時間分解能でピーク時間差を計測することが要求される。このため、ＦＰＧＡ等といった専用ＩＣにより、ピーク時間差の計測が行われる。
【００４５】
また、上述した方式とは別に、照射したレーザ光と反射光との位相差を使って距離を計測する方式もあるが、この方式では数ｍ程度の距離までしか計測できない。しかしながら、車載用のレーザセンサは、５０ｍ以上遠方の物体を検出することが要求される。このため、本実施形態における車載用レーザセンサでは、ピーク時間差に基づき距離を算出する方式が採用されている。
【００４６】
［構成の説明］
（１）車載用レーザセンサの構成について
図２は、車載用レーザセンサ１の構成を示すブロック図である。車載用レーザセンサ１は、ＦＰＧＡ１０，マスタ制御部２０，発光回路３０，発光スキャナ４０，受光回路５０，ＡＤ変換器６０，スレーブ制御部７０を有する。尚、ＦＰＧＡ１０と、マスタ制御部２０と、発光回路３０と、発光スキャナ４０と、受光回路５０と、ＡＤ変換器６０とは、同一の基板に搭載されている。また、スレーブ制御部７０は、ＦＰＧＡ１０等とは異なる基盤に搭載されており、スレーブ制御部７０とＦＰＧＡ１０とはケーブルにより接続されている。
【００４７】
ＦＰＧＡ１０は、上述したピーク時間差に基づき距離データを生成し、生成した距離データ等をスレーブ制御部７０に提供する部位である。また、ＦＰＧＡ１０は、スレーブ制御部７０によりこの距離データに基づき生成された演算データを、マスタ制御部２０に転送する部位である。尚、ＦＰＧＡ１０は、マスタ制御部２０とＡＤ変換器６０とに接続されている。
【００４８】
マスタ制御部２０は、車載用レーザセンサ１全体の制御を行う部位である。具体的には、マスタ制御部２０は、発光回路３０及び発光スキャナ４０の制御や、受光回路５０の制御を行う。また、ＦＰＧＡ１０を介してスレーブ制御部７０により生成された演算データを取得し、取得した演算データに基づく情報を外部に出力する。
【００４９】
発光回路３０は、図示しないレーザ発振器によりレーザ光を照射させる部位である。
【００５０】
発光スキャナ４０は、発光回路３０によるレーザ光の照射方向及び強度を制御し、図１の（ａ）に記載の説明図における左側限界方向１００から右側限界方向１１０にかけての範囲で、レーザ光のスキャンを行う部位である。具体的には、発光スキャナ４０は、発光回路３０に対し、左側限界方向１００から右側限界方向１１０にかけて、所定の角度で方向をずらしながらレーザ光を照射させる。そして、レーザの照射方向が右側限界方向１１０に到達すると、左側限界方向１００に照射方向を戻し、右側限界方向１１０にかけてのレーザ光の照射を再度行う。尚、発光スキャナ４０は、左側限界方向１００から右側限界方向１１０までのスキャンを１サイクルとし、自車両の運転中、当該サイクルを繰り返し行う。
【００５１】
受光回路５０は、レーザ光の反射光を受光し、この反射光に基づきアナログの電気信号である受光信号を生成する部位である。受光回路５０は、受光した反射光の強度に応じた電圧の受光信号を生成し、ＡＤ変換器６０に出力する。
【００５２】
ＡＤ変換器６０は、受光回路５０から受光信号を取得し、取得した受光信号に対してＡＤ変換を行う部位である。ＡＤ変換器６０は、ＡＤ変換により生成された受光信号のデジタルデータをＦＰＧＡ１０に出力する。
【００５３】
スレーブ制御部７０は、ＦＰＧＡ１０から取得した距離データに基づき、自車両前方の物体の位置や形状を特定するための演算を行う部位である。尚、これらの演算を行うための処理負荷は非常に大きなものであり、スレーブ制御部７０は、処理を高速化するため、マスタ制御部２０に比べて高速なクロックで動作する。スレーブ制御部７０は、演算により生成された演算データを、ＦＰＧＡ１０を介してマスタ制御部２０に転送する。
【００５４】
（２）ＦＰＧＡ１０の構成について
次に、ＦＰＧＡ１０の構成について、図３に記載のブロック図を用いて説明する。ＦＰＧＡ１０は、距離計測処理部１１，マスタ受信制御部１２，第一のＤＰＲＡＭ１３ａ，第二のＤＰＲＡＭ１３ｂ，タイムチェック部１４，スレーブ送信制御部１５ａ，スレーブ用テストデータ記憶部１５ｂ，スレーブ受信制御部１６ａ，スレーブ用判定データ記憶部１６ｂ，異常判定指示部１７，マスタ送信制御部１８ａ，マスタ用テストデータ記憶部１８ｂを有している。尚、マスタ受信制御部１２，マスタ送信制御部１８ａ，マスタ制御部２０のマスタＣＰＵ２１，ＲＡＭ２２，ＤＭＡ制御部２３は、マスタ制御部バスライン２４に接続されている。また、タイムチェック部１４，スレーブ送信制御部１５ａ，スレーブ受信制御部１６ａ，スレーブ制御部７０のスレーブＣＰＵ７１，第一のＲＡＭ７２，ＤＭＡ制御部７３，第二のＲＡＭ７４は、スレーブ制御部バスライン７５に接続されている。
【００５５】
距離計測処理部１１は、ＡＤ変換器６０から受光信号のデジタルデータを取得し、このデジタルデータに基づき距離データを生成して第一のＤＰＲＡＭ１３ａに書き込む部位である。
【００５６】
マスタ受信制御部１２は、第一のＤＰＲＡＭ１３ａへのデータの書込みについての制御を行う部位である。マスタ受信制御部１２は、距離計測処理部１１から受け取った距離データを第一のＤＰＲＡＭ１３ａに書込むと共に、マスタ制御部バスライン２４を介してマスタ制御部２０から受け取った演算パラメータを第一のＤＰＲＡＭ１３ａに書込む。
【００５７】
第一のＤＰＲＡＭ１３ａは、第一ポート１３ａ−１と第二ポート１３ａ−２との二つのポートを有し、各ポートからのデータの書込み及び読出しが可能な周知のデュアルポートＲＡＭである。第一のＤＰＲＡＭ１３ａの第一ポート１３ａ−１はマスタ受信制御部１２に接続されており、第二ポート１３ａ−２はスレーブ送信制御部１５ａに接続されている。
【００５８】
第二のＤＰＲＡＭ１３ｂは、第一ポート１３ｂ−１と第二ポート１３ｂ−２との二つのポートを有し、各ポートからのデータの書込み及び読出しが可能な周知のデュアルポートＲＡＭである。第二のＤＰＲＡＭ１３ｂの第一ポート１３ｂ−１はマスタ送信制御部１８ａに接続されており、第二ポート１３ｂ−２はスレーブ受信制御部１６ａに接続されている。
【００５９】
タイムチェック部１４は、スレーブ制御部７０により、ＤＰＲＡＭへのアクセスが正常になされているかを判定するための部位である。タイムチェック部１４は、マスタ受信制御部１２からのデータ送信準備完了通知信号に基づき、第一のＤＰＲＡＭ１３ａへの距離データ等の書込みが終了したタイミングを特定する。また、スレーブ制御部バスライン７５からの信号に基づき、スレーブ制御部７０によるＤＰＲＡＭへのアクセスを検知する。
【００６０】
スレーブ送信制御部１５ａは、第一のＤＰＲＡＭ１３ａからのデータの読出しについての制御を行う部位である。
【００６１】
スレーブ用テストデータ記憶部１５ｂは、スレーブ用テストデータを記憶している部位である。
【００６２】
スレーブ受信制御部１６ａは、第二のＤＰＲＡＭ１３ｂへのデータの書込みについての制御を行う部位である。
【００６３】
スレーブ用判定データ記憶部１６ｂは、スレーブ用判定データを記憶している部位である。
【００６４】
異常判定指示部１７は、所定のタイミングで、スレーブ送信制御部１５ａ，スレーブ受信制御部１６ａ，マスタ送信制御部１８ａに対し、スレーブ制御部７０についての異常判定を行う旨の指示を行う部位である。異常判定指示部１７は、例えば、所定の時間が経過する度に異常判定を行う旨の指示を行っても良いし、マスタ制御部２０からの指示に応じて、異常判定を行う旨の指示を行っても良い。また、例えば、異常判定指示部１７は、ユーザから車載用レーザセンサ１に対し所定の操作がなされたことを検知した場合に、異常判定を行う旨の指示を行っても良い。
【００６５】
マスタ送信制御部１８ａは、第二のＤＰＲＡＭ１３ｂからのデータの読出しについての制御を行う部位である。
【００６６】
マスタ用テストデータ記憶部１８ｂは、マスタ用テストデータを記憶している部位である。
【００６７】
（３）マスタ制御部２０の構成について
次に、マスタ制御部２０の構成について、図３に記載のブロック図を用いて説明する。マスタ制御部２０は、マスタＣＰＵ２１，ＲＡＭ２２，ＤＭＡ制御部２３を有している。これらの部位は、ＦＰＧＡ１０のマスタ受信制御部１２，マスタ送信制御部１８ａと、マスタ制御部バスライン２４により接続されている。
【００６８】
マスタＣＰＵ２１は、図示しないＲＯＭや、ＲＡＭ２２にロードされたプログラムに従い、マスタ制御部２０の制御や各種演算を行う部位である。
【００６９】
ＲＡＭ２２は、ＣＰＵ２１から直接アクセスされるメインメモリ等として利用される記憶装置である。このＲＡＭ２２には、ＯＳや各種アプリケーションなどのプログラムが読み込まれ、また、ＣＰＵ２１による各種演算の結果もＲＡＭ２２に記憶されるようになっている。
【００７０】
ＤＭＡ制御部２３は、ＲＡＭ２２と、ＦＰＧＡ１０の第一のＤＰＲＡＭ１３ａ及び第二のＤＰＲＡＭ１３ｂとの間のＤＭＡ転送を行う部位である。
【００７１】
（４）スレーブ制御部７０の構成について
次に、スレーブ制御部７０の構成について、図３に記載のブロック図を用いて説明する。スレーブ制御部７０は、スレーブＣＰＵ７１，第一のＲＡＭ７２，ＤＭＡ制御部７３，第二のＲＡＭ７４を有している。これらの部位は、ＦＰＧＡ１０のタイムチェック部１４，スレーブ送信制御部１５ａ，スレーブ受信制御部１６ａと、スレーブ制御部バスライン７５により接続されている。
【００７２】
スレーブＣＰＵ７１は、図示しないＲＯＭや、第一のＲＡＭ７２や第二のＲＡＭ７４にロードされたプログラムに従いスレーブ制御部７０の制御や各種演算を行う部位である。
【００７３】
第一のＲＡＭ７２及び第二のＲＡＭ７４は、ＣＰＵ７１から直接アクセスされるメインメモリ等として利用される記憶装置である。これらのＲＡＭには、ＯＳや各種アプリケーションなどのプログラムが読み込まれ、また、ＣＰＵ７１による各種演算の結果もこれらのＲＡＭに記憶されるようになっている。
【００７４】
ＤＭＡ制御部７３は、第一のＲＡＭ７２，第二のＲＡＭ７４と、ＦＰＧＡ１０の第一のＤＰＲＡＭ１３ａ，第二のＤＰＲＡＭ１３ｂとの間のＤＭＡ転送を行う部位である。
【００７５】
［動作の説明］
次に、車載用レーザセンサ１の動作について説明する。既に述べたように、車載用レーザセンサ１は、自車両の運転開始後、自車両前方へのレーザ光のスキャンを行い、反射光に基づき自車両前方に存在する物体の位置や形状等を検出する。この処理は、概略、次のようなステップで行われる。
（ａ）マスタ制御部２０により、レーザ光のスキャンが実施され、反射光の受光信号がＦＰＧＡ１０に入力される。
（ｂ）ＦＰＧＡ１０は、反射光の受光信号のピークに基づき距離データを生成し、生成した距離データ等をスレーブ制御部７０に提供する。ここで、ＦＰＧＡ１０は、所定のタイミングで、距離データ等に替えてスレーブ用テストデータを提供する。
（ｃ）スレーブ制御部７０は、距離データ等に基づき自車両前方に存在する物体の位置や形状等を特定するための演算を行い、この演算により生成された演算データをＦＰＧＡ１０に提供する。演算データを受け取ったＦＰＧＡ１０は、この演算データをマスタ制御部２０に提供する。ここで、ＦＰＧＡ１０は、スレーブ用テストデータに基づく演算データを受け取った場合には、このデータに基づきスレーブ制御部７０についての異常判定を行い、さらに、演算データに替えてマスタ用テストデータをマスタ制御部２０に提供する。
【００７６】
ここでは、上記処理を実現するためにマスタ制御部２０，スレーブ制御部７０，ＦＰＧＡ１０にて実行される処理について、それぞれ説明する。
【００７７】
尚、本実施形態では、車載用レーザセンサを例として挙げて、スレーブ制御部７０等といった制御装置についての異常判定を行う処理について説明を行う。しかし、本願発明は、車載用レーザセンサのみに適用可能なものではないことを念のため付言しておく。
【００７８】
（１）マスタ制御部２０にて実行される処理について
マスタ制御部２０では、上述した（ａ）〜（ｃ）の処理を実現するため、レーザ制御処理，ＤＭＡ割込み処理，タイムアウト割込み処理が実行される。
【００７９】
（１−１）レーザ制御処理、及びＤＭＡ割込み処理について
まず、図４に記載のフローチャートを用いてレーザ制御処理について説明する。尚、本処理は、自車両の運転が開始された際に開始される。また、本処理は、自車両の運転が終了した際に終了する。
【００８０】
Ｓ２０５では、マスタ制御部２０は、発光スキャナ４０や発光回路３０により、１サイクルのレーザ光のスキャンを実行させると共に、受光回路５０に、照射した各レーザ光の反射光を受光させる。尚、反射光を受光した受光回路５０は、ＡＤ変換器６０に対して受光信号を出力し、ＡＤ変換器６０は、受光信号をデジタルデータに変換してＦＰＧＡ１０における距離計測処理部１１に出力する。そして、距離計測処理部１１は、このデジタルデータに基づき距離データを生成し、生成した距離データを、マスタ受信制御部１２を介して第一ポート１３ａ−１から第一のＤＰＲＡＭ１３ａに書き込む。１サイクルのスキャンにより生成した全ての距離データの書込みが終了すると、距離計測処理部１１は、マスタ制御部２０に対し、距離データ書込み終了通知信号により、距離データの書込み終了を通知する。
【００８１】
続いてＳ２１０では、マスタ制御部２０は、距離計測処理部１１から距離データの書込み終了通知を受けたか否かを判定する。書込み終了通知を受けた場合には（Ｓ２１０：Ｙｅｓ）、マスタ制御部２０はＳ２１５に処理を移行し、書込み終了通知を受けていない場合には（Ｓ２１０：Ｎｏ）、再度、Ｓ２１０の処理を実行する。
【００８２】
Ｓ２１５では、マスタ制御部２０は、ＤＭＡ制御部２３により、ＲＡＭ２２に記憶されている演算パラメータについての第一のＤＰＲＡＭ１３ａへのＤＭＡ転送を開始する。具体的には、ＤＭＡ制御部２３は、マスタ受信制御部１２を介して第一ポート１３ａ−１から第一のＤＰＲＡＭ１３ａにアクセスし、ＲＡＭ２２に記憶されている演算パラメータの、第一のＤＰＲＡＭ１３ａへのＤＭＡ転送を行う。そして、Ｓ２２０に処理を移行する。
【００８３】
Ｓ２２０では、マスタ制御部２０は、ＤＭＡ転送終了フラグ（詳細については後述する）の状態に基づき、ＤＭＡ転送が終了したか否かを判定する。ＤＭＡ転送が終了した場合（Ｓ２２０：Ｙｅｓ）、マスタ制御部２０は、ＤＭＡ転送終了フラグをクリアしてＳ２２５に処理を移行する。また、ＤＭＡ転送が終了していない場合（Ｓ２２０：Ｎｏ）には、マスタ制御部２０は、再度、Ｓ２２０の処理を実行する。
【００８４】
Ｓ２２５では、マスタ制御部２０は、スレーブ制御部７０による距離データ等に基づく演算が終了し、演算データが第二のＤＰＲＡＭ１３ｂに書き込まれるまで待つ。具体的には、マスタ制御部２０は、２ビットの信号である読出し要求通知信号の状態が“１１”以外となった場合（Ｓ２２５：Ｎｏ）、演算データの第二のＤＰＲＡＭ１３ｂへの書込みが終了したと判定し、Ｓ２３０に処理を移行する。
【００８５】
Ｓ２３０では、マスタ制御部２０は、ＤＭＡ制御部２３により、第二のＤＰＲＡＭ１３ｂに記憶されている演算データについてのＲＡＭ２２へのＤＭＡ転送を開始する。具体的には、ＤＭＡ制御部２３は、マスタ送信制御部１８ａを介して第一ポート１３ｂ−１から第二のＤＰＲＡＭ１３ｂにアクセスし、第二のＤＰＲＡＭ１３ｂに記憶されている演算データのＤＭＡ転送を行う。
【００８６】
続いてＳ２３５では、マスタ制御部２０は、ＤＭＡ転送終了フラグの状態に基づき、ＤＭＡ転送が終了したか否かを判定する。ＤＭＡ転送が終了した場合（Ｓ２３５：Ｙｅｓ）、マスタ制御部２０は、ＤＭＡ転送終了フラグをクリアしてＳ２４０に処理を移行する。また、ＤＭＡ転送が終了していない場合（Ｓ２３５：Ｎｏ）には、マスタ制御部２０は、再度、Ｓ２３５の処理を実行する。
【００８７】
Ｓ２４０では、マスタ制御部２０は、読出し要求通知信号の状態をチェックし、この信号が“００”である場合（スレーブ制御部７０に対する異常判定が行われていない場合）には（Ｓ２４０：Ｙｅｓ）、Ｓ２４５に処理を移行する。この信号が“００”以外である場合（Ｓ２４０：Ｎｏ）、マスタ制御部２０は、Ｓ２５０に処理を移行する。
【００８８】
Ｓ２４５では、マスタ制御部２０は、演算データに基づき、自車両前方に存在する物体をユーザに報知する等といった処理を行う。そして、再度、レーザ光のスキャンや反射光の受光等を行うべく、Ｓ２０５に処理を移行する。
【００８９】
読出し要求通知信号の状態が“００”以外である場合に移行するＳ２５０では、マスタ制御部２０は、読出し要求通知信号の状態を再びチェックする。この信号が“０１”である場合（スレーブ制御部７０に対する異常判定が行われ、スレーブ制御部７０が正常と判定された場合）には（Ｓ２５０：Ｙｅｓ）、マスタ制御部２０はＳ２５５に処理を移行する。また、この信号が“０１”以外である場合（スレーブ制御部７０に対する異常判定が行われ、スレーブ制御部７０が異常と判定された場合）には（Ｓ２５０：Ｎｏ）、マスタ制御部２０は、Ｓ２６５に処理を移行する。
【００９０】
Ｓ２５５では、マスタ制御部２０は、図示しないＲＯＭに記憶されている判定用データと、ＲＡＭ２２に転送されたマスタ用テストデータとが一致するか否かチェックする。これらのデータが一致した場合、マスタ制御部２０とＦＰＧＡ１０との通信状態は正常であると判定し（Ｓ２６０：Ｙｅｓ）、Ｓ２８０に処理を移行する。また、これらのデータが一致しない場合（Ｓ２６０：Ｎｏ）、Ｓ２６５に処理を移行する。
【００９１】
Ｓ２６５では、マスタ制御部２０は、スレーブ制御部７０の動作や、スレーブ制御部７０，ＦＰＧＡ１０，マスタ制御部２０の間の通信状態についての異常発生回数を更新する。また、マスタ制御部２０は、時計機能等により現在の時刻を特定すると共に、図示しない温度センサによる現在の温度の特定等を実行し、現在の時刻や現在の温度等を、異常発生時の状況として図示しない記憶部に記憶する。
【００９２】
そして、Ｓ２７０では、マスタ制御部２０は、異常発生回数に基づき、自装置の停止条件が成立したか否かを判定する。具体的には、例えば、連続して所定の回数異常が検知された場合や、複数のサイクルにわたって連続して異常判定を行った場合において、所定の回数異常が検知された場合や、一定時間内に検知された異常が所定の回数に達した場合等には、停止条件が成立したとみなしても良い。停止条件が成立した場合（Ｓ２７０：Ｙｅｓ）、マスタ制御部２０は、Ｓ２７５に処理を移行する。停止条件が成立していない場合（Ｓ２７０：Ｎｏ）、マスタ制御部２０は、Ｓ２８０に処理を移行する。
【００９３】
Ｓ２７５では、マスタ制御部２０は、図示しない音声出力部等を介して異常発生をユーザに報知し、車載用レーザセンサ１を停止状態として本処理を終了する。尚、車載用レーザセンサ１は、停止状態となった後、例えば、自装置の電源の再投入や、図示しない再起動スイッチの操作等により自装置がリセットされた場合等には、自車両前方に存在する物体の位置や形状等を検出する処理を再開しても良い。
【００９４】
異常判定の結果が正常である場合や、停止条件が成立していない場合に移行するＳ２８０では、マスタ制御部２０は、異常判定実施時の代替処理を行う。具体的には、例えば、前回のサイクルにおける演算データに基づき、自車両前方に存在する物体をユーザに報知する等といった処理を行っても良い。そして、再度、レーザ光のスキャンや反射光の受光等を行うべく、Ｓ２０５に処理を移行する。
【００９５】
尚、マスタ制御部２０とＦＰＧＡ１０とは同一基板に搭載されており、マスタ制御部２０とＦＰＧＡ１０との間の通信に異常が生じる可能性は低いと考えられる。このため、マスタ制御部２０は、ＦＰＧＡ１０から取得したマスタテスト用データに基づく異常判定、つまり、Ｓ２５５及びＳ２６０の処理については必ずしも実行する必要はない。
【００９６】
（１−２）ＤＭＡ割込み処理について
次に、図５の（ａ）に記載のフローチャートを用いて、ＤＭＡ割込み処理について説明する。本処理はＤＭＡ制御部２３によるＤＭＡ転送が終了した際に開始される処理である。本処理が起動されると、マスタ制御部２０は、ＤＭＡ転送終了フラグをセットし（Ｓ３０５）、本処理を終了する。
【００９７】
（１−３）タイムアウト割込み処理について
次に、図５の（ｂ）に記載のフローチャートを用いてタイムアウト割込み処理について説明する。本処理は、スレーブ制御部７０により、ＦＰＧＡ１０の第一のＤＰＲＡＭ１３ａや第二のＤＰＲＡＭ１３ｂへのアクセスが行われない場合に起動される処理である。具体的には、ＦＰＧＡ１０のタイムチェック部１４からのタイムアウト通知信号の状態が“１”となった際に、割込み処理としてコールされる処理である。本処理が起動されると、マスタ制御部２０は、図示しない音声出力部等を介して異常発生をユーザに報知すると共に車載用レーザセンサ１を停止状態とし（Ｓ４０５）、本処理を終了する。
【００９８】
（２）スレーブ制御部７０にて行われる処理について
スレーブ制御部７０では、上述した（ａ）〜（ｃ）の処理を実現するため、演算処理，ＤＭＡ割込み処理が実行される。
【００９９】
（２−１）演算処理について
まず、図６に記載のフローチャートを用いて演算処理について説明する。尚、本処理は、自車両の運転が開始された際に開始される。また、本処理は、自車両の運転が終了した際に終了する。
【０１００】
Ｓ５０５では、スレーブ制御部７０は、第一のＤＰＲＡＭ１３ａへの距離データと演算パラメータの書込みが終了したか否かを判定する。具体的には、ＦＰＧＡ１０のマスタ受信制御部１２からのデータ送信準備終了通知信号の状態に基づき上記判定を行い、この信号の状態が“１”である場合には、距離データ等の書込みが終了したものと判定し、Ｓ５１０に処理を移行する。また、データ送信準備終了通知信号が“０”である場合には、スレーブ制御部７０は、再度、Ｓ５０５の処理を実行する。
【０１０１】
Ｓ５１０では、スレーブ制御部７０は、ＤＭＡ制御部７３により、第一のＤＰＲＡＭ１３ａに記憶されている距離データ及び演算パラメータについての、第二のＲＡＭ７４へのＤＭＡ転送を開始する。具体的には、ＤＭＡ制御部７３は、スレーブ送信制御部１５ａを介して第二ポート１３ａ−２から第一のＤＰＲＡＭ１３ａにアクセスし、第一のＤＰＲＡＭ１３ａに記憶されている距離データ等のＤＭＡ転送を行う。
【０１０２】
続いてＳ５１５では、スレーブ制御部７０は、ＤＭＡ転送終了フラグ（詳細については後述する）の状態に基づき、ＤＭＡ転送が終了したか否かを判定する。ＤＭＡ転送が終了した場合（Ｓ５１５：Ｙｅｓ）、スレーブ制御部７０は、ＤＭＡ転送終了フラグをクリアし、Ｓ５２０に処理を移行する。ＤＭＡ転送が終了していない場合（Ｓ５１５：Ｎｏ）、マスタ制御部２０は、再度、Ｓ５１５の処理を実行する。
【０１０３】
Ｓ５２０では、スレーブ制御部７０は、第二のＲＡＭ７４に書込まれた距離データと演算パラメータに基づき、自車両前方の物体の位置や形状等を特定するための演算を行う。尚、この演算により生成された演算データは、第一のＲＡＭ７２に記憶される。
【０１０４】
演算が終了すると、スレーブ制御部７０は、ＤＭＡ制御部７３により、第一のＲＡＭ７２に記憶されている演算データについての、第二のＤＰＲＡＭ１３ｂへのＤＭＡ転送を開始する（Ｓ５２５）。具体的には、ＤＭＡ制御部７３は、スレーブ受信制御部１６ａを介して第二ポート１３ｂ−２から第二のＤＰＲＡＭ１３ｂにアクセスし、第一のＲＡＭ７２に記憶されている演算データのＤＭＡ転送を行う。
【０１０５】
続いてＳ５３０では、スレーブ制御部７０は、ＤＭＡ転送終了フラグの状態に基づき、ＤＭＡ転送が終了したか否かを判定する。ＤＭＡ転送が終了した場合（Ｓ５３０：Ｙｅｓ）、スレーブ制御部７０は、ＤＭＡ転送終了フラグをクリアし、Ｓ５０５に処理を移行する。ＤＭＡ転送が終了していない場合（Ｓ５３０：Ｎｏ）、マスタ制御部２０は、再度、Ｓ５３０の処理を実行する。
【０１０６】
（２−２）ＤＭＡ割込み処理について
スレーブ制御部７０においても、マスタ制御部２０と同様のＤＭＡ割込み処理が実行される。本処理はＤＭＡ制御部７３によるＤＭＡ転送が終了した際に開始される処理である。本処理が起動されると、スレーブ制御部７０は、ＤＭＡ転送終了フラグをセットし、本処理を終了する。
【０１０７】
（３）ＦＰＧＡ１０にて行われる処理について
次に、上述した（ａ）〜（ｃ）の処理を実現するためにＦＰＧＡ１０にて行われる動作について、図３に記載のブロック図を用いて説明する。以下に説明する動作は、マスタ制御部２０によるレーザ制御処理、または、スレーブ制御部７０による演算処理におけるいずれかのステップに対応する動作である。
【０１０８】
（３−１）距離データ等を第一のＤＰＲＡＭ１３ａに書込む動作について
マスタ制御部２０によるレーザ制御処理におけるＳ２０５では、１サイクルのレーザ光のスキャンが行われるが、ＦＰＧＡ１０の距離計測処理部１１には、照射されたレーザ光の反射光が受光される度に、この反射光の受光信号のデジタルデータが入力される。そして、距離計測処理部１１は、受光信号のデジタルデータに基づき反射光がピークとなるタイミングを特定し、このタイミングに基づき距離データを生成する。そして、距離計測処理部１１は、生成した距離データを、マスタ受信制御部１２を介して第一ポート１３ａ−１から第一のＤＰＲＡＭ１３ａに書込む。
【０１０９】
また、１サイクルのスキャンについての距離データの生成が終了すると、距離計測処理部１１は、距離データ書込み完了通知信号を“１”とすることにより、マスタ制御部２０に対し距離データの生成が終了した旨を通知する。この通知を受け取ったマスタ制御部２０は、マスタ受信制御部１２を介して、第一のＤＰＲＡＭ１３ａへの演算パラメータのＤＭＡ転送を行う。マスタ受信制御部１２は、演算パラメータのＤＭＡ転送が終了すると、データ送信準備完了通知信号を“１”とすることにより、演算パラメータのＤＭＡ転送が終了した旨をタイムチェック部１４とスレーブ制御部７０とに通知する。尚、距離データ書込み完了通知信号やデータ送信準備完了通知信号は、所定の時間経過後に“０”に戻される。
【０１１０】
（３−２）距離データ等をスレーブ制御部７０に提供する動作について
スレーブ制御部７０による演算処理におけるＳ５１０では、第一のＤＰＲＡＭ１３ａに記憶されている距離データ等についての第二のＲＡＭ７４へのＤＭＡ転送が開始される。スレーブ制御部７０のＤＭＡ制御部７３は、スレーブ送信制御部１５ａを介して第二ポート１３ａ−２から第一のＤＰＲＡＭ１３ａにアクセスし、第一のＤＰＲＡＭ１３ａに記憶されている距離データ等のＤＭＡ転送を行う。
【０１１１】
ここで、スレーブ送信制御部１５ａは、異常判定指示部１７からスレーブ制御部７０についての異常判定を行う旨の指示を受け付けた場合には、ＤＭＡ制御部７３に対し、第一のＤＰＲＡＭ１３ａに替えてスレーブ用テストデータ記憶部１５ｂにアクセスさせ、スレーブ用テストデータのＤＭＡ転送を実行させる。
【０１１２】
（３−３）スレーブ制御部７０から演算データを取得する動作について
スレーブ制御部７０による演算処理におけるＳ５２５では、スレーブ制御部７０の第一のＲＡＭ７２に記憶されている演算データについての第二のＤＰＲＡＭ１３ｂへのＤＭＡ転送が開始される。スレーブ制御部７０のＤＭＡ制御部７３は、スレーブ受信制御部１６ａを介して第二ポート１３ｂ−２から第二のＤＰＲＡＭ１３ｂにアクセスし、第一のＲＡＭ７２に記憶されている演算データのＤＭＡ転送を行う。
【０１１３】
ここで、スレーブ受信制御部１６ａは、異常判定指示部１７からスレーブ制御部７０についての異常判定を行う旨の指示を受け付けた場合には、ＤＭＡ転送された演算データに基づく異常判定を行う。具体的には、スレーブ受信制御部１６ａは、ＤＭＡ転送により第二のＤＰＲＡＭ１３ｂに書込まれた演算データと、スレーブ用判定データ記憶部１６ｂに記憶されているスレーブ用判定データとが一致するか判定する。スレーブ受信制御部１６ａは、ＤＭＡ制御部７３により第二のＤＰＲＡＭ１３ｂに演算データが書込まれる度に、逐次、書込まれた演算データと、対応するスレーブ用判定データとの比較を行う。そして、これらのデータが全て一致する場合にはスレーブ制御部７０が正常であると判定し、そうでない場合にはスレーブ制御部７０が異常であると判定する。
【０１１４】
また、スレーブ受信制御部１６ａは、演算データのＤＭＡ転送や、スレーブ制御部７０についての異常判定が終了した場合には、マスタ送信制御部１８ａやマスタ制御部２０に対しての２ビットの信号である読み出し要求通知信号を、“１１”（読出し要求なし）から他の値に設定する。具体的には、異常判定の実施の有無や異常判定の結果に応じて、この信号を以下のように設定する。
・“００”…スレーブ制御部７０について異常判定がなされていない場合
・“０１”…スレーブ制御部７０について異常判定がなされ、判定結果が正常である場合
・“１０”…スレーブ制御部７０について異常判定がなされ、判定結果が異常である場合
尚、読み出し要求通知信号が設定された後、所定の時間が経過した際に、読み出し要求通知信号は再び“１１”に設定される。
【０１１５】
（３−４）演算データをマスタ制御部２０に提供する動作について
マスタ制御部２０によるレーザ制御処理におけるＳ２３０では、第二のＤＰＲＡＭ１３ｂに記憶されている演算データについての、マスタ制御部２０のＲＡＭ２２へのＤＭＡ転送が開始される。マスタ制御部２０のＤＭＡ制御部２３は、マスタ送信制御部１８ａを介して第一ポート１３ｂ−１から第二のＤＰＲＡＭ１３ｂにアクセスし、第二のＤＰＲＡＭ１３ｂに記憶されている演算データのＤＭＡ転送を行う。
【０１１６】
ここで、マスタ送信制御部１８ａは、異常判定指示部１７からスレーブ制御部７０についての異常判定を行う旨の指示を受け付け、なおかつ、読出し要求信号が“０１”である場合、マスタ制御部２０に対してマスタ用テストデータを提供する。このとき、マスタ送信制御部１８ａは、ＤＭＡ制御部２３に対し、第二のＤＰＲＡＭ１３ｂに替えてマスタ用テストデータ記憶部１８ｂにアクセスさせ、マスタ用テストデータのＤＭＡ転送を実行させる。
【０１１７】
尚、マスタ用テストデータとは、例えば、スレーブ用判定データと同一のデータであっても良い。このような場合であれば、ＦＰＧＡ１０はマスタ用テストデータ記憶部１８ｂを備えていなくても良く、マスタ送信制御部１８ａは、ＤＭＡ制御部２３に対し、スレーブ用判定データ記憶部１６ｂに記憶されているスレーブ用判定データのＤＭＡ転送を実行させても良い。
【０１１８】
（３−５）スレーブ制御部７０からＤＰＲＡＭへのアクセスの監視について
次に、スレーブ制御部７０による第一のＤＰＲＡＭ１３ａ及び第二のＤＰＲＡＭ１３ｂへのアクセスについての監視を行う動作について説明する。
【０１１９】
マスタ制御部２０によるレーザ制御処理におけるＳ２０５において行われたレーザ光のスキャンに基づく距離データや演算パラメータについて、第一のＤＰＲＡＭ１３ａへの書込みが終了すると、マスタ受信制御部１２は、データ送信準備完了通知信号を“１”とし、演算パラメータのＤＭＡ転送が終了した旨をタイムチェック部１４とスレーブ制御部７０とに通知する。この通知を受け取ったタイムチェック部１４はタイマを起動し、第一のＤＰＲＡＭ１３ａへの距離データ等の書込み終了後から、スレーブ制御部７０により、第一のＤＰＲＡＭ１３ａに記憶されている距離データ等のＤＭＡ転送が開始されるまでの時間を計測する。そして、所定時間を経過しても上記ＤＭＡ転送が開始されない場合には、スレーブ制御部７０に異常が発生したとみなし、マスタ制御部２０へのタイムアウト通知信号を“１”に設定する。
【０１２０】
また、スレーブ制御部７０による演算処理におけるＳ５１０では、第一のＤＰＲＡＭ１３ａに記憶されている距離データ等についての第二のＲＡＭ７４へのＤＭＡ転送が開始されるが、このＤＭＡ転送が開始されると、タイムチェック部１４はタイマを起動する。そして、スレーブ制御部７０より、第二のＤＰＲＡＭ１３ｂへの演算データのＤＭＡ転送が開始されるまでの時間を計測する。そして、所定時間が経過しても演算データについての第二のＤＰＲＡＭ１３ｂへのＤＭＡ転送が開始されない場合には、タイムチェック部１４は、スレーブ制御部７０に異常が発生したとみなし、マスタ制御部２０へのタイムアウト通知信号を“１”に設定する。
【０１２１】
タイムアウト通知信号が“１”に設定されると、マスタ制御部２０にてタイムアウト割込み処理が実行され、車載用レーザセンサ１が停止状態となる。
【０１２２】
［効果］
本実施形態における車載用レーザセンサ１は、自装置の全体を制御するマスタ制御部２０と、距離データ等に基づく演算を行うスレーブ制御部７０とを有している。そして、スレーブ制御部７０への距離データ等の提供や、スレーブ制御部７０からマスタ制御部２０への演算データの転送は、ＦＰＧＡ１０が有するＤＰＲＡＭを介して行われる。このため、マスタ制御部バスライン２４の形式とスレーブ制御部バスライン７５の形式が異なる場合や、これらのバスクロックが異なる場合であっても、短時間で大量のデータをやりとりすることができる。
【０１２３】
また、マスタ制御部２０，ＦＰＧＡ１０等は同一の基板に搭載されているが、ＦＰＧＡ１０等とスレーブ制御部７０はそれぞれ別の基板に搭載されており、ＦＰＧＡ１０とスレーブ制御部７０とは、ケーブルで接続されている。このため、ＦＰＧＡ１０とスレーブ制御部７０との間の通信は、ＦＰＧＡ１０とマスタ制御部２０との間の通信に比べ、ノイズの影響を受けやすいと考えられる。ここで、ＦＰＧＡ１０とスレーブ制御部７０との間の通信状態をチェックする方法として、パリティビットやチェックサムを用いる方法が考えられるが、このような方法では、通信状態のチェックのみしか行うことができない。
【０１２４】
また、スレーブ制御部７０は、マスタ制御部２０に比べて高速なクロックで動作しており、マスタ制御部２０に比べて発熱により暴走してしまう危険性が高く、スレーブ制御部７０の動作について監視を行う必要がある。
【０１２５】
そこで、ＦＰＧＡ１０は、定期的なタイミングで、距離データ等に替えて、スレーブ用テストデータをスレーブ制御部７０に提供する。スレーブ用テストデータを受け取ったスレーブ制御部７０は、距離データ等を受け取った場合と同様の処理を行い、演算データを第二のＤＰＲＡＭ１３ｂに書込む。そして、ＦＰＧＡ１０は、スレーブ制御部７０によりスレーブ用テストデータに基づき生成された演算データにより、スレーブ制御部７０についての異常判定を行う。
【０１２６】
こうすることにより、マスタ制御部２０及びスレーブ制御部７０にて異常判定のための専用処理を新たに設けることなく、スレーブ制御部７０についての異常判定を行うことができる。また、マスタ制御部２０にて、スレーブ制御部７０についての異常判定処理を行うことなく、スレーブ制御部７０について異常判定を行うことができる。したがって、本実施形態の車載用レーザセンサ１によれば、マスタ制御部２０及びスレーブ制御部７０の処理負荷の増加をできるだけ抑えつつ、スレーブ制御部７０についての異常判定を行うことができる。また、ＦＰＧＡ１０は、スレーブ用テストデータに基づき生成された演算データによる異常判定を行うことにより、スレーブ制御部７０についての異常判定のみならず、ＦＰＧＡ１０とスレーブ制御部７０との間の通信状態についての異常判定も行うことができる。
【０１２７】
ここで、異常判定の際にスレーブ制御部７０により生成された演算データは、距離計測処理部１１により生成された距離データ等に基づき生成されたものではなく、この演算データはマスタ制御部２０にとって不要である。そこで、ＦＰＧＡ１０は、スレーブ制御部７０についての異常判定の結果が正常であった場合には、マスタ制御部２０に対して、上記演算データに替えてマスタ用テストデータを提供する。そして、マスタ制御部２０は、受け取ったマスタ用テストデータと判定用データとを比較することにより、マスタ制御部２０とＦＰＧＡ１０との間の通信状態について異常判定を行う。こうすることにより、マスタ制御部２０は、ＦＰＧＡ１０との間の通信の異常を検知することができる。
【０１２８】
また、何らかの異常により、スレーブ制御部７０からＦＰＧＡ１０のＤＰＲＡＭへのアクセスがなされないということが想定されるが、このような異常が生じても、上述した方法では検知することができない。
【０１２９】
そこで、ＦＰＧＡ１０は、第一のＤＰＲＡＭ１３ａへの距離データ等の書込み終了後から、スレーブ制御部７０による第一のＤＰＲＡＭ１３ａに記憶されている距離データ等のＤＭＡ転送が開始されるまでの時間を計測する。また、スレーブ制御部７０より、第一のＤＰＲＡＭ１３ａに記憶されている距離データ等についてのＤＭＡ転送が開始された後から、第二のＤＰＲＡＭ１３ｂへの演算データのＤＭＡ転送が開始されるまでの時間を計測する。そして、これらの時間が所定時間を越える場合には、スレーブ制御部７０に異常が発生したものと判定する。
【０１３０】
こうすることにより、スレーブ制御部７０によりＦＰＧＡ１０のＤＰＲＡＭへのアクセスがなされないという異常を検知することができる。
【０１３１】
［他の実施形態］
（１）本実施形態における車載用レーザセンサ１は、回路構成を変更可能なＦＰＧＡ１０により、スレーブ制御部７０への距離データ等の提供や、スレーブ制御部７０からマスタ制御部２０への演算データの転送等を行っている。しかし、回路構成を変更することができないゲートアレイ等に本実施形態におけるＦＰＧＡ１０と同様の構成を備えさせ、ＦＰＧＡ１０に替えて上記ゲートアレイを車載用レーザセンサ１に搭載しても良い。このような構成を有する場合であっても、マスタ制御部２０及びスレーブ制御部７０の処理負荷の増加を抑えつつ、スレーブ制御部７０についての異常判定を行うことができる。
【０１３２】
（２）本実施形態では、ＦＰＧＡ１０が備えるＤＰＲＡＭを介して、スレーブ制御部７０への距離データ等の提供や、スレーブ制御部７０からマスタ制御部２０へのデータの転送等が行われる。しかし、ＦＰＧＡ１０は、例えばシリアル通信等により、スレーブ制御部７０への距離データの提供や、スレーブ制御部７０からマスタ制御部２０へのデータの転送を行っても良い。シリアル通信等によりデータの提供等を行う場合であっても、本実施形態と同様の構成を有することにより、マスタ制御部２０及びスレーブ制御部７０の処理負荷の増加を抑えつつ、スレーブ制御部７０についての異常判定を行うことができる。
【０１３３】
（３）本実施形態におけるスレーブ制御部７０では、スレーブＣＰＵ７１により、距離データ等に基づき自車両前方に存在する物体の位置や形状等を特定するための演算が実行される。しかし、スレーブ制御部７０は、専用回路により上記演算が実行されるという構成を有していても良い。このような場合であっても、同様の効果を得ることができる。
【０１３４】
［特許請求の範囲との対応］
上記実施形態の説明で用いた用語と、特許請求の範囲の記載に用いた用語との対応を示す。
【０１３５】
ＦＰＧＡ１０がデータ中継装置に、スレーブ制御部７０が第一の制御装置に、マスタ制御部２０が第二の制御装置にそれぞれ相当する。また、車載用レーザセンサ１がデータ処理システムに相当する。また、演算処理が所定の処理に、距離データ及び演算パラメータが処理用データに、演算データが生成データに、スレーブ用テストデータが第一のテスト用データに、マスタ用テストデータが第二のテスト用データにそれぞれ相当する。
【０１３６】
第一のＤＰＲＡＭ１３ａ及びスレーブ送信制御部１５ａが処理用データ提供手段に相当し、第一のＤＰＲＡＭ１３ａが第一のデュアルポートＲＡＭに相当する。また、第二のＤＰＲＡＭ１３ｂ、スレーブ受信制御部１６ａ、及びマスタ送信制御部１８ａが転送手段に相当し、第二のＤＰＲＡＭ１３ｂが第二のデュアルポートＲＡＭに相当する。
【０１３７】
また、スレーブ送信制御部１５ａが第一のテスト用データ提供手段に、スレーブ用テストデータ記憶部１５ｂが第一のテスト用データ記憶手段に、マスタ送信制御部１８ａが第二のテスト用データ提供手段に、マスタ用テストデータ記憶部１８ｂが第二のテスト用データ記憶手段にそれぞれ相当する。また、スレーブ受信制御部１６ａが第一の判定手段に相当し、タイムチェック部１４が第二の判定手段，第三の判定手段にそれぞれ相当する。また、異常判定指示部１７が指示手段に、異常判定指示部１７によりなされる指示が提供指示にそれぞれ相当する。
【図面の簡単な説明】
【０１３８】
【図１】レーザの照射方向やピーク時間差について説明するための説明図である。
【図２】車載用レーザセンサの構成についてのブロック図である。
【図３】ＦＰＧＡ等の構成についてのブロック図である。
【図４】レーザ制御処理についてのフローチャートである。
【図５】ＤＭＡ割込み処理、タイムアウト割込み処理についてのフローチャートである。
【図６】演算処理についてのフローチャートである。
【符号の説明】
【０１３９】
１…車載用レーザセンサ、１０…ＦＰＧＡ、１１…距離計測処理部、１２…マスタ受信制御部、１３ａ…第一のＤＰＲＡＭ、１３ａ−１…第一ポート、１３ａ−２…第二ポート、１３ｂ…第二のＤＰＲＡＭ、１３ｂ−１…第一ポート、１３ｂ−２…第二ポート、１４…タイムチェック部、１５ａ…スレーブ送信制御部、１５ｂ…スレーブ用テストデータ記憶部、１６ａ…スレーブ受信制御部、１６ｂ…スレーブ用判定データ記憶部、１７…異常判定指示部、１８ａ…マスタ送信制御部、１８ｂ…マスタ用テストデータ記憶部、２０…マスタ制御部、２１…マスタＣＰＵ、２２…ＲＡＭ、２３…ＤＭＡ制御部、２４…マスタ制御部バスライン、３０…発光回路、４０…発光スキャナ、５０…受光回路、６０…ＡＤ変換器、７０…スレーブ制御部、７１…スレーブＣＰＵ、７２…第一のＲＡＭ、７３…ＤＭＡ制御部、７４…第二のＲＡＭ、７５…スレーブ制御部バスライン。
【図１】
2010115951.tif 000003
【図２】
2010115951.tif 000004
【図３】
2010115951.tif 000005
【図４】
2010115951.tif 000006
【図５】
2010115951.tif 000007
【図６】
2010115951.tif 000008