JP4152387B2 - Bus system - Google Patents

Bus system Download PDF

Info

Publication number
JP4152387B2
JP4152387B2 JP2005062244A JP2005062244A JP4152387B2 JP 4152387 B2 JP4152387 B2 JP 4152387B2 JP 2005062244 A JP2005062244 A JP 2005062244A JP 2005062244 A JP2005062244 A JP 2005062244A JP 4152387 B2 JP4152387 B2 JP 4152387B2
Authority
JP
Japan
Prior art keywords
retry
bus
master
slave
value
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
Application number
JP2005062244A
Other languages
Japanese (ja)
Other versions
JP2005196808A (en
Inventor
健一朗 安生
淳 岡村
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.)
NEC Electronics Corp
Original Assignee
NEC Electronics Corp
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 NEC Electronics Corp filed Critical NEC Electronics Corp
Priority to JP2005062244A priority Critical patent/JP4152387B2/en
Publication of JP2005196808A publication Critical patent/JP2005196808A/en
Application granted granted Critical
Publication of JP4152387B2 publication Critical patent/JP4152387B2/en
Anticipated expiration legal-status Critical
Expired - Fee Related legal-status Critical Current

Links

Images

Landscapes

  • Bus Control (AREA)

Description

本発明は、バスシステムに関し、特に、マスタ装置からの転送要求がスレーブで拒否されたときのリトライ間隔についてライブ・ロックの発生を回避できるように適正化するバスシステムおよびリトライ方法に関する。   The present invention relates to a bus system, and more particularly, to a bus system and a retry method for optimizing a retry interval when a transfer request from a master device is rejected by a slave so as to avoid occurrence of a live lock.

図12は従来のバスシステムの一例を示す図である。マスタユニット1−1およびマスタインタフェース91−1からなる第1のマスタ装置と、マスタユニット1−2およびマスタインタフェース91−2からなる第2のマスタ装置とが、コマンド、アドレス、ライトデータなどを転送するCWバス3に接続されている。また、スレーブユニット5およびスレーブインタフェース92からなるスレーブ装置がCWバス3に接続されている。また、第1のマスタ装置のマスタインタフェース91−1、第2のマスタ装置のマスタインタフェース91−2およびスレーブ装置のスレーブインタフェース92は、リードデータを転送するRDバス6に接続されている。   FIG. 12 shows an example of a conventional bus system. The first master device composed of the master unit 1-1 and the master interface 91-1 and the second master device composed of the master unit 1-2 and the master interface 91-2 transfer commands, addresses, write data, and the like. Connected to the CW bus 3. A slave device including the slave unit 5 and the slave interface 92 is connected to the CW bus 3. The master interface 91-1 of the first master device, the master interface 91-2 of the second master device, and the slave interface 92 of the slave device are connected to the RD bus 6 that transfers read data.

第1のマスタ装置のマスタユニット1−1からマスタインタフェース91−1へ、転送要求REQm1、コマンドCMDm1、アドレスADm1、ライトデータWDm1が送られる。逆方向に、マスタインタフェース91−1からマスタユニット1−1へ、コマンドアクノリッジCACKm1、バスエラー信号BERm1が送られる。また、マスタインタフェース91−1からCWバス3を介してスレーブ装置のスレーブインタフェース92へ、転送要求REQb、コマンドCMDb、アドレス・ライトデータAD/WDbが送られる。逆方向に、スレーブインタフェース92からCWバス3を介してマスタインタフェース91−1へ、確認応答ACKb、否定応答NACKbが送られる。   Transfer request REQm1, command CMDm1, address ADm1, and write data WDm1 are sent from master unit 1-1 of the first master device to master interface 91-1. In the reverse direction, the command acknowledge CACKm1 and the bus error signal BERm1 are sent from the master interface 91-1 to the master unit 1-1. Also, a transfer request REQb, a command CMDb, and address / write data AD / WDb are sent from the master interface 91-1 to the slave interface 92 of the slave device via the CW bus 3. In the reverse direction, a confirmation response ACKb and a negative response NACKb are sent from the slave interface 92 to the master interface 91-1 via the CW bus 3.

同様に、第2のマスタ装置のマスタユニット1−2からマスタインタフェース91−2へ、転送要求REQm2、コマンドCMDm2、アドレスADm2、ライトデータWDm2が送られる。逆方向に、マスタインタフェース91−2からマスタユニット1−2へ、コマンドアクノリッジCACKm2、バスエラー信号BERm2が送られる。また、マスタインタフェース91−2からCWバス3を介してスレーブ装置のスレーブインタフェース92へ、転送要求REQb、コマンドCMDb、多重化されたアドレス・ライトデータAD/WDbが送られる。逆方向に、スレーブインタフェース92からCWバス3を介してマスタインタフェース91−2へ、確認応答ACKb、否定応答NACKbが送られる。   Similarly, a transfer request REQm2, a command CMDm2, an address ADm2, and write data WDm2 are sent from the master unit 1-2 of the second master device to the master interface 91-2. In the reverse direction, the command acknowledge CACKm2 and the bus error signal BERm2 are sent from the master interface 91-2 to the master unit 1-2. Also, a transfer request REQb, a command CMDb, and multiplexed address / write data AD / WDb are sent from the master interface 91-2 to the slave interface 92 of the slave device via the CW bus 3. In the reverse direction, a confirmation response ACKb and a negative response NACKb are sent from the slave interface 92 to the master interface 91-2 via the CW bus 3.

スレーブ装置のスレーブインタフェース92からスレーブユニット5へ、転送要求REQs、コマンドCMDs、アドレスADs、ライトデータWDsが送られる。逆方向に、スレーブユニット5からスレーブインタフェース92へ、コマンドアクノリッジCACKsが送られる。   A transfer request REQs, a command CMDs, an address ADs, and write data WDs are sent from the slave interface 92 of the slave device to the slave unit 5. In the reverse direction, command acknowledge CACKs are sent from the slave unit 5 to the slave interface 92.

リードデータについては、スレーブユニット5からスレーブインタフェース92へリードデータRDsが送られる。スレーブインタフェース92からRDバス6を介して第1のマスタ装置のマスタインタフェース91−1または第2のマスタ装置のマスタインタフェース91−2へリードデータRDbが送られる。第1のマスタ装置ではマスタインタフェース91−1からマスタユニット1−1へリードデータRDm1が送られ、第2のマスタ装置ではマスタインタフェース91−2からマスタユニット1−2へリードデータRDm2が送られる。   As for the read data, read data RDs is sent from the slave unit 5 to the slave interface 92. Read data RDb is sent from the slave interface 92 to the master interface 91-1 of the first master device or the master interface 91-2 of the second master device via the RD bus 6. In the first master device, read data RDm1 is sent from the master interface 91-1 to the master unit 1-1, and in the second master device, read data RDm2 is sent from the master interface 91-2 to the master unit 1-2.

CWバス3の使用権を決めるために、調停回路7が設けられている。第1のマスタ装置のマスタインタフェース91−1から調停回路7へバス使用権要求AREQm1が送られ、第2のマスタ装置のマスタインタフェース91−2から調停回路7へバス使用権要求AREQm2が送られる。調停回路7が、第1のマスタ装置にCWバス3のバス使用権を与える場合にはグラント信号AGNTm1をマスタインタフェース91−1に送る。調停回路7が、第2のマスタ装置にCWバス3のバス使用権を与える場合にはグラント信号AGNTm2をマスタインタフェース91−2に送る。   An arbitration circuit 7 is provided to determine the right to use the CW bus 3. A bus usage right request AREQm1 is sent from the master interface 91-1 of the first master device to the arbitration circuit 7, and a bus usage right request AREQm2 is sent from the master interface 91-2 of the second master device to the arbitration circuit 7. When the arbitration circuit 7 gives the right to use the CW bus 3 to the first master device, the arbitration circuit 7 sends a grant signal AGNTm1 to the master interface 91-1. When the arbitration circuit 7 gives the right to use the CW bus 3 to the second master device, the arbitration circuit 7 sends a grant signal AGNTm2 to the master interface 91-2.

図13は、マスタインタフェース91のCWバス3に関係する部分の内部ブロック図である。図13では、RDバス6に関係する部分すなわちリードデータの受信に関係する部分は省略されている。マスタプロトコル制御回路11は、マスタユニット1からの転送要求およびコマンドを受け、プロトコルに基づいてマスタユニット1とスレーブ装置との間の通信を制御する。リトライ間隔値レジスタ12には、予め設定されたリトライ間隔値RINが格納される。リトライ間隔カウンタ13は、否定応答NACKbを受信すると計数値をリセットした後に、クロックCLKのパルスを入力する毎に計数値をインクリメントしてクロックパルス数を計数する。比較器14は、リトライ間隔カウンタ13の計数値がリトライ間隔値RINに一致したことを検出してリトライ時間通知信号RTをアクティブレベルにする。リトライ回数レジスタ15には予め許容リトライ回数PRCが格納される。リトライ回数カウンタ16は、マスタユニット1からの転送要求REQmにより計数値をリセットした後に、否定応答NACKbが受信される毎にインクリメントする。比較器17は、計数値がリトライ回数レジスタ15の許容リトライ回数PRCよりも大きい値になったことを検出してオーバーフロー信号OFをアクティブレベルにする。リトライ要求回路18は、オーバーフロー信号OFがインアクティブレベルにあるときにリトライ時間通知信号RTがアクティブレベルに変化したことを検出した場合には、リトライ起動要求信号RRQをマスタプロトコル制御回路11に送る。リトライ起動要求信号RRQを受信したときには、マスタプロトコル制御回路11は転送要求REQb、コマンドCMDb、アドレス(AD/WDのアドレス部分)を再送する。バスエラー判定回路19は、オーバーフロー信号OFがアクティブレベルに変化したことを検出して、バスエラー信号BERmを出力する。   FIG. 13 is an internal block diagram of a portion related to the CW bus 3 of the master interface 91. In FIG. 13, a portion related to the RD bus 6, that is, a portion related to reception of read data is omitted. The master protocol control circuit 11 receives a transfer request and a command from the master unit 1 and controls communication between the master unit 1 and the slave device based on the protocol. The retry interval value register 12 stores a preset retry interval value RIN. The retry interval counter 13 resets the count value when receiving a negative response NACKb, and then increments the count value every time a clock CLK pulse is input to count the number of clock pulses. The comparator 14 detects that the count value of the retry interval counter 13 matches the retry interval value RIN, and sets the retry time notification signal RT to the active level. The retry number register 15 stores an allowable retry number PRC in advance. The retry number counter 16 is incremented every time a negative response NACKb is received after the count value is reset by the transfer request REQm from the master unit 1. The comparator 17 detects that the count value has become larger than the allowable retry count PRC in the retry count register 15, and sets the overflow signal OF to the active level. When the retry request circuit 18 detects that the retry time notification signal RT has changed to the active level when the overflow signal OF is at the inactive level, the retry request circuit 18 sends a retry activation request signal RRQ to the master protocol control circuit 11. When the retry activation request signal RRQ is received, the master protocol control circuit 11 retransmits the transfer request REQb, the command CMDb, and the address (AD / WD address part). The bus error determination circuit 19 detects that the overflow signal OF has changed to the active level, and outputs a bus error signal BERm.

図14(a)は、図12および図13で示した従来のバスシステムの動作シーケンス図である。図14(a)では、2個のマスタ装置が前後して1個のスレーブ装置に対してリード転送要求を発信した場合の動作を示しており、これを参照して図12の従来のバスシステムの動作を説明する。   FIG. 14A is an operation sequence diagram of the conventional bus system shown in FIGS. FIG. 14A shows the operation when two master devices send and receive a read transfer request to one slave device before and after, referring to this, the conventional bus system of FIG. The operation of will be described.

時刻T11において、マスタユニット1−1からマスタインタフェース91−1へ転送要求REQm1が送られる。同時にアドレスADm1、コマンドCMDm1などが同時にマスタインタフェース91−1に渡される。   At time T11, the transfer request REQm1 is sent from the master unit 1-1 to the master interface 91-1. At the same time, the address ADm1, the command CMDm1, etc. are simultaneously passed to the master interface 91-1.

マスタインタフェース91−1は、調停回路7にCWバス3のバス使用権を要求し、バス使用権が付与され且つCWバス3が未使用な状態になったときにCWバス3上に転送要求REQbを出す。マスタインタフェース91−1内のリトライ回数カウンタ16は0にリセットされる。   The master interface 91-1 requests the arbitration circuit 7 to use the right to use the CW bus 3. When the right to use the bus is granted and the CW bus 3 becomes unused, the transfer request REQb on the CW bus 3. Put out. The retry counter 16 in the master interface 91-1 is reset to zero.

スレーブインタフェース92は、CWバス3を介してマスタユニット1−1からの転送要求REQb、アドレス・ライトデータAD/WDb、コマンドCMDbを受信し、受信したコマンドCMDbおよびスレーブユニット5の状態に応じて、その転送要求REQbを受信するか拒否するかを判定する。スレーブユニット5は受信可能な状態なので、スレーブインタフェース92はCWバス3上に確認応答ACKbを出力するとともにスレーブユニット5に転送要求REQsを送信する。   The slave interface 92 receives the transfer request REQb, the address / write data AD / WDb, and the command CMDb from the master unit 1-1 via the CW bus 3, and according to the received command CMDb and the status of the slave unit 5, It is determined whether the transfer request REQb is received or rejected. Since the slave unit 5 is in a receivable state, the slave interface 92 outputs an acknowledgment ACKb on the CW bus 3 and transmits a transfer request REQs to the slave unit 5.

マスタインタフェース91−1は、確認応答ACKbを受信すると、マスタユニット1−1にコマンドアクノリッジCACKm1を送る。同時にデータフェーズの転送を開始する。データフェーズでは、マスタインタフェース91−1は、ライトならばマスタユニット1−1にライトデータを要求し、受信したデータをCWバス3に出力するが、ここではリードであるので、CWバス3を開放してリードデータが準備されるまでの所定の時間待つ。   When receiving the acknowledgment ACKb, the master interface 91-1 sends a command acknowledge CACKm1 to the master unit 1-1. At the same time, data phase transfer is started. In the data phase, the master interface 91-1 requests write data from the master unit 1-1 if it is a write, and outputs the received data to the CW bus 3. Then, a predetermined time is waited until read data is prepared.

一方、時刻T12において、マスタユニット1−2からマスタインタフェース91−2へ転送要求REQm2が送られたとする。同時にアドレスADm2、コマンドCMDm2などがマスタインタフェース91−2に渡される。   On the other hand, assume that a transfer request REQm2 is sent from the master unit 1-2 to the master interface 91-2 at time T12. At the same time, the address ADm2, the command CMDm2, etc. are passed to the master interface 91-2.

マスタインタフェース91−2は、調停回路7にCWバス3のバス使用権を要求し、CWバス3が使用中のため開放されるまで待ち、バス使用権が付与されると、CWバス3上に転送要求REQbを出す。マスタインタフェース91−2のリトライ回数カウンタ16は0にリセットされる。   The master interface 91-2 requests the right to use the CW bus 3 from the arbitration circuit 7, waits until the CW bus 3 is released because it is in use, and if the right to use the bus is granted, A transfer request REQb is issued. The retry counter 16 of the master interface 91-2 is reset to zero.

スレーブインタフェース92は、CWバス3を介してマスタユニット1−2からの転送要求REQb、アドレスADb、コマンドCMDbを受信する。しかしながら、スレーブユニット5はマスタユニット1−2からの転送要求の処理でビジー状態にあるので、スレーブインタフェース92は、転送要求REQbを拒否すると判定し、否定応答NACKbを返信する。   The slave interface 92 receives the transfer request REQb, address ADb, and command CMDb from the master unit 1-2 via the CW bus 3. However, since the slave unit 5 is busy with the transfer request processing from the master unit 1-2, the slave interface 92 determines to reject the transfer request REQb and returns a negative response NACKb.

マスタインタフェース91−2は、否定応答NACKbを受信するとCWバス3を開放したのちに、リトライ回数カウンタ16の計数値をインクリメントし、リトライ回数レジスタ15に格納された許容リトライ回数PRCよりも大きいか否かを判定する。計数値が許容リトライ回数PRCを越えてしまった場合にはバスエラー判定回路19がバスエラー信号BERm1を出力するが、図14(a)の場合には、計数値が許容リトライ回数PRCよりも小さい場合なので、マスタインタフェース91−2は、リトライ間隔カウンタ13がリトライ間隔値レジスタ12に格納されたリトライ間隔値RINの個数分のクロックパルスを計数するまでの時間(リトライ間隔時間)Triだけ待つ。   When the master interface 91-2 receives the negative response NACKb, the master interface 91-2 opens the CW bus 3 and then increments the count value of the retry counter 16 and is greater than the allowable retry count PRC stored in the retry count register 15 or not. Determine whether. When the count value exceeds the allowable retry count PRC, the bus error determination circuit 19 outputs the bus error signal BERm1, but in the case of FIG. 14A, the count value is smaller than the allowable retry count PRC. Therefore, the master interface 91-2 waits for a time (retry interval time) Tri until the retry interval counter 13 counts the number of clock pulses corresponding to the number of retry interval values RIN stored in the retry interval value register 12.

スレーブインタフェース92では、マスタインタフェース1−1からの転送要求に対するリードデータの転送準備ができるとスレーブユニット5からリードデータRDsを受信し、RDバス6にリードデータRDbを出力する。   The slave interface 92 receives the read data RDs from the slave unit 5 and outputs the read data RDb to the RD bus 6 when read data transfer preparation for the transfer request from the master interface 1-1 is completed.

マスタインタフェース91−1は、RDバス6を介してリードデータRDbを受信してマスタユニット1−1へリードデータRDm1を送信する。時刻T13に、マスタユニット1−1はリードデータRDm1を受信し、マスタユニット1−1のリード転送要求の処理を完了する。   The master interface 91-1 receives the read data RDb via the RD bus 6 and transmits the read data RDm1 to the master unit 1-1. At time T13, the master unit 1-1 receives the read data RDm1, and completes the read transfer request processing of the master unit 1-1.

一方、マスタインタフェース1−2では、リトライ間隔カウンタ13の計数値がリトライ間隔値RINに達したときに、プロトコル制御回路11は、再度CWバス3のバス使用権を調停回路7に要求する。バス使用権が付与されるとバス上に転送要求REQbを出力する。   On the other hand, in the master interface 1-2, when the count value of the retry interval counter 13 reaches the retry interval value RIN, the protocol control circuit 11 requests the arbitration circuit 7 for the right to use the CW bus 3 again. When the bus use right is granted, a transfer request REQb is output on the bus.

スレーブインタフェース92は、CWバス3を介してマスタユニット1−2からの転送要求REQb、アドレスADb、コマンドCMDbを受信し、今回はスレーブユニット5が受信可能な状態にあるので、スレーブインタフェース92はCWバス3上に確認応答ACKbを出力するとともにスレーブユニット5に転送要求REQsを発信する。   The slave interface 92 receives the transfer request REQb, the address ADb, and the command CMDb from the master unit 1-2 via the CW bus 3, and this time the slave unit 5 is in a receivable state. An acknowledgment ACKb is output on the bus 3 and a transfer request REQs is transmitted to the slave unit 5.

マスタインタフェース91−2は、確認応答ACKbを受信すると、マスタユニット1−2にコマンドアクノリッジCACKm2を送り、CWバス3を開放してリードデータが準備されるまでの所定の時間待つ。スレーブインタフェース92では、マスタインタフェース1−2からの転送要求に対するリードデータの転送準備ができるとスレーブユニット5からリードデータRDsを受信し、RDバス6にリードデータRDbを出力する。マスタインタフェース91−2は、RDバス6を介してリードデータRDbを受信してマスタユニット1−2へリードデータRDm2を送信する。時刻T14に、マスタユニット1−2はリードデータRDm2を受信し、マスタユニット1−2のリード転送要求の処理を完了する。   When the master interface 91-2 receives the confirmation response ACKb, the master interface 91-2 sends a command acknowledge CACKm2 to the master unit 1-2, and waits for a predetermined time until the CW bus 3 is released and read data is prepared. The slave interface 92 receives the read data RDs from the slave unit 5 and outputs the read data RDb to the RD bus 6 when read data transfer preparation for the transfer request from the master interface 1-2 is completed. The master interface 91-2 receives the read data RDb via the RD bus 6 and transmits the read data RDm2 to the master unit 1-2. At time T14, the master unit 1-2 receives the read data RDm2, and completes the read transfer request processing of the master unit 1-2.

図14(b)のタイミング図は、図14(a)を用いて以上に説明した動作をタイミング図に示したものである。図14(b)では、マスタインタフェース91−1から調停回路7へのバス使用権要求AREQm1およびこれに対する調停回路7からマスタインタフェース91−1へのバス使用権付与のグラント信号AGNTm1と、マスタインタフェース91−2から調停回路7へのバス使用権要求AREQm2およびこれに対する調停回路7からマスタインタフェース91−2へのバス使用権付与のグラント信号AGNTm2とについても図示している。   The timing chart of FIG. 14B shows the operation described above with reference to FIG. 14A. In FIG. 14B, the bus use right request AREQm1 from the master interface 91-1 to the arbitration circuit 7, the grant signal AGNTm1 for granting the bus use right from the arbitration circuit 7 to the master interface 91-1, and the master interface 91. 2 also shows a bus use right request AREQm2 from -2 to the arbitration circuit 7 and a bus use right grant signal AGNTm2 from the arbitration circuit 7 to the master interface 91-2.

従来のバスシステムでは、このようにして、複数のマスタユニットから1個のスレーブユニットへ転送要求が集中したときにおいても複数の転送要求を調整して応答することができる。   In the conventional bus system, even when transfer requests are concentrated from a plurality of master units to one slave unit, a plurality of transfer requests can be adjusted and responded.

しかしながら、例えば図12において、マスタユニット1−1からスレーブユニット5への転送要求ACKbが周期的に発生し、これがマスタユニット1−2によりリトライ間隔値RINに基づいて生成される転送要求ACKbの周期と一致する場合には、マスタユニット1−2からの転送要求が拒否され続けて実行されない状況が続くことがある。これをライブ・ロックと称し、バスの転送効率を著しく低下させるため、発生を未然に防止し、発生した場合には速やかに解消させる必要がある。   However, for example, in FIG. 12, a transfer request ACKb from the master unit 1-1 to the slave unit 5 is periodically generated, and this is a cycle of the transfer request ACKb generated by the master unit 1-2 based on the retry interval value RIN. May coincide with a situation in which the transfer request from the master unit 1-2 continues to be rejected and not executed. This is called live lock, and the transfer efficiency of the bus is remarkably lowered. Therefore, it is necessary to prevent the occurrence and to quickly eliminate it when it occurs.

図15は、ライブ・ロックの発生を示す動作シーケンス図である。時刻T1で、マスタユニット1−1から転送要求REQm1が発信され、時刻T2で、マスタユニット1−2から転送要求REQm2が発信されたが、先に発信されたマスタユニット1−1からの転送要求が受け付けられてスレーブユニット5がビジー状態になるために、マスタユニット1−2からの転送要求はスレーブインタフェース92において拒否され否定応答NACKbがマスタインタフェース91−2へ返信される。スレーブインタフェース92は、否定応答NACKbを受信してリトライ間隔時間Triの計時を始める。   FIG. 15 is an operation sequence diagram showing the occurrence of live lock. At time T1, the transfer request REQm1 is transmitted from the master unit 1-1, and at time T2, the transfer request REQm2 is transmitted from the master unit 1-2. Is received and the slave unit 5 is in a busy state, the transfer request from the master unit 1-2 is rejected by the slave interface 92, and a negative response NACKb is returned to the master interface 91-2. The slave interface 92 receives the negative response NACKb and starts measuring the retry interval time Tri.

一方、マスタユニット1−1の転送要求に対するリードデータRDm1がスレーブユニット5からRDバス6を介して時刻T3にマスタユニット1−1に転送され、リード処理が完了する。直後にマスタユニット1−1が次の転送要求REQm1を発信するので、マスタユニット1−1からの転送要求が受け付けられてスレーブユニット5が再びビジー状態になる。   On the other hand, read data RDm1 corresponding to the transfer request of the master unit 1-1 is transferred from the slave unit 5 to the master unit 1-1 via the RD bus 6 at time T3, and the read process is completed. Immediately after that, the master unit 1-1 transmits the next transfer request REQm1, so that the transfer request from the master unit 1-1 is accepted and the slave unit 5 becomes busy again.

マスタインタフェース91−2では、リトライ間隔時間Triが経過したことを検出して転送要求REQbをスレーブインタフェース92に再送信するが、スレーブユニット5がビジー状態にあるため拒否されて、否定応答NACKbがマスタインタフェース91−2へ再度返信される。マスタインタフェース91−2は、否定応答NACKbを受信してリトライ間隔時間Triの計時を再度開始する。   The master interface 91-2 detects that the retry interval time Tri has elapsed and resends the transfer request REQb to the slave interface 92, but is rejected because the slave unit 5 is busy, and the negative response NACKb is the master response. It is returned again to the interface 91-2. The master interface 91-2 receives the negative response NACKb and starts again the retry interval time Tri.

図15の場合には、マスタユニット1−1からの転送要求の発信周期が、マスタインタフェース91−2の転送要求の再送信の周期と一致するため、以降はマスタユニット1−1からの転送要求のみが連続して実行される。マスタユニット1−2からの転送要求は拒否され続けるのでライブ・ロック状態となる。   In the case of FIG. 15, since the transmission cycle of the transfer request from the master unit 1-1 coincides with the cycle of retransmission of the transfer request of the master interface 91-2, the transfer request from the master unit 1-1 is thereafter performed. Only runs continuously. Since the transfer request from the master unit 1-2 continues to be rejected, the live lock state is entered.

ライブ・ロックが発生した場合にこれを解消するためには、周期的に転送要求の発信を行うマスタ装置(図15ではマスタユニット1−1)の転送要求を一時停止させるか、または、ライブ・ロック状態にあるマスタ装置(図15ではマスタインタフェース91−2)が転送要求を再送信するまでのリトライ間隔時間を変更するかの何れかを行う必要がある。   In order to eliminate this when the live lock occurs, the transfer request of the master device (master unit 1-1 in FIG. 15) that periodically issues the transfer request is suspended, or the live It is necessary to change either the retry interval time until the master device in the locked state (master interface 91-2 in FIG. 15) retransmits the transfer request.

周期的に転送要求するマスタ装置を一時停止させる方法をとるものとして、特開2000−315188号公報に、バストランザクションを監視してライブ・ロックが発生したことを検出するとライブ・ロック状態のマスタ装置にバスを独占的に使用させるように制御する技術が開示されている。この技術を用いることにより確実にライブ・ロックを解消することが可能となるものの、バス使用権の調停回路内にライブ・ロック状態にあるか否かを検出するためのライブ・ロック検出回路を各マスタ装置に対応させて設け、またライブ・ロック状態が検出されたマスタ装置に対してバスの独占使用を設定する回路を設ける必要があるので、バス使用権調停回路のハードウェア量が大幅に増大してしまう。   As a method of temporarily stopping a master device that periodically requests transfer, JP 2000-315188 A discloses a master device in a live lock state when a bus lock is monitored and a live lock is detected. Discloses a technique for controlling the bus to be used exclusively. Although it is possible to reliably cancel live lock by using this technology, each of the live lock detection circuits for detecting whether or not the live lock state is present in the bus use right arbitration circuit. Since it is necessary to provide a circuit for setting the exclusive use of the bus for the master device that is provided corresponding to the master device and the live lock state is detected, the amount of hardware of the bus use right arbitration circuit is greatly increased. Resulting in.

ライブ・ロック状態にあるマスタ装置のリトライ間隔時間を変更するものとして、特開平9−114750号公報に、マスタ装置が複数のリトライ間隔時間レジスタを備え、第1のレジスタのリトライ間隔時間に設定したときに否定応答を所定の回数連続して受信した場合には、第2のレジスタに変更して異なるリトライ間隔時間とし、それでも所定回数の否定応答を受けた場合には第3のレジスタに変更して異なるリトライ間隔時間に順次設定する技術が開示されている。しかしながら、バスに複数のスレーブ装置が接続されている場合に、スレーブ装置のリード/ライトに要する時間は、スレーブ装置が高速のメモリであるか低速の周辺装置であるかなどスレーブ装置の機能により大きく異なる。このため、適切なリトライ間隔時間も転送要求対象のスレーブ装置毎に異なっている。したがって、バスに多数のスレーブ装置が接続される場合には、各マスタ装置内に、1個のスレーブ装置につき複数個のレジスタを含むレジスタグループとしたうえで複数個のスレーブ装置に対応して複数個のレジスタグループを設けなければならず、マスタ装置のハードウェア量が大幅に増大してしまう。   In order to change the retry interval time of the master device in the live lock state, in Japanese Patent Laid-Open No. 9-114750, the master device has a plurality of retry interval time registers and is set to the retry interval time of the first register. When a negative response is received continuously for a predetermined number of times, the second register is changed to a different retry interval, and when a predetermined number of negative responses are still received, it is changed to the third register. A technique for sequentially setting different retry interval times is disclosed. However, when multiple slave devices are connected to the bus, the time required for the slave device to read / write depends on the function of the slave device, such as whether the slave device is a high-speed memory or a low-speed peripheral device. Different. For this reason, an appropriate retry interval time is also different for each slave device to which a transfer request is made. Therefore, when a large number of slave devices are connected to the bus, a register group including a plurality of registers per slave device is formed in each master device, and a plurality of slave devices corresponding to the plurality of slave devices are provided. The number of register groups must be provided, which greatly increases the amount of hardware of the master device.

特開2000−250850号公報には、スレーブ装置にリトライ間隔時間について基本のリトライ間隔時間を記憶した第1のタイムテーブルとこれより短いリトライ間隔時間を記憶した第2のタイムテーブルを備え、最初の否定応答を返信するときには第1のタイムテーブルのリトライ間隔時間をマスタ装置へ通知し、2回目以降の否定応答を返信するときには第2のタイムテーブルのリトライ間隔時間をマスタ装置へ通知する技術が開示されている。マスタ装置は、最初の否定応答を受けてから第1のタイムテーブルの基本リトライ間隔時間の経過を待って転送要求を再送信し、2回目以降は否定応答を受けてから第2のタイムテーブルのリトライ間隔時間の経過を待って転送要求を再送信する。この技術では、スレーブ装置が固有の基本リトライ間隔時間を記憶しているため、マスタ側でそれぞれのスレーブ装置に適合したリトライ間隔時間を記憶する必要がない点で前述の特開平9−114750号公報に開示された技術よりも改良されているが、第2のタイムテーブルのリトライ間隔時間が他のマスタ装置からの転送要求の周期と一致してライブ・ロックが発生する可能性があり、また、一旦ライブ・ロック状態になった場合にこれを解消するものでもない。但しこの技術では、第2のタイムテーブルのリトライ間隔時間を極めて短い時間に設定すれば実質的にバスの占有権を独占できるため、2回以上の否定応答を受けたマスタ装置からの転送要求が優先的に処理されることになり、ライブ・ロックの発生を未然に防止することが可能である。しかしながら、このようにするとバスが独占されるために転送要求対象のスレーブ装置が周辺装置のようにリード/ライトに時間がかかる装置であったときには、バスに接続された他のマスタ装置およびスレーブ装置間の送受信が長時間停止しバス使用効率が大幅に低下してしまう。   Japanese Patent Laid-Open No. 2000-250850 includes a first time table in which basic retry interval times are stored in a slave device and a second time table in which a retry interval time shorter than this is stored. A technique for notifying the master device of the retry interval time of the first time table when returning a negative response, and notifying the master device of the retry interval time of the second time table when returning a negative response after the second time is disclosed. Has been. After receiving the first negative response, the master device retransmits the transfer request after the basic retry interval time of the first time table has elapsed, and after receiving the negative response for the second and subsequent times, Resend the transfer request after the retry interval has elapsed. In this technique, since the slave device stores a unique basic retry interval time, it is not necessary to store the retry interval time suitable for each slave device on the master side. However, there is a possibility that a live lock may occur when the retry interval time of the second time table coincides with the period of the transfer request from another master device. This is not a solution to the problem once the live lock is entered. However, in this technique, if the retry interval time of the second time table is set to an extremely short time, the right to occupy the bus can be substantially monopolized. Therefore, a transfer request from the master device that has received two or more negative responses is received. It is preferentially processed, and it is possible to prevent a live lock from occurring. However, since the bus is monopolized in this way, when the slave device to be transferred is a device that takes time to read / write like a peripheral device, other master devices and slave devices connected to the bus The transmission / reception between them is stopped for a long time, and the bus use efficiency is greatly reduced.

本発明の目的は、ライブ・ロックの発生を防止し、また、ライブ・ロック状態に陥った場合にもこれを解消することが可能で、且つ、これを実現するためのハードウェア量の増加が従来よりも小さくて済むバスシステムおよびリトライ方法を提供することにある。   The object of the present invention is to prevent the occurrence of live lock, and to eliminate this even when the live lock state occurs, and increase the amount of hardware for realizing this. An object of the present invention is to provide a bus system and a retry method that can be made smaller than before.

本発明の第1の発明のバスシステムは、スレーブユニットとバスとの間に設けられ、前記スレーブユニットに固有に定められたリトライ設定値を格納するリトライ設定値格納回路と、擬似的に乱数を生成する疑似乱数発生器とを備え、マスタユニットからの転送要求への応答を拒否するときに否定応答を送信するとともに前記リトライ設定値と前記疑似乱数発生器で生成した乱数値とを含む否定応答付帯情報を前記バスを介してマスタユニットへ送信するスレーブインタフェースと、マスタユニットと前記バスとの間に設けられ、前記否定応答付帯情報から抽出された前記リトライ設定値と前記乱数値とを加算する加算器と、加算結果をリトライ間隔値として格納するリトライ間隔値格納回路とを備え、前記リトライ間隔値に基づいて転送要求を再送信するまでの時間を決定するマスタインターフェースと、を有して構成される。   A bus system according to a first aspect of the present invention includes a retry setting value storage circuit that is provided between a slave unit and a bus and stores a retry setting value uniquely determined for the slave unit, and a pseudo random number. A negative response including a retry setting value and a random value generated by the pseudo-random number generator and a negative response when rejecting a response to the transfer request from the master unit. A slave interface for transmitting incidental information to the master unit via the bus, and provided between the master unit and the bus, adds the retry setting value extracted from the negative acknowledgment incidental information and the random value. An adder and a retry interval value storage circuit for storing the addition result as a retry interval value, and transfer is required based on the retry interval value. And a master interface to determine a time before retransmitting, configured with a.

第2の発明のバスシステムは、スレーブユニットとバスとの間に設けられ、前記スレーブユニットに固有に定められたリトライ設定値を格納するリトライ設定値格納回路を備え、マスタユニットからの転送要求への応答を拒否するときに否定応答を送信するとともに前記リトライ設定値を含む否定応答付帯情報を前記バスを介してマスタユニットへ送信するスレーブインタフェースと、マスタユニットと前記バスとの間に設けられ擬似的に乱数を生成する疑似乱数発生器と、生成された乱数値と前記否定応答付帯情報から抽出された前記リトライ設定値とを加算する加算器と、加算結果をリトライ間隔値として格納するリトライ間隔値格納回路とを備え、前記リトライ間隔値に基づいて転送要求を再送信するまでの時間を決定するマスタインターフェースと、を有して構成される。
A bus system according to a second aspect of the present invention includes a retry setting value storage circuit that is provided between a slave unit and a bus and stores a retry setting value that is uniquely determined for the slave unit. A slave interface that transmits a negative response when rejecting a response to the master unit and transmits negative response-accompanying information including the retry setting value to the master unit via the bus, and is provided between the master unit and the bus. A pseudo-random number generator that generates random numbers, an adder that adds the generated random number value and the retry setting value extracted from the negative acknowledgment additional information, and a retry interval that stores the addition result as a retry interval value A master storage unit for determining a time until a transfer request is retransmitted based on the retry interval value. Configured to have and over the face, the.

第3の発明のバスシステムは、スレーブユニットとバスとの間に設けられ、マスタユニットからの転送要求とアドレスとを前記バスを介して受信し前記スレーブユニットに対する転送要求であればアドレス条件検出信号を出力するアドレスデコーダと、前記アドレス条件検出信号、マスタユニットからのコマンドおよび前記スレーブユニットの動作状態からマスタユニットからの転送要求に応答するか否かを判断し応答可能なときは前記バスに確認応答を出力し応答不可能なときは前記バスに否定応答を出力する応答条件判定回路と、前記スレーブユニットに固有に定められたリトライ設定値を格納するリトライ設定値格納回路と、前記否定応答が出力されたときに追随して前記リトライ設定値を含む否定応答付帯情報を前記バスに出力する否定応答付帯情報生成回路と、を備えるスレーブインタフェースと、前記バスとマスタユニットとの間に設けられ、前記バスから前記否定応答付帯情報を入力し前記リトライ設定値を抽出して出力するリトライ情報抽出回路と、所定の信号に起動されて擬似的に乱数を生成する疑似乱数発生器と、前記リトライ設定値と前記疑似乱数発生器により生成された乱数値とを加算してリトライ間隔値を算出する加算器と、前記否定応答の受信によりクロックパルスの計数を開始し計数値が前記リトライ間隔値と等しくなったことを検出してリトライ時間通知信号を出力するリトライ間隔計数部と、マスタユニットからの転送要求の受信により前記否定応答の受信回数の計数を開始し計数値が予め設定された許容リトライ回数より大きくなったことを検出してオーバーフロー信号を出力するリトライ回数計数部と、前記オーバーフロー信号がインアクティブレベルで前記リトライ時間通知信号がアクティブレベルとなったことを検出して転送要求の再送信を起動するリトライ要求回路と、を備えるマスタインタフェースと、を有して構成されている。
A bus system according to a third aspect of the present invention is provided between a slave unit and a bus, receives a transfer request and an address from a master unit via the bus, and if it is a transfer request to the slave unit, an address condition detection signal An address decoder that outputs, and determines whether to respond to a transfer request from the master unit from the address condition detection signal, a command from the master unit, and an operation state of the slave unit, and confirms to the bus when a response is possible A response condition determination circuit that outputs a response and outputs a negative response to the bus when a response is impossible, a retry setting value storage circuit that stores a retry setting value uniquely determined for the slave unit, and the negative response When it is output, the information accompanying the negative response including the retry setting value is output to the bus. Retrieval information extraction provided between the bus and the master unit, inputting the negative response incidental information from the bus, extracting the retry setting value, and outputting the slave interface provided with a constant response incidental information generation circuit A circuit, a pseudo random number generator that is activated by a predetermined signal to generate pseudo random numbers, and adds the retry setting value and the random number value generated by the pseudo random number generator to calculate a retry interval value An adder, a retry interval counter that starts counting clock pulses by receiving the negative response, detects that the count value is equal to the retry interval value, and outputs a retry time notification signal; When the transfer request is received, counting of the number of times of negative acknowledgment is started, and the count value is larger than the preset allowable retry count. A retry request circuit that starts the retry count counting section for outputting an overflow signal, retransmits the detected and forwards the request to the overflow signal is the retry time notification signal at the inactive level becomes an active level out, and is configured with a, a master interface with a.

本発明を適用することにより、ライブ・ロックの発生を未然に防止することができ、また、極めて希にライブ・ロック状態に陥ることが生じたとしてもこれを解消することが可能となる。また、リトライ設定値SRIはスレーブ装置に固有に設定された値を転送要求したスレーブ装置から送られて使用するので、転送準備に要する時間が大きく異なる種々のスレーブ装置がバスに接続される場合においても、リトライ間隔時間をそれぞれのスレーブ装置に対して適切な範囲に設定することできる。また、ライブ・ロックを回避するため追加するハードウェア量が特開平9−114750号公報に記載の技術によるバスシステムと比較して大幅に削減でき、特開2000−250850号公報に記載された技術を用いてライブ・ロックを回避する場合に生じるバスの独占によるバス使用効率の低下も回避できる。   By applying the present invention, it is possible to prevent the occurrence of a live lock, and it is possible to eliminate this even if the live lock state occurs very rarely. Further, since the retry setting value SRI is sent from the slave device that requested the transfer and is set to a value uniquely set in the slave device, when various slave devices having greatly different transfer preparation times are connected to the bus. In addition, the retry interval time can be set to an appropriate range for each slave device. Further, the amount of hardware added to avoid live lock can be significantly reduced as compared with the bus system according to the technique described in JP-A-9-114750, and the technique described in JP-A-2000-250850 is disclosed. It is also possible to avoid a decrease in bus use efficiency due to bus monopoly that occurs when live lock is avoided by using.

本発明は、スレーブ装置に固有に定められたリトライ設定値と疑似乱数生成した乱数値とを加算して得られるリトライ間隔値に基づいてマスタ装置からスレーブ装置へ転送要求を再送信するまでの時間を決定する点が以下にあげる実施形態に共通する。以下、本発明について図面を参照して詳細に説明する。 The present invention relates to a time until a transfer request is retransmitted from a master device to a slave device on the basis of a retry interval value obtained by adding a retry setting value uniquely determined for the slave device and a random value generated with a pseudo-random number. This point is common to the following embodiments. Hereinafter, the present invention will be described in detail with reference to the drawings.

図1、図2、図3は、本発明のバスシステムの第1実施形態を説明する図である。第1実施形態では、スレーブインタフェースで乱数値を生成してマスタインタフェースで加算する。図1はマスタインタフェースのブロック図であり、図2は、スレーブインタフェースのブロック図であり、図3は、バスシステムの一例を示す図である。   1, 2 and 3 are diagrams for explaining a first embodiment of the bus system of the present invention. In the first embodiment, random values are generated by the slave interface and added by the master interface. FIG. 1 is a block diagram of a master interface, FIG. 2 is a block diagram of a slave interface, and FIG. 3 is a diagram illustrating an example of a bus system.

まず、バスシステム全体について図3を参照して説明する。第1実施形態のバスシステムは、図12の従来のバスシステムにおけるスレーブインタフェース92に替えて、スレーブインタフェース92と同様の入出力に加えて否定応答付帯情報NAINFbを出力するスレーブインタフェース4を備えている。また、第1実施形態のバスシステムは、マスタインタフェース91−1,91−2に替えて、マスタインタフェース91と同様の入出力に加え否定応答付帯情報NAINFbを入力するマスタインタフェース2−1,2−2を備えている。以下、バスシステムの構成を述べる。   First, the entire bus system will be described with reference to FIG. The bus system according to the first embodiment includes a slave interface 4 that outputs negative response-accompanying information NAINFb in addition to input / output similar to the slave interface 92, instead of the slave interface 92 in the conventional bus system of FIG. . Further, the bus system of the first embodiment is replaced with the master interfaces 91-1 and 91-2, and the master interfaces 2-1 and 2- 2 is provided. Hereinafter, the configuration of the bus system will be described.

マスタユニット1−1およびマスタインタフェース2−1からなる第1のマスタ装置と、マスタユニット1−2およびマスタインタフェース2−2からなる第2のマスタ装置とが、コマンド、アドレス、ライトデータなどを転送するCWバス3に接続されている。また、スレーブユニット5およびスレーブインタフェース4からなるスレーブ装置がCWバス3に接続されている。また、第1のマスタ装置のマスタインタフェース2−1、第2のマスタ装置のマスタインタフェース2−2およびスレーブ装置のスレーブインタフェース4は、リードデータを転送するRDバス6に接続されている。   The first master device comprising the master unit 1-1 and master interface 2-1 and the second master device comprising the master unit 1-2 and master interface 2-2 transfer commands, addresses, write data, etc. Connected to the CW bus 3. A slave device comprising the slave unit 5 and the slave interface 4 is connected to the CW bus 3. The master interface 2-1 of the first master device, the master interface 2-2 of the second master device, and the slave interface 4 of the slave device are connected to an RD bus 6 that transfers read data.

第1のマスタ装置のマスタユニット1−1からマスタインタフェース2−1へ、転送要求REQm1、コマンドCMDm1、アドレスADm1、ライトデータWDm1が送られる。逆方向に、マスタインタフェース2−1からマスタユニット1−1へ、コマンドアクノリッジCACKm1、バスエラー信号BERm1が送られる。コマンドアクノリッジCACKm1はマスタインタフェース2−1がスレーブ装置から確認応答ACKbを受信したことを通知する。また、マスタインタフェース2−1からCWバス3を介してスレーブ装置のスレーブインタフェース4へ、転送要求REQb、コマンドCMDb、アドレス・ライトデータAD/WDbが送られる。逆方向に、スレーブインタフェース4からCWバス3を介してマスタインタフェース2−1へ、確認応答ACKb、否定応答NACKb、否定応答付帯情報NAINFbが送られる。   A transfer request REQm1, a command CMDm1, an address ADm1, and write data WDm1 are sent from the master unit 1-1 of the first master device to the master interface 2-1. In the reverse direction, a command acknowledge CACKm1 and a bus error signal BERm1 are sent from the master interface 2-1 to the master unit 1-1. The command acknowledge CACKm1 notifies that the master interface 2-1 has received the confirmation response ACKb from the slave device. Further, a transfer request REQb, a command CMDb, and address / write data AD / WDb are sent from the master interface 2-1 to the slave interface 4 of the slave device via the CW bus 3. In the reverse direction, an acknowledgment ACKb, a negative response NACKb, and negative response supplementary information NAINFb are sent from the slave interface 4 to the master interface 2-1 via the CW bus 3.

同様に、第2のマスタ装置のマスタユニット1−2からマスタインタフェース2−2へ、転送要求REQm2、コマンドCMDm2、アドレスADm2、ライトデータWDm2が送られる。逆方向に、マスタインタフェース2−2からマスタユニット1−2へ、コマンドアクノリッジCACKm2、バスエラー信号BERm2が送られる。また、マスタインタフェース2−2からCWバス3を介してスレーブ装置のスレーブインタフェース4へ、転送要求REQb、コマンドCMDb、多重化されたアドレス・ライトデータAD/WDbが送られる。逆方向に、スレーブインタフェース4からCWバス3を介してマスタインタフェース91−2へ、確認応答ACKb、否定応答NACKb、否定応答付帯情報NAINFbが送られる。   Similarly, a transfer request REQm2, a command CMDm2, an address ADm2, and write data WDm2 are sent from the master unit 1-2 of the second master device to the master interface 2-2. In the reverse direction, the command acknowledge CACKm2 and the bus error signal BERm2 are sent from the master interface 2-2 to the master unit 1-2. Also, a transfer request REQb, a command CMDb, and multiplexed address / write data AD / WDb are sent from the master interface 2-2 to the slave interface 4 of the slave device via the CW bus 3. In the reverse direction, acknowledgment response ACKb, negative response NACKb, and negative response supplementary information NAINFb are sent from slave interface 4 to master interface 91-2 via CW bus 3.

スレーブ装置のスレーブインタフェース4からスレーブユニット5へ、転送要求REQs、コマンドCMDs、アドレスADs、ライトデータWDsが送られる。逆方向に、スレーブユニット5からスレーブインタフェース4へ、コマンドアクノリッジCACKsが送られる。コマンドアクノリッジCACKsはスレーブユニット5が次のコマンドを受信可能であることを通知する。   A transfer request REQs, a command CMDs, an address ADs, and write data WDs are sent from the slave interface 4 of the slave device to the slave unit 5. In the reverse direction, command acknowledge CACKs are sent from the slave unit 5 to the slave interface 4. The command acknowledge CACKs notifies that the slave unit 5 can receive the next command.

リードデータについては、スレーブユニット5からスレーブインタフェース4へリードデータRDsが送られる。スレーブインタフェース4からRDバス6を介して第1のマスタ装置のマスタインタフェース2−1または第2のマスタ装置のマスタインタフェース2−2へリードデータRDbが送られる。第1のマスタ装置ではマスタインタフェース2−1からマスタユニット1−1へリードデータRDm1が送られ、第2のマスタ装置ではマスタインタフェース2−2からマスタユニット1−2へリードデータRDm2が送られる。   As for the read data, read data RDs is sent from the slave unit 5 to the slave interface 4. Read data RDb is sent from the slave interface 4 via the RD bus 6 to the master interface 2-1 of the first master device or the master interface 2-2 of the second master device. In the first master device, read data RDm1 is sent from the master interface 2-1 to the master unit 1-1, and in the second master device, read data RDm2 is sent from the master interface 2-2 to the master unit 1-2.

CWバス3の使用権を決めるために、調停回路7が設けられている。第1のマスタ装置のマスタインタフェース2−1から調停回路7へバス使用権要求AREQm1が送られ、第2のマスタ装置のマスタインタフェース2−2から調停回路7へバス使用権要求AREQm2が送られる。調停回路7が、第1のマスタ装置にCWバス3のバス使用権を与える場合にはグラント信号AGNTm1をマスタインタフェース2−1に送る。調停回路7が、第2のマスタ装置にCWバス3のバス使用権を与える場合にはグラント信号AGNTm2をマスタインタフェース2−2に送る。   An arbitration circuit 7 is provided to determine the right to use the CW bus 3. A bus use right request AREQm1 is sent from the master interface 2-1 of the first master device to the arbitration circuit 7, and a bus use right request AREQm2 is sent from the master interface 2-2 of the second master device to the arbitration circuit 7. When the arbitration circuit 7 gives the right to use the CW bus 3 to the first master device, the arbitration circuit 7 sends a grant signal AGNTm1 to the master interface 2-1. When the arbitration circuit 7 grants the right to use the CW bus 3 to the second master device, the arbitration circuit 7 sends a grant signal AGNTm2 to the master interface 2-2.

次に、図1について説明する。図1は、第1実施形態のマスタインタフェース2aのCWバス3に関係する部分の内部ブロックを示し、RDバス6に関係する部分すなわちリードデータの受信に関係する部分は省略されている。   Next, FIG. 1 will be described. FIG. 1 shows an internal block of a portion related to the CW bus 3 of the master interface 2a of the first embodiment, and a portion related to the RD bus 6, that is, a portion related to reception of read data is omitted.

マスタインタフェース2aにおいて、マスタプロトコル制御回路11は、マスタユニット1からの転送要求REQmおよびコマンドCMDmを受け、プロトコルに基づいてマスタユニット1とスレーブ装置との間の通信を制御する。リトライ情報抽出回路31は、スレーブインタフェース4aより送信された否定応答付帯情報NAINFbからリトライ設定値SRIと乱数値RNとを抽出する。リトライ設定値SRIがコード化されたものである場合にはデコードをも行う。例えば、4個のスレーブ装置のそれぞれのリトライ設定値SRIが、10進数で10、50、100、200の場合には、スレーブ装置からは、10が(00)、50が(01)、100が(10)、200が(11)のようにコード化されて送信され、リトライ情報抽出回路31はデコード回路(またはデコード対照テーブル)を備えていてそれぞれを元のリトライ設定値10、50、100、200に復元する。この例では10進数の200をそのまま送信する場合には8ビット必要であるが、この例ではコード化することにより2ビットで送信可能である。加算器32は、リトライ設定値SRIと乱数値RNとを加算してリトライ間隔値RINを出力する。   In the master interface 2a, the master protocol control circuit 11 receives the transfer request REQm and the command CMDm from the master unit 1, and controls communication between the master unit 1 and the slave device based on the protocol. The retry information extraction circuit 31 extracts the retry setting value SRI and the random value RN from the negative response supplementary information NAINFb transmitted from the slave interface 4a. When the retry setting value SRI is coded, decoding is also performed. For example, when the retry setting value SRI of each of four slave devices is 10, 50, 100, 200 in decimal, 10 is (00), 50 is (01), 100 from the slave device. (10) and 200 are encoded and transmitted as in (11), and the retry information extraction circuit 31 includes a decoding circuit (or a decoding reference table), each of which is set to the original retry setting value 10, 50, 100, Restore to 200. In this example, when decimal 200 is transmitted as it is, 8 bits are required, but in this example, it is possible to transmit with 2 bits by encoding. The adder 32 adds the retry setting value SRI and the random number value RN and outputs a retry interval value RIN.

リトライ間隔計数部33は、否定応答NACKbを受信してからのクロックCLKのパルスを計数し、リトライ間隔値RINの個数に達したことを検出してリトライ時間通知信号RTをアクティブレベルにする。リトライ間隔計数部33は、例えば、リトライ間隔値RINを保持するリトライ間隔値レジスタ12と、否定応答NACKbを受信すると計数値をリセットした後にクロックCLKのパルスを入力する毎に計数値をインクリメントしてクロックパルス数を計数するリトライ間隔カウンタ13と、リトライ間隔カウンタ13の計数値がリトライ間隔値RINに一致したことを検出してリトライ時間通知信号RTをアクティブレベルにする比較器14とによって構成される。なお、例えば加算等の回路動作によるクロック時間消費によるズレを考慮し、リトライ間隔値レジスタに設定する値を算出されたリトライ間隔値RINに対して所定数αを増減して補正した値として設定してもよい。   The retry interval counter 33 counts the pulses of the clock CLK after receiving the negative response NACKb, detects that the number of retry interval values RIN has been reached, and sets the retry time notification signal RT to the active level. For example, the retry interval counting unit 33 increments the count value every time a pulse of the clock CLK is input after resetting the count value when the retry interval value register 12 holding the retry interval value RIN and the negative response NACKb are received. A retry interval counter 13 that counts the number of clock pulses, and a comparator 14 that detects that the count value of the retry interval counter 13 matches the retry interval value RIN and sets the retry time notification signal RT to an active level. . For example, in consideration of a shift due to clock time consumption due to circuit operation such as addition, the value set in the retry interval value register is set as a value corrected by increasing / decreasing the predetermined number α with respect to the calculated retry interval value RIN. May be.

リトライ回数計数部34は、マスタユニット1からの転送要求REQmを受信してからの否定応答NACKbの受信回数を計数し、計数値が予め設定された許容リトライ回数PRCよりも大きくなったことを検出してオーバーフロー信号OFをアクティブレベルにする。リトライ回数計数部34は、例えば、予め所定の許容リトライ回数PRCが格納されるにリトライ回数レジスタ15と、マスタユニット1からの転送要求REQmにより計数値をリセットした後に否定応答NACKbが受信される毎にインクリメントするリトライ回数カウンタ16と、計数値がリトライ回数レジスタ15の許容リトライ回数PRCよりも大きい値になったことを検出してオーバーフロー信号OFをアクティブレベルにする比較器17とによって構成される。   The retry count counter 34 counts the number of times of negative acknowledgment NACKb received after receiving the transfer request REQm from the master unit 1, and detects that the count value is larger than the preset allowable retry count PRC. Then, the overflow signal OF is set to the active level. For example, the retry count counting unit 34 resets the count value in response to the retry count register 15 and the transfer request REQm from the master unit 1 when a predetermined allowable retry count PRC is stored in advance, and each time a negative response NACKb is received. And a comparator 17 that detects that the count value has become larger than the allowable retry count PRC of the retry count register 15 and sets the overflow signal OF to an active level.

リトライ要求回路18は、オーバーフロー信号OFがインアクティブレベルにあるときにリトライ時間通知信号RTがアクティブレベルに変化したことを検出した場合には、リトライ起動要求信号RRQをマスタプロトコル制御回路11に送る。リトライ起動要求信号RRQを受信したときには、マスタプロトコル制御回路11は転送要求REQb、コマンドCMDb、アドレス(AD/WDのアドレス部分)を再送信する。バスエラー判定回路19aは、オーバーフロー信号OFがアクティブレベルに変化したことを検出して、バスエラー信号BERmを出力する。また、バスエラー判定回路19aは、否定応答付帯情報NACKbの否定応答原因情報部分を判定し、コマンドがスレーブ装置でサポートされていないなどの原因でリトライしても無駄である場合にもバスエラー信号BERmを出力する。   When the retry request circuit 18 detects that the retry time notification signal RT has changed to the active level when the overflow signal OF is at the inactive level, the retry request circuit 18 sends a retry activation request signal RRQ to the master protocol control circuit 11. When the retry activation request signal RRQ is received, the master protocol control circuit 11 retransmits the transfer request REQb, the command CMDb, and the address (AD / WD address part). The bus error determination circuit 19a detects that the overflow signal OF has changed to an active level, and outputs a bus error signal BERm. Further, the bus error determination circuit 19a determines the negative response cause information portion of the negative response incidental information NACKb, and the bus error signal is used even when the retry is useless because the command is not supported by the slave device. BERm is output.

次に、図2について説明する。図2は、第1実施形態のスレーブインタフェース4aのCWバス3に関係する部分の内部ブロックを示し、RDバス6に関係する部分すなわちリードデータの受信に関係する部分は省略されている。   Next, FIG. 2 will be described. FIG. 2 shows an internal block of a portion related to the CW bus 3 of the slave interface 4a of the first embodiment, and a portion related to the RD bus 6, that is, a portion related to reception of read data is omitted.

スレーブインタフェース4aにおいて、アドレスデコーダ21は、マスタユニット1からマスタインタフェース2aおよびCWバス3を介して転送要求REQbと多重化されたアドレス・ライトデータAD/WDのアドレス部分とを受信し、スレーブユニット4a自身に対する転送要求であればアドレス条件検出信号ACDを出力する。スレーブプロトコル制御回路22は、アドレス条件検出信号ACD、マスタ装置からのコマンドCMDbを受け、プロトコルに基づいてマスタ装置とスレーブユニット5との間の通信を制御する。   In the slave interface 4a, the address decoder 21 receives from the master unit 1 via the master interface 2a and the CW bus 3 and the address portion of the address / write data AD / WD multiplexed with the transfer request REQb. If it is a transfer request to itself, an address condition detection signal ACD is output. The slave protocol control circuit 22 receives the address condition detection signal ACD and the command CMDb from the master device, and controls communication between the master device and the slave unit 5 based on the protocol.

スレーブ状態保持回路23は、スレーブユニット5が転送要求を処理可能な状態であるか、または処理不能なビジー状態にあるかを示すスレーブ状態情報を入力し保持する。応答条件判定回路24は、アドレス条件検出信号ACD、コマンドCMDb、スレーブ状態保持回路23に保持されたスレーブ状態情報から転送要求REQbに応答するか否かを判断し、応答可能なときはCWバス3に確認応答ACKbを出力し、応答不可能なときは否定応答NACKbを出力する。   The slave state holding circuit 23 inputs and holds slave state information indicating whether the slave unit 5 is in a state where it can process a transfer request or is in a busy state where it cannot be processed. The response condition determination circuit 24 determines whether or not to respond to the transfer request REQb from the address condition detection signal ACD, the command CMDb, and the slave state information held in the slave state holding circuit 23, and when the response is possible, the CW bus 3 The confirmation response ACKb is output to the terminal, and when the response is impossible, the negative response NACKb is output.

否定応答原因情報生成回路25は、スレーブ状態保持回路23に保持されたスレーブ状態情報を参照して否定応答NACKbを返信する原因に関する情報を生成する。例えば、スレーブユニットがビジー状態にある、受信したコマンドがスレーブ装置でサポートされていない、などの情報がコード化されて生成される。   The negative response cause information generation circuit 25 refers to the slave state information held in the slave state holding circuit 23 and generates information related to the cause of returning the negative response NACKb. For example, information such as that the slave unit is busy or that the received command is not supported by the slave device is encoded and generated.

リトライ設定値格納回路であるリトライ設定値レジスタ41は、スレーブユニットに固有に定められたリトライ設定値SRIsを格納する。リトライ設定値がコード化されてスレーブユニットから送られる場合には、コード化された状態でリトライ設定値SRIsを格納する。   A retry setting value register 41, which is a retry setting value storage circuit, stores retry setting values SRIs that are uniquely determined for the slave unit. When the retry setting value is encoded and sent from the slave unit, the retry setting value SRIs is stored in the encoded state.

疑似乱数発生器42は、所定の信号に起動されて擬似的に乱数を生成する。図2では、所定の信号として否定応答NACKbを用いているが、否定応答NACKbに替えてアドレスデコーダ21の出力であるアドレス条件検出信号ACDを用いても良い。アドレス条件検出信号ACDを用いた場合には、応答条件判定回路24からの否定応答NACKbの発信に先行して乱数値RNsの生成を行うことができるので、疑似乱数発生器42には高速動作が要求されないという利点がある。応答判定結果が確認応答ACKbであるときには生成済の乱数値RNsはそのまま廃棄される。   The pseudo random number generator 42 is activated by a predetermined signal to generate pseudo random numbers. In FIG. 2, the negative response NACKb is used as the predetermined signal, but the address condition detection signal ACD that is the output of the address decoder 21 may be used instead of the negative response NACKb. When the address condition detection signal ACD is used, since the random number value RNs can be generated prior to the transmission of the negative response NACKb from the response condition determination circuit 24, the pseudo random number generator 42 operates at high speed. There is an advantage that it is not required. When the response determination result is the confirmation response ACKb, the generated random number value RNs is discarded as it is.

否定応答付帯情報生成回路43は、否定応答NACKbが出力されたときに追随して否定応答原因情報NAI、リトライ設定値SRIsおよび乱数値RNsを多重化して否定応答付帯情報NAINFbを生成しCWバス3へ出力する。否定応答付帯情報生成回路43は、例えば、スレーブプロトコル制御装置により出力選択制御されるマルチプレクサ44を用いて構成される。否定応答付帯情報NAINFの転送では、一系統の信号線または信号線群により、否定応答原因情報NAI、リトライ設定値SRIsおよび乱数値RNsがスレーブプロトコル制御回路22により設定された順序にしたがって順次転送される。   When the negative response NACKb is output, the negative response incidental information generation circuit 43 multiplexes the negative response cause information NAI, the retry setting value SRIs, and the random value RNs to generate negative response additional information NAINFb, and generates the CW bus 3 Output to. The negative response-accompanying information generation circuit 43 is configured by using, for example, a multiplexer 44 whose output is selected and controlled by a slave protocol control device. In the transfer of the negative response supplementary information NAINF, the negative response cause information NAI, the retry set value SRIs, and the random value RNs are sequentially transferred according to the order set by the slave protocol control circuit 22 by a single signal line or signal line group. The

または、否定応答付帯情報NAINFを構成する否定応答原因情報NAI、リトライ設定値SRIsおよび乱数値RNsが複数の系統の信号線または信号線群により別々に転送されるようにしてもよく、このように構成された場合には否定応答付帯情報生成回路43を省略することができる。   Alternatively, the negative response cause information NAI, the retry setting value SRIs, and the random value RNs constituting the negative response incidental information NAINF may be separately transferred by a plurality of signal lines or signal line groups. When configured, the negative response incidental information generation circuit 43 can be omitted.

次に、本発明の第1実施形態の動作について図1,2,3,4を参照して説明する。図4は、第1実施形態の動作シーケンス図である。従来例でライブ・ロックが発生する図15の場合と同様に、マスタユニット1−1からスレーブユニット5への転送要求ACKbが周期的に発生し、これがマスタユニット1−2によりリトライ間隔値RINに基づいて生成される転送要求ACKbの周期と一致するように初期設定されている場合を例として説明する。   Next, the operation of the first embodiment of the present invention will be described with reference to FIGS. FIG. 4 is an operation sequence diagram of the first embodiment. As in the case of FIG. 15 where live lock occurs in the conventional example, a transfer request ACKb from the master unit 1-1 to the slave unit 5 is periodically generated, and this is set to the retry interval value RIN by the master unit 1-2. A case will be described as an example in which the initial setting is made to coincide with the cycle of the transfer request ACKb generated based on the above.

時刻T1において、マスタユニット1−1からマスタインタフェース2−1に転送要求REQm1が発生する。同時にアドレスADDm1、コマンドCMDm1などがマスタインタフェース2−1に渡される。   At time T1, a transfer request REQm1 is generated from the master unit 1-1 to the master interface 2-1. At the same time, the address ADDm1, the command CMDm1, and the like are passed to the master interface 2-1.

マスタインタフェース2−1は、調停回路7にバス使用権を要求し、バス使用権が付与され且つCWバス3が未使用な状態になったときに、CWバス3上に転送要求REQbを出す。同時に多重化されたアドレス・ライトデータAD/WDb、コマンドCMDbをCWバス3に出力する。マスタインタフェース2−1のリトライ回数カウンタ16は0にリセットされる。   The master interface 2-1 requests the arbitration circuit 7 for the right to use the bus. When the right to use the bus is granted and the CW bus 3 becomes unused, the master interface 2-1 issues a transfer request REQb on the CW bus 3. At the same time, the multiplexed address / write data AD / WDb and command CMDb are output to the CW bus 3. The retry counter 16 of the master interface 2-1 is reset to zero.

スレーブインタフェース4内のアドレスデコーダ21は、アドレス・ライトデータAD/WDのアドレス部分をデコードし、自身がアドレスに指定されたスレーブ装置であることを検出した場合には、スレーブインタフェース4はCWバス3から転送要求REQb、アドレス・ライトデータAD/WDb、コマンドCMDbを取り込む。   When the address decoder 21 in the slave interface 4 decodes the address portion of the address / write data AD / WD and detects that it is a slave device designated by the address, the slave interface 4 receives the CW bus 3. Then, transfer request REQb, address / write data AD / WDb, and command CMDb are fetched.

スレーブインタフェース4の応答条件判定回路24では、受信したコマンドCMDbおよびスレーブ状態保持回路23保持されたスレーブユニット5の状態に応じて、マスタユニット1−1からの転送要求REQbを受信するか拒否するかを判定する。図4では処理可能と判定したのでCWバス3上に確認応答ACKbを出力するとともに、スレーブユニット5に転送要求REQbを送信する。   The response condition determination circuit 24 of the slave interface 4 receives or rejects the transfer request REQb from the master unit 1-1 according to the received command CMDb and the state of the slave unit 5 held by the slave state holding circuit 23. Determine. Since it is determined in FIG. 4 that processing is possible, an acknowledgment response ACKb is output on the CW bus 3 and a transfer request REQb is transmitted to the slave unit 5.

マスタインタフェース2−1は、確認応答ACKbを受信すると、マスタユニット1−1にコマンドアクノリッジCACKm1(図3参照)を送る。同時にデータフェーズの転送を開始する。データフェーズでは、マスタインタフェース2−1は、ライトならばマスタユニット1−1にライトデータを要求し、受信したデータをCWバス3に出力するが、図4ではリードであるので、CWバス3を開放してリードデータが準備されるまでの所定の時間待つ。   When the master interface 2-1 receives the confirmation response ACKb, the master interface 2-1 sends a command acknowledge CACKm1 (see FIG. 3) to the master unit 1-1. At the same time, data phase transfer is started. In the data phase, the master interface 2-1 requests write data from the master unit 1-1 if it is a write and outputs the received data to the CW bus 3, but in FIG. Wait for a predetermined time until it is released and read data is prepared.

一方、時刻T2において、マスタユニット1−2からマスタインタフェース2−2へ転送要求REQm2が送られたとする。同時にアドレスADm2、コマンドCMDm2などがマスタインタフェース2−2に渡される。   On the other hand, assume that a transfer request REQm2 is sent from the master unit 1-2 to the master interface 2-2 at time T2. At the same time, the address ADm2, the command CMDm2, etc. are passed to the master interface 2-2.

マスタインタフェース2−2は、調停回路7にCWバス3のバス使用権を要求し、CWバス3が使用中のため開放されるまで待ち、バス使用権が付与されると、CWバス3上に転送要求REQbを出す。マスタインタフェース2−2のリトライ回数カウンタ16は0にリセットされる。   The master interface 2-2 requests the arbitration circuit 7 for the right to use the CW bus 3, waits for the CW bus 3 to be released because it is in use, and if the right to use the bus is granted, A transfer request REQb is issued. The retry counter 16 of the master interface 2-2 is reset to zero.

スレーブインタフェース4内のアドレスデコーダ21はアドレス・ライトデータAD/WDのアドレス部分をデコードし、自身がアドレスに指定されたスレーブ装置であることを検出した場合には、スレーブインタフェース4はCWバス3を介してマスタユニット1−2からの転送要求REQb、アドレス・ライトデータAD/WDb、コマンドCMDbを取り込む。   The address decoder 21 in the slave interface 4 decodes the address portion of the address / write data AD / WD, and if it detects that it is a slave device designated by the address, the slave interface 4 uses the CW bus 3. Then, the transfer request REQb, address / write data AD / WDb, and command CMDb from the master unit 1-2 are fetched.

スレーブインタフェース4の応答条件判定回路24では、受信したコマンドCMDbおよびスレーブ状態保持回路23保持されたスレーブユニット5の状態に応じて、マスタユニット1−1からの転送要求REQbを受信するか拒否するかを判定する。スレーブユニット5はマスタユニット1−2からの転送要求の処理でビジー状態にあるので、スレーブインタフェース4内の応答条件判定回路24ではマスタユニット1−2からの転送要求REQbを拒否すると判定し、否定応答NACKbをCWバス3を介して返信する。また、否定応答付帯情報生成回路43から否定応答付帯情報NAINFbをCWバス3へ出力する。この第1回目の否定応答付帯情報NAINFbには、否定応答原因情報NAIとリトライ設定値SRIと乱数値RN(第1回目の乱数値RN1とする)とが含まれている。   The response condition determination circuit 24 of the slave interface 4 receives or rejects the transfer request REQb from the master unit 1-1 according to the received command CMDb and the state of the slave unit 5 held by the slave state holding circuit 23. Determine. Since the slave unit 5 is busy in processing the transfer request from the master unit 1-2, the response condition determination circuit 24 in the slave interface 4 determines to reject the transfer request REQb from the master unit 1-2, and A response NACKb is returned via the CW bus 3. Further, negative response supplementary information NAINFb is output from the negative response supplementary information generation circuit 43 to the CW bus 3. The first negative acknowledgment accompanying information NAINFb includes negative response cause information NAI, a retry setting value SRI, and a random value RN (referred to as a first random number value RN1).

マスタインタフェース2−2は、否定応答NACKbおよび否定応答付帯情報NAINFbを受信するとリトライ回数カウンタ16をカウントアップし、リトライ回数レジスタ15に格納されている許容リトライ回数PRCよりも大きいか否かを判定する。リトライ回数カウンタの計数値は1であるのでオーバーフロー信号はインアクティブレベルを維持する。   When the master interface 2-2 receives the negative response NACKb and the negative response incidental information NAINFb, the master interface 2-2 counts up the retry number counter 16 and determines whether or not it is larger than the allowable retry number PRC stored in the retry number register 15. . Since the count value of the retry counter is 1, the overflow signal maintains an inactive level.

また、マスタインタフェース2−2では、リトライ情報抽出回路31により第1回目の否定応答付帯情報NAINFbからリトライ設定値SRIと乱数値RN(第1回目の乱数値RN1)を抽出し、加算器32により加算しリトライ間隔値RIN(第1回目のリトライ間隔値RIN1=SRI+RN1)を算出してリトライ間隔値レジスタ12に格納する。なお、バス使用権は開放する。否定応答NACKbをによりリトライ間隔カウンタ13の計数値を一旦0にリセットしてからクロックパルス毎にインクリメントする。   In the master interface 2-2, the retry information extraction circuit 31 extracts the retry setting value SRI and the random value RN (first random number value RN1) from the first negative acknowledgment incidental information NAINFb. The retry interval value RIN (first retry interval value RIN1 = SRI + RN1) is calculated and stored in the retry interval value register 12. The bus use right is released. The count value of the retry interval counter 13 is once reset to 0 by a negative response NACKb and then incremented for each clock pulse.

一方、マスタユニット1−1の転送要求に対するリードデータRDm1がスレーブユニット5からRDバス6を介して時刻T3にマスタユニット1−1に転送され、リード処理が完了する。直後にマスタユニット1−1が次の転送要求REQm1を発信するので、転送要求が受け付けられてスレーブユニット5が再びビジー状態になる。   On the other hand, read data RDm1 corresponding to the transfer request of the master unit 1-1 is transferred from the slave unit 5 to the master unit 1-1 via the RD bus 6 at time T3, and the read process is completed. Immediately after, the master unit 1-1 transmits the next transfer request REQm1, so that the transfer request is accepted and the slave unit 5 is again busy.

マスタインタフェース2−2では、リトライ間隔カウンタ13の計数値がリトライ間隔値レジスタ12に格納された第1回目のリトライ間隔値RIN1と等しくなると第1回目のリトライ間隔時間Tri1が経過したとして比較器14からリトライ時間通知信号RTがリトライ要求回路18に送られてリトライ起動要求信号PRQが出力され、マスタプロトコル制御回路11から転送要求REQbをスレーブインタフェース4に再送信する。   In the master interface 2-2, when the count value of the retry interval counter 13 becomes equal to the first retry interval value RIN1 stored in the retry interval value register 12, the comparator 14 determines that the first retry interval time Tri1 has elapsed. The retry time notification signal RT is sent to the retry request circuit 18 and the retry activation request signal PRQ is output, and the master protocol control circuit 11 retransmits the transfer request REQb to the slave interface 4.

しかしながら、マスタインタフェース2−2から再送信された転送要求REQbはスレーブユニット5がビジー状態にあるため拒否され、否定応答NACKbおよび第2回目の否定応答付帯情報NAINFbを送信する。第2回目の否定応答付帯情報NAINFbには、否定応答原因情報NAIとリトライ設定値SRIと乱数値RN(第2回目の乱数値RN2とする)が含まれている。マスタインタフェース2−2は、リトライ間隔値レジスタ12に、第2回目のリトライ間隔値RIN2=SRI+RN2を格納し、否定応答NACKbを受信して第2回目のリトライ間隔時間Tri2の計時を再度開始する。   However, the transfer request REQb retransmitted from the master interface 2-2 is rejected because the slave unit 5 is busy, and a negative response NACKb and second negative response supplementary information NAINFb are transmitted. The second negative acknowledgment accompanying information NAINFb includes negative response cause information NAI, a retry setting value SRI, and a random value RN (referred to as a second random value RN2). The master interface 2-2 stores the second retry interval value RIN2 = SRI + RN2 in the retry interval value register 12, receives the negative acknowledgment NACKb, and starts counting the second retry interval time Tri2.

第1回目の乱数値RN1と第2回目の乱数値RN2が異なった値である場合には、第2回目のリトライ間隔時間Tri2は第2回目のリトライ間隔時間Tri2とは異なった時間となる。第1回目のリトライ間隔時間Tr1がマスタユニット1−1からの転送要求の発信周期と一致した場合でも第2回目のリトライ間隔時間Tr2が第1回目のリトライ間隔時間Tri1とは(擬似的にではあるが)独立に決定されるため、第1回目のリトライ間隔時間Tr1とは異なる可能性が大きい。さらに第3回目以降のリトライ間隔時間についてもそれ以前のどのリトライ間隔時間に対しても独立に決定されるために、マスタインタフェース2−2のリトライ間隔時間とマスタユニット1−1からの転送要求の発信周期とが一致した状態が長期間継続することは実質的にあり得ないと容易に理解できる。したがって、本実施形態においては、ライブ・ロックの発生を防止し、また、ライブ・ロック状態に陥った場合にもこれを解消することが可能である。   When the first random number value RN1 and the second random number value RN2 are different from each other, the second retry interval time Tri2 is different from the second retry interval time Tri2. Even if the first retry interval time Tr1 coincides with the transmission cycle of the transfer request from the master unit 1-1, the second retry interval time Tr2 is different from the first retry interval time Tri1 (in a pseudo manner). Since it is determined independently, there is a high possibility that it is different from the first retry interval time Tr1. Further, since the retry interval time after the third time is determined independently of any retry interval time before that, the retry interval time of the master interface 2-2 and the transfer request from the master unit 1-1 are also determined. It can be easily understood that the state in which the transmission period is consistent cannot be continued for a long time. Therefore, in the present embodiment, it is possible to prevent the occurrence of live lock and to eliminate this even when the live lock state is entered.

図4は、リトライ間隔時間がTri1<Tri2<Tri3となって発生した例であるが、3回目のリトライ間隔時間Tri3後のマスタインタフェース2−2からの転送要求REQbに対して時刻T4にスレーブインタフェース4から確認応答ACKbが返信され、マスタユニット1−2からのリード転送要求に対するリードデータRDm2が、時刻T5にマスタユニット1−2に受信されている。   FIG. 4 shows an example in which the retry interval time has occurred as Tri1 <Tri2 <Tri3, but the slave interface at time T4 in response to the transfer request REQb from the master interface 2-2 after the third retry interval time Tri3. 4 is returned as a confirmation response ACKb, and the read data RDm2 corresponding to the read transfer request from the master unit 1-2 is received by the master unit 1-2 at time T5.

このように、本実施形態では、ライブ・ロックの発生を防止し、また、ライブ・ロック状態に陥った場合にもこれを解消することが可能である。また、リトライ設定値SRIはスレーブ装置に固有に設定された値を転送要求したスレーブ装置から送られて使用するので、転送準備に要する時間が大きく異なる種々のスレーブ装置がバスに接続される場合においても、リトライ間隔時間をそれぞれのスレーブ装置に対して適切な範囲に設定することできる。   As described above, in this embodiment, the occurrence of live lock can be prevented, and this can be solved even when the live lock state occurs. Further, since the retry setting value SRI is sent from the slave device that requested the transfer and is set to a value uniquely set in the slave device, when various slave devices having greatly different transfer preparation times are connected to the bus. In addition, the retry interval time can be set to an appropriate range for each slave device.

また、例えばリトライ設定値を8ビットとし、生成する乱数値を4ビットとすると、疑似乱数発生器は4ビット分のフリップフロップと排他的ORゲートとで構成でき、加算器は8ビットのリトライ設定値と4ビットの乱数値との加算が可能なものでよいので、本実施形態を構成するために追加されるハードウェア量は小さい。特に、多種類のスレーブ装置がバスに接続される場合には、特開平9−114750号公報に記載の技術によるバスシステムと比較して追加ハードウェア量を大幅に削減できる。   For example, if the retry setting value is 8 bits and the generated random number value is 4 bits, the pseudo random number generator can be composed of a 4-bit flip-flop and an exclusive OR gate, and the adder has an 8-bit retry setting. Since the value and a 4-bit random value can be added, the amount of hardware added to configure the present embodiment is small. In particular, when many types of slave devices are connected to the bus, the amount of additional hardware can be significantly reduced as compared with a bus system based on the technique described in Japanese Patent Laid-Open No. 9-114750.

さらに、特開2000−250850号公報に記載された技術を用いてライブ・ロックを回避する場合のように、特定のマスタ装置にバスが長期間占有され、他のマスタ装置がバスを使用できなくなることがあるという副作用も生じない。   Further, as in the case of avoiding live lock using the technique described in Japanese Patent Laid-Open No. 2000-250850, a bus is occupied by a specific master device for a long time, and other master devices cannot use the bus. There are no side effects.

なお、図1では、リトライ間隔計数部33を、リトライ間隔値レジスタ12、
リトライ間隔カウンタ13および比較器14で構成しているが、リトライ間隔カウンタ13に替えて否定応答NACKbを受信したときに加算器32からリトライ間隔値をプリセットしクロックパルス毎にデクリメントするデクリメント型リトライ間隔カウンタとし、比較器14に替えてデクリメントカウンタの計数値が0になったことを検出してリトライ時間通知信号RTを出力するゼロ比較器としても良い。リトライ間隔計数部33をこのように構成することにより、リトライ間隔値レジスタが不要になり、またゼロ比較器の回路が簡単化できる。
In FIG. 1, the retry interval counter 33 is connected to the retry interval value register 12,
The retry interval counter 13 and the comparator 14 are configured. A decrement type retry interval that presets a retry interval value from the adder 32 and decrements every clock pulse when a negative response NACKb is received instead of the retry interval counter 13. A counter may be used instead of the comparator 14 to detect that the count value of the decrement counter is 0 and output a retry time notification signal RT. By configuring the retry interval counting unit 33 in this way, the retry interval value register becomes unnecessary, and the circuit of the zero comparator can be simplified.

同様に、図1では、リトライ回数計数部34を、リトライ回数レジスタ15、
リトライ回数カウンタ16および比較器17で構成しているが、リトライ間隔カウンタ13に替えてマスタユニットからの転送要求REQmを受信したときに所定の許容リトライ回数PRCに1を加えた値をプリセットし否定応答NACKbを受信する毎にデクリメントするデクリメント型リトライ回数カウンタとし、比較器17に替えてデクリメントカウンタの計数値が0になったことを検出してオーバーフロー信号OFを出力するゼロ比較器としても良い。リトライ回数計数部34をこのように構成することにより、リトライ回数レジスタが不要になり、またゼロ比較器の回路が簡単化できる。
Similarly, in FIG. 1, the retry number counting unit 34 is connected to the retry number register 15,
The retry count counter 16 and the comparator 17 are configured, but when the transfer request REQm from the master unit is received instead of the retry interval counter 13, a value obtained by adding 1 to the predetermined allowable retry count PRC is preset and negated. A decrementing retry counter that decrements every time a response NACKb is received may be used, and a zero comparator that outputs an overflow signal OF by detecting that the count value of the decrementing counter has become 0 may be used instead of the comparator 17. By configuring the retry number counting unit 34 in this way, the retry number register becomes unnecessary, and the circuit of the zero comparator can be simplified.

次に、本発明の第2実施形態について説明する。図5は、第2実施形態のバスシステムのマスタインタフェース2bのブロック図であり、図6は、第2実施形態のバスシステムのスレーブインタフェース4bのブロック図である。バスシステム全体の構成は第1実施形態の図3と同様であるが、第2実施形態では、マスタインタフェース2b内で疑似乱数発生を行いリトライ設定値と加算する。   Next, a second embodiment of the present invention will be described. FIG. 5 is a block diagram of the master interface 2b of the bus system of the second embodiment, and FIG. 6 is a block diagram of the slave interface 4b of the bus system of the second embodiment. Although the overall configuration of the bus system is the same as that of FIG. 3 of the first embodiment, in the second embodiment, pseudorandom numbers are generated in the master interface 2b and added to the retry setting value.

図5のマスタインタフェース4bにおいて、マスタプロトコル制御回路11は、マスタユニット1からの転送要求およびコマンドを受け、プロトコルに基づいてマスタユニット1とスレーブ装置との間の通信を制御する。リトライ情報抽出回路31aは、スレーブインタフェース4bより送信された否定応答付帯情報NAINFbからリトライ設定値SRIを抽出する。リトライ設定値SRIがコード化されたものである場合にはデコードを行うことは図1の第1実施形態におけるリトライ情報抽出回路31と同様である。   In the master interface 4b of FIG. 5, the master protocol control circuit 11 receives a transfer request and a command from the master unit 1, and controls communication between the master unit 1 and the slave device based on the protocol. The retry information extraction circuit 31a extracts the retry setting value SRI from the negative response supplementary information NAINFb transmitted from the slave interface 4b. When the retry setting value SRI is coded, the decoding is performed in the same manner as the retry information extraction circuit 31 in the first embodiment of FIG.

疑似乱数発生器51は、所定の信号を受信して乱数値RNを生成し出力する。
なお、図5では、所定の信号として否定応答NACKbを用いているが、否定応答NACKbに替えてマスタプロトコル制御回路11からCWバス3に出力される転送要求REQbを用いても良い。転送要求REQbを用いた場合には、否定応答NACKbの受信に先行して乱数値RNの生成を行うことができるので、疑似乱数発生器51には高速動作が要求されないという利点がある。確認応答ACKbを受信したときには生成済の乱数値RNはそのまま廃棄される。加算器32は、リトライ設定値SRIと乱数値RNとを加算してリトライ間隔値RINを算出して出力する。
The pseudo-random number generator 51 receives a predetermined signal, generates a random value RN, and outputs it.
In FIG. 5, the negative response NACKb is used as the predetermined signal, but the transfer request REQb output from the master protocol control circuit 11 to the CW bus 3 may be used instead of the negative response NACKb. When the transfer request REQb is used, since the random number RN can be generated prior to the reception of the negative response NACKb, there is an advantage that the pseudo random number generator 51 is not required to operate at high speed. When the confirmation response ACKb is received, the generated random number value RN is discarded as it is. The adder 32 adds the retry setting value SRI and the random value RN to calculate a retry interval value RIN and outputs it.

リトライ間隔計数部33は、否定応答NACKbを受信してからのクロックCLKのパルスを計数し、リトライ間隔値RINの個数に達したことを検出してリトライ時間通知信号RTをアクティブレベルにする。リトライ間隔計数部33は、例えば、リトライ間隔値RINを保持するリトライ間隔値レジスタ12と、否定応答NACKbを受信すると計数値をリセットした後にクロックCLKのパルスを入力する毎に計数値をインクリメントしてクロックパルス数を計数するリトライ間隔カウンタ13と、リトライ間隔カウンタ13の計数値がリトライ間隔値RINに一致したことを検出してリトライ時間通知信号RTをアクティブレベルにする比較器14とによって構成される。   The retry interval counter 33 counts the pulses of the clock CLK after receiving the negative response NACKb, detects that the number of retry interval values RIN has been reached, and sets the retry time notification signal RT to the active level. For example, the retry interval counting unit 33 increments the count value every time a pulse of the clock CLK is input after resetting the count value when the retry interval value register 12 holding the retry interval value RIN and the negative response NACKb are received. A retry interval counter 13 that counts the number of clock pulses, and a comparator 14 that detects that the count value of the retry interval counter 13 matches the retry interval value RIN and sets the retry time notification signal RT to an active level. .

リトライ回数計数部34は、マスタユニット1からの転送要求REQmを受信してからの否定応答NACKbの受信回数を計数し、計数値が予め設定された許容リトライ回数PRCよりも大きくなったことを検出してオーバーフロー信号OFをアクティブレベルにする。リトライ回数計数部34は、例えば、予め所定の許容リトライ回数PRCが格納されるにリトライ回数レジスタ15と、マスタユニット1からの転送要求REQmにより計数値をリセットした後に否定応答NACKbが受信される毎にインクリメントするリトライ回数カウンタ16と、計数値がリトライ回数レジスタ15の許容リトライ回数PRCよりも大きい値になったことを検出してオーバーフロー信号OFをアクティブレベルにする比較器17とによって構成される。   The retry count counter 34 counts the number of times of negative acknowledgment NACKb received after receiving the transfer request REQm from the master unit 1, and detects that the count value is larger than the preset allowable retry count PRC. Then, the overflow signal OF is set to the active level. For example, the retry count counting unit 34 resets the count value in response to the retry count register 15 and the transfer request REQm from the master unit 1 when a predetermined allowable retry count PRC is stored in advance, and each time a negative response NACKb is received. And a comparator 17 that detects that the count value has become larger than the allowable retry count PRC of the retry count register 15 and sets the overflow signal OF to an active level.

リトライ要求回路18は、オーバーフロー信号OFがインアクティブレベルにあるときにリトライ時間通知信号RTがアクティブレベルに変化したことを検出した場合には、リトライ起動要求信号RRQをマスタプロトコル制御回路11に送る。リトライ起動要求信号RRQを受信したときには、マスタプロトコル制御回路11は転送要求REQb、コマンドCMDb、アドレス(AD/WDのアドレス部分)を再送信する。バスエラー判定回路19aは、オーバーフロー信号OFがアクティブレベルに変化したことを検出して、バスエラー信号BERmを出力する。また、バスエラー判定回路19aは、否定応答付帯情報NACKbの否定応答原因情報部分を判定し、コマンドがスレーブ装置でサポートされていないなどの原因でリトライしても無駄である場合にもバスエラー信号BERmを出力する。   When the retry request circuit 18 detects that the retry time notification signal RT has changed to the active level when the overflow signal OF is at the inactive level, the retry request circuit 18 sends a retry activation request signal RRQ to the master protocol control circuit 11. When the retry activation request signal RRQ is received, the master protocol control circuit 11 retransmits the transfer request REQb, the command CMDb, and the address (AD / WD address part). The bus error determination circuit 19a detects that the overflow signal OF has changed to an active level, and outputs a bus error signal BERm. Further, the bus error determination circuit 19a determines the negative response cause information portion of the negative response incidental information NACKb, and the bus error signal is used even when the retry is useless because the command is not supported by the slave device. BERm is output.

次に、図6について説明する。スレーブインタフェース4bにおいて、アドレスデコーダ21は、マスタユニット1からマスタインタフェース2bおよびCWバス3を介して転送要求REQbと多重化されたアドレス・ライトデータAD/WDのアドレス部分とを受信し、スレーブユニット4b自身に対する転送要求であればアドレス条件検出信号ACDを出力する。スレーブプロトコル制御回路22は、アドレス条件検出信号ACD、マスタ装置からのコマンドCMDbを受け、プロトコルに基づいてマスタ装置とスレーブユニット5との間の通信を制御する。   Next, FIG. 6 will be described. In the slave interface 4b, the address decoder 21 receives from the master unit 1 the master interface 2b and the address part of the address / write data AD / WD multiplexed with the transfer request REQb via the master interface 2b and the CW bus 3, and receives the slave unit 4b. If it is a transfer request to itself, an address condition detection signal ACD is output. The slave protocol control circuit 22 receives the address condition detection signal ACD and the command CMDb from the master device, and controls communication between the master device and the slave unit 5 based on the protocol.

スレーブ状態保持回路23は、スレーブユニット5が転送要求を処理可能な状態であるか、または処理不能なビジー状態にあるかを示すスレーブ状態情報を入力し保持する。応答条件判定回路24は、アドレス条件検出信号ACD、コマンドCMDb、スレーブ状態保持回路23に保持されたスレーブ状態情報から転送要求REQbに応答するか否かを判断し、応答可能なときはCWバス3に確認応答ACKbを出力し、応答不可能なときは否定応答NACKbを出力する。   The slave state holding circuit 23 inputs and holds slave state information indicating whether the slave unit 5 is in a state where it can process a transfer request or is in a busy state where it cannot be processed. The response condition determination circuit 24 determines whether or not to respond to the transfer request REQb from the address condition detection signal ACD, the command CMDb, and the slave state information held in the slave state holding circuit 23, and when the response is possible, the CW bus 3 The confirmation response ACKb is output to the terminal, and when the response is impossible, the negative response NACKb is output.

否定応答原因情報生成回路25は、スレーブ状態保持回路23に保持されたスレーブ状態情報を参照して否定応答NACKbを返信する原因に関する情報を生成する。   The negative response cause information generation circuit 25 refers to the slave state information held in the slave state holding circuit 23 and generates information related to the cause of returning the negative response NACKb.

リトライ設定値格納回路であるリトライ設定値レジスタ41は、スレーブユニットに固有に定められたリトライ設定値SRIsを格納する。リトライ設定値がコード化されてスレーブユニットから送られる場合には、コード化された状態でリトライ設定値SRIsを格納することは、図2の第1実施形態におけるリトライ設定値レジスタ41と同様である。   A retry setting value register 41, which is a retry setting value storage circuit, stores retry setting values SRIs that are uniquely determined for the slave unit. When the retry setting value is encoded and sent from the slave unit, storing the retry setting value SRIs in the encoded state is the same as the retry setting value register 41 in the first embodiment of FIG. .

否定応答付帯情報生成回路43aは、否定応答NACKbが出力されたときに追随して否定応答原因情報NAIおよびリトライ設定値SRIsを多重化して否定応答付帯情報NAINFbを生成しCWバス3へ出力する。否定応答付帯情報生成回路43aは、例えば、スレーブプロトコル制御装置により出力選択制御されるマルチプレクサ61を用いて構成される。否定応答付帯情報NAINFの転送では、一系統の信号線または信号線群により、否定応答原因情報NAIおよびリトライ設定値SRIsがスレーブプロトコル制御回路22により設定された順序にしたがって順次転送される。   When the negative response NACKb is output, the negative response-accompanying information generation circuit 43a multiplexes the negative response cause information NAI and the retry setting value SRIs to generate negative response-accompanying information NAINFb and outputs it to the CW bus 3. The negative response-accompanying information generation circuit 43a is configured by using, for example, a multiplexer 61 whose output is selected and controlled by a slave protocol control device. In the transfer of the negative response supplementary information NAINF, the negative response cause information NAI and the retry set value SRIs are sequentially transferred in accordance with the order set by the slave protocol control circuit 22 by one signal line or signal line group.

または、否定応答付帯情報NAINFを構成する否定応答原因情報NAIおよびリトライ設定値SRIsが複数の系統の信号線または信号線群により別々に転送されるようにしてもよく、このように構成された場合には否定応答付帯情報生成回路43aを省略することができる。   Alternatively, the negative response cause information NAI and the retry set value SRIs constituting the negative response incidental information NAINF may be separately transferred by a plurality of signal lines or signal line groups. The negative response incidental information generation circuit 43a can be omitted.

第2実施形態では、スレーブインタフェース4bからリトライ設定値SRIを含む否定応答付帯情報NAINFbがマスタインタフェース2bに送られ、マスタインタフェース2b内の疑似乱数発生器51で生成された乱数値RNと否定応答付帯情報NAINFbから抽出されたリトライ設定値SRIとを加算して算出したリトライ間隔値RINに基づいて転送要求REQbを再送信するまでのリトライ間隔時間が決定される。この第2実施形態においてもリトライ設定値SRIと乱数値RNとを加算してリトライ間隔値SRIとする点において第1実施形態と同様であるので、効果においても第1実施形態と同様であり、ライブ・ロックの発生を防止することができ、また、ライブ・ロック状態に陥ったとしてもこれを解消することが可能である。また、リトライ設定値SRIはスレーブ装置に固有に設定された値を転送要求したスレーブ装置から送られて使用するので、転送準備に要する時間が大きく異なる種々のスレーブ装置がバスに接続される場合においても、リトライ間隔時間をそれぞれのスレーブ装置に対して適切な範囲に設定することできる。   In the second embodiment, negative response supplementary information NAINFb including the retry set value SRI is sent from the slave interface 4b to the master interface 2b, and the random value RN generated by the pseudo random number generator 51 in the master interface 2b and the negative response supplementary information are provided. The retry interval time until the transfer request REQb is retransmitted is determined based on the retry interval value RIN calculated by adding the retry setting value SRI extracted from the information NAINFb. The second embodiment is also the same as the first embodiment in that the retry setting value SRI and the random value RN are added to obtain the retry interval value SRI. The occurrence of a live lock can be prevented, and even if a live lock state occurs, this can be eliminated. Further, since the retry setting value SRI is sent from the slave device that requested the transfer and is set to a value uniquely set in the slave device, when various slave devices having greatly different transfer preparation times are connected to the bus. In addition, the retry interval time can be set to an appropriate range for each slave device.

第2実施形態では、疑似乱数発生器と加算器とをマスタインタフェース内にのみ持つので、バスに接続するマスタ装置の個数が少なくスレーブ装置の個数が多い構成のバスシステムでは、第1実施形態よりもハードウェア量の増加を少なく抑えることができる。   In the second embodiment, since the pseudo random number generator and the adder are provided only in the master interface, the bus system having a configuration in which the number of master devices connected to the bus is small and the number of slave devices is large is compared with the first embodiment. However, the increase in the amount of hardware can be suppressed.

次に、本発明の第3実施形態について説明する。図7は、第3実施形態のバスシステムのマスタインタフェース2cのブロック図であり、図8は、第3実施形態のバスシステムのスレーブインタフェース4cのブロック図である。バスシステム全体の構成は第1実施形態の図3と同様であるが、第3実施形態では、スレーブインタフェース4c内で乱数値を発生してリトライ設定値と加算してリトライ間隔値を算出し、リトライ間隔値をマスタインタフェース2cへ送る。   Next, a third embodiment of the present invention will be described. FIG. 7 is a block diagram of the master interface 2c of the bus system of the third embodiment, and FIG. 8 is a block diagram of the slave interface 4c of the bus system of the third embodiment. The overall configuration of the bus system is the same as that of FIG. 3 of the first embodiment. In the third embodiment, a random value is generated in the slave interface 4c and added to the retry setting value to calculate a retry interval value. The retry interval value is sent to the master interface 2c.

図7のマスタインタフェース4cにおいて、マスタプロトコル制御回路11は、マスタユニット1からの転送要求およびコマンドを受け、プロトコルに基づいてマスタユニット1とスレーブ装置との間の通信を制御する。リトライ情報抽出回路71は、スレーブインタフェース4cより送信された否定応答付帯情報NAINFbからリトライ間隔値RINを抽出する。   In the master interface 4c of FIG. 7, the master protocol control circuit 11 receives a transfer request and a command from the master unit 1, and controls communication between the master unit 1 and the slave device based on the protocol. The retry information extraction circuit 71 extracts the retry interval value RIN from the negative response supplementary information NAINFb transmitted from the slave interface 4c.

リトライ間隔計数部33は、否定応答NACKbを受信してからのクロックCLKのパルスを計数し、リトライ間隔値RINの個数に達したことを検出してリトライ時間通知信号RTをアクティブレベルにする。リトライ間隔計数部33は、例えば、リトライ間隔値RINを保持するリトライ間隔値レジスタ12と、否定応答NACKbを受信すると計数値をリセットした後にクロックCLKのパルスを入力する毎に計数値をインクリメントしてクロックパルス数を計数するリトライ間隔カウンタ13と、リトライ間隔カウンタ13の計数値がリトライ間隔値RINに一致したことを検出してリトライ時間通知信号RTをアクティブレベルにする比較器14とによって構成される。   The retry interval counter 33 counts the pulses of the clock CLK after receiving the negative response NACKb, detects that the number of retry interval values RIN has been reached, and sets the retry time notification signal RT to the active level. For example, the retry interval counting unit 33 increments the count value every time a pulse of the clock CLK is input after resetting the count value when the retry interval value register 12 holding the retry interval value RIN and the negative response NACKb are received. A retry interval counter 13 that counts the number of clock pulses, and a comparator 14 that detects that the count value of the retry interval counter 13 matches the retry interval value RIN and sets the retry time notification signal RT to an active level. .

リトライ回数計数部34は、マスタユニット1からの転送要求REQmを受信してからの否定応答NACKbの受信回数を計数し、計数値が予め設定された許容リトライ回数PRCよりも大きくなったことを検出してオーバーフロー信号OFをアクティブレベルにする。リトライ回数計数部34は、例えば、予め所定の許容リトライ回数PRCが格納されるにリトライ回数レジスタ15と、マスタユニット1からの転送要求REQmにより計数値をリセットした後に否定応答NACKbが受信される毎にインクリメントするリトライ回数カウンタ16と、計数値がリトライ回数レジスタ15の許容リトライ回数PRCよりも大きい値になったことを検出してオーバーフロー信号OFをアクティブレベルにする比較器17とによって構成される。   The retry count counter 34 counts the number of times of negative acknowledgment NACKb received after receiving the transfer request REQm from the master unit 1, and detects that the count value is larger than the preset allowable retry count PRC. Then, the overflow signal OF is set to the active level. For example, the retry count counting unit 34 resets the count value in response to the retry count register 15 and the transfer request REQm from the master unit 1 when a predetermined allowable retry count PRC is stored in advance, and each time a negative response NACKb is received. And a comparator 17 that detects that the count value has become larger than the allowable retry count PRC of the retry count register 15 and sets the overflow signal OF to an active level.

リトライ要求回路18は、オーバーフロー信号OFがインアクティブレベルにあるときにリトライ時間通知信号RTがアクティブレベルに変化したことを検出した場合には、リトライ起動要求信号RRQをマスタプロトコル制御回路11に送る。リトライ起動要求信号RRQを受信したときには、マスタプロトコル制御回路11は転送要求REQb、コマンドCMDb、アドレス(AD/WDのアドレス部分)を再送信する。バスエラー判定回路19aは、オーバーフロー信号OFがアクティブレベルに変化したことを検出して、バスエラー信号BERmを出力する。また、バスエラー判定回路19aは、否定応答付帯情報NACKbの否定応答原因情報部分を判定し、コマンドがスレーブ装置でサポートされていないなどの原因でリトライしても無駄である場合にもバスエラー信号BERmを出力する。   When the retry request circuit 18 detects that the retry time notification signal RT has changed to the active level when the overflow signal OF is at the inactive level, the retry request circuit 18 sends a retry activation request signal RRQ to the master protocol control circuit 11. When the retry activation request signal RRQ is received, the master protocol control circuit 11 retransmits the transfer request REQb, the command CMDb, and the address (AD / WD address part). The bus error determination circuit 19a detects that the overflow signal OF has changed to an active level, and outputs a bus error signal BERm. Further, the bus error determination circuit 19a determines the negative response cause information portion of the negative response incidental information NACKb, and the bus error signal is used even when the retry is useless because the command is not supported by the slave device. BERm is output.

次に、図8について説明する。スレーブインタフェース4cにおいて、アドレスデコーダ21は、マスタユニット1からマスタインタフェース2cおよびCWバス3を介して転送要求REQbと多重化されたアドレス・ライトデータAD/WDのアドレス部分とを受信し、スレーブユニット4c自身に対する転送要求であればアドレス条件検出信号ACDを出力する。スレーブプロトコル制御回路22は、アドレス条件検出信号ACD、マスタ装置からのコマンドCMDbを受け、プロトコルに基づいてマスタ装置とスレーブユニット5との間の通信を制御する。   Next, FIG. 8 will be described. In the slave interface 4c, the address decoder 21 receives from the master unit 1 via the master interface 2c and the CW bus 3 the address / write data AD / WD multiplexed with the transfer request REQb, and receives the slave unit 4c. If it is a transfer request to itself, an address condition detection signal ACD is output. The slave protocol control circuit 22 receives the address condition detection signal ACD and the command CMDb from the master device, and controls communication between the master device and the slave unit 5 based on the protocol.

スレーブ状態保持回路23は、スレーブユニット5が転送要求を処理可能な状態であるか、または処理不能なビジー状態にあるかを示すスレーブ状態情報を入力し保持する。応答条件判定回路24は、アドレス条件検出信号ACD、コマンドCMDb、スレーブ状態保持回路23に保持されたスレーブ状態情報から転送要求REQbに応答するか否かを判断し、応答可能なときはCWバス3に確認応答ACKbを出力し、応答不可能なときは否定応答NACKbを出力する。   The slave state holding circuit 23 inputs and holds slave state information indicating whether the slave unit 5 is in a state where it can process a transfer request or is in a busy state where it cannot be processed. The response condition determination circuit 24 determines whether or not to respond to the transfer request REQb from the address condition detection signal ACD, the command CMDb, and the slave state information held in the slave state holding circuit 23, and when the response is possible, the CW bus 3 The confirmation response ACKb is output to the terminal, and when the response is impossible, the negative response NACKb is output.

否定応答原因情報生成回路25は、スレーブ状態保持回路23に保持されたスレーブ状態情報を参照して否定応答NACKbを返信する原因に関する情報を生成する。   The negative response cause information generation circuit 25 refers to the slave state information held in the slave state holding circuit 23 and generates information related to the cause of returning the negative response NACKb.

リトライ設定値格納回路であるリトライ設定値レジスタ41は、スレーブユニットに固有に定められたリトライ設定値SRIsを格納する。第3実施形態ではリトライ設定値SRIsには実際の数値とし、コード化されたものは使用しない。   A retry setting value register 41, which is a retry setting value storage circuit, stores retry setting values SRIs that are uniquely determined for the slave unit. In the third embodiment, the retry setting value SRIs is an actual numerical value, and the coded value is not used.

疑似乱数発生器42は、所定の信号に起動されて乱数値RNsを生成する。図8では、所定の信号として否定応答NACKbを用いているが、否定応答NACKbに替えてアドレスデコーダ21の出力であるアドレス条件検出信号ACDを用いても良い。アドレス条件検出信号ACDを用いた場合には、応答条件判定回路24からの否定応答NACKbの発信に先行して乱数値RNsの生成を行うことができるので、疑似乱数発生器42には高速動作が要求されないという利点がある。加算器81は、リトライ設定値SRIsと乱数値RNsを加算してリトライ間隔値RINsを生成する。   The pseudo random number generator 42 is activated by a predetermined signal to generate a random value RNs. In FIG. 8, the negative response NACKb is used as the predetermined signal, but the address condition detection signal ACD that is the output of the address decoder 21 may be used instead of the negative response NACKb. When the address condition detection signal ACD is used, since the random number value RNs can be generated prior to the transmission of the negative response NACKb from the response condition determination circuit 24, the pseudo random number generator 42 operates at high speed. There is an advantage that it is not required. The adder 81 adds the retry setting value SRIs and the random value RNs to generate a retry interval value RINs.

否定応答付帯情報生成回路82は、否定応答NACKbが出力されたときに追随して否定応答原因情報NAIおよびリトライ間隔値RINsを多重化して否定応答付帯情報NAINFbを生成しCWバス3へ出力する。否定応答付帯情報生成回路82は、例えば、スレーブプロトコル制御装置により出力選択制御されるマルチプレクサ83を用いて構成される。否定応答付帯情報NAINFの転送では、一系統の信号線または信号線群により、否定応答原因情報NAIおよびリトライ間隔値RINsがスレーブプロトコル制御回路22により設定された順序にしたがって順次転送される。   When the negative response NACKb is output, the negative response-accompanying information generation circuit 82 multiplexes the negative response cause information NAI and the retry interval value RINs to generate negative response-accompanying information NAINFb and outputs it to the CW bus 3. The negative response-accompanying information generation circuit 82 is configured using, for example, a multiplexer 83 whose output is selected and controlled by a slave protocol control device. In the transfer of the negative response supplementary information NAINF, the negative response cause information NAI and the retry interval value RINs are sequentially transferred according to the order set by the slave protocol control circuit 22 by a single signal line or signal line group.

または、否定応答付帯情報NAINFを構成する否定応答原因情報NAIおよびリトライ間隔値RINsが複数の系統の信号線または信号線群により別々に転送されるようにしてもよく、このように構成された場合には否定応答付帯情報生成回路82を省略することができる。   Alternatively, the negative response cause information NAI and the retry interval value RINs constituting the negative response incidental information NAINF may be separately transferred by a plurality of signal lines or signal line groups. The negative response incidental information generation circuit 82 can be omitted.

第3実施形態では、スレーブインタフェース4c内で乱数値RNとリトライ設定値SRIとを加算してリトライ間隔値RINが算出され、マスタインタフェース2cに送られて、リトライ間隔値RINに基づいて転送要求REQbを再送信するまでのリトライ間隔時間が決定される。第3実施形態においてもリトライ設定値SRIと乱数値RNとを加算してリトライ間隔値SRIとする点では第1実施形態と同様であるので、効果においても第1実施形態と同様であり、ライブ・ロックの発生を防止することができ、また、ライブ・ロック状態に陥ったとしてもこれを解消することが可能である。また、リトライ設定値SRIはスレーブ装置に固有に設定された値を使用するので、転送準備に要する時間が大きく異なる種々のスレーブ装置がバスに接続される場合においても、リトライ間隔時間をそれぞれのスレーブ装置に対して適切な範囲に設定することできる。   In the third embodiment, the retry interval value RIN is calculated by adding the random value RN and the retry setting value SRI in the slave interface 4c, and is sent to the master interface 2c, and is transferred to the transfer request REQb based on the retry interval value RIN. The retry interval time until retransmission is determined. The third embodiment is the same as the first embodiment in that the retry setting value SRI and the random number value RN are added to obtain the retry interval value SRI. Therefore, the effect is the same as that of the first embodiment. -It is possible to prevent the occurrence of lock, and even if it falls into a live lock state, it can be eliminated. In addition, since the retry setting value SRI uses a value uniquely set in the slave device, even when various slave devices having greatly different preparation times for transfer are connected to the bus, the retry interval time is set for each slave device. An appropriate range can be set for the device.

第3実施形態では、疑似乱数発生器と加算器とをスレーブインタフェース内にのみ持つので、バスに接続するスレーブ装置の個数が少なくマスタ装置の個数が多い構成のバスシステムでは、第1実施形態よりもハードウェア量の増加を少なく抑えることができる。   In the third embodiment, since the pseudo random number generator and the adder are provided only in the slave interface, the bus system having a configuration in which the number of slave devices connected to the bus is small and the number of master devices is large than that in the first embodiment. However, the increase in the amount of hardware can be suppressed.

なお、図5および図7では、リトライ間隔計数部33を、リトライ間隔値レジスタ12、リトライ間隔カウンタ13および比較器14で構成しているが、図1の場合と同様に、リトライ間隔カウンタ13に替えて否定応答NACKbを受信したときに加算器32からリトライ間隔値をプリセットしクロックパルス毎にデクリメントするデクリメント型リトライ間隔カウンタとし、比較器14に替えてデクリメントカウンタの計数値が0になったことを検出してリトライ時間通知信号RTを出力するゼロ比較器としても良い。リトライ間隔計数部33をこのように構成することにより、リトライ間隔値レジスタが不要になり、またゼロ比較器の回路が簡単化できる。   In FIG. 5 and FIG. 7, the retry interval counter 33 is constituted by the retry interval value register 12, the retry interval counter 13, and the comparator 14. However, as in the case of FIG. When the negative response NACKb is received instead, the retry interval value is preset from the adder 32 and decremented every clock pulse, and the count value of the decrement counter becomes 0 instead of the comparator 14 And a zero comparator that outputs a retry time notification signal RT. By configuring the retry interval counting unit 33 in this way, the retry interval value register becomes unnecessary, and the circuit of the zero comparator can be simplified.

同様に、図5および図7では、リトライ回数計数部34を、リトライ回数レジスタ15、リトライ回数カウンタ16および比較器17で構成しているが、図1の場合と同様に、リトライ間隔カウンタ13に替えてマスタユニットからの転送要求REQmを受信したときに所定の許容リトライ回数PRCに1を加えた値をプリセットし否定応答NACKbを受信する毎にデクリメントするデクリメント型リトライ回数カウンタとし、比較器17に替えてデクリメントカウンタの計数値が0になったことを検出してオーバーフロー信号OFを出力するゼロ比較器としても良い。リトライ回数計数部34をこのように構成することにより、リトライ回数レジスタが不要になり、またゼロ比較器の回路が簡単化できる。   Similarly, in FIG. 5 and FIG. 7, the retry number counting unit 34 is configured by the retry number register 15, the retry number counter 16 and the comparator 17, but in the same manner as in FIG. Instead, when a transfer request REQm from the master unit is received, a value obtained by adding 1 to a predetermined allowable retry count PRC is preset, and a decrement type retry count counter is decremented each time a negative response NACKb is received. Alternatively, it may be a zero comparator that detects that the count value of the decrement counter is 0 and outputs the overflow signal OF. By configuring the retry number counting unit 34 in this way, the retry number register becomes unnecessary, and the circuit of the zero comparator can be simplified.

図9は、本発明のバスシステムを搭載した半導体集積回路の一例を示す図である。半導体集積回路101は内部に本発明のバスシステム100を搭載し、バスシステム100は、CPUであるバスマスタ1−1がマスタインタフェース2−1を介してCWバス3に接続され、DMA(Direct Memory Access)であるバスマスタ2−2がマスタインタフェース2−2を介してCWバス3に接続され、メモリであるスレーブユニット5−1がスレーブインタフェース4−1を介してCWバス3に接続され、外部との通信用I/Oであるスレーブユニット5−2がスレーブインタフェース4−2を介してCWバス3に接続されている。7は調停回路で、6はRDバスである。バスシステム100を備えることにより、半導体集積回路101においては、ライブ・ロックの発生を未然に防止することができ、また、ライブ・ロック状態が生じたとしてもこれを解消することができる。   FIG. 9 is a diagram showing an example of a semiconductor integrated circuit equipped with the bus system of the present invention. The semiconductor integrated circuit 101 includes the bus system 100 of the present invention therein. In the bus system 100, a bus master 1-1, which is a CPU, is connected to a CW bus 3 via a master interface 2-1, and a DMA (Direct Memory Access). ) Is connected to the CW bus 3 via the master interface 2-2, and the slave unit 5-1 is connected to the CW bus 3 via the slave interface 4-1, A slave unit 5-2 that is a communication I / O is connected to the CW bus 3 via a slave interface 4-2. 7 is an arbitration circuit, and 6 is an RD bus. By providing the bus system 100, in the semiconductor integrated circuit 101, the occurrence of live lock can be prevented in advance, and even if a live lock state occurs, this can be eliminated.

図10は、本発明のバスシステムを有する情報処理装置の一例を示す図である。情報処理装置110は内部に本発明のバスシステム100aを有し、バスシステム100aは、CWバス3に接続するマスタインタフェース2−1を含むマイクロコンピュータチップ111と、CWバス3に接続するマスタインタフェース2−2を含むDMAチップ112と、CWバス3に接続するスレーブインタフェース4−1を含むメモリチップ113と、CWバス3に接続に接続するスレーブインタフェース4−2を含む通信用I/Oチップを備えて構成されている。図9と同様に、7は調停回路で、6はRDバスである。バスシステム100aを備えることにより、情報処理装置110においては、ライブ・ロックの発生を未然に防止することができ、また、ライブ・ロック状態が生じたとしてもこれを解消することができる。   FIG. 10 is a diagram showing an example of an information processing apparatus having the bus system of the present invention. The information processing apparatus 110 includes a bus system 100 a according to the present invention. The bus system 100 a includes a microcomputer chip 111 including a master interface 2-1 connected to the CW bus 3 and a master interface 2 connected to the CW bus 3. -2 including a DMA chip 112, a memory chip 113 including a slave interface 4-1 connected to the CW bus 3, and a communication I / O chip including a slave interface 4-2 connected to the CW bus 3. Configured. As in FIG. 9, 7 is an arbitration circuit, and 6 is an RD bus. By providing the bus system 100a, the information processing apparatus 110 can prevent the occurrence of a live lock and can eliminate the occurrence of a live lock state.

図11は、本発明のバスシステムを搭載した半導体集積回路を有する情報処理装置の一例を示す図である。情報処理装置120は、本発明のバスシステム100を搭載した半導体集積回路101aと、外部バス122と、外部メモリ123とを有して構成されている。バスシステム100はバスブリッジ121を介して外部バス122と接続され、バスシステム100内のCPU(図9参照)はバスシステム内のCWバス3およびRDバス6と、バスブリッジ121と、外部バス122とを介して外部メモリ123にアクセスできる構成となっている。この情報処理装置120においても半導体集積回路101aがバスシステム100aを備えていることにより、ライブ・ロックの発生を未然に防止することができ、また、ライブ・ロック状態が生じたとしてもこれを解消することができる。   FIG. 11 is a diagram showing an example of an information processing apparatus having a semiconductor integrated circuit on which the bus system of the present invention is mounted. The information processing apparatus 120 includes a semiconductor integrated circuit 101a on which the bus system 100 of the present invention is mounted, an external bus 122, and an external memory 123. The bus system 100 is connected to an external bus 122 via a bus bridge 121, and a CPU (see FIG. 9) in the bus system 100 is connected to the CW bus 3 and the RD bus 6, the bus bridge 121, and the external bus 122 in the bus system. The external memory 123 can be accessed via Also in this information processing apparatus 120, since the semiconductor integrated circuit 101a includes the bus system 100a, the occurrence of a live lock can be prevented in advance, and even if a live lock state occurs, this can be eliminated. can do.

本発明の第1実施形態のマスタインタフェースのブロック図である。It is a block diagram of the master interface of 1st Embodiment of this invention. 本発明の第1実施形態のスレーブインタフェースのブロック図である。It is a block diagram of the slave interface of 1st Embodiment of this invention. 本発明のバスシステムの一例を示す図である。It is a figure which shows an example of the bus system of this invention. 第1実施形態の動作シーケンス図である。It is an operation | movement sequence diagram of 1st Embodiment. 本発明の第2実施形態のマスタインタフェースのブロック図である。It is a block diagram of the master interface of 2nd Embodiment of this invention. 本発明の第2実施形態のスレーブインタフェースのブロック図である。It is a block diagram of the slave interface of 2nd Embodiment of this invention. 本発明の第3実施形態のマスタインタフェースのブロック図である。It is a block diagram of the master interface of 3rd Embodiment of this invention. 本発明の第3実施形態のスレーブインタフェースのブロック図である。It is a block diagram of the slave interface of 3rd Embodiment of this invention. 本発明を搭載した半導体集積回路の一例を示す図である。It is a figure which shows an example of the semiconductor integrated circuit carrying this invention. 本発明を有する情報処理装置の一例を示す図である。It is a figure which shows an example of the information processing apparatus which has this invention. 本発明を搭載した半導体集積回路を有する情報処理装置の一例を示す図である。It is a figure which shows an example of the information processing apparatus which has a semiconductor integrated circuit carrying this invention. 従来のバスシステムの一例を示す図である。It is a figure which shows an example of the conventional bus system. 従来のバスシステムにおけるマスタインタフェースのブロック図である。It is a block diagram of the master interface in the conventional bus system. (a)は従来のバスシステムの動作シーケンス図であり、(b)は動作タイミング図である。(A) is an operation | movement sequence diagram of the conventional bus system, (b) is an operation | movement timing diagram. ライブ・ロックの発生を示す動作シーケンス図である。It is an operation | movement sequence diagram which shows generation | occurrence | production of a live lock.

符号の説明Explanation of symbols

1 マスタユニット
2,2a,2b,2c マスタインタフェース
3 CWバス
4,4a,4b,4c スレーブインタフェース
5 スレーブユニット
6 RDバス
7 調停回路
11 マスタプロトコル制御回路
18 リトライ要求回路
19,19a バスエラー判定回路
21 アドレスデコーダ
22 スレーブプロトコル制御回路
23 スレーブ状態保持回路
24 応答条件判定回路
25 否定応答原因情報生成回路
31,31a,71 リトライ情報抽出回路
32,81 加算器
33 リトライ間隔計数部
34 リトライ回数計数部
41 リトライ設定値レジスタ
42,51 疑似乱数発生器
43,43a,82 否定応答付帯情報生成回路
100,100a バスシステム
101,101a 半導体集積回路
110,120 情報処理装置
111 マイクロコンピュータチップ
112 DMAチップ
113 メモリチップ
114 通信処理チップ
121 バスブリッジ
122 外部バス
123 外部メモリ
REQm,REQb,REQs 転送要求
ACKb 確認応答
NACKb 否定応答
NAINFb 否定応答付帯情報
1 Master unit 2, 2a, 2b, 2c Master interface 3 CW bus 4, 4a, 4b, 4c Slave interface 5 Slave unit 6 RD bus 7 Arbitration circuit 11 Master protocol control circuit 18 Retry request circuit 19, 19a Bus error determination circuit 21 Address decoder 22 Slave protocol control circuit 23 Slave state holding circuit 24 Response condition determination circuit 25 Negative response cause information generation circuit 31, 31a, 71 Retry information extraction circuit 32, 81 Adder 33 Retry interval counter 34 Retry count counter 41 Retry Set value register 42, 51 Pseudo random number generator 43, 43a, 82 Negative response supplementary information generation circuit 100, 100a Bus system 101, 101a Semiconductor integrated circuit 110, 120 Information processing device 111 Microphone Computer chips 112 DMA chip 113 memory chips 114 communication processing chip 121 bus bridge 122 external bus 123 external memory REQm, REQb, REQs transfer request ACKb acknowledgment NACKb negative acknowledgment NAINFb negative acknowledgment supplementary information

Claims (9)

スレーブユニットとバスとの間に設けられ、前記スレーブユニットに固有に定められたリトライ設定値を格納するリトライ設定値格納回路と、擬似的に乱数を生成する疑似乱数発生器とを備え、マスタユニットからの転送要求への応答を拒否するときに否定応答を送信するとともに前記リトライ設定値と前記疑似乱数発生器で生成した乱数値とを含む否定応答付帯情報を前記バスを介してマスタユニットへ送信するスレーブインタフェースと、
マスタユニットと前記バスとの間に設けられ、前記否定応答付帯情報から抽出された前記リトライ設定値と前記乱数値とを加算する加算器と、加算結果をリトライ間隔値として格納するリトライ間隔値格納回路とを備え、前記リトライ間隔値に基づいて転送要求を再送信するまでの時間を決定するマスタインターフェースと、
を有することを特徴とするバスシステム。
A master unit, which is provided between a slave unit and a bus and includes a retry setting value storage circuit that stores a retry setting value that is uniquely determined by the slave unit, and a pseudo-random number generator that generates pseudo-random numbers. A negative response is transmitted when a response to a transfer request from is rejected, and a negative response supplementary information including the retry setting value and a random value generated by the pseudo random number generator is transmitted to the master unit via the bus. Slave interface to
An adder that is provided between the master unit and the bus and adds the retry setting value extracted from the negative response supplementary information and the random number value, and a retry interval value storage that stores the addition result as a retry interval value A master interface for determining a time until a transfer request is retransmitted based on the retry interval value;
A bus system comprising:
前記乱数値は、スレーブインタフェース内で否定応答が発生する毎に疑似乱数発生器により更新されることを特徴とする請求項1記載のバスシステム。   2. The bus system according to claim 1, wherein the random number value is updated by a pseudo random number generator every time a negative response is generated in the slave interface. スレーブユニットとバスとの間に設けられ、前記スレーブユニットに固有に定められたリトライ設定値を格納するリトライ設定値格納回路を備え、マスタユニットからの転送要求への応答を拒否するときに否定応答を送信するとともに前記リトライ設定値を含む否定応答付帯情報を前記バスを介してマスタユニットへ送信するスレーブインタフェースと、
マスタユニットと前記バスとの間に設けられ擬似的に乱数を生成する疑似乱数発生器と、生成された乱数値と前記否定応答付帯情報から抽出された前記リトライ設定値とを加算する加算器と、加算結果をリトライ間隔値として格納するリトライ間隔値格納回路とを備え、前記リトライ間隔値に基づいて転送要求を再送信するまでの時間を決定するマスタインターフェースと、
を有することを特徴とするバスシステム。
Provided between the slave unit and the bus and provided with a retry setting value storage circuit for storing a retry setting value uniquely determined for the slave unit, and a negative response when refusing a response to a transfer request from the master unit And a slave interface for transmitting negative acknowledgment incidental information including the retry setting value to the master unit via the bus, and
A pseudo-random number generator that is provided between the master unit and the bus and generates a pseudo-random number; and an adder that adds the generated random number value and the retry setting value extracted from the negative response supplementary information; A master interface that determines a time until a transfer request is retransmitted based on the retry interval value, and a retry interval value storage circuit that stores the addition result as a retry interval value;
A bus system comprising:
前記乱数値は、マスタインタフェース内で否定応答が受信される毎に疑似乱数発生器により更新されることを特徴とする請求項3記載のバスシステム。 4. The bus system according to claim 3 , wherein the random number value is updated by a pseudo random number generator every time a negative response is received in the master interface. 前記乱数値は、マスタインタフェースからスレーブユニットへ転送要求を出力する毎に疑似乱数発生器により更新されることを特徴とする請求項3記載のバスシステム。 4. The bus system according to claim 3 , wherein the random number value is updated by a pseudo random number generator every time a transfer request is output from a master interface to a slave unit. スレーブユニットとバスとの間に設けられ、
マスタユニットからの転送要求とアドレスとを前記バスを介して受信し前記スレーブユニットに対する転送要求であればアドレス条件検出信号を出力するアドレスデコーダと、
前記アドレス条件検出信号、マスタユニットからのコマンドおよび前記スレーブユニットの動作状態からマスタユニットからの転送要求に応答するか否かを判断し応答可能なときは前記バスに確認応答を出力し応答不可能なときは前記バスに否定応答を出力する応答条件判定回路と、
前記スレーブユニットに固有に定められたリトライ設定値を格納するリトライ設定値格納回路と、
前記否定応答が出力されたときに追随して前記リトライ設定値を含む否定応答付帯情報を前記バスに出力する否定応答付帯情報生成回路と、を備えるスレーブインタフェースと、
前記バスとマスタユニットとの間に設けられ、
前記バスから前記否定応答付帯情報を入力し前記リトライ設定値を抽出して出力するリトライ情報抽出回路と、
所定の信号に起動されて擬似的に乱数を生成する疑似乱数発生器と、
前記リトライ設定値と前記疑似乱数発生器により生成された乱数値とを加算してリトライ間隔値を算出する加算器と、
前記否定応答の受信によりクロックパルスの計数を開始し計数値が前記リトライ間隔値と等しくなったことを検出してリトライ時間通知信号を出力するリトライ間隔計数部と、
マスタユニットからの転送要求の受信により前記否定応答の受信回数の計数を開始し計数値が予め設定された許容リトライ回数より大きくなったことを検出してオーバーフロー信号を出力するリトライ回数計数部と、
前記オーバーフロー信号がインアクティブレベルで前記リトライ時間通知信号がアクティブレベルとなったことを検出して転送要求の再送信を起動するリトライ要求回路と、を備えるマスタインタフェースと、
を有することを特徴とするバスシステム。
Provided between the slave unit and the bus,
An address decoder that receives a transfer request and an address from the master unit via the bus and outputs an address condition detection signal if the transfer request is to the slave unit;
Determine whether to respond to the transfer request from the master unit based on the address condition detection signal, command from the master unit and the operating state of the slave unit. A response condition determination circuit that outputs a negative response to the bus,
A retry setting value storage circuit for storing a retry setting value uniquely determined for the slave unit;
A slave interface comprising a negative response incidental information generation circuit for outputting negative acknowledgment incidental information including the retry setting value to the bus following the negative response output;
Provided between the bus and the master unit,
A retry information extraction circuit that inputs the negative response supplementary information from the bus, extracts the retry setting value, and outputs the retry setting value;
A pseudo random number generator that is activated by a predetermined signal to generate a pseudo random number;
An adder for calculating a retry interval value by adding the retry setting value and the random value generated by the pseudo-random number generator;
A retry interval counter that starts counting clock pulses by receiving the negative response, detects that the count value is equal to the retry interval value, and outputs a retry time notification signal;
A retry count counter that starts counting the number of times the negative response is received upon reception of a transfer request from the master unit, detects that the count value is greater than a preset allowable retry count, and outputs an overflow signal;
A retry request circuit that detects that the retry time notification signal has become an active level when the overflow signal is in an inactive level, and a retry request circuit that activates retransmission of a transfer request; and
A bus system comprising:
前記リトライ設定値は、コード化されたリトライ設定値であり、
前記リトライ情報抽出回路は、前記コード化されたリトライ設定値のデコード機能を有することを特徴とする請求項6記載のバスシステム。
The retry setting value is a coded retry setting value,
7. The bus system according to claim 6, wherein the retry information extraction circuit has a decoding function of the coded retry setting value.
前記疑似乱数発生器を起動する所定の信号が、
マスタインタフェースが受信した否定応答であることを特徴とする請求項6または7記載のバスシステム。
A predetermined signal for activating the pseudo-random number generator is
8. The bus system according to claim 6, wherein the master interface is a negative response received by the master interface.
前記疑似乱数発生器を起動する所定の信号が、
マスタインタフェースがバスへ出力するスレーブユニットへの転送要求であることを特徴とする請求項6または7記載のバスシステム。
A predetermined signal for activating the pseudo-random number generator is
8. The bus system according to claim 6, wherein the master interface is a transfer request to a slave unit output to the bus.
JP2005062244A 2005-03-07 2005-03-07 Bus system Expired - Fee Related JP4152387B2 (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
JP2005062244A JP4152387B2 (en) 2005-03-07 2005-03-07 Bus system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
JP2005062244A JP4152387B2 (en) 2005-03-07 2005-03-07 Bus system

Related Parent Applications (1)

Application Number Title Priority Date Filing Date
JP2001362855A Division JP4063529B2 (en) 2001-11-28 2001-11-28 Bus system and retry method

Publications (2)

Publication Number Publication Date
JP2005196808A JP2005196808A (en) 2005-07-21
JP4152387B2 true JP4152387B2 (en) 2008-09-17

Family

ID=34824815

Family Applications (1)

Application Number Title Priority Date Filing Date
JP2005062244A Expired - Fee Related JP4152387B2 (en) 2005-03-07 2005-03-07 Bus system

Country Status (1)

Country Link
JP (1) JP4152387B2 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
TWI617164B (en) * 2012-10-19 2018-03-01 菲爾卻德半導體公司 Apparatus and method for operating and switching a single conductor interface

Also Published As

Publication number Publication date
JP2005196808A (en) 2005-07-21

Similar Documents

Publication Publication Date Title
JP4063529B2 (en) Bus system and retry method
US4458314A (en) Circuitry for allocating access to a demand shared bus
KR100267130B1 (en) Pci bus system
JP2004318901A (en) High-speed control and data bus system mutually between data processing modules
EP2975529B1 (en) Requests and data handling in a bus architecture
WO2016127552A1 (en) Direct memory access (dma) controller and data transmission method
JP5968119B2 (en) Communication system with cascade connection
JPH0786863B2 (en) Processor access control device for multi-processor system
US8386908B2 (en) Data transmission methods and universal serial bus host controllers utilizing the same
JP2015530679A (en) Method and apparatus using high efficiency atomic operations
JP4152387B2 (en) Bus system
JP4104939B2 (en) Multiprocessor system
US20040054843A1 (en) Configuration and method having a first device and a second device connected to the first device through a cross bar
JP2000276437A (en) Dma controller
WO2012093475A1 (en) Information transfer device and information transfer method of information transfer device
JPH08123770A (en) Data communication control equipment
JPH0728748A (en) Bus control mechanism and computer system
JP5334173B2 (en) Data transfer system and retry control method
JP2533923B2 (en) Storage controller
JP6339331B2 (en) Information processing apparatus and interface control method for controlling interface
KR100666950B1 (en) Multiple memory access system and method for packet processing
JP2643776B2 (en) Arbiter device and arbiter method
JP2003281087A (en) Memory target device and data transfer system
KR0138063B1 (en) Inter processor communication apparatus of broad circuit distributing system
JP2008047033A (en) Controller and control method

Legal Events

Date Code Title Description
RD01 Notification of change of attorney

Free format text: JAPANESE INTERMEDIATE CODE: A7421

Effective date: 20070703

A131 Notification of reasons for refusal

Free format text: JAPANESE INTERMEDIATE CODE: A131

Effective date: 20080311

A521 Written amendment

Free format text: JAPANESE INTERMEDIATE CODE: A523

Effective date: 20080509

TRDD Decision of grant or rejection written
A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

Effective date: 20080603

A01 Written decision to grant a patent or to grant a registration (utility model)

Free format text: JAPANESE INTERMEDIATE CODE: A01

A61 First payment of annual fees (during grant procedure)

Free format text: JAPANESE INTERMEDIATE CODE: A61

Effective date: 20080701

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: 20110711

Year of fee payment: 3

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

S533 Written request for registration of change of name

Free format text: JAPANESE INTERMEDIATE CODE: R313533

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20110711

Year of fee payment: 3

R350 Written notification of registration of transfer

Free format text: JAPANESE INTERMEDIATE CODE: R350

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20120711

Year of fee payment: 4

FPAY Renewal fee payment (event date is renewal date of database)

Free format text: PAYMENT UNTIL: 20130711

Year of fee payment: 5

LAPS Cancellation because of no payment of annual fees