(57)【特許請求の範囲】
【請求項１】
通信システムで使用されるコマンド制御装置であって、
複数の通信チャンネルの各々からコマンド信号を受信し、該コマンド信号の保持とビット検出をし、検出結果が正常であれば該コマンド信号を、前記検出結果が異常であればＬＯＷ信号を、中間処理コマンド信号として出力する複数のバッファと、
前記複数のバッファが出力する複数の中間処理コマンド信号を受信し、前記複数の中間処理コマンド信号の中から１つの中間処理コマンド信号を順次選択して、コマンド処理信号として出力するステートマシンとを備え、
前記複数のバッファの各々が、前記検出結果に基づいてフラグ信号を生成した後、該フラグ信号を前記ステートマシンに送信し、
前記ステートマシンが、前記複数のバッファから受信した複数の前記フラグ信号の各々に基づき、前記複数のバッファの各々のコマンド信号受信状態を検知することを特徴とするコマンド制御装置。
【請求項２】
請求項１に記載のコマンド制御装置であって、
前記ステートマシンが、前記複数の中間処理コマンド信号の中から１つの中間処理コマンド信号を選択した後、前記複数のバッファにおいて、他の中間処理コマンド信号が当該複数のバッファから出力されるまで、破棄されることなく保持され続けることを特徴とするコマンド制御装置。
【請求項３】
請求項１または２に記載のコマンド制御装置であって、
前記ステートマシンが、前記複数のバッファから受信した複数の前記フラグ信号の組み合わせに基づき、前記複数の中間処理コマンド信号の選択及び出力の順序を決定することを特徴とするコマンド制御装置。
【請求項４】
請求項１乃至３のいずれか１項に記載のコマンド制御装置であって、
前記ステートマシンが、当該ステートマシンを初期化するリセット信号を生成し、該リセット信号を当該ステートマシンに送信することを特徴とするコマンド制御装置。
【請求項５】
請求項１乃至４のいずれか１項に記載のコマンド制御装置であって、
前記ステートマシンが、前記複数のバッファを初期化するリセット信号を生成し、該リセット信号を前記複数のバッファに送信することを特徴とするコマンド制御装置。
【請求項６】
請求項１乃至５のいずれか１項に記載のコマンド制御装置であって、
前記複数のバッファの各々が、当該複数のバッファの各々を初期化するリセット信号を生成し、該リセット信号を当該複数のバッファの各々に送信することを特徴とするコマンド制御装置。
【請求項７】
通信システムで使用されるコマンド制御方法であって、
複数のバッファが、複数の通信チャンネルの各々からコマンド信号を受信し、該コマンド信号の保持とビット検出をし、検出結果が正常であれば該コマンド信号を、前記検出結果が異常であればＬＯＷ信号を、中間処理コマンド信号として出力し、
ステートマシンが、前記複数のバッファが出力する複数の中間処理コマンド信号を受信し、前記複数の中間処理コマンド信号の中から１つの中間処理コマンド信号を順次選択して、コマンド処理信号として出力し、
前記複数のバッファの各々が、前記検出結果に基づいてフラグ信号を生成した後、該フラグ信号を前記ステートマシンに送信し、
前記ステートマシンが、前記複数のバッファから受信した複数の前記フラグ信号の各々に基づき、前記複数のバッファの各々のコマンド信号受信状態を検知することを特徴とするコマンド制御方法。
【請求項８】
通信システムで使用されるコマンド制御方法をコンピュータに実行させるためのコマンド制御プログラムであって、
前記コマンド制御方法は、
複数のバッファが、複数の通信チャンネルの各々からコマンド信号を受信し、該コマンド信号の保持とビット検出をし、検出結果が正常であれば該コマンド信号を、前記検出結果が異常であればＬＯＷ信号を、中間処理コマンド信号として出力し、
ステートマシンが、前記複数のバッファが出力する複数の中間処理コマンド信号を受信し、前記複数の中間処理コマンド信号の中から１つの中間処理コマンド信号を順次選択して、コマンド処理信号として出力し、
前記複数のバッファの各々が、前記検出結果に基づいてフラグ信号を生成した後、該フラグ信号を前記ステートマシンに送信し、
前記ステートマシンが、前記複数のバッファから受信した複数の前記フラグ信号の各々に基づき、前記複数のバッファの各々のコマンド信号受信状態を検知することを特徴とするコマンド制御プログラム。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、コマンド制御装置、コマンド制御方法、及びコマンド制御プログラムに関する。特に、通信システムで用いられるコマンド制御装置、コマンド制御方法、及びコマンド制御プログラムに関する。
【背景技術】
【０００２】
マルチメディア用の多様なコンテンツの増加に伴い、単一の装置あるいはシステムで達成できる性能を超える性能レベルが要求されるアプリケーションが増加しており、このようなアプリケーションの多くは、並列処理を用いている。該並列処理のために、複数のアプリケーションモジュールを用いる例として、特許文献１は、アプリケーションモジュールの各々に、メモリと、メモリとメモリバスとの間のデータ転送及びメモリの使用容量を規定するメモリ制御部と、メモリバスに対するコマンドを保持するコマンドレジスタと、当該コマンドレジスタに保持可能なコマンド数を規定するメモリバスコマンド制御部とを含むことにより、メモリバスへのアクセス頻度を調整可能とするデータ転送装置を開示している。
【先行技術文献】
【特許文献】
【０００３】
【特許文献１】特開２００９−００３８９３号公報
【発明の概要】
【発明が解決しようとする課題】
【０００４】
しかし、複数の信号受信チャンネルを有するシステムにおいては、１つのチャンネルに受信したコマンド信号を処理部が処理している間に、他のチャンネルに受信したコマンド信号は破棄される。従って、処理部が処理しているコマンド信号の処理の終了を待たなければ、次の受信を実施することができなかった。
【０００５】
また、複数の受信チャンネルで同時刻に複数のコマンド信号を受信した場合、最も早い時刻に処理部が受信したコマンド信号のみが処理され、処理部が遅れて受信した信号は破棄され、処理されることはなかった。
【０００６】
この点、特許文献１に係る発明は、上記のように、あくまでメモリバスへのアクセス頻度を調整するものであり、メモリバスに対して同時に発行される複数のコマンド信号の破棄自体を減少させるものではなかった。
【０００７】
そこで本発明は、複数の受信チャンネルで並行に受信したコマンド信号を順次処理することが可能なコマンド制御装置、コマンド制御方法、及びコマンド制御プログラムを提供することを目的とする。
【課題を解決するための手段】
【０００８】
本発明の第１の観点によれば、通信システムで使用されるコマンド制御装置であって、複数の通信チャンネルの各々からコマンド信号を受信し、該コマンド信号の保持とビット検出をし、検出結果が正常であれば該コマンド信号を、前記検出結果が異常であればＬＯＷ信号を、中間処理コマンド信号として出力する複数のバッファと、前記複数のバッファが出力する複数の中間処理コマンド信号を受信し、前記複数の中間処理コマンド信号の中から１つの中間処理コマンド信号を順次選択して、コマンド処理信号として出力するステートマシンとを備えることを特徴とするコマンド制御装置が提供される。
【０００９】
本発明の第２の観点によれば、通信システムで使用されるコマンド制御方法であって、複数のバッファが、複数の通信チャンネルの各々からコマンド信号を受信し、該コマンド信号の保持とビット検出をし、検出結果が正常であれば該コマンド信号を、前記検出結果が異常であればＬＯＷ信号を、中間処理コマンド信号として出力し、ステートマシンが、前記複数のバッファが出力する複数の中間処理コマンド信号を受信し、前記複数の中間処理コマンド信号の中から１つの中間処理コマンド信号を順次選択して、コマンド処理信号として出力することを特徴とするコマンド制御方法が提供される。
【００１０】
本発明の第３の観点によれば、通信システムで使用されるコマンド制御方法をコンピュータに実行させるためのコマンド制御プログラムであって、前記コマンド制御方法は、複数のバッファが、複数の通信チャンネルの各々からコマンド信号を受信し、該コマンド信号の保持とビット検出をし、検出結果が正常であれば該コマンド信号を、前記検出結果が異常であればＬＯＷ信号を、中間処理コマンド信号として出力し、ステートマシンが、前記複数のバッファが出力する複数の中間処理コマンド信号を受信し、前記複数の中間処理コマンド信号の中から１つの中間処理コマンド信号を順次選択して、コマンド処理信号として出力することを特徴とするコマンド制御プログラムが提供される。
【発明の効果】
【００１１】
本発明によれば、複数のコマンド信号を処理する順序に関し、優先順位を決める機能を有することで、複数チャンネルにおいてコマンド信号を同時に受信した場合に、所定の処理順序に基づいて処理することが可能となる。
【図面の簡単な説明】
【００１２】
【図１】本発明の実施形態によるコマンド制御装置の構成例を示す図である。
【図２】図１に記載のバッファの構成例を示す図である。
【図３】図１に記載のステートマシンの構成例を示す図である。
【図４】図３のステートマシンで用いられる状態遷移図の例を示す図である。
【図５Ａ】図３のステートマシンで用いられる状態遷移表の例を示す図である。
【図５Ｂ】図３のステートマシンで用いられる状態遷移表の例を示す図である。
【図５Ｃ】図３のステートマシンで用いられる状態遷移表の例を示す図である。
【図５Ｄ】図３のステートマシンで用いられる状態遷移表の例を示す図である。
【図６】図３のステートマシンを構成する回路の例を示す図である。
【発明を実施するための形態】
【００１３】
（構成の説明）
以下、図１乃至６を参照して本発明に係るコマンド制御装置について詳説する。
【００１４】
図１が示すのは、本発明に係るコマンド制御装置の構成例である。図１を参照すると、本発明の実施形態は、バッファ２００−１乃至２００−４、および、ステートマシン３００を含む。なお、図１では、１つのステートマシン３００に対し、４つのバッファ２００−１乃至２００−４を接続する構成としたが、本発明の実施の形態はこれには限定されず、任意の複数のバッファ２００を含むことが可能である。
【００１５】
バッファ２００−１は、コマンド信号Ａを受信するコマンド信号受信経路（チャンネルＡ）と、クロック信号を受信する経路と、後述のようにステートマシン３００から出力されるリセット信号Ａを受信する経路とを有する。また、ステートマシン３００に対して、中間処理コマンド信号（Ａ）を送信する経路、及び、フラグ信号Ｔ（Ａ）を送信する経路を有する。更に、当該バッファ２００−１を初期化するリセット信号Ｒ（Ａ）を出力し、当該バッファ２００−１に入力する経路を有する。
【００１６】
同様に、バッファ２００−２は、コマンド信号Ｂを受信するコマンド信号受信経路（チャンネルＢ）と、クロック信号を受信する経路と、後述のようにステートマシン３００から出力されるリセット信号Ｂを入力する経路を有する。また、ステートマシン３００に対して、中間処理コマンド信号（Ｂ）を送信する経路、及び、フラグ信号Ｔ（Ｂ）を送信する経路を有する。更に、当該バッファ２００−２を初期化するリセット信号Ｒ（Ｂ）を出力し、当該バッファ２００−２に入力する経路を有する。以下、バッファ２００−３、及びバッファ２００−４についても同様である。
【００１７】
バッファ２００−１乃至２００−４の役割は、受信したコマンド信号のビット検出（ビット数のカウント）、コマンド信号の保持、クロック信号に同期したタイミング信号の生成、コマンド信号の検出、リセット信号の生成等である。
【００１８】
ステートマシン３００は、バッファ２００−１乃至２００−４の各バッファから出力される、中間処理コマンド信号（Ａ）乃至（Ｄ）を受信する経路を４経路、フラグ信号Ｔ（Ａ）乃至Ｔ（Ｄ）を受信する経路を４経路、外部からクロック信号を受信する経路を有する。また、ステートマシン３００は、コマンド処理信号を出力する経路を有する。更に、ステートマシン３００は、当該ステートマシンを初期化するためのリセット信号Ｓを出力し、当該ステートマシン３００に入力する経路と、バッファ２００−１乃至２００−４の各々を初期化するリセット信号Ａ乃至Ｄを出力する経路を有する。
【００１９】
ステートマシン３００の役割は、バッファ２００−１乃至２００−４までの各バッファから受信する４つの中間処理コマンド信号（Ａ）乃至（Ｄ）を処理する順序の決定、コマンド処理信号の出力、ステートマシン３００自身を初期化するためのリセット信号の生成、及びバッファ２００−１乃至２００−４を初期化するためのリセット信号の生成等である。
【００２０】
図２が示すのは、上記のバッファ２００の構成例である。バッファ２００は、カウンタ２１０、シフトレジスタ２２０、ディテクタ２３０、及びタイミング２４０を含む。
【００２１】
カウンタ２１０は、コマンド信号（バッファ２００がバッファ２００−１の場合は、コマンド信号Ａ）を入力する経路、クロック信号を入力する経路、リセット信号を入力する経路を有する。ここで「リセット信号」とは、上記の図１を用いて説明したステートマシン３００から受信するリセット信号Ａと、後述のディテクタ２３０から受信するリセット信号Ｒ（Ａ）とが合流したものである。また、カウンタ２１０は、シフトレジスタ２２０へカウンタ信号Ｐ（バッファ２００がバッファ２００−１の場合は、カウンタ信号Ｐ（Ａ））を出力する経路、及びタイミング２４０へカウンタ信号Ｑ（バッファ２００がバッファ２００−１の場合は、カウンタ信号Ｑ（Ａ））を出力する経路を有する。
【００２２】
シフトレジスタ２２０は、カウンタ２１０から受信するカウンタ信号Ｐを入力する経路、クロック信号を入力する経路、リセット信号を入力する経路を有する。また、ディテクタ２３０へシフトレジスタ信号（バッファ２００がバッファ２００−１の場合は、シフトレジスタ信号（Ａ））を出力する経路を有する。
【００２３】
ディテクタ２３０は、シフトレジスタ信号を入力する経路、カウンタ２１０から受信するカウンタ信号Ｑを入力する経路、クロック信号を入力する経路、リセット信号を入力する経路、及び、後述のタイミング２４０から受信するタイミング信号を入力する経路を有する。また、ディテクタ２３０は、上記のステートマシン３００に中間処理コマンド信号（バッファ２００がバッファ２００−１の場合は、中間処理コマンド信号（Ａ））を出力する経路、カウンタ２１０、シフトレジスタ２２０、当該ディテクタ２３０、タイミング２４０を初期化するリセット信号Ｒ（バッファ２００がバッファ２００−１の場合は、リセット信号Ｒ（Ａ））を出力する経路、後述のタイミング２４０にフラグ信号Ｄ（バッファ２００がバッファ２００−１の場合は、フラグ信号Ｄ（Ａ））を出力する経路を有する。なお上記のように、リセット信号Ｒ（Ａ）は、ステートマシン３００から受信するリセット信号Ａと合流した上で、カウンタ２１０、シフトレジスタ２２０、ディテクタ２３０、タイミング２４０に入力される。
【００２４】
タイミング２４０は、カウンタ２１０から受信するカウンタ信号Ｑを入力する経路、クロック信号を入力する経路、リセット信号を入力する経路、及び、ディテクタ２３０から受信するフラグ信号Ｄを入力する経路を有する。また、タイミング２４０は、ステートマシン３００にフラグ信号Ｔ（バッファ２００がバッファ２００−１の場合は、フラグ信号Ｔ（Ａ））を出力する経路、及びディテクタ２３０にタイミング信号（バッファ２００がバッファ２００−１の場合は、タイミング信号（Ａ））を出力する経路を有する。
【００２５】
図３が示すのは、上記のステートマシン３００の構成例である。ステートマシン３００は、順序回路３１０とセレクタ３２０とを含む。
【００２６】
順序回路３１０は、バッファ２００−１乃至２００−４から受信する４つのフラグ信号Ｔ（Ａ）乃至Ｔ（Ｄ）を入力する４本の経路、クロック信号を入力する経路、及び後述のセレクタ３２０から受信するリセット信号Ｓを入力する経路を有する。また、順序回路３１０は、セレクタ３２０に対し、順序信号を出力する経路を有する。
【００２７】
セレクタ３２０は、バッファ２００−１乃至２００−４から受信する中間処理コマンド信号（Ａ）乃至（Ｄ）を入力する４本の経路、上記の順序回路３１０からの順序信号を入力する経路、及びクロック信号を入力する経路を有する。また、セレクタ３２０は、コマンド処理信号を出力する経路と、バッファ２００−１乃至２００−４を初期化するリセット信号Ａ乃至Ｄを出力する経路を有する。更に、セレクタ３２０は、順序回路３１０と当該セレクタ３２０を初期化するためのリセット信号Ｓを出力し、該リセット信号Ｓを入力する経路を有する。
【００２８】
（動作の説明）
図１において、チャンネルＡ乃至Ｄを経由して受信したコマンド信号Ａ乃至Ｄは、それぞれバッファ２００−１乃至２００−４に入力される。
【００２９】
図２において、バッファ２００−１に入力されたコマンド信号Ａは、カウンタ２１０に入力される。カウンタ２１０では、入力されたコマンド信号Ａのビット数をカウントし、規定されたビット数であることをチェックする。ビット数が規定されたビット数である場合には、カウンタ２１０は、コマンド信号Ａをカウンタ信号Ｐ（Ａ）としてシフトレジスタ２２０に出力する。更に、カウンタ２１０は、カウンタ信号Ｐ（Ａ）を出力するタイミングに合わせて、カウンタ信号Ｑ（Ａ）をタイミング２４０に出力する。このカウンタ信号Ｑ（Ａ）は、後述のように、ディテクタ２３０がシフトレジスタ信号（Ａ）に含まれるコマンド信号Ａを検出するためのタイミング信号を生成する基礎となる。
【００３０】
シフトレジスタ２２０には、カウンタ２１０から受信したカウンタ信号Ｐ（Ａ）、及びクロック信号が入力され、クロック信号に同期してカウンタ信号Ｐ（Ａ）がレジスタに格納される。
【００３１】
タイミング２４０には、カウンタ２１０から受信するカウンタ信号Ｑ（Ａ）が入力される。タイミング２４０は、該カウンタ信号Ｑ（Ａ）に基づき、ディテクタ２３０でシフトレジスタ信号（Ａ）に含まれるカウンタ信号Ｐ（Ａ）を検出するためのタイミング信号（Ａ）を生成し、ディテクタ２３０へ出力する。
【００３２】
ディテクタ２３０は、シフトレジスタ２２０から受信したシフトレジスタ信号（Ａ）の内容をチェックし、シフトレジスタ信号（Ａ）が正常であれば、ＨＩＧＨレベルのフラグ信号Ｄ（Ａ）を出力する。それと共に、ディテクタ２３０は、チェックしたシフトレジスタ信号（Ａ）を、中間処理コマンド信号（Ａ）として、ステートマシン３００に出力する。上記のチェックのタイミングは、タイミング２４０から受信するタイミング信号（Ａ）によって決定される。また、ディテクタ２３０における各動作は、クロック信号に同期して行われる。
【００３３】
更に、タイミング２４０は、上記のカウンタ２１０から受信するカウンタ信号Ｑ（Ａ）と、ディテクタ２３０から受信するフラグ信号Ｄ（Ａ）とに基づき、フラグ信号Ｔ（Ａ）を生成し、該フラグ信号Ｔ（Ａ）をステートマシン３００に出力する。
【００３４】
その後、ディテクタ２３０は、リセット信号Ｒ（Ａ）を出力し、カウンタ２１０、シフトレジスタ２２０、ディテクタ２３０、及びタイミング２４０を初期化する。
【００３５】
バッファ２００−２乃至２００−４についても同様に、中間処理コマンド信号（Ｂ）乃至（Ｄ）、及びフラグ信号Ｔ（Ｂ）乃至Ｔ（Ｄ）を生成し、ステートマシン３００に出力する。
【００３６】
図３において、順序回路３１０及びセレクタ３２０の各動作は、クロック信号に同期して実行される。
【００３７】
順序回路３１０では、バッファ２００−１乃至２００−４から受信した４つのフラグ信号Ｔ（Ａ）乃至Ｔ（Ｄ）を受信する。これらのフラグ信号Ｔ（Ａ）乃至Ｔ（Ｄ）の各々により、順序回路３１０は、バッファ２００−１乃至２００−４の各々のコマンド信号受信状態を検知する。更に、これら４つのフラグ信号Ｔ（Ａ）乃至Ｔ（Ｄ）を元に、後述のセレクタ３２０が、中間処理コマンド信号（Ａ）乃至（Ｄ）のうち、いずれを処理するかを決定する。その後、順序回路３１０は、決定した結果を順序信号としてセレクタ３２０に出力する。
【００３８】
セレクタ３２０は、中間処理コマンド信号（Ａ）乃至（Ｄ）までの４つの信号を受信し、順序回路３１０から受信した順序信号に基づき、これらの４つの信号の中から１つの中間処理コマンド信号を選択する。その後、セレクタ３２０は、選択した中間処理コマンド信号を、コマンド処理信号として出力する。
【００３９】
以下、セレクタ３２０は、順次、中間処理コマンド信号（Ａ）乃至（Ｄ）の中のいずれか１つを順序信号に基づいて選択し、出力する。その後、全ての信号の出力を終えたタイミングで、リセット信号Ａ乃至Ｄ、及びリセット信号Ｓを出力する。
【００４０】
セレクタ３２０から出力されるリセット信号Ａ乃至Ｄの各々によって、バッファ２００−１乃至２００−４は初期化される。また、セレクタ３２０から出力されるリセット信号Ｓによって、順序回路３１０及びセレクタ３２０は初期化される。
【実施例】
【００４１】
コマンド信号の受信チャンネルを４チャンネルで構成するシステムを例として説明するが、本発明の実施形態はこれには限定されない。
【００４２】
受信チャンネルを４チャンネルで構成するシステムは、図１と同じ構成とすることで実施可能となる。
【００４３】
ここでは、クロック信号の周期を１μｓ、コマンド信号の周期を４ｍｓ、各信号のＨＩＧＨレベルを５．０Ｖ、ＬＯＷレベルを０Ｖとするが、本発明の実施形態はこれには限定されない。
【００４４】
また、コマンド信号のビット数を１３ビットとし、その構成は、先頭の１ビットがスタートビット、２ビット目から７ビット目がアドレスビット、８ビット目から１２ビット目がコマンドビット、１３ビット目がパリティビットとするが、本発明の実施形態はこれには限定されず、コマンド信号のビット数もその構成も任意である。
【００４５】
図１において、コマンド信号Ａ乃至Ｄが、ほぼ同時刻に、チャンネルＡ乃至Ｄを経由してバッファ２００−１乃至２００−４に入力された場合、バッファ２００−１乃至２００−４は、それぞれ並列して、図２を用いて以下に記載する手順で信号を処理する。なお、図２において、クロック信号には常にクロックが入力されているものとし、図２における信号の処理は、全てクロック信号に同期して行われるものとする。また、リセット信号の初期値はＬＯＷレベルでリセット解除状態とし、ＨＩＧＨレベルの場合にリセットを実行するとするが、本発明の実施形態はこれには限定されない。
【００４６】
図２のバッファ２００（ここではバッファ２００−１の場合について説明する）において、カウンタ２１０が、入力されたコマンド信号Ａのビット数をカウントする。ここで、カウンタ２１０は１３ビットのカウンタとし、カウンタ信号Ｐ（Ａ）の初期値は１３ビットを全てＬＯＷレベルとし、カウンタ信号Ｑ（Ａ）の初期値は全てＬＯＷレベルとする。
【００４７】
カウンタ２１０においてコマンド信号Ａのビット数をカウントした結果が正常な場合は、カウンタ２１０はシフトレジスタ２２０に対して、コマンド信号Ａをカウンタ信号Ｐ（Ａ）として出力すると共に、ディテクタ２３０及びタイミング２４０への出力信号であるカウンタ信号Ｑ（Ａ）のレベルを、ＬＯＷレベルからＨＩＧＨレベルに変化させる。逆に、カウントした結果が異常な場合は、カウンタ信号Ｐ（Ａ）は全１３ビットをＬＯＷレベルとし、カウンタ信号Ｑ（Ａ）もＬＯＷレベルを出力する。
【００４８】
また、カウントした結果が正常な場合は、カウンタ２１０から出力されるカウンタ信号Ｐ（Ａ）をクロック信号に同期して、１３ビットのシフトレジスタ２２０に格納する。逆に、カウントした結果が異常な場合は、全てがＬＯＷレベルのカウンタ信号Ｐ（Ａ）をシフトレジスタ２２０に格納する。
【００４９】
ディテクタ２３０において、カウンタ信号Ｑ（Ａ）のレベルによってカウンタ２１０がコマンド信号Ａをカウントした結果が正常であると判断した場合は、シフトレジスタ信号（Ａ）に対し、スタートビット、アドレスビット、コマンドビット、パリティビットを検出し、１３ビットの信号を中間処理コマンド信号として出力すると共に、フラグ信号Ｄ（Ａ）をＨＩＧＨレベルに変化させる。逆に、カウンタ２１０がコマンド信号Ａをカウントした結果が異常と判断した場合は、検出処理を実施せず、１３ビット全てをＬＯＷレベルとした中間処理コマンド信号を出力し、フラグ信号Ｄ（Ａ）もＬＯＷレベルとする。
【００５０】
また、タイミング２４０において、ディテクタ２３０から出力されるフラグ信号Ｄ（Ａ）及びカウンタ信号Ｑ（Ａ）をＡＮＤした結果を、フラグ信号Ｔ（Ａ）として出力する。すなわち、フラグ信号Ｄ（Ａ）がＨＩＧＨレベル、且つ、カウンタ信号Ｑ（Ａ）がＨＩＧＨレベルの場合のみ、フラグ信号Ｔ（Ａ）はＨＩＧＨレベルとなる。
【００５１】
その後、ディテクタ２３０は、リセット信号Ｒ（Ａ）を出力し、カウンタ２１０、シフトレジスタ２２０、ディテクタ２３０、及びタイミング２４０を初期化する。
【００５２】
続いて、図１のステートマシン３００は、図３乃至６を用いて以下に説明する手順により、中間処理コマンド信号とフラグ信号とを処理する。なお、図３において、クロック信号には常にクロックが入力されているものとし、図３における信号の処理は、全てクロック信号に同期して行われるものとする。また、リセット信号の初期値はＬＯＷレベルでリセット解除状態とし、ＨＩＧＨレベルの場合にリセットを実行するとするが、本発明の実施形態はこれには限定されない。
【００５３】
図３のステートマシン３００においては、順序回路３１０に、フラグ信号Ｔ（Ａ）乃至Ｔ（Ｄ）及びクロック信号が入力される。順序回路３１０は、これらのフラグ信号Ｔ（Ａ）乃至Ｔ（Ｄ）により、バッファ２００−１乃至２００−４の各々のコマンド信号受信状態を検知すると共に、これらのフラグ信号Ｔ（Ａ）乃至Ｔ（Ｄ）の組み合わせを基に、セレクタ３２０に順序信号を出力する。
【００５４】
順序信号は、図４の遷移図、及び図５の遷移表を基に生成される。
【００５５】
図４の遷移図において、４つ存在する円は、図１における各チャンネルを表す。また、四角内に記載された値は、フラグ信号Ｔ（Ａ）乃至Ｔ（Ｄ）までの状態を表し、下の桁から順に、フラグ信号Ｔ（Ａ）…フラグ信号Ｔ（Ｄ）を表す。また、各桁の数字は、フラグ信号がＨＩＧＨレベルであれば、”１”、ＬＯＷレベルであれば“０”となり、“Ｘ”は“１”又は“０”のいずれでもよいことを示す。例えば、四角内の値が“ＸＸ１０”の場合、フラグ信号Ｔ（Ａ）が“０”、フラグ信号Ｔ（Ｂ）が“１”、フラグ信号Ｔ（Ｃ）とフラグ信号Ｔ（Ｄ）が、“０”又は“１”の何れかであることを示す。矢印は処理の遷移を表しており、図４における矢印の元の円は現時点でのステータスのチャンネルを表し、矢印の先の円は次のステータスのチャンネルを表す。
【００５６】
図５は、図４における遷移図を表で表したものである。表内の行はステータスを表し、列はチャンネルを表す。図５Ａ乃至５Ｄは、それぞれ、現在のステータスがチャンネルＡ乃至チャンネルＤの場合を表す。
【００５７】
図４の遷移図、及び図５Ａ乃至５Ｄの遷移表から分かるように、現在のステータスがチャンネルＡの場合を例に取ると、フラグＴ（Ａ）乃至Ｔ（Ｄ）の組み合わせが、“００００”の場合は、次のステータスは、現在のステータスと同じく、チャンネルＡのままとなる。“ＸＸ１０”の場合は、次のステータスはチャンネルＢとなる。“Ｘ１００”の場合は、次のステータスはチャンネルＣとなる。“１０００”の場合は、次のステータスはチャンネルＤとなる。なお、順序回路３１０のステータスの初期値、及び、リセット信号を受信した場合のステータスは、チャンネルＡである。
【００５８】
順序回路３１０は、上記の図４の遷移図、及び図５Ａ乃至５Ｄの遷移表に基づき、次のステータスに対応する順序信号を、セレクタ３２０に出力する。
【００５９】
セレクタ３２０は、中間処理コマンド信号（Ａ）乃至（Ｄ）の中から、順序回路３１０から受信した順序信号に対応する中間処理コマンド信号を選択し、コマンド処理信号として出力する。
【００６０】
以下、セレクタ３２０は、順次、中間処理コマンド信号（Ａ）乃至（Ｄ）の中のいずれか１つを順序信号に基づいて選択し、出力する。その後、全ての信号の出力を終えたタイミングで、リセット信号Ａ乃至Ｄ、及びリセット信号Ｓを出力する。
【００６１】
なお、図６は、図４の順序回路の遷移図、および、図５の順序回路の遷移表を実現するためのステートマシン３００（順序回路３１０並びにセレクタ３２０）の回路図の構成例である。
【００６２】
順序回路３１０は、フラグ信号Ｔ（Ａ）乃至フラグ信号Ｔ（Ｄ）、及び、ｓｔａｔｅ＜１：０＞（２ビット）の信号を入力とする論理回路、セレクタ回路、ラッチ回路を含む。例えば、フラグ信号Ｔ（Ａ）からフラグ信号Ｔ（Ｄ）の全てがＨＩＧＨレベル（１）の場合は、順序信号は２ビット共にＬＯＷレベルの信号となる。
【００６３】
セレクタ３２０は、順序回路３１０から出力される順序信号＜１：０＞によって、中間処理コマンド信号Ａから中間処理コマンド信号Ｄのうちの１つの信号を選択する。上記の例の場合は、セレクタ３２０は、中間処理コマンド信号Ａを選択し、コマンド処理信号として出力する。
【００６４】
上記の実施形態により、本発明は、受信したコマンド信号を一時的に保持する機能を有することで、同時に受信した複数のコマンド信号を消失することなく処理することが可能である。また、本発明は、複数のコマンド信号を処理する順序に関し、優先順位を決める機能を有するので、複数のチャンネルで同時にコマンド信号を受信した場合に、所定の処理順序に基づき処理することが可能となる。
【００６５】
なお、上記においては、バッファ２００−１乃至２００−４で生成されるフラグ信号Ｔ（Ａ）乃至Ｔ（Ｄ）の組み合わせを基に、ステートマシン３００が中間処理コマンド信号（Ａ）乃至（Ｄ）の中から一つの信号を選択後、出力する態様について述べたが、本発明の実施形態はこれには限られない。ステートマシン３００は、別の信号や別の基準に基づいて、中間処理コマンド信号（Ａ）乃至（Ｄ）を選択し出力する順序を決定してもよい。
【００６６】
以上、上記各実施例を参照して本発明を説明したが、本発明は上記各実施例に限定されるものではない。本発明の構成や詳細には、本発明の範囲内で当業者が理解し得る様々な変更をすることができる。
【００６７】
なお、上記のコマンド制御装置の各部分は、ハードウェア、ソフトウェアのいずれか又はこれらの組み合わせにより実現することができる。また、上記のコマンド制御装置により行われるコマンド制御方法も、ハードウェア、ソフトウェアのいずれか又はこれらの組み合わせにより実現することができる。ここで、ソフトウェアによって実現されるとは、コンピュータがプログラムを読み込んで実行すること、又は、ハードウェアがプログラムに相当するマイクロコードに従って動作することにより実現されることを意味する。
【００６８】
プログラムは、様々なタイプの非一時的なコンピュータ可読媒体（non-transitory computer readable medium）を用いて格納され、コンピュータに供給することができる。非一時的なコンピュータ可読媒体は、様々なタイプの実体のある記録媒体（tangible storage medium）を含む。非一時的なコンピュータ可読媒体の例は、磁気記録媒体（例えば、フレキシブルディスク、磁気テープ、ハードディスクドライブ）、光磁気記録媒体（例えば、光磁気ディスク）、ＣＤ−ＲＯＭ（Read Only Memory）、ＣＤ−Ｒ、ＣＤ−Ｒ／Ｗ、半導体メモリ（例えば、マスクＲＯＭ、ＰＲＯＭ（Programmable ROM）、ＥＰＲＯＭ（Erasable PROM）、フラッシュＲＯＭ、ＲＡＭ（random access memory））を含む。また、プログラムは、様々なタイプの一時的なコンピュータ可読媒体（transitory computer readable medium）によってコンピュータに供給されてもよい。一時的なコンピュータ可読媒体の例は、電気信号、光信号、及び電磁波を含む。一時的なコンピュータ可読媒体は、電線及び光ファイバ等の有線通信路、又は無線通信路を介して、プログラムをコンピュータに供給できる。
【００６９】
上記の実施形態の一部または全部は、以下の付記のようにも記載されるが、以下には限られない。
【００７０】
（付記１）
通信システムで使用されるコマンド制御装置であって、
複数の通信チャンネルの各々からコマンド信号を受信し、該コマンド信号の保持とビット検出をし、検出結果が正常であれば該コマンド信号を、前記検出結果が異常であればＬＯＷ信号を、中間処理コマンド信号として出力する複数のバッファと、
前記複数のバッファが出力する複数の中間処理コマンド信号を受信し、前記複数の中間処理コマンド信号の中から１つの中間処理コマンド信号を順次選択して、コマンド処理信号として出力するステートマシンとを備えることを特徴とするコマンド制御装置。
【００７１】
（付記２）
付記１に記載のコマンド制御装置であって、
前記ステートマシンが、前記複数の中間処理コマンド信号の中から１つの中間処理コマンド信号を選択した後、前記複数のバッファにおいて、他の中間処理コマンド信号が当該複数のバッファから出力されるまで、破棄されることなく保持され続けることを特徴とするコマンド制御装置。
【００７２】
（付記３）
付記１又は２に記載のコマンド制御装置であって、
前記複数のバッファの各々が、前記検出結果に基づいてフラグ信号を生成した後、該フラグ信号を前記ステートマシンに送信し、
前記ステートマシンが、前記複数のバッファから受信した複数の前記フラグ信号の各々に基づき、前記複数のバッファの各々のコマンド信号受信状態を検知することを特徴とするコマンド制御装置。
【００７３】
（付記４）
付記３に記載のコマンド制御装置であって、
前記ステートマシンが、前記複数のバッファから受信した複数の前記フラグ信号の組み合わせに基づき、前記複数の中間処理コマンド信号の選択及び出力の順序を決定することを特徴とするコマンド制御装置。
【００７４】
（付記５）
付記１乃至４のいずれか１に記載のコマンド制御装置であって、
前記ステートマシンが、当該ステートマシンを初期化するリセット信号を生成し、該リセット信号を当該ステートマシンに送信することを特徴とするコマンド制御装置。
【００７５】
（付記６）
付記１乃至５のいずれか１に記載のコマンド制御装置であって、
前記ステートマシンが、前記複数のバッファを初期化するリセット信号を生成し、該リセット信号を前記複数のバッファに送信することを特徴とするコマンド制御装置。
【００７６】
（付記７）
付記１乃至６のいずれか１に記載のコマンド制御装置であって、
前記複数のバッファの各々が、当該複数のバッファの各々を初期化するリセット信号を生成し、該リセット信号を当該複数のバッファの各々に送信することを特徴とするコマンド制御装置。
【００７７】
（付記８）
通信システムで使用されるコマンド制御方法であって、
複数のバッファが、複数の通信チャンネルの各々からコマンド信号を受信し、該コマンド信号の保持とビット検出をし、検出結果が正常であれば該コマンド信号を、前記検出結果が異常であればＬＯＷ信号を、中間処理コマンド信号として出力し、
ステートマシンが、前記複数のバッファが出力する複数の中間処理コマンド信号を受信し、前記複数の中間処理コマンド信号の中から１つの中間処理コマンド信号を順次選択して、コマンド処理信号として出力することを特徴とするコマンド制御方法。
【００７８】
（付記９）
付記８に記載のコマンド制御方法であって、
前記ステートマシンが、前記複数の中間処理コマンド信号の中から１つの中間処理コマンド信号を選択した後、前記複数のバッファにおいて、他の中間処理コマンド信号が当該複数のバッファから出力されるまで、破棄されることなく保持され続けることを特徴とするコマンド制御方法。
【００７９】
（付記１０）
付記８又は９に記載のコマンド制御方法であって、
前記複数のバッファの各々が、前記検出結果に基づいてフラグ信号を生成した後、該フラグ信号を前記ステートマシンに送信し、
前記ステートマシンが、前記複数のバッファから受信した複数の前記フラグ信号の各々に基づき、前記複数のバッファの各々のコマンド信号受信状態を検知することを特徴とするコマンド制御方法。
【００８０】
（付記１１）
付記１０に記載のコマンド制御方法であって、
前記ステートマシンが、前記複数のバッファから受信した複数の前記フラグ信号の組み合わせに基づき、前記複数の中間処理コマンド信号の選択及び出力の順序を決定することを特徴とするコマンド制御方法。
【００８１】
（付記１２）
付記８乃至１１のいずれか１に記載のコマンド制御方法であって、
前記ステートマシンが、当該ステートマシンを初期化するリセット信号を生成し、該リセット信号を当該ステートマシンに送信することを特徴とするコマンド制御方法。
【００８２】
（付記１３）
付記８乃至１２のいずれか１に記載のコマンド制御方法であって、
前記ステートマシンが、前記複数のバッファを初期化するリセット信号を生成し、該リセット信号を前記複数のバッファに送信することを特徴とするコマンド制御方法。
【００８３】
（付記１４）
付記８乃至１３のいずれか１に記載のコマンド制御方法であって、
前記複数のバッファの各々が、当該複数のバッファの各々を初期化するリセット信号を生成し、該リセット信号を当該複数のバッファの各々に送信することを特徴とするコマンド制御方法。
【００８４】
（付記１５）
通信システムで使用されるコマンド制御方法をコンピュータに実行させるためのコマンド制御プログラムであって、
前記コマンド制御方法は、
複数のバッファが、複数の通信チャンネルの各々からコマンド信号を受信し、該コマンド信号の保持とビット検出をし、検出結果が正常であれば該コマンド信号を、前記検出結果が異常であればＬＯＷ信号を、中間処理コマンド信号として出力し、
ステートマシンが、前記複数のバッファが出力する複数の中間処理コマンド信号を受信し、前記複数の中間処理コマンド信号の中から１つの中間処理コマンド信号を順次選択して、コマンド処理信号として出力することを特徴とするコマンド制御プログラム。
【００８５】
（付記１６）
付記１５に記載のコマンド制御プログラムであって、
前記コマンド方法は、
前記ステートマシンが、前記複数の中間処理コマンド信号の中から１つの中間処理コマンド信号を選択した後、前記複数のバッファにおいて、他の中間処理コマンド信号が当該複数のバッファから出力されるまで、破棄されることなく保持され続けることを特徴とするコマンド制御プログラム。
【００８６】
（付記１７）
付記１５又は１６に記載のコマンド制御プログラムであって、
前記コマンド方法は、
前記複数のバッファの各々が、前記検出結果に基づいてフラグ信号を生成した後、該フラグ信号を前記ステートマシンに送信し、
前記ステートマシンが、前記複数のバッファから受信した複数の前記フラグ信号の各々に基づき、前記複数のバッファの各々のコマンド信号受信状態を検知することを特徴とするコマンド制御プログラム。
【００８７】
（付記１８）
付記１７に記載のコマンド制御プログラムであって、
前記コマンド制御方法は、
前記ステートマシンが、前記複数のバッファから受信した複数の前記フラグ信号の組み合わせに基づき、前記複数の中間処理コマンド信号の選択及び出力の順序を決定することを特徴とするコマンド制御プログラム。
【００８８】
（付記１９）
付記１５乃至１８のいずれか１に記載のコマンド制御プログラムであって、
前記コマンド制御方法は、
前記ステートマシンが、当該ステートマシンを初期化するリセット信号を生成し、該リセット信号を当該ステートマシンに送信することを特徴とするコマンド制御プログラム。
【００８９】
（付記２０）
付記１５乃至１９のいずれか１に記載のコマンド制御プログラムであって、
前記コマンド制御方法は、
前記ステートマシンが、前記複数のバッファを初期化するリセット信号を生成し、該リセット信号を前記複数のバッファに送信することを特徴とするコマンド制御プログラム。
【００９０】
（付記２１）
付記１５乃至２０のいずれか１に記載のコマンド制御プログラムであって、
前記コマンド制御方法は、
前記複数のバッファの各々が、当該複数のバッファの各々を初期化するリセット信号を生成し、該リセット信号を当該複数のバッファの各々に送信することを特徴とするコマンド制御プログラム。
【産業上の利用可能性】
【００９１】
本発明は、トランジスタなどの電子部品で構成されるシステムに適用することが可能である。更に、半導体集積回路で構成されるシステムに適用することも可能である。
【符号の説明】
【００９２】
１００  コマンド制御装置
２００  ２００−１  ２００−２  ２００−３  ２００−４  バッファ  
２１０  カウンタ    ２２０  シフトレジスタ    ２３０  ディテクタ    ２４０  タイミング
３００  ステートマシン
３１０  順序回路    ３２０  セレクタ
【図１】
0006629640.tif 000002
【図２】
0006629640.tif 000003
【図３】
0006629640.tif 000004
【図４】
0006629640.tif 000005
【図５Ａ】
0006629640.tif 000006
【図５Ｂ】
0006629640.tif 000007
【図５Ｃ】
0006629640.tif 000008
【図５Ｄ】
0006629640.tif 000009
【図６】
0006629640.tif 000010