(57)【要約】【課題】不具合の発生が、ＰＨＹ回路かＬＩＮＫ回路なのかの切り分けを容易にして、短小化及び低コスト化に対応できるようにする。【解決手段】高速シリアルバスＩ／Ｆに接続してアナログ信号を送受信するＰＨＹ回路２と、パケットデータの入出力を行うＬＩＮＫ回路３を有する高速シリアルバスコントローラ１に、ＰＨＹ回路２とＬＩＮＫ回路３との間でやりとりされるパケットデータを入力するチェック回路４と、ＬＩＮＫ回路３との間でやりとりされるデータのＤＭＡ転送を行う第１のＤＭＡ回路５と、チェック回路４から入力するデータのＤＭＡ転送を行う第２のＤＭＡ回路６と、第１のＤＭＡ回路５と第２のＤＭＡ回路６からの入出力要求に対するアービトレーションを行い、データの入出力を行うアービタ回路７とを設ける。【選択図】　　　図１
2004104216.tif 000002
【特許請求の範囲】
【請求項１】
高速シリアルバスインターフェースに接続してアナログ信号を送受信するＰＨＹ回路と、該ＰＨＹ回路とパケットデータの入出力を行うＬＩＮＫ回路とを有する高速シリアルバスコントローラであって、
前記ＰＨＹ回路と前記ＬＩＮＫ回路との間でやりとりされるパケットデータを入力するチェック回路と、
前記ＬＩＮＫ回路に接続され、該ＬＩＮＫ回路との間でやりとりされるデータのＤＭＡ転送を行う第１のＤＭＡ回路と、
前記チェック回路に接続され、該チェック回路から入力するデータのＤＭＡ転送を行う第２のＤＭＡ回路と、
前記第１のＤＭＡ回路と第２のＤＭＡ回路からの入出力要求に対するアービトレーションを行い、データの入出力を行うアービタ回路とを設けたことを特徴とする高速シリアルバスコントローラ。
【請求項２】
請求項１記載の高速シリアルバスコントローラにおいて、
前記ＬＩＮＫ回路及びチェック回路と、前記第１及び第２のＤＭＡ回路との間に、該第１、第２のＤＭＡ回路を前記高速シリアルバスインターフェースのデータ送受信用に切替えてトグル動作で制御するＤＭＡ選択回路を設けたことを特徴とする高速シリアルバスコントローラ。
【請求項３】
請求項２記載の高速シリアルバスコントローラにおいて、
前記第１及び第２のＤＭＡ回路の間に、該第１又は第２のＤＭＡ回路の要求を受けてカウント動作を開始して、所定の時間経過後に前記ＤＭＡ選択回路にタイムアウト信号を出力するタイムアウト制御回路を設け、前記ＤＭＡ選択回路が、前記タイムアウト制御回路からタイムアウト信号を入力して作動することを特徴とする高速シリアルバスコントローラ。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
この発明は、不具合の発生箇所の切り分けを容易に行え、短小化及び低コスト化に対応可能でかつ不具合の解析に有用な高速シリアルバスコントローラに関する。
【０００２】
【従来の技術】
従来から、データ転送方式としてシリアル転送方式がある。シリアル転送方式によりデータを転送するシリアルバスとしては、例えばＵＳＢ（Ｕｎｉｖｅｒｓａｌ　Ｓｅｒｉａｌ　Ｂｕｓ）があり、イーサネット（登録商標）のＩＥＥＥ８０２．３や、ＩＥＥＥ１３９４に従うバスなどがある。これらは、コンピュータシステムや、ＡＶ機器、民生機器を実現する高速インターフェースに関する中核技術の１つであり、高速化技術の標準化が活性化している。
高速シリアルバスに接続される高速シリアルバスコントローラは、配線間を流れるアナログ信号を物理層（ＰＨＹ）のＩＣ（ＰＨＹ−ＩＣ）でデジタル信号に変換し、データリンク（Ｄａｔａ−ＬＩＮＫ）層のＩＣ（ＬＩＮＫ−ＩＣ）に転送してデータの送受信を行っている。従来の高速シリアルバスコントローラは、ＰＨＹ−ＩＣをアナログ回路でアナログＩＣ、ＬＩＮＫ−ＩＣをデジタル回路でデジタルＩＣとし、両者を別々のＩＣチップにした２チップ構成で開発されてきた。
なお、高速シリアルバスコントローラに関する従来技術として、エラーパケットを発生させる機能を追加してシステム試験の効率向上を図ったものがあった（例えば、特許文献１参照。）。また、アナログ回路部とデジタル回路部との接続及び切り離しを行うスイッチング手段を設けることで、両者を別々にコントロール可能にするものがあった（例えば、特許文献２参照。）。
【０００３】
【特許文献１】
特開２０００−１７４８５０号公報（第１頁）
【特許文献２】
特開平６−９４８０５号公報（第２頁）
【０００４】
【発明が解決しようとする課題】
近年における電子機器の短小化やコストダウンに伴い、高速シリアルバスコントローラでは、ＰＨＹ−ＩＣと、ＬＩＮＫ−ＩＣを１チップで開発することが進められている。そうすると、ＰＨＹ−ＩＣの回路（以下「ＰＨＹ回路」という）とＬＩＮＫ−ＩＣの回路（以下「ＬＩＮＫ回路」という）を接続する部分の信号が外部に出力されないことから、そのような高速シリアルバスコントローラに不具合が発生すると、その不具合の個所が従来のＰＨＹ回路（アナログ回路）の部分なのか、ＬＩＮＫ回路（デジタル回路）の部分なのかを切り分けるのが困難になってくる。その切り分けを簡易に行うには、ＰＨＹ回路とＬＩＮＫ回路を接続する部分（Ｉ／Ｆ部）の信号をＰＩＮ出力するという考えもあるが、そうするとこのＩ／Ｆ部の信号がパラレルデータであるから、そのＩ／Ｆ部の信号を取り出すためのＰＩＮを設けることで、ＩＣチップのＰＩＮ数が大幅に増加し、ＩＣチップの単価を高くすることになる。このことは、近年における電子機器の短小化やコストダウンに相反することである。
【０００５】
この発明は、上記の問題点を解決するためになされたもので、高速シリアルバスコントローラにおいて、不具合の発生が、ＰＨＹ回路の部分なのかＬＩＮＫ回路の部分なのかの切り分けを容易にして、新たなＰＩＮを追加することなく、短小化及び低コスト化に対応できるようにし、不具合の解析にも役立つようにすることを目的とする。
【０００６】
【課題を解決するための手段】
この発明は、上記の目的を達成するため、高速シリアルバスインターフェースに接続してアナログ信号を送受信するＰＨＹ回路と、そのＰＨＹ回路とパケットデータの入出力を行うＬＩＮＫ回路とを有する高速シリアルバスコントローラであって、上記ＰＨＹ回路と上記ＬＩＮＫ回路との間でやりとりされるパケットデータを入力するチェック回路と、上記ＬＩＮＫ回路に接続され、そのＬＩＮＫ回路との間でやりとりされるデータのＤＭＡ転送を行う第１のＤＭＡ回路と、上記チェック回路に接続され、そのチェック回路から入力するデータのＤＭＡ転送を行う第２のＤＭＡ回路と、上記第１のＤＭＡ回路と第２のＤＭＡ回路からの入出力要求に対するアービトレーションを行い、データの入出力を行うアービタ回路とを設けた高速シリアルバスコントローラを特徴とする。
この高速シリアルバスコントローラは、ＬＩＮＫ回路及びチェック回路と、上記第１及び第２のＤＭＡ回路との間に、その第１、第２のＤＭＡ回路を上記高速シリアルバスインターフェースのデータ送受信用に切替えてトグル動作で制御するＤＭＡ選択回路を設けたものがよい。
また、第１及び第２のＤＭＡ回路の間に、その第１又は第２のＤＭＡ回路の要求を受けてカウント動作を開始して、所定の時間経過後に上記ＤＭＡ選択回路にタイムアウト信号を出力するタイムアウト制御回路を設け、上記ＤＭＡ選択回路が、上記タイムアウト制御回路からタイムアウト信号を入力して作動するようにするとよい。
【０００７】
【発明の実施の形態】
以下、この発明の実施の形態を図面に基づいて詳細に説明する。
図１はこの発明による高速シリアルバスコントローラ１の内部構成を示すブロック図である。高速シリアルバスコントローラ１は、ＰＨＹ回路２と、ＬＩＮＫ回路３と、チェック回路４と、第１のＤＭＡ回路５と、第２のＤＭＡ回路６と、アービタ回路７と、外部Ｉ／Ｆ回路８とを有している。
ＰＨＹ回路２は、外部のシリアルバスＩ／Ｆ９ａに接続して、そのシリアルバスに対しアナログで信号の送受信を行う回路である。このＰＨＹ回路２は、送信の場合は、ＬＩＮＫ回路３からデジタル信号の送信データを受取り、それをアナログ信号に変換してシリアルバスに出力する。また、受信の場合は、シリアルバスＩ／Ｆ９ａからアナログ信号の受信データを入力し、それをデジタル信号に変換してＬＩＮＫ回路３に出力する。ＬＩＮＫ回路３は、ＰＨＹ回路２とパケットデータの入出力を行い、チェック回路４のチェック機能の動作可否の設定を切替える制御を実行する回路である。チェック回路４は、ＰＨＹ回路２とＬＩＮＫ回路３の互いのＩ／Ｆ部の間でやりとりされるデータを入力し、パケットデータを認識する回路である。このチェック回路４は、ＬＩＮＫ回路３から信号を入力してそのチェック機能の動作可否の設定を有効又は無効に切替える。
【０００８】
第１のＤＭＡ回路５はＬＩＮＫ回路３の要求を受けて作動し、ＬＩＮＫ回路３との間でやりとりされるデータのＤＭＡ転送を行い、必要なデータの出力（書込み）をアービタ回路７に要求する。第２のＤＭＡ回路６は、チェック回路４の要求を受けて作動し、チェック回路４から入力するデータのＤＭＡ転送を行い、必要なデータをアービタ回路７に転送して出力を要求する。アービタ回路７は、第１のＤＭＡ回路５と、第２のＤＭＡ回路６からの入出力要求に対するアービトレーションを行い、外部Ｉ／Ｆ回路８にデータの入出力を要求する。ここで、アービトレーションとは、外部Ｉ／Ｆ回路８に対するデータの入出力要求が複数ある場合に、それらを調停してそれぞれの要求を満たしていくことを意味している。
外部Ｉ／Ｆ回路８は、アービタ回路７から入力する要求により作動して外部に接続される外部装置９ｂから読出すデータ又は外部装置９ｂにより書込みするデータをアービタ回路７に転送する。なお、図１ではシリアルバスＩ／Ｆ９ａが１つだけ記載されているが、この発明では、シリアルバスＩ／Ｆ９ａの数は１つには限定されない。
次に、高速シリアルバスコントローラ１の動作内容について説明する。以下の説明では、高速シリアルバスコントローラ１には外部装置９ｂとして、外部記憶デバイス（例えば、光ディスク装置）が接続されている場合を例にとって説明する。
【０００９】
まず、外部記憶デバイスに書込みデータを書込む場合について説明する。
ＰＨＹ回路２は、シリアルバスＩ／Ｆ９ａからアナログ信号の書込みデータａを入力すると、それをデジタル信号に変換し、パケットに分け、その分けたデータ（パケット書込みデータ）ｂをＬＩＮＫ回路３に出力する。ＬＩＮＫ回路３はそのパケット書込みデータｂを入力すると、そのパケットの付加情報データを確認して第１のＤＭＡ回路５に対し、付加情報データを取り除いたデータ（生書込みデータ）ｃの書込み（出力）を要求する。すると、第１のＤＭＡ回路５がＬＩＮＫ回路３の要求を受けて作動し、アービタ回路７に対し、ＬＩＮＫ回路３から要求された生書込みデータｃの書込みを要求する。アービタ回路７は第１のＤＭＡ回路５からの要求に対してアービトレーションを行い、要求を許可する場合にその旨を表す情報ｄを第１のＤＭＡ回路５に出力する。それを受けて第１のＤＭＡ回路５が生書込みデータｃをアービタ回路７に転送する。アービタ回路７は、外部Ｉ／Ｆ回路８に対して書込み要求を行い、生書込みデータｃを転送する。すると、外部Ｉ／Ｆ回路８がその生書込みデータｃを外部装置９ｂに出力し、その生書込みデータが外部装置９ｂによって記憶媒体に書込まれる。
【００１０】
一方、外部装置９ｂによってデータの読出しを行う場合（読出されるデータを「読出しデータ」という）は、次のようになる。外部Ｉ／Ｆ回路８がアービタ回路７からの要求により作動して、外部装置９ｂに読出しデータの読出しを要求し外部装置９ｂによって、パケット単位に読出された生データ（生読出しデータｅ）をアービタ回路７に転送する。アービタ回路７はその生読出しデータｅを第１のＤＭＡ回路５に出力する。次に、第１のＤＭＡ回路５がＬＩＮＫ回路３に生読出しデータｅを転送する。ＬＩＮＫ回路３は、その生読出しデータｅにパケット転送に必要なデータを付加して、パケット読出しデータｆとしてＰＨＹ回路２に出力する。
以上のデータの書込み及び読出しのいずれの場合も、チェック回路４がＰＨＹ回路２とＬＩＮＫ回路３のＩ／Ｆ部の間でやりとりされるパケット単位に分けられたデータ（パケット書込みデータｂ、パケット読出しデータｆ）を入力し、そのチェック機能の動作可否が有効に設定されているときにその両者を認識する。
そして、書込みの場合であれば、付加情報データを取り除く前のパケット書込みデータｂごと（すなわち、付加情報データ及び生書込みデータｃ）を第２のＤＭＡ回路６に転送する。すると、第２のＤＭＡ回路６は、アービタ回路７に対してチェック回路４から要求されたパケット書込みデータｂを転送してその書込み（出力）を要求する。アービタ回路７が第２のＤＭＡ回路６からの要求に対しアービトレーションを行い、要求を許可する場合に外部Ｉ／Ｆ回路８に書込み（出力）要求を行い、外部Ｉ／Ｆ回路８がパケット書込みデータｂを外部装置９ｂに出力する。外部装置９ｂはそのパケット書込みデータｂを記憶媒体に書込みして記憶する。
【００１１】
以上のように、高速シリアルバスコントローラ１は、チェック回路４を設けたことで、ＰＨＹ回路２とＬＩＮＫ回路３のＩ／Ｆ部の間でやりとりされるパケットデータを記憶することが可能になっている。そのため、その記憶されているパケットデータを参照することで、高速シリアルバスコントローラ１において、不具合が発生した場合に、その不具合がシリアルバスからＰＨＹ回路２までで発生したのか、或いはＬＩＮＫ回路３から外部Ｉ／Ｆ回路８の間で発生したのかを切り分けることが可能になり、しかも、その切り分けは容易でありながら確実なものとなる。また、これは高速シリアルバスコントローラ１において、新たなＰＩＮを追加することなく達成されているので、短小化及び低コスト化にも対応することができる。さらに、必要なデータを不具合が発生する以前の状態から記憶することが可能であるため、不具合発生の要因が発生前の動作にある場合でも、その内容を確認することができ、したがって、不具合の解析にも極めて有用なものとなる。
しかしながら、上述した高速シリアルバスコントローラ１は、チェック回路４のチェック機能動作が有効に設定されている場合はやりとりされるパケットデータを記憶することができるので、不具合発生箇所の切り分けが可能であるが、チェック機能動作が有効に設定されていない場合（無効の場合）は、不具合解析用に設けた第２のＤＭＡ回路６は作動しない無駄な回路となってしまう。
【００１２】
そこで、図２に示す高速シリアルバスコントローラ１０のように、ＤＭＡ選択回路を設けるとよい。この高速シリアルバスコントローラ１０は、ＬＩＮＫ回路３及びチェック回路４と、第１、第２のＤＭＡ回路５，６の間にＤＭＡ選択回路１１を設けたもので、その他の構成は高速シリアルバスコントローラ１と同様である。
このＤＭＡ選択回路１１は、チェック回路４のチェック機能動作が有効に設定されている場合は、第２のＤＭＡ回路６をチェック回路４の要求にしたがいデータを転送する専用回路に切替えて作動する。その場合、高速シリアルバスコントローラ１０は、上述した高速シリアルバスコントローラ１と同様に作動する。一方、チェック回路４のチェック機能動作が有効に設定されていない場合（無効の場合）は、第１、第２のＤＭＡ回路５，６をともにシリアルバスＩ／Ｆ９ａのデータ送受信用に切替えてその第１、第２のＤＭＡ回路５，６をトグル動作で制御し、作動させるＤＭＡ回路を第１、第２のＤＭＡ回路５，６のいずれかに切替える。
【００１３】
この場合、まず、ＤＭＡ選択回路１１は、第１のＤＭＡ回路５にデータ転送を要求し、ＤＭＡ選択回路１１がトグル動作を実行するトリガーになるデータ数設定レジスタに設定されたデータを転送し、それから第２のＤＭＡ回路６にデータ転送を要求する。ＤＭＡ選択回路１１は、以下この動作を繰り返し、作動させるＤＭＡ回路を切替える。これにより、チェック回路４のチェック機能動作が有効に設定されていない場合（無効の場合）にも、不具合解析用に設けた第２のＤＭＡ回路６を不具合が発生していない通常動作時にも無駄にすることなく有効に作動させることができる。また、１つのシリアルバスに対して、第１、第２のＤＭＡ回路５，６による２つのＤＭＡ転送が可能になるため、より高速のデータ転送が可能になる。
上述の説明では、高速シリアルバスコントローラ１，１０にシリアルバスＩ／Ｆを１つにした場合を例にとって説明しているが、高速シリアルバスコントローラ１，１０において、複数のＩ／Ｆを備えている場合は次のことが考えられる。
高速シリアルバスコントローラ１，１０では、シリアルバスについてだけ複数のＤＭＡ転送を可能しているため、その他のバスＩ／Ｆについては、ＤＭＡ転送の要求は、アービタ回路７で許可される頻度が同時動作している場合には少なくなる、すなわち待ち時間が多くなってしまう。
【００１４】
そこで、図３に示す高速シリアルバスコントローラ２０のように、第１のＤＭＡ回路５と、第２のＤＭＡ回路６との間にタイムアウト制御回路２１を追加して、条件がそろったときにトグル動作を実行するようにするとよい。このタイムアウト制御回路２１は、時間を計測するカウンタを有している。そのカウンタは、第１のＤＭＡ回路５、第２のＤＭＡ回路６のどちらかがアービタ回路７にデータ転送を要求するとカウント動作を開始する。タイムアウト制御回路２１はカウンタが設定されたカウント値（設定値）になると（所定の時間が経過すると）、ＤＭＡ選択回路１１にその旨を通知する信号を出力する（設定値は可変である）。
具体的には以下のように作動する。
まず、ＤＭＡ選択回路１１が第１のＤＭＡ回路５にデータ転送を要求する。第１のＤＭＡ回路５はアービタ回路７にデータの転送要求を出力し、それと同時にアービタ回路７に転送要求をしたことをタイムアウト制御回路２１に伝える第１の要求信号ＲＥＱ１を出力する。タイムアウト制御回路２１は、第１の要求信号ＲＥＱ１を入力することによりカウント動作をスタートさせる。
一方、アービタ回路７は、第１のＤＭＡ回路５と、その他の外部Ｉ／Ｆからの要求を受けて作動する第３のＤＭＡ回路２２、第４のＤＭＡ回路２３の要求を受けて順次外部Ｉ／Ｆ回路８に要求しデータ転送を行う。そして、タイムアウト制御回路２１は、カウンタが設定値になるとＤＭＡ選択回路１１にその旨を通知するタイムアウト信号（ＴＯＵＴ）を出力し、同時にカウンタをクリアする。
【００１５】
ＤＭＡ選択回路１１はタイムアウト信号（ＴＯＵＴ）を入力すると、第２のＤＭＡ回路６にデータの転送要求を出力し、第２のＤＭＡ回路６はアービタ回路７にデータ転送を要求する。
このとき、アービタ回路７は第１のＤＭＡ回路５、第２のＤＭＡ回路６の両方から転送要求があることを確認すると、第１のＤＭＡ回路５からの転送要求に対する優先度を上げて（第１のＤＭＡ回路５からの転送要求を優先し）、外部Ｉ／Ｆ回路８を通じてデータ転送を行う。また、第２のＤＭＡ回路６は、タイムアウト制御回路２１にアービタ回路７に転送要求をしたことを伝える第２の要求信号ＲＥＱ２を出力している。
第１のＤＭＡ回路５は優先的に転送要求が処理されているので、第１〜第４のＤＭＡ５，６，２２，２３の中で最初に転送要求が終了し、第１の要求信号ＲＥＱ１を初期状態に戻す。タイムアウト制御回路２１は、第１の要求信号ＲＥＱ１が初期状態に戻ったことにより、第２の要求信号ＲＥＱ２だけが入力していることを認識すると、上述の場合と同様にしてカウント動作をスタートさせる。
【００１６】
その一方、アービタ回路７は第１のＤＭＡ回路５からの転送要求に対する処理が終了すると、アービトレーションの優先度を元に戻し、順次第２のＤＭＡ回路６、第３のＤＭＡ回路２２、第４のＤＭＡ回路２３のデータ転送要求を処理していく。また、タイムアウト制御回路２１はカウンタが設定値になる前に第１、第２の要求信号ＲＥＱ１，ＲＥＱ２が初期状態に戻るとカウンタをクリアしてカウント動作を終了する。
以上のようにして、高速シリアルバスコントローラ２０では、他のＩ／Ｆ（外部Ｉ／Ｆ）用に設けた第３、第４のＤＭＡ回路２２，２３が第１、第２のＤＭＡ回路５，６の影響を受けることを極力低下させている。また、特定状態でシリアルバスＩ／Ｆ９ａからの転送要求の処理能力を向上させており、オーバーランやアンダーランを防ぐこともできる。
【００１７】
【発明の効果】
以上説明してきたように、この発明によれば、高速シリアルバスコントローラにおいて不具合が発生した場合に、その不具合の発生箇所の切り分けが容易かつ確実なものとなり、不具合の解析にも極めて有用なものとなる。
【図面の簡単な説明】
【図１】この発明による高速シリアルバスコントローラの一例の内部構成を示すブロック図である。
【図２】図１とは別の高速シリアルバスコントローラの一例の内部構成を示すブロック図である。
【図３】図１とはさらに別の高速シリアルバスコントローラの一例の内部構成を示すブロック図である。
【符号の説明】
１，１０，２０：高速シリアルバスコントローラ
２：ＰＨＹ回路　　　　　　　　　　３：ＬＩＮＫ回路
４：チェック回路　　　　　　　５：第１のＤＭＡ回路
６：第２のＤＭＡ回路　　　　　　　７：アービタ回路
８：外部Ｉ／Ｆ回路　　　　９ａ：シリアルバスＩ／Ｆ
９ｂ：外部装置　　　　　　　　１１：ＤＭＡ選択回路
２１：タイムアウト制御回路
２２：第３のＤＭＡ回路　　　２３：第４のＤＭＡ回路
【図１】
2004104216.tif 000003
【図２】
2004104216.tif 000004
【図３】
2004104216.tif 000005