(57)【要約】【課題】  複数の処理デバイスの間でデータや制御コマンドを通信する際に、回路規模の増加を防ぎ、設計の自由度を確保する。【解決手段】  パラレルバスに接続された第１のデバイスと、前記パラレルバスに接続された第２のデバイスと、前シリアルバスを介して記第２のデバイスと接続された第３のデバイスとを備え、前記第１のデバイスは、前記第２のデバイスへの第１のコマンドと、前記第３のデバイスへの第２のコマンドとを、前記パラレルバスを介して前記第２のデバイスに送信し、前記第２のデバイスは、前記パラレルバスを介して前記第１のデバイスより受信した前記第１のコマンドに応じた処理を行うと共に、前記パラレルバスを介して前記第１のデバイスから前記第２のコマンドを受信した場合、前記シリアルバスを介して前記第２のコマンドを前記第３のデバイスに送信する。【選択図】  図１
2013218582.tif 000002
【特許請求の範囲】
【請求項１】
パラレルバスに接続された第１のデバイスと、
前記パラレルバスに接続された第２のデバイスと、
シリアルバスを介して前記第２のデバイスと接続された第３のデバイスとを備え、
前記第１のデバイスは、前記第２のデバイスへの第１のコマンドと、前記第３のデバイスへの第２のコマンドとを、前記パラレルバスを介して前記第２のデバイスに送信し、
前記第２のデバイスは、前記パラレルバスを介して前記第１のデバイスより受信した前記第１のコマンドに応じた処理を行うと共に、前記パラレルバスを介して前記第１のデバイスから前記第２のコマンドを受信した場合、前記シリアルバスを介して前記第２のコマンドを前記第３のデバイスに送信することを特徴とする信号処理装置。
【請求項２】
前記第１のデバイスは、アドレス信号と共にコマンドを送信し、前記第２のデバイスは、前記第１のデバイスから受信したアドレス信号の値に基づいて、前記第１のコマンドと前記第２のコマンドを検出することを特徴とする請求項１に記載の信号処理装置。
【請求項３】
前記第２のデバイスは、前記パラレルバスを介して前記第１のデバイスより受信した前記第２のコマンドを、前記シリアルバスにより送信するためのフォーマットに変換して前記第３のデバイスに送信することを特徴とする請求項１または２に記載の信号処理装置。
【請求項４】
前記第２のデバイスは、前記前記パラレルバスを介して前記第１のデバイスより受信した前記第２のコマンドが、前記第３のデバイスからの応答を要求するコマンドであった場合、前記第２のデバイスは、前記第３のデバイスからの応答を受信するまで前記パラレルバスの使用権を占有することを特徴とする請求項１から３の何れか１項に記載の信号処理装置。
【請求項５】
前記第２のデバイスは、前記シリアルバスを介して前記第３のデバイスから受信した前記応答を、前記パラレルバスを介して前記第１のデバイスに送信することを特徴とする請求項４に記載の信号処理装置。
【請求項６】
前記第１のデバイスは、前記制御コマンドを生成するＣＰＵを有することを特徴とする請求項１から５の何れか１項に記載の信号処理装置。
【請求項７】
前記第１のデバイス、前記第２のデバイス、及び、前記第３のデバイスはそれぞれ、一つのＬＳＩとして構成されることを特徴とする請求項１から６の何れか１項に記載の信号処理装置。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は信号処理装置に関し、特に、複数のデバイスの間での制御信号の通信に関する。
【背景技術】
【０００２】
複数のＬＳＩなどの処理回路の間で、画像データや制御コマンドを通信する際、パラレルバスインターフェイスや、シリアルバスインターフェイスが使われる（例えば、特許文献１参照）。例えば、マスタデバイスがパラレルバスインターフェイスを介して複数のスレーブデバイスを制御する。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００６−１３３９２４号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかしながら、マスタデバイスとスレーブデバイスの間の距離が遠い場合、パラレルバスにより接続すると、信号線の増加により基板設計が困難となり、また、信号線の間のスキュー管理が困難になるという問題がある。
【０００５】
そこで、距離が遠いデバイスの間ではシリアルバスによる通信を行うことも考えられるが、この場合、マスタデバイスが、パラレルバスインターフェイスとシリアルバスインターフェイスを両方備える必要がある。そのため、マスタデバイスの回路規模が増大し、また、設計の自由度が減少するという問題があった。
【０００６】
本発明は前述の問題点に鑑み、複数の処理デバイスの間でデータや制御コマンドを通信する際に、回路規模の増加を防ぎ、設計の自由度を確保することを目的としている。
【課題を解決するための手段】
【０００７】
本発明においては、パラレルバスに接続された第１のデバイスと、前記パラレルバスに接続された第２のデバイスと、前シリアルバスを介して記第２のデバイスと接続された第３のデバイスとを備え、前記第１のデバイスは、前記第２のデバイスへの第１のコマンドと、前記第３のデバイスへの第２のコマンドとを、前記パラレルバスを介して前記第２のデバイスに送信し、前記第２のデバイスは、前記パラレルバスを介して前記第１のデバイスより受信した前記第１のコマンドに応じた処理を行うと共に、前記パラレルバスを介して前記第１のデバイスから前記第２のコマンドを受信した場合、前記シリアルバスを介して前記第２のコマンドを前記第３のデバイスに送信する。
【発明の効果】
【０００８】
本発明によれば、複数の処理デバイスの間でデータや制御コマンドを通信する際に、回路規模の増加を防ぎ、設計の自由度を確保することができる。
【図面の簡単な説明】
【０００９】
【図１】本発明の実施形態に係る信号処理装置の構成を示すブロック図である。
【図２】スレーブデバイスにおけるアドレス空間を示す図である。
【図３】シリアルバスにより送信されるデータのフォーマットを示す図である。
【図４】リードアクセスコマンド送信時のタイミングチャートである。
【図５】シリアルバスにより送信されるデータのフォーマットを示す図である。
【図６】本発明の実施形態に係る撮像装置の構成を示す図である。
【発明を実施するための形態】
【００１０】
以下、本発明の実施形態について図面を参照しながら説明する。図１は、本発明の実施形態に係る信号処理装置１００の構成例を示すブロック図である。
【００１１】
図１において、マスタデバイス（第１のデバイス）１０１は、複数のスレーブデバイス１０２、１０３、１０４を制御する。マスタデバイス１０１、及び、各スレーブデバイス１０２、１０３、１０４はそれぞれ、決められた処理を行う。例えば、マスタデバイス１０１及びスレーブデバイス１０２−１０４はそれぞれ一つのＬＳＩ（集積回路：ＩＣ）であり、画像信号や音声信号などの情報信号に対して決められた処理を施す。マスタデバイス１０１はパラレルバス１０５と接続し、パラレスバス１０５を介して各スレーブデバイスとの間で通信を行うパラレルＩＦ１０１ａを有する。また、マスタデバイス１０１は、各スレーブデバイスに送信する制御コマンドを発行することにより制御するためのＣＰＵ１０１ｂを備える。パラレルＩＦ１０１ａは、制御対象のスレーブデバイスを選択するためのチップセレクト信号線、２３ビットのアドレス信号線、１６ビットのデータ（制御コマンド）線、レディ信号線を有する。
【００１２】
スレーブデバイス１０２は、パラレルバス１０５と接続し、パラレスバス１０５を介してマスタデバイス１０１との間で通信を行うパラレルＩＦ１０２ａを有する。パラレルＩＦ１０２ａは、チップセレクト信号線、２３ビットのアドレス信号線、１６ビットのデータ線を有する。
【００１３】
スレーブデバイス１０３（第２のデバイス）は、パラレルバス１０５と接続し、パラレスバス１０５を介してマスタデバイス１０１との間で通信を行うパラレルＩＦ１０３ａを有する。パラレルＩＦ１０２ａは、チップセレクト信号線、２３ビットのアドレス信号線、１６ビットのデータ線、レディ信号線を有する。スレーブデバイス１０３は、更に、シリアルバス１０６を介してスレーブデバイス１０４との間で通信を行うシリアルＩＦ１０３ｂを備える。シリアルＩＦ１０３ｂは、送信信号線（ＭＯＳＩ）と受信信号線（ＭＩＳＯ）とを有する。
【００１４】
スレーブデバイス１０４（第３のデバイス）は、シリアルバス１０６を介してスレーブデバイス１０３との間で通信を行うシリアルＩＦ１０４ａを備える。シリアルＩＦ１０４ａは、送信信号線（ＭＯＳＩ）と受信信号線（ＭＩＳＯ）とを有する。
【００１５】
マスタデバイス１０１は、パラレルバス１０５を介してスレーブデバイス１０２とスレーブデバイス１０３に制御コマンド（第１のコマンド）を送信する。また、マスタデバイス１０１は、パラレルバス１０５、及び、スレーブデバイス１０３を介してスレーブデバイス１０４宛の制御コマンド（第２のコマンド）を送信する。
【００１６】
スレーブデバイス１０３のパラレルＩＦ１０３ａは、マスタデバイス１０１から受信した制御コマンドを検出する。そして、パラレルＩＦ１０３ａは、受信した制御コマンドがスレーブデバイス１０４への制御コマンドであった場合、シリアルＩＦ１０３ｂにより、受信した制御コマンドを、シリアルバス１０６を介してスレーブデバイス１０４に送信する。
【００１７】
図２は、スレーブデバイス１０３がマスタデバイス１０１から受信した制御コマンドを記憶するためのメモリ（レジスタ）における記憶領域の構成を示す図である。２３ビットのアドレス空間のうち、０ｘ０００００００〜０ｘ７ＦＦＦＦＦの範囲のアドレス空間がスレーブデバイス１０３に対する制御コマンドを受け付けるための空間として割り当てられる。また、０ｘ８０００００〜０ｘＦＦＦＦＦＦの範囲のアドレス空間はスレーブデバイス１０４に対する制御コマンドを受け付けるための空間として割り当てられる。
【００１８】
マスタデバイス１０１は、スレーブデバイス１０３または１０４に制御コマンドを送信する場合、図２のアドレス空間の何れかを指定して制御コマンドを送信する。スレーブデバイス１０３のパラレルＩＦ１０３ａは、図２の記憶領域のうち、受信したアドレスに制御コマンドを記憶する。そして、パラレルＩＦ１０３ａは、受信したアドレス（アドレス信号の値）がスレーブデバイス１０４用のアドレス空間であった場合、即ち、シリアルＩＦ１０３ｂに対し、受信した制御コマンドを送信するように指示する。そして、シリアルＩＦ１０３ｂは、受信した制御コマンドを、シリアルバス１０６を介してスレーブデバイス１０４に送信する。また、受信したアドレスがスレーブデバイス１０３用のアドレス空間であった場合、スレーブデバイス１０４は、受信したコマンドに応じた処理を実行する。
【００１９】
図３はシリアルバス１０６を介してスレーブデバイス１０４に制御コマンドを送信するための送信フォーマットの例を示す図である。
【００２０】
マスタデバイス１０１がスレーブデバイス１０３に対して、スレーブデバイス１０４に対する制御コマンドを送信していない場合は、シリアルバスの受信信号（ＭＯＳＩ）は“０”に固定される。マスタデバイス１０１がスレーブデバイス１０３に対して、スレーブデバイス１０４に対する制御コマンドを送信した場合、スレーブデバイス１０３は受信した制御コマンドを以下のようなフォーマットに変換し、シリアルバス１０６を介してスレーブデバイス１０４に伝送する。
【００２１】
まず、シリアルバスの受信信号に８ビットの“１”を伝送する。その後、１ビットの“０”に続いてデータ（制御コマンド）の１５ビット目から９ビット目までの７ビット分のデータを送信する。以下、１ビットの“０”と７ビット分の制御コマンドを連続して伝送し、２２ビットのアドレスと１６ビットのデータを全て伝送完了したら、再び“０”に出力を固定する。
【００２２】
スレーブデバイス１０４は、８ビットの“１”を受信した場合、制御コマンドの送信が開始されたことを検出する。そして、スレーブデバイス１０４は、以下“０”と７ビットの受信データの組み合わせから有効なビットを抜き出して制御コマンドを再構築し、指定された制御コマンドに従う処理を行う。データフォーマット上、８ビット連続した“１”は制御コマンド伝送開始タイミング以外発生しないため、スレーブデバイス１０４は確実に制御コマンドを受信することができる。
【００２３】
次に、スレーブデバイスに対するリードアクセス時の処理を説明する。図４は、リードアクセス時における各信号線のタイミングチャートである。リードコマンドは、スレーブデバイスからの応答を要求するコマンドである。
【００２４】
マスタデバイス１０１がスレーブデバイス１０４にリードアクセスを行う場合、スレーブデバイス１０３のアドレス０ｘ８０００００を指定して、チップセレクト信号とリード信号、アドレス信号をスレーブデバイス１０３に対して送信する。
【００２５】
スレーブデバイス１０３は、シリアルバス１０６を介してスレーブデバイス１０４にリードコマンドを送信する。リードアクセスの場合、スレーブデバイス１０３は、スレーブデバイス１０４からの応答を取得した後、マスタデバイス１０１に対して、スレーブデバイス１０４からの応答を送信する。
【００２６】
このとき、スレーブデバイス１０４の性能や状況によって、スレーブデバイス１０４からの応答が送信されるまでの時間が変動する。そのため、マスタデバイス１０１が、リードコマンドを発行した後、決められた待ち時間によるバスの使用権を調停すると、スレーブデバイス１０４からの応答が得られる前に、マスタデバイス１０１がスレーブデバイス１０２やスレーブデバイス１０３へのアクセスを実施する可能性がある。その結果、所望のデータが得られないために誤動作を引き起こす可能性がある。
【００２７】
そこで、スレーブデバイス１０３は、マスタデバイス１０１からスレーブデバイス１０４へのリードコマンドを受信した場合は、マスタデバイス１０１に対してレディ信号を送信する。マスタデバイス１０１は、レディ信号を受信している期間は、リードコマンドに対するスレーブデバイス１０４からの応答を待つ状態を延長する。このような制御により、スレーブデバイス１０３は、スレーブデバイス１０４からの応答を受信するまで前記パラレルバスの使用権を占有する。
【００２８】
スレーブデバイス１０３はレディ信号を送信した後、パラレルバス１０５を介して取得した制御コマンドをフォーマット変換し、シリアルバスの送信信号線によりスレーブデバイス１０４に伝送する。スレーブデバイス１０４は取得したコマンドに応じて応答データを生成し、シリアルバス１０６の受信信号線によりスレーブデバイス１０３に送信する。
【００２９】
スレーブデバイス１０３は、スレーブデバイス１０４からの応答を受け取ると、パラレルバス１０５のデータ線を介してマスタデバイス１０１に送信する。
【００３０】
図５はシリアルバス１０６を介してスレーブデバイス１０４にリードアクセスコマンドを送信するための送信フォーマットの例を示す図である。
【００３１】
マスタデバイス１０１がスレーブデバイス１０４に対するリードアクセスを出力していない場合は、シリアルバスの送信信号は“０”に固定される。マスタデバイス１０１がスレーブデバイス１０３に対して、スレーブデバイス１０４に対するリードアクセスコマンドを送信した場合、スレーブデバイス１０３は受信した制御コマンドを以下のようなフォーマットに変換し、シリアルバス１０６を介してスレーブデバイス１０４に伝送する。
【００３２】
まずシリアルバス１０６の送信信号に８ビットの“１”を伝送する。その後、１ビットの“０”に続いてデータの１５ビット目から９ビット目までの７ビット分のデータを送信する。以下、１ビットの“０”と７ビット分の制御コマンドを連続して伝送し、１６ビットのデータを全て伝送完了したら、再び“０”に出力を固定する。
【００３３】
スレーブデバイス１０３は、８ビットの“１”を受信した場合、制御コマンドの送信が開始されたことを検出する。そして、スレーブデバイス１０４は、“０”と７ビットの受信データの組み合わせから有効なビットを抜き出して、制御コマンド、ここではリードコマンドを再構築する。次に、スレーブデバイス１０４は、このリードコマンドに対する応答を生成し、シリアルバス１０６の受信信号によりスレーブデバイス１０３に送信する。スレーブデバイス１０３は、スレーブデバイス１０４からの応答を受信した場合、パラレルバス１０５のデータ信号に応答データを出力し、レディ信号を解除する。マスタデバイス１０１は、レディ信号の解除を監視し、レディ信号が解除されたらデータ信号を取り込んで応答データを取得し、アドレス信号、リード信号、チップセレクト信号を解除する。
【００３４】
図１の信号処理装置１００を撮像装置に適用した場合の構成について図６を用いて説明する。図６において、撮像部６０１は被写体の画像を撮影し、動画信号を出力する。カメラ信号処理部６０２は、撮像部６０１から出力された動画信号に対し、画質補正、或いは、画面サイズの変更などの処理を施し、補正部６０３と出力処理部６０６に出力する。補正部６０３はカメラ信号処理部６０２からの動画信号に対し、撮像部６０１における撮像素子の傷に起因する劣化を補正する。画像処理部６０４は、補正部６０３からの動画信号に対し更に必要なカメラ信号処理を施し、記録処理部６０５に出力する。記録処理部６０５は、画像処理部６０４からの動画信号に対して、圧縮符号化処理等、記録するために必要な処理を施して、記録媒体に記録する。出力処理部６０６は、カメラ信号処理部４０２からの動画信号に対し、外部に出力するために必要な処理を施して装置外部に出力する。
【００３５】
図６において、画像処理部６０４が図１のマスタデバイス１０１に対応している。また、補正部６０３、カメラ信号処理部６０２は、図１のスレーブデバイス１０２、１０３に対応している。また、出力処理部６０６は、図１のスレーブデバイス１０４に対応している。そして、本実施形態では、カメラ信号処理部６０２と出力処理部６０６の間ではシリアルバス１０６を介して制御コマンドが送信されるので、出力処理部６０６を構成するＬＳＩを、カメラ信号処理部６０２を構成するＬＳＩから比較的離れた位置に配置することが可能となる。例えば、出力処理部６０６は、外部の接続端子の近傍に配置することが望ましいが、本実施形態では、この様な場合に、設計の自由度が向上する。
【図１】
2013218582.tif 000003
【図２】
2013218582.tif 000004
【図３】
2013218582.tif 000005
【図４】
2013218582.tif 000006
【図５】
2013218582.tif 000007
【図６】
2013218582.tif 000008