(57)【特許請求の範囲】
【請求項１】
リクエストパケットを生成する処理装置と、
シリアルバスに接続され、上記リクエストパケットを上記シリアルバスに送信して確認信号待ち状態となる送信装置と、
上記シリアルバスに接続され、上記リクエストパケットに対する応答である第１の確認信号又は第２の確認信号とレスポンスパケットを上記シリアルバスから受信し、上記第１又は第２の確認信号を上記送信装置に出力し、上記レスポンスパケットを上記処理装置に出力する受信装置と、
上記リクエストパケットに含まれるリクエストパケットを特定するための送信情報を記憶する送信情報記憶手段と、
上記送信情報と送信結果又は上記レスポンスパケットに含まれるレスポンスパケットを特定するための受信情報とレスポンスパケットの応答状態を示す状態通知情報とを記憶する受信結果記憶手段と、
上記受信装置が上記第２の確認信号を受信してから所定の時間が経過しても上記レスポンスパケットが受信されない場合に、受信されるべきレスポンスパケットの上記受信情報、上記状態通知情報及び識別情報を含む疑似レスポンスパケットを生成する疑似レスポンスパケット生成手段と、
を有し、
上記送信装置は、上記リクエストパケットを送信する際に上記送信情報を上記送信情報記憶手段に出力し、
レスポンスパケットを伴なわない上記第１の確認信号の受信を上記受信装置が上記送信装置に通知すると、
上記送信装置は、上記送信情報及び上記第１の確認信号が示す送信結果を上記受信結果記憶手段に出力して新たなリクエストパケットを送信可能な状態になり、
上記処理装置は、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記送信情報及び上記送信結果に基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断し、
レスポンスパケットを伴なう上記第２の確認信号の受信を上記受信装置が上記送信装置に通知すると、
上記送信装置は、新たなリクエストパケットを送信可能な状態になり、
上記受信装置が上記第２の確認信号の受信後に上記レスポンスパケットを受信した場合、
上記受信装置は、上記受信情報及び上記状態通知情報を上記受信結果記憶手段に出力し、
上記処理装置は、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記受信情報及び上記状態通知情報とに基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断し、
上記受信装置が上記第２の確認信号を受信してから所定の時間が経過しても上記受信装置が上記レスポンスパケットを受信しない場合、
上記受信装置は、上記疑似レスポンスパケット生成手段により生成された上記疑似レスポンスパケットの上記受信情報及び上記状態通知情報を上記受信結果記憶手段に出力し、
上記処理装置は、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記受信情報及び上記状態通知情報とに基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断する、
データ処理装置。
【請求項２】
上記受信装置が上記第２の確認信号を受信してから所定の時間が経過しても上記受信装置が上記レスポンスパケットを受信しない場合に、
上記受信装置が、上記疑似レスポンスパケット生成手段により生成された上記疑似レスポンスパケットの上記受信情報及び上記状態通知情報を上記受信結果記憶手段に出力すると共に上記疑似レスポンスパケットを上記処理装置に出力し、
上記処理装置が、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記受信情報及び上記状態通知情報とに基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断すると共に上記疑似レスポンスパケットを記憶する、
請求項１に記載のデータ処理装置。
【請求項３】
上記リクエストパケット、上記レスポンスパケット及び上記シリアルバスがＩＥＥＥ１３９４規格に準拠するように構成されている請求項１又は２に記載のデータ処理装置。
【請求項４】
上記送信情報がディスティネーションＩＤとｔＬａｂｅｌとで構成され、上記受信情報がソースＩＤとｔＬａｂｅｌとで構成され、上記状態通知情報がｒＣｏｄｅで構成される請求項３に記載のデータ処理装置。
【発明の詳細な説明】
【０００１】
【発明の属する技術分野】
本発明はデータ処理装置に関し、特にIEEE1394規格に準拠したシリアルバスを介して、パケット単位でデータの送受信を行うシステムに用いられるデータ処理装置に関する。
【０００２】
【従来の技術】
従来、パソコン等のデータ処理装置で画像データや音声データを取り込んだり、ＡＶ機器をコントロールするためには、ビデオキャプチャボードやＲＳ２３２Ｃバス等が個別に必要であり、統一した取り扱いをすることはできなかった。
【０００３】
そこで近年では、マルチメディア時代のデータ通信に適した規格が提案されており、例えば、「IEEE1394ハイパフォーマンスシリアルバス規格(以下、IEEE1394規格という)」により、高速大容量の通信を自由に行えるような環境整備がなされている。
【０００４】
図４の符号１０１に、従来のデータ処理装置の一例を示す。このデータ処理装置１０１は、図示しない他のデータ処理装置とともにIEEE1394バス１０６に接続されている。IEEE1394バス１０６は、IEEE1394規格に準拠し、パケット単位でデータの転送が可能なシリアルバスであって、データ処理装置１０１は、IEEE1394バス１０６を介して、リクエストパケットを送信し、アクノレジ信号のみを受信するか、アクノレジ信号に加えてレスポンスパケットを受信することにより、他のデータ処理装置とデータの送受信ができるようにされている。
【０００５】
データ処理装置１０１は、マイコン１０２と、送信装置１０３と、受信装置１０４とを有している。このうち、送信装置１０３と受信装置１０４とは、マイコン１０２と、IEEE1394バス１０６との間に並列に配置されている。
【０００６】
このようなデータ処理装置１０１が、他のデータ処理装置との間でデータの送受信を行なう場合について、図５のフローチャートを参照しながら説明する。このフローチャートは、リクエストパケットを送信する間に、送信装置１０３が行なう処理を示すフローチャートであって、符号Ｓ101〜Ｓ106は、各処理ステップを示している。
【０００７】
まず、マイコン１０２が、所定のプログラムに基づいてリクエストパケットを生成し、送信装置１０３に次々に出力する。各リクエストパケットには、リクエストパケットを識別する識別情報や、送信元であるデータ処理装置１０１を特定する情報や、リクエストパケットの送信先の他のデータ処理装置を特定する情報や、読み出すべきデータを特定するための情報などが記載されている。
【０００８】
送信装置１０３は、内部にバッファメモリ(不図示)を有しており、次々に入力されるリクエストパケットをバッファメモリに順次保持し、１個ずつ読み出してIEEE1394バス１０６に送出する(Ｓ101)。
【０００９】
送信装置１０３は、リクエストパケットを送出すると、送出したリクエストパケットの識別情報を受信装置１０４に出力して、リクエストパケットを送出した旨を受信装置１０４に通知するとともに、アクノレジ信号の入力待ち状態(Ｓ102)になり、後述するアクノレジ信号が入力されるまでは、新たなリクエストパケットを送信しない。
【００１０】
リクエストパケットがIEEE1394バス１０６へと送出されると、リクエストパケットの内容で特定された他のデータ処理装置(以下相手方のデータ処理装置と称する。)が、IEEE1394バス１０６からリクエストパケットを順次受信し、その内容を読み出し、その内容に対応したアクノレジ信号をIEEE1394バス１０６に送出する。なお、アクノレジ信号とは、「受領確認」と「ペンディング」のいずれかからなる情報であって、いずれもリクエストパケットを受信した旨を通知するために送出されるものであるが、受領確認のアクノレジ信号は、レスポンスパケットを必要としない場合に、ペンディングのアクノレジ信号は、レスポンスパケットを必要とするときに、それぞれ送出されるものとする。
【００１１】
リクエストパケットを送信してから所定時間が経過した後に、受信装置１０４から送信装置１０３にいずれのアクノレジ信号も入力されなかった場合には、送信装置１０３はエラーが発生したと判断し、その旨をマイコン１０２に通知して、エラー処理(Ｓ103)に移行する。
【００１２】
他方、受信装置１０４から送信装置１０３にアクノレジ信号が入力された場合には、入力されたアクノレジ信号を検出し、そのアクノレジ信号が、受領確認のアクノレジ信号であるか否かを判断する(Ｓ104)。受領確認のアクノレジ信号であった場合には、送信装置１０３はそのトランザクションについては終了したものと判断し、１個のリクエストパケットの送信に関する一連の処理が終了する。一連の処理が終了すると、送信装置１０３は新たなリクエストパケットを送信可能な状態になる。
【００１３】
他方、受信したアクノレジ信号が、受領確認のアクノレジ信号でなく、ペンディングのアクノレジ信号であった場合には、送信装置１０３はレスポンス受信待ち状態(Ｓ105)に移行する。このレスポンス受信待ち状態に移行すると、送信装置１０３は、後述するレスポンスパケットが受信されたことが確認されるまでは、新たなリクエストパケットを送信しない状態になる。
【００１４】
ペンディングのアクノレジ信号を送出した相手方のデータ処理装置は、受信したリクエストパケットの内容に応じて、識別情報や、送信元、送信先を特定する情報や、リクエストパケットの送信先の他のデータ処理装置を特定する情報や、読み出すべきデータを特定するための情報などを含むレスポンスパケットを生成してIEEE1394バス１０６に送出する。
【００１５】
受信装置１０４がレスポンスパケットを受信したら、受信装置１０４は、受信したレスポンスパケットの識別情報を送信装置１０３に出力し、レスポンスパケットを受信した旨を通知する。
【００１６】
この通知によって、送信装置１０３は、レスポンスパケットを受信したことを確認したら、そのトランザクションについては終了し、次のリクエストパケットを送信可能な状態に移行する。
【００１７】
受信装置１０４は、レスポンスパケットを受信した旨を通知したら、そのレスポンスパケットをマイコン１０２へと出力する。マイコン１０２は、入力されたレスポンスパケットを、所定の記憶装置に格納するなどの処理をする。
【００１８】
他方、送信装置１０３は、ペンディングのアクノレジ信号が入力されてから一定時間が経過しても、レスポンスパケットを受信した旨の通知がなければ、エラーが発生したと判断し、その旨をマイコン１０２に通知して、エラー処理に移行する(Ｓ106)。
【００１９】
以上説明したように、このデータ処理装置１０１では、リクエストパケットを送信して、それに対応するレスポンスパケットを受信することで、データの送受信を行なうことができる。
【００２０】
しかしながら、このデータ処理装置１０１では、送信装置１０３が、アクノレジ信号が入力されたか否かを判断したり(Ｓ102)、入力されたアクノレジ信号が受領確認であるか否かを判断したり(Ｓ104)、レスポンスパケットが受信されたか否かを判断したり(Ｓ105)するという判断処理をしなければならなかったので、送信装置の処理負担が過重になってしまうという問題があった。
【００２１】
さらに、送信装置１０３は、アクノレジ信号の入力待ち状態や、レスポンスパケットの受信待ち状態の間は、リクエストパケットを送信しないようにされているので、新たなリクエストパケットが続々とマイコン１０２で生成されても、受信待ちの間は生成されたリクエストパケットを続々と送出することができなかったので、リクエストパケットを送出する際の効率が低下してしまうという問題が生じていた。
【００２２】
【発明が解決しようとする課題】
本発明は、上記従来の不都合を解決するために創作されたものであり、その目的は、IEEE1394バスに接続可能なデータ処理装置において、リクエストパケットの送信効率を向上させる技術を提供することにある。
【００２３】
【課題を解決するための手段】
上記課題を解決するために、本発明の請求項１に記載のデータ処理装置は、リクエストパケットを生成する処理装置と、シリアルバスに接続され、上記リクエストパケットを上記シリアルバスに送信して確認信号待ち状態となる送信装置と、上記シリアルバスに接続され、上記リクエストパケットに対する応答である第１の確認信号又は第２の確認信号とレスポンスパケットを上記シリアルバスから受信し、上記第１又は第２の確認信号を上記送信装置に出力し、上記レスポンスパケットを上記処理装置に出力する受信装置と、上記リクエストパケットに含まれるリクエストパケットを特定するための送信情報を記憶する送信情報記憶手段と、上記送信情報と送信結果又は上記レスポンスパケットに含まれるレスポンスパケットを特定するための受信情報とレスポンスパケットの応答状態を示す状態通知情報とを記憶する受信結果記憶手段と、上記受信装置が上記第２の確認信号を受信してから所定の時間が経過しても上記レスポンスパケットが受信されない場合に、受信されるべきレスポンスパケットの上記受信情報、上記状態通知情報及び識別情報を含む疑似レスポンスパケットを生成する疑似レスポンスパケット生成手段とを有し、上記送信装置は、上記リクエストパケットを送信する際に上記送信情報を上記送信情報記憶手段に出力し、レスポンスパケットを伴なわない上記第１の確認信号の受信を上記受信装置が上記送信装置に通知すると、上記送信装置は、上記送信情報及び上記第１の確認信号が示す送信結果を上記受信結果記憶手段に出力して新たなリクエストパケットを送信可能な状態になり、上記処理装置は、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記送信情報及び上記送信結果に基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断し、レスポンスパケットを伴なう上記第２の確認信号の受信を上記受信装置が上記送信装置に通知すると、上記送信装置は、新たなリクエストパケットを送信可能な状態になり、上記受信装置が上記第２の確認信号の受信後に上記レスポンスパケットを受信した場合、上記受信装置は、上記受信情報及び上記状態通知情報を上記受信結果記憶手段に出力し、上記処理装置は、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記受信情報及び上記状態通知情報とに基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断し、上記受信装置が上記第２の確認信号を受信してから所定の時間が経過しても上記受信装置が上記レスポンスパケットを受信しない場合、上記受信装置は、上記疑似レスポンスパケット生成手段により生成された上記疑似レスポンスパケットの上記受信情報及び上記状態通知情報を上記受信結果記憶手段に出力し、上記処理装置は、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記受信情報及び上記状態通知情報とに基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断する。
【００２４】
また、請求項２に記載のデータ処理装置は、請求項１に記載のデータ処理装置であって、上記受信装置が上記第２の確認信号を受信してから所定の時間が経過しても上記受信装置が上記レスポンスパケットを受信しない場合に、上記受信装置が、上記疑似レスポンスパケット生成手段により生成された上記疑似レスポンスパケットの上記受信情報及び上記状態通知情報を上記受信結果記憶手段に出力すると共に上記疑似レスポンスパケットを上記処理装置に出力し、上記処理装置が、上記送信情報記憶手段に記憶されている上記送信情報と上記受信結果記憶手段に記憶されている上記受信情報及び上記状態通知情報とに基づいて上記リクエストパケットの送信による一連の処理が正常に行なわれたか否かを判断すると共に上記疑似レスポンスパケットを記憶する。
【００２５】
更に、請求項３に記載のデータ処理装置は、請求項１又は２に記載のデータ処理装置であって、上記リクエストパケット、上記レスポンスパケット及び上記シリアルバスがＩＥＥＥ１３９４規格に準拠するように構成されている。
【００２６】
更に、請求項４に記載のデータ処理装置は、請求項３に記載のデータ処理装置であって、上記送信情報がディスティネーションＩＤとｔＬａｂｅｌとで構成され、上記受信情報がソースＩＤとｔＬａｂｅｌとで構成され、上記状態通知情報がｒＣｏｄｅで構成される。
【００２８】
本発明によれば、送信装置が、リクエストパケットを送信する際に、リクエストパケットから送信情報を取得して送信情報記憶手段に出力しており、確認信号(アクノレジ信号)の内容が、レスポンスパケットが返信されない内容である場合、即ち、第１の確認信号である場合には、受信したアクノレジ信号の内容(送信結果)と、送信情報とを受信結果記憶手段に出力している。
【００２９】
すると、処理装置が、リクエストパケット送信時に送信情報記憶手段に入力された送信情報と、アクノレジ信号の受信時に受信結果記憶手段に入力された送信情報及びアクノレジ信号の内容とに基づいて、リクエストパケットの送信状態(一連の処理)が正常であったか否かを判断することができるので、従来のように送信状態の正常、異常を送信装置が判断する必要がない。
従って、送信状態の正常、異常についての判断を送信装置が行なっていた従来に比して、送信装置のなすべき処理を軽減することができる。
【００３０】
また、本発明において、アクノレジ信号の内容が、レスポンスパケットが返信される内容である場合、即ち、第２の確認信号である場合には、送信装置は、リクエストパケットを送信する際に、リクエストパケットから送信情報を取得して送信情報記憶手段に出力し、受信装置は、レスポンスパケットを受信する際に、レスポンスパケットの受信情報及び状態通知情報を受信結果記憶手段に出力し、処理装置は、送信情報、受信情報及び状態通知情報に基づいて、リクエストパケットの送信に対するレスポンスパケットの応答が正常であったか否かを判断し、異常であったと判断した場合には、送信装置にリクエストパケットの送信を中断させている。
【００３１】
このため、リクエストパケットの送信に対するレスポンスパケットの応答が正常であったか否かを送信装置がこれを判断して、その判断に基づいてリクエストパケットの送信を待つ必要がない。
【００３２】
従って、送信装置が送信情報を取得してリクエストパケットを送信したら、処理装置で送信状態に異常が生じたと判断されないかぎり、レスポンスパケットの受信状態には関係なく、すぐに次のリクエストパケットを送信することができ、次々にリクエストパケットを送信することができるので、リクエストパケットの送信効率を、レスポンスパケットの受信待ち状態の間、新たなリクエストパケットを送信することができなかった従来に比して向上させることができる。
【００３３】
さらに本発明において、アクノレジ信号の内容が、レスポンスパケットが返信される内容であっても、受信装置が前記レスポンスパケットを受信できない場合には、疑似レスポンスパケット生成手段で、疑似レスポンスパケットを生成している。
【００３４】
このため、疑似レスポンスパケットに、異常を示す状態通知情報を記載しておけば、レスポンスパケットが受信できなかった場合でも、疑似レスポンスパケットから状態通知情報を読み出すことにより、レスポンスパケットが受信されるときと同じ一連の処理で、リクエストパケットに応答するレスポンスパケットの応答が正常であったか否かを判断することができる。
【００３５】
さらに、疑似レスポンスパケットから付加情報(識別情報)を読み出すことで、疑似レスポンスパケットと通常受信されたレスポンスパケットとを区別することができるので、疑似レスポンスパケットが受信されたトランザクションについては、レスポンスパケットが受信されなかったことを検出でき、そのトランザクションについてはリクエストパケットを再送信することができる。
【００３６】
【発明の実施の形態】
図１を参照して、本発明のデータ処理装置を説明する。図１において、符号１は本発明の実施形態のデータ処理装置である。
【００３７】
このデータ処理装置１は、複数の他のデータ処理装置とともに、IEEE1394バス６に接続され、IEEE1394バス６を介して、他のデータ処理装置とデータの送受信ができるようにされている。
【００３８】
データ処理装置１は、マイコン２と、送信装置３と、受信装置４と、送信キュー５と、受信キュー７とを有している。マイコン２は、判断部１１を有している。
送信装置３は、送信情報取得部８を有している。また、受信装置４は、受信情報取得部９と、疑似パケット生成部１０とを有している。
【００３９】
このうち、送信装置３と受信装置４とは、マイコン２と、IEEE1394バス６との間に並列に配置されている。
送信キュー５と、受信キュー７は、ＦＩＦＯ(First in first out)構造のメモリからなり、送信キュー５は送信情報取得部８と判断部１１との間に、受信キュー７は受信情報取得部９と判断部１１との間に、それぞれ配置されている。
【００４０】
このようなデータ処理装置１が、他のデータ処理装置との間でデータの送受信を行なう場合について、図２のフローチャートを参照しながら説明する。このフローチャートは、リクエストパケットを送信する間に、送信装置３が行なう処理を示すフローチャートであって、符号Ｓ1〜Ｓ6は、各処理ステップを示している。
まず、マイコン２が、所定のプログラムに基づいてリクエストパケットを生成し、送信装置３に次々に出力する。
【００４１】
図３(ａ)の符号２０に、マイコン２が生成するリクエストパケットのフォーマットの概略を示す。このフォーマット２０は、第１〜第３の記憶領域２１〜２３を有しており、そのそれぞれに、destination ID、tLabel、source ID が記載されている。destination IDは、送信先の機器を指定する情報である。tLabelは、未解決の各トランザクションに割り当てられた固有のタグである。また、source ID は、送信元の機器を指定する情報である。
【００４２】
リクエストパケットが次々に入力されると、送信装置３は、その内部に設けられたバッファメモリ(不図示)に、入力されたリクエストパケットを順次保持し、１個ずつ読み出す。
【００４３】
送信情報取得部８は、読み出されたリクエストパケットのdestination IDと、tLabelとを取得して対応付け、一組にして送信キュー５に出力する(Ｓ1)。
送信情報取得部８が、destination IDと、tLabelとの組を取得して、送信キュー５に出力したら、送信装置３は、リクエストパケットをIEEE1394バス６に送出する(Ｓ2)。
【００４４】
リクエストパケットがIEEE1394バス６へと送出されると、リクエストパケットのdestination IDで特定された他のデータ処理装置(以下相手方のデータ処理装置と称する。)が、IEEE1394バス６からリクエストパケットを順次受信し、その内容を読み出し、その内容に対応したアクノレジ信号をIEEE1394バス６に送出する。なお、アクノレジ信号とは、「受領確認」と「ペンディング」のいずれかからなる情報であって、いずれもリクエストパケットを受信した旨を通知するために送出されるものであるが、受領確認のアクノレジ信号は、後述するレスポンスパケットが返信されない場合に、ペンディングのアクノレジ信号は、レスポンスパケットが返信されるときに、それぞれ送出されるものとする。
【００４５】
送信装置３は、リクエストパケットを送出すると、アクノレジ信号の入力待ち状態(Ｓ3)になり、リクエストパケットを送信してから所定時間が経過した後に、受信装置４から送信装置３にいずれのアクノレジ信号も入力されなかった場合には、送信装置３は、送信したリクエストパケットのdestination ID、tLabelに加えて、送信にエラーが生じた旨の送信結果を対応付け、一組にして受信キュー７に出力する(Ｓ4)。
【００４６】
リクエストパケットを送信してから所定時間内に、受信装置４から送信装置３にアクノレジ信号が入力された場合には、入力されたアクノレジ信号を検出し、そのアクノレジ信号が、ペンディングのアクノレジ信号であるか否かを判断する(Ｓ5)。アクノレジ信号がペンディングのアクノレジ信号でなく、受領確認のアクノレジ信号であった場合には、送信したリクエストパケットのdestination ID、tLabelに加えて、正常に送信がされた旨の送信結果を受信キュー７に出力し(Ｓ6)、そのトランザクションが終了したとして、新たなリクエストパケットを送信可能な状態に直ちに移行する。
【００４７】
ステップＳ4又はＳ6の時点で、送信キュー５には、送信したリクエストパケットの一組のdestination ID、tLabelが記憶されており、受信キュー７には、送信したリクエストパケットの一組のdestination ID、tLabel、送信結果が記憶されていることになる。
【００４８】
判断部１１は、送信キュー５の記憶内容と受信キュー７の記憶内容を読み出し、送信キュー５に記載された一組のdestination ID、tLabelで対応付けられる受信キュー７の送信結果を検出し、正常に送信がなされたか否かを判断し、その判断結果をマイコン２に通知する。
【００４９】
このとき、エラーが生じた旨の送信結果が検出された場合には、マイコン２は処理を中断する旨の制御命令を送信装置３や受信装置４などに出力して、一連の処理を中断させ、リクエストパケットを再送信するなどの処理を行なうが、正常に送信がされた旨の送信結果が検出された場合には、一連の処理を続行する。
【００５０】
このように、エラーが生じたか否かの判断は、判断部１１が行なっており、送信装置３がかかる判断処理をしたり、リクエストパケットの送信を待ったりする必要が無いので、送信装置３の処理を軽減することができ、処理を高速化することができる。
【００５１】
以上までは、レスポンスパケットが返信されない場合について説明したが、相手方のデータ処理装置がデータ処理装置１へ、レスポンスパケットを返信してデータを転送する必要がある場合(スプリット・トランザクション)には、相手方のデータ処理装置は、ペンディングのアクノレジ信号をIEEE1394バス６へと送出する。
【００５２】
ペンディングのアクノレジ信号を受信したら、送信装置３はそのトランザクションについては終了したとし、新たなリクエストパケットを送信可能な状態に直ちに移行する。
ペンディングのアクノレジ信号を送出した相手方のデータ処理装置は、受信したリクエストパケットの内容に応じて、レスポンスパケットを生成する。
【００５３】
図３(ｂ)の符号３０に、相手方のデータ処理装置で生成される通常のレスポンスパケットのフォーマットの概略を示す。このフォーマット３０は、第１〜第５の記憶領域３１〜３５を有しており、そのそれぞれに、destination ID、tLabel、source ID 、rCode 、転送されるべきデータが記載されている。destination IDは、送信先の機器を指定する情報であって、この場合は、データ処理装置１を指定している。source ID は、送信元の機器を指定する情報であって、この場合は、他のデータ処理装置を指定している。また、tLabelは、未解決の各トランザクションに割り当てられた固有のタグであって、この場合は、対応するリクエストパケットに記載されたtLabelと同じ値が記載されている。
【００５４】
さらに、rCode は４ビットのデータであって、リクエストパケットに対する応答が成功したか否かを示すコードである。rCode の値が成功を示しているときには、リクエストパケットの要求に応じたデータの読み出しに成功し、そのデータを転送することを示している。他方、rCode の値が失敗を示しているときには、第５の記憶領域３５にあるデータは無視される。
【００５５】
相手方のデータ処理装置は、このようなフォーマットを有するレスポンスパケットを、IEEE1394バス６に送出する。
受信装置４はIEEE1394バス６からレスポンスパケットを受信する。受信したら、受信情報取得部９は、レスポンスパケットからsource ID と、tLabelと、rCode とを取得し、これらを対応付けて一組にして受信キュー７に出力する。
【００５６】
すると、受信キュー７には、受信されたレスポンスパケットから取得されたsource ID と、tLabelと、rCode が一組にされて記憶されており、送信キュー５には、送信したリクエストパケットのdestination ID、tLabelの組が記憶されていることになる。
【００５７】
あるリクエストパケットに対応して生成されたレスポンスパケットのsource IDと、リクエストパケットのdestination IDは同じ内容であり、リクエストパケットのtLabelとレスポンスパケットのtLabelもまた、同じ内容であるので、判断部１１が、送信キュー５の記憶内容と受信キュー７の記憶内容とを照合し、送信キュー５に記憶されたdestination ID、tLabelの組と内容が一致するsource ID、tLabel の組を、受信キュー７から検出し、検出されたsource ID、tLabel の組と対応付けられるrCode を読み出すことで、相手方のデータ処理装置で、リクエストパケットの送信に対する応答が成功して、データが正しく転送されたか否かを判断することができる。
【００５８】
判断部１１が、受信されたレスポンスパケットから、応答が失敗した旨のrCode を検出した場合には、マイコン２は処理を中断する旨の制御命令を送信装置３や受信装置４などに出力して、処理を中断させ、リクエストパケットを再送信するなどの処理をするが、受信されたレスポンスパケットから正常に送信がされた旨のrCode が検出されたら、その後も処理を続行する。
【００５９】
受信情報取得部９が、レスポンスパケットからsource ID と、tLabelと、rCode とを読み出して受信キュー７に出力したら、受信装置４は、マイコン２にレスポンスパケットを出力する。マイコン２は、入力されたレスポンスパケットを記憶領域(不図示)に格納して、リクエストパケットの送信に始まる一つのトランザクションを終了する。
【００６０】
他方、スプリット・トランザクションに移行した場合には、送信情報取得部８は、送信するリクエストパケットからdestination ID、tLabelの組を送信キュー５に書き込むとともに、受信装置４にもdestination ID、tLabelの組を通知しており、リクエストパケット送信後に、予め定められた所定時間が経過しても、受信装置４がレスポンスパケットを受信できなかった場合には、疑似パケット生成部１０が、受信装置４に通知されたdestination ID、tLabel等に基づいて、図３(ｃ)の符号４０に示すようなフォーマットを有する疑似レスポンスパケットを生成する。
【００６１】
図３(ｃ)に示すように、疑似レスポンスパケット４０は、受信されるべきレスポンスパケットと同じフォーマットであって、第１〜第５の記憶領域４１〜４５を有しており、そのそれぞれに、destination ID、tLabel、source ID 、rCode と、付加情報とが記載されている。
【００６２】
疑似パケット生成部１０は、受信されるべきレスポンスパケットと同内容のdestination ID、tLabel、source IDを記載し、エラーが生じた旨のrCodeを記載するとともに、付加情報を記載する。この付加情報は、通常のレスポンスパケットと、疑似レスポンスパケットとを区別するための情報である。
【００６３】
かかる疑似レスポンスパケットが生成されると、受信情報取得部９は、疑似レスポンスパケットから、受信されるべきレスポンスパケットに記載されているsource ID と、tLabelと、rCode とを取得し、これらを対応付けて一組にして受信キュー７に出力する。
【００６４】
このようにして、疑似レスポンスパケットが生成された場合には、受信キュー７には疑似レスポンスパケットから取得されたsource ID と、tLabelと、rCode が一組にされて記憶されており、送信キュー５には送信したリクエストパケットのdestination ID、tLabelの組が記憶されている。
【００６５】
そこで、判断部１１が、送信キュー５の記憶内容と受信キュー７の記憶内容とを照合し、送信キュー５に記憶されたdestination ID、tLabelの組と内容が一致するsource ID、tLabel の組を、受信キュー７から検出し、検出されたsource ID、tLabel の組と対応付けられるrCode を読み出すことで、リクエストパケットに対する応答が成功したか否かを判断することができる。
【００６６】
疑似レスポンスパケットには、応答が失敗した旨のrCode が記載されているので、判断部１１は、応答が失敗したと判断し、その判断結果をマイコン２に通知する。するとマイコン２は、処理を中断する旨の制御命令を送信装置３や受信装置４などに出力して、一連の処理を中断させ、リクエストパケットを再送信するなどの処理を行なう。
【００６７】
受信情報取得部９が、疑似レスポンスパケットから、source ID と、tLabelと、rCode とを取得して受信キュー７に出力したら、受信装置４は、疑似レスポンスパケットをマイコン２に出力する。
【００６８】
マイコン２は、入力された疑似レスポンスパケットを記憶領域に格納し、疑似レスポンスパケットから付加情報を読み出すことによって、マイコン２はトランザクションを終了させることができる。
【００６９】
以上説明したように、本実施形態のデータ処理装置１では、送信情報取得部８がdestination IDとtLabelとを取得して送信キュー５に出力すると、送信装置３は、直ちに新たなリクエストパケットを送信することができる。その結果、リクエストパケットに対する応答が失敗したとしても、判断部１１が、応答が失敗したことを検出することができるので、その後、一連の処理を中断させ、応答が失敗したトランザクションについてのリクエストパケットを再送信するというように、応答の失敗に対して、後から対応することができる。
【００７０】
従って、応答の失敗に備えるため、リクエストパケットの送信からレスポンスパケットの受信までの間に、送信装置がリクエストパケットを送信できなかった従来と異なり、エラーが発生したと判断部１１で判断されるまで次々にリクエストパケットを送信することができるので、リクエストパケットの送信効率を従来に比して向上させることができる。
【００７１】
また、レスポンスパケットが受信できなかった場合でも、疑似レスポンスパケット生成部１０で疑似レスポンスパケットを生成し、通常のレスポンスパケットと同様にdestination ID、tLabel 、rCodeを読み出すことで、リクエストパケットに対する応答が成功したか否かを判断することができる。
【００７２】
さらに、レスポンスパケットから付加情報を読み出すことにより、そのパケットが疑似レスポンスパケットであると判断することができるので、付加情報を読み出すことにより、疑似レスポンスパケットが生成されたトランザクションについては、レスポンスパケットが受信されなかったということを認識することができる。従って、従来のように特別な処理をすることなく、レスポンスパケットが受信されなかったことを検出することができる。
【００７３】
また、例えばデータ処理装置１が、複数のリクエストパケットを次々に送信し、相手方のデータ処理装置に複数のレスポンスパケットを返信させて、相手方のデータ処理装置から複数のデータを読み出してマイコン２に順次格納するような場合には、疑似レスポンスパケットを他のレスポンスパケットとともにマイコン２内に格納しても、疑似レスポンスパケットを他のレスポンスパケットと識別することができる。
【００７４】
疑似レスポンスパケットが生成されたトランザクションについては、データが欠落しているが、疑似レスポンスパケットを他のレスポンスパケットと識別することができるので、そのトランザクションに用いるリクエストパケットを再送信して、欠落したデータをあとから補充することができる。
【００７５】
さらに、本実施形態では、送信キュー５の入力は送信情報取得部８に、受信キュー７の入力は受信情報取得部９及び送信情報取得部８に、それぞれ接続されており、送信キュー５と受信キュー７の出力は、ともに判断部１１に接続されている。
【００７６】
このため、レスポンスパケットの返信の有無に関わらず、送信キュー５にはリクエストパケットのdestination ID、tLabelとが書き込まれ、他方、受信キュー７には、レスポンスパケットが返信されないときにはリクエストパケットのdestination ID、tLabel及び送信結果が、レスポンスパケットが返信されるときには、レスポンスパケットのsource ID、tLabelと、rCodeとが、それぞれ書き込まれることになる。
【００７７】
従って、判断部１１は、レスポンスパケットが返信されないときには、送信キュー５のdestination ID、tLabelと、受信キュー７のdestination ID、tLabel及び送信結果とを参照して異常の有無を判断することができ、他方、レスポンスパケットが返信されるときには、送信キュー５のdestination ID、tLabelと、受信キュー７のsource ID、tLabel及びrCodeとを参照して異常の有無を判断することができるので、レスポンスパケットの返信の有無に関わらず、送信キュー５と受信キュー７の記憶内容を参照するという同じ動作で、リクエストパケットの送信状態を判断することができる。
【００７８】
なお、本実施形態では、送信キュー５と受信キュー７とをＦＩＦＯ構造のメモリで構成しているが、本発明はこれに限らず、それ以外のメモリを用いてもよい。
また、本実施形態では、送信キュー５と受信キュー７とを設けているが、これらを設けることなく、送信情報取得部８、受信情報取得部９を判断部１１と直接接続するような構成にしてもよい。
【００７９】
さらに、本実施形態では、疑似レスポンスパケットから付加情報を読み出してレスポンスパケットが受信されなかったことをマイコン２が判断するようにしているが、本発明はこれに限らず、例えば受信装置４が付加情報を読み出して判断し、送信装置３に、レスポンスパケットが受信されなかったことを通知するような構成にしてもよい。
【００８０】
【発明の効果】
以上説明したように本発明によれば、リクエストパケットの送信状態が正常であったか否かについては処理装置が判断しており、送信装置が判断する必要がないので、判断処理を送信装置が行なっていた従来に比して、送信装置のなすべき処理を軽減することができる。
【００８１】
また、レスポンスパケットの受信が必要な処理では、リクエストパケットの送信が適正であったか否かは、処理装置が判断するので、送信に異常が生じたと処理装置が判断するまでは、送信装置は次々に新たなリクエストパケットを送信することができるので、リクエストパケットの送信効率を従来に比して向上させることができる。
【００８２】
さらに、受信装置がレスポンスパケットを受信できなかった場合には、疑似レスポンスパケットを生成しているので、レスポンスパケットが受信できなかった場合でも、レスポンスパケットが受信されるときと同じ一連の処理で、受信が正しかったか否かを判断することができる。
【図面の簡単な説明】
【図１】本発明の実施形態のデータ処理装置の構成を示す図
【図２】本発明の送信装置の処理を示すフローチャート
【図３】(ａ)：リクエストパケットのフォーマットを説明する図
(ｂ)：レスポンスパケットのフォーマットを説明する図
(ｃ)：疑似レスポンスパケットのフォーマットを説明する図
【図４】従来のデータ処理装置の構成を示す図
【図５】従来の送信装置の処理を示すフローチャート
【符号の説明】
１……データ処理装置    ２…マイコン(処理装置)  ３…送信装置    ４…受信装置  ５…送信キュー(送信情報記憶手段)  ６…IEEE1394バス(シリアルバス)  ７…受信キュー(受信結果記憶手段)  ８…送信情報取得部  ９…受信情報取得部１０…疑似パケット生成部   １１…判断部
【図１】
0004112717.tif 000002
【図２】
0004112717.tif 000003
【図３】
0004112717.tif 000004
【図４】
0004112717.tif 000005
【図５】
0004112717.tif 000006