JP3645696B2 - PCI bus / S / T interface connection device - Google Patents
PCI bus / S / T interface connection device Download PDFInfo
- Publication number
- JP3645696B2 JP3645696B2 JP29736097A JP29736097A JP3645696B2 JP 3645696 B2 JP3645696 B2 JP 3645696B2 JP 29736097 A JP29736097 A JP 29736097A JP 29736097 A JP29736097 A JP 29736097A JP 3645696 B2 JP3645696 B2 JP 3645696B2
- Authority
- JP
- Japan
- Prior art keywords
- transfer
- data
- transmission
- dma
- pointer
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Expired - Fee Related
Links
Images
Landscapes
- Bus Control (AREA)
Description
【0001】
【発明の属する技術分野】
本発明はISDNターミナルアダプタ等で用いられるパーソナルコンピュータのPCIバスとISDNのS/Tインタフェースとの間でデータ転送を行うPCIバス・S/Tインタフェース間接続装置に関する。
【0002】
【従来の技術】
従来のISDNターミナルアダプタは、パーソナルコンピュータ(以下パソコン)とのインタフェースにRS−232Cのような低速なインタフェースを使用していた。
【0003】
これに対し、パソコンの標準ローカルバスであるPCIバスとのインタフェースを有するターミナルアダプタが開発されている。このターミナルアダプタでは、PCIバスとISDNのS/Tインタフェースとのインタフェースを行うためにPCIバスインタフェースを有するブリッジLSIを使用している。
【0004】
【発明が解決しようとする課題】
従来のブリッジLSIの第1の課題は、外付けのローカルメモリが必要となり、そのためチップ数およびチップ面積が増大し製品コストの高騰を招く。
【0005】
その理由は、ブリッジLSI内部のPCIバスとのインタフェースをPCIターゲット機能のみで行っていたので、高速なPCIバスと低速なISDNのS/Tインタフェースとの間でデータ転送を行う際に、データフレーミング等のデータの加工やデータバッファリング等の速度調整等のために、PCIバスから(へ)転送された(る)データを一時的に蓄積する必要が生じるからである。
【0006】
また、高速なPCIバスとの間のインタフェースを、PCIバスマスタ機能を用いながらリスト方式を用いない通常のDMA転送を行っている場合も同様に外付けのメモリが必要となる。
【0007】
第2の課題は、ブリッジLSIの内部に大規模なFIFOが必要となり、そのため回路規模が増大し、製品コストの高騰を招く。
【0008】
その理由は、第1の課題と同様である。
【0009】
第3の課題は、パソコンのCPUおよびOSの負荷が重くなることである。
【0010】
その理由は、ブリッジLSI内部のPCIバスとの間のインタフェースをPCIターゲット機能で行っていたので、転送の制御をパソコン側のCPUおよびOSがすべて行い、1回毎の転送が終了する度に割り込み処理を行う必要があるからである。
【0011】
また、ブリッジLSI内部のPCIバスとの間のインタフェースを、PCIマスタ機能で行いながら通常のDMA転送を行っている場合も、1回毎の転送が終了する度に割り込み処理を行う必要があるからである。
【0012】
本発明の目的は、PCIバスとISDNのS/Tインタフェースとのインタフェースを行う際に、 従来必要であった大規模なFIFOの縮小および外付けのローカルメモリを削減し、且つパソコン側のCPUやOSの負荷を軽減しアプリケーションの実行を高速化し、パソコンユーザの操作性の向上を図るPCIバス・S/Tインタフェース間接続装置を提供することにある。
【0013】
【課題を解決するための手段】
本発明のPCIバス・S/Tインタフェース間接続装置は、パーソナルコンピュータの標準高速ローカルバスであるPCIバスとISDNのS/Tインタフェース等の低速インタフェースとの間のデータ転送を行う装置であって、PCIバスマスタ機能、PCIターゲット機能、PCIパリティ機能、PCIコンフィグレーションレジスタ、PCIステータスレジスタを有し、前記PCIバスとのインタフェースを行うPCIインタフェース部と、PCIバスマスタとしてDMA転送する送/受信DMA部と、少なくともDMA制御/ステータスレジスタを備えた内部レジスタと、S/TインタフェースLSIとインタフェースするS/TインタフェースLSIインタフェース部と、転送データを格納する送信用FIFOおよび受信用FIFOとから構成され、前記PCIバスマスタ機能により、前記パーソナルコンピュータのメインメモリからロードした、転送開始アドレス、転送終了アドレス、現在の転送ポインタ、データ転送量、フレーム終了信号、次のデータ転送の有無、次の転送リストポインタが記述された送信用転送デスクリプタと、転送開始アドレス、転送終了アドレス、現在の転送ポインタ、フレーム終了信号、次のデータ転送の有無、次の転送リストポインタが記述された受信用転送デスクリプタとを基に、前記パーソナルコンピュータとデータ転送するようにし、前記パーソナルコンピュータから送信コマンドを受け前記DMA制御/ステータスレジスタに予め設定されている転送デスクリプタポインタを基に前記パーソナルコンピュータのメインメモリから前記送信用転送デスクリプタをDMAリードし前記DMA制御/ステータスレジスタへ格納する手段と、前記DMA制御/ステータスレジスタに格納された前記送信用転送デスクリプタに記述されている前記現在の転送ポインタが指定するデータを前記メインメモリからDMAリードし前記送信用FIFOに格納する手段と、前記送信用FIFOが満杯になったとき前記現在の転送ポインタを更新し前記送信用転送デスクリプタへDMAライトしてデータ転送を終了する手段と、データ転送中に前記パーソナルコンピュータから受信要求があったとき現在転送中のデータの転送終了を待って残りのデータ転送を一時中断し、一時中断する前の送信用転送デスクリプタをDMAライトして転送途中の情報を保持し、前記受信要求のあった受信用転送デスクリプタの前記DMA制御/ステータスレジスタへの格納が終了したとき前記一時中断した残りのデータ転送を再開し、前記送信用転送デスクリプタに記述されたデータ転送量の転送が終了したとき前記送信用転送デスクリプタに記述された次の送信用転送デスクリプタポインタを前記DMA制御/ステータスレジスタへ設定する手段と、前記DMA制御/ステータスレジスタに前記次の送信用転送デスクリプタポインタが設定されているとき対応するデータを転送し、前記次の送信用転送デスクリプタポインタが設定されていないとき前記パーソナルコンピュータのCPUに対し送信終了割り込みする手段と、を備えて構成されている。
【0019】
このように、転送すべきデータの情報も、実際のデータもメインメモリ内に格納しておき、PCIバスとのデータ転送時に転送デスクリプタを用いたリスト方式のDMA方式によりメインメモリから転送すべきデータの情報と実際のデータの転送を行うことにより、転送データを一時的に蓄えておくための大規模なFIFOやローカルメモリは不要となる。
【0020】
また、転送デスクリプタに次の転送の情報を盛り込むことができるため、連続した転送が可能になる。従って、一回ごとの転送が終了するごとにCPUが割り込み処理を行う必要がなくなり、CPUの負荷が軽くなりCPUはその他の作業を行える。結果的にアプリケーションの実行が高速になり、パソコンユーザの操作性が向上する。
【0021】
【発明の実施の形態】
次に、本発明の実施例について図面を参照して詳細に説明する。
【0022】
図1は本発明のPCIバス・S/Tインタフェース間接続装置の実施の形態を示すブロック図である。
【0023】
図1に示すPCIバス・S/Tインタフェース間接続装置10は、PCIインタフェース部11と、送/受信DMA部12と、内部レジスタ13と、S/TインタフェースLSIインタフェース部14と、送信用FIFO15と、受信用FIFO16と、送信用HDLC17,18と、送信用RA19と、受信用HDLC20,21と、受信用RA22とから構成する。
【0024】
PCIインタフェース部11は、PCIマスタ機能、PCIターゲット機能、PCIパリティ機能、PCIコンフィグレーションレジスタ、PCIステータスレジスタ等を有し、PCIバスとのインタフェースを行う。
【0025】
送受信DMA部12は、内部レジスタの設定を基にDMA転送を行う。内部レジスタ13は、DMA制御/ステータスレジスタ、HDLC制御/ステータスレジスタ、RA制御/ステータスレジスタ、非同期通信制御/ステータスレジスタ、Dチャネル制御/ステータスレジスタ、S/TインタフェースLSI制御/ステータスレジスタを有している(いずれも図示せず)。
【0026】
S/TインタフェースLSIインタフェース部14は、ISDNの既存のS/TインタフェースLSI(図示せず)とのインタフェースを行う。送信用FIFO15と、受信用FIFO16は送受信に必要な最低限(PCIマスタとしてDMA実行を行って待たされる時間分に相当する)のデータを蓄積する。
【0027】
送信用HDLC17、18は送信時HDLCフレームを作成し、受信用HDLC20、21は受信時にHDLCフレームからインフォメーションデータを作成する。送信用RA19および受信用RA22は、は非同期通信V.110をサポートする。
【0028】
PCIバス・S/Tインタフェース間接続装置10は、データ転送にリスト方式のDMA(Direct Memory Access)を用いる。このリスト方式は図2および図3に示す転送デスクリプタ(TD:Transfer Descriptor)を用いる。図2は送信用転送データデスクリプタを示す図であり、図3は受信用転送データデスクリプタを示す図である。
【0029】
送信用転送デスクリプタには、転送開始アドレス(SA:Start Address)を記述するTSP(Transfer Start Pointer)と、転送終了アドレス(EA:End Address)を記述するTEP(Transfer End Pointer)と、現在の転送ポインタを記述するCBP(CBP:Current Buffer Pointer)と、データ転送量を記述するTC(Transfer Count)と、フレーム終了信号を記述するFE(Frame End)と、次のデータ転送情報を記述するNT(Next Transfer)と、次の転送リストポインタを記述するNTDP(Next Transfer Descriptor Pointer)とから構成され、送/受信DMA部12はこのTD(転送デスクリプタ)を基にパソコンとの間で送信データの転送を行う。なお、TDは各送信チャネル毎に設定される。
【0030】
受信用転送デスクリプタには、転送開始アドレス(SA:Start Address)を記述するTSP(Transfer Start Pointer)と、転送終了アドレス(EA:End Address)を記述するTEP(Transfer End Pointer)と、現在の転送ポインタを記述するCBP(CBP:Current Buffer Pointer)と、フレーム終了信号を記述するFE(Frame End)と、次のデータ転送情報を記述するNT(Next Transfer)と、次の転送リストポインタを記述するNTDP(Next Transfer Descriptor Pointer)とから構成され、送/受信DMA部12はこのTDを基にパソコンとの間で受信データの転送を行う。なお、TDは各受信チャネル毎に設定される。
【0031】
次に図4および図5に図1を併せて参照しDMA転送による送信動作について説明する。図4および図5はDMA転送方式の送信フローチャートである。
【0032】
DMAによるデータの送信はDMA制御/ステータスレジスタへ送信コマンドをライトすることで始まる。送信コマンドが受け付けると(図4のステップS101)、送/受信DMA部12(図1参照)はパソコン側のメインメモリ(図示せず)からTDをロード(DMAリード)しデータ転送を開始する(S102)。
【0033】
このデータ転送は次のように行われる。
PCIバス・S/Tインタフェース間接続装置10は、転送イネーブル状態を判定し(図5のステップS201)、内部レジスタ13のDMA制御/ステータスレジスタ内に初期設定時に格納した転送デスクリプタポインタ(TDポインタ)を基にパソコン側のメインメモリから図2に示すTDをロード(DMAリード)し、DMA制御/ステータスレジスタへ格納する(S202)。
【0034】
送/受信DMA部12は、FIFO15の記憶容量に余裕があるか否かを判定し、余裕があるときDMA制御/ステータスレジスタへ格納したTDを基にDMAリードを行いデータをFIFOに格納する。
【0035】
FIFO15が満杯になると(S203)、現在の転送ポインタ(CBP)を更新し(S205)、TDに書き込み(DMAライト)データの転送を終了する(S206)。このとき他のチャネルの転送が行われる。
【0036】
データ転送中に受信要求があると(S103)、現在転送中のデータの転送終了(S104)を待って、 まだ残っているデータの転送を一時中断し(S105)、送信中(一時中断する前)のTDをDMAライトして転送中のデータを保持すると共に、受信要求のあったTDをDMAリードしてDMA制御/ステータスレジスタへ格納する(S106)。このとき、他のチャネルの転送が行われる。
【0037】
受信要求のあったTDのDMA制御/ステータスレジスタへの格納が終了すると、ステップS105における一時中断を復旧し(S107)、残りのデータ転送を再開し(S108)、そのデータの転送終了を監視する。TDに記述された量の転送が終了すると(S109)、TDに記述された次のTDポインタ(NTDP)をDMA制御レジスタに設定する。
【0038】
送受信DMA部12は、内部レジスタ13のDMA制御/ステータスレジスタに次の送信リストを示すNTDPの記述の有無を検索し(S110)、NTDPが記述されているとき、ステップS102へ戻りNTDPで指定されたデータの転送を開始する。
【0039】
このようにDMA制御レジスタに設定されたTDポインタにより次の転送が開始されるので、連続した転送が可能になる。
【0040】
DMA制御レジスタに格納したTDに、次の送信リストを示すNTDPが記述されていないときは、パソコン側のCPUに対し送信終了割り込みをかける(S111)。
【0041】
次に図6および図7に図1を併せて参照しDMA転送による受信動作について説明する。図6および図7はDMA転送方式の受信フローチャートである。
【0042】
受信イネーブル状態になると(図6のステップS301)、受信用FIFOに格納されている受信データをパソコン側のメインメモリへ転送する(S302)。
【0043】
このデータ転送は次のように行われる。
受信用FIFO16を検索し受信データの有無を検出する(図7のステップS401)。受信用FIFO16には、DMA制御/ステータスレジスタに設定された量のデータの分だけデータが格納される。
【0044】
受信用FIFO16に受信データが格納されている場合、DMA制御/ステータスレジスタに初期設定時の格納したTDポインタを基にメインメモリから図3に示すTDをロード(DMAリード)し(S402)、ロードしたTDを基に受信用FIFOの中のデータをパソコン側のメインメモリに格納する(DMAライト)(S403)。
【0045】
DMA制御/ステータスレジスタに格納したTDに設定された量のDMAライトを終了すると、現在の転送情報(CBP)を更新し(S404)、TDに書き込み(DMAライト)、現在の転送を終了しデータがFIFOに蓄積されるまで待つ(S405)。このとき他のチャネルの転送が行われる。
【0046】
このデータ転送中(S302)は、転送される受信データのパソコン側のメインメモリへの格納を監視し、TDの転送終了ポインタまで受信データをパソコン側のメインメモリに格納すると(S303)、TDに記述された次のTDポインタ(NTDP)をDMA制御レジスタに設定する。
【0047】
送受信DMA部12は、内部レジスタ13のDMA制御/ステータスレジスタに次の受信リストを示すNTDPの設定の有無を検索し(S304)、NTDPが記述されているとき、ステップS302へ戻りNTDPで指定された次のTDがロードされデータの転送を開始し、データ転送を連続して継続する。
【0048】
DMAレジスタ制御/ステータスレジスタにNTDPが記述されていないとき、
受信エラーが発生し(S305)、パソコン側のCPUに対し割り込みを発生する(S306)。
【0049】
【発明の効果】
以上説明したように本発明のPCIバス・S/Tインタフェース間接続装置は、PCIバスマスタ機能を有し、データ転送をリスト方式によりDMA転送する際、転送データに係わる種々情報を記述した転送デスクリプタを用いることにより、データ転送の情報やデータそのものをパソコン側のメインメモリに格納することが可能なため、第1の効果は、外付けのローカルメモリおよび内部に大規模なFIFOが不要となり、安価なシステムが構成できる。
【0050】
第2の効果は、リスト方式のデータ転送により連続したデータ転送が可能なため、従来のように1回の転送が終了する度にパソコン側のCPUに割り込み処理をさせる必要がなく、従ってパソコン側のCPUやOSの負荷を軽減させることができる。
【0051】
第3の効果は、CPUやOSの負荷を軽減させることができるため、アプリケーションの実行を高速化させ、パソコンユーザの操作性を向上させることができる。
【図面の簡単な説明】
【図1】本発明の実施の形態を示すブロック図。
【図2】本発明の送信用転送データデスクリプタの構成を示す図である。
【図3】本発明の受信用転送データデスクリプタの構成を示す図である。
【図4】本発明のDMA転送方式の送信フローチャートである。
【図5】本発明のDMA転送方式の詳細な送信フローチャートである。
【図6】本発明のDMA転送方式の受信フローチャートである。
【図7】本発明のDMA転送方式の詳細な受信フローチャートである。
【符号の説明】
10 PCIバス・S/Tインタフェース間接続装置
11 PCIインタフェース部
12 送/受信DMA部
13 内部レジスタ
14 S/TインタフェースLSIインタフェース部
15 送信用FIFO
16 受信用FIFO
17 送信用HDLC
18 送信用HDLC
19 送信用RA
20 受信用HDLC
21 受信用HDLC
22 受信用RA[0001]
BACKGROUND OF THE INVENTION
The present invention relates to a PCI bus / S / T interface connection device for transferring data between a PCI bus of a personal computer used in an ISDN terminal adapter or the like and an SDN interface of ISDN.
[0002]
[Prior art]
Conventional ISDN terminal adapters use a low-speed interface such as RS-232C as an interface with a personal computer (hereinafter referred to as a personal computer).
[0003]
On the other hand, a terminal adapter having an interface with a PCI bus which is a standard local bus of a personal computer has been developed. In this terminal adapter, a bridge LSI having a PCI bus interface is used to interface the PCI bus with the ISDN S / T interface.
[0004]
[Problems to be solved by the invention]
The first problem of the conventional bridge LSI is that an external local memory is required, which increases the number of chips and the chip area, resulting in an increase in product cost.
[0005]
The reason is that the interface to the PCI bus inside the bridge LSI is performed only by the PCI target function, and therefore data framing is performed when transferring data between the high-speed PCI bus and the low-speed ISDN S / T interface. This is because it is necessary to temporarily accumulate data transferred from (to) the PCI bus for speed adjustment such as data buffering and data buffering.
[0006]
Similarly, an external memory is required when the interface with the high-speed PCI bus performs normal DMA transfer without using the list method while using the PCI bus master function.
[0007]
The second problem is that a large-scale FIFO is required inside the bridge LSI, which increases the circuit scale and increases the product cost.
[0008]
The reason is the same as in the first problem.
[0009]
The third problem is that the load on the CPU and OS of the personal computer becomes heavy.
[0010]
The reason for this is that the interface to the PCI bus inside the bridge LSI is performed by the PCI target function, so that the CPU and OS on the personal computer side perform all the transfer control and interrupt each time the transfer ends. This is because it is necessary to perform processing.
[0011]
Also, even when normal DMA transfer is performed while the PCI master function is used as an interface with the PCI bus in the bridge LSI, it is necessary to perform interrupt processing every time transfer is completed. It is.
[0012]
The object of the present invention is to reduce the large-scale FIFO and external local memory, which have been necessary in the past, when interfacing between the PCI bus and the ISDN S / T interface. An object of the present invention is to provide a PCI bus / S / T interface connection device that reduces the load on the OS, speeds up the execution of an application, and improves the operability of a personal computer user.
[0013]
[Means for Solving the Problems]
The PCI bus / S / T interface connecting device of the present invention is a device for transferring data between a PCI bus, which is a standard high speed local bus of a personal computer, and a low speed interface such as an ISDN S / T interface , A PCI bus master function, a PCI target function, a PCI parity function, a PCI configuration register, a PCI status register, a PCI interface unit for interfacing with the PCI bus, and a transmission / reception DMA unit for DMA transfer as a PCI bus master; An internal register having at least a DMA control / status register, an S / T interface LSI interface unit that interfaces with the S / T interface LSI, a transmission FIFO and a reception FIFO for storing transfer data Is composed of a, by the PCI bus master function, the loaded from the main memory of the personal computer, transfer start address, a transfer end address, the current transfer pointer, the data transfer amount, the frame end signal, the presence or absence of the next data transfer, the following Transfer descriptor for which the transfer list pointer is described, transfer start address, transfer end address, current transfer pointer, frame end signal, presence / absence of next data transfer, transfer for reception in which the next transfer list pointer is described based on the descriptor, from the so as to personal computers and the data transfer, a main memory of the personal computer based on the transfer descriptor pointer which is previously set in the DMA control / status register receives a transmission command from said personal computer Means for DMA-reading the transfer descriptor for transmission and storing it in the DMA control / status register, and data designated by the current transfer pointer described in the transmission transfer descriptor stored in the DMA control / status register Is read from the main memory and stored in the transmission FIFO, and when the transmission FIFO is full, the current transfer pointer is updated and the DMA is written to the transmission transfer descriptor to complete the data transfer. And when a reception request is received from the personal computer during the data transfer, the remaining data transfer is suspended after waiting for the completion of the transfer of the data currently being transferred, and the transmission transfer descriptor before the suspension is DMA-written. Information in the middle of the transfer, and When the transmission descriptor has been stored in the DMA control / status register, the remaining suspended data transfer is resumed, and when the transfer of the data transfer amount described in the transmission transfer descriptor is completed, the transmission transfer is completed. Means for setting a next transmission transfer descriptor pointer described in the descriptor in the DMA control / status register, and corresponding data when the next transmission transfer descriptor pointer is set in the DMA control / status register. And means for interrupting transmission to the CPU of the personal computer when the next transmission transfer descriptor pointer is not set.
[0019]
As described above, information on data to be transferred and actual data are stored in the main memory, and data to be transferred from the main memory by a list type DMA method using a transfer descriptor at the time of data transfer with the PCI bus. By transferring the information and the actual data, a large-scale FIFO or local memory for temporarily storing the transfer data becomes unnecessary.
[0020]
Further, since the next transfer information can be included in the transfer descriptor, continuous transfer is possible. Therefore, it is not necessary for the CPU to perform an interrupt process every time transfer is completed, and the load on the CPU is reduced and the CPU can perform other operations. As a result, the execution of the application becomes faster and the operability of the personal computer user is improved.
[0021]
DETAILED DESCRIPTION OF THE INVENTION
Next, embodiments of the present invention will be described in detail with reference to the drawings.
[0022]
FIG. 1 is a block diagram showing an embodiment of a PCI bus / S / T interface connecting apparatus according to the present invention.
[0023]
A PCI bus / S / T
[0024]
The PCI interface unit 11 has a PCI master function, a PCI target function, a PCI parity function, a PCI configuration register, a PCI status register, and the like, and performs an interface with the PCI bus.
[0025]
The transmission / reception DMA unit 12 performs DMA transfer based on the setting of the internal register. The
[0026]
The S / T interface
[0027]
The
[0028]
The PCI bus / S / T
[0029]
The transmission transfer descriptor includes a TSP (Transfer Start Pointer) that describes a transfer start address (SA), a TEP (Transfer End Pointer) that describes a transfer end address (EA: End Address), and the current transfer. A CBP (Current Buffer Pointer) describing a pointer, a TC (Transfer Count) describing a data transfer amount, an FE (Frame End) describing a frame end signal, and an NT (Description) describing the next data transfer information Next Transfer) and an NTDP (Next Transfer Descriptor Pointer) describing the next transfer list pointer. For transferring transmit data between the TD (transfer descriptors) PC based on the. TD is set for each transmission channel.
[0030]
The reception transfer descriptor includes a TSP (Transfer Start Pointer) describing a transfer start address (SA), a TEP (Transfer End Pointer) describing a transfer end address (EA: End Address), and the current transfer. A CBP (Current Buffer Pointer) that describes a pointer, an FE (Frame End) that describes a frame end signal, an NT (Next Transfer) that describes next data transfer information, and a next transfer list pointer The transmission / reception DMA unit 12 transfers received data to and from the personal computer based on this TD. The transmission / reception DMA unit 12 is composed of an NTDP (Next Transfer Descriptor Pointer). Note that TD is set for each reception channel.
[0031]
Next, a transmission operation by DMA transfer will be described with reference to FIGS. 4 and 5 together with FIG. FIG. 4 and FIG. 5 are transmission flowcharts of the DMA transfer method.
[0032]
Data transmission by DMA starts by writing a transmission command to the DMA control / status register. When the transmission command is accepted (step S101 in FIG. 4), the transmission / reception DMA unit 12 (see FIG. 1) loads TD (DMA read) from the main memory (not shown) on the personal computer side and starts data transfer (see FIG. 1). S102).
[0033]
This data transfer is performed as follows.
The PCI bus / S / T
[0034]
The transmission / reception DMA unit 12 determines whether or not the storage capacity of the
[0035]
When the
[0036]
If there is a reception request during data transfer (S103), the transfer of data that is currently being transferred is waited for completion (S104), the transfer of the remaining data is temporarily suspended (S105), and the data is being transmitted (before being temporarily interrupted). The TD of) is DMA-written to hold the data being transferred, and the TD requested to be received is DMA-read and stored in the DMA control / status register (S106). At this time, another channel is transferred.
[0037]
When storage of the TD requested to be received in the DMA control / status register is completed, the temporary interruption in step S105 is restored (S107), the remaining data transfer is resumed (S108), and the completion of the data transfer is monitored. . When the transfer of the amount described in TD is completed (S109), the next TD pointer (NTDP) described in TD is set in the DMA control register.
[0038]
Receiving DMA unit 12 searches whether DESCRIPTION NTDP indicating the next transmission list in the DMA control / status register in the
[0039]
Since the next transfer is started by the TD pointer set in the DMA control register in this way, continuous transfer is possible.
[0040]
When NTDP indicating the next transmission list is not described in the TD stored in the DMA control register, a transmission end interrupt is issued to the CPU on the personal computer side (S111).
[0041]
Next, a reception operation by DMA transfer will be described with reference to FIGS. 6 and 7 together with FIG. 6 and 7 are reception flowcharts of the DMA transfer method.
[0042]
When the reception is enabled (step S301 in FIG. 6), the reception data stored in the reception FIFO is transferred to the main memory on the personal computer side (S302).
[0043]
This data transfer is performed as follows.
The receiving
[0044]
When reception data is stored in the
[0045]
When the DMA write of the amount set in the TD stored in the DMA control / status register is completed, the current transfer information (CBP) is updated (S404), written to the TD (DMA write), the current transfer is terminated, and the data Waits until it is stored in the FIFO (S405). At this time, another channel is transferred.
[0046]
During this data transfer (S302), the storage of the received data to be transferred is monitored in the main memory on the personal computer side, and the received data is stored in the main memory on the personal computer side until the TD transfer end pointer (S303). The next described TD pointer (NTDP) is set in the DMA control register.
[0047]
Receiving DMA unit 12 searches the presence or absence of the setting of the NTDP that the DMA control / status register in the
[0048]
When NTDP is not described in the DMA register control / status register,
A reception error occurs (S305), and an interrupt is generated for the CPU on the personal computer side (S306).
[0049]
【The invention's effect】
As described above, the PCI bus / S / T interface connecting device of the present invention has a PCI bus master function, and when performing data transfer by DMA transfer by a list method, a transfer descriptor describing various information related to transfer data is provided. By using it, it is possible to store data transfer information and data itself in the main memory on the personal computer side. Therefore, the first effect is that an external local memory and a large-scale FIFO are not required, and it is inexpensive. The system can be configured.
[0050]
The second effect is that continuous data transfer is possible by list-type data transfer, so that it is not necessary to cause the CPU on the personal computer side to perform interrupt processing every time one transfer is completed as in the prior art. The load on the CPU and OS can be reduced.
[0051]
The third effect is that the load on the CPU and OS can be reduced, so that the execution of the application can be accelerated and the operability of the personal computer user can be improved.
[Brief description of the drawings]
FIG. 1 is a block diagram illustrating an embodiment of the present invention.
FIG. 2 is a diagram showing a configuration of a transmission transfer data descriptor according to the present invention.
FIG. 3 is a diagram illustrating a configuration of a transfer data descriptor for reception according to the present invention.
FIG. 4 is a transmission flowchart of the DMA transfer method of the present invention.
FIG. 5 is a detailed transmission flowchart of the DMA transfer method of the present invention.
FIG. 6 is a reception flowchart of the DMA transfer system of the present invention.
FIG. 7 is a detailed reception flowchart of the DMA transfer system of the present invention.
[Explanation of symbols]
10 PCI Bus / S / T Interface Connection Device 11 PCI Interface Unit 12 Transmit / Receive
16 Receive FIFO
17 Transmission HDLC
18 Transmission HDLC
19 Transmitting RA
20 HDLC for reception
21 HDLC for reception
22 RA for reception
Claims (1)
PCIバスマスタ機能、PCIターゲット機能、PCIパリティ機能、PCIコンフィグレーションレジスタ、PCIステータスレジスタを有し、前記PCIバスとのインタフェースを行うPCIインタフェース部と、PCIバスマスタとしてDMA転送する送/受信DMA部と、少なくともDMA制御/ステータスレジスタを備えた内部レジスタと、S/TインタフェースLSIとインタフェースするS/TインタフェースLSIインタフェース部と、転送データを格納する送信用FIFOおよび受信用FIFOとから構成され、
前記PCIバスマスタ機能により、前記パーソナルコンピュータのメインメモリからロードした、転送開始アドレス、転送終了アドレス、現在の転送ポインタ、データ転送量、フレーム終了信号、次のデータ転送の有無、次の転送リストポインタが記述された送信用転送デスクリプタと、転送開始アドレス、転送終了アドレス、現在の転送ポインタ、フレーム終了信号、次のデータ転送の有無、次の転送リストポインタが記述された受信用転送デスクリプタとを基に、前記パーソナルコンピュータとデータ転送するようにし、
前記パーソナルコンピュータから送信コマンドを受け前記DMA制御/ステータスレジスタに予め設定されている転送デスクリプタポインタを基に前記パーソナルコンピュータのメインメモリから前記送信用転送デスクリプタをDMAリードし前記DMA制御/ステータスレジスタへ格納する手段と、
前記DMA制御/ステータスレジスタに格納された前記送信用転送デスクリプタに記述されている前記現在の転送ポインタが指定するデータを前記メインメモリからDMAリードし前記送信用FIFOに格納する手段と、
前記送信用FIFOが満杯になったとき前記現在の転送ポインタを更新し前記送信用転送デスクリプタへDMAライトしてデータ転送を終了する手段と、
データ転送中に前記パーソナルコンピュータから受信要求があったとき現在転送中のデータの転送終了を待って残りのデータ転送を一時中断し、一時中断する前の送信用転送デスクリプタをDMAライトして転送途中の情報を保持し、前記受信要求のあった受信用転送デスクリプタの前記DMA制御/ステータスレジスタへの格納が終了したとき前記一時中断した残りのデータ転送を再開し、前記送信用転送デスクリプタに記述されたデータ転送量の転送が終了したとき前記送信用転送デスクリプタに記述された次の送信用転送デスクリプタポインタを前記DMA制御/ステータスレジスタへ設定する手段と、
前記DMA制御/ステータスレジスタに前記次の送信用転送デスクリプタポインタが設定されているとき対応するデータを転送し、前記次の送信用転送デスクリプタポインタが設定されていないとき前記パーソナルコンピュータのCPUに対し送信終了割り込みする手段と、
を有することを特徴とするPCIバス・S/Tインタフェース間接続装置。An apparatus for transferring data between a PCI bus, which is a standard high-speed local bus of a personal computer, and a low-speed interface such as an ISDN S / T interface,
A PCI bus master function, a PCI target function, a PCI parity function, a PCI configuration register, a PCI status register, a PCI interface unit for interfacing with the PCI bus, and a transmission / reception DMA unit for DMA transfer as a PCI bus master; An internal register including at least a DMA control / status register, an S / T interface LSI interface unit that interfaces with the S / T interface LSI, a transmission FIFO and a reception FIFO for storing transfer data,
The PCI bus master function loads the transfer start address, transfer end address, current transfer pointer, data transfer amount, frame end signal, presence / absence of next data transfer, and next transfer list pointer loaded from the main memory of the personal computer. Based on the described transfer descriptor for transmission, transfer start address, transfer end address, current transfer pointer, frame end signal, presence / absence of next data transfer, and transfer descriptor for reception in which the next transfer list pointer is described To transfer data with the personal computer ,
Upon receiving a transmission command from the personal computer, the transmission transfer descriptor for DMA is DMA-read from the main memory of the personal computer based on a transfer descriptor pointer preset in the DMA control / status register, and stored in the DMA control / status register. Means to
Means for DMA-reading the data specified by the current transfer pointer described in the transmission transfer descriptor stored in the DMA control / status register from the main memory and storing the data in the transmission FIFO;
Means for updating the current transfer pointer when the transmission FIFO becomes full, DMA writing to the transmission transfer descriptor, and ending data transfer;
When there is a reception request from the personal computer during the data transfer, the transfer of the data currently being transferred is awaited, the remaining data transfer is temporarily suspended, and the transmission transfer descriptor before the temporary suspension is DMA-written and the transfer is in progress When the reception transfer descriptor for which the reception request has been received is stored in the DMA control / status register, the temporarily suspended remaining data transfer is resumed, and is described in the transmission transfer descriptor. Means for setting the next transmission transfer descriptor pointer described in the transmission transfer descriptor in the DMA control / status register when the transfer of the data transfer amount is completed;
When the next transmission transfer descriptor pointer is set in the DMA control / status register, the corresponding data is transferred, and when the next transmission transfer descriptor pointer is not set, the data is transmitted to the CPU of the personal computer. A means to interrupt termination,
A PCI bus / S / T interface connection device comprising:
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29736097A JP3645696B2 (en) | 1997-10-29 | 1997-10-29 | PCI bus / S / T interface connection device |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP29736097A JP3645696B2 (en) | 1997-10-29 | 1997-10-29 | PCI bus / S / T interface connection device |
Publications (2)
Publication Number | Publication Date |
---|---|
JPH11134289A JPH11134289A (en) | 1999-05-21 |
JP3645696B2 true JP3645696B2 (en) | 2005-05-11 |
Family
ID=17845499
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP29736097A Expired - Fee Related JP3645696B2 (en) | 1997-10-29 | 1997-10-29 | PCI bus / S / T interface connection device |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP3645696B2 (en) |
Families Citing this family (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2005013137A1 (en) | 2003-08-04 | 2005-02-10 | Fujitsu Limited | Data transfer method |
-
1997
- 1997-10-29 JP JP29736097A patent/JP3645696B2/en not_active Expired - Fee Related
Also Published As
Publication number | Publication date |
---|---|
JPH11134289A (en) | 1999-05-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
US5867733A (en) | Mass data storage controller permitting data to be directly transferred between storage devices without transferring data to main memory and without transferring data over input-output bus | |
US4494190A (en) | FIFO buffer to cache memory | |
US7523235B2 (en) | Serial Advanced Technology Attachment (SATA) switch | |
US6070214A (en) | Serially linked bus bridge for expanding access over a first bus to a second bus | |
US6065087A (en) | Architecture for a high-performance network/bus multiplexer interconnecting a network and a bus that transport data using multiple protocols | |
CN100405303C (en) | Data processing system having a channel adapter shared by multiple operating systems | |
EP2126705B1 (en) | Serial advanced technology attachment (sata) and serial attached small computer system interface (scsi) (sas) bridging | |
US8074002B2 (en) | Route aware serial advanced technology attachment (SATA) switch | |
JP3403284B2 (en) | Information processing system and control method thereof | |
US6088752A (en) | Method and apparatus for exchanging information between buses in a portable computer and docking station through a bridge employing a serial link | |
US6901451B1 (en) | PCI bridge over network | |
EP0141742A2 (en) | Buffer system for input/output portion of digital data processing system | |
KR20020015047A (en) | A Method and Apparatus for Automatically Transferring I/O Blocks between a Host System and a Host Adapter | |
JPH08249254A (en) | Multicomputer system | |
WO1998015896A1 (en) | High speed heterogeneous coupling of computer systems using channel-to-channel protocol | |
US6401142B1 (en) | Apparatus and method for selective bus transfer using master and slave modes | |
JP3645696B2 (en) | PCI bus / S / T interface connection device | |
JP2001282631A (en) | Method, system and pci bus system for limiting destruction of write data | |
JPH1063617A (en) | Serial communication device | |
US7051148B2 (en) | Data transmission sequencing method associated with briding device and application system | |
JP2002176464A (en) | Network interface device | |
KR0170742B1 (en) | Data transfer method using mbus | |
JP2000155738A (en) | Data processor | |
KR100205055B1 (en) | Emergency message send control method in a send network interface | |
KR100757224B1 (en) | Computer docking system and method |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20020806 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20041122 |
|
A61 | First payment of annual fees (during grant procedure) |
Free format text: JAPANESE INTERMEDIATE CODE: A61 Effective date: 20050204 |
|
R150 | Certificate of patent or registration of utility model |
Free format text: JAPANESE INTERMEDIATE CODE: R150 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20080210 Year of fee payment: 3 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20090210 Year of fee payment: 4 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20100210 Year of fee payment: 5 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20110210 Year of fee payment: 6 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20120210 Year of fee payment: 7 |
|
FPAY | Renewal fee payment (event date is renewal date of database) |
Free format text: PAYMENT UNTIL: 20130210 Year of fee payment: 8 |
|
LAPS | Cancellation because of no payment of annual fees |