JPH0248757A - Data communication system - Google Patents

Data communication system

Info

Publication number
JPH0248757A
JPH0248757A JP63199585A JP19958588A JPH0248757A JP H0248757 A JPH0248757 A JP H0248757A JP 63199585 A JP63199585 A JP 63199585A JP 19958588 A JP19958588 A JP 19958588A JP H0248757 A JPH0248757 A JP H0248757A
Authority
JP
Japan
Prior art keywords
dmac
dma
transfer
cpu
data
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.)
Pending
Application number
JP63199585A
Other languages
Japanese (ja)
Inventor
Katsuyuki Nagao
長尾 勝行
Keizo Maeda
前田 啓三
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Fujitsu Ltd
Original Assignee
Fujitsu Ltd
Priority date (The priority date 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 date listed.)
Filing date
Publication date
Application filed by Fujitsu Ltd filed Critical Fujitsu Ltd
Priority to JP63199585A priority Critical patent/JPH0248757A/en
Publication of JPH0248757A publication Critical patent/JPH0248757A/en
Pending legal-status Critical Current

Links

Landscapes

  • Debugging And Monitoring (AREA)
  • Bus Control (AREA)

Abstract

PURPOSE:To surely stop a DMAC so that restoring processing can be performed without delay even in the case of high speed transfer or in the case when a bus was not released by stopping the DMAC forcedly by detecting that DMA transfer is not performed within a time constant period. CONSTITUTION:A hardware timer circuit 43 is operated at every DMA transfer period by using a fact that a DMA (Direct Memory Access) response from a DMA controller (DMAC) 42 corresponds to the actual DMA transfer. When the DMA transfer is not performed within a time constant, the DMAC 42 is stopped forcedly, and the DMAC 42 and the hardware timer circuit 43 are initialized. Thus, since time supervision is performed regardless of a CPU cycle, the time supervision can be surely performed so that the DMAC can be stopped even in the case of the high speed transfer with no CPU cycle and in the case when the DMAC 42 does not release the bus for some reason, and besides, the CPU cycle need not be strictly supervised, and the restoring processing can be performed without delay.

Description

【発明の詳細な説明】 〔産業上の利用分野〕 本発明は、DMAによって転送元から転送先へデータ転
送を行なうデータ通信方式に関する。
DETAILED DESCRIPTION OF THE INVENTION [Field of Industrial Application] The present invention relates to a data communication system for transferring data from a transfer source to a transfer destination using DMA.

従来、マイクロコンピュータを用いたデータ通信システ
ムには通信専用LSIが使用されることが多く、特に、
高速のデータ通信においてCPUの処理時間が不足する
場合や、個々のデータ転送に伴うCPUの処理を軽減す
る場合等、DMA転送を使用する必要がある。この場合
、DMAコントローラを用いて通信専用LSIとRAM
(バッフ7メモリ)との間でCPLIを介さずにDMA
転送を行ない、CPUはDMA[r送によるデータ通信
終了侵に通信データに一括処理を行なう。これにより、
データ通信中はCPUは通信処理を行なう必要がなく、
CPUの負荷が軽減される。
Conventionally, communication-dedicated LSIs have often been used in data communication systems using microcomputers, and in particular,
DMA transfer needs to be used when CPU processing time is insufficient for high-speed data communication, or when reducing CPU processing associated with individual data transfers. In this case, a DMA controller is used to connect the communication-dedicated LSI and RAM.
(buffer 7 memory) without going through CPLI.
Transfer is performed, and the CPU performs batch processing on the communication data when the data communication ends due to DMA[r transfer. This results in
During data communication, the CPU does not need to perform communication processing,
The load on the CPU is reduced.

DMA転送は上記のようにCPUを介さずに(つまり、
ハードウェア的に)転送元から転送先へデータ転送を行
なうもので、前述のように、CPUの処理軽減を目的と
する通信システムに必要とされる。
DMA transfer is performed without going through the CPU as described above (i.e.
It transfers data from a transfer source to a transfer destination (in terms of hardware), and as mentioned above, is required in communication systems that aim to reduce CPU processing.

〔従来の技術〕[Conventional technology]

第5図は従来方式の一例のブロック図を示す。 FIG. 5 shows a block diagram of an example of the conventional method.

同図において、DMAClの制御により、RAM(バッ
フ7メモリ)2と通信LSI3との間でDMA転送が行
なわれ、例えばRAM2からのデータが通信LSI3を
介して外部通信回路4に送信されたり、一方、外部通信
回線4からのデータが通信LSI3にて受信されてRA
M2に書込まれたりする。このとき、DMAClで指定
されたアドレスに応じてデータバス5においてデータ転
送が行なわれる。このようにDMAClが動作している
時はDMAC1はデータバス5及びアドレスバス6のバ
ス使用権を与えられており、この場合はCPU7は待機
状態となっている。DMA転送が終了すれば、DMAC
1からの割込みによってCPU7は待機状態から動作状
態に移り、CPU7は通信データの一括処理を行なう。
In the figure, under the control of DMACl, DMA transfer is performed between RAM (buffer 7 memory) 2 and communication LSI 3, and for example, data from RAM 2 is transmitted to external communication circuit 4 via communication LSI 3, and , data from the external communication line 4 is received by the communication LSI 3 and sent to the RA.
It may be written to M2. At this time, data transfer is performed on the data bus 5 according to the address specified by DMACl. When DMAC1 is operating in this manner, DMAC1 is given the right to use the data bus 5 and address bus 6, and in this case, the CPU 7 is in a standby state. When the DMA transfer is completed, the DMAC
The CPU 7 shifts from the standby state to the operating state by the interrupt from 1, and the CPU 7 performs batch processing of communication data.

この場合、一般に、DMAC1は内部に転送データ語長
カウンタ、メモリ/10アクセス用インターフエース、
FIFOバッフ?(先入れ先出しバッファ等)を備えた
ハードウェアロジックを内蔵されており、CPU7によ
り指定された転送データ語長(例えば10バイト等)に
応じて動作する。
In this case, DMAC1 generally includes a transfer data word length counter, a memory/10 access interface,
FIFO buffer? It has a built-in hardware logic (first-in, first-out buffer, etc.), and operates according to the transfer data word length (for example, 10 bytes) designated by the CPU 7.

このようにDMAClは予め設定されたデータ語長の転
送を行なうだけであるから、データ語長が予め把握でき
ている送信時(RAM2から通信LDI3を介して外部
通信回線4ヘデータ送信〉は特に問題ないが、データ語
長がわからない外部通信回線4からのデータ受信時は使
用できない。
In this way, DMACl only transfers a preset data word length, so there is a particular problem when transmitting data when the data word length is known in advance (data transmission from RAM 2 to external communication line 4 via communication LDI 3). However, it cannot be used when receiving data from an external communication line 4 whose data word length is unknown.

即ち、通信回線4上の誤動作等によって実際の受信デー
タ語長がDMAC1に予め設定されたデータ語長より短
くなった場合、受信データが全て終ってもDMAClは
処理待機状態のままでDMA転送が終結せず、従って、
バスが解放されず、CPUでのデータ処理がいつまでも
開始できず、システムはデッドロックしてしまう問題を
生じる。
That is, if the actual received data word length becomes shorter than the data word length preset in DMAC1 due to a malfunction on the communication line 4, DMACl remains in a processing standby state even after all received data is completed, and DMA transfer is not performed. does not end, therefore
A problem arises in that the bus is not released and data processing by the CPU cannot be started forever, causing the system to deadlock.

そこで従来は、DMA転送1バイトと次のDMA転送1
バイトとの間の期間(CPUサイクル)においてCPL
I7のソフトウェアタイマを動作させて時間監視を行な
い、所定タイミングにDMA転送が行なわれなくなった
(タイムアウト)時にDMAClにリセット命令を発し
てDMAC1を停止させる。このようにすれば、DMA
C1はバスを解放し、CPU7でデータ処理が行なわれ
、システムはデッドロックすることはない。
Therefore, conventionally, 1 byte of DMA transfer and 1 byte of next DMA transfer
CPL in the period (CPU cycle) between bytes
The software timer of I7 is operated to monitor time, and when DMA transfer is no longer performed at a predetermined timing (timeout), a reset command is issued to DMACl to stop DMAC1. If you do this, the DMA
C1 releases the bus, data processing is performed by CPU 7, and the system does not deadlock.

(発明が解決しようとする課題) このようにCPUサイクルでC’PLI7のソフトウェ
アタイマを動作させて時間監視を行なう方式は、^速転
送の場合等データ転送間隔が短かい場合ではCPUサイ
クルがなくなるので、ソフトウェアタイマが稼動できな
くなり、DMAC1を停止させることができない問題点
があった。又、DMA転送が終結しても何らかの原因で
DMAClがバスを解放しなかった場合もCPUサイク
ルがなくなるので、上記と同様にDMAClを停止でき
ない問題点があった。
(Problem to be solved by the invention) This method of operating the software timer of C'PLI7 using CPU cycles to monitor time does not require CPU cycles when the data transfer interval is short, such as in the case of high-speed transfer. Therefore, there was a problem that the software timer could no longer operate and the DMAC1 could not be stopped. Further, even if the DMA transfer is completed, if DMACl does not release the bus for some reason, there will be no CPU cycles, so there is a problem that DMACl cannot be stopped in the same way as described above.

更に、この方式は、DMA転送期間待ってからCPU処
理を行なうものであるので、CPUサイクルを厳密に監
視しなければならないシステムや復旧処理等に対して早
急に対応しなければならないシステムには不適当である
問題点があった。
Furthermore, since this method waits for the DMA transfer period and then performs CPU processing, it is not suitable for systems that require strict monitoring of CPU cycles or systems that must respond quickly to recovery processing, etc. There were some issues that were appropriate.

本発明は、転送するデータがDMACに予め設定されて
いるデータ語長より短<DMACが動作完結しない場合
、特に高速転送においても確実にDMACを停止させて
CPUでデータ処理を行なえるようにするデータ通信方
式を提供することを目的とする。
The present invention reliably stops the DMAC and allows the CPU to process the data, especially in high-speed transfers, when the data to be transferred is shorter than the data word length preset in the DMAC and the DMAC does not complete its operation. The purpose is to provide a data communication method.

〔課題を解決するための手段〕[Means to solve the problem]

第1図は本発明の原理ブロック図を示す。同図中、42
はDMACで、データを所定周期でDMA転送によって
転送元回路40から転送先回路41へ転送する制御を行
なう。43はハードウェアタイマ回路で、DMA転送周
期毎に起動し、DMA転送周期よりも長い時定数を設定
されており、該時定数期間内にDMA転送がなされない
ときこれを検出してDMAC42を強制的に停止する。
FIG. 1 shows a block diagram of the principle of the present invention. In the same figure, 42
A DMAC controls the transfer of data from the transfer source circuit 40 to the transfer destination circuit 41 by DMA transfer at a predetermined cycle. 43 is a hardware timer circuit that is activated every DMA transfer cycle and is set with a time constant longer than the DMA transfer cycle, and when DMA transfer is not performed within the time constant period, it detects this and forces the DMAC 42. stop.

44は制御手段で、ハードウェアタイマ回路43による
検出によりDMAC42及びハードウェアタイマ回路4
3を初期化して再通信処理を行なうよう制御する。
44 is a control means, which controls the DMAC 42 and the hardware timer circuit 4 by detection by the hardware timer circuit 43.
3 and performs re-communication processing.

〔作用〕[Effect]

本発明では、DMAC42からのDMA応答が実際のD
MA転送に対応することを利用し、DMA転送周期毎に
ハードウェアタイマ回路43を作動させる。時定数内に
DMA転送がなされなくなればDMAC42を強制的に
停止させ、DMAC42及びハードウェアタイマ回路4
3を初期化する。このように、CPUサイクルに関係な
く時間監視を行なっているので、CPUサイクルがない
高速転送の場合及び何らかの原因でDMAC42がバス
を解放しなかった場合でも確実に時間監視できてDMA
Cを停止でき、又、CPUサイクルを厳密に監視する必
要はなく、又、復旧処理を早急に行ない得る。
In the present invention, the DMA response from the DMAC 42 is
Utilizing the fact that it supports MA transfer, the hardware timer circuit 43 is activated every DMA transfer cycle. If DMA transfer is not performed within a time constant, the DMAC 42 is forcibly stopped, and the DMAC 42 and hardware timer circuit 4
Initialize 3. In this way, time monitoring is performed regardless of CPU cycles, so even in the case of high-speed transfer without CPU cycles, or even if the DMAC 42 does not release the bus for some reason, the time can be reliably monitored and the DMA
C can be stopped, there is no need to closely monitor CPU cycles, and recovery processing can be performed quickly.

〔実施例〕〔Example〕

第2図は本発明方式の一実施例のブロック図、第3図は
第2図中CPLJの動作フローチャート、第4図はタイ
ムアウト検出タイムチャートを夫々示す。ここでは、高
速G P I B (General purpose
 1nterface bus)通信に適用した実施例
を示す。
FIG. 2 is a block diagram of an embodiment of the method of the present invention, FIG. 3 is an operation flowchart of the CPLJ in FIG. 2, and FIG. 4 is a timeout detection time chart. Here, high-speed G P I B (General purpose)
An example applied to 1nterface bus) communication is shown below.

第2図中、10はDMAコントローラ(DMAC)で、
例えば10バイト等のデータ語長がCPU13によって
予め設定され”ており、DMA転送時、RAM (バッ
ファメモリ)11と通信LSIであるGPIBコントロ
ーラ12との間のデータ転送を制御する。CPLI 1
3は、第3図に示すフローチャートに従ってシステム全
体の制御を行なう。14はリトリガラブル・モノマルチ
(再トリガ・ワンショットマルチバイブレータ)DMA
C10の1バイトずつのDMA応答のタイミングから所
定時定数期間内にトリがか入らなければ検出出力を取出
す構成とされている。15はフリップフロップで、リト
リガラブル・モノマルチ14の検出出力でタイムアウト
割込信号を出力する。
In Figure 2, 10 is a DMA controller (DMAC),
For example, the data word length, such as 10 bytes, is preset by the CPU 13, and controls data transfer between the RAM (buffer memory) 11 and the GPIB controller 12, which is a communication LSI, during DMA transfer.CPLI 1
3 controls the entire system according to the flowchart shown in FIG. 14 is retriggerable mono-multi (re-trigger one-shot multi-vibrator) DMA
The configuration is such that a detection output is output if no bird is received within a predetermined time constant period from the timing of the DMA response of each byte of C10. A flip-flop 15 outputs a timeout interrupt signal based on the detection output of the retriggerable monomulti 14.

次に本発明の動作について第2図乃至第4図と共に説明
する。
Next, the operation of the present invention will be explained with reference to FIGS. 2 to 4.

第2図において、CPU13は通信LSIであるGPI
Bコントローラ12及びDMAC10を夫々初期化しく
第3図ステップ20)、次に、フリップフロップ15を
リセットオンしくステップ・21)、続いて、受信デー
タ数に対応したデータ語長をDMACl0にセットする
くステップ22)。
In FIG. 2, the CPU 13 is a GPI communication LSI.
Initialize the B controller 12 and DMAC 10 (step 20 in FIG. 3), then reset the flip-flop 15 (step 21), and then set the data word length corresponding to the number of received data in DMACl0. Step 22).

次に、フリップフロップ15をリセットオフにしくステ
ップ23)、DMACl Oを起動しくステップ24)
、システムをデータデータ受信状態とする。この状態に
おいて、GPrBPr上ローラ12は1バイトずつDM
A要求(第4図(A))を出力するとDMACl0はD
MA応答(第4図(B))を行ない、外部GPIB通信
回線16から入力されたデータはGPrBPr上ローラ
12で受信され、DMAC10の制御によってGPIB
コントローラ12とRAM11との間で1バイトずつD
MAデータ転送が(第4図(C))が行なわれる。この
とき、DMAC10で指定されたアドレスに応じてデー
タバス5においてデータ転送が行なわれる。
Next, reset the flip-flop 15 to OFF (step 23) and turn on DMAClO (step 24).
, puts the system into the data receiving state. In this state, the GPrBPr upper roller 12 DMs one byte at a time.
When A request (Fig. 4 (A)) is output, DMACl0 becomes D
An MA response (FIG. 4(B)) is performed, and the data input from the external GPIB communication line 16 is received by the GPrBPr upper roller 12, and is transferred to the GPIB under the control of the DMAC 10.
1 byte each D between controller 12 and RAM 11
MA data transfer (FIG. 4(C)) is performed. At this time, data transfer is performed on the data bus 5 according to the address specified by the DMAC 10.

この場合、DMACl0のDMA応答(第4図(B))
はリトリガラブル・モノマルチ14のトリガ端子に供給
され、DMA転送周期よりも長く設定されている時定数
期間内に再トリガが供給されるとそのタイミングから再
び時定数期間を更新していく。このようにして正常にD
MA転送(第4図(C))が行なわれている限りでは、
リトリガラブル・モノマルチ14の出力はLレベルのま
まであり(第4図(D))、フリップフロップ15の出
力もLレベルのままである(第4図(E))。
In this case, the DMA response of DMACl0 (Figure 4 (B))
is supplied to the trigger terminal of the retriggerable monomulti 14, and when a retrigger is supplied within a time constant period set longer than the DMA transfer cycle, the time constant period is updated again from that timing. In this way, D
As long as MA transfer (Figure 4 (C)) is performed,
The output of the retriggerable monomulti 14 remains at the L level (FIG. 4(D)), and the output of the flip-flop 15 also remains at the L level (FIG. 4(E)).

このようにしてDMA転送が正常に行なわれ、10バイ
トのDMA転送が全て終了すると、DMACl0は終了
割込をCPU13にかけ、CPU13は割込プログラム
で割込種別を判断しく第3図ステップ25)、この場合
は正常の終了割込であるので終了フラグを設定しくステ
ップ26)、リターンとなる。
When the DMA transfer is performed normally in this way and all 10 bytes of DMA transfer are completed, DMACl0 issues an end interrupt to the CPU 13, and the CPU 13 determines the interrupt type using the interrupt program (step 25 in FIG. 3). In this case, since it is a normal termination interrupt, the termination flag is set (step 26), and the process returns.

次に、メインプログラムで割込入力があった(正常の終
了割込)ことが判断され(ステップ27)、フリップ7
0ツブ15をリセットオンにしくステップ28)、終了
種別が判断され(ステップ29)、この場合は正常終了
であるので受信データの処理が行なわれる(ステップ3
0)。
Next, it is determined that there is an interrupt input in the main program (normal termination interrupt) (step 27), and the flip 7
The 0 knob 15 is reset and turned on (step 28), the termination type is determined (step 29), and in this case, it is a normal termination, so the received data is processed (step 3).
0).

ここで、外部GPIB通信回線16上の誤動作等によっ
て受信データの語長がDMACl0に設定されているデ
ータ語長より短くなった場合、DMACl0に設定され
ている10バイトに達する前に受信データが終了し、第
4図(A)、(B)に示すようにDMA要求及びDMA
応答が途中から行なわれなくなり、DMA転送(第4図
(C))も行なわれなくなる。DMAC10からDMA
応答(第4図(B))がなくなると、リトリガラブル・
モノマルチ14の時定数期間は終了しく第4図(D))
、この終了タイミングでリトリガラブル・モノマルチ1
4の出力はHレベルになり(第4図(D))、これによ
り、フリップ70ツブ15の出力はHレベルとなり、タ
イムアウト割込信号としてCPU13に供給される一方
、強制停止信号としてDMAC10に供給される。
Here, if the word length of the received data becomes shorter than the data word length set in DMACl0 due to a malfunction on the external GPIB communication line 16, the received data ends before reaching the 10 bytes set in DMACl0. Then, as shown in FIGS. 4(A) and (B), the DMA request and DMA
The response stops midway, and DMA transfer (FIG. 4(C)) also stops. DMA from DMAC10
When the response (Fig. 4 (B)) disappears, the retriggerable
The time constant period of Monomulti 14 is about to end (Figure 4 (D))
, At this end timing, retriggerable mono multi 1
4 becomes H level (Fig. 4 (D)), and as a result, the output of the flip 70 knob 15 becomes H level, and is supplied to the CPU 13 as a timeout interrupt signal, while being supplied to the DMAC 10 as a forced stop signal. be done.

DMAC10はフリップフロップ15からの強制停止信
号によって強制的に停止され、一方、CPU13はフリ
ップフロップ15からのタイムアウト割込信号によって
割込みがかけられる。CPU13は割込種別を判断しく
第3図ステップ25)、この場合はタイムアウト割込み
であるのでDMAC10を初期化しくステップ31)、
タイムアウトフラグを設定しくステップ32)、リター
ンとなる。次に、メインプログラムで割込入力を判断し
くステップ27)、続いてフリップ70ツブ15をリセ
ットオン(第4図(F)のLレベル)にしくステップ2
8)、これにより、フリップフロップ15の出力はLレ
ベルとなる(第4図(E))。
DMAC 10 is forcibly stopped by a forced stop signal from flip-flop 15, while CPU 13 is interrupted by a time-out interrupt signal from flip-flop 15. The CPU 13 determines the type of interrupt (step 25 in FIG. 3), and since it is a timeout interrupt in this case, it initializes the DMAC 10 (step 31).
Set the timeout flag (step 32) and return. Next, determine the interrupt input in the main program (step 27), and then reset the flip 70 knob 15 to the L level (L level in Figure 4 (F)) in step 2.
8), thereby the output of the flip-flop 15 becomes L level (FIG. 4(E)).

次に、終了種別を判断しくステップ29)、この場合は
タイムアウト終了であるので再通信処理動作に入り(ス
テップ33)、再びステップ22からの動作を繰返す。
Next, the type of termination is determined (step 29). In this case, since it is a timeout termination, re-communication processing is started (step 33), and the operations from step 22 are repeated again.

このようにDMACl0に設定されているデータ語長に
達しない前に受信データが終了しても、DMAC10は
確実に停止されてバスが解放され、その後にCPLJ1
3によって受信データ処理が確実に行なわれる。しかも
この場合、従来装置のようにCPUサイクルでCPUの
ソフトウェアタイマで時間監視を行なっているのではな
く、リトリガラブル・モノマルチ14及びフリップフロ
ップ15のようなハードウェアを用いてCPUサイクル
に関係なく時間監視を行なっているので、CPUサイク
ルがない高速転送の場合及び何らかの原因でDMACが
バスを解放しなかった場合でも確実に時間監視でき、又
、CPUサイクルを厳密に監視しなければならないシス
テムや復旧処理を早急に行なわなければならないシステ
ムにも適用できる。
In this way, even if the received data ends before the data word length set in DMACl0 is reached, the DMAC10 is reliably stopped and the bus is released, and then CPLJ1
3 ensures that the received data is processed. Moreover, in this case, instead of monitoring the time using a CPU software timer using the CPU cycle as in conventional devices, hardware such as the retriggerable monomulti 14 and flip-flop 15 is used to monitor the time regardless of the CPU cycle. Since monitoring is performed, the time can be reliably monitored even in the case of high-speed transfer without CPU cycles or if the DMAC does not release the bus for some reason.In addition, it is possible to reliably monitor the time even in the case of high-speed transfer without CPU cycles, or in cases where the CPU cycle must be strictly monitored It can also be applied to systems where processing must be performed quickly.

次に、受信データがあるにも拘らず何らかの原因でDM
A要求、DMA応答が行なわれなかった場合について説
明する。DMAC10からDMA応答がないとリトリガ
ラブル・モノマルチ14の出力はHレベルのままであり
、フリップ70ツブ15によるタイムアウト割込みが発
生しなくなる。
Next, even though there is received data, DM for some reason
A case where an A request and a DMA response are not performed will be explained. If there is no DMA response from the DMAC 10, the output of the retriggerable monomulti 14 remains at the H level, and no time-out interrupt is generated by the flip 70 tube 15.

そこで、CPU13は割込入力がないことを判断しく第
3図ステップ27)、この時点がらCPU13のソフト
ウェアタイマを稼動させ、所定時間経過(タイムアウト
)したことを判断しくステップ34)、実質上フリップ
フロップ15からのタイムアウト割込みが発生したと同
じようにDMAC10を強制的に停止する。次に、タイ
ムアウトフラグを設定しくステップ35)、フリップ7
0ツブをリセットオンにする(ステップ28)。
Therefore, the CPU 13 determines that there is no interrupt input (step 27 in FIG. 3), starts the software timer of the CPU 13 at this point, and determines that a predetermined period of time has elapsed (timeout). The DMAC 10 is forcibly stopped in the same way as when a timeout interrupt from the DMAC 15 occurs. Next, set the timeout flag (step 35), flip 7
The 0 knob is reset and turned on (step 28).

このように、DMAC10からDMA応答がなかった場
合も確実にDMACl0を停止するので、デッドロック
を防止することができる。
In this way, even if there is no DMA response from the DMAC 10, the DMACl0 is reliably stopped, so deadlock can be prevented.

<DMACが動作完結しない場合、CPUサイクルに関
係なく時間監視を行なっているのでCPUサイクルのな
い高速転送の場合及びDMACがバスを解放しなかった
場合でも確実にDMACを停止でき、デッドロックを防
止でき、又、CPUサイクルを厳密に監視する必要はな
く、又、復旧処理を早急に行ない得る。
<If DMAC does not complete its operation, time is monitored regardless of CPU cycles, so DMAC can be reliably stopped and deadlock can be prevented even in the case of high-speed transfer without CPU cycles or if DMAC does not release the bus. In addition, there is no need to strictly monitor CPU cycles, and recovery processing can be performed quickly.

【図面の簡単な説明】[Brief explanation of the drawing]

第1図は本発明の原理ブロック図、 第2図は本発明方式の一実施例のブロック図、第3図は
CPUの動作フローチャート、第4図は本発明における
タイムアウト検出タイムチャート、 第5図は従来方式の一例のブロック図である。 (発明の効果) 以上説明した如く、本発明によれば、例えば通信回線上
の誤動作等によって実際の受信データ語長がDMACに
設定されているデータ語長より短間において、 10.42はDMAコントローラ(DMAC)、11は
RAM(バッフ7メモリ)、 12はGPIBコントローラ、 13はcpu。 14はリトリガラブル・モノマルチ、 15はフリップフロップ、 16はGPIB通信回線、 40は転送元回路、 41は転送先回路、 43はハードウェアタイマ回路、 44は制御手段 である。 特許出願人 富 士 通 株式会社
Fig. 1 is a block diagram of the principle of the present invention, Fig. 2 is a block diagram of an embodiment of the method of the present invention, Fig. 3 is an operation flowchart of the CPU, Fig. 4 is a timeout detection time chart in the present invention, Fig. 5 is a block diagram of an example of a conventional method. (Effects of the Invention) As explained above, according to the present invention, when the actual received data word length is shorter than the data word length set in the DMAC due to a malfunction on the communication line, for example, 10.42 is DMA controller (DMAC), 11 is RAM (buffer 7 memory), 12 is GPIB controller, 13 is CPU. 14 is a retriggerable monomulti, 15 is a flip-flop, 16 is a GPIB communication line, 40 is a transfer source circuit, 41 is a transfer destination circuit, 43 is a hardware timer circuit, and 44 is a control means. Patent applicant Fujitsu Ltd.

Claims (1)

【特許請求の範囲】  データを所定周期でDMA(Direct Memo
ry Access)転送によって転送元回路(40)
から転送先回路(41)へ転送する制御を行なうDMA
コントローラ(42)を設けられたデータ通信方式にお
いて、 上記DMA転送周期毎に起動し、上記DMA転送周期よ
りも長い時定数を設定されており、該時定数期間内に上
記DMA転送がなされないときこれを検出して上記DM
Aコントローラ(42)を強制的に停止するハードウェ
アタイマ回路(43)と、 該ハードウェアタイマ回路(43)による該検出により
上記DMAコントローラ(42)及び該ハードウェアタ
イマ回路(43)を初期化して再通信処理を行なうよう
制御する制御手段(44)とを設けてなることを特徴と
するデータ通信方式。
[Claims] Data is transferred using DMA (Direct Memo) at a predetermined period.
ry Access) transfer source circuit (40)
DMA that controls the transfer from to the transfer destination circuit (41)
In a data communication system provided with a controller (42), when the controller (42) is activated every DMA transfer cycle, a time constant longer than the DMA transfer cycle is set, and the DMA transfer is not performed within the time constant period. Detect this and DM the above
A hardware timer circuit (43) forcibly stopping the A controller (42); and initializing the DMA controller (42) and the hardware timer circuit (43) by the detection by the hardware timer circuit (43). 1. A data communication method, comprising: control means (44) for controlling the re-communication process.
JP63199585A 1988-08-10 1988-08-10 Data communication system Pending JPH0248757A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP63199585A JPH0248757A (en) 1988-08-10 1988-08-10 Data communication system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP63199585A JPH0248757A (en) 1988-08-10 1988-08-10 Data communication system

Publications (1)

Publication Number Publication Date
JPH0248757A true JPH0248757A (en) 1990-02-19

Family

ID=16410293

Family Applications (1)

Application Number Title Priority Date Filing Date
JP63199585A Pending JPH0248757A (en) 1988-08-10 1988-08-10 Data communication system

Country Status (1)

Country Link
JP (1) JPH0248757A (en)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7055752B2 (en) 2000-05-22 2006-06-06 Matsushita Electric Industrial Co., Ltd. IC card
WO2007003986A1 (en) 2005-06-30 2007-01-11 Freescale Semiconductor, Inc. Device and method for controlling an execution of a dma task
US7930444B2 (en) 2005-06-30 2011-04-19 Freescale Semiconductor, Inc. Device and method for controlling multiple DMA tasks
US8239587B2 (en) 2006-01-18 2012-08-07 Freescale Semiconductor, Inc. Device having data sharing capabilities and a method for sharing data
JP2012242875A (en) * 2011-05-16 2012-12-10 Sharp Corp Dma controller, image forming device, and dma control method
US8572296B2 (en) 2005-06-30 2013-10-29 Freescale Semiconductor, Inc. Device and method for arbitrating between direct memory access task requests

Cited By (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7055752B2 (en) 2000-05-22 2006-06-06 Matsushita Electric Industrial Co., Ltd. IC card
WO2007003986A1 (en) 2005-06-30 2007-01-11 Freescale Semiconductor, Inc. Device and method for controlling an execution of a dma task
US7930444B2 (en) 2005-06-30 2011-04-19 Freescale Semiconductor, Inc. Device and method for controlling multiple DMA tasks
US8001430B2 (en) 2005-06-30 2011-08-16 Freescale Semiconductor, Inc. Device and method for controlling an execution of a DMA task
US8572296B2 (en) 2005-06-30 2013-10-29 Freescale Semiconductor, Inc. Device and method for arbitrating between direct memory access task requests
US8239587B2 (en) 2006-01-18 2012-08-07 Freescale Semiconductor, Inc. Device having data sharing capabilities and a method for sharing data
JP2012242875A (en) * 2011-05-16 2012-12-10 Sharp Corp Dma controller, image forming device, and dma control method

Similar Documents

Publication Publication Date Title
US6078970A (en) System for determining adapter interrupt status where interrupt is sent to host after operating status stored in register is shadowed to host memory
US5019966A (en) Dual processors using busy signal for controlling transfer for predetermined length data when receiving processor is processing previously received data
EP0009678A1 (en) Computer input/output apparatus
EP1199641B1 (en) Data processing device used in serial communication system
US5155839A (en) Apparatus using in undifferentiated strobe output to interface either of two incompatible memory access signal types to a memory
JPH0248757A (en) Data communication system
CN111737183A (en) Server and communication fault processing method and system of I2C bus
US6023743A (en) System and method for arbitrating interrupts on a daisy chained architected bus
JPH0248763A (en) Variable length data communication system
JP2581041B2 (en) Data processing device
JP2543887B2 (en) Line control device
JP2842639B2 (en) Data transfer method
JP3236275B2 (en) Keyboard and mouse hot plug device
KR19990061480A (en) Interrupt handling method in local interrupt controller
JP2000295114A (en) Data transfer circuit
JP2961542B2 (en) Data processing system
JPS6188355A (en) Data processor
JPS63228855A (en) Communication controller
JPH11167528A (en) Time-out control method for data processing system
JPH03294951A (en) High speed data transfer system in personal computer system
JPS6345820B2 (en)
EP1654643A1 (en) Method of resetting a plurality of connected units
JPH04267438A (en) Double exception detector
JPS61131154A (en) Data transfer control system
JPH02210932A (en) Controller