(57)【要約】【課題】汎用インタフェースとしてのデータ入出力装置においてシリアル通信を行う際に、制御部によって通信中に行われていた処理を省略可能とする。【解決手段】ＧＰＩＯ１内にシリアル通信用のシフトクロックを生成するシフトクロック生成回路１１を備えるようにし、これを対応する端子ｔを介して出力可能にしておく。そして、出力データは、シリアル通信に係る複数ビットを通信前に予めシリアル出力データレジスタ６に書き込めるようにし、これを上記シフトクロックのタイミングで順次出力できるようにする。また、入力データについても、シリアル通信に係る複数ビットを保持可能なシリアル入力データレジスタ８を備えるようにし、ここに上記シフトクロックのタイミングで順次取り込めるようにしておく。これにより制御部は、通信中において従来のようにレジスタに対して値を書き込み／書き込み続けずにシリアル通信を行うことができる。【選択図】        図２
2004362035.tif 000002
【特許請求の範囲】
【請求項１】
外部装置との間でデータ通信を行うためのデータ入出力装置において、
出力データを保持する第１のデータ保持手段と、
シリアル通信により出力するシリアルデータを保持する第２のデータ保持手段と、
供給されたモード切り替え信号に応じて、上記第１のデータ保持手段に保持された上記出力データ、又は上記第２のデータ保持手段に保持された上記シリアルデータを選択的に出力する第１の選択手段と、
シリアル通信用の通信クロックを生成するクロック生成手段と、
上記モード切り替え信号に応じて、供給された汎用クロック又は上記通信クロックを選択的に出力する第２の選択手段と、
を備えることを特徴とするデータ入出力装置。
【請求項２】
供給された上記モード切り替え信号を保持する切替信号保持手段をさらに備え、
上記切替信号保持手段に保持された上記モード切り替え信号が、上記第１及び第２の選択手段へ供給される請求項１に記載のデータ入出力装置。
【請求項３】
供給された上記シリアル通信の条件を示すモード設定信号を保持するモード設定信号保持手段をさらに備え、
上記クロック生成手段は、上記モード設定信号保持手段に保持された上記モード設定信号に応じて上記通信クロックを生成する請求項１に記載のデータ入出力装置。
【請求項４】
外部装置との間でデータ通信を行うデータ処理装置であって、
所定のデータ処理を実行すると共に、上記データ通信を制御するプロセッサと、
上記データ処理により生成された出力データを保持する第１のデータ保持手段と、
上記データ処理により生成されたデータの中で、シリアル通信により出力するシリアルデータを保持する第２の保持手段と、
上記プロセッサから供給されたモード切り替え信号に応じて、上記第１のデータ保持手段に保持された上記出力データ、又は上記第２の保持手段に保持された上記シリアルデータを選択的に出力する第１の選択手段と、
シリアル通信用の通信クロックを生成するクロック生成手段と、
上記モード切り替え信号に応じて、上記プロセッサから供給された汎用クロック又は上記通信クロックを選択的に出力する第２の選択手段と、
を備えたことを特徴とするデータ処理装置。
【請求項５】
上記プロセッサから供給された上記モード切り替え信号を保持する切替信号保持手段をさらに備え、
上記切替信号保持手段に保持された上記モード切り替え信号が、上記第１及び第２の選択手段へ供給される請求項４に記載のデータ処理装置。
【請求項６】
上記プロセッサから供給された上記シリアル通信の条件を示すモード設定信号を保持するモード設定信号保持手段をさらに備え、
上記クロック生成手段は、上記モード設定信号保持手段に保持された上記モード設定信号に応じて上記通信クロックを生成する請求項４に記載のデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明は、汎用の入出力インタフェースとして構成されたデータ入出力装置、及びこのようなデータ入出力装置を備えて外部装置との通信を行うデータ処理装置に関する。
【０００２】
【従来の技術】
例えば、デジタル信号処理を行うＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）や、各種情報処理装置に備えられるＣＰＵ（Ｃｅｎｔｒａｌ  Ｐｒｏｃｅｓｓｉｎｇ  Ｕｎｉｔ）等のデータ処理装置には、外部装置との間でデータ通信を行うための、汎用の入出力端子（ＧＰＩＯ：Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ／ｏｕｔｐｕｔ）が備えられる場合がある。
このＧＰＩＯでは、外部装置との間での通信形態（例えば通信データの本数やシリアル／パラレル通信等）に対応させて、各端子をプログラマブルに使いわけることが可能に構成されている。つまり、例えば使用すべき端子の割り当てを任意に変更したり、各端子の入力／出力を切り換えたりすることにより、汎用のインタフェースを実現しているものである。
【０００３】
図４は、このようなＧＰＩＯの構成の一例を示したブロック図である。
先ず、この図に示されるＧＰＩＯ１００において、端子ｔ１、端子ｔ２、端子ｔ３は、当該ＧＰＩＯ１００が備えられるデータ処理装置と、外部装置との間で各種データ通信を行うための端子である。ここでは、外部装置との間で通信を行うための端子として、端子ｔ１〜ｔ３の３つのみが備えられる場合を挙げているが、これらの端子数は、外部装置との間での通信が想定されるデータの本数等に応じて任意に設定されればよいものである。
【０００４】
これら各端子ｔに対しては、図のように入力バッファ１０８と出力バッファ１０９とが１つずつ備えられている。そして、各端子ｔ対応に備えられる出力バッファ１０９−１〜１０９−３のそれぞれに対しては、入出力制御バス１０７を介して、入出力制御レジスタ１０４からのｅｎａｂｌｅ／ｄｉｓｅｎａｂｌｅ信号が供給される。
この場合、出力バッファ１０９−１〜１０９−３は、例えば上記入出力制御レジスタ１０４が出力したｅｎａｂｌｅ信号に応じてオンとなるようにされている。また、ｄｉｓｅｎａｂｌｅ信号に応じてはオフとなるようにされている。
つまりこの場合、上記入出力制御レジスタ１０４が出力したｅｎａｂｌｅ信号によっては、出力バッファ１０９が有効となり、対応する端子ｔを出力設定とすることができる。また、ｄｉｓｅｎａｂｌｅ信号によっては、入力バッファ１０８が有効となり、対応する端子ｔを入力設定とすることができる。
このようにして、ＧＰＩＯ１００においては、各端子ｔに対応する出力バッファ１０９にｅｎａｂｌｅ信号が供給されるか、又はｄｉｓｅｎａｂｌｅ信号が供給されるかによって、各端子ｔの入力設定／出力設定が切り換えられるものとされている。
【０００５】
入出力制御レジスタ１０４には、上記のように端子ｔごとに入力／出力の設定を行うためのｅｎａｂｌｅ／ｄｉｓｅｎａｂｌｅ信号としての値が、当該ＧＰＩＯ１００が備えられる例えばＤＳＰやＣＰＵの中心的制御を行うコア部から、図示する入出力制御部１０１を介して入力される。
この場合、入出力制御レジスタ１０４内には、端子ｔの数（出力バッファ１０９の数）に対応した複数のレジスタが構成される。その上で、これらレジスタのそれぞれは、入出力制御バス１０７を介して出力バッファ１０９−１〜１０９−３のうちの対応するものと接続されている。
このような構成による入出力制御レジスタ１０４に対し、上記コア部は、入出力制御部１０１に上記ｅｎａｂｌｅ／ｄｉｓｅｎａｂｌｅ信号としての値を供給すると共にそのアドレスを指定することで、この入出力制御レジスタ１０４内の対応するレジスタに値を書き込ませることができる。そして、レジスタに保持された値は、上記入出力制御バス１０７を介して接続された対応する出力バッファ１０９に対して供給されるものとなる。
つまり、このようにしてコア部は、入出力制御部１０１にデータとアドレスを指定し、入出力制御レジスタ１０４内の各レジスタに対応する値を書き込ませることにより、端子ｔ１〜ｔ３の入力／出力設定を行うことができるものである。
【０００６】
出力データレジスタ１０３にも、この場合は各出力バッファ１０９対応に複数のレジスタが備えられる。そして、これらレジスタのそれぞれは、出力データバス１０６を介して対応する出力バッファ１０９に対して接続される。その上で、この場合も上記コア部は、入出力制御部１０１を介してこれらのレジスタに対応する値を書き込むことにより、外部装置への送信データとしての値を、対応する出力バッファ１０９に対して供給させることができる。
これによって上記コア部は、予め設定された所定の端子ｔから、送信データとして値を出力させることができるものである。
【０００７】
また、入力データレジスタ１０２としても、入力バッファ１０８−１〜１０８−３に対応した数のレジスタが備えられる。そして、この入力データレジスタ１０２の各レジスタとしても、入力データバス１０５を介して対応する入力バッファ１０８と接続されている。
この入力データレジスタ１０２においては、外部装置から所要の端子ｔに供給され、対応する入力バッファ１０８に得られた値が、図示する入力データバス１０５を介して対応するレジスタに対して入力される。
そして、上述のコア部は、入出力制御部１０１にアドレスを指定して、この入力データレジスタ１０２内のレジスタに保持された値の読出を行わせることにより、外部装置からの入力データを取り込むことができる。
【０００８】
ここで、上記構成によるＧＰＩＯ１００を用いて、例えば外部装置との間でシリアルデータ通信を行うとする。そしてこのとき、例えば図のように端子ｔ１ではこのようなシリアル通信に必要なシフトクロックを、また端子ｔ２では出力データを、端子ｔ３では入力データを通信するものとされたとする。
このような条件に対応するために、先ずは、当該ＧＰＩＯ１００を備えるＤＳＰやＣＰＵ等のコア部は、上記入出力制御レジスタ１０４を用いた各端子ｔの設定を行う。すなわち、先の説明のように、上記入出力制御レジスタ１０４に値を入力することによって、各端子ｔの入力設定／出力設定を決定するものである。
【０００９】
そして、このように各端子ｔに対応する入力設定／出力設定を行った上で、コア部は、外部装置に対して送出すべき出力データ及びシフトクロックについては、それぞれ対応する値を出力データレジスタ１０３に対して書き込むことによって出力させる。つまりこの場合、上記出力データについては、出力データレジスタ１０３内における端子ｔ２に対応するレジスタに対し、その値を１ビットずつ順次に書き込む。また、上記シフトクロックについては、端子ｔ１に対応したレジスタに対し、Ｈ／Ｌを示す１ビットの値を順次書き込む。
このように出力データレジスタ１０３に順次書き込まれる値は、先にも説明したように、出力データバス１０６を介して対応する出力バッファ１０９に対して供給される。そしてこれにより、この場合は上記出力データを構成する値が端子ｔ２から、またシフトクロックとしての値は端子ｔ１から順次出力される。つまり、これによって、上記した条件に対応して、端子ｔ１からはシフトクロックを、端子ｔ２からは出力データをそれぞれ出力することが可能となるものである。
【００１０】
またこの際、端子ｔ３を介して外部装置から入力される入力データに関しては、その値が、入力バッファ１０８−３を介して入力データレジスタ１０２内の対応するレジスタに順次供給されるものとなる。そして、コア部としては、このように端子ｔ３に対応するレジスタに順次保持される１ビットの値を、入出力制御部１０１にアドレスを指示することによって順次読み出す。
これによってコア部は、端子ｔ３に供給される入力データを取り込むことができる。
【００１１】
なお、下記の特許文献には、通信時にコア側が書き込むべきデータの複数ビットを、通信開始前に予めマスクレジスタに対して保持させておくようにしたことにより、通信時におけるコア部の処理負担を軽減するものが記載されている。
【特許文献】
特開２００１−１９５３８４
【００１２】
【発明が解決しようとする課題】
上記のようにして、従来の構成によるＧＰＩＯ１００を用いたシリアル通信を行う場合では、シフトクロックを出力するために、上記コア部は、出力データレジスタ１０３内の対応するレジスタに対して常に値を書き込み続けなくてはならなかった。また、出力データについても、これを連続的に出力させるために、対応するレジスタに１ビットずつ順次に値を書き込まなければならなかった。
つまり、この場合のコア部としては、シフトクロック、出力データを外部装置に対して送出するにあたり、通信中は出力データレジスタ１０３に対して常に値を書き込み続けなくてはならなかったものである。
また、同様に外部装置から入力されたデータの読み込みに関しても、入力データレジスタ１０２内のレジスタに順次保持される値を途切れなく読み出すために、常にデータの読み出し処理を行っていなくてはならなかった。
【００１３】
このために、図４に示した従来のＧＰＩＯ１００を用いてシリアル通信を行う場合、データ処理装置のコア部は、通信中にこのようなシリアル通信を行うための処理に占有されてしまい、この間は他の処理を行うことができなくなってしまうという問題があった。
また、この際、上述のようなＧＰＩＯ１００を用いた通信動作を実現するためには、コア部のプログラムに上記のような順次の読み書きを行わせるための一連の処理動作を記述せねばならず、これによってプログラムコードサイズが増大化してしまうという問題もあった。
【００１４】
なお、先にも述べたように上記した特許文献では、通信時にコア側が書き込むべきデータの複数ビットを、通信開始前に予めマスクレジスタに対して保持させておくようにしたことにより、通信時におけるコア部の処理負担を軽減するようにしているが、この構成によると、シリアル通信を行う場合に依然としてコア部はシフトクロック周期でマスクレジスタにアクセスし続けなければならず、シリアル通信中におけるコア部の処理に空き時間が得られるものではない。
【００１５】
【課題を解決するための手段】
そこで、本発明では以上のような問題点に鑑み、外部装置との間でデータ通信を行うデータ入出力装置として、以下のように構成することとした。
すなわち、先ず、出力データを保持する第１のデータ保持手段と、シリアル通信により出力するシリアルデータを保持する第２のデータ保持手段とを備える。
そして、供給されたモード切り替え信号に応じて、上記第１のデータ保持手段に保持された上記出力データ、又は上記第２のデータ保持手段に保持された上記シリアルデータを選択的に出力する第１の選択手段を備え、さらに、シリアル通信用の通信クロックを生成するクロック生成手段と、上記モード切り替え信号に応じて、供給された汎用クロック又は上記通信クロックを選択的に出力する第２の選択手段とを備えるようにした。
【００１６】
また本発明では、外部装置との間でデータ通信を行うデータ処理装置として以下のように構成することとした。
つまり、先ず、所定のデータ処理を実行すると共に、上記データ通信を制御するプロセッサを備える。
そして、上記データ処理により生成された出力データを保持する第１のデータ保持手段と、上記データ処理により生成されたデータの中で、シリアル通信により出力するシリアルデータを保持する第２の保持手段とを備え、また、上記プロセッサから供給されたモード切り替え信号に応じて、上記第１のデータ保持手段に保持された上記出力データ、又は上記第２の保持手段に保持された上記シリアルデータを選択的に出力する第１の選択手段を備えるようにする。
その上で、シリアル通信用の通信クロックを生成するクロック生成手段と、上記モード切り替え信号に応じて、上記プロセッサから供給された汎用クロック又は上記通信クロックを選択的に出力する第２の選択手段とを備えるようにした。
【００１７】
このようにして本発明では、シリアル通信時に必要な通信クロック（シフトクロック）をデータ入出力装置側で生成してこれを出力するようにしたから、この場合の上記データ処理装置におけるプロセッサ（コア部）は、従来のようにシフトクロックの値を順次出力させるために、例えばレジスタにその値を書き込み続ける必要がなくなる。
また、シリアル通信により出力するシリアルデータに関しては、上記第２のデータ保持手段において、例えば複数ビットのデータを保持可能とすれば、上記プロセッサは複数ビットのデータを一度に書き込むことができる。つまりこの場合、上記プロセッサは、シリアル通信中にシリアルデータとしての値を書き込み続ける必要がなくなるものである。
これにより、上記プロセッサとしては、通信を行うための処理負担が軽減されると共に、通信中における処理に空き時間が得られる。
またこの際、汎用の出力データについては、上記第１の保持手段において保持可能とされ、このとき上記第１の選択手段が設けられることで、上記シリアルデータとこの汎用の出力データとを選択的に出力することが可能とされる。さらに、上記第２の選択手段が設けられることで、シリアル通信用の通信クロックと汎用のクロックとを選択的に出力することが可能とされる。
つまり、このような本発明によれば、従来と同様の汎用インタフェースとしての機能も実現可能なものである。
【００１８】
【発明の実施の形態】
以下、本発明の実施の形態について説明する。
図１は、本発明の実施の形態としての入出力装置が備えられた、実施の形態としてのデータ処理装置の内部構成例を示すブロック図である。
この図１において、実施の形態のデータ処理装置としては、例えばＣＤ（Ｃｏｍｐａｃｔ  Ｄｉｓｃ）、ＤＶＤ（Ｄｉｇｉｔａｌ  Ｖｅｒｓａｔｉｌｅ  Ｄｉｓｃ）等の各種メディアの記録再生装置内に備えられ、各種オーディオ信号処理を実行するようにされたＤＳＰ（Ｄｉｇｉｔａｌ  Ｓｉｇｎａｌ  Ｐｒｏｃｅｓｓｏｒ）としての構成を有する。
先ず、このような実施の形態としてのＤＳＰ５０において、図示するＤＰＳコア５１は、入力されたオーディオ信号に対するデジタルオーディオ信号処理を行うと共に、図示する第１バス５５、第２バス５４を介した各部の全体制御を行う。
このＤＳＰコア５１に対しては、図のようにプログラムメモリ５２、データメモリ５３が接続され、上記プログラムメモリ５２には、上記した全体制御を実現するためのプログラムが格納されている。また、上記データメモリ５３は、ＤＳＰコア５１の作業領域として使用される。
【００１９】
また、このＤＳＰコア５１に対しては、第１バス５５を介してタイマ５７、ＩＣＵ５８、ＧＰＩＯ（Ｇｅｎｅｒａｌ  Ｐｕｒｐｏｓｅ  Ｉｎｐｕｔ／ｏｕｔｐｕｔ：汎用端子）１、オーディオインタフェース５９が接続される。
上記タイマ５７は、ＤＳＰコア５１の各種計測や処理タイミング制御に使用される。
また、上記ＩＣＵ５８は、上記ＤＳＰコア５１へのインタラプト制御を行う。
上記ＧＰＩＯ１は、実施の形態としての入出力装置であり、プログラマブルに各端子の用途を変更可能に構成された汎用の外部入出力インタフェースである。なお、実施の形態としてのＧＰＩＯ１の内部構成については後の図２において説明する。
また、上記オーディオインタフェース５９では、外部装置との間でのオーディオ信号の授受が行われる。
【００２０】
上記したプログラムメモリ５２、データメモリ５３は、それぞれ第２バス５４と接続され、さらにこの第２バス５４に対しては、バスコントローラ５６、外部メモリインタフェース６０、ホストインタフェース６１が接続されている。
バスコントローラ５６は、上記した第１バス５５に対しても接続されており、これら第１バス５５及び第２バス５４を介した通信の制御をＤＳＰコア５１の制御に基づいて行う。
また、上記外部メモリインタフェース６０においては、当該ＤＳＰ５０の外部メモリとの間でデータの授受が行われる。
また、上記ホストインタフェース６１は、当該ＤＳＰ５０が備えられる例えば記録再生装置全体の制御を行うものとされるマイクロコンピュータとの間でデータ転送が行われる。
【００２１】
ここで、上記のように構成されるＤＳＰ５０において、第１バス５５を介してＤＳＰコア５１と接続されるタイマ５７、ＩＣＵ５８、ＧＰＩＯ１、オーディオインタフェース５９、及びバスコントローラ５６のそれぞれは、内部にＤＳＰコア５１からの読み書きが可能なレジスタが備えられ、これらのレジスタはメモリマップされている。そして、ＤＳＰコア５１は、これら各々のレジスタに対して値を書き込むことにより、上記したタイマ５７、ＩＣＵ５８、ＧＰＩＯ１、オーディオインタフェース５９、及びバスコントローラ５６の動作を制御することが可能とされている。
【００２２】
続いては、図２を用いて、実施の形態としてのＧＰＩＯ１の内部構成について説明する。
先ず、この図において、本実施の形態のＧＰＩＯ１では、図示する入出力制御部２、ＧＰＩＯ入出データレジスタ３、ＧＰＩＯ出力データレジスタ４、ＧＰＩＯ入出力制御レジスタ５、入力データバス１４、出力データバス１５、入出力制御バス１６、入力バッファ２０−１〜２０−ｎ、及び出力バッファ２１−１〜２１−ｎによる、ＧＰＩＯ機能部が形成される。このＧＰＩＯ機能部によって、従来と同様のＧＰＩＯ機能が実現される。
【００２３】
このＧＰＩＯ機能部において、それぞれ１組を為す入力バッファ２０−１・出力バッファ２１−１、入力バッファ２０−２・出力バッファ２１−２・・・入力バッファ２０−ｎ・出力バッファ２１−ｎの組のそれぞれは、ｎ個の端子ｔ１〜ｔｎのうちの対応する端子ｔと接続されている。
そして、図示するように、入力バッファ２０−１〜２０−ｎのそれぞれは、入力データバス１４に接続されている。また、出力バッファ２１−１〜２１−ｎのそれぞれは、出力データバス１５と接続されている。
なお、本実施の形態のＧＰＩＯ１においては、出力バッファ２１−１と出力データバス１５との間、及び出力バッファ２１−２と出力データバス１５との間に、図示するようにセレクタ１８及びセレクタ１９がそれぞれ挿入されるものとなるが、このＧＰＩＯ機能部についての説明においては、便宜上これらのセレクタはないものとして説明を続ける。
【００２４】
また、上記出力バッファ２１−１〜２１−ｎのそれぞれは、図示する入出力制御バス１６を介してＧＰＩＯ入出力制御レジスタ５に対して接続されており、これにより、出力バッファ２１−１〜２１−ｎに対する、ＧＰＩＯ入出力制御レジスタ５からのｅｎａｂｌｅ／ｄｉｓｅｎａｂｌｅ信号の供給経路が形成されている。
ここで、上記出力バッファ２１−１〜２１−ｎは、例えば上記ＧＰＩＯ入出力制御レジスタ５が出力したｅｎａｂｌｅ信号に応じてオンとなるようにされている。また、ｄｉｓｅｎａｂｌｅ信号に応じてはオフとなるようにされている。
つまりこの場合、上記ＧＰＩＯ入出力制御レジスタ５が出力したｅｎａｂｌｅ信号によっては、出力バッファ２１が有効となり、対応する端子ｔが出力設定とされる。また、ｄｉｓｅｎａｂｌｅ信号によっては、入力バッファ２０の方が有効となり、対応する端子ｔが入力設定とされるものである。
このようにして、ＧＰＩＯ機能部においては、各端子ｔに対応する出力バッファ２１にｅｎａｂｌｅ信号が供給されるか、又はｄｉｓｅｎａｂｌｅ信号が供給されるかによって、各端子ｔの入力設定／出力設定が切り換えられる。
【００２５】
ＧＰＩＯ入出力制御レジスタ５には、上記のように端子ｔごとに入力／出力の設定を行うためのｅｎａｂｌｅ／ｄｉｓｅｎａｂｌｅ信号としての値が、先の図１により示したＤＳＰコア５１（制御部）から、図示する入出力制御部２を介して入力される。
上記ＧＰＩＯ入出力制御レジスタ５内には、端子ｔの数（出力バッファ２１の数）に対応した複数のレジスタが構成される。すなわち、各端子ｔごとに対応づけられた、複数のレジスタが構成されている。その上で、これらレジスタのそれぞれは、先の入出力制御バス１６を介して、出力バッファ２１−１〜２１−ｎのうちの対応する１つの出力バッファ２１と接続されている。
このような構成によるＧＰＩＯ入出力制御レジスタ５に対し、上記ＤＰＳコア５１は、入出力制御部２にｅｎａｂｌｅ／ｄｉｓｅｎａｂｌｅ信号としての値を供給し、且つそのアドレスを指定することで、この入出力制御レジスタ５内の対応するレジスタに値を書き込ませることができる。そして、これによりレジスタに保持された値は、上記のように入出力制御バス１６を介して接続された、対応する出力バッファ２１に対して供給されるものとなる。
つまり、制御部としてのＤＳＰコア５１は、このようにして入出力制御部２にデータとアドレスを指定して、入出力制御レジスタ５内の所要のレジスタに対応する値を書き込ませることにより、端子ｔ１〜ｔｎの入力／出力設定を行うことができるものである。
【００２６】
ＧＰＩＯ出力データレジスタ４にも、各出力バッファ２１対応に複数のレジスタが備えられる。そして、この場合もこれらレジスタのそれぞれは、出力データバス１５を介して対応する出力バッファ２１に対して接続される。
その上で、この場合も上記ＤＳＰコア５１は、入出力制御部２にデータとアドレスを指定し、所要のレジスタに対応する値を書き込ませることにより、外部装置への送信データとしての値を、対応する出力バッファ２１に対して供給させることができる。
これによってＤＳＰコア５１は、予め設定された所定の端子ｔから、送信データとして値を出力させることができるものである。
【００２７】
また、ＧＰＩＯ入力データレジスタ３としても、入力バッファ２０−１〜２０−ｎに対応した数のレジスタが備えられる。そして、このＧＰＩＯ入力データレジスタ３の各レジスタとしても、入力データバス１４を介して対応する入力バッファ２０と接続されている。
このＧＰＩＯ入力データレジスタ３においては、外部装置から所要の端子ｔに供給され、対応する入力バッファ２０に得られた値が、上記入力データバス１４を介して対応するレジスタに対して入力される。
そして、ＤＳＰコア５１は、入出力制御部２にアドレスを指定して、このＧＰＩＯ入力データレジスタ３内のレジスタに保持された値の読み出しを行わせることにより、外部装置からの入力データを取り込むことができる。
【００２８】
入出力制御部２は、ＤＳＰコア５１の制御に基づいて、この図１に示されるそれぞれのレジスタ（ＧＰＩＯ入力データレジスタ３、ＧＰＩＯ出力データレジスタ４、ＧＰＩＯ入出力制御レジスタ５、及び後述するシリアル出力データレジスタ６、シリアル入力データレジスタ７、シリアル通信モードレジスタ１０、シリアル通信ステータスレジスタ１２、及びシリアル通信切替レジスタ１３）に対するデータの読出／書込を行う。
例えば、上記ＤＳＰコア５１からの書込指令として、データ及びアドレス情報が供給された場合は、このアドレス情報により示される対応するレジスタに対して上記データを書き込むように制御を行う。また、例えば読出指令としてアドレス情報が供給された場合は、このアドレス情報により示されるレジスタに保持されている値の読出を行って、これをＤＳＰコア５１に対して転送する。
【００２９】
上記構成によるＧＰＩＯ機能部においては、上述のように制御部としてのＤＳＰコア５１により、上記ＧＰＩＯ入出力制御レジスタ５内のレジスタに対応する値が書き込まれることによって、各端子ｔの入力／出力設定が切り替わるものとなる。また、上記ＧＰＩＯ出力データレジスタ４内のどのレジスタに値が書き込まれるかによって、出力データが出力される端子ｔが変更される。
また、さらに外部装置からの入力データについては、上記で説明したようにＧＰＩＯ入力データレジスタ３内に構成される、データが供給された端子ｔに対応するレジスタにその値が保持される構成とされたことにより、ＤＳＰコア５１がこれを取り込むことができる。
すなわち、このようなＧＰＩＯ機能部の構成によっては、ＤＳＰコア５の通信制御動作次第で端子ｔ１〜ｔｎを用いた如何なる通信をも行うことが可能であり、これによって汎用のインタフェースが実現されるものである。
【００３０】
ここで、本実施の形態のＧＰＩＯ１においては、上記構成によるＧＰＩＯ機能部に対し、図示するようにシリアル通信部１ａが備えられるものとなる。
このシリアル通信部１ａは、外部装置との間でのシリアル通信に特化した動作を行うために備えられるものである。そしてこの場合は、例えば図示するように端子ｔ１ではシフトクロック、端子ｔ２では出力データ、端子ｔ３では入力データを通信する形態に対応するように構成される。
【００３１】
このシリアル通信部１ａにおいて、先ず、シリアル出力データレジスタ６、シリアル通信モードレジスタ１０、シリアル通信ステータスレジスタ１２、及びシリアル通信切替レジスタ１３のそれぞれの入力側は、上記で説明した入出力制御部２と接続されている。そして、これにより、上記シリアル出力データレジスタ６、シリアル通信モードレジスタ１０、シリアル通信ステータスレジスタ１２、及びシリアル通信切替レジスタ１３には、ＤＳＰコア５１からの供給データが上記入出力制御部２を介して入力可能とされる。
また、シリアル入力データレジスタ８は、出力側が上記入出力制御部２と接続されており、これによりＤＳＰコア５１は、シリアル入力データレジスタ８に保持された値を、上記入出力制御部２を介して取り込むことが可能とされる。
【００３２】
上記シリアル出力データレジスタ６は、ＤＳＰコア５１から入出力制御部２を介して入力される、シリアル通信に係る複数ビットの出力データを同時に保持可能に構成される。
このシリアル出力データレジスタ６の出力側は、シフトレジスタ７の入力側と接続されている。そして、このシフトレジスタ７の出力側は、先に述べたセレクタ１９の一方の入力端子と接続されている。
上記セレクタ１９の他方の入力端子は、図示するように出力データバス１５と接続され、この場合はこの出力データバス１５を介し、ＧＰＩＯ出力データレジスタ４内の端子ｔ２に対応したレジスタと接続されている。
また、このセレクタ１９の出力側は、この場合は出力バッファ２１−２（端子ｔ２）と接続されている。
【００３３】
シリアル入力データレジスタ８の入力側は、シフトレジスタ９の出力側と接続される。
このシリアル入力データレジスタ８は、上記シフトレジスタ９から入力される、シリアル通信に係る複数ビットの入力データを同時に保持可能に構成される。
上記シフトレジスタ９の入力側は、この場合、入力バッファ２０−３（端子ｔ３）に対して接続されている。
【００３４】
シリアル通信モードレジスタ１０の出力は、シフトクロック生成回路１１に対して入力される。また、このシフトクロック生成回路１１には、シリアル通信ステータスレジスタ１２の出力も入力されるものとなる。
【００３５】
このシフトクロック生成回路１１には、図１に示したＤＳＰ５０において使用されるマスタークロックが入力されている。そして、このように入力されるマスタークロックと、上記シリアル通信モードレジスタ１０からの出力値とに基づいて、シリアル通信に用いるシフトクロックを生成する。
このシフトクロック生成回路１１により生成されるシフトクロックは、上記したシフトレジスタ７及びシフトレジスタ９のクロック入力として供給される。
また、さらにこのシフトクロックは、図示するように、この場合はセレクタ１８の一方の入力端子に対して供給される。
【００３６】
このセレクタ１８の他方の入力端子は、出力データバス１５と接続され、この出力データバス１５を介し、ＧＰＩＯ出力データレジスタ４内の端子ｔ１に対応するレジスタに対して接続されている。
また、このセレクタ１８の出力側は出力バッファ２１−１に対して接続される。
【００３７】
シリアル通信切替レジスタ１３の出力は、図示する通信切換バス１７を介して上記セレクタ１８、セレクタ１９に対して供給される。この場合、シリアル通信切替レジスタ１３内には、１つのレジスタが構成される。このレジスタに保持された値は、上記シリアル通信切換バス１７を介してセレクタ１８、セレクタ１９に供給されるように構成されている。
【００３８】
上記構成によるシリアル通信部１ａにおける、それぞれのレジスタの機能内容を次の図３に示す。
先ず、シリアル出力データレジスタ６は、シリアル通信時に外部装置に対して供給すべき出力データを書き込むためのレジスタである。先にも述べたように、このシリアル出力データレジスタ６は、ＤＳＰコア５１から入出力制御部２を介して供給される、シリアル通信に係る複数ビットのデータを同時に保持可能に構成される。つまりこの場合は、シリアル通信時に端子ｔ２を介して出力すべき、複数ビットの出力データを同時保持可能に構成されているものである。例えばこの場合、図示するように３２ｂｉｔのデータを同時に保持可能とされているものとする。
【００３９】
シリアル入力データレジスタ８は、シリアル通信時に外部装置から供給される入力データを書き込むためのレジスタである。このシリアル入力データレジスタ８としても、シリアル通信に係る複数ビットのデータを同時に保持可能に構成される。つまり、シリアル通信時に端子ｔ３に得られ、シフトレジスタ９を介して入力される複数ビットの入力データを同時保持可能に構成されているものである。
例えば、このシリアル入力データレジスタ８としても３２ｂｉｔのデータを同時に保持可能に構成されているものとする。
【００４０】
シリアル通信モードレジスタ１０は、外部装置との間で行うシリアル通信のフォーマットを設定するためのレジスタである。
このシリアル通信モードレジスタ１０には、図２に示したシフトクロック生成回路１１において生成させるシフトクロックの、ビット長、初期値（停止状態時の値）、ＭＳＢ／ＬＳＢｆｉｒｓｔ、及び周波数を設定するための値が、ＤＳＰコア５１から供給されこれらが保持される。
そして、これらの値がシフトクロック生成回路１１に供給されることで、上記したシフトクロックのビット長、初期値（停止状態時の値）、ＭＳＢ／ＬＳＢｆｉｒｓｔ、周波数のそれぞれの項目が設定されるものとなる。
【００４１】
この場合、図示するように上記したビット長の設定については、１〜３２ｂｉｔの設定が可能とされる。このために、この場合のシリアル通信モードレジスタ１０には、このような１〜３２ｂｉｔを設定するための５ｂｉｔ構成によるデータが、ＤＳＰコア５１側から供給される。
また、シフトクロック停止状態値（初期値）の設定としては、Ｈ／Ｌが設定可能であり、ＤＳＰコア５１側からはこのようなＨ／Ｌを設定するための１ｂｉｔのデータが供給される。また、ＭＳＢ／ＬＳＢｆｉｒｓｔについても、これを設定するための１ｂｉｔによるデータがＤＳＰコア５１側から供給される。
シフトクロックの周波数については、この場合、マスタークロックの分周比を設定するようにされる。例えばこの場合は、図示するように１／６４〜１／８１９２が設定可能であり、ＤＳＰコア５１側からはこれを設定するための３ｂｉｔのデータが供給される。
【００４２】
シリアル通信ステータスレジスタ１２は、シリアル通信の開始指示、及び通信状態のモニタ用のレジスタである。
この場合、ＤＳＰコア５１は、例えばこのシリアル通信ステータスレジスタ１２に「１」を書き込むことによりシリアル通信を開始させることができる。そして、このような通信時における例えば１転送分の動作の終了に応じては「０」が書き込まれる。
また、このことから、このシリアル通信ステータスレジスタ１２の値は、「１」はデータ転送中、「０」は転送終了を示すものとなる。そして、これにより、このシリアル通信ステータスレジスタ１２に保持される値を確認することによっては、通信状態をモニタすることが可能となる。
【００４３】
シリアル通信切替レジスタ１３は、シリアル通信部１ａによるシリアル通信と、従来のＧＰＩＯ機能部による通信との切替を行うためのレジスタであり、このような切替を行うための１ｂｉｔのデータがＤＳＰコア５１側から供給される。
この場合、ＤＳＰコア５１は、ＧＰＩＯ機能部を用いたノーマル通信を行うとしたときに対応して、例えば「０」を書き込むようにされる。また、シリアル通信部１ａによるシリアル通信を行うとしたときは、「１」を書き込むようにされている。
【００４４】
ここで、このような構成によるシリアル通信部１ａを用いたシリアル通信が行われる際の動作について説明する。
なお、この場合は、先にも述べたように端子ｔ１ではシフトクロック、端子ｔ２では出力データ、端子ｔ３では入力データの通信を行うものとされていることとする。
先ず、このような条件に対応するためにＤＳＰコア５１は、入出力制御部２にデータとアドレスを指定することにより、ＧＰＩＯ入出力制御レジスタ５内の対応するレジスタに値を書き込んで、出力バッファ２１−１、２１−２、２１−３に対応するｅｎａｂｌｅ／ｄｉｓｅｎａｂｌｅ信号を供給するようにされる。
つまりこの場合、出力バッファ２１−１、２１−２に対してはｅｎａｂｌｅ信号を供給し、端子ｔ１、端子ｔ２を出力設定とする。また、出力バッファ２１−３に対してはｄｉｓｅｎａｂｌｅ信号を供給して端子ｔ３を入力設定とする。
【００４５】
また、ＤＳＰコア５１は、このようなシリアル通信部１ａによる通信への切替を行うために、シリアル通信切替レジスタ１３に「１」を書き込むようにされる。
このようにシリアル通信切替レジスタ１３に「１」が書き込まれることにより、この値が通信切替バス１７を介してセレクタ１８、セレクタ１９の制御端子に入力される。そしてこれに応じ、セレクタ１８では、シフトクロック生成回路１１からのデータを入力するように切替が行われる。また、セレクタ１９では、シフトレジスタ７（つまりシリアル出力データレジスタ６）からのデータを入力するように切替が行われる。
つまり、これにより端子ｔ１からはシフトクロックを、また端子ｔ２からは出力データを出力できる状態が得られるものとなる。
【００４６】
さらに、ＤＳＰコア５１は、シリアル通信のフォーマットを設定するために、シリアル通信モードレジスタ１０に対し、先の図３にて説明した各項目に対応する値を書き込むようにされる。
そしてこれにより、シフトクロック生成回路１１にて対応するシフトクロックが生成される状態が得られることになる。
【００４７】
そして、本実施の形態の場合、ＤＳＰコア５１は、シリアル出力データレジスタ６に対する出力データの複数ビットの書き込みを行う。
つまりこの場合、先にも説明したようにシリアル出力データレジスタ６としては、出力データとして複数ビットのデータを保持可能に構成されているから、これによりＤＳＰコア５１は、通信を開始させる前において、一度に複数ビットの出力データの書き込みを行うことができるものである。
このようにシリアル出力データレジスタ６に保持されたデータは、然るべきタイミングでシフトレジスタ７にロードされる。
【００４８】
なお、ここで説明した各端子ｔの入出力設定、ノーマル／シリアルの通信切換、シフトクロック設定、レジスタへの出力データの書込の順は任意とされてよい。
【００４９】
このように各端子ｔの入出力設定、ノーマル／シリアルの通信切換、シフトクロック設定、レジスタへの出力データの書込を行った上で、ＤＳＰコア５１は、通信を開始させるとしたときにシリアル通信ステータスレジスタ１２に値「１」を書き込むようにされる。
これに応じては、このシフトクロック生成回路１１からのシフトクロックの出力が開始され、これによってセレクタ１８、出力バッファ１８を介して、端子ｔ１からこのシフトクロックが出力されるものとなる。
つまり、このシフトクロック生成回路１１を設けたことにより、外部装置に供給すべきシフトクロックが端子ｔ１を介して自動的に出力されるようになるものである。
【００５０】
また、シフトクロック生成回路１１から出力されるシフトクロックは、シフトレジスタ７及びシフトレジスタ９のクロック入力に対しても供給される。
これによって、上記シフトレジスタ７からは、ロードされた出力データがこのシフトクロックのタイミングで順次出力される。そして、このようにシフトレジスタ７から順次出力される出力データは、この場合はセレクタ１９及び出力バッファ１９を介して、端子ｔ２から出力される。
つまりこのことから、上記出力データは、上記シフトクロック生成回路１１から出力されるシフトクロックのタイミングに基づいて自動的に外部装置に対して出力されるものである。
【００５１】
また、入力データに関しては、この場合は端子ｔ３、入力バッファ２０−３を介して、入力データバス１４に供給される。そして、このように入力データバス１４に入力データが供給されることにより、シフトレジスタ９にこの入力データが供給される。
上記もしたように、このときシフトレジスタ９には、シフトクロック生成回路１１からのシフトクロックが入力されることになるから、このようにシフトレジスタ９に供給される入出データは、このシフトクロックのタイミングで順次このシフトレジスタ９に保持されていくものとなる。
【００５２】
シフトレジスタ９に保持された入力データは、シリアル通信が終了したタイミングでシリアル入力データレジスタ８に対して供給される。
ここで、上記もしたように、この場合のシリアル入力データレジスタ８は、このようなシリアル通信に係る入力データの複数ビットを保持可能に構成されているものである。つまり、このことからこの場合のＤＳＰコア５１は、シリアル入力データレジスタ８に複数ビットの入力データが保持された後に、この入力データを一度に取り込むことが可能とされるものである。
【００５３】
なお、図２の構成によると、上記のように入力データバス１４に供給された入力データは、ＧＰＩＯ入力データレジスタ３に対しても入力されるものとなる。従ってこの際、ＤＳＰコア５１としては、上記シリアル入力データレジスタ８、ＧＰＩＯ入力データレジスタ３のどちらからでも読出を行うことができるが、ＧＰＩＯ入力データレジスタ３から読み出す場合は、ここに保持される値を従来のように逐次読み続けなくてはならないことになる。
従って、シリアル通信部１ａによるシリアル通信を行うとした場合、ＤＳＰコア５１側は、入力データをシリアル入力データレジスタ８から読み出すようにプログラムされている必要がある。
【００５４】
上記のようなシリアル通信が終了したとされた場合は、シリアル通信ステータスレジスタ１３に「０」が書き込まれる。この値「０」の書き込みは、通信が終了したことが検出されたことに応じて、シリアル通信部１ａ側が行う。例えば、このような値「０」の書き込みは、シフトクロック生成回路１１がクロックの終了タイミングに応じて行うようにすればよい。
このようにして、シリアル通信ステータスレジスタ１３に「０」が書き込まれることにより、例えば１つのデータ転送動作が終了したことが示されるものとなる。
なお、このようにシリアル通信ステータスレジスタ１３の値が「０」となったタイミングでＩＣＵ５８に転送終了通知を供給することで、ＤＳＰコア５１に対するインタラプトを発生させることもできる。
【００５５】
このようにして本実施の形態のＧＰＩＯ１では、シフトクロック生成回路１１を設けて、シリアル通信時に用いるシフトクロックを生成することとしたことから、制御部としてのＤＳＰコア５１は、シリアル通信を行う際、シフトクロックを出力するためにレジスタに値を書き込み続ける必要がなくなる。
また、シリアル出力データレジスタ８に出力データの複数ビットを保持させ、これを上記シフトクロック生成回路１１により生成されるシフトクロックに基づいて順次出力させるようにしたから、ＤＳＰコア５１としては、シリアル通信中に出力データをレジスタに書き込み続ける必要がなくなる。
また、さらに本実施の形態では、外部装置から得られる入力データの複数ビットを同時保持可能としたことから、入力データが保持されるレジスタから値を読み出し続ける必要もなくなるものとなる。
【００５６】
つまり、このような本実施の形態によれば、ＤＳＰコア５１は、シリアル通信中においてシフトクロック、出力データ、入力データの通信を行うために、ＧＰＯＩ１にアクセスし続ける必要がなくなるものとなり、これによって、ＤＳＰコア５１は、通信中においても他の処理を行うことが可能となる。
【００５７】
またこの際、上記もしているようにＤＳＰコア５１としては、通信中においてレジスタに値の書込／読出を行い続ける必要がなくなるから、これに伴って通信制御を行うためのプログラムのコードサイズを従来よりも削減できることにもなる。
【００５８】
また、さらに本実施の形態では、図２に示したシリアル通信部１ａとして、シリアル通信切替レジスタ１３、セレクタ１８、セレクタ１９を備えるようにしたことにより、ＤＳＰコア５１によって上記シリアル通信切替レジスタ１３に書き込まれる値に応じて、従来のＧＰＩＯ機能部による通信、シリアル通信部１ａによる通信を切り替えることが可能とされている。
また、このようなセレクタ１８、セレクタ１９を備えるようにし、ＧＰＩＯ機能部とシリアル通信部１ａとで用いる端子ｔを共通化したことから、本実施の形態としてのシリアル通信を、端子ｔの増加なしで行うことが可能とされている。
【００５９】
なお、上記した実施の形態では、本発明のデータ処理装置が、例えばＣＤ、ＤＶＤ、その他のメディアに対応した記録再生装置に備えられてデジタルオーディオ信号処理を行うＤＳＰとされる場合を例に挙げたが、本発明としては、例えば映像信号処理等の他のデジタル信号処理を行うデータ処理装置にも好適に適用できるものである。
【００６０】
また、実施の形態では、端子ｔ１ではシフトクロック、端子ｔ２では出力データ、端子ｔ３では入力データの通信を行うもとして、これに対応するＧＰＩＯ１の構成を例示したが、例えば、シリアル出力データレジスタ６、シフトレジスタ７を増設して出力データの本数の増加に対応させたり、或いはシリアル入力データレジスタ８、シフトレジスタ９を増設して、入力データの本数の増加に対応した構成が採られてもよい。
またこの際、セレクタ１８（或いはセレクタ１９）を全端子ｔに対して設けるようにすれば、シリアル通信部１ａが通信を行う端子ｔを選択することもできる。
【００６１】
【発明の効果】
以上のように本発明では、例えば所定のデータ処理を実行すると共に上記データ通信を制御するプロセッサを備えたデータ処理装置に備えられて、外部装置との間でデータ通信を行うためのデータ入出力装置として、先ず、上記データ処理により生成された出力データを保持する第１のデータ保持手段と、上記データ処理により生成されたデータの中で、シリアル通信により出力するシリアルデータを保持する第２のデータ保持手段とを備えるようにしている。
そして、上記プロセッサから供給されたモード切り替え信号に応じて、上記第１のデータ保持手段に保持された上記出力データ、又は上記第２のデータ保持手段に保持された上記シリアルデータを選択的に出力する第１の選択手段とを備えるようにしている。
その上で、シリアル通信用の通信クロックを生成するクロック生成手段と、上記モード切り替え信号に応じて、供給された汎用クロック又は上記通信クロックを選択的に出力する第２の選択手段とを備えるようにしている。
【００６２】
上記のような本発明では、シリアル通信時に必要な通信クロック（シフトクロック）は、データ入出力装置側で生成されて出力されるようになるから、この場合の上記データ処理装置におけるプロセッサ（コア部）は、従来のようにシフトクロックの値を順次出力させるために、例えばレジスタにその値を書き込み続ける必要がなくなる。
また、シリアル通信により出力するシリアルデータに関しては、上記第２のデータ保持手段において、例えば複数ビットのデータを保持可能とすれば、上記プロセッサは複数ビットのデータを一度に書き込むことができる。つまりこの場合、上記プロセッサは、シリアル通信中にシリアルデータとしての値を書き込み続ける必要がなくなるものである。
【００６３】
これにより、本発明において上記プロセッサは、通信を行うための処理負担が軽減されると共に、通信中における処理に空き時間が得られるようになり、通信中においても他の処理を行うことが可能となる。
またこの際、通信制御のためのプログラムから、上記のようなレジスタに対する書き込みを実行させるための記述を削除でき、プログラムコードサイズを従来よりも小さくすることができる。
【００６４】
また、上記本発明によれば、汎用の出力データについては、上記第１の保持手段において保持可能とされ、このとき上記第１の選択手段が設けられることで、上記シリアルデータとこの汎用の出力データとを選択的に出力することが可能とされている。さらに、上記第２の選択手段が設けられることで、シリアル通信用の通信クロックと汎用のクロックとを選択的に出力することが可能とされる。
つまり、このような本発明によれば、従来と同様の汎用インタフェースとしての機能も実現可能なものである。
【図面の簡単な説明】
【図１】本発明における実施の形態としてのデータ処理装置の内部構成例について示すブロック図である。
【図２】本発明の実施の形態としてのデータ入出力装置の内部構成例について説明するための回路図である。
【図３】実施の形態のデータ入出力装置が備える各レジスタの機能内容を説明するための図である。
【図４】従来のデータ入出力装置の構成を示す回路図である。
【符号の説明】
１  ＧＰＩＯ、２  入出力制御部、３  ＧＰＩＯ入力データレジスタ、４  ＧＰＩＯ出力データレジスタ、５  ＧＰＩＯ入出力制御レジスタ、６  シリアル出力データレジスタ、７、９  シフトレジスタ、８  シリアル入力データレジスタ、１０  シリアル通信モードレジスタ、１１  シフトクロック生成回路、１２  シリアル通信ステータスレジスタ、シリアル通信切替レジスタ、１８、１９  セレクタ、５０  ＤＳＰ、５１  ＤＳＰコア、５２  プログラムメモリ、５３  データメモリ、５４  第２バス、５５  第１バス、５６  バスコントローラ、５７タイマ、５８  ＩＣＵ、５９  オーディオインタフェース、６０  外部メモリインタフェース、６１  ホストインタフェース
【図１】
2004362035.tif 000003
【図２】
2004362035.tif 000004
【図３】
2004362035.tif 000005
【図４】
2004362035.tif 000006