JP2006129125A - Asynchronous packet communication method and asynchronous packet communication equipment - Google Patents
Asynchronous packet communication method and asynchronous packet communication equipment Download PDFInfo
- Publication number
- JP2006129125A JP2006129125A JP2004315399A JP2004315399A JP2006129125A JP 2006129125 A JP2006129125 A JP 2006129125A JP 2004315399 A JP2004315399 A JP 2004315399A JP 2004315399 A JP2004315399 A JP 2004315399A JP 2006129125 A JP2006129125 A JP 2006129125A
- Authority
- JP
- Japan
- Prior art keywords
- asynchronous packet
- packet communication
- retry
- transmission
- request
- Prior art date
- Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
- Pending
Links
Images
Landscapes
- Communication Control (AREA)
Abstract
Description
この発明は、非同期パケット通信方法及び非同期パケット通信装置に関し、例えば、高速ディジタルインターフェースであるIEEE1394等において利用される。 The present invention relates to an asynchronous packet communication method and an asynchronous packet communication apparatus, and is used in, for example, IEEE 1394, which is a high-speed digital interface.
IEEE1394等においては、リンク層で非同期パケットの送信を行う(特許文献1,特許文献2参照)。送信エラー時のリトライ処理はトランザクション層が担当しており、リトライ間隔は適当な値で固定であった。
ところで、通信する相手機器の状態によっては、毎回同じ数だけ再送信を行った後、通信相手の正常受信を確認できる場合がある。この場合、ソフトウェアで再送処理を行っているため、リトライ回数の分だけ、ソフトウェアの負担が増大するものとなっていた。 By the way, depending on the state of the counterpart device with which it communicates, it may be possible to confirm normal reception of the communication partner after performing the same number of retransmissions each time. In this case, since the retransmission process is performed by software, the software load increases by the number of retries.
この発明は、上記の事情に鑑み、非同期パケット通信における要求やリトライ要求によるシステム負担を軽減することができる非同期パケット通信方法及び非同期パケット通信装置を提供することを目的とする。 In view of the above circumstances, an object of the present invention is to provide an asynchronous packet communication method and an asynchronous packet communication device that can reduce a system burden due to a request or a retry request in asynchronous packet communication.
この発明の非同期パケット通信方式は、上記課題を解決するために、非同期でパケット通信を行う方法において、エラー発生時の要求のリトライ間隔をエラー発生回数に応じて段階的に長くすることを特徴とする。また、この発明の非同期パケット通信装置は、非同期でパケット通信を行う装置において、エラー発生回数が多いほど大きな数値を出力する手段と、エラー発生時の要求のリトライ間隔を前記数値に基づいて段階的に長く設定する手段と、を備えたことを特徴とする。かかる構成であれば、リトライを直ちに何度も行うのではなく、また、一定時間の待機でもなく、待機時間を段階的に長くしていく処理となるので、リトライ回数を少なくしつつ、要求が受け入れられるタイミングを逸してしまうといった事態を少なくできることになる。 In order to solve the above-described problem, the asynchronous packet communication method of the present invention is characterized in that, in the method of performing asynchronous packet communication, the retry interval of a request when an error occurs is increased stepwise according to the number of error occurrences. To do. The asynchronous packet communication device according to the present invention is a device for performing packet communication asynchronously, wherein means for outputting a larger numerical value as the number of error occurrences is larger, and a retry interval of a request when an error occurs is stepped based on the numerical value. And a means for setting a long time. In such a configuration, the retry is not performed immediately and many times, and it is not a waiting for a fixed time, but the processing is to gradually increase the waiting time. It is possible to reduce the situation where the timing of acceptance is lost.
また、この発明の非同期パケット通信方法は、非同期でパケット通信を行う方法において、要求の間隔をノード数が多いほど長くすることを特徴とする。また、この発明の非同期パケット通信装置は、非同期でパケット通信を行う装置において、通信バス上のノード数を取得する手段と、ノード数が多いほど大きな数値を出力する手段と、要求の間隔を前記数値に基づいて長く設定する手段と、を備えたことを特徴とする。かかる構成であれば、多くの接続機器から一斉に集中的に要求が発生するのを回避することができ、システム負担が軽減される。 The asynchronous packet communication method of the present invention is a method for performing asynchronous packet communication, wherein the request interval is increased as the number of nodes is increased. Further, the asynchronous packet communication device of the present invention is a device for performing packet communication asynchronously, a means for obtaining the number of nodes on the communication bus, a means for outputting a larger numerical value as the number of nodes increases, and a request interval. And a means for setting a long time based on a numerical value. With such a configuration, it is possible to avoid intensive requests from many connected devices all at once, reducing the system burden.
上記の非同期パケット通信方法及び装置において、通信処理をIEEE1394規格に基づいて行うこととしてもよい。 In the above asynchronous packet communication method and apparatus, communication processing may be performed based on the IEEE 1394 standard.
この発明によれば、非同期パケット通信における要求やリトライ要求によるシステム負担を軽減することができるという効果を奏する。 According to the present invention, there is an effect that it is possible to reduce a system load due to a request or a retry request in asynchronous packet communication.
以下、この発明の実施形態のディジタル放送受信装置を図1乃至図7に基づいて説明する。なお、この実施形態では、IEEE1394による非同期パケット通信に本発明を適用することとし、また、シングルフェーズリトライモードを前提として説明していくこととする。 A digital broadcast receiver according to an embodiment of the present invention will be described below with reference to FIGS. In this embodiment, the present invention is applied to asynchronous packet communication based on IEEE 1394 and will be described on the assumption of a single-phase retry mode.
まず、図1にIEEE1394モジュールを構成する一般的なハードウェア構成例を示す。ROM1にはIEEE1394ソフトウェアが格納されている。電源投入後に、ROM1に格納されているIEEE1394ソフトウェアがRAM3に展開され、この展開されたIEEE1394ソフトウェアをマイコン(マイクロコンピュータ)2が実行する。LINKチップ4はIEEEStd1394−1995で規定されているリンク機能を実装している。PHYチップ5はIEEEStd1394−1995で規定されている物理層を実装している。LINKチップ4とPHYチップ5を統合してワンチップ化している場合もある。1394コネクタ6に1394ケーブルを接続することで1394モジュールは1394バスに接続される。IEEE1394ソフトウェアのリンク層は、マイコンのアドレス空間にメモリマップされたLINKチップ4にアクセスして、非同期パケットの送受信などを行う。
First, FIG. 1 shows an example of a general hardware configuration that constitutes an IEEE 1394 module. The
図2にAV(オーディオ・ビジュアル)系IEEE1394のプロトコルスタックの一例を示す。この図における物理層は1394機能を搭載したPHYチップ5が担当する。リンク層は1394機能を搭載したLINKチップ4及びドライバに相当する。このリンク層を構成するリンクドライバは、非同期パケットの送受信部、LINKチップ4からの各種状態取得(ノードID取得など)、イベント通知(バスリセット発生通知など)を行う。トランザクション層ではリクエスト送信とレスポンス受信、或いはリクエスト受信とレスポンス送信のトランザクションラベルによる関連付け処理、パケット送信時に正常系Ackパケットを受信できなかった時の再送信処理を行う。
FIG. 2 shows an example of an AV (audio / visual) IEEE 1394 protocol stack. The physical layer in this figure is handled by the
シリアルバスマネジメント(SBM)層は、自機器のGUID(VendorIDやChipID)や製品名をテキスト表示するConfiguration−ROMを実装しており、他機器から問い合わせがあれば応答する。また、SBM層には、アイソクロナスリソースマネージャ(IRM)やバスマネージャ(BM)が含まれる。IRMは、1394バス上のアイソクロナスパケットのチャンネル管理や帯域管理を行う。BMは、バスリセット時にトポロジーマップやスピードマップを作成し、他機器からの問い合わせに応答する。FCP(Function Control Protocol)層は、IEC61883で規格化されているAVコマンド送信とAVレスポンス受信などの処理を行う。 The serial bus management (SBM) layer implements Configuration-ROM that displays the GUID (VendorID and ChipID) and product name of the device itself, and responds if there is an inquiry from another device. The SBM layer includes an isochronous resource manager (IRM) and a bus manager (BM). The IRM performs channel management and bandwidth management of isochronous packets on the 1394 bus. The BM creates a topology map and a speed map at the time of bus reset, and responds to inquiries from other devices. An FCP (Function Control Protocol) layer performs processing such as AV command transmission and AV response reception standardized by IEC61883.
また、例えば、D−VHSを制御するディジタルチューナ内蔵テレビ受信機の場合、AVコマンドを使用するモジュールとして、FCP層の上位のCMP層、AKE層、テープ制御層、チューナ被制御層などが必要となる。CMP(Connection Management Procedures)層ではコネクション管理、バスリセット発生時の機器情報取得を行う。PCR(Plug Control Register)の実装もCMP層で行う。AKE(Authenticationand Key Exchange)層では、相手機器の認証処理と鍵交換を行うことで、コピープロテクトされた番組コンテンツ(TS:トランスポート・ストリーム)の復号を行う。テープ制御層では、AV/C Tape Recoder/Player Subunitで規定されている制御用或いは状態取得用のAVコマンドを実装し、再生、早送り、停止などの遠隔制御、テープカウンタ取得、テープ走行状態取得、テープカセット情報取得を用いた定期監視などを行う。チューナ被制御層では、ディジタル放送受信機として必要なAV/C Tuner Subunitを実装している。 In addition, for example, in the case of a television receiver with a built-in digital tuner that controls D-VHS, a module that uses an AV command requires a CMP layer, an AKE layer, a tape control layer, a tuner controlled layer, etc. above the FCP layer. Become. A CMP (Connection Management Procedures) layer performs connection management and obtains device information when a bus reset occurs. Mounting of PCR (Plug Control Register) is also performed in the CMP layer. In the AKE (Authentication and Key Exchange) layer, the copy-protected program content (TS: transport stream) is decrypted by performing authentication processing and key exchange of the counterpart device. In the tape control layer, AV commands for control or status acquisition specified in AV / C Tape Recorder / Player Subunit are implemented, remote control such as playback, fast forward, stop, tape counter acquisition, tape running status acquisition, Periodic monitoring using tape cassette information acquisition is performed. In the tuner controlled layer, AV / C Tuner Subunit necessary as a digital broadcast receiver is mounted.
さて、前述のAVプロトコルスタックを構成する各モジュール層はソフトウェアで実現しており、各々は独立・並列した処理が可能である。このため、異なるモジュール層が同じタイミングで非同期パケットを送受信する可能性がある。また、IEEE1394バス上に接続された他の1394機器も非同期パケットの送受信を行う。IEEE1394バス上に接続されているIEEE1394機器が多ければ多いほど非同期パケットの送受信が重なるタイミングが増すことが予想される。非同期パケットの送信が重なった場合に、相手機器がすでに非同期パケットを受信中の時は、送信した非同期パケットに対するAckコードがAck_busyとなる。送信元のトランザクション層は、リンク層からAckコードを取得し、Ack_busyの場合は所定回数リトライ処理を行う。最大リトライ回数は、IEEEStd1394−1995でBUSY_TIMEOUTregister(0xFFFF、0xF0000210)として規定されている可変値である。 Each module layer constituting the AV protocol stack described above is realized by software, and each can perform independent and parallel processing. For this reason, different module layers may transmit and receive asynchronous packets at the same timing. In addition, other 1394 devices connected on the IEEE 1394 bus also transmit / receive asynchronous packets. It is expected that the more the IEEE 1394 devices connected on the IEEE 1394 bus, the more the timing at which asynchronous packet transmission / reception overlaps. If transmission of asynchronous packets overlaps and the counterpart device is already receiving asynchronous packets, the Ack code for the transmitted asynchronous packets is Ack_busy. The source transaction layer acquires an Ack code from the link layer, and performs retry processing a predetermined number of times in the case of Ack_busy. The maximum number of retries is a variable value defined as BUSY_TIMEOUTregister (0xFFFF, 0xF0000210) in IEEE Std 1394-1995.
リンク層では、非同期パケット送信を行う時に、パケットヘッダ情報(送信先ノードID、オフセットアドレス、レスポンスコード、トランザクションコードなど)やパケットデータを所定のレジスタに設定した後、非同期パケット送信を行う。尚、同期パケットの送信は1サイクル125μsと短い間隔で送信する必要があるため毎回ドライバで設定していたのではソフトウェアの負担が非常に大きくなるため、通常はLINKチップで同期パケットのヘッダ情報のみ設定を行い、後はハードウェアで処理する。 In the link layer, when performing asynchronous packet transmission, packet header information (transmission destination node ID, offset address, response code, transaction code, etc.) and packet data are set in a predetermined register, and then asynchronous packet transmission is performed. Since synchronization packets need to be transmitted at intervals as short as 125 μs per cycle, the software load would be very heavy if the driver was set every time. Therefore, normally only the header information of the synchronization packet is used with the LINK chip. Set up and process with hardware.
非同期パケット送信においては、リトライ送信を行うたびに、送信したいパケット情報をレジスタに設定する必要があり、ソフトウェアの負担となる。この場合、リンク層及びトランザクション層を統合して、パケット情報をレジスタに保存したまま、Ackコードを判定し、Ack_busyの場合は直ちにリトライ送信することも考えられる。しかしながら、複数モジュールから同時に送信要求があった場合には、最初の送信要求の処理が終わるまで、次の送信要求は待たされる。一方、Ackコードを判定してAck_busyだった場合に、単にしばらく時間を置いてリトライ送信したのでは、複数送信要求があった場合に後から要求を出したモジュールへの結果通知が遅くなる。 In asynchronous packet transmission, every time retry transmission is performed, it is necessary to set the packet information to be transmitted in a register, which is a software burden. In this case, it is conceivable that the link layer and the transaction layer are integrated, the Ack code is determined while the packet information is stored in the register, and if Ack_busy, the retry transmission is immediately performed. However, when there are simultaneous transmission requests from a plurality of modules, the next transmission request is waited until the processing of the first transmission request is completed. On the other hand, if the Ack code is determined and the Ack_busy is detected and the retry transmission is simply performed for a while, the result notification to the module that issued the request later is delayed when there are multiple transmission requests.
図3に、非同期パケットの正常系トランザクション例を示す。上位モジュールからパケット送信要求がトランザクション層に来ると、リンク層に非同期パケット送信要求(Request )を出す。リンク層では、通信相手に非同期パケットを送信する(Request )。通信相手のリンク層は非同期パケットを正常に受信すると、送信元にAck_Complete(若しくは、Ack_Pending)を返し(Response)、受信した非同期パケットを受信側トランザクション層に表示(Indication)する。受信側トランザクション層では、要求内容に応じて、上位モジュールにパケット受信表示(Indication)を行う。一方、送信側においては、リンク層でAck_Complete(若しくは、Ack_Pending)を受信すると、送信要求した非同期パケットの送信確認(Confirmation)を送信側トランザクション層に対して行う。トランザクション層では、パケット送信要求元である上位モジュールにパケット送信確認(Confirmation)を行う。 FIG. 3 shows a normal transaction example of an asynchronous packet. When a packet transmission request from the upper module comes to the transaction layer, an asynchronous packet transmission request (Request) is issued to the link layer. In the link layer, an asynchronous packet is transmitted to the communication partner (Request). When the link layer of the communication partner normally receives the asynchronous packet, it returns Ack_Complete (or Ack_Pending) to the transmission source (Response), and displays the received asynchronous packet on the receiving-side transaction layer (Indication). In the receiving-side transaction layer, packet reception indication (Indication) is given to the upper module according to the request content. On the other hand, when Ack_Complete (or Ack_Pending) is received at the link layer, the transmission side performs transmission confirmation (confirmation) of the asynchronous packet requested to be transmitted to the transmission side transaction layer. In the transaction layer, packet transmission confirmation (Confirmation) is performed to the upper module that is the packet transmission request source.
図4に、非同期パケットの異常系トランザクション例を示す。上位モジュールからパケット送信要求がトランザクション層に来ると、リンク層に非同期パケット送信要求を出す。リンク層では、通信相手に非同期パケットを送信する。ところが、通信相手のリンク層が、例えば他の通信相手と通信中であり、他の通信相手の非同期パケットを受信処理中の時には、他の非同期パケットを受信することができない。この場合、送信元には、Ack_busyXを返し、受信側トランザクション層には非同期パケットの受信表示を行わない。送信側リンク層はAck_busyXを受信すると、送信側トランザクション層に非同期パケットの送信確認を行う。送信側トランザクション層では、Ack_busyXを受信することにより、送信した非同期パケットを通信相手が正常受信できなかったと判断すると、非同期パケットのリトライ送信要求をリンク層に出す。リトライ送信要求があると、リンク層は通信相手に非同期パケットの再送信を行う。通信相手のリンク層が未だビジー状態の時は、Ack_busyXを送信元に返す。このように、通信相手のビジー状態が続けば、送信元のトランザクション層は繰り返しリトライ送信を行い、最大リトライ回数を超えた場合にリトライオーバーの送信結果を送信要求元モジュールに返す。送信要求元モジュールでは必要に応じて、一定期間待って、再び送信要求をトランザクション層に出す。 FIG. 4 shows an example of an abnormal transaction of an asynchronous packet. When a packet transmission request from the upper module comes to the transaction layer, an asynchronous packet transmission request is issued to the link layer. In the link layer, an asynchronous packet is transmitted to the communication partner. However, when the link layer of the communication partner is communicating with, for example, another communication partner and the asynchronous packet of the other communication partner is being received, another asynchronous packet cannot be received. In this case, Ack_busyX is returned to the transmission source, and reception of asynchronous packets is not displayed on the reception-side transaction layer. When receiving the Ack_busyX, the transmission side link layer confirms transmission of the asynchronous packet to the transmission side transaction layer. If the transmission side transaction layer receives Ack_busyX and determines that the communication partner has not normally received the transmitted asynchronous packet, it issues a retry transmission request for the asynchronous packet to the link layer. When there is a retry transmission request, the link layer retransmits the asynchronous packet to the communication partner. When the link layer of the communication partner is still busy, Ack_busyX is returned to the transmission source. As described above, if the communication partner continues to be busy, the transmission source transaction layer repeatedly performs retry transmission, and when the maximum number of retries is exceeded, the transmission result of the retry over is returned to the transmission request source module. If necessary, the transmission request source module waits for a certain period and issues a transmission request to the transaction layer again.
次に、この発明をトランザクション層の非同期パケット送信部に適用した時の処理例を図5のフローチャートに示す。トランザクション層は、他モジュールから非同期パケットの送信要求を受け取ると、(ステップS1)、リトライ回数(R)を0に初期化し、リトライ間隔(T1)に予め決められた初期値を設定する(ステップS2)。次に、リンク層に非同期パケット送信要求を出し(ステップS3)、送信結果であるAckコードを取得する(ステップS4)。 Next, a processing example when the present invention is applied to an asynchronous packet transmission unit of a transaction layer is shown in the flowchart of FIG. When the transaction layer receives an asynchronous packet transmission request from another module (step S1), the transaction layer initializes the number of retries (R) to 0, and sets a predetermined initial value for the retry interval (T1) (step S2). ). Next, an asynchronous packet transmission request is issued to the link layer (step S3), and an Ack code as a transmission result is acquired (step S4).
AckコードがAck_pending或いはAck_completeのときは(ステップS5でYES)、正常送信として送信要求元に返す(ステップS6)。AckコードがAck_missingの時は(ステップS7でYES)、Ack_missingとして処理する(ステップS8)。Ack_missingは、1394バス上に存在しないノードIDに送信要求を出した時や、バスアナライザなど特殊なノードに非同期パケットを送信した時に発生する。一般的な1394機器に非同期パケットを送信した時に、Ack_missingが発生することは通常起こりえないが、リンクチップが異常状態に陥っている場合にAck_missingが発生することもあり得る。 When the Ack code is Ack_pending or Ack_complete (YES in step S5), it is returned to the transmission request source as normal transmission (step S6). When the Ack code is Ack_missing (YES in step S7), it is processed as Ack_missing (step S8). Ack_missing occurs when a transmission request is issued to a node ID that does not exist on the 1394 bus, or when an asynchronous packet is transmitted to a special node such as a bus analyzer. When an asynchronous packet is transmitted to a general 1394 device, Ack_missing cannot normally occur, but Ack_missing may occur when the link chip is in an abnormal state.
Ackコードが、Ack_pending、Ack_complete、Ack_missingのいずれでもない場合(ステップS5でNO,ステップS7でNO)、リトライ回数のチェックを行う(ステップS9)。リトライ回数が最大リトライ回数を超えた場合は(ステップS9でYES)、リトライオーバーとなり異常送信として処理する(ステップS10)。リトライ回数が最大リトライ回数に達していない場合には(ステップS9でNO)、リトライ回数をインクリメントした後、リトライ送信を行う(ステップS11でNO,ステップS14)。但し、AckコードがAck_busyである場合は(ステップS11でYES:エラー発生)、リトライ間隔(T1)の待機の後、T←T1+ΔT(例えば、ΔT=T1とすることができる。勿論、これに限定されない)の演算処理によるリトライ間隔更新処理を行い(ステップS13)、ステップS14に進む。この更新リトライ間隔(時間)は、エラー発生回数に応じて増加するものとなる。このような処理を行うことによって、リトライによるソフトウェアの負荷を低減できる。 If the Ack code is not one of Ack_pending, Ack_complete, and Ack_missing (NO in step S5, NO in step S7), the number of retries is checked (step S9). If the number of retries exceeds the maximum number of retries (YES in step S9), retry over occurs and processing is performed as abnormal transmission (step S10). If the number of retries has not reached the maximum number of retries (NO in step S9), retry transmission is performed after incrementing the number of retries (NO in step S11, step S14). However, when the Ack code is Ack_busy (YES in step S11: an error occurs), after waiting for the retry interval (T1), T ← T1 + ΔT (for example, ΔT = T1) can be set. Retry interval update processing is performed by calculation processing (not performed) (step S13), and the process proceeds to step S14. The update retry interval (time) increases according to the number of error occurrences. By performing such processing, the software load due to the retry can be reduced.
すなわち、前述したごとく、Ack_busyの場合に直ちにリトライ送信するのでは、例えば他の既に行われている送信要求の処理が終わるまで待たされることになり、いたずらにリトライ回数が増えてしまい、ソフトウェアの負荷が増大する。一方、Ack_busyの場合に単に一定時間の待機を行うのでは、要求が受け入れられるタイミングを逸してしまう可能性が高い。本願発明であれば、リトライを直ちに何度も行うのではなく、また、一定時間の待機でもなく、待機時間を段階的に長くしていく処理を行うので、リトライ回数を少なくしつつ(ソフトウェアの負荷を低減しつつ)、要求が受け入れられるタイミングを逸してしまうといった事態を少なくできることになる。 That is, as described above, in the case of Ack_busy, if retry transmission is performed immediately, for example, it will be waited until the processing of other transmission requests that have already been performed, and the number of retries will increase unnecessarily, and the software load Will increase. On the other hand, simply waiting for a fixed time in the case of Ack_busy is likely to miss the timing at which the request is accepted. According to the present invention, since the retry is not performed immediately many times, and the waiting time is not increased for a fixed time, but the waiting time is increased stepwise, the number of retries is reduced (software It is possible to reduce the situation in which the timing at which the request is accepted is lost while reducing the load.
ところで、IEEE1394においては、1394ケーブルを抜き差しを行った時にバスリセットが発生する。また、LINKチップが異常状態に陥ったと判断したリンクドライバは、LINKチップを正常状態に回復させるためにバスリセットを発生させる。バスリセットによりIEEE1394バス上に接続されている各ノードにはノードIDが付与される。IEEE1394機器は、バスリセットを検出すると、IEEE1394バス上に接続されている他のIEEE1394機器の認識を行うようになっている。
By the way, in
IEEE1394機器はConfiguration−ROMを持っていて、GUID(VendorIDやChipID)やテキストで記述された製品名などの機器固有の情報が記述されている。各IEEE1394機器は、相手となるIEEE1394機器のConfiguration―ROMに記述されている所定のオフセットアドレスを読みに行くことにより、相手となるIEEE1394機器の基礎情報を入手できる。更に、AV機器の場合は、subunitコマンドを発行することによって、相手IEEE1394機器が搭載しているsubunit情報を取得することができる。バスリセット発生直後は、各IEEE1394機器が接続されている他IEEE1394機器の情報取得を行う。特にノード数が多い時は、お互い相手のConfiguration−ROM情報の問い合わせや応答を行っているために、1394バスは輻輳状態になりやすい。そこで、バスリセット直後において、ノード数が多い時は、機器認識用非同期パケットの送信リトライ間隔を長くすると、少ないリトライ回数で正常な応答パケットを取得できるようになる。
The
図6に、本発明を機器認識部に適用した時のフローチャートを示す。機器認識部は、バスリセットによりイベント駆動されて動作し(ステップS21)、各パラメータの初期設定を行い、相手ノードID(I)を0にセットする。更に、リンク層から1394バスに接続されているノード数情報を獲得し、ノード数情報をノード数(N)にセットする。また、リンク層から自ノードID情報を獲得し、自ノードID情報を自ノードID(M)にセットする(ステップS22)。 FIG. 6 shows a flowchart when the present invention is applied to the device recognition unit. The device recognition unit operates by being driven by an event by a bus reset (step S21), performs initial setting of each parameter, and sets the counterpart node ID (I) to 0. Further, the node number information connected to the 1394 bus is acquired from the link layer, and the node number information is set to the node number (N). Also, the local node ID information is acquired from the link layer, and the local node ID information is set to the local node ID (M) (step S22).
次に、変換式F(x)において、xにノード数(N)を代入し、最適な機器認識向け非同期パケットの送信間隔(T2)を算出する(ステップS23)。前記F(x)に代えて、変換テーブルを採用することもできる。変換テーブルには、例えば、メーカがバスリセットテストを繰り得して経験により蓄えたデータを組み込めばよい。送信間隔(T2)は、図7において、或るアドレス、例えば、「0400h」のデータに対してアクセスを行った後に、「0404h」のデータに対してアクセスするまでの間隔となる。次に、相手ノードID(I)とノード数(N)を比較する(ステップS24)。相手ノードID(I)がノード数(N)より大となれば終了する。相手ノードID(I)がノード数(N)より小さければ処理を続行する。相手ノードID(I)と自ノードID(M)を比較し(ステップS25)、等しければ相手ノードID(I)をインクリメントし(ステップS31)、ステップ1に戻る。 Next, in the conversion formula F (x), the number of nodes (N) is substituted for x, and the optimal transmission interval (T2) of asynchronous packets for device recognition is calculated (step S23). A conversion table may be employed instead of F (x). In the conversion table, for example, data obtained by the manufacturer through the bus reset test and accumulated through experience may be incorporated. In FIG. 7, the transmission interval (T2) is an interval until access to data “0404h” after access to data of a certain address, for example, “0400h”. Next, the counterpart node ID (I) is compared with the number of nodes (N) (step S24). If the counterpart node ID (I) is greater than the number of nodes (N), the process is terminated. If the counterpart node ID (I) is smaller than the number of nodes (N), the processing is continued. The partner node ID (I) and the own node ID (M) are compared (step S25). If they are equal, the partner node ID (I) is incremented (step S31), and the process returns to step 1.
相手ノードID(I)と自ノードID(M)が等しくない時は、相手ノードID(I)がactiveであるか判断する(ステップS26)。BM(バスマネージャ)が持つトポロジーマップに各ノードのactive情報があるので、トポロジーマップを参照することで判断が可能となる。相手ノードID(I)がactiveでない場合は、相手ノードID(I)をインクリメントし(ステップS31)、ステップ1に戻る。相手ノードID(I)がactiveの時は、T2間隔でNode(I)のConfiguration−ROMを順次読み込んでいく(ステップS27)。バスリセット後、Configuration−ROMを読むための時間的制限は規格上特に存在しないので、アプリケーションレベルで極端に遅くない限りは、多少遅らせても問題ない。但し、自ノードからコネクションを張っているときにバスリセットが発生した場合、バスリセット発生後からIsochronous resource delayと呼ばれる1秒間の時間内に、コネクションの復旧処理を行う必要がある。そのために、Configuration−ROMに含まれるGUID情報のみ、必要な場合は先読みしなければならない。 If the counterpart node ID (I) is not equal to the own node ID (M), it is determined whether the counterpart node ID (I) is active (step S26). Since there is active information of each node in the topology map possessed by the BM (bus manager), it can be determined by referring to the topology map. If the partner node ID (I) is not active, the partner node ID (I) is incremented (step S31), and the process returns to step 1. When the partner node ID (I) is active, the Node-I Configuration-ROM is sequentially read at intervals of T2 (step S27). Since there is no time limit for reading the Configuration-ROM after the bus reset in the standard, there is no problem even if it is slightly delayed as long as it is not extremely slow at the application level. However, if a bus reset occurs while a connection is established from the own node, it is necessary to perform a connection recovery process within a one-second time period called an “isochronous resource delay” after the bus reset occurs. Therefore, only the GUID information included in the Configuration-ROM must be pre-read if necessary.
図7にD−VHSのConfiguration−ROMの構成例(具体的内容は省略している)を示す。Configuration−ROMにはIEEE1394バスノードであることや、対応している上位プロトコル、GUID(会社識別子であるVendorIDと製品識別子であるChipID)、会社名をテキストで示すTextual Descriptor、モデル名をテキストで示すTextual Descriptorなどが記載されている。Configuration−ROMを読む機能はAVプロトコルスタックのSBM(シリアルバスマネジメント)層に実装されていて、相手機器から問い合わせがあると応答する。相手機器のConfiguration−ROMを読むことで、相手機器のGUID、会社名、モデル名などを取得することが可能となる。
FIG. 7 shows a configuration example of the D-VHS Configuration-ROM (specific details are omitted). The Configuration-ROM includes an
Configuration−ROMの読み取りが正常終了すると(ステップS28でYES)、Node(I)のAVコマンドを用いてユニット情報を取得する(ステップS29)。すなわち、ユニットインフォ・ステータスコマンドやサブユニットインフォ・ステータスコマンドを用いて、相手機器が実装しているサブユニットなどのユニット情報を得る。得られたユニット情報は、ユニット管理テーブルに登録される(ステップS30)。Configuration−ROMの読み取りが正常終了しなかった場合や(ステップS28でNO)、正常終了後ユニット管理テーブルに登録を行った後は、相手ノードID(I)をインクリメントし(ステップS31)、ステップ1に戻る。 When reading of the Configuration-ROM is normally completed (YES in step S28), unit information is acquired using the AV command of Node (I) (step S29). That is, unit information such as a subunit mounted on the counterpart device is obtained using the unit info / status command and the subunit info / status command. The obtained unit information is registered in the unit management table (step S30). If reading of the Configuration-ROM does not end normally (NO in step S28), or after registration in the unit management table after normal end, the partner node ID (I) is incremented (step S31). Return to.
このように、ノード数に応じた処理を行うことにより、バスリセット直後は、何度もリトライを行った後に正常な応答が得られる状態を避けることができ、リトライによるソフトウェアのオーバーヘッドを低減できる。なお、前述の変換式F(x)の具体例としては、F(x)=2x、或いは、Tを初期値時間として、F(x)=T+1.1xなどが挙げられる。要は、ノード数Nが多いほど待機間隔が長くなるように式を設定すればよい。また、上記の例では、送信間隔T2を前記変換式F(x)で可変としたが、リトライ送信間隔についても、同様に変換式F(x)で可変とすることもできる。 As described above, by performing processing according to the number of nodes, it is possible to avoid a state in which a normal response is obtained after many retries immediately after a bus reset, and it is possible to reduce software overhead due to retries. Specific examples of the above-described conversion formula F (x) include F (x) = 2x, or F (x) = T + 1.1x, where T is the initial value time. In short, the formula may be set so that the standby interval becomes longer as the number N of nodes increases. In the above example, the transmission interval T2 is variable by the conversion formula F (x). However, the retry transmission interval can be similarly variable by the conversion formula F (x).
1 ROM
2 マイクロコンピュータ
3 RAM
4 LINKチップ
5 PHYチップ
6 1394コネクタ
1 ROM
2
4
Claims (6)
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004315399A JP2006129125A (en) | 2004-10-29 | 2004-10-29 | Asynchronous packet communication method and asynchronous packet communication equipment |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
JP2004315399A JP2006129125A (en) | 2004-10-29 | 2004-10-29 | Asynchronous packet communication method and asynchronous packet communication equipment |
Publications (1)
Publication Number | Publication Date |
---|---|
JP2006129125A true JP2006129125A (en) | 2006-05-18 |
Family
ID=36723315
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
JP2004315399A Pending JP2006129125A (en) | 2004-10-29 | 2004-10-29 | Asynchronous packet communication method and asynchronous packet communication equipment |
Country Status (1)
Country | Link |
---|---|
JP (1) | JP2006129125A (en) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10681130B2 (en) | 2016-09-09 | 2020-06-09 | Toshiba Memory Corporation | Storage system including a plurality of nodes |
-
2004
- 2004-10-29 JP JP2004315399A patent/JP2006129125A/en active Pending
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US10681130B2 (en) | 2016-09-09 | 2020-06-09 | Toshiba Memory Corporation | Storage system including a plurality of nodes |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP3808660B2 (en) | Communication system and terminal device | |
EP2129046A1 (en) | Packet round trip time measuring method | |
US20090046623A1 (en) | Network repay device, network relay program, and storage medium containing the network relay program | |
EP2814013B1 (en) | Isochronous transmission for ip-oriented network | |
JP2004040336A (en) | Radio communication system, radio communication apparatus and radio communication method, and computer program | |
JPH11331218A (en) | Information processing unit, information processing method and served medium | |
US6754184B2 (en) | Information processing apparatus and method, and distribution medium | |
US6272114B1 (en) | Data processing apparatus/method and electronic apparatus with such apparatus/method | |
US6988200B2 (en) | Data transmit/receive device and data transmit/receive method | |
US6732262B1 (en) | Method and system for controlling reset of IEEE 1394 network | |
EP1120936B1 (en) | Data transfer control device and electronic apparatus | |
JP2006129125A (en) | Asynchronous packet communication method and asynchronous packet communication equipment | |
MX2008012996A (en) | Method and apparatus of communication between embedded cable modem and embedded set-top box. | |
KR100775516B1 (en) | Control system of flexray and can and method thereof | |
US7801053B2 (en) | Method for setting consistent values for a parameter in a network of distributed stations, as well as a network subscriber station for carrying out the method | |
KR100609493B1 (en) | Method for transmitting multiple sensors data with a CAN message | |
EP1543656B1 (en) | Method and device for performing communiation on a bus structured network | |
US20050262283A1 (en) | Data link layer device for a serial communication bus | |
JP2003229857A (en) | Serial bus system, device for managing band of serial bus, and communication equipment | |
JP4060761B2 (en) | Optical transmission device and electronic device including the same | |
JP3189571B2 (en) | Data processing device | |
JP5321349B2 (en) | Data transfer method and data transfer apparatus | |
JP2006324869A (en) | Communication processing method and communication equipment for network system | |
JP2005167800A (en) | Data communication apparatus | |
JP2007074401A (en) | Controller side av device |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
A977 | Report on retrieval |
Free format text: JAPANESE INTERMEDIATE CODE: A971007 Effective date: 20080122 |
|
A131 | Notification of reasons for refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A131 Effective date: 20080205 |
|
A521 | Written amendment |
Free format text: JAPANESE INTERMEDIATE CODE: A523 Effective date: 20080328 |
|
A02 | Decision of refusal |
Free format text: JAPANESE INTERMEDIATE CODE: A02 Effective date: 20080930 |