(57)【要約】【課題】リード又はライトの命令を連続して複数回行う場合、高速にアクセスすることができ、また、シリアルバスのトラフィックにかかる負荷が小さいシリアルバスにおけるデータ転送制御装置及びシリアルバスにおけるデータ転送制御装置の制御方法を提供することを目的とする。【解決手段】リード又はライトの命令を連続して複数回行う場合、複数のアドレスとデータとを１つのデータと見なして送信するシリアルバスにおけるデータ転送制御装置及びシリアルバスにおけるデータ転送制御装置の制御方法である。【選択図】図３
2009098799.tif 000002
【特許請求の範囲】
【請求項１】
シリアルバスで接続された第１の集積回路と第２の集積回路とを備える電子機器であって、
上記第１の集積回路は、
上記第２の集積回路に設けられている書き込みレジスタに書き込みを行う場合、書き込むアドレスが連続すれば、書き込むアドレス情報とそのデータとを圧縮する圧縮手段と；
上記圧縮手段による圧縮に関する情報と圧縮された複数のデータとから成る１つのパケットを生成するパケット生成手段と；
パケット生成手段が生成したパケットデータを、シリアルバスに出力する出力手段と；
を有する回路であり、
上記第２の集積回路は、
パケットデータをシリアルバスにから入力する入力手段と；
上記入力手段が入力したパケットデータをアドレス単位のデータに分ける分離手段と；
上記分離手段が分離したデータを、圧縮に関する情報に基づいて伸張し、アドレス情報とアドレスに対応したデータとを取得する取得手段と；
上記取得手段が取得したアドレス情報に基づいて、アドレスに対応するデータを設定する設定手段と；
を有する回路であることを特徴とする電子機器。
【請求項２】
請求項１において、
上記第２の集積回路は、複数の回路ブロックを備える回路であり、上記アドレス情報は、上記複数の回路ブロックのうちで、設定する回路ブロックを指定する情報を含む情報であることを特徴とする電子機器。
【請求項３】
シリアルバスで接続された第１の集積回路と第２の集積回路とを備える電子機器の制御方法であって、
上記第１の集積回路は、
上記第２の集積回路に設けられている書き込みレジスタに書き込みを行う場合、書き込むアドレスが連続すれば、書き込むアドレス情報とそのデータとを圧縮する圧縮工程と；
上記圧縮工程で行われる圧縮に関する情報と、圧縮された複数のデータとから成る１つのパケットを生成するパケット生成工程と；
パケット生成工程で生成されたパケットデータをシリアルバスに出力する出力工程と；
を行い、
上記第２の集積回路は、
パケットデータをシリアルバスにから入力する入力工程と；
上記入力工程で入力されたパケットデータを、アドレス単位のデータに分ける分離工程と；
上記分離工程で分離されたデータを、圧縮に関する情報に基づいて伸張し、アドレス情報とアドレスに対応したデータとを取得する取得工程と；
上記取得工程で取得されたアドレス情報に基づいて、アドレスに対応するデータを設定する設定工程と；
を行うことを特徴とする電子機器の制御方法。
【発明の詳細な説明】
【技術分野】
【０００１】
本発明は、電子機器におけるシリアルバスを用いたデータ転送に関する。
【背景技術】
【０００２】
従来、パソコンとその周辺機器を接続するインタフェースとして、パラレルインタフェースであるＳＣＳＩ（Ｓｍａｌｌ  Ｃｏｍｐｕｔｅｒ  Ｓｙｓｔｅｍ  Ｉｎｔｅｒｆａｃｅ）、又はシリアルインタフェースであるＵＳＢが、長年にわたり使用されている。
【０００３】
近年、デジタル画像圧縮技術の発展によって、パソコンでデジタル動画像データを扱い、動画像データをパソコンに転送しながら、パソコンで動画像データを再生する機能が要求されている。しかし、ＳＣＳＩやＵＳＢ１．１では、実時間データ転送への対応は不可能である。
【０００４】
また、パソコンと周辺機器との間で転送するデータも、デジタルカメラやスキャナ等の高精細カラー静止画データがあり、これを出力するためのプリンタには、大量の転送データが要求されるが、大量データの転送は、長い時間を要する。このために、高速なインタフェースが要求される。
【０００５】
ＳＣＳＩに代表されるパラレルインタフェースは、複数のデータ線を用いてデータを転送する。したがって、クロック当たりのデータ転送能力は高いが、動作周波数が上がると、ノイズが増え、信号線間での干渉の影響や、信号線の配線長の違い等によって起こる遅延が原因で、正確な信号伝達が困難である。
【０００６】
パラレルインタフェースの方式の１つであるコモン・クロック方式は、ＰＣＩ（Ｐｅｒｉｐｈｅｒａｌ  Ｃｏｍｐｏｎｅｎｔ  Ｉｎｔｅｒｃｏｎｎｅｃｔ）等、多くのパラレルインタフェースが用いられている。データの送信側と受信側とが、共通のクロックに同期して、データ転送する。しかし、転送を正しく行うためには、送信側から受信側までの遅延が１クロック周期以内に収まっている必要があり、クロック周期を、遅延時間よりも短くすることができず、したがって、転送時間を短縮することが難しい。
【０００７】
シリアルインタフェースは、１本の伝送路でデータをやりとりし、信号線の数が少ないので、ケーブルは細く、制御チップの端子数も少ないので、干渉や遅延が起こり難く、動作周波数を容易に高めることができる。
【０００８】
また、近年では、集積する回路量によって、半導体チップの面積が決まるのではなく、半導体チップの面積は、半導体チップと外部とを接続する端子の数に依存する傾向が強い。この傾向は、半導体集積回路の微細化の進捗が、半導体チップ端子間隔の狭小化の進捗を上回っているために生じる。つまり、微細化によって、半導体チップに集積できる回路量が増加しているが、半導体チップ上の端子間隔は、あまり狭められないので、結果として、半導体チップの面積、ひいては、半導体チップの製造コストが端子数で決まる。
【０００９】
端子数を削減するためには、多くの端子を必要とするパラレルバスに代えて、シリアルバスを用いることが有効である。
【００１０】
また、２つのチップをシリアルバスで接続する制御技術として、次の発明が知られている。つまり、要求処理と応答処理とを別々に行い、モジュール内の各回路間を、パケット方式で転送し、２つのチップ間を接続し、これら２つのチップ間で、パラレル−シリアル変換し、モジュール間の転送を制御する（たとえば、特許文献１参照）。
【特許文献１】特開２００３−１９８３５６号公報
【発明の開示】
【発明が解決しようとする課題】
【００１１】
上記従来技術では、複数のデータを連続してシリアルバスで接続された２つのチップ間でアクセスする場合、パケットからデータを取り出す処理が発生し、その数が多くなるとその分、トラフィックが集中し、転送効率が低下する。
【００１２】
図１０は、シリアルバスで接続されている２つのチップについての従来のシリアル転送システムＳＳ３を示すブロック図である。従来のシリアル転送システムＳＳ３は、第１のチップＣ１３と、第２のチップＣ２３とを有する。
【００１３】
第１のチップＣ１３は、第１シリアルデータ送受信コントローラ１１を有し、シリアルバスＳＢ１を介して、第２のチップＣ２３と接続されている。また、第１のチップＣ１３は、パラレルバスＰＢ１、ＰＢ２を介して、外部のＣＰＵ３１、外部のメモリ３２のそれぞれと、接続されている。
【００１４】
また、第２のチップＣ２３は、第２シリアルデータ送受信コントローラ２２と、第１機能回路ブロック２３と、第２機能回路ブロック２４と、第３機能回路ブロック２５と、メモリ２６とを有する。
【００１５】
図１１は、従来のパケットの構成例を示す図である。
【００１６】
通信方式によって、パケットの形式も異なるが、一般的に、リード時のパケットは、ヘッダとアドレスとで構成され、ライト時のパケットはヘッダとアドレスとデータとで構成されている。一例として、ＰＣＩエクスプレスの場合、ヘッダのビット数とアドレスのビット数との合計が９６〜１２８ｂｉｔであり、データ量は、０〜４０９６ｂｙｔｅで設定可能である。
【００１７】
たとえば、第１機能回路ブロック２３に設けられているレジスタに対して連続して５０回のライト処理を行う場合、シリアルバスを５０個のパケットが転送される。この５０個のパケットに含まれているヘッダの解析を１つずつ行う。このパケットの数の増加に伴い、ヘッダの解析に要する時間が長くなる。このために、パケットの数に比例して、バスを占有する時間が長くなるという問題がある。
【００１８】
本発明は、リード又はライトの命令を連続して複数回行う場合、高速にアクセスすることができ、また、シリアルバスのトラフィックにかかる負荷が小さいシリアルバスにおけるデータ転送制御装置及びその制御方法を提供することを目的とする。
【課題を解決するための手段】
【００１９】
本発明は、シリアルバスで接続された第１の集積回路と第２の集積回路とを備える電子機器であって、上記第１の集積回路は、上記第２の集積回路に設けられている書き込みレジスタに書き込みを行う場合、書き込むアドレスが連続すれば、書き込むアドレス情報とそのデータとを圧縮する圧縮手段と、上記圧縮手段による圧縮に関する情報と圧縮された複数のデータとから成る１つのパケットを生成するパケット生成手段と、パケット生成手段が生成したパケットデータを、シリアルバスに出力する出力手段とを有する回路であり、上記第２の集積回路は、パケットデータをシリアルバスにから入力する入力手段と、上記入力手段が入力したパケットデータをアドレス単位のデータに分ける分離手段と、上記分離手段が分離したデータを、圧縮に関する情報に基づいて伸張し、アドレス情報とアドレスに対応したデータとを取得する取得手段と、上記取得手段が取得したアドレス情報に基づいて、アドレスに対応するデータを設定する設定手段とを有する回路であることを特徴とする電子機器である。
【００２０】
また、本発明は、シリアルバスで接続された第１の集積回路と第２の集積回路とを備える電子機器の制御方法であって、上記第１の集積回路は、上記第２の集積回路に設けられている書き込みレジスタに書き込みを行う場合、書き込むアドレスが連続すれば、書き込むアドレス情報とそのデータとを圧縮する圧縮工程と、上記圧縮工程で行われる圧縮に関する情報と、圧縮された複数のデータとから成る１つのパケットを生成するパケット生成工程と、パケット生成工程で生成されたパケットデータをシリアルバスに出力する出力工程とを行い、上記第２の集積回路は、パケットデータをシリアルバスにから入力する入力工程と、上記入力工程で入力されたパケットデータを、アドレス単位のデータに分ける分離工程と、上記分離工程で分離されたデータを、圧縮に関する情報に基づいて伸張し、アドレス情報とアドレスに対応したデータとを取得する取得工程と、上記取得工程で取得されたアドレス情報に基づいて、アドレスに対応するデータを設定する設定工程とを行うことを特徴とする電子機器の制御方法である。
【発明の効果】
【００２１】
本発明によれば、リード又はライトの命令を連続して複数回送信する場合、ヘッダについてデータ量が減り、バスの転送効率を向上させることができるという効果を奏する。
【発明を実施するための最良の形態】
【００２２】
発明を実施するための最良の形態は、次の実施例である。
【実施例１】
【００２３】
図１は、本発明の実施例１であるシリアル転送システムＳＳ１の構成を示す図である。
【００２４】
シリアル転送システムＳＳ１は、シリアルバスで接続された第１の集積回路と第２の集積回路とを備える電子機器である。
【００２５】
シリアル転送システムＳＳ１は、電子機器の例であり、具体的には、記録装置（インクジェットプリンタ）であり、たとえば、インクを吐出するために記録ヘッドの駆動を行う。この駆動の制御のために、記録ヘッドの制御回路に対して連続してアクセスを行う場合がある。または、記録装置のモータを駆動するために、モータの制御回路に、連続して初期化のためのアクセスを行う場合がある。これらの制御回路に対するアクセスは、その回路に設けられているレジスタにアクセスを行う。または、記録データを保持するプリントバッファなどのメモリに対して、連続してアクセスする場合もある。
【００２６】
シリアル転送システムＳＳ１は、第１のチップＣ１１と、第２のチップＣ２１とを有する。第１のチップＣ１１は、第１の集積回路の例であり、第２のチップＣ２１は、第２の集積回路の例であり、シリアルバスで接続されている。
【００２７】
第１のチップＣ１１は、第１シリアルデータ送受信コントローラ（シリアル通信部）１１と、第１データエンコードデコード回路１２とを有し、シリアルバスＳＢ１を介して、第２のチップＣ２１と接続されている。第１データエンコードデコード回路１２は、アドレス情報やデータを圧縮する圧縮部と複数のデータから１つのパケットデータを生成するパケット生成部を備えている。
【００２８】
また、第１のチップＣ１１は、パラレルバスＰＢ１を介して、外部のＣＰＵ３１と接続され、第１のチップＣ１１は、パラレルバスＰＢ２を介して、外部のメモリ３２と接続されている。
【００２９】
第２のチップＣ２１は、第２データエンコードデコード回路２１と、第２シリアルデータ送受信コントローラ（シリアル通信部）２２と、第１機能回路ブロック２３と、第２機能回路ブロック２４と、第３機能回路ブロック２５と、メモリ２６とを有する。
【００３０】
第２シリアルデータ送受信コントローラ（シリアル通信部）２２は、パケットデータをシリアルバスから入力する。
【００３１】
第２データエンコードデコード回路２１は、１つのパケットデータを、複数のデータに分離する分離部と、分離部が分離したデータを伸張する伸張部、データを設定する設定部を備えている。
【００３２】
分離部は、アドレス単位（アクセス単位に）で複数のデータに分離する。この分離によって、第１のチップＣ１１において、１つのパケットデータを生成する前のデータ形式に戻る。
【００３３】
伸張部は、第１データエンコードデコード回路１２に設けられている圧縮部で行われる圧縮処理情報を保持し、この圧縮処理情報に基づいて伸張処理を行う。この伸張部が伸張処理を行うことによって、データを格納するレジスタのアドレス情報とデータとを取得することができる。
【００３４】
設定部は、このアドレス情報に基づいて、データを設定する機能回路ブロックを特定し、この特定された機能回路ブロックに、設定（書き込み）する。この設定部は、アドレス情報に基づいて、連続するアドレスに対して、各アドレスに対応するデータを設定する。
【００３５】
メモリ３２、２６には、プログラムや制御データのパラメータ等が記憶されている。たとえば、第１機能回路ブロック２３は、記録ヘッドを駆動するための制御ブロックである。また、第２機能回路ブロック２４は、モータを駆動するための制御ブロックである。第１データエンコードデコード回路１２と第２データエンコードデコード回路２１とは、複数個連続で送信されたレジスタアクセス指令等をエンコードし、同一のパケット形式に変換する機能を有する。また、第１データエンコードデコード回路１２と第２データエンコードデコード回路２１は、同一のパケット形式で送信されてきたレジスタアクセス指令等をデコードする機能を有する回路である。
【００３６】
第１シリアルデータ送受信コントローラ１１は、第１のチップＣ１１で生成されたパケットを解析し、第２のチップＣ２１が有する所定の回路ブロックに送信する回路である。第２シリアルデータ送受信コントローラ２２は、第２のチップＣ２１で生成されたパケットを解析し、第１のチップＣ１１の所定の回路ブロックに送信する回路である。
【００３７】
実施例１には、第２のチップＣ２１内部に、機能回路ブロックが３つ、メモリが１つが設けられているが、内部のパラレルバスに接続されている機能回路ブロック及びメモリはいくつでもよい。
【００３８】
また、実施例１は、第１のチップＣ１１が、外部のＣＰＵ３１と、外部のメモリ３２と、パラレルバスＰＢ１、ＰＢ２とに接続されているが、ＣＰＵ３１とメモリ３２とが、第１のチップＣ１１の内部に包括されていてもよい。
【００３９】
次に、データエンコードデコード回路１２、２１によって生成されるパケットについて説明する。
【００４０】
つまり、第１のチップＣ１１は、第１の集積回路の例であり、第１の集積回路は、上記第２の集積回路に設けられている書き込みレジスタに書き込みを行う場合、書き込むアドレスが連続すれば、書き込むアドレス情報とそのデータとを圧縮する圧縮手段を有する。また、第１の集積回路は、上記圧縮手段による圧縮に関する情報と圧縮された複数のデータとから成る１つのパケットを生成するパケット生成手段と、パケット生成手段が生成したパケットデータを、シリアルバスに出力する出力手段とを有する回路である。
【００４１】
さらに、第２のチップＣ２１は、第２の集積回路の例であり、第２の集積回路は、パケットデータをシリアルバスにから入力する入力手段と、上記入力手段が入力したパケットデータをアドレス単位のデータに分ける分離手段とを有する。また、第２の集積回路は、上記分離手段が分離したデータを、圧縮に関する情報に基づいて伸張し、アドレス情報とアドレスに対応したデータとを取得する取得手段を有する。さらに、第２の集積回路は、上記取得手段が取得したアドレス情報に基づいて、アドレスに対応するデータを設定する設定手段を有する回路である。
【００４２】
図２は、実施例１におけるパケット形式のフォーマットを説明する図である。
【００４３】
データエンコードデコード回路１２、２１で生成されたパケットは、ヘッダ、コマンド、アクセスデータによって構成されている。このパケットデータは、５７６ビットである。ヘッダは、６４ｂｉｔで構成され、コマンドは、２６ｂｉｔで構成され、データ（アクセスデータ）は、４８６ｂｉｔで構成されている。
【００４４】
内部には、シリアルバスを通過するために必要な情報が含まれ、送信側の第１、第２シリアルデータ送受信コントローラ１１、２２で解析される。アクセスデータは、ＣＰＵから、連続した複数のアクセス命令をエンコードしたものであり、書き込みを行う場合、アドレスとデータとが、複数セットのデータブロック（データのかたまり）になる。また、読み出しを行う場合、複数個のアドレスで構成されるデータブロックになる。
【００４５】
ここでは、コマンド＋アクセスデータのｂｉｔ幅を５１２ｂｉｔとする。すなわち、コマンドとアクセスデータとの量をビット数で表すと、５１２ビットである。コマンドは、受信側のデータエンコードデコード回路のアドレスを表す８ｂｉｔと、アクセスの種類（リードまたはライト）を表す２ｂｉｔと、アクセスデータの個数を表す８ｂｉｔと、１個のデータのｂｉｔ幅を表す８ｂｉｔとによって構成されている。なお、上記リードライト（２ｂｉｔ）は、連続して読み出しであるか、連続して書き込みであるかの転送方向を示すデータである。
【００４６】
実施例１において、ヘッダ６４ｂｉｔ、コマンド２６ｂｉｔ、アクセスデータ４８６ｂｉｔの場合を説明しているが、これに限定する必要はない。ＣＰＵからの連続してアクセスする命令の数が少なければ、２５６ｂｉｔにしてもよく、また、ＣＰＵからの連続してアクセスする命令の数が多ければ、１０２４ｂｉｔにしてもよい。
【００４７】
すなわち、シリアル転送システムＳＳ１は、データ転送制御装置の例であり、ＣＰＵと、メモリと、データの送受信を制御するシリアルデータ送受信コントローラとから成るデータ送信手段と、データの送受信を制御する送受信コントローラとを有する。また、シリアル転送システムＳＳ１は、複数のアクセス命令を同一パケットに変換する手段と上記パケットからアクセス命令に復元する手段とを具備するチップが複数、シリアルバスで接続されているデータ転送制御装置である。
【００４８】
上記パケットは、ヘッダとコマンドとアクセスデータとによって構成され、上記コマンドが、アクセスデータを定義する機能を具備する。
【００４９】
このパケットに含まれるデータは、アクセスするレジスタのアドレス、またはアクセスするメモリのアドレスが連続している。このアクセスは、ライト処理（書き込み処理）またはリード処理（読出し処理）である。この場合、上記シリアルデータ送受信コントローラを介して、上記パケットが高速シリアルバスを経由して、上記複数のチップのいずれかに転送される。そして、上記シリアルデータ送受信コントローラが、上記パケットからアクセス命令に復元する手段に転送し、複数のコマンドを解析し、この解析された内容に応じて、レジスタアクセスする。
【００５０】
第１のチップから、第２のチップの複数レジスタ又はメモリにリードが指定されると、シリアルデータ送受信コントローラによって、複数のアクセス命令をパケットに変換する手段によって構成されたパケットが、第２のチップから第１のチップに送信される。
【００５１】
次に、実施例１における転送処理について説明する。
【００５２】
図３は、シリアル転送システムＳＳ１において、第１機能回路ブロック２３に書き込みを行う動作を示す説明図である。
【００５３】
インクを吐出するために、同じ回路ブロックに、連続してレジスタアクセスする場合、１２色のインクを使用し、かつ、１色につき２本のインク吐出列を有し、かつインク吐出列が偶数、奇数別々に構成されていれば、４８回のレジスタライトが連続する。
【００５４】
第１機能回路ブロック２３への書き込み要求をＣＰＵ３１が受け、第１データエンコードデコード回路１２にレジスタライトするためのアクセス指令を、複数回連続して送信する。このアクセス指令が、第１データエンコードデコード回路１２でエンコードされ、図２に示す形式に変換される。次に、第１データエンコードデコード回路１２で形成されたパケットは、第１シリアルデータ送受信コントローラ１１がヘッダ内部を解析し、パケットのコマンド内部に格納されている第２データエンコードデコード回路２１の指定のアドレスに送信される。その後、第２データエンコードデコード回路２１によってデコードされ、第１機能回路ブロック２３のレジスタに書き込まれる。
【００５５】
図４は、シリアル転送システムＳＳ１において、第１機能回路ブロック２３のデータを読み出す場合を示す説明図である。
【００５６】
第１機能回路ブロック２３からの読み出し要求をＣＰＵ３１が受け、第１機能回路ブロック２３からレジスタリードを行うためのアクセス指令を、第１データエンコードデコード回路１２に、複数回連続して送信する。このアクセス指令が、第１データエンコードデコード回路１２でエンコードされ、図２に示す形式に変換される。
【００５７】
次に、第１データエンコードデコード回路１２で形成されたパケットについて、第１シリアルデータ送受信コントローラ１１が、ヘッダ内部を解析し、パケットのコマンド内部に格納されている第２データエンコードデコード回路２１の指定のアドレスに送信する。その後、第２データエンコードデコード回路２１がデコードし、第１機能回路ブロック２３のレジスタから読み出される。読み出されたデータを、第２データエンコードデコード回路２１がエンコードし、図２に示す形式に変換する。第２シリアルデータ送受信コントローラ２２が、このヘッダの内部を解析し、パケットのコマンド内部に格納されている第１データエンコードデコード回路１２の指定のアドレスに送信する。その後、第１データエンコードデコード回路１２がデコードし、ＣＰＵ３１のレジスタに書き込む。
【００５８】
実施例１において、書き込み先、読み出し先が、第１機能回路ブロック２３であると設定したが、第２のチップＣ２１内部のどの回路ブロックに設定するようにしてもよい。また、読込先を、パラレルバスＰＢ１を介して第１のチップＣ１１と接続されているＣＰＵ３１であるとしたが、メモリ３２を読込先としてもよい。
【００５９】
図５は、シリアル転送システムＳＳ１において、ＣＰＵ３１から第１のデータエンコードデコード回路１２へアクセスするタイミング図である。
【００６０】
図５（１）は、シリアル転送システムＳＳ１において、書き込みする場合の動作を示すタイミング図である。
【００６１】
クロック４０は、ＣＰＵ３１の基本クロックである。書き込みする場合、Ｒ／Ｗ信号４１が、ＬＯＷである区間に、アクセス指令４４がＨＩＧＨになると、アクセスアドレス４２とアクセスデータ４３とを、データエンコードデコード回路に送信する。
【００６２】
図５（２）は、シリアル転送システムＳＳ１において、読み出しする場合の動作を示すタイミング図である。
【００６３】
読み出しする場合、Ｒ／Ｗ信号４１が、ＨＩＧＨである区間に、アクセス指令４４が、ＨＩＧＨになると、アクセスアドレス４２をデータエンコードデコード回路に送信する。
【００６４】
内部カウンタ４５は、データエンコードデコード回路内部の内部カウンタであり、アクセスアドレスをカウントし、パケットのコマンドのデータ数を決定する。
【００６５】
図６は、シリアル転送システムＳＳ１において、第１データエンコードデコード回路１２のエンコード回路部１２１と、デコード回路部１２２との内部構成を示す図である。
【００６６】
図６（１）は、第１データエンコードデコード回路１２のエンコード回路部１２１の内部構成を示す図である。
【００６７】
アクセスアドレスが６４ｂｉｔ、アクセスデータが６４ｂｉｔで送信された場合について説明する。まず、エンコード回路部１２１について説明する。ＣＰＵ３１からアクセス指令を受け取り、アクセスアドレスとアクセスデータとが転送されると、エンコード回路部１２１が、アクセスアドレス＋アクセスデータ１２８ｂｉｔをエンコードし、７ｂｉｔのデータとなる。このデータを、エンコード回路部１２１のレジスタに格納する。その動作を順次行う。
【００６８】
最初にエンコードしたデータをＤＡＴＡ０とし、順に、ＤＡＴＡ１、ＤＡＴＡ２、……、ＤＡＴＡｎ−１とする。図６に示す例では、仮に４８個のデータを扱っているので、最後がＤＡＴＡ４７である。同一パケットとしてまとめるために、７ｂｉｔのデータ４８個を４８６ｂｉｔのアクセスデータとして一塊にする。すなわち、４８個の７ビットデータをパッキングする。なお、アクセスデータが４８６ｂｉｔよりも少なければ、割当のないビットのデータは０であるとする。
【００６９】
次に、パケットのコマンドは、第２データエンコードデコード回路２１のアドレスと、内部カウンタとによってカウントされたデータ数、エンコード後のｂｉｔ幅、Ｒ／Ｗ信号によって作成される。
【００７０】
図７は、コマンド内のＲ／Ｗの設定例を示す図である。
【００７１】
図７に示すように、読み出しの場合、“１０”であり、書き込みの場合、”０１”である。
【００７２】
次に、シリアルバスを通過するための情報を含んだヘッダが生成される。そして、ヘッダ＋コマンド＋アクセスデータをパケットとし、シリアルバスＳＢ１を介してシリアルデータ送受信コントローラ１１、２２に送信される。
【００７３】
次に、デコード回路部１２２について説明する。
【００７４】
図６（２）は、第１データエンコードデコード回路１２のデコード回路部１２２の内部構成を示す図である。
【００７５】
デコード回路部１２２は、第２データエンコードデコード回路２１から送信された読み出しデータのパケットを解析する。この場合、シリアルデータ送受信回路が、５７６ビットを構成する６４ビットのヘッダ部を解析する。シリアルデータ送受信回路が、第１データエンコードデコード回路１２に残る５１２ビット分のデータを送信する。パケットに含まれている２６ビットのコマンドを解析する。この解析によって、送信されたデータ数と１つのデータのｂｉｔ幅とが判る。このコマンドの解析によって、個々のデータに分割し、分割したそれぞれのデータを格納する。この例では、７ｂｉｔ幅のデータを、４８個に分割して格納する。その後、７ｂｉｔのデータを、さらに元のアクセスアドレスとアクセスデータとにデコードし、所定の回路ブロックに送信する。
【００７６】
また、第２データエンコードデコード回路２１において、アクセス指令を機能回路ブロックから割り込みとしてもらう点を除けば、第１データエンコードデコード回路１２とエンコード回路部１２１とデコード回路部１２２とは、同じ働きをする。
【実施例２】
【００７７】
図８は、本発明の実施例２であるシリアルバスで接続されたシステムであるシリアル転送システムＳＳ２の構成を示す図である。
【００７８】
シリアル転送システムＳＳ２は、シリアル転送システムＳＳ１と基本的には同じである。ただ、第１データエンコードデコード回路１２の代わりに、第１データエンコードデコード回路１２ａを設け、第２データエンコードデコード回路２１の代わりに、第２データエンコードデコード回路２１ａを設けてある。
【００７９】
第１データエンコードデコード回路１２ａは、第１データエンコードデコード回路１２に、コントロールレジスタ１２３を有する。第２データエンコードデコード回路２１ａは、第２データエンコードデコード回路２１に、コントロールレジスタ２１１を有する。
【００８０】
これによって、パケット生成時のアクセスデータが、５１２ｂｉｔ固定ではなく、５１２ｂｉｔ以外のｂｉｔ数に設定することができる。
【００８１】
図９は、シリアル転送システムＳＳ２において、第１データエンコードデコード回路１２ａの内部構成を示す図である。
【００８２】
第１データエンコードデコード回路１２ａは、エンコード回路部１２１と、コントロールレジスタ１２３とを有する。
【００８３】
エンコード回路部１２１は、実施例１と同じである。図９に示す実施例２では、仮に４８個のデータを扱っているので、最後がＤＡＴＡ４７である。パケットとしてまとめるために、７ｂｉｔのデータ４８個を、３３６ｂｉｔのアクセスデータとして一塊にする。
【００８４】
次に、パケットのコマンドは、第２データエンコードデコード回路２１ａのアドレスと、内部カウンタによってカウントされたデータ数と、エンコード後のｂｉｔ幅と、Ｒ／Ｗ信号とによって作成される。図７に示すように、読み出しの場合、“１０”であるとし、書き込みの場合、”０１”であるとする。
【００８５】
次に、シリアルバスＳＢ１を通過するための情報を含んだヘッダが生成される。そして、ヘッダ＋コマンド＋アクセスデータをパケットとし、バスＳＢ１を介して、シリアルデータ送受信コントローラ１１、２２に送信する。
【００８６】
また、上記実施例を方法の発明として把握することができる。つまり、上記実施例は、シリアルバスで接続された第１の集積回路と第２の集積回路とを備える電子機器の制御方法の例である。また、上記第１の集積回路は、上記第２の集積回路に設けられている書き込みレジスタに書き込みを行う場合、書き込むアドレスが連続すれば、書き込むアドレス情報とそのデータとを圧縮する圧縮工程を有する。さらに、上記第1の集積回路は、上記圧縮工程で行われる圧縮に関する情報と、圧縮された複数のデータとから成る１つのパケットを生成するパケット生成工程と、パケット生成工程で生成されたパケットデータをシリアルバスに出力する出力工程とを行う。しかも、上記第２の集積回路は、パケットデータをシリアルバスにから入力する入力工程と、上記入力工程で入力されたパケットデータを、アドレス単位のデータに分ける分離工程とを行う。そして、上記第２の集積回路は、上記分離工程で分離されたデータを、圧縮に関する情報に基づいて伸張し、アドレス情報とアドレスに対応したデータとを取得する取得工程を行う。加えて、上記第２の集積回路は、上記取得工程で取得されたアドレス情報に基づいて、アドレスに対応するデータを設定する設定工程とを行う。
【図面の簡単な説明】
【００８７】
【図１】本発明の実施例１であるシリアルバスで接続されたシステムであるシリアル転送システムＳＳ１の構成を示す図である。
【図２】実施例１におけるパケット形式のフォーマットを説明する図である。
【図３】シリアル転送システムＳＳ１において、第１機能回路ブロック２３に書き込みを行う動作を示す説明図である。
【図４】シリアル転送システムＳＳ１において、第１機能回路ブロック２３のデータを読み出す場合を示す説明図である。
【図５】シリアル転送システムＳＳ１において、ＣＰＵ３１から第１のデータエンコードデコード回路１２へアクセスするタイミング図である。
【図６】シリアル転送システムＳＳ１において、第１データエンコードデコード回路１２のエンコード回路部１２１と、デコード回路部１２２との内部構成を示す図である。
【図７】コマンド内のＲ／Ｗの設定例を示す図である。
【図８】本発明の実施例２であるシリアルバスで接続されたシステムであるシリアル転送システムＳＳ２の構成を示す図である。
【図９】シリアル転送システムＳＳ２において、第１データエンコードデコード回路１２ａの内部構成を示す図である。
【図１０】シリアルバスで接続されている従来のシリアル転送システムＳＳ３を示すブロック図である。
【図１１】従来のパケットの例構成を示す図である。
【符号の説明】
【００８８】
Ｃ１１…第１のチップ、
Ｃ２１…第２のチップ、
３１…ＣＰＵ、
３２…メモリ、
ＳＢ１…シリアルバス、
１１…第１シリアルデータ送受信コントローラ、
１２…第１データエンコードデコード回路、
２１…第２データエンコードデコード回路、
２２…第２シリアルデータ送受信コントローラ、
２３…第１機能回路ブロック、
２４…第２機能回路ブロック、
２５…第３機能回路ブロック、
２６…内部メモリ、
４０…クロック、
４１…Ｒ／Ｗ信号、
４２…アクセスアドレス、
４３…アクセスデータ、
４４…アクセス指令、
４５…内部カウンタ、
１２１…エンコード回路部、
１２２…デコード回路部。
【図１】
2009098799.tif 000003
【図２】
2009098799.tif 000004
【図３】
2009098799.tif 000005
【図４】
2009098799.tif 000006
【図５】
2009098799.tif 000007
【図６】
2009098799.tif 000008
【図７】
2009098799.tif 000009
【図８】
2009098799.tif 000010
【図９】
2009098799.tif 000011
【図１０】
2009098799.tif 000012
【図１１】
2009098799.tif 000013