(第1実施の形態)
図1は、シリアルインタフェースの一つであるIEEE1394に準拠したシステム構成を示す。図1において、パーソナルコンピュータ(以下、パソコンという)1、外部機器としてのデジタルVTR2、同じく外部機器としてのカラーページプリンタ3、及び、同じく外部機器としてのデジタルビデオカメラ4は、IEEE1394バス5を介して互いに接続されている。ホストコンピュータ1、デジタルVTR2、カラーページプリンタ3、及び、デジタルビデオカメラ4は、IEEE1394バスケーブル(以下、IEEE1394バスという)5を介して互いにIEEE1394に準拠したデータ転送を可能にするためのIEEE1394プロトコルコントローラがそれぞれ備えられている。
図2は、パソコン1に設けたIEEE1394に準拠したシステムの構成を説明するためのブロック回路を示す。パソコン1は、IEEE1394用プロトコルコントローラ(以下、IPCという)11、内部装置としてのマイクロプロセッサユニット(以下、MPUという)12、及び、内部装置としての2個の第1及び第2DMA(Direct Memory Access)コントローラ13,14を備えている。IPC11、MPU12、第1DMAコントローラ(以下、第1DMACという)13、及び、第2DMAコントローラ(以下、第2DMACという)14は、それぞれ1チップの半導体集積回路装置(LSI)にて形成されている。
IPC11は、MPU12、第1DMAC13及び第2DMAC14との間でデータの授受を行うようになっている。又、IPC11は、IEEE1394バス5を介して前記デジタルVTR2、カラーページプリンタ3、及び、デジタルビデオカメラ4に備えられたIEEE1394用プロトコルコントローラ(IPC)と結ばれている。
図3は、IPC11の回路構成を説明するためのブロック回路を示す。IPC11は、物理層処理回路20、リンク層処理回路21、第1及び第2送信パケット処理回路22a、22b、第1及び第2受信パケット処理回路23a,23b、FIFOよりなる第1〜第4格納メモリ(第1〜第4FIFO)24a〜24d、制御内部レジスタ25、第1及び第2の1394用インタフェース(以下、第1及び第2の1394用I/Fという)26a,26b、アイソクロナスデータ送信用インタフェース(以下、Isoc送信用I/Fという)27a、アイソクロナスデータ受信用インタフェース(以下、Isoc受信用I/Fという)28a、エイシンクロナスデータ送信用インタフェース(以下、Asyn送信用I/Fという)27b、エイシンクロナスデータ受信用インタフェース(以下、Asyn受信用I/Fという)28b、及び、MPUインタフェース(以下、MPUI/Fという)29を備えている。
第1の1394用I/F26aは、前記IEEE1394バス5を介して前記デジタルVTR2に接続されて、物理層処理回路20とデジタルVTR2のIPCとの間でアイソクロナス転送(Isoc転送)モードにおけるパケット(以下、Isocパケットという)31と、エイシンクロナス転送(Asyn転送)モードにおけるパケット(以下、Asynパケットという)32のやり取りを行う。第2の1394用I/F26bは、前記IEEE1394バス5を介して前記カラーページプリンタ3に接続されて、物理層処理回路20とカラーページプリンタ3のIPCとの間でIsoc転送モードにおけるIsocパケット31と、Asyn転送モードにおけるAsynパケット32のやり取りを行う。
Isocパケット31は、ヘッダ31aとアイソクロナスデータ(以下、Isocデータという)31bとで構成されている。Asynパケット32は、ヘッダ32aとエイシンクロナスデータ(以下、Asynデータという)32bとで構成されている。
Isoc送信用I/F27aは、前記第1DMAC13に接続され、第1DMAC13からIsoc転送モードで送信するための転送データ(Isocパケット31)を第1FIFO24aに渡す。Isoc受信用I/F28aは、前記第1DMAC13に接続され、第2FIFO24bに格納されたIsoc転送モードで受信した転送データ(Isocパケット31)を第1DMAC13に渡す。
Asyn送信用I/F27bは、前記第2DMAC14に接続され、第2DMAC14からAsyn転送モードで送信するための転送データ(Asynパケット32)を第3FIFO24cに渡す。Asyn受信用I/F28bは、前記第2DMAC14に接続され、第4FIFO24dに格納されたAsyn転送モードで受信した転送データ(Asynパケット32)を第2DMAC14に渡す。MPUI/F29は、前記MPU12と接続され、該MPU12と制御内部レジスタ25の間において各種のコマンドデータ等のやり取りを行う。
物理層処理回路20は、第1及び第2の1394用I/F26a,26bが受信したIsocパケット31及びAsynパケット32を入力しリンク層処理回路21に出力する。又、物理層処理回路20は、リンク層処理回路21から送信用のIsocパケット31及び送信用のAsynパケット32を入力する。そして、物理層処理回路20は、該Isocパケット31及びAsynパケット32を第1又は第2の1394用I/F26a,26bを介してその送信先のデジタルVTR2、カラーページプリンタ3、又は、デジタルビデオカメラ4に送信する。
リンク層処理回路21は、物理層処理回路20から受信したIsocパケット31及びAsynパケット32を入力する。リンク層処理回路21は、パケット31,32の先頭に付したヘッダ31a,32aの内容に基づいて自身(パソコン1)宛のパケットかどうか判断し、自身宛のパケットであれば該パケット31,32を第1又は第2受信パケット処理回路23a,23bに供給する。又、自身宛のパケットでない場合、リンク層処理回路21は、該パケット31,32を物理層処理回路20をび第1又は第2の1394用I/F26a,26bを介してその送信先のデジタルVTR2、カラーページプリンタ3、又は、デジタルビデオカメラ4に送信する。
リンク層処理回路21は、受信した自身宛のパケットがIsocパケット31かAsynパケット32かを該パケット31,32に付加されたヘッダの内容から判断する。そして、リンク層処理回路21は、受信したパケットがIsocパケット31の場合には該Isocパケット31を第1受信パケット処理回路23aに供給する。受信したパケットがAsynパケット32の場合には、リンク層処理回路21は該Asynパケット32を第2受信パケット処理回路23bに供給する。
又、リンク層処理回路21は、第1送信パケット処理回路22aから送信用のIsocパケット31が供給されるとともに、第2送信パケット処理回路22bから送信用のAsynパケット32が供給される。
第1受信パケット処理回路23aは、リンク層処理回路21から受信したIsocパケット31が供給される。第1受信パケット処理回路23aは、受信したIsocパケット31について誤り訂正のチェック処理を行う。つまり、本実施の形態では、Isocパケット31のヘッダ31aと、Isocデータ31bについてそれぞれ別々に誤り訂正のための処理を行う。第1受信パケット処理回路23aは、誤り訂正処理したIsocパケット31を第2FIFO24bに供給する。
第2FIFO24bは、誤り訂正処理された確実なIsocパケット31を入力し、入力された順に次段のIsoc受信用I/F28aに出力する。Isoc受信用I/F28aは、ヘッダ31aとIsocデータ31bなるIsocパケット31を前記したように第1DMAC13に渡す。
第2受信パケット処理回路23bは、リンク層処理回路21から受信したAsynパケット32が供給される。第2受信パケット処理回路23bは、受信したAsynパケット32について誤り訂正のチェック処理を行う。そして、前記と同様に、Asynパケット32のヘッダ32aと、Asynデータ32bについてそれぞれ別々に誤り訂正のための処理を行う。第2受信パケット処理回路23bは、誤り訂正処理したAsynパケット32を第4FIFO24dに供給する。
第4FIFO24dは、誤り訂正処理された確実なAsynパケット32を入力し、入力された順に次段のAsyn受信用I/F28bに出力する。Asyn受信用I/F28bは、ヘッダ32aとAsynデータ32bなるAsynパケット32を前記したように第2DMAC14に渡す。
第1FIFO24aは、前記Isoc送信用I/F27aを介して前記第1DMAC13からIsoc転送モードで送信するための送信用のIsocパケット31を入力し、入力した順に前記第1送信パケット処理回路22aに供給する。第1送信パケット処理回路22aは、順次入力されてくるIsocパケット31について誤り訂正符号を生成する。つまり、本実施の形態では、Isocパケット31のヘッダ31aと、Isocデータ31bについてそれぞれ別々に誤り訂正符号を生成付加する処理を行う。第1送信パケット処理回路22aは、ヘッダ31a及びIsocデータ31bに対してそれぞれ生成した誤り訂正符号を付加したIsocパケット31を前記リンク層処理回路21に供給する。
第3FIFO24cは、前記Asyn送信用I/F27bを介して前記第2DMAC14からAsyn転送モードで送信するための送信用のAsynパケット32を入力し、入力した順に前記第2送信パケット処理回路22bに供給する。第2送信パケット処理回路22bは、順次入力されてくるAsynパケット32について誤り訂正符号を生成する。そして、前記と同様に、Asynパケット32のヘッダ32aと、Asynデータ32bについてそれぞれ別々に誤り訂正符号を生成付加する処理を行う。第2送信パケット処理回路22bは、ヘッダ32a及びAsynデータ32bに対してそれぞれ生成した誤り訂正符号を付加したAsynパケット32を前記リンク層処理回路21に供給する。
前記制御内部レジスタ25は、MPUI/F29とリンク層処理回路21との間に設けられている。制御内部レジスタ25は、前記MPU12とIPC11との間で行われる各種コマンド等の制御データ33が一時記憶される。そして、MPUI/F29を介して入力されるMPU12からの制御データ33は、リンク層処理回路21にて読み出され転送制御処理のための制御動作をIPC11に実行させる。又、リンク層処理回路21からの制御データは、MPU12にて読み出され転送制御処理のための制御動作をMPU12に実行させる。
次に、上記のように構成したIPC11の作用について説明する。
説明の便宜上、図4に示す時系列にて送信用及び受信用のパケット31,32が発生する場合について説明する。今、最初のIsocサイクルにおいて、最初に発生する受信用のIsocパケット31は、第1の1394用I/F26a及び物理層処理回路20を介してリンク層処理回路21に供給される。受信用のIsocパケット31は、リンク層処理回路21にて該パケットのヘッダ31aからIsoc転送モードのIsocパケット31と判断されて、第1受信パケット処理回路23aに供給される。第1受信パケット処理回路23aに供給されたIsocパケット31は、誤り訂正のチェック処理が行われた後に第2FIFO24bに供給される。そして、第2FIFO24bに格納されたIsocパケット31はIsoc受信用I/F28aを介して第1DMAC13に供給される。
最初のIsocサイクルにおいて、前記受信用のIsocパケット31の後に発生する送信用のIsocパケット31は、第1DMAC13からIsoc送信用I/F27a及び第1FIFO24aを介して第1送信パケット処理回路22aに供給される。第1送信パケット処理回路22aに供給された送信用のIsocパケット31は、該パケット31のヘッダ31a及びIsocデータ31bに対してそれぞれ生成した誤り訂正符号が付加されてリンク層処理回路21に供給される。リンク層処理回路21に供給された送信用のIsocパケット31は、Isoc転送モードで送信することを規定するヘッダが付加されて物理層処理回路20に供給される。物理層処理回路20に供給された送信用のIsocパケット31は、送信先、例えばカラーページプリンタ3に第2の1394用I/F26bを介して送信される。
最初のIsocサイクルにおいて、前記送信用のIsocパケット31の後に発生する受信用のAsynパケット32は、第1の1394用I/F26a及び物理層処理回路20を介してリンク層処理回路21に供給される。受信用のAsynパケット32は、リンク層処理回路21にて該パケットのヘッダ32aからAsyn転送モードのAsynパケット32と判断されて、第2受信パケット処理回路23bに供給される。第2受信パケット処理回路23bに供給されたAsynパケット32は、誤り訂正のチェック処理が行われた後に第4FIFO24dに供給される。そして、第4FIFO24dに格納されたAsynパケット32はAsyn受信用I/F2bを介して第2DMAC14に供給される。
最初のIsocサイクルが終了し次のIsocサイクルになると、最初に受信用のIsocパケット31が、第1の1394用I/F26a及び物理層処理回路20を介してリンク層処理回路21に供給される。この受信用のIsocパケット31は、先のIsocサイクルのIsocパケット31と同様に、リンク層処理回路21にてIsoc転送モードのIsocパケット31と判断されて、第1受信パケット処理回路23aに供給される。該Isocパケット31は、第1受信パケット処理回路23aにて誤り訂正のチェック処理が行われた後に第2FIFO24bに供給される。そして、第2FIFO24bに格納されたIsocパケット31は、Isoc受信用I/F28aを介して第1DMAC13に供給される。
このIsocサイクルにおいて、前記受信用のIsocパケット31の後に発生する送信用のIsocパケット31は、先のIsocサイクルの場合と同様に、第1DMAC13からIsoc送信用I/F27a及び第1FIFO24aを介して第1送信パケット処理回路22aに供給される。送信用のIsocパケット31は、第1送信パケット処理回路22aにて誤り訂正符号が付加されてリンク層処理回路21に供給される。又、送信用のIsocパケット31は、第1送信パケット処理回路22aにてIsoc転送モードで送信することを規定するヘッダが付加されてリンク層処理回路21を介して物理層処理回路20に供給される。物理層処理回路20に供給された送信用のIsocパケット31は、送信先、例えばカラーページプリンタ3に第2の1394用I/F26bを介して送信される。
このIsocサイクルにおいて、前記送信用のIsocパケット31の後に発生する送信用のAsynパケット32は、第2DMAC14からAsyn送信用I/F27b及び第3FIFO24cを介して第2送信パケット処理回路22bに供給される。送信用のAsynパケット32は、第2送信パケット処理回路22bにて誤り訂正符号が付加されてリンク層処理回路21に供給される。送信用のAsynパケット32は、第2送信パケット処理回路22bにてAsyn転送モードで送信することを規定するヘッダが付加されてリンク層処理回路21を介して物理層処理回路20に供給される。物理層処理回路20に供給された送信用のAsynパケット32は、送信先、例えばカラーページプリンタ3に第2の1394用I/F26bを介して送信される。
次に、上記のように構成したIPC11の特徴を以下に述べる。
(1)本実施の形態において、Isoc転送モードの転送データ(Isocパケット31)を格納する格納メモリ(第1及び第2FIFO24a,24b)とAsyn転送モードの転送データ(Asynパケット32)を格納する格納メモリ(第3及び第4FIFO24c、24d)をそれぞれ別々設けた。又、Isoc転送モードの転送データ(Isocパケット31)を入出力するインタフェース(Isoc送信及び受信用インタフェース27a、28a)とAsyn転送モードの転送データ(Asynパケット32)を入出力するインタフェース(Asyn送信及び受信用インタフェース27b,28b)をそれぞれ別々設けた。
そして、Isoc転送モードで転送されるIsocパケット31とAsyn転送モードで転送されるAsynパケット32をそれぞれ別々の格納メモリに格納し、それぞれ別々のインタフェースに入出力するようにした。従って、例えば、各Isocサイクル毎に転送されてくる各受信用のIsocパケット31は、各Isocサイクル中の余った時間にAsyn転送モードで転送された受信用のAsynパケット32が存在しても、Asynパケット32の転送動作によって中断されることなく連続してIsoc受信用I/F28aから第1DMAC13に転送することができる。その結果、連続性が要求される動画等の画像データを転送するIsocパケット31は、従来に比べさらに連続転送及びリアルタイム転送が確保されリアリティのある動画の再生を保証することができる。
(2)又、本実施の形態では、送信用のIsocパケット31を第1FIFO24aに、受信用のIsocパケット31を第2FIFO24bにそれぞれ別々に格納し、第1DMAC13に対して送信用のIsocパケット31を転送するためのIsoc送信用I/F27aと受信用のIsocパケット31を転送するためのIsoc受信用I/F28aを設けた。
そして、Isoc転送モードで転送される送信用のIsocパケット31と受信用のIsocパケット32は、第1DMAC13に対してそれぞれ別々に転送される。従って、各Isocサイクル毎に転送されてくる各受信用のIsocパケット31は、送信用のIsocパケット31と受信用のIsocパケット31の転送が混在しても、Isoc受信用I/F28aから第1DMAC13に転送することができる。その結果、連続性が要求される動画等の画像データを転送するIsocパケット31は、より連続転送及びリアルタイム転送が確保されリアリティのある動画の再生を保証することができる。
(3)さらに、本実施の形態では、図4に示すように、MPU12との間で行われるコントローラ制御処理のためのコマンド等の制御データ33の授受は、MPUI/F29を介して行なわれる。従って、コントローラ制御処理のためのコマンド等の制御データ33の授受が行なわれていても、制限を受けることなくIsocパケット31を転送することができる。
(4)さらに又、本実施の形態では、送信用のAsynパケット32を第3FIFO24cに、受信用のAsynパケット32を第4FIFO24dにそれぞれ別々に格納し、第2DMAC14に対して送信用のAsynパケット32を転送するためのAsyn送信用I/F27bと受信用のAsynパケット32を転送するためのAsyn受信用I/F28bを設けた。
そして、送信用のAsynパケット32と受信用のAsynパケット32は、第2DMAC14に対してそれぞれ別々に転送される。従って、送信用のAsynパケット32と受信用のAsynパケット32の転送が混在しても、それぞのAsynパケット32の転送は、連続して転送することができる。
(第2実施の形態)
本実施の形態は、第1の実施の形態で示したIPC11を変更したものである。従って、IPC11についてのみ説明する。図5は、本実施の形態のIPC11の回路構成を説明するためのブロック回路を示す。尚、第1実施の形態と同じ構成について符号を同じにしてその詳細を省略する。
IPC11は、物理層処理回路20、第1及び第2の1394用I/F26a,26b、リンク層処理回路36、Isocパケット処理回路37a、Asynパケット処理回路37b、Isoc転送用FIFO38a、Asyn転送用FIFO38b、第1DMAインタフェース(第1DMAI/F)39a、第2DMAインタフェース(第2DMAI/F)39b、制御内部レジスタ25、及び、MPUI/F29を備えている。
第1DMAI/F39aは、第1DMAC13と結ばれている。そして、第1DMAI/F39aは、第1DMAC13との間で送信用及び受信用のIsocパケット31の転送を行う。つまり、本実施の形態では、前記した第1実施の形態で説明したように、送信用のIsocパケット31のための専用のIsoc送信用I/F27aと受信用のIsocパケット31のための専用のI soc受信用I/F28aをそれぞれ別々に設けず、送信及び受信用のIsoc
パケット31の第1DMAC13との間の転送を1つの第1DMAI/F39aが行う。従って、前記第1実施の形態の第1DMAC13がIsoc送信用I/F27aとIsoc受信用I/F28aにそれぞれ対応したインタフェースを備えているが、本実施の形態の第1DMAC13では、第1DMAI/F39aに対応した1つのインタフェースが備えられているだけである。
Isoc転送用FIFO38aは、送信用及び受信用のIsocパケット31が格納される。Isoc転送用FIFO38aは、第1DMAI/F39aからの送信用のIsocパケット31が入力されると、その入力された順に該パケットのデータをIsoc転送用パケット処理回路38aに供給する。Isoc転送用FIFO38aはIsocパケット処理回路37aからの受信用のIsocパケット31が入力されると、その入力された順に該パケットのデータを第1DMAI/F39aに供給する。つまり、本実施の形態では、前記した第1実施の形態で説明したように、送信用のIsocパケット31を格納するための専用の第1FIFO24aと受信用のIs ocパケット31を格納するための専用の第2FIFO24bをそれぞれ別々に
設けず、1つのIsoc転送用FIFO38aが送信及び受信用のIsocパケット31を格納する。従って、Isoc転送用FIFO38aは、受信用と送信用のIsocパケット31のデータのいずれか一方のデータを格納し転送している時、他方のデータの格納はできない。
Isocパケット処理回路37aは、送信用及び受信用のIsocパケット31が供給される。Isocパケット処理回路37aは、送信用Isocパケット31に対して誤り訂正符号の生成及び受信用のIsocパケット31に対して誤り訂正のチェックを行う。Isocパケット処理回路37aは、Isoc転送用FIFO38aからの送信用のIsocパケット31が入力されると、該パケット31について誤り訂正符号を生成する。つまり、Isocパケット処理回路37aは、Isocパケット31のヘッダ31aと、Isocデータ31bについてそれぞれ別々に誤り訂正符号を生成し付加してリンク層処理回路36に出力する。又、Isocパケット処理回路37aは、リンク層処理回路36からの受信用のIsocパケット31が入力されると、該パケット31について誤り訂正のチェック処理を行う。つまり、Isocパケット37aは、Isocパケット31のヘッダ31aと、Isocデータ31bについてそれぞれ別々に誤り訂正のための処理を行った後にIsoc転送用FIFO38aに出力する。
第2DMAI/F39bは、第2DMAC14と結ばれている。そして、第2DMAI/F39bは、第2DMAC14との間で送信用及び受信用のAsynパケット32の転送を行う。つまり、本実施の形態では、前記した第1実施の形態で説明したように、送信用のAsynパケット32のための専用のAs yn送信用I/F27bと受信用のAsynパケット32
のための専用のAsyn受信用I/F28bをそれぞれ別々に設けず、送信及び受信用のAsynパケット32の第2DMAC14との間の転送を1つの第2DMAI/F39bが行う。従って、前記第1実施の形態の第2DMAC14がAsyn送信用I/F27bとAsyn受信用I/F28bにそれぞれ対応したインタフェースを備えているが、本実施の形態の第2DMAC14では、第2DMAI/F39bに対応した1つのインタフェースが備えられているだけである。
Asyn転送用FIFO38bは、送信用及び受信用のAsynパケット32が格納される。Asyn転送用FIFO38bは、第2DMAI/F39bからの送信用のAsynパケット32が入力されると、その入力された順に該パケットのデータをAsyn転送用パケット処理回路38bに供給する。Asyn転送用FIFO38bは、Asynパケット処理回路37bからの受信用のAsynパケット32が入力されると、その入力された順に該パケットのデータを第2DMAI/F39bに供給する。つまり、本実施の形態では、前記した第1実施の形態で説明したように、送信用のAs ynパケット32を格納するための専用の第3FIFO24c
と受信用のAsynパケット32を格納するための専用の第4FIFO24dをそれぞれ別々に設けず、1つのAsyn転送用FIFO38bが送信及び受信用のIsocパケット32を格納する。従って、Asyn転送用FIFO38bは、受信用と送信用のIsocパケット32のデータのいずれか一方のデータを格納し転送している時、他方のデータの格納はできない。
Asynパケット処理回路37bは、送信用及び受信用のAsynパケット32が供給される。Asynパケット処理回路37bは、送信用のAsynパケット32に対して誤り訂正符号の生成及び受信用のAsynパケット32に対して誤り訂正のチェックを行う。Asynパケット処理回路37bは、Asyn転送用FIFO38bからの送信用のAsynパケット32が入力されると、該パケット32について誤り訂正符号を生成する。つまり、Asynパケット処理回路37bは、Asynパケット32のヘッダ32aと、Asynデータ32bについてそれぞれ別々に誤り訂正符号を生成し付加してリンク層処理回路36に出力する。又、Asynパケット処理回路37bは、リンク層処理回路36からの受信用のAsynパケット32が入力されると、該パケット32について誤り訂正のチェック処理を行う。つまり、Asynパケット37bは、Asynパケット32のヘッダ32aと、Asynデータ32bについてそれぞれ別々に誤り訂正のための処理を行った後にAsyn転送用FIFO38bに出力する。
次に、上記のように構成したIPC11の作用について説明する。
説明の便宜上、図6に示す時系列にて受信用のIsocパケット31と受信用のAsynパケット32が発生する場合について説明する。今、最初のIsocサイクルにおいて、最初の受信用のIsocパケット31は、第1の1394用I/F26a及び物理層処理回路20を介してリンク層処理回路36に供給される。該Isocパケット31は、リンク層処理回路36にて該パケットのヘッダからIsoc転送モードのIsocパケット31と判断されて、Isocパケット処理回路37aに供給される。Isocパケット31は、該Isocパケット処理回路37aにて誤り訂正のためのチェック処理が行われた後にIsoc転送用FIFO38aに供給される。Isoc転送用FIFO38aに供給されたIsocパケット31は、第1DMAI/F39aを介して第1DMAC13に供給される。
続いて、この最初のIsocサイクルにおいて、前記Isocパケット31の後に発生するAsynパケット32は、第1の1394用I/F26a及び物理層処理回路20を介してリンク層処理回路36に供給される。該Asynパケット32は、リンク層処理回路36にて該パケットのヘッダからAsyn転送モードのAsynパケット32と判断されて、Asynパケット処理回路37bに供給される。Asynパケット32は、該Asynパケット処理回路37bにて誤り訂正のためのチェック処理が行われた後にAsyn転送用FIFO38bに供給される。Asyn転送用FIFO38bに供給されたAsynパケット32は、第2DMAI/F39bを介して第2DMAC14に供給される。
最初のIsocサイクルが終了し次のIsocサイクルになると、最初に発生した受信用のIsocパケット31は、同様に、第1の1394用I/F26a及び物理層処理回路20を介してリンク層処理回路36に供給される。該Isocパケット31は、リンク層処理回路36にてIsoc転送モードのIsocパケット31と判断されて、Isocパケット処理回路37aに供給される。Isocパケット31は、該Isocパケット処理回路37aにて誤り訂正のためのチェック処理が行われた後にIsoc転送用FIFO38aに供給される。Isoc転送用FIFO38aに供給されたIsocパケット31は、第1DMAI/F39aを介して第1DMAC13に供給される。
次に、上記のように第2実施の形態で構成したIPC11の特徴を以下に述べる。
(1)本実施の形態において、Isoc転送モードの転送データ(Isocパケット31)を格納するIsoc転送用FIFO38aとAsyn転送モードの転送データ(Asynパケット32)を格納するAsyn転送用FIFO38bをそれぞれ別々設けた。又、Isoc転送モードの転送データ(Isocパケット31)を入出力する第1DMAI/F39aとAsyn転送モードの転送データ(Asynパケット32)を入出力する第2DMAI/F39bをそれぞれ別々設けた。
そして、Isoc転送モードで転送されるIsocパケット31とAsyn転送モードで転送されるAsynパケット32をそれぞれ別々の格納メモリ(FIFO38a、38b)に格納し、それぞれ別々のインタフェース(DMAI/F39a、39b)に入出力するようにした。従って、例えば、各Isocサイクル毎に転送されてくる各受信用のIsocパケット31は、各Isocサイクル中の余った時間にAsyn転送モードで転送された受信用のAsynパケット32が存在しても、Asynパケット32の転送動作によって中断されることなく連続してIsoc受信用I/F28aから第1DMAC13に転送することができる。その結果、連続性が要求される動画等の画像データを転送するIsocパケット31は、従来に比べさらに連続転送及びリアルタイム転送が確保されリアリティのある動画の再生を保証することができる。
(2)本実施の形態では、図6に示すように、MPU12との間で行われるコントローラ制御処理のためのコマンド等の制御データ33の授受は、MPUI/F29を介して行なわれる。従って、コントローラ制御処理のためのコマンド等の制御データ33の授受が行なわれていても、制限を受けることなくIsocパケット31を転送することができる。
(第3実施の形態)
本実施の形態は、第2の実施の形態で示したIPC11を変更したものである。従って、IPC11についてのみ説明する。図7は、本実施の形態のIPC11の回路構成を説明するためのブロック回路を示す。尚、第2実施の形態と同じ構成について符号を同じにしてその詳細を省略する。
IPC11は、物理層処理回路20、第1及び第2の1394用I/F26a,26b、リンク層処理回路36、Isocパケット処理回路37a、Asynパケット処理回路37b、Isoc転送用FIFO38a、Asyn転送用FIFO38b、第1DMAインタフェース(第1DMAI/F)39a、制御内部レジスタ25、及び、MPU・DMAインタフェース(MPU・DMAI/F)40を備えている。即ち、本実施の形態では、前記第2実施の形態の第2DMAI/F39bとMPUI/F29を1つのMPU・DMAI/F40で兼用したものである。従って、説明の便宜上、MPU・DMAI/F40についてのみ説明する。
MPU・DMAI/F40は、第2DMAC14とMPU12とに結ばれている。MPU・DMAI/F40は、第2DMAC14との間で送信用及び受信用のAsynパケット32の転送を行う。又、MPU・DMAI/F40は、MPU12と制御内部レジスタ25との間で制御データ33の転送を行う。そして、MPU・DMAI/F40は、第2DMAC14から送信用Asynパケット32を受け取るとAsyn転送用FIFO38bに転送し、Asyn転送用FIFO38bから受信用のAsynパケット32を受け取ると第2DMAC14に転送を行う。又、MPU・DMAI/F40は、MPU12から制御データ33を受け取ると制御内部レジスタ25に転送し、制御内部レジスタ25から受信用の制御データ33を受け取るとMPU12に転送を行う。
次に、上記のように構成したIPC11の作用について説明する。
説明の便宜上、図8に示す時系列にて受信用のIsocパケット31と受信用のAsynパケット32が発生する場合について説明する。今、最初のIsocサイクルにおいて、最初の受信用のIsocパケット31は、第1の1394用I/F26a及び物理層処理回路20を介してリンク層処理回路36に供給される。該Isocパケット31は、第2実施の形態と同様に、リンク層処理回路36、Isocパケット処理回路37a、Isoc転送用FIFO38a、及び、第1DMAI/F39aを介して第1DMAC13に供給される。
続いて、この最初のIsocサイクルにおいて、前記Isocパケット31の後に発生するAsynパケット32は、前記第2実施の形態と同様に、第1の1394用I/F26a、物理層処理回路20、及び、リンク層処理回路36を介してAsynパケット処理回路37bに供給される。Asynパケット32は、該Asynパケット処理回路37bにて誤り訂正のためのチェック処理が行われた後にMPU・DMAI/F40に供給される。該Asynパケット32は、MPU・DMAI/F40にてAsynパケット32と判断されて第2DMAC14に供給される。
最初のIsocサイクルが終了し次のIsocサイクルになると、最初に発生した受信用のIsocパケット31は、第2実施の形態の場合と同様に、第1の1394用I/F26a、物理層処理回路20、リンク層処理回路36、Isocパケット処理回路37a、Isoc転送用FIFO38a、第1DMAI/F39aを介して第1DMAC13に供給される。
次に、上記のように第3実施の形態で構成したIPC11の特徴を以下に述べる。
(1)本実施の形態において、Isoc転送モードの転送データ(Isocパケット31)を格納するIsoc転送用FIFO38aとAsyn転送モードの転送データ(Asynパケット32)を格納するAsyn転送用FIFO38bをそれぞれ別々設けた。又、Isoc転送モードの転送データ(Isocパケット31)を入出力する第1DMAI/F39aとAsyn転送モードの転送データ(Asynパケット32)を入出力するMPU・DMAI/F40をそれぞれ別々設けた。
従って、第2実施の形態と同様に、例えば、各Isocサイクル毎に転送されてくる各受信用のIsocパケット31は、各Isocサイクル中の余った時間にAsyn転送モードで転送された受信用のAsy nパケット32が存在しても、Asynパケット32の転送動作によって中断さ
れることなく連続してIsoc受信用I/F28aから第1DMAC13に転送することができる。その結果、連続性が要求される動画等の画像データを転送するIsocパケット31は、従来に比べさらに連続転送及びリアルタイム転送が確保されリアリティのある動画の再生を保証することができる。
(2)本実施の形態では、図8に示すように、MPU12との間で行われるコントローラ制御処理のためのコマンド等の制御データ33の授受は、MPU・DMAI/F40を介して行なわれる。従って、コントローラ制御処理のためのコマンド等の制御データ33の授受が行なわれていても、制限を受けることなくIsocパケット31を転送することができる。
(第4実施の形態)
本実施の形態は、第2の実施の形態で示したIPC11において、リンク層処理回路36と第1DMAI/F39aとの間、リンク層処理回路36と第2DMAI/F39bとの間を変更したものである。従って、説明の便宜上変更した部分について説明する。図9は、本実施の形態のIPC11の要部回路構成を説明するためのブロック回路を示す。尚、第2実施の形態と同じ構成について符号を同じにしてその詳細を省略する。
図9において、Isocパケット用処理回路は、誤り訂正生成回路(以下、CRC生成回路という)41a、誤り訂正チェック回路(以下、CRCチェック回路という)41b、Isocパケット生成部42a、Isocパケット解析部42b、及び、インストラクション解析部43とから構成されている。又、Isoc転送用FIFOは、Isocヘッダ専用FIFO44aとIsocデータ専用FIFO44bとから構成されている。
CRCチェック回路41bは、リンク層処理回路36からの受信用のIsocパケット31が供給される。CRCチェック回路41bは、受信用のIsocパケット31の誤り訂正の処理をヘッダ31a及びIsocデータ31bごとに行いその訂正符号を除去して、Isocパケット解析部42bに受信用のIsocパケット31のデータを供給する。該解析部42bは、該Isocパケット31を構成するヘッダ31aとIsocデータ31bとに分離する。パケットのヘッダのバイト数は固定(8バイトであり、うち4バイトがヘッダ情報で残り4バイトが誤り訂正符号)であり、Isocデータのバイト数は、ヘッダ中のデータレングスを見ることによってわかる。そして、このバイト数をカウントすることにより分離処理が行われる。
分離されたヘッダ31aは、Isocヘッダ専用FIFO44aに供給される。分離されたIsocデータ31bは、Isocデータ専用FIFO44bに供給される。従って、Isocヘッダ専用FIFO44aは、ヘッダ31aのみが格納され、Isocデータ専用FIFO44bは、Isocデータ31bのみが格納される。
Isocヘッダ専用FIFO44aは、格納した分離されたヘッダ31aを入力した順に第1DMAI/F39aを介して順番に第1DMAC13に転送する。Isocデータ専用FIFO44bは、格納した分離されたIsocデータ31bを入力した順に第1DMAI/F39aを介して順番に第1DMAC13に転送する。従って、第1DMAC13は、第1DMAI/F39aを介してIsocヘッダ専用FIFO44aからIsocヘッダ31aのみを入力し、該ヘッダ31a中のトランザクションのタイプ、データ長、アドレス等に基づいて第1DMAI/F39aを介してIsocデータ専用FIFO44bのIsocデータ31bを入力することができる。
又、前記Isocヘッダ専用FIFO44aは、第1DMAI/F39aを介して第1DMAC13から転送されるIsocパケット31に必要なヘッダ31aのみを格納し該ヘッダ31aをIsocパケット生成部42aに対して入力した順番に転送する。一方、前記Isocデータ専用FIFO44bは、第1DMAI/F39aを介して第1DMAC13から転送されるIsocパケット31にて転送するIsocデータ31bのみを格納し、該Isocデータ31bをIsocパケット生成部42aに対して入力した順番に転送する。第1DMAC13は、インストラクションを発行し、該インストラクションを第1DMAI/F39aを介してインストラクション解析部43に出力する。インストラクション解析部43は、このインストラクションを解析しIsocパケット31を生成するに必要なデータをIsocパケット生成部42aに出力する。
Isocパケット生成部42aは、インストラクション解析部43からのインストラクションデータに基づいてIsocヘッダ専用FIFO44aからのヘッダ31aとIsocデータ専用FIFO44bからのIsocデータ31bとから送信用のIsocパケット31を生成する。Isocパケット生成部42aは、生成した送信用のIsocパケット31をCRC生成回路41aに供給される。CRC生成回路41aはIsocパケット生成部42aからのIsocパケット31のヘッダ31aとIsocデータ31bについて誤り訂正符号を生成しその生成した誤り訂正符号をそれぞれヘッダ31aとIsocデータ31bに付加する。誤り訂正符号が付加されたIsocパケット31は、リンク層処理回路36に供給される。
一方、Asynパケット用処理回路は、誤り訂正生成回路(以下、CRC生成回路という)45a、誤り訂正チェック回路(以下、CRCチェック回路という)45b、Asynパケット生成部46a、Asynパケット解析部46b、及び、インストラクション解析部47とから構成されている。又、Asyn転送用FIFOは、Asynヘッダ専用FIFO48aとAsynデータ専用FIFO48bとから構成されている。
CRCチェック回路45bは、リンク層処理回路36からの受信用のAsynパケット32が供給される。CRCチェック回路45bは、受信用のAsynパケット32の誤り訂正の処理をヘッダ32a及びAsynデータ32bごとに行いその訂正符号を除去して、Asynパケット解析部46bに受信用のAsynパケット32のデータを供給する。該解析部46bは、該Asynパケット32を構成するヘッダ32aとAsynデータ32bとに分離する。パケットのヘッダのバイト数は固定(8バイトであり、うち4バイトがヘッダ情報で残り4バイトが誤り訂正符号)であり、Asynデータのバイト数はヘッダ中のトランザクションコードを見ることによってわかる。そして、このバイト数をカウントすることにより分離処理が行われる。
分離されたヘッダ32aは、Asynヘッダ専用FIFO48aに供給される。分離されたAsynデータ32bは、Asynデータ専用FIFO48bに供給される。従って、Asynヘッダ専用FIFO48aは、ヘッダ32aのみが格納され、Asynデータ専用FIFO48bは、Asynデータ32bのみが格納される。
Asynヘッダ専用FIFO48aは、格納した分離されたヘッダ32aを入力した順に第2DMAI/F39bを介して順番に第2DMAC14に転送する。Asynデータ専用FIFO48bは、格納した分離されたAsynデータ32bを入力した順に第2DMAI/F39bを介して順番に第2DMAC14に転送する。従って、第2DMAC14は、第2DMAI/F39bを介してAsynヘッダ専用FIFO48aからAsynヘッダ32aのみを入力し、該ヘッダ32a中のトランザクションのタイプ、データ長、アドレス等に基づいて第2DMAI/F39bを介してAsynデータ専用FIFO48bのAsynデータ32bを入力することができる。
又、前記Asynヘッダ専用FIFO48aは、第2DMAI/F39bを介して第2DMAC14から転送されるAsynパケット32に必要なヘッダ32aのみを格納し該ヘッダ32aをAsynパケット生成部46aに対して入力した順番に転送する。一方、前記Asynデータ専用FIFO48bは、第2DMAI/F39bを介して第2DMAC14から転送されるAsynパケット32にて転送するAsynデータ32bのみを格納し、該Asynデータ32bをAsynパケット生成部46aに対して入力した順番に転送する。第2DMAC14は、インストラクションを発行し、該インストラクションを第2DMAI/F39bを介してインストラクション解析部47に出力する。インストラクション解析部47は、このインストラクションを解析しAsynパケット32を生成するに必要なデータをAsynパケット生成部46aに出力する。
Asynパケット生成部46aは、インストラクション解析部47からのインストラクションデータに基づいてAsynヘッダ専用FIFO48aからのヘッダ32aとAsynデータ専用FIFO48bからのAsynデータ32bとから送信用のAsynパケット32を生成する。Asynパケット生成部46aは、生成した送信用のAsynパケット32をCRC生成回路45aに供給される。CRC生成回路45aは、Asynパケット生成部46aからのAsynパケット32のヘッダ32aとAsynデータ32bについて誤り訂正符号を生成し、その生成した誤り訂正符号をそれぞれヘッダ32aとAsynデータ32bに付加する。誤り訂正符号が付加されたAsynパケット32は、前記リンク層処理回路36に供給される。
次に、上記のように構成したIPC11の作用について説明する。
今、画像データが複数の受信用のIsocパケット31となって各Isocサイクル毎に発生すると、該Isocパケット31aは順次CRCチェック回路41bにリンク層処理回路36から供給される。各Isocパケット31は、CRCチェック回路41bにてヘッダ31a及びIsocデータ31bごとに誤り訂正の処理を行った後に該訂正符号が除去されてIsocパケット解析部42bに供給される。各Isocパケット31は、解析部42bにてIsocパケット31を構成するヘッダ31aとIsocデータ31bとに分離し、ヘッダ31aをIsocヘッダ専用FIFO44aを供給し、Isocデータ31bをIsocデータ専用FIFO44bに供給する。
Isocヘッダ専用FIFO44aに格納された各Isocパケット31のヘッダ31aは、第1DMAI/F39aを介して順番に第1DMAC13にて読み出される。第1DMAC13は、前記ヘッダ31a中のトランザクションのタイプ、データ長、アドレス等に基づいて第1DMAI/F39aを介してIsocデータ専用FIFO44bの各Isocパケット31のIsocデータ31bを順番に読み出す。そして、第1DMAC13は、Isocデータ専用FIFO44bから連続して読み出した各パケット31のIsocデータ31bを1つの画像データとしてデータ処理を行う。
次に、画像データが複数の送信用のIsocデータ31となって第1DMAC13から出力されると、送信用の各Isocデータ31は、第1DMAI/F39aを介して前記Isocデータ専用FIFO44bを介して格納される。一方、第1DMAC13は、第1DMAI/F39aを介して前記Isocヘッダ専用FIFO44aに第1DMAC13から転送されたIsocデータ31aをIsocパケット31にするのに必要なヘッダ31aを格納する。さらに、第1DMAC13は、第1DMAI/F39aを介してインストラクションをインストラクション解析部43に出力する。インストラクション解析部43は、インストラクションに基づいてIsocパケット31を生成するに必要なデータをIsocパケット生成部42aに出力する。
Isocパケット生成部42aは、このインストラクションデータに基づいてIsocヘッダ専用FIFO44aからのヘッダ31aとIsocデータ専用FIFO44bからのIsocデータ31bとから送信用のIsocパケット31を生成する。Isocパケット生成部42aにて生成した送信用のIsocパケット31は、CRC生成回路41aに供給される。送信用のIsocパケット31は、CRC生成回路41aにてヘッダ31aとIsocデータ31bに誤り訂正符号が付加されてリンク層処理回路36に供給される。
尚、受信用のAsynパケット32も、前記した受信用のIsocパケット31と同様に、CRCチェック回路45b、Asynパケット解析部46b、Asynヘッダ専用FIFO48a、及び、Asynデータ専用FIFO48bが動作して、Asynパケット32のAsynデータ32bは、第2DMAC14に供給される。
又、第2DMAC14から出力されるAsynデータ32bは、前記した受信用のIsocデータ31bと同様に、CRC生成回路45a、Asynパケット生成部46a、Asynヘッダ専用FIFO48a、及び、Asynデータ専用FIFO48bが動作してAsynパケット32が生成される。
次に、上記のように第4実施の形態で構成したIPC11の特徴を以下に述べる。
(1)本実施の形態において、受信用のIsocパケット31をヘッダ31aとIsocデータ31bとに分離し、ヘッダ31aをIsocヘッダ専用FIFO44aにIsocデータ31bをIsocデータ専用FIFO44bにそれぞれ格納するようにした。そして、第1DMAC13は、Isocヘッダ専用FIFO44aの各Isocパケット31のヘッダ31a中のトランザクションのタイプ、データ長、アドレス等を読み出す。第1DMAC13は、該トランザクションのタイプ、データ長、アドレス等に基づいて第1DMAI/F39aを介してIsocデータ専用FIFO44bの各Isocパケット31のIsocデータ31bを順番に読み出すようにした。
従って、第1DMAC13は、各パケット31のIsocデータ31bがIsocデータ専用FIFO44bから連続して読み出されるため、各Isocデータ31bを1つの画像データとして合成する処理する時、従来のようにヘッダ31aを除去して合成する処理を行う。従って、従来のようにヘッダ31aを除去する処理がないため、第1DMAC13は、その分だけ負荷が軽減されるとともに合成処理動作の時間が短縮される。その結果、連続性が要求される動画等の画像データを転送するIsocパケット31は、連続転送及びリアルタイム転送が確保されリアリティのある動画の再生を保証することができる。
第2DMAC14も同様に、各パケット32のAsynデータ32bがAsynデータ専用FIFO48bから連続して読み出されたため、その分だけ負荷が軽減される。
(2)本実施の形態において、送信用のIsocデータ31bをIsocデータ専用FIFO44bに、Isocパケット31のためのヘッダ31aをIsocヘッダ専用FIFO44aにそれぞれ格納するようにした。第1DMAC13は、送信用のIsocデータ31aをIsocパケット31にするためのインストラクションをインストラクション解析部43に出力する。インストラクション解析部43は、Isocパケット31を生成するに必要なデータをIsocパケット生成部42aに出力する。Isocパケット生成部42aは、インストラクションデータに基づいてIsocヘッダ専用FIFO44aのヘッダ31aとIsocデータ専用FIFO44bのIsocデータ31bとから送信用のIsocパケット31を生成する。CRC生成回路41aは、Isocパケット生成部42aにて生成した送信用のIsocパケット31に誤り訂正符号を付加してリンク層処理回路36に供給するようにした。従って、第1DMAC13は、IPC11にてIsocデータ31bのパケット31を生成するようにしたので、その分だけ負荷が軽減される。
第2DMAC14も同様に、IPC11にてAsynデータ32bのパケット32を生成するようにしたので、その分だけ負荷が軽減される。
(第5実施の形態)
図10は、第5の実施の形態のIPC11の回路構成を示すブロック回路を示す。IPC11は、IEEE1394用インタフェース(IEEE1394用I/F)51、物理層処理回路52、リンク層処理回路53、誤り訂正符号生成回路(CRC生成回路)54a、誤り訂正チェック回路(CRCチェック回路)54b、パケット生成部55a、パケット解析部55b、インストラクション解析部56、ヘッダ専用FIFO57a、データ専用FIFO57b、及び、MPUインタフェース(MPUI/F)59とから構成されている。
IEEE1394用I/F51は、前記IEEE1394バス5を介して前記デジタルVTR2、カラーページプリンタ3に接続されて、デジタルVTR2のIPCとの間及びカラーページプリンタ3のIPCとの間でIsocパケット31と、Asynパケット32のやり取りを行う。物理層処理回路52は、IEEE1394用I/F51が受信したIsocパケット31及びAsynパケット32を入力し、リンク層処理回路53に供給する。リンク層処理回路53は、パケット31,32の先頭に付したヘッダ31a,32aの内容に基づいて自身(パソコン1)宛のパケットかどうか判断し、自身宛のパケットであれば該パケット31,32をCRCチェック回路54bに供給する。又、自身宛のパケットでない場合、リンク層処理回路53は、該パケット31,32を物理層処理回路52及びIEEE1394用I/F51を介してその送信先のデジタルVTR2、カラーページプリンタ3、又は、デジタルビデオカメラ4に送信する。
又、物理層処理回路52は、リンク層処理回路53から送信用のIsocパケット31及び送信用のAsynパケット32を入力する。物理層処理回路52は、該Isocパケット31及びAsynパケット32を第1又は第2の1394用I/F26a,26bを介してその送信先のデジタルVTR2、カラーページプリンタ3、又は、デジタルビデオカメラ4に送信する。
リンク層処理回路53は、物理層処理回路52から受信したIsocパケット31及びAsynパケット32を入力する。リンク層処理回路53は、受信したIsocパケット31及びAsynパケット32をCRCチェック回路54bに供給する。
又、リンク層処理回路53は、CRC生成回路54aから送信用のIsocパケット31及びAsynパケット32が供給される。リンク層処理回路53は、送信用のIsocパケット31及びAsynパケット32を物理層処理回路52に供給する。
CRCチェック回路54bは、リンク層処理回路53からの受信用のIsocパケット31及びAsynパケット32が供給される。CRCチェック回路54bは、受信用のIsocパケット31及びAsynパケット32の誤り訂正の処理をヘッダ31a,32a及びデータ31b,32bごとに行いその訂正符号を除去して、パケット解析部55bに受信用のパケット31,32のデータを供給する。該解析部55bは、前記第4の実施の形態と同様に該パケット31,32を構成するヘッダ31a,32aとデータ31b,32bとに分離する。
分離されたヘッダ31a,32aは、ヘッダ専用FIFO57aに供給される。分離されたデータ31b,32bは、データ専用FIFO57bに供給される。従って、ヘッダ専用FIFO57aは、ヘッダ31a,32aのみが格納され、データ専用FIFO57bは、データ31b,32bのみが格納される。
ヘッダ専用FIFO57aは、格納した分離されたヘッダ31a,,32aを入力した順にMPUI/F58を介して順番にMPU12に転送する。データ専用FIFO57bは、格納した分離されたデータ31b,32bを入力した順にMPUI/F58を介して順番にMPU12に転送する。従って、MPU12は、MPUI/F58を介してヘッダ専用FIFO57aからヘッダ31a,32aのみを入力し、該ヘッダ31a,32a中のトランザクションのタイプ、データ長、アドレス等に基づいてMPUI/F58を介してデータ専用FIFO57bのデータ31b,32bを入力することができる。
又、前記ヘッダ専用FIFO57aは、MPUI/F58を介してMPU12から転送されるIsocパケット31及びAsynパケット32に必要なヘッダ31a,32aのみを格納し該ヘッダ31a、32aをパケット生成部55aに入力した順番に転送する。一方、前記データ専用FIFO57bは、MPUI/F58を介してMPU12から転送されるIsocパケット31及びAsynパケット32にて転送するIsocデータ31b及びAsynデータ32bのみを格納し、該データ31b,32bをパケット生成部55aに入力した順番に転送する。MPU12は、インストラクションを発行し、該インストラクションをMPUI/F58を介してインストラクション解析部56に出力する。インストラクション解析部56は、このインストラクションを解析しIsocパケット31及びAsynパケット32を生成するに必要なデータをパケット生成部55aに出力する。
パケット生成部55aは、インストラクション解析部56からのインストラクションデータに基づいてヘッダ専用FIFO57aからのヘッダ31a,32aとデータ専用FIFO57bからのデータ31b,32bとから送信用のパケット31,32を生成する。パケット生成部55aは、生成した送信用のパケット31,32をCRC生成回路54aに供給される。CRC生成回路54aはパケット31,32のヘッダ31a,31aとデータ31b,32bについて誤り訂正符号を生成しその生成した誤り訂正符号をそれぞれヘッダ31a,32aとデータ31b,32bに付加する。誤り訂正符号が付加された送信用のパケット31,32は、前記リンク層処理回路53に供給される。
次に、上記のように構成したIPC11の作用について説明する。
今、画像データが複数の受信用のIsocパケット31となって各Isocサイクル毎に発生すると、該Isocパケット31は順次CRCチェック回路54にリンク層処理回路53から供給される。各Isocパケット31は、CRCチェック回路54bにてヘッダ31a及びIsocデータ31bごとに誤り訂正の処理を行った後に該訂正符号が除去されてパケット解析部55bに供給される。各Isocパケット31は、解析部55bにてIsocパケット31をヘッダ31aとIsocデータ31bとに分離し、ヘッダ31aをヘッダ専用FIFO57aを供給し、Isocデータ31bをデータ専用FIFO57bに供給する。
ヘッダ専用FIFO57aに格納された各Isocパケット31のヘッダ31aは、MPUI/F58を介して順番にMPU12にて読み出される。MPU12は、前記ヘッダ31a中のトランザクションのタイプ、データ長、アドレス等に基づいてMPUI/F58を介してデータ専用FIFO57bから各Isocパケット31のIsocデータ31bを順番に読み出す。そして、MPU12は、データ専用FIFO57bから連続して読み出した各パケット31のIsocデータ31bを1つの画像データとしてデータ処理を行う。
次に、画像データが複数の送信用のIsocデータ31となってMPU12から出力されると、送信用の各Isocデータ31は、MPUI/F58を介して前記データ専用FIFO57bを介して格納される。一方、MPU12は、MPUI/F58を介して前記ヘッダ専用FIFO57aに前記MPU12から転送されたIsocデータ31aをIsocパケット31にするのに必要なヘッダ31aを格納する。さらに、MPU12は、MPUI/F58を介してインストラクションをインストラクション解析部56に出力する。インストラクション解析部56は、インストラクションに基づいてパケット31を生成するに必要なデータをパケット生成部42aに出力する。
パケット生成部55aは、インストラクション解析部56からのインストラクションデータに基づいてヘッダ専用FIFO57aからのヘッダ31aとデータ専用FIFO57bからのIsocデータ31bとから送信用のIsocパケット31を生成する。Isocパケット生成部42aにて生成した送信用のIsocパケット31は、CRC生成回路41aに供給される。送信用のIsocパケット31は、CRC生成回路54aにてヘッダ31aとIsocデータ31bに誤り訂正符号が付加されてリンク層処理回路36に供給される。
尚、受信用のAsynパケット32も、前記した受信用のIsocパケット31と同様に、CRCチェック回路54b、パケット解析部55b、ヘッダ専用FIFO57a、及び、データ専用FIFO57bが動作して、Asynパケット32のAsynデータ32bは、MPU12に供給される。
又、MPU12から出力されるAsynデータ32bは、前記した受信用のIsocデータ31bと同様に、CRC生成回路54a、パケット生成部55a、ヘッダ専用FIFO57a、及び、データ専用FIFO57bが動作してAsynパケット32が生成される。
次に、上記のように第5実施の形態で構成したIPC11の特徴を以下に述べる。
(1)本実施の形態において、受信用のパケット31,32をヘッダ31a,32aとデータ31b,32bとに分離し、ヘッダ31a,32aをヘッダ専用FIFO57aにデータ31b,32bをデータ専用FIFO57bにそれぞれ格納するようにした。そして、MPU12は、ヘッダ専用FIFO57aの各パケット31のヘッダ31a,32a中のトランザクションのタイプ、データ長、アドレス等を読み出す。MPU12は、該トランザクションのタイプ、データ長、アドレス等に基づいてデータ専用FIFO57bの各パケット31、32のデータ31bを順番に読み出すようにした。
従って、MPU12は、例えば各パケット31のIsocデータ31bがデータ専用FIFO57bから連続して読み出されるため、各Isocデータ31bを1つの画像データとして合成する処理する時、従来のようにヘッダ31aを除去して合成する処理を行う。従って、従来のようにヘッダ31aを除去する処理がないため、MPU12は、その分だけ負荷が軽減されるとともに合成処理動作の時間が短縮される。その結果、連続性が要求される動画等の画像データを転送するIsocパケット31は、連続転送及びリアルタイム転送が確保されリアリティのある動画の再生を保証することができる。
Asyn転送モードのパケット32についても、MPU12は、同様に、各パケット32のAsynデータ32bがデータ専用FIFO57bから連続して読み出されたため、その分だけ負荷が軽減される。
(2)本実施の形態において、送信用のデータ31b,32bをデータ専用FIFO57bに、パケット31,32のためのヘッダ31a、32aをヘッダ専用FIFO57aにそれぞれ格納するようにした。MPU12は、送信用のデータ31b.32bをパケット31,32にするためのインストラクションをインストラクション解析部56に出力する。インストラクション解析部56は、パケット55を生成するに必要なデータをパケット生成部55aに出力する。パケット生成部55aは、該データに基づいてヘッダ専用FIFO57aのヘッダ31a,32aとデータ専用FIFO57bのデータ31b,32bとから送信用のパケット31、32を生成する。CRC生成回路54aは、送信用のパケット31,32に誤り訂正符号を付加してリンク層処理回路36に供給するようさにした。従って、MPU12は、データ31、32を転送するだけで、IPC11にてデータ31b,32bのパケット31を生成するようにしたので、その分だけ負荷が軽減される。