(57)【特許請求の範囲】
【請求項１】
パーソナルコンピュータの標準高速ローカルバスであるＰＣＩバスとＩＳＤＮのＳ／Ｔインタフェース等の低速インタフェースとの間のデータ転送を行う装置であって、
ＰＣＩバスマスタ機能、ＰＣＩターゲット機能、ＰＣＩパリティ機能、ＰＣＩコンフィグレーションレジスタ、ＰＣＩステータスレジスタを有し、前記ＰＣＩバスとのインタフェースを行うＰＣＩインタフェース部と、ＰＣＩバスマスタとしてＤＭＡ転送する送／受信ＤＭＡ部と、少なくともＤＭＡ制御／ステータスレジスタを備えた内部レジスタと、Ｓ／ＴインタフェースＬＳＩとインタフェースするＳ／ＴインタフェースＬＳＩインタフェース部と、転送データを格納する送信用ＦＩＦＯおよび受信用ＦＩＦＯとから構成され、
前記ＰＣＩバスマスタ機能により、前記パーソナルコンピュータのメインメモリからロードした、転送開始アドレス、転送終了アドレス、現在の転送ポインタ、データ転送量、フレーム終了信号、次のデータ転送の有無、次の転送リストポインタが記述された送信用転送デスクリプタと、転送開始アドレス、転送終了アドレス、現在の転送ポインタ、フレーム終了信号、次のデータ転送の有無、次の転送リストポインタが記述された受信用転送デスクリプタとを基に、前記パーソナルコンピュータとデータ転送するようにし、
前記パーソナルコンピュータから送信コマンドを受け前記ＤＭＡ制御／ステータスレジスタに予め設定されている転送デスクリプタポインタを基に前記パーソナルコンピュータのメインメモリから前記送信用転送デスクリプタをＤＭＡリードし前記ＤＭＡ制御／ステータスレジスタへ格納する手段と、
前記ＤＭＡ制御／ステータスレジスタに格納された前記送信用転送デスクリプタに記述されている前記現在の転送ポインタが指定するデータを前記メインメモリからＤＭＡリードし前記送信用ＦＩＦＯに格納する手段と、
前記送信用ＦＩＦＯが満杯になったとき前記現在の転送ポインタを更新し前記送信用転送デスクリプタへＤＭＡライトしてデータ転送を終了する手段と、
データ転送中に前記パーソナルコンピュータから受信要求があったとき現在転送中のデータの転送終了を待って残りのデータ転送を一時中断し、一時中断する前の送信用転送デスクリプタをＤＭＡライトして転送途中の情報を保持し、前記受信要求のあった受信用転送デスクリプタの前記ＤＭＡ制御／ステータスレジスタへの格納が終了したとき前記一時中断した残りのデータ転送を再開し、前記送信用転送デスクリプタに記述されたデータ転送量の転送が終了したとき前記送信用転送デスクリプタに記述された次の送信用転送デスクリプタポインタを前記ＤＭＡ制御／ステータスレジスタへ設定する手段と、
前記ＤＭＡ制御／ステータスレジスタに前記次の送信用転送デスクリプタポインタが設定されているとき対応するデータを転送し、前記次の送信用転送デスクリプタポインタが設定されていないとき前記パーソナルコンピュータのＣＰＵに対し送信終了割り込みする手段と、
を有することを特徴とするＰＣＩバス・Ｓ／Ｔインタフェース間接続装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はＩＳＤＮターミナルアダプタ等で用いられるパーソナルコンピュータのＰＣＩバスとＩＳＤＮのＳ／Ｔインタフェースとの間でデータ転送を行うＰＣＩバス・Ｓ／Ｔインタフェース間接続装置に関する。
【０００２】
【従来の技術】
従来のＩＳＤＮターミナルアダプタは、パーソナルコンピュータ（以下パソコン）とのインタフェースにＲＳ−２３２Ｃのような低速なインタフェースを使用していた。
【０００３】
これに対し、パソコンの標準ローカルバスであるＰＣＩバスとのインタフェースを有するターミナルアダプタが開発されている。このターミナルアダプタでは、ＰＣＩバスとＩＳＤＮのＳ／Ｔインタフェースとのインタフェースを行うためにＰＣＩバスインタフェースを有するブリッジＬＳＩを使用している。
【０００４】
【発明が解決しようとする課題】
従来のブリッジＬＳＩの第１の課題は、外付けのローカルメモリが必要となり、そのためチップ数およびチップ面積が増大し製品コストの高騰を招く。
【０００５】
その理由は、ブリッジＬＳＩ内部のＰＣＩバスとのインタフェースをＰＣＩターゲット機能のみで行っていたので、高速なＰＣＩバスと低速なＩＳＤＮのＳ／Ｔインタフェースとの間でデータ転送を行う際に、データフレーミング等のデータの加工やデータバッファリング等の速度調整等のために、ＰＣＩバスから（へ）転送された（る）データを一時的に蓄積する必要が生じるからである。
【０００６】
また、高速なＰＣＩバスとの間のインタフェースを、ＰＣＩバスマスタ機能を用いながらリスト方式を用いない通常のＤＭＡ転送を行っている場合も同様に外付けのメモリが必要となる。
【０００７】
第２の課題は、ブリッジＬＳＩの内部に大規模なＦＩＦＯが必要となり、そのため回路規模が増大し、製品コストの高騰を招く。
【０００８】
その理由は、第１の課題と同様である。
【０００９】
第３の課題は、パソコンのＣＰＵおよびＯＳの負荷が重くなることである。
【００１０】
その理由は、ブリッジＬＳＩ内部のＰＣＩバスとの間のインタフェースをＰＣＩターゲット機能で行っていたので、転送の制御をパソコン側のＣＰＵおよびＯＳがすべて行い、１回毎の転送が終了する度に割り込み処理を行う必要があるからである。
【００１１】
また、ブリッジＬＳＩ内部のＰＣＩバスとの間のインタフェースを、ＰＣＩマスタ機能で行いながら通常のＤＭＡ転送を行っている場合も、１回毎の転送が終了する度に割り込み処理を行う必要があるからである。
【００１２】
本発明の目的は、ＰＣＩバスとＩＳＤＮのＳ／Ｔインタフェースとのインタフェースを行う際に、 従来必要であった大規模なＦＩＦＯの縮小および外付けのローカルメモリを削減し、且つパソコン側のＣＰＵやＯＳの負荷を軽減しアプリケーションの実行を高速化し、パソコンユーザの操作性の向上を図るＰＣＩバス・Ｓ／Ｔインタフェース間接続装置を提供することにある。
【００１３】
【課題を解決するための手段】
本発明のＰＣＩバス・Ｓ／Ｔインタフェース間接続装置は、パーソナルコンピュータの標準高速ローカルバスであるＰＣＩバスとＩＳＤＮのＳ／Ｔインタフェース等の低速インタフェースとの間のデータ転送を行う装置であって、ＰＣＩバスマスタ機能、ＰＣＩターゲット機能、ＰＣＩパリティ機能、ＰＣＩコンフィグレーションレジスタ、ＰＣＩステータスレジスタを有し、前記ＰＣＩバスとのインタフェースを行うＰＣＩインタフェース部と、ＰＣＩバスマスタとしてＤＭＡ転送する送／受信ＤＭＡ部と、少なくともＤＭＡ制御／ステータスレジスタを備えた内部レジスタと、Ｓ／ＴインタフェースＬＳＩとインタフェースするＳ／ＴインタフェースＬＳＩインタフェース部と、転送データを格納する送信用ＦＩＦＯおよび受信用ＦＩＦＯとから構成され、前記ＰＣＩバスマスタ機能により、前記パーソナルコンピュータのメインメモリからロードした、転送開始アドレス、転送終了アドレス、現在の転送ポインタ、データ転送量、フレーム終了信号、次のデータ転送の有無、次の転送リストポインタが記述された送信用転送デスクリプタと、転送開始アドレス、転送終了アドレス、現在の転送ポインタ、フレーム終了信号、次のデータ転送の有無、次の転送リストポインタが記述された受信用転送デスクリプタとを基に、前記パーソナルコンピュータとデータ転送するようにし、前記パーソナルコンピュータから送信コマンドを受け前記ＤＭＡ制御／ステータスレジスタに予め設定されている転送デスクリプタポインタを基に前記パーソナルコンピュータのメインメモリから前記送信用転送デスクリプタをＤＭＡリードし前記ＤＭＡ制御／ステータスレジスタへ格納する手段と、前記ＤＭＡ制御／ステータスレジスタに格納された前記送信用転送デスクリプタに記述されている前記現在の転送ポインタが指定するデータを前記メインメモリからＤＭＡリードし前記送信用ＦＩＦＯに格納する手段と、前記送信用ＦＩＦＯが満杯になったとき前記現在の転送ポインタを更新し前記送信用転送デスクリプタへＤＭＡライトしてデータ転送を終了する手段と、データ転送中に前記パーソナルコンピュータから受信要求があったとき現在転送中のデータの転送終了を待って残りのデータ転送を一時中断し、一時中断する前の送信用転送デスクリプタをＤＭＡライトして転送途中の情報を保持し、前記受信要求のあった受信用転送デスクリプタの前記ＤＭＡ制御／ステータスレジスタへの格納が終了したとき前記一時中断した残りのデータ転送を再開し、前記送信用転送デスクリプタに記述されたデータ転送量の転送が終了したとき前記送信用転送デスクリプタに記述された次の送信用転送デスクリプタポインタを前記ＤＭＡ制御／ステータスレジスタへ設定する手段と、前記ＤＭＡ制御／ステータスレジスタに前記次の送信用転送デスクリプタポインタが設定されているとき対応するデータを転送し、前記次の送信用転送デスクリプタポインタが設定されていないとき前記パーソナルコンピュータのＣＰＵに対し送信終了割り込みする手段と、を備えて構成されている。
【００１９】
このように、転送すべきデータの情報も、実際のデータもメインメモリ内に格納しておき、ＰＣＩバスとのデータ転送時に転送デスクリプタを用いたリスト方式のＤＭＡ方式によりメインメモリから転送すべきデータの情報と実際のデータの転送を行うことにより、転送データを一時的に蓄えておくための大規模なＦＩＦＯやローカルメモリは不要となる。
【００２０】
また、転送デスクリプタに次の転送の情報を盛り込むことができるため、連続した転送が可能になる。従って、一回ごとの転送が終了するごとにＣＰＵが割り込み処理を行う必要がなくなり、ＣＰＵの負荷が軽くなりＣＰＵはその他の作業を行える。結果的にアプリケーションの実行が高速になり、パソコンユーザの操作性が向上する。
【００２１】
【発明の実施の形態】
次に、本発明の実施例について図面を参照して詳細に説明する。
【００２２】
図１は本発明のＰＣＩバス・Ｓ／Ｔインタフェース間接続装置の実施の形態を示すブロック図である。
【００２３】
図１に示すＰＣＩバス・Ｓ／Ｔインタフェース間接続装置１０は、ＰＣＩインタフェース部１１と、送／受信ＤＭＡ部１２と、内部レジスタ１３と、Ｓ／ＴインタフェースＬＳＩインタフェース部１４と、送信用ＦＩＦＯ１５と、受信用ＦＩＦＯ１６と、送信用ＨＤＬＣ１７,１８と、送信用ＲＡ１９と、受信用ＨＤＬＣ２０,２１と、受信用ＲＡ２２とから構成する。
【００２４】
ＰＣＩインタフェース部１１は、ＰＣＩマスタ機能、ＰＣＩターゲット機能、ＰＣＩパリティ機能、ＰＣＩコンフィグレーションレジスタ、ＰＣＩステータスレジスタ等を有し、ＰＣＩバスとのインタフェースを行う。
【００２５】
送受信ＤＭＡ部１２は、内部レジスタの設定を基にＤＭＡ転送を行う。内部レジスタ１３は、ＤＭＡ制御／ステータスレジスタ、ＨＤＬＣ制御／ステータスレジスタ、ＲＡ制御／ステータスレジスタ、非同期通信制御／ステータスレジスタ、Ｄチャネル制御／ステータスレジスタ、Ｓ／ＴインタフェースＬＳＩ制御／ステータスレジスタを有している（いずれも図示せず）。
【００２６】
Ｓ／ＴインタフェースＬＳＩインタフェース部１４は、ＩＳＤＮの既存のＳ／ＴインタフェースＬＳＩ（図示せず）とのインタフェースを行う。送信用ＦＩＦＯ１５と、受信用ＦＩＦＯ１６は送受信に必要な最低限（ＰＣＩマスタとしてＤＭＡ実行を行って待たされる時間分に相当する）のデータを蓄積する。
【００２７】
送信用ＨＤＬＣ１７、１８は送信時ＨＤＬＣフレームを作成し、受信用ＨＤＬＣ２０、２１は受信時にＨＤＬＣフレームからインフォメーションデータを作成する。送信用ＲＡ１９および受信用ＲＡ２２は、は非同期通信Ｖ．１１０をサポートする。
【００２８】
ＰＣＩバス・Ｓ／Ｔインタフェース間接続装置１０は、データ転送にリスト方式のＤＭＡ（Ｄｉｒｅｃｔ  Ｍｅｍｏｒｙ  Ａｃｃｅｓｓ）を用いる。このリスト方式は図２および図３に示す転送デスクリプタ（ＴＤ：Ｔｒａｎｓｆｅｒ  Ｄｅｓｃｒｉｐｔｏｒ）を用いる。図２は送信用転送データデスクリプタを示す図であり、図３は受信用転送データデスクリプタを示す図である。
【００２９】
送信用転送デスクリプタには、転送開始アドレス（ＳＡ：Ｓｔａｒｔ  Ａｄｄｒｅｓｓ）を記述するＴＳＰ（Ｔｒａｎｓｆｅｒ  Ｓｔａｒｔ  Ｐｏｉｎｔｅｒ）と、転送終了アドレス（ＥＡ：Ｅｎｄ  Ａｄｄｒｅｓｓ）を記述するＴＥＰ（Ｔｒａｎｓｆｅｒ  Ｅｎｄ  Ｐｏｉｎｔｅｒ）と、現在の転送ポインタを記述するＣＢＰ（ＣＢＰ：Ｃｕｒｒｅｎｔ  Ｂｕｆｆｅｒ  Ｐｏｉｎｔｅｒ）と、データ転送量を記述するＴＣ（Ｔｒａｎｓｆｅｒ  Ｃｏｕｎｔ）と、フレーム終了信号を記述するＦＥ（Ｆｒａｍｅ  Ｅｎｄ）と、次のデータ転送情報を記述するＮＴ（Ｎｅｘｔ  Ｔｒａｎｓｆｅｒ）と、次の転送リストポインタを記述するＮＴＤＰ（Ｎｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｄｅｓｃｒｉｐｔｏｒ  Ｐｏｉｎｔｅｒ）とから構成され、送／受信ＤＭＡ部１２はこのＴＤ（転送デスクリプタ）を基にパソコンとの間で送信データの転送を行う。なお、ＴＤは各送信チャネル毎に設定される。
【００３０】
受信用転送デスクリプタには、転送開始アドレス（ＳＡ：Ｓｔａｒｔ  Ａｄｄｒｅｓｓ）を記述するＴＳＰ（Ｔｒａｎｓｆｅｒ  Ｓｔａｒｔ  Ｐｏｉｎｔｅｒ）と、転送終了アドレス（ＥＡ：Ｅｎｄ  Ａｄｄｒｅｓｓ）を記述するＴＥＰ（Ｔｒａｎｓｆｅｒ  Ｅｎｄ  Ｐｏｉｎｔｅｒ）と、現在の転送ポインタを記述するＣＢＰ（ＣＢＰ：Ｃｕｒｒｅｎｔ  Ｂｕｆｆｅｒ  Ｐｏｉｎｔｅｒ）と、フレーム終了信号を記述するＦＥ（Ｆｒａｍｅ  Ｅｎｄ）と、次のデータ転送情報を記述するＮＴ（Ｎｅｘｔ  Ｔｒａｎｓｆｅｒ）と、次の転送リストポインタを記述するＮＴＤＰ（Ｎｅｘｔ  Ｔｒａｎｓｆｅｒ  Ｄｅｓｃｒｉｐｔｏｒ  Ｐｏｉｎｔｅｒ）とから構成され、送／受信ＤＭＡ部１２はこのＴＤを基にパソコンとの間で受信データの転送を行う。なお、ＴＤは各受信チャネル毎に設定される。
【００３１】
次に図４および図５に図１を併せて参照しＤＭＡ転送による送信動作について説明する。図４および図５はＤＭＡ転送方式の送信フローチャートである。
【００３２】
ＤＭＡによるデータの送信はＤＭＡ制御／ステータスレジスタへ送信コマンドをライトすることで始まる。送信コマンドが受け付けると（図４のステップＳ１０１）、送／受信ＤＭＡ部１２（図１参照）はパソコン側のメインメモリ（図示せず）からＴＤをロード（ＤＭＡリード）しデータ転送を開始する（Ｓ１０２）。
【００３３】
このデータ転送は次のように行われる。
ＰＣＩバス・Ｓ／Ｔインタフェース間接続装置１０は、転送イネーブル状態を判定し（図５のステップＳ２０１）、内部レジスタ１３のＤＭＡ制御／ステータスレジスタ内に初期設定時に格納した転送デスクリプタポインタ（ＴＤポインタ）を基にパソコン側のメインメモリから図２に示すＴＤをロード（ＤＭＡリード）し、ＤＭＡ制御／ステータスレジスタへ格納する（Ｓ２０２）。
【００３４】
送／受信ＤＭＡ部１２は、ＦＩＦＯ１５の記憶容量に余裕があるか否かを判定し、余裕があるときＤＭＡ制御／ステータスレジスタへ格納したＴＤを基にＤＭＡリードを行いデータをＦＩＦＯに格納する。
【００３５】
ＦＩＦＯ１５が満杯になると（Ｓ２０３）、現在の転送ポインタ（ＣＢＰ）を更新し（Ｓ２０５）、ＴＤに書き込み（ＤＭＡライト）データの転送を終了する（Ｓ２０６）。このとき他のチャネルの転送が行われる。
【００３６】
データ転送中に受信要求があると（Ｓ１０３）、現在転送中のデータの転送終了（Ｓ１０４）を待って、 まだ残っているデータの転送を一時中断し（Ｓ１０５）、送信中（一時中断する前）のＴＤをＤＭＡライトして転送中のデータを保持すると共に、受信要求のあったＴＤをＤＭＡリードしてＤＭＡ制御／ステータスレジスタへ格納する（Ｓ１０６）。このとき、他のチャネルの転送が行われる。
【００３７】
受信要求のあったＴＤのＤＭＡ制御／ステータスレジスタへの格納が終了すると、ステップＳ１０５における一時中断を復旧し（Ｓ１０７）、残りのデータ転送を再開し（Ｓ１０８）、そのデータの転送終了を監視する。ＴＤに記述された量の転送が終了すると（Ｓ１０９）、ＴＤに記述された次のＴＤポインタ（ＮＴＤＰ）をＤＭＡ制御レジスタに設定する。
【００３８】
送受信ＤＭＡ部１２は、内部レジスタ１３のＤＭＡ制御／ステータスレジスタに次の送信リストを示すＮＴＤＰの記述の有無を検索し（Ｓ１１０）、ＮＴＤＰが記述されているとき、ステップＳ１０２へ戻りＮＴＤＰで指定されたデータの転送を開始する。
【００３９】
このようにＤＭＡ制御レジスタに設定されたＴＤポインタにより次の転送が開始されるので、連続した転送が可能になる。
【００４０】
ＤＭＡ制御レジスタに格納したＴＤに、次の送信リストを示すＮＴＤＰが記述されていないときは、パソコン側のＣＰＵに対し送信終了割り込みをかける（Ｓ１１１）。
【００４１】
次に図６および図７に図１を併せて参照しＤＭＡ転送による受信動作について説明する。図６および図７はＤＭＡ転送方式の受信フローチャートである。
【００４２】
受信イネーブル状態になると（図６のステップＳ３０１）、受信用ＦＩＦＯに格納されている受信データをパソコン側のメインメモリへ転送する（Ｓ３０２）。
【００４３】
このデータ転送は次のように行われる。
受信用ＦＩＦＯ１６を検索し受信データの有無を検出する（図７のステップＳ４０１）。受信用ＦＩＦＯ１６には、ＤＭＡ制御／ステータスレジスタに設定された量のデータの分だけデータが格納される。
【００４４】
受信用ＦＩＦＯ１６に受信データが格納されている場合、ＤＭＡ制御／ステータスレジスタに初期設定時の格納したＴＤポインタを基にメインメモリから図３に示すＴＤをロード（ＤＭＡリード）し（Ｓ４０２）、ロードしたＴＤを基に受信用ＦＩＦＯの中のデータをパソコン側のメインメモリに格納する（ＤＭＡライト）（Ｓ４０３）。
【００４５】
ＤＭＡ制御／ステータスレジスタに格納したＴＤに設定された量のＤＭＡライトを終了すると、現在の転送情報（ＣＢＰ）を更新し（Ｓ４０４）、ＴＤに書き込み（ＤＭＡライト）、現在の転送を終了しデータがＦＩＦＯに蓄積されるまで待つ（Ｓ４０５）。このとき他のチャネルの転送が行われる。
【００４６】
このデータ転送中（Ｓ３０２）は、転送される受信データのパソコン側のメインメモリへの格納を監視し、ＴＤの転送終了ポインタまで受信データをパソコン側のメインメモリに格納すると（Ｓ３０３）、ＴＤに記述された次のＴＤポインタ（ＮＴＤＰ）をＤＭＡ制御レジスタに設定する。
【００４７】
送受信ＤＭＡ部１２は、内部レジスタ１３のＤＭＡ制御／ステータスレジスタに次の受信リストを示すＮＴＤＰの設定の有無を検索し（Ｓ３０４）、ＮＴＤＰが記述されているとき、ステップＳ３０２へ戻りＮＴＤＰで指定された次のＴＤがロードされデータの転送を開始し、データ転送を連続して継続する。
【００４８】
ＤＭＡレジスタ制御／ステータスレジスタにＮＴＤＰが記述されていないとき、
受信エラーが発生し（Ｓ３０５）、パソコン側のＣＰＵに対し割り込みを発生する（Ｓ３０６）。
【００４９】
【発明の効果】
以上説明したように本発明のＰＣＩバス・Ｓ／Ｔインタフェース間接続装置は、ＰＣＩバスマスタ機能を有し、データ転送をリスト方式によりＤＭＡ転送する際、転送データに係わる種々情報を記述した転送デスクリプタを用いることにより、データ転送の情報やデータそのものをパソコン側のメインメモリに格納することが可能なため、第１の効果は、外付けのローカルメモリおよび内部に大規模なＦＩＦＯが不要となり、安価なシステムが構成できる。
【００５０】
第２の効果は、リスト方式のデータ転送により連続したデータ転送が可能なため、従来のように１回の転送が終了する度にパソコン側のＣＰＵに割り込み処理をさせる必要がなく、従ってパソコン側のＣＰＵやＯＳの負荷を軽減させることができる。
【００５１】
第３の効果は、ＣＰＵやＯＳの負荷を軽減させることができるため、アプリケーションの実行を高速化させ、パソコンユーザの操作性を向上させることができる。
【図面の簡単な説明】
【図１】本発明の実施の形態を示すブロック図。
【図２】本発明の送信用転送データデスクリプタの構成を示す図である。
【図３】本発明の受信用転送データデスクリプタの構成を示す図である。
【図４】本発明のＤＭＡ転送方式の送信フローチャートである。
【図５】本発明のＤＭＡ転送方式の詳細な送信フローチャートである。
【図６】本発明のＤＭＡ転送方式の受信フローチャートである。
【図７】本発明のＤＭＡ転送方式の詳細な受信フローチャートである。
【符号の説明】
１０    ＰＣＩバス・Ｓ／Ｔインタフェース間接続装置
１１    ＰＣＩインタフェース部
１２    送／受信ＤＭＡ部
１３    内部レジスタ
１４    Ｓ／ＴインタフェースＬＳＩインタフェース部
１５    送信用ＦＩＦＯ
１６    受信用ＦＩＦＯ
１７    送信用ＨＤＬＣ
１８    送信用ＨＤＬＣ
１９    送信用ＲＡ
２０    受信用ＨＤＬＣ
２１    受信用ＨＤＬＣ
２２    受信用ＲＡ
【図１】
0003645696.tif 000002
【図２】
0003645696.tif 000003
【図３】
0003645696.tif 000004
【図４】
0003645696.tif 000005
【図５】
0003645696.tif 000006
【図６】
0003645696.tif 000007
【図７】
0003645696.tif 000008